plugins.pubsub: Make the old functions wrap the new.

verse.plugins.groupchat: Make last commit (7802a048) more concise

fixed sending of leave message

added local verse var to all plugins

plugins.pep: Use the new PubSub api.

plugins.pubsub: Make the old functions wrap the new.

verse: Remove silly logger line I just noticed at the end of the file

Merge with Zash

plugins.bind: get_child_text()

plugins.vcard_update: get_child_text()

doc/example_pep.lua: get_child_text()

verse: Add default log handler for errors

verse: Format messages before passing them to custom log handler

verse: set_log_handler(): Allow nil to be passed for log_handler to disable logging (the default).

verse: Switch connection ids to be a simple incrementing integer

verse, squishy: Port to Prosody's util.logger. Adds new function, verse.set_log_handler(handler, levels).

verse: require('util.logger') (besides being correct, also fixes a silly bug when loading verse twice)

verse: verse.logger() -> verse.new_logger()

plugins.register: Add in-band registration plugin

verse: Connections use global Verse logger by default

squishy: Rewrite in an attempt to curb the unbounded growth of the plugin list

plugins.pep: Set item to the first tag instead of first child.

plugins.groupchat: Use stanza:get_child_text()

doc/example_pubsub.lua: Example plugins.pubsub usage

plugins.vcard_update: Update for util.vcard changes.

plugins.vcard: Use util.vcard

util.vcard: Add util for converting vCard3 to/from XEP 54

doc: Add Carbons example

squishy: Add carbons plugin

plugins.carbons: Add, implements Message Carbons (XEP 280)

squishy: add vcard, vcard_update, jingle_ibb

plugins.pubsub: New, OOP-ish, PubSub interface. Beware of stubs.

plugins.pubsub: implement node creation

plugins.jingle: Stop event propagation after returning errors

plugins.jingle_ibb: In-Band Bytestreams, initial commit.

plugins.version: Use get_child_text() and fix traceback on empty iq-result reply.

plugins.roster: Check stream features for roster versioning support.

plugins.pep: Reuse the pubsub plugin.

plugins.groupchat: Improve room subject handling, add event

squishy: Add a convenience function for plugins

plugins.roster: Fix wrong name of reply variable

plugins.disco: Increase hook priority. Fixes duplicated disco features.

plugins.jingle: Logging fix

plugins.roster: Roster versioning support.

plugins.roster: Don't signal roster events if there was no such item

squishy: Add the roster plugin

plugins.groupchat: Bump topic change handling up a bit

plugins.keepalive: Add (thanks chris)

verse: Expose net.server as verse.server

squishy: Add smacks and keepalive plugins

plugins.smacks: Scatter some logging and comments through the code for good measure

plugins.smacks: Fix event priority and handling to make the code actually... work

plugins.smacks: Remove some debugging code from resumption success handling, and fire a "resumed" event instead

plugins.smacks: Add 1s delay between reconnect attempts

verse.client: Reopen stream in response to 'connected' event

libs/adhoc.lib.lua: Update copy (ugh) from Prosody

plugins.*: Use verse.stanza() & co instead of require util.stanza

plugins.vcard_update: Support for XEP-153 avatar hash in presence broadcasts

plugins.vcard: Get and set vcard-temp info.

Added uptime plugin, included also an entry for it into the squishy file.

plugins.pubsub: Fix to use :childtags() for iterating through items in a pubsub notification (:matching_tags() was removed from Prosody)

plugins.roster: Add roster push handling, roster item parsing, delete_contact()

plugins.presence: Fix priority setting. (Thanks Florob)

Merge with Zash

plugins.groupchat: Fix self reference when leaving rooms

plugins.smacks: XEP-0198 support

plugins.groupchat: Fix prev commit.

plugins.groupchat: Extra options. Route join presence through the room. Option to stamp from attr on outgoing stanzas (useful for components).

plugins.groupchat: Trying to get subject to behave properly

plugins.groupchat: Fix a missing `st.` and send join stanza regardless of return value from pre-join event.

squishy: Add groupchat plugin

plugins.groupchat: Adapt from Riddim

Merge with Zash

plugins.disco: Load the presence plugin

plugins.disco: Use the new presence plugin for caching and resending

squishy: Add plugis.presence

plugins.presence: Initial commit of plugin that caches the last outgoing presence, and handles rebroadcast

plugins.disco,compression: Use xmlns_* variables

plugins.disco: Fix missing xmlns variable.

plugins.legacy: Try to login anyways, compat for servers not supporting XEP 78 properly.

verse: Make add_plugin only load a plugin once per stream

plugins.disco: Fix disco_local_services() to call callback with empty array in case of disco error

verse.client: Fix two cases where we called methods on the base stream object instead of the current one

Merge with Zash

plugins.legacy: Try to login anyways, compat for servers not supporting XEP 78 properly.

plugins.pep: Update for new disco/caps code

plugins.disco: Automatically insert caps into outgoing presence, and re-send last global presence with new caps when features change

verse.client: Fire 'stanza-out' and {message,presence,iq}'-out' for outgoing stanzas

plugins.pubsub: Return true to indicate success loading

plugins.pep: Only add +notify feature if there weren't any handlers for it already

verse: Change to set conn:send in only one place, and fire new events 'outgoing' and 'outgoing-raw'

verse: Consider a plugin as failed to load only if it returns false

squishy, verse.client, verse.component, verse.bosh: Port to util.xmppstream instead of xmlhandlers which has been removed from Prosody. Also remove util.ztact from squishy for the same reason.

plugins.bind: Fix the bind-success event, now fires with data { jid = result_jid } (thanks Jon)

plugins.pubsub: Fire pubsub/event on incoming pubsub notifications

squishy: Add --prosody option to specify a path to a Prosody checkout to use when squishing

squishy: Add util.httpstream. Now also squishes bosh by default

Merge with Zash

plugins.private, squishy: Allow setting the storage node, and not just child(s). And add to squishy.

plugins.pubsub, squishy: New pubsub plugin (basic)

squishy: Add legacy plugin

plugins.legacy: Support for legacy non-SASL authentication :(

doc/example_component.lua: Add code to echo stanzas

verse.component: Namespacing fixes

plugins.private: Private XML storage support

Merge

squishy, plugins.ping, plugins.sasl: Remove xstanza references

plugins.disco: Fix traceback when disco#info isn't returned for a service in disco#items

plugins.adhoc: Remove some stray debugging

docs/example_jingle.lua: Update to use content.type instead of content.name for checking the kind of content we're receiving

plugins.jingle_ft: Change content 'name' field to 'type' to avoid confusion with the 'name' attribute of the <content> tag in Jingle

verse: Add verse.filter_log(levels, logger) to filter a logger for certain levels

verse: Fix set_logger() to set verse.log() correctly

plugins.jingle, plugins.jingle_s5b: API changes to allow not sending <reason> inside <content> when transfer succeeds

plugins.jingle_ft: Fix global access

squishy: Add verse.component

verse.client: Support for SRV record lookups

squishy: Re-organise and add net.dns, net.adns and util.ztact

verse: Fire disconnected event even if connection fails instantly

squishy: Use --internal-bit-module to squish with the pure-Lua bit library

libs/bit.lua: Add pure-Lua bit library

verse: Log error and return when trying to close a closed connection

squishy: Add util.hashes [libs/hashes.lua]

libs/encodings.lua: Use mime.b64 for base64.encode

libs.hashes: Pure-Lua util.hashes replacement (depends on util.sha1)

doc/example_pep.lua: Example script to use the PEP plugin

libs.logger: Use io.write instead of print

verse: verse.loop() and new verse.step() use the new error handler to, er, handle errors.

verse: Add verse.log() to log a message using the default logger. Also add verse.set_error_handler() to, er, set an error handler.

verse: Log error when connection fails instantly

util.dataforms, squishy: Add util.dataforms library

plugins.adhoc: Support for querying for and executing commands

plugins.disco: Further fixes to storing and retrieving to/from the disco cache

plugins.disco: Store node of disco items

plugins.disco: Fixes for storing/retrieving items from the disco cache.

plugins.jingle: Add 'terminated' event

doc/example_adhoc.lua: Example of using ad-hoc commands

verse.plugins.adhoc: XEP-0050 Ad-hoc commands plugin

verse.plugins.disco: Add stream:add_disco_item()

verse.plugins.pep: New plugin to add an API for sending and catching PEP events

verse.plugins.disco: Add stream:remove_disco_feature()

verse.plugins.disco: Remove warning about base64 issue, bug located and fixed

util.sha1: Truncate to a single return result when returning the binary form of the hash

doc/example_jingle.lua, doc/example_jingle_send.lua: Example scripts to receive and send files using Jingle

verse.plugins.disco: Auto-disco local services on connect, and delay 'ready' event until done

doc/example.lua: Don't add sasl plugin, since it is enabled by default

libs/encodings.lua: Throw error when calling unimplemented function

squishy: Add proxy65, jingle, jingle_ft, jingle_s5b, disco plugins

util.sha1: Obey second parameter which decides whether to return the result in ASCII hex encoding

verse.plugins.version: Return true when handling a version request

verse.plugins.proxy65: Add proxies discovered by disco plugin to proxy65.available_streamhosts

verse.plugins.jingle_ft: Jingle File Transfer application profile

verse.plugins.jingle_s5b: Jingle SOCKS5 Bytestreams transport

verse.plugins.jingle: XEP-0166 Jingle plugin

verse.plugins.disco: Add disco plugin originally developed by Hubert Chathi for Riddim, but here adapted for Verse with new APIs added to allow disco'ing the local server and remote entities

verse: Add verse.eventable() to give a passed object :event() and :hook()/:unhook() methods and return it again

verse.client: Update stream:close() to use base stream:close(), and not add an XMPP-specific :close() to the base stream

verse: Return true from connect() on success, add stream:close()

verse: Return false rather than nil from connect() on error, for consistency

verse: Add stream:set_loglevels()

verse.bosh: Implemented retry/reconnect logic, and handling of disconnects (either CM-intiated or due to connection failures)

squishy: Build in BOSH and HTTP by default, --no-bosh to disable

doc/example_bosh.lua: Put url into variable

squishy: Add --with-bosh option to squish with verse.bosh and necessarylibraries

verse.bosh: Update to use net.http instead of verse.plugins.http

Add doc/example_bosh.lua

verse.bosh: Use verse.new_bosh(logger, url) to make a BOSH connection

example_component.lua: Fix password

docs/example_component.lua: Example for connecting to the server as a component

verse.component: XEP-0114 support \o/

verse.client: Add stream_id property

plugins.roster: Unfinished roster plugin

Bounce service-unavailable on unhandled iq stanzas (thanks Kev, Florob and anyone else who poked me)

verse.plugins.blocking, squishy: New plugin for XEP-0191: Simple Communications Blocking

plugins.compression: Add newline at end of file (helps old versions of squish for one thing)

verse.client, verse.plugins.bind, verse.plugins.session: Rename binding-success and binding-failure to bind-success and bind-failure for consistency

doc/example.lua: Update to use 'ready' event

verse.client: Fire 'ready' event on stream when resource binding or session negotiation is complete, hook this instead of binding-success

verse.plugins.session: Only negotiate session when support is advertised by the server, and not marked as optional (saves a round-trip in a lot of cases)

verse.plugins.compression: Remove some redundant debug logging

verse.plugins.session: Convert from spaces to tabs

verse.plugins.compression: Bump priority of stream-features handler to negotiate compression before resource binding

verse.plugins.compression: Support for stream compression (requires brimworks lua-zlib)

verse.client: Add stream:reset(), keep self.data static between resets

LICENSE: Add license (MIT/X11)

plugins.session: Convert from Windows line endings

verse.plugins.tls: self -> stream

verse.plugins.tls: Return true to indicate success loading plugin

verse.plugins.tls: Set secure flag, hide some warnings

verse: Load LuaSec if possible

verse.plugins.tls: Fail gracefully when LuaSec not loaded

verse.client: Load TLS along with other core plugins

verse.plugins.tls: Support for TLS encryption! (thanks Azelphur for the final push)

verse: Fire "status" event for connection status changes (notably SSL handshake complete)

verse: Remove some useless comments

doc/example.lua: Example XMPP client script

util.sha1, squishy: Add sha1 lib needed for proxy65 (and soon XEP-0114)

verse.plugins.proxy65: XEP-0065 plugin for file transfer through a proxy

verse: Add "drained" event to signal when send buffer is empty (new server.lua feature)

verse: Take advantage of server.lua's new onconnect callback for a more robust "connected" event

verse: Add stream:unhook(event_name, handler)

verse.client: Add verse.error_reply() helper

plugins.version: Detect errors based on type attribute, rather than presence of query element

Add support for 3921 session negotiation (makes ejabberd happy), thanks Chris!

verse.client: Add missing version to stream header (thanks Bill Clark)

verse.client: Update stream_callbacks format for new xmlhandlers API (thanks to Bill Clark for the patch)

verse.client, squishy: Rename "xmlhandlers" to "core.xmlhandlers" in line with Prosody's structure

verse.client: Fire disconnected event when the disconnect is initiated by the client too

verse: Add verse.quit() to exit the event loop

verse: Multiple changes to allow controlling logging for both verse and streams

verse.plugins.bind: Fix incorrect variable name causing traceback on unsuccessful bind

verse: Add verse.add_task(delay, callback) to add timer functions using util.timer

plugins.ping: Don't handle all errors as successful pongs, call callback with nil time and 3rd parameter a table with error info

plugins.bind: Requested JID^Wresource should be in <jid/>^W<resource/> tag (thanks Maranda :) )

plugins.bind: Requested JID should be in <jid/> tag (thanks Maranda :) )

verse.client: Automatically load sasl and bind plugins

verse.client: Don't hook the stanza event every time a stanza comes in :)

plugins.ping: Define xmlns_ping namespace

squishy: Add ping plugin

plugins.ping: Return true on module load to indicate load success

plugins.version: Return true on module load to indicate load success

plugins.ping: Add ping plugin to XMPP ping a JID

squish: Add version plugin

Revert module names throughout to their Prosody equivalents

verse.plugins.version: Fix for handling of version requests

verse.client: New stanza dispatcher to fire events based on the name (and in the case of iq, xmlns) of the stanza

Add 'version' plugin to handle and generate version requests

Rename verse2 -> verse

verse.client: Add verse.reply() as shortcut for util.stanza.reply()

squishy: Add util.uuid dependency

verse: Have verse.new() accept a prototype table on which to base the connection

verse.client: Extend verse object with message/iq/presence/stanza methods from util.stanza

verse.client: Fixes for new xmlhandlers namespace seperator

verse: Update for new server connection API

squishy: Update to fetch new server_select.lua from Prosody

squishy: Add util.timer

verse: Include LuaRocks packages if we can

verse: Fix stream:hook() to pass additional parameters to the underlying hook(), so we don't strip priority

util.xstanza: Fix and rename error_from_stanza() -> get_error()

squish: Add plugins

(0) -240 +240 tip

mercurial