2014-02-02 Sergei Golovan <sgolovan@nes.ru>
* xmpp/xmpp.tcl: Added function which returns the current XMPP stream
features.
* xmpp/roster.tcl: Implemented roster versioning as in XEP-0237
and later in RFC-6121 (thanks to Jan Zachorowski).
2014-01-30 Sergei Golovan <sgolovan@nes.ru>
* xmpp/sasl.tcl: Send XMPP session IQ only if it's present in the
stream features list.
2014-01-28 Sergei Golovan <sgolovan@nes.ru>
* doc/xmpp_xml.man: Fixed header (Fixes issue 3).
2013-12-23 Sergei Golovan <sgolovan@nes.ru>
* xmpp/bosh.tcl, xmpp/poll.tcl, xmpp/starttls.tcl, xmpp/tls.tcl:
Explicitly disabled SSLv2 and enabled TLSv1 protocols.
2013-12-04 Sergei Golovan <sgolovan@nes.ru>
* xmpp/bosh.tcl: Reduced empty packets polling frequency. Fixed
attributes list on rescheduling.
* xmpp/bosh.tcl: Fixed sending of the terminate stream request.
2013-12-03 Sergei Golovan <sgolovan@nes.ru>
* xmpp/bosh.tcl: Initially implemented BOSH (XEP-0124 and XEP-0206)
transport support.
* xmpp/poll.tcl, xmpp/tcp.tcl, xmpp/tls.tcl, xmpp/zlib.tcl: Added
reopenStream command, enabled synchronous closing of XMPP stream.
Bumped package versions to 0.2.
* xmpp/xmpp.tcl: Added synchronous closing of XMPP stream. Use
reopenStream transport command were appropriate. Bumped package
version to 0.1.1.
* xmpp/pkgIndex.tcl: Bumped transport package versions to 0.2 because
their user interface has been changed and the XMPP package version
to 0.1.1.
* xmpp/poll.tcl: Code cleanup with using security keys.
* xmpp/transport.tcl: Added support for reopenStream command. Bumped
package version to 0.2.
* xmpp/sasl.tcl: Added another call to Debug proc.
* examples/jsend.tcl: Removed cdata payload from jabber:iq:last
response. Use synchronous stream closing before exit. Added BOSH
transport support.
2013-11-10 Sergei Golovan <sgolovan@nes.ru>
* license.terms: Fixed copyright years.
2013-11-08 Sergei Golovan <sgolovan@nes.ru>
* xmpp/sasl.tcl: Added preliminary SCRAM mechanism support (it
requires not included into Tcllib yet SASL::SCRAM package, see
http://core.tcl.tk/tcllib/tktview?name=b8f35b9883). Use empty
authzid instead of user's bare JID.
* examples/jsend.tcl: Use -host option for a server to connect to.
Added -digest option to allow jsend to use plaintext-based SASL
protocols.
2013-04-21 Sergei Golovan <sgolovan@nes.ru>
* xmpp/https.tcl: Removed domain flag from the NTLM greeting message.
This fixes authentication on ISA 2006 proxy.
* xmpp/sasl.tcl: Added EXTERNAL mechanism.
* xmpp/xml.tcl: Added -from option to the stream header, which is useful
for components.
2012-05-18 Sergei Golovan <sgolovan@nes.ru>
* xmpp/zlib.tcl: Added support for the native zlib coming with Tcl 8.6.
It takes precedense over the Ztcl package.
* xmpp/pkgIndex.tcl: Added the xmpp::sasl package requirement into
xmpp::full loading code.
2012-05-10 Sergei Golovan <sgolovan@nes.ru>
* xmpp/pconnect.tcl, xmpp/tcp.tcl, xmpp/tls.tcl, xmpp/zlib.tcl: Removed
use of ceptcl because IPv6 support is now transparently provided by
Tcl/Tk 8.6. Also, removed -domain from the listed socket options.
2012-02-02 Sergei Golovan <sgolovan@nes.ru>
* xmpp/jid.tcl: Don't crash if stringprepped JID contains prohibited
characters in it as they might be outside BMP which Tcl/Tk don't
support properly.
2011-02-27 Sergei Golovan <sgolovan@nes.ru>
* xmpp/disco.tcl: Removed [lassign] because it requires Tcl 8.5.
* xmpp/stanzaerror.tcl: Fixed message for 'auth' error type
(autorization error instead of authentication error).
2010-11-11 Sergei Golovan <sgolovan@nes.ru>
* examples/rssbot.tcl: Fixed typos in IQ registration.
* xmpp/iq.tcl: Explicitly add from attribute to the response stanzas
to make IQ registering working in connections serving multiple JIDs.
* xmpp/https.tcl, xmpp/socks4.tcl, xmpp/socks5.tcl: Moved canceling
timeout events up before debug output to prevent accidental firing.
2010-09-27 Sergei Golovan <sgolovan@nes.ru>
* xmpp/privacy.tcl: Fixed processing zero order when parsing incoming
privacy list (thanks to Vitaly Takmazov for bug triaging).
* xmpp/xmpp.tcl: Don't call non-existent status procedure (closes: #1).
2010-07-31 Sergei Golovan <sgolovan@nes.ru>
* xmpp/zlib.tcl: Forget about zlib package from Ztcl to prevent
another clash with http package.
2010-05-02 Sergei Golovan <sgolovan@nes.ru>
* xmpp/muc.tcl: Fixed race condition when reporting MUC joininig
result back to a caller.
2010-04-30 Sergei Golovan <sgolovan@nes.ru>
* xmpp/privacy.tcl: Fixed registering jabber:iq:privacy namespace
for privacy lists pushes.
2010-03-08 Sergei Golovan <sgolovan@nes.ru>
* xmpp/pubsub.tcl: Fixed a few typos (thanks to Jan Zachorowski).
2010-02-15 Sergei Golovan <sgolovan@nes.ru>
* xmpp/muc.tcl: Fixed lowering affiliation to outcast.
2010-02-13 Sergei Golovan <sgolovan@nes.ru>
* xmpp/muc.tcl: Fixed processing error answer to join or change
nickname queries.
2010-02-08 Sergei Golovan <sgolovan@nes.ru>
* xmpp/muc.tcl: Fixed typos.
2010-02-06 Sergei Golovan <sgolovan@nes.ru>
* xmpp/muc.tcl: Execute callback on nickname change after the new
presence stanza with affiliation and role is arrived. Added an
experimental workaround for services which don't mirror stanza id
in error presences and don't add status code 110 to my own stanzas.
2010-02-01 Sergei Golovan <sgolovan@nes.ru>
* xmpp/jid.tcl, doc/xmpp_jid.man, xmpp/muc.tcl, xmpp/presence.tcl:
Added a new command replaceResource which replaces the resource
part of a JID by a given string. Renamed bareJid to removeResource
for consistency.
* xmpp/muc.tcl: Added medium lebel commands to unban user and to
destroy a room. Fixed malformed JIDs creation in case when their
resource parts are empty. Don't reset own nickname on exit from a
room.
2010-01-30 Sergei Golovan <sgolovan@nes.ru>
* xmpp/muc.tcl: Added a new reported MUC event (disconnect). Fixed
race condition on leaving room and immediately entering.
* xmpp/muc.tcl: Fixed calling events command on affiliation and role
changes. Implemented low and medium level commands for manipulating
users affiliations and roles.
2010-01-29 Sergei Golovan <sgolovan@nes.ru>
* xmpp/stanzaerror.tcl: Fixed numeric code processing for legacy
(pre-XMPP) error stanzas.
* xmpp/jid.tcl: Cache stringprepped JID parts because stringprep is
really slow.
* xmpp/data.tcl, xmpp/delay.tcl, xmpp/register.tcl, xmpp/roster.tcl,
xmpp/search.tcl, xmpp/stanzaerror.tcl: Don't use true and false as
boolean values because Tcl 8.3 doesn't understand them.
* xmpp/presence.tcl: Added a new package xmpp::presence which stores
received presence information and allows to register presence
callbacks inside TclXMPP library.
* xmpp/xmpp.tcl: Require xmpp::presence package and ignore illegal
received presence priorities (non-integer) and presence statuses
(not 'avay', 'chat', 'dnd', 'xa').
* xmpp/muc.tcl: Started to implement MUC (XEP-0045). Currently joining,
leaving room, and changing nickname are implemented.
* xmpp/pkgIndex.tcl: Added xmpp::presence and xmpp::muc packages.
2010-01-25 Sergei Golovan <sgolovan@nes.ru>
* *: Added 2010 to copyright statements.
2010-01-24 Sergei Golovan <sgolovan@nes.ru>
* xmpp/jid.tcl: Added stringprep support in JID normalization.
2010-01-23 Sergei Golovan <sgolovan@nes.ru>
* xmpp/negotiate.tcl, xmpp/register.tcl, xmpp/search.tcl: Reimplemented
calling back in a more sane way. Removed unused variable tmp.
* xmpp/jid.tcl, doc/xmpp_jid.man: Renamed stripResource procedure to
bareJid. The former name is retained for backward compatibility.
* xmpp/annotations.tcl, xmpp/blocking.tcl, xmpp/bob.tcl,
xmpp/bookmarks.tcl, xmpp/delimiter.tcl, xmpp/disco.tcl,
xmpp/metacontacts.tcl, xmpp/ping.tcl, xmpp/privacy.tcl,
xmpp/private.tcl, xmpp/roster.tcl, xmpp/xmpp.tcl: Removed useless
errorcodes from error returns.
* xmpp/auth.tcl, xmpp/disco.tcl, xmpp/register.tcl, xmpp/search.tcl,
xmpp/starttls.tcl: Fixed labels (capitalization) and error messages
which are displayed to a user.
2010-01-18 Sergei Golovan <sgolovan@nes.ru>
* xmpp/privacy.tcl: Fixed processing server replies in synchronous mode
if multiple connections are opened (closes:
http://yo.jabber.ru/bugzilla/show_bug.cgi?id=394).
2010-01-17 Sergei Golovan <sgolovan@nes.ru>
* xmpp/https.tcl, xmpp/socks4.tcl, xmpp/socks5.tcl, xmpp/pconnect.tcl:
Return "timeout" status instead of "abort" in case of timeout because
"abort" means breaking connection process by a user.
2010-01-16 Sergei Golovan <sgolovan@nes.ru>
* xmpp/tcp.tcl, xmpp/tls.tcl, xmpp/zlib.tcl: Fixed opening connection
in asynchronous mode where the operation must always succeede and
its status is reported via a callback.
* xmpp/sasl.tcl, xmpp/stanzaerror.tcl, xmpp/streamerror.tcl: Changed
capitalization of error messages.
2010-01-14 Sergei Golovan <sgolovan@nes.ru>
* xmpp/tcp.tcl, xmpp/tls.tcl, xmpp/zlib.tcl: Fixed aborting underlying
connection. Fixed connecting in asynchronous mode.
2010-01-08 Sergei Golovan <sgolovan@nes.ru>
* xmpp/compress.tcl, xmpp/starttls.tcl, xmpp/tls.tcl, xmpp/zlib.tcl:
Process errors when switching to or opening ZLIB or TLS channel and
don't throw it immediately to a user.
2010-01-04 Sergei Golovan <sgolovan@nes.ru>
* xmpp/pkgIndex.tcl, xmpp/privacy.tcl: Implemented low-level interface
to XMPP privacy lists (XEP-0016). Synchronous and asynchronous query
modes are supported.
2009-12-29 Sergei Golovan <sgolovan@nes.ru>
* xmpp/auth.tcl, xmpp/component.tcl, xmpp/compress.tcl, xmpp/iq.tcl,
xmpp/pconnect.tcl, xmpp/sasl.tcl, xmpp/starttls.tcl, xmpp/tcp.tcl,
xmpp/tls.tcl, xmpp/transport.tcl, xmpp/xml.tcl, xmpp/xmpp.tcl,
xmpp/zlib.tcl: Removed incorrect -errorinfo options from return
calls, and a bit improved error reporting in some catch calls.
* xmpp/xmpp.tcl: Disconnect before connecting a stream if it isn't in
disconnected state. Also, don't react to stale stream headers after
stream abortion.
2009-10-27 Sergei Golovan <sgolovan@nes.ru>
* xmpp/poll.tcl, xmpp/xml.tcl: Removed trailing whitespaces.
2009-10-18 Sergei Golovan <sgolovan@nes.ru>
* xmpp/disco.tcl: Fixed calling back when info or items are received
with status error or abort.
2009-10-12 Sergei Golovan <sgolovan@nes.ru>
* examples/rssbot.tcl: Ignore messages with empty bodies.
2009-10-11 Sergei Golovan <sgolovan@nes.ru>
* examples/rssbot.tcl: Fixed removing extra space characters from HTML
descriptions. Fixed processing uppercase tags in HTML descriptions.
* examples/jsend.tcl: Use ::xmpp::jid::split to parse from JID instead
of ::mime::parseaddress.
2009-10-10 Sergei Golovan <sgolovan@nes.ru>
* examples/rssbot.tcl: Get XML encoding from XML document itself and
not from HTTP header. Also, strip HTML markup from items description.
2009-10-04 Sergei Golovan <sgolovan@nes.ru>
* examples/jsend.tcl: Restored historical name and added -date option
to include delay subelement with a given date.
* examples/rssbot.tcl: Adapted RSS bot from tkabber examples/tools to
TclXMPP. Also, added thorough dates parsers taken from Tclers' wiki
(http://wiki.tcl.tk/13094 and http://wiki.tcl.tk/24074).
2009-08-17 Sergei Golovan <sgolovan@nes.ru>
* auth.tcl, component.tcl, compress.tcl, sasl.tcl, starttls.tcl: Added
protection from a duble abort or timeout. Set JID after
authentiaction only in case of success.
* streamerror.tcl, xml.tcl: Changed the way of generating stream XMLNS
prefix.
2009-08-11 Sergei Golovan <sgolovan@nes.ru>
* xmpp/ping.tcl: Fixed IQ registering (register ping tag instead of
query) and removed received XML from regitered callback invocation
because it's useless as it's supposed to be always empty.
* xmpp/blocking.tcl: Added support for Simple Communication Blocking
(XEP-0191). It is untested because there's no server implementations
yet.
2009-08-03 Sergei Golovan <sgolovan@nes.ru>
* xmpp/ping.tcl, xmpp/pkgIndex.tcl: Added support for XMPP Ping
(XEP-0199). Client-side only for now.
* xmpp/ping.tcl: Added reply to XMPP ping requests support.
2009-07-31 Sergei Golovan <sgolovan@nes.ru>
* xmpp/xml.tcl: Add unique XMLNS prefixes when serializing XML element
if it contains complex attributes with XMLNS prefix prepended to
attribute names. Otherwise serializing of parsed XML could end by
not-well-formed stanza.
* examples/chessbot.tcl, examples/echo.tcl, examples/xsend.tcl: Fixed
processing secrets in config files, and enclosed all arithmetic
expressions into curly brackets.
2009-05-21 Sergei Golovan <sgolovan@nes.ru>
* xmpp/search.tcl: Fixed typo in procedure name.
2009-04-23 Sergei Golovan <sgolovan@nes.ru>
* xmpp/disco.tcl: Fixed disco#info and disco#items reply when the
query was received to a non-empty node.
2009-04-21 Sergei Golovan <sgolovan@nes.ru>
* xmpp/pubsub.tcl: Fixed IQ types in queries which request items or
configuration forms.
* xmpp/pubsub.tcl: Fixed data forms returning when requesting
subscription options, node configuration, default node config
options.
2009-04-17 Sergei Golovan <sgolovan@nes.ru>
* xmpp/https.tcl: Fixed typo in status message.
* xmpp/disco.tcl: Do not cache certain error conditions which may be
temporary.
2009-04-07 Sergei Golovan <sgolovan@nes.ru>
* xmpp/sasl.tcl: Do encode username and password into UTF-8 charset
if SASL package version is less than 1.3.2.
2009-04-05 Sergei Golovan <sgolovan@nes.ru>
* xmpp/auth.tcl, xmpp/sasl.tcl: Store user JID as a connection
property. It is useful for pubsub and PEP modules.
* xmpp/pubsub.tcl, xmpp/pkgIndex.tcl: Added new pubsub interface
module (XEP-0060).
* xmpp/pep.tcl, xmpp/pkgIndex.tcl: Added new PEP interface module
(XEP-0163).
2009-04-03 Sergei Golovan <sgolovan@nes.ru>
* xmpp/https.tcl: Fixed proxy NTLM authentication. Also, added a few
additional debug messages.
2009-03-31 Sergei Golovan <sgolovan@nes.ru>
* xmpp/sasl.tcl: Took into account that MD5-DIGEST SASL mechanism in
Tcllib converts username and password to UTF-8 itself. Also, split
SASL callbacks into two separate parts (one for users, another for
components).
2009-03-30 Sergei Golovan <sgolovan@nes.ru>
* xmpp/poll.tcl: Do not send Proxy-Authorization header if username
and password are empty.
* xmpp/https.tcl, xmpp/ntlm.tcl, xmpp/pkgIndex.tcl: Removed redundant
ntlm package and switched to SASL::NTLM for NTLM authentication at
an HTTPS proxy server.
2009-03-29 Sergei Golovan <sgolovan@nes.ru>
* xmpp/pconnect.tcl, xmpp/https.tcl, xmpp/socks4.tcl, xmpp/socks5.tcl:
Return human-readable messages when errors occur. Added abortion
procedures to socks4 and socks5 packages, and a timeout procedure
to pconnect package.
* xmpp/socks4.tcl, xmpp/socks5.tcl: Fixed reconstructing destination
address returned by a SOCKS proxy. Added support for IPv6 adresses
to socks5 package.
* xmpp/poll.tcl: Added version to http package requirement to prevent
version 1.0 loading.
2009-03-27 Sergei Golovan <sgolovan@nes.ru>
* xmpp/zlib.tcl: Added a hack which doesn't allow to load xmpp::zlib
package if zlib from Ztcl can't be found. Also, moved zlib command to
::xmpp::transport::zlib namespace because it isn't standard, so if,
for example, http package tries to get compressed data it fails.
2009-03-22 Sergei Golovan <sgolovan@nes.ru>
* xmpp/negotiate.tcl: Added the possibility of unregistering features.
* xmpp/pconnect.tcl, xmpp/poll.tcl: Added -proxyfilter option for a
callback which is invoked if a connecting routine needs info on which
proxy to use for a particular host.
2009-03-17 Sergei Golovan <sgolovan@nes.ru>
* xmpp/disco.tcl: Cache negative answers to info and items queries
also. Also, check if an item is already in the cache before adding
it to prevent duplicates when several queries are run simultaneously.
* xmpp/ntlm.tcl: Fixed calls to DES::des procedure in case if the
encrypting text begins with dash.
2009-03-15 Sergei Golovan <sgolovan@nes.ru>
* xmpp/data.tcl: Parse data forms media items.
2009-03-14 Sergei Golovan <sgolovan@nes.ru>
* xmpp/disco.tcl: Fixed searching cached info and items.
2009-03-13 Sergei Golovan <sgolovan@nes.ru>
* xmpp/bob.tcl: Removed erroneous cid: prefix from CID values.
* xmpp/bob.tcl: Fixed typo.
2009-03-12 Sergei Golovan <sgolovan@nes.ru>
* xmpp/bob.tcl, xmpp/pkgIndex.tcl: Added a simple interface to Bits of
Binary (XEP-0231).
2009-03-05 Sergei Golovan <sgolovan@nes.ru>
* xmpp/iq.tcl: Fixed unregistering XMLNS if it was registered for
more than one callbacks for different types and/or tags.
2009-02-28 Sergei Golovan <sgolovan@nes.ru>
* xmpp/delay.tcl: Changed output format of ::xmpp::delay::parse
procedure to preserve optional from attribute.
2009-02-27 Sergei Golovan <sgolovan@nes.ru>
* xmpp/disco.tcl: Include in JID identity all received information and
not only category, type and name.
2009-02-23 Sergei Golovan <sgolovan@nes.ru>
* xmpp/disco.tcl, xmpp/pkgIndex.tcl: Added basic Service Discovery
support (XEP-0030).
* *: Added 2009 to copyright statements.
2009-02-18 Sergei Golovan <sgolovan@nes.ru>
* xmpp/zlib.tcl: Ignore errors from fconfigure -flush input.
* xmpp/https.tcl, xmpp/socks4.tcl, xmpp/socks5.tcl: Fixed comments.
2009-02-15 Sergei Golovan <sgolovan@nes.ru>
* xmpp/annotations.tcl, xmpp/bookmarks.tcl, xmpp/delimiter.tcl,
xmpp/metacontacts.tcl: Added serialize/deserialize procedures
which convert from/to internal representaton to/from XML. They
are useful in roster export/import routines.
2009-02-12 Sergei Golovan <sgolovan@nes.ru>
* xmpp/metacontacts.tcl: Made interface to retrieve/store procedures
more convenient.
2009-02-11 Sergei Golovan <sgolovan@nes.ru>
* xmpp/private.tcl: Added simple interface to private XML storage
(XEP-0049).
* xmpp/annotations.tcl: Added storing/retieving roster notes
(XEP-0145).
* xmpp/delimiter.tcl: Added storing/retrieving nested groups delimiter
(XEP-0083).
* xmpp/metacontacts.tcl: Added storing/retrieving roster metacontacts
(XEP-0209).
* xmpp/pkgIndex.tcl: Added the above packages.
* xmpp/bookmarks.tcl, xmpp/pkgIndex.tcl: Added storing/retrieving
conference bookmarks (XEP-0048).
2009-02-10 Sergei Golovan <sgolovan@nes.ru>
* xmpp/tls.tcl: Changed -password option to -passwordcommand to avoid
clash with password for proxy.
2009-02-09 Sergei Golovan <sgolovan@nes.ru>
* xmpp/https.tcl: Changed HTTP protocol version in CONNECT query
from 1.1 to 1.0.
2008-12-17 Sergei Golovan <sgolovan@nes.ru>
* xmpp/poll.tcl: Fixed return value for procedure which pushes text
to an XMPP server.
2008-12-14 Sergei Golovan <sgolovan@nes.ru>
* xmpp/xmpp.tcl: Don't allow arbitrary message type. Made debug
messages a bit more clear and added timestamp to them.
2008-11-18 Sergei Golovan <sgolovan@nes.ru>
* doc/*.man: Made ViM modelines prettier.
2008-11-09 Sergei Golovan <sgolovan@nes.ru>
* xmpp/xmpp.tcl: Added a new log callback which is invoked on every
outgoing and incoming packet.
2008-11-03 Sergei Golovan <sgolovan@nes.ru>
* xmpp/tcp.tcl, xmpp/zlib.tcl: Fixed typo in a procedure which returns
connection socket IP address.
* xmpp/negotiate.tcl, pkgIndex.tcl: Added a package which implements
feature negotiation protocol (XEP-0020).
* xmpp/poll.tcl: Fixed typo.
* xmpp/data.tcl: Fixed typo.
2008-11-02 Sergei Golovan <sgolovan@nes.ru>
* xmpp/data.tcl: Added a procedure which fills in form fields for
submission.
* xmpp/search.tcl, xmpp/pkgIndex.tcl: Added a package which implements
support for Jabber Search (XEP-0055) queries.
* xmpp/data.tcl: Treat missing form type as "form".
* xmpp/search.tcl: Fixed typo and removed implicit field label.
* xmpp/register.tcl, xmpp/pkgIndex.tcl: Added a new package which
implements support for In-Band Registration (XEP-0077) queries.
* tclxml/*.tcl, doc/*.man, xmpp/register.tcl: Removed tabulation
characters from the sources and added ViM modelines which expand
them into spaces.
* xmpp/xmpp.tcl: Don't add empty "to" attribute to sent IQ stanzas.
* xmpp/register.tcl: Added support for data forms in error service
responses and added support for changing password.
* xmpp/data.tcl: Added support for creating data forms.
* xmpp/data.tcl: Added procedure which creates form field tuple in a
human readable way. Also, added field description and required
fields support for created data forms. Also, added basic result form
support.
2008-11-01 Sergei Golovan <sgolovan@nes.ru>
* xmpp/data.tcl, xmpp/pkgIndex.tcl: Added a new package for working
with data forms (XEP-0004).
* xmpp/data.tcl: Return form type when searching for a data form.
Parse field elements in result forms.
* xmpp/data.tcl: Fixed parsing items in a result form.
2008-10-31 Sergei Golovan <sgolovan@nes.ru>
* xmpp/xmpp.tcl: Protected unsetting of a variable which stores abort
commands because it may be unset during abort call.
2008-10-30 Sergei Golovan <sgolovan@nes.ru>
* xmpp/tcp.tcl, xmpp/tls.tcl, xmpp/zlib.tcl: Protected reading from
the XMPP socket and disconnect it in case of read error.
2008-10-27 Sergei Golovan <sgolovan@nes.ru>
* xmpp/tcp.tcl, xmpp/tls.tcl, xmpp/zlib.tcl: Removed calls to
non-existent fubction ::xmpp::log.
2008-10-25 Sergei Golovan <sgolovan@nes.ru>
* xmpp/xmpp.tcl: Don't check the from address for IQ relies and errors
because in order to be reliable it requires full JID normalization.
Use random IQ IDs to prevent accidental or malicious ID clashing.
* xmpp/iq.tcl: Use empty string instead of "ignore" to signal that the
IQ answer will be later.
2008-10-24 Sergei Golovan <sgolovan@nes.ru>
* xmpp/xmpp.tcl: Fixed error stanza when aborting IQ on timeout, made
calling back when sending IQ failed to after idle, fixed IQ
callbacks to compare normalized JIDs when searching for reply.
2008-10-21 Sergei Golovan <sgolovan@nes.ru>
* xmpp/xml.tcl: Fixed typo.
* xmpp/https.tcl: Added missing close bracket.
* xmpp/socks4.tcl: Fixed version number.
2008-10-20 Sergei Golovan <sgolovan@nes.ru>
* doc/xmpp_jid.man, doc/xmpp_xml.man: Removed colons from filenames
as they cause problems on non-Unix systems.
* xmpp/tcp.tcl, xmpp/tls.tcl, xmpp/zlib.tcl: Fixed variable name.
* doc/xmpp.man: Added preliminary manual page for xmpp package.
* xmpp/starttls.tcl, xmpp/tls.tcl: Changed -callback option to
-verifycommand and added -infocommand option which specifies
command to call upon successfully established TLS connection with
socket TLS status.
2008-10-19 Sergei Golovan <sgolovan@nes.ru>
* xmpp/xmpp.tcl: Fixed race condition where transport was already
closed, but was tried to send packets.
* xmpp/tcp.tcl, xmpp/tls.tcl, xmpp/zlib.tcl: Clear readable fileevent
script when the socket is closed by the other side. Otherwise it can
be triggered continuously. Also, close socket.
* xmpp/xmpp.tcl: Removed unnecessary rescheduling of ForcedDisconnect
call which now can't be executed twice (one time on the end of
strteam, and another time on the closure of the socket).
* xmpp/tcp.tcl, xmpp/tls.tcl, xmpp/zlib.tcl: Removed unnecessary error
hidings by catch.
* doc/xmpp::jid.man, doc/xmpp::xml.man: Added preliminary manual pages
for xmpp::jid and xmpp::xml packages. Currently they contain only
lists of commands.
* xmpp/jid.tcl: Code cleanup.
2008-10-18 Sergei Golovan <sgolovan@nes.ru>
* xmpp/jid.tcl: Added default resource value (empty string).
* xmpp/sasl.tcl: Use jid procedure instead of directly concatenating
user and server names.
* xmpp/xmpp.tcl: Added packetID command which returns the next free
packet ID. Also, removed packet ID resetting on disconnect.
* xmpp/xml.tcl: Added toTabbedText procedure for XML pretty-printing.
2008-10-17 Sergei Golovan <sgolovan@nes.ru>
* xmpp/streamerror.tcl: Added error condition to the call of error
client callback in additin to a readable message.
* xmpp/xmpp.tcl: Return client callback code and error info to a
caller. It is useful for IQ callback where return code "return"
prevents processing the packet by internam IQ engine. Also, move
general IQ callback upper to make it executed not only for types
"get" and "set" but also for all other types.
* xmpp/xml.tcl: Added a hack which helps to parse XML file with a
declararion at the beginning if tDOM parser is used. Also, fixed a
typo in create XML procedure.
* xmpp/delay.tcl: Added a new procedure which checks if the message
is delayed.
* xmpp/sasl.tcl: Renamed local variable which clashed with global one.
* xmpp/auth.tcl, xmpp/compress.tcl, xmpp/sasl.tcl, xmpp/starttls.tcl:
Return full error stanza instead of error message.
* xmpp/xmpp.tcl: Fixed transport switching.
* xmpp/sasl.tcl: Fixed typo.
* xmpp/xmpp.tcl: Fixed sending text.
* xmpp/xml.tcl: Fixed creating XML element if it has empty subelements.
* xmpp/streamerror.tcl: Removed extra closing parenthesis from error
message.
2008-10-15 Sergei Golovan <sgolovan@nes.ru>
* xmpp/xml.tcl: Added default (empty) XMLNS for empty prefix. Also,
closed the outmost XML element in data parsing routine.
* xmpp/xml.tcl: Fixed using of Tcl-only parser from data parsing
routine.
2008-10-14 Sergei Golovan <sgolovan@nes.ru>
* tclxml/sgmlparser.tcl, tclxml/tclparser.tcl, tclxml/xmltcl.tcl,
xmpp/xml.tcl: Use non-XMLNS aware parser and process XMLNS prefixes
manually. This helps to ignore unbound prefixes when tDOM expat
parser is used.
* xmpp/iq.tcl: Fixed typo.
* xmpp/socks4.tcl: Changed case of ok and error status.
* xmpp/xml.tcl: Fixed bug with forgotten namespaces stack while
resetting XML parser. Also, simplified prefixes processing.
2008-10-13 Sergei Golovan <sgolovan@nes.ru>
* xmpp/starttls.tcl, xmpp/tls.tcl: Made TLS import routine use its
default options if they weren't specified during STARTTLS or
opening TLS socket. Added options to choose protocol version to
XMPP TLS interface.
* xmpp/xmpp.tcl: Added general IQ command (unfinished yet).
2008-10-12 Sergei Golovan <sgolovan@nes.ru>
* xmpp/roster.tcl: Removed unnecessary argument from roster item
command call.
2008-10-11 Sergei Golovan <sgolovan@nes.ru>
* xmpp/xmpp.tcl, examples/chessbot.tcl, examples/echo.tcl,
examples/xsend.tcl: Changed syntax of host and port arguments in
::xmpp::connect because they clashed with proxy host and port
options.
* xmpp/compress.tcl, xmpp/starttls.tcl: Made the compress and starttls
procedures return new stream session ID in case of success. This
allows to perform non-SASL authentication over compressed or
encrypted streams if a server offers it.
* xmpp/sasl.tcl: Fixed typo.
2008-10-10 Sergei Golovan <sgolovan@nes.ru>
* xmpp/delay.tcl: Joined procedures which create delay element
following different XEPs into a single procedure.
* xmpp/dns.tcl: Replaced own procedure which returns nameservers list
by a procedure from the dns package. Added DNS lookup abort
procedure and procedures to resolve HTTP-poll and BOSH URLs.
* examples/xsend.tcl, xmpp/https.tcl, xmpp/starttls.tcl, xmpp/xml.tcl,
xmpp/xmpp.tcl: Fitted code into 80-character width strings.
* tclxml/*: Removed 8.1 suffix from file names because they will never
be used with Tcl 8.0 or older.
* examples/xsend.tcl: Added note about the authors.
* xmpp/tcp.tcl, xmpp/tls.tcl, xmpp/zlib.tcl: Fixed bugs in abort
procedure where XML parser was destroyed unconditionally.
* xmpp/zlib.tcl: Added -level option which allows to specify
compression level.
* xmpp/socks4.tcl, xmpp/socks5.tcl: Moved to ::pconnect namespace.
* xmpp/auth.tcl, xmpp/component.tcl, xmpp/ntlm.tcl, xmpp/pconnect.tcl,
xmpp/stanzaerror.tcl: Clarified descriptions.
* xmpp/compress.tcl, xmpp/sasl.tcl, xmpp/starttls.tcl: Moved removing
stream features trace upper in abort procedures.
* xmpp/poll.tcl: Changed -proxyHost, -proxyPort, -proxyUsername,
-proxyPassword and -proxyUseragent options to -host, -port,
-username, -password and -useragent to make them consistent with
::pconnect::socket options.
* xmpp/jid.tcl: Fixed file name in description.
* xmpp/pkgIndex.tcl: Added xmpp::delay package.
* xmpp/starttls.tcl: Changed -cacertstore option to -castore to make
it more similar to -cafile and -cadir.
* xmpp/compress.tcl, xmpp/dns.tcl, xmpp/iq.tcl, xmpp/poll.tcl,
xmpp/starttls.tcl, xmpp/tcp.tcl, xmpp/tls.tcl, xmpp/transport.tcl,
xmpp/zlib.tcl: Added descriptions to all defined procedures.
* xmpp/compress.tcl: Added -level option to choose compression level
when switching transport to zlib.
* examples/chessbot.tcl, examples/echo.tcl, examples/xsend.tcl,
xmpp/auth.tcl, xmpp/component.tcl, xmpp/poll.tcl, xmpp/roster.tcl,
xmpp/tcp.tcl, xmpp/tls.tcl, xmpp/transport.tcl, xmpp/xmpp.tcl,
xmpp/zlib.tcl: Removed camel case from dash-options.
* xmpp/stanzaerror.tcl: Added creating legacy error to error
procedure (with -old option).
2008-10-09 Sergei Golovan <sgolovan@nes.ru>
* xmpp/auth.tcl: Added a few checks for existing authentication token
in callbacks. Also, did a little code cleanup and clarified
comments.
2008-10-08 Sergei Golovan <sgolovan@nes.ru>
* xmpp/transport.tcl, xmpp/poll.tcl, xmpp/tcp.tcl, xmpp/tls.tcl,
xmpp/zlib.tcl: Added ip command (it will be used when IP should be
reported to another JID, e.g. in file transfer).
* xmpp/auth.tcl, xmpp/component.tcl, xmpp/compress.tcl, xmpp/sasl.tcl,
xmpp/starttls.tcl, xmpp/xmpp.tcl: Added a simple way to abort long
procedures (connection, stream opening, STARTTLS, compress, SASL,
authentication). The corresponding abortion procedure is stored in a
variable and is called if necessary.
* xmpp/auth.tcl, xmpp/component.tcl, xmpp/compress.tcl, xmpp/https.tcl,
xmpp/iq.tcl, xmpp/poll.tcl, xmpp/roster.tcl, xmpp/sasl.tcl,
xmpp/socks4.tcl, xmpp/socks5.tcl, xmpp/starttls.tcl, xmpp/xmpp.tcl:
Changed syntax of debug calls.
* xmpp/roster.tcl: Made parsing the server answer a bit more efficient.
* xmpp/iq.tcl: Changed the way registered IQ handlers are stored in an
array.
* xmpp/xmpp.tcl: Added comments before all defined procedures.
2008-10-06 Sergei Golovan <sgolovan@nes.ru>
* */*: Removed spaces at the end of lines and expanded tabs in all
sources (except TclXML code).
2008-10-05 Sergei Golovan <sgolovan@nes.ru>
* examples/*, tclxml/*, xmpp/*: Initial version of XMPP client
library. It includes a Tcl-only XML parser from some old version of
TclXML and a few examples.