Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
8b44e58
commit abe531b
Showing
200 changed files
with
24,117 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
XMPP4R 0.4 (05/08/2008) | ||
======================= | ||
* Initial support for Ruby 1.9 (see README_ruby19.txt) | ||
* Complete PubSub API Change - more logical and better for | ||
childclasses, support for collection node creation | ||
* a Helper to assist with XEP-0115 Entity Capabilities | ||
* SASL anonymous support | ||
* File transfer fixes | ||
* MUC room configuration fixes | ||
* initial support for XEP-0118 User Tune | ||
* fix for an xmlrpc exception-during-serialisation bug, which would cause | ||
a hang | ||
* Support auto-gem generation on GitHub with improved and DRY'er RakeFile and | ||
gemspec. | ||
* Add support for the old SSL protocol (needed to connect to GTalk) | ||
* Changed API for Client, Component, Connection, Stream to remove | ||
need for antiquated 'threaded' param in the initializer. | ||
* Use a Logger instance instead of directly writing to stdout | ||
* Re-factored & consolidated Error classes. See xmpp4r/errors.rb for all | ||
custom errors that can be caught. All inherit from Jabber::Error which | ||
itself inherits from Ruby's StandardError. This is a first step in | ||
re-factoring errors. The next step will be to convert all 'raise' calls to | ||
raise a custom Jabber::Error or one of its children instead of anonymous | ||
RuntimeErrors. This allows much more granularity in catching and handling | ||
errors later. | ||
If you were catching Jabber::ErrorException before you should probably | ||
change that in your code to now catch Jabber::Error if you want to | ||
catch everything or one of the custom children of Jabber::Error defined in | ||
'lib/xmpp4r/errors.rb'. Additionally, the Error class which encapsulated | ||
the xmpp error response, has been renamed to ErrorResponse to reflect its | ||
real usage. This free's up 'Jabber::Error' for use as our base Error class. | ||
|
||
XMPP4R 0.3.2 (15/10/2007) | ||
========================= | ||
* Serious bug involving Ruby threading fixed (caused exceptions with | ||
ruby 1.8.6) | ||
* vCard helper fixes | ||
* Jabber RPC (JEP0009) support | ||
* HTTP Binding (JEP0124) support | ||
* Publish-Subscribe support | ||
* XMPPElement: a framework for classes representing XML elements | ||
* Ad-hoc commands support | ||
* Improvements to Dataforms: XData, XDataTitle and XDataInstructions | ||
|
||
XMPP4R 0.3.1 (23/04/2007) | ||
========================= | ||
* SASL fixes | ||
* Message#x and Presence#x support element selection by namespace | ||
* Proper XML entity escaping for REXML text nodes | ||
* Improvements to FileTransfer::Helper and SOCKS5BytestreamsServer | ||
* Vcard::Helper fixes | ||
* Update Digest module usage to reflect recent Ruby versions | ||
* More documentation | ||
|
||
XMPP4R 0.3 (20/07/2006) | ||
======================= | ||
* SRV lookup capability in Client#connect | ||
* Stringprep support for JIDs | ||
* TLS & SASL support | ||
* Basic Dataforms support | ||
* Multi-User Chat Helpers | ||
* Helpers for File-Transfer, SOCKS5 Bytestreams, In-Band Bytestreams | ||
* Roster helper has modified subscription-request semantics (see Roster#add_subscription_request_callback) | ||
* A lot of features have renamed namespaces (see UPDATING file) | ||
|
||
XMPP4R 0.2 (20/10/2005) | ||
======================= | ||
* Workarounds for REXML bugs. | ||
* Presences are now Comparable according to priority or interest | ||
* fixed a serious bug in Stream#send which caused some lockups. Reported by | ||
chunlinyao@gmail.com. | ||
* Moved REXML::Element#add to REXML::Element#typed_add to keep add accessible | ||
* Rewritten Roster helper | ||
* Added Vcard helper and improved IqVcard | ||
* XMLStanza id generator | ||
* Support for Roster Item Exchange (JEP-0093 and JEP-0144) | ||
* Client#password= to change client's account password | ||
* Documentation fixes | ||
|
||
XMPP4R 0.1 (12/09/2005) | ||
======================= | ||
* first public release. | ||
|
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
XMPP4R is copyrighted free software by Lucas Nussbaum | ||
<lucas@lucas-nussbaum.net>, Stephan Maka <stephan@spaceboyz.net>, and others. | ||
You can redistribute it and/or modify it under either the terms of the GPL (see | ||
COPYING file), or the conditions below: | ||
|
||
1. You may make and give away verbatim copies of the source form of the | ||
software without restriction, provided that you duplicate all of the | ||
original copyright notices and associated disclaimers. | ||
|
||
2. You may modify your copy of the software in any way, provided that | ||
you do at least ONE of the following: | ||
|
||
a) place your modifications in the Public Domain or otherwise | ||
make them Freely Available, such as by posting said | ||
modifications to Usenet or an equivalent medium, or by allowing | ||
the author to include your modifications in the software. | ||
|
||
b) use the modified software only within your corporation or | ||
organization. | ||
|
||
c) rename any non-standard executables so the names do not conflict | ||
with standard executables, which must also be provided. | ||
|
||
d) make other distribution arrangements with the author. | ||
|
||
3. You may distribute the software in object code or executable | ||
form, provided that you do at least ONE of the following: | ||
|
||
a) distribute the executables and library files of the software, | ||
together with instructions (in the manual page or equivalent) | ||
on where to get the original distribution. | ||
|
||
b) accompany the distribution with the machine-readable source of | ||
the software. | ||
|
||
c) give non-standard executables non-standard names, with | ||
instructions on where to get the original software distribution. | ||
|
||
d) make other distribution arrangements with the author. | ||
|
||
4. You may modify and include the part of the software into any other | ||
software (possibly commercial). But some files in the distribution | ||
are not written by the author, so that they are not under this terms. | ||
|
||
They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some | ||
files under the ./missing directory. See each file for the copying | ||
condition. | ||
|
||
5. The scripts and library files supplied as input to or produced as | ||
output from the software do not automatically fall under the | ||
copyright of the software, but belong to whomever generated them, | ||
and may be sold commercially, and may be aggregated with this | ||
software. | ||
|
||
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR | ||
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED | ||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
PURPOSE. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
= XMPP4R | ||
|
||
== Project Home | ||
|
||
You can find info about the xmpp4r project and how to contribute | ||
at the project home page: | ||
|
||
http://home.gna.org/xmpp4r/ | ||
|
||
If you need to ask questions, or want feedback on proposed changes | ||
please feel free to ask them on the 'xmpp4r-devel@gna.org' mailing | ||
list. You can join or view archives of the mailing list at: | ||
|
||
https://gna.org/mail/?group=xmpp4r | ||
|
||
If you are having a problem and would like to report it | ||
to the mailing list please include a protocol dump | ||
which can be enabled in your code with: | ||
|
||
Jabber::debug = true | ||
|
||
|
||
== Contributors | ||
|
||
Lucas Nussbaum <lucas@lucas-nussbaum.net> | ||
Stephan Maka <stephan@spaceboyz.net> | ||
Kirill A. Shutemov <k.shutemov@gmail.com> | ||
Yuki Mitsui | ||
Peter Schrammel | ||
Olli | ||
Vojtech Vobr | ||
Andreas Wiese | ||
Chris Zelenak | ||
Matthew Wood | ||
Sam Ruby | ||
Glenn Rempe <glenn@rempe.us> | ||
Tim Carey-Smith | ||
Scott Lillibridge | ||
Joshua Sierles | ||
|
||
|
||
== Source Code | ||
|
||
The source for xmpp4r is managed using the Git SCM and can be | ||
found in our GitHub.com project page: | ||
|
||
http://github.com/ln/xmpp4r/tree/master | ||
|
||
|
||
== Installation | ||
|
||
There are a number of ways that you can install xmpp4r depending | ||
on your needs and the methods you prefer. | ||
|
||
=== Install over the network using RubyGems | ||
|
||
You can install the current release of the xmpp4r library from a stable | ||
release gem on RubyForge using RubyGems: | ||
|
||
sudo gem install xmpp4r | ||
|
||
=== Install over the network using a Debian package | ||
|
||
You can install the current release of the xmpp4r library from a stable release copy | ||
on your .deb friendly linux system (e.g. Debian or Ubuntu) using apt: | ||
|
||
sudo apt-get install libxmpp4r-ruby | ||
|
||
=== Install from local source code (Developers Only) | ||
|
||
If you have a local Git clone of the source repository or a tarball | ||
you can install xmpp4r using several methods. First you'll | ||
need to get a local copy. | ||
|
||
Clone the Git repository (recommended): | ||
|
||
git clone git://github.com/ln/xmpp4r.git | ||
|
||
OR download a stable release tarball from: | ||
|
||
http://download.gna.org/xmpp4r/xmpp4r-0.3.2.tgz | ||
|
||
OR download a snapshot of the latest source in .tar.gz format from: | ||
|
||
http://github.com/ln/xmpp4r/tarball/master | ||
|
||
==== Install : Using Rake | ||
|
||
# Show all available rake tasks | ||
cd xmpp4r/ | ||
rake -T | ||
|
||
# Package up the gem file and install it | ||
rake gem:install | ||
|
||
==== Install : Using setup.rb | ||
|
||
This will install a copy of the library in your Ruby path and does not | ||
require RubyGems to be installed. | ||
|
||
cd xmpp4r/ | ||
./setup.rb | ||
|
||
|
||
== License | ||
|
||
XMPP4R is released under the Ruby license (see the LICENSE file), which is | ||
compatible with the GNU GPL (see the COPYING file) via an explicit | ||
dual-licensing clause. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
Ruby 1.9 is a development release in anticipation of Ruby 2.0, which has | ||
overall better performance, real threading, and character encoding support. | ||
Note: Ruby 1.9 is a development release, meaning that everything is | ||
subject to change without prior notice. Among other things, this means | ||
that xmpp4r could stop working on Ruby 1.9 at any time. | ||
|
||
This version of xmpp4r has made a number of internal changes (nothing visible | ||
at the API) to remove depency on deprecated Ruby Kernel APIs, support the new | ||
encoding APIs, etc. | ||
|
||
At the present time, all tests pass except tc_helper.rb and tc_stream.rb. | ||
These tests themselves make assumptions about timinings of events, | ||
assumptions that are not guaranteed with true multi-tasking. Initial | ||
analysis indicates that xmpp4r is operating correctly, it is the tests | ||
themselves that need to be corrected, but this could turn out to be | ||
incorrect. | ||
|
||
The executing of these two tests are disabled by a check in ts_xmpp4r.rb, | ||
which is marked as a TODO. | ||
|
||
A specific example: test_bidi in test/tc_stream.rb defines two threads, | ||
one pumps out requests, the other echoes them. The receiver then verifies | ||
that it gets back what it sent. With Ruby 1.8, these threads tend to | ||
alternate in lock step, and the test usually passes. What happens in Ruby 1.9 | ||
is that the first thread waits for a message, and the second one creates a | ||
callback block, generates a message, and then proceeds on to create a second | ||
callback block -- even before the first message has been responded to. | ||
The way xmpp4r works is that callbacks are saved on a pushdown stack. | ||
|
||
The net result is that the first response typically is processed first by | ||
the second callback, which decides that the ids don't match, and the test fails. | ||
|
||
The way it is supposed to work is that the reply callback is supposed to | ||
only process requests destined for it (and return true) and ignore | ||
everything else (returning false). | ||
|
||
This is but one test. Many of the tests in these two files are of this | ||
nature. | ||
|
||
The current status of the tests that are expected to pass on Ruby 1.9 | ||
can generally be found here: | ||
|
||
http://intertwingly.net/projects/ruby19/logs/xmpp4r.html |
Oops, something went wrong.