Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Aug 27, 2011

  1. Andrew Herbig

    Update README.md and fix the Markdown

    authored

Apr 28, 2011

  1. Eric Will

    Syntax error. Whoopsies.

    rakaur authored
  2. Eric Will

    Fix things broken by new config, try to do support for 1.8. Cleanups.

    Make an attempt at supporting 1.8. Unfortunately, `IO::WaitReadable` is
    still holding us up on that. Spread the DSL config changes throughout
    the rest of the app and a connecting client now works as far as it did
    before I started messing with things.
    
    Need to work on real tests. Bacon or riot?
    rakaur authored

Apr 26, 2011

  1. Eric Will

    Ditch config file in favor of a config DSL. Also clean up.

    Get rid of bundler. It doesn't really serve a purpose for now. Going to
    try to work on this more, but I really need to refactor some stuff
    before I get started on new code. We'll see how it goes...
    rakaur authored

Mar 14, 2011

  1. Eric Will

    Update license.

    rakaur authored

Nov 28, 2010

  1. Eric Will

    Audit sockets, including SSL.

    Fix iChat connecting via TLS.
    Use `_nonblock` socket methods.
    Use `IO::WaitReadable` instead of `Errno::EAGAIN`.
    Change `xid_find` to `find_xid`.
    Fix the `split_xid` regex.
    rakaur authored

Nov 25, 2010

  1. Eric Will

    Update logging to work with new loggable in rhuidean.

    rakaur authored

Nov 24, 2010

  1. Eric Will

    Replace keys_to_sym!() with a nicer method.

    Rework the 'listeners' definitions in the config file.
    Add Bundler Gemfile.
    rakaur authored

Oct 19, 2010

  1. Eric Will

    Pretend like I care about unit testing.

    rakaur authored

Oct 18, 2010

  1. Eric Will

    Clean up XML namespaces into constants.

    rakaur authored
  2. Eric Will

    Make logging smarter (more levels, etc).

    rakaur authored

Oct 05, 2010

  1. Eric Will

    Whoops, definitely shouldn't be doing this.

    rakaur authored
  2. Eric Will

    Might support this later, but for now this complies with the RFC.

    rakaur authored
  3. Eric Will

    Clean up client.rb, and add resource binding.

    Move a lot of methods from client.rb to stream.rb and iq.rb.
    Add iq stanza processing.
    Add resource binding.
    rakaur authored

Oct 04, 2010

  1. Eric Will

    Add SASL PLAIN and enable the database.

    Move some database stuff to kintara.rb because Sequel is weird.
    Enable database creation/models. Schema seems good.
    Differentiate between stream and stanza errors.
    Add XMPP::Client#authorize for SASL PLAIN. Eventually add DIGEST-MD5.
    Change the unique ID generator to a SecureRandom UUID-esque thing.
    rakaur authored
  2. Eric Will

    Clean up a few things, and use a closure for TLS instead of two methods.

    rakaur authored
  3. Eric Will

    Add the skeleton for stanza processing, stream initialization, and TLS.

    Add stanza processing. This will slowly be filled out as I go.
    Add initial stream processing. Clients can connect and establish a stream.
    Add support for XMPP features.
    Add STARTTLS. Clients can successfully switch to TLS-encrypted streams.
    Check for dead clients AFTER the event loop.
    rakaur authored

Sep 30, 2010

  1. Eric Will

    Add README & XML parsing with REXML. Next stop: stanza processing.

    rakaur authored

Sep 23, 2010

  1. Eric Will

    Fix up version info a bit.

    rakaur authored

Sep 19, 2010

  1. Eric Will

    Fix an issue in the event code (from rhuidean).

    Allow the same event to be posted more than once to the same queue. If
    this is done it can allow things like two "this socket is ready to be
    read from" events to be posted and result in two calls to read(), one
    of which will wind up blocking. This is bad. However, NOT allowing this
    results in worse things, like if a certain event-triggering data comes
    in more than once in a single read()/event loop it results it it only
    being processed once and will ignore the rest. This is unacceptable.
    Since the former can be corrected with good coding, and the latter
    cannot, then the former loses (thanks sycobuny).
    rakaur authored

Sep 17, 2010

  1. Eric Will

    Fix a crash with clients disconnecting and threading issues.

    Change etc/config.yml to use .key and .crt instead of .pem.
    Translate @config String keys to Symbols (sycobuny).
    Fix the potential threading problem in XMPP::Servers
    Fix XMPP::Client to properly die when the socket disconnects.
    Make XMPP::Client#socket always be in select() readfds.
    rakaur authored

Sep 09, 2010

  1. Eric Will

    Fix an issue where the PID wasn't being written (thanks sycobuny).

    rakaur authored
  2. Eric Will

    Quickly handle SIGTERM. Doh.

    rakaur authored

Aug 25, 2010

  1. Eric Will

    Get clients up doing basic read/write (fancy echo server!).

    Move XMPPServer to XMPP::Server.
    XMPP::Client now does basic read/write.
    Clients currently driven by XMPP::Server, not local events;
    I'm not totally sure which way I want it.
    rakaur authored
  2. Eric Will

    Add events, timers, and set up very basic network handling.

    Add generic timers, specifically from my IRC client library.
    Add supercool event-driven stuff, specifically from rhuidean again.
    Add a basic I/O loop with select().
    XMPPServers can accept connections now (mostly proof of concept).
    Fix logging so it works on --nofork.
    Turn on Ruby warnings on --debug.
    Switch the main class' methods to class methods. Whoops.
    rakaur authored
  3. Eric Will

    Finish up logging, update copyright, and start working on a database.

    rakaur authored

Oct 07, 2009

  1. Eric Will

    Added listeners, logging, and simplified some things.

    Removed logging from config. Going to controlled via command line options.
    Added an XMPPServer class. Each of these will run a listener for c2s or s2s.
    Added a mixin, "Loggable," which provides nice logging/debugging for any class.
    Set up instances of XMPPServer to be in their own thread. Not sure on this.
    rakaur authored
  2. Eric Will

    Add a YAML configuration file, and little fixes.

    Fix PID writing so that it always writes instead of only when willfork = true.
    Add file encoding comments. Make a note about IDN encoding.
    rakaur authored

May 07, 2009

  1. Eric Will

    Add PID file writing & checking.

    Also, redo version scheme.
    rakaur authored
  2. Eric Will

    Set up the skeleton for a new application.

    rakaur authored
Something went wrong with that request. Please try again.