Permalink
Commits on Aug 27, 2011
Commits on Apr 28, 2011
  1. Syntax error. Whoopsies.

    rakaur committed Apr 28, 2011
  2. 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 committed Apr 28, 2011
Commits on Apr 26, 2011
  1. 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 committed Apr 26, 2011
Commits on Mar 14, 2011
  1. Update license.

    rakaur committed Mar 14, 2011
Commits on Nov 28, 2010
  1. 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 committed Nov 28, 2010
Commits on Nov 25, 2010
Commits on Nov 24, 2010
  1. Replace keys_to_sym!() with a nicer method.

    Rework the 'listeners' definitions in the config file.
    Add Bundler Gemfile.
    rakaur committed Nov 24, 2010
Commits on Oct 19, 2010
Commits on Oct 18, 2010
Commits on Oct 5, 2010
  1. 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 committed Oct 5, 2010
Commits on Oct 4, 2010
  1. 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 committed Oct 4, 2010
  2. 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 committed Oct 4, 2010
Commits on Sep 30, 2010
Commits on Sep 23, 2010
  1. Fix up version info a bit.

    rakaur committed Sep 23, 2010
Commits on Sep 19, 2010
  1. 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 committed Sep 19, 2010
Commits on Sep 17, 2010
  1. 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 committed Sep 17, 2010
Commits on Sep 9, 2010
  1. Quickly handle SIGTERM. Doh.

    rakaur committed Sep 9, 2010
Commits on Aug 25, 2010
  1. 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 committed Aug 25, 2010
  2. 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 committed Aug 25, 2010
Commits on Oct 7, 2009
  1. 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 committed Oct 7, 2009
  2. 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 committed Oct 7, 2009
Commits on May 7, 2009
  1. Add PID file writing & checking.

    Also, redo version scheme.
    rakaur committed May 7, 2009