Commit Graph

68 Commits

Author SHA1 Message Date
James Canete
dd86aedd19 Force schannel to use RC4 to get around an schannel DES bug.
Fix a bug where a failed tls_start would cause a loop.
Moved static variables in schannel into the tls struct.
2007-11-15 03:12:18 +00:00
James Canete
1f453d2ecf Add schannel support (win32 only)
Fix a couple compile warnings.
Extend features timeout to 5 seconds.
2007-11-05 02:30:04 +00:00
James Canete
f45380bb23 Added OpenSSL support.
Added win32-specific srv lookup support.
Extend session timeout to 15 seconds.
2007-09-05 20:01:24 +00:00
James Canete
c3b8d03096 Fix handling of quotes in digest-md5 challenge. 2007-07-25 21:30:40 +00:00
James Canete
cde69ffce4 Fix parsing of extraneous commas in sasl digest-md5 challenge. 2007-07-25 01:53:04 +00:00
James Canete
9d25e25002 Fix some bugs with stream errors. 2006-08-28 23:03:42 +00:00
Jack Moffitt
fbb6a6b4c6 Implement stream:error handling. 2006-08-25 19:28:08 +00:00
James Canete
91cfcd26b3 Fixed some bugs when encoding and decoding to base64. 2006-05-16 01:46:47 +00:00
Jack Moffitt
927c229a42 Fix a typo in error case comparison. 2006-05-03 16:02:16 +00:00
James Canete
6a4e4be4bd Updated changes. 2006-04-05 23:57:56 +00:00
James Canete
4c634f3ad1 fixed a bug in the hash where the first entry was never used in an iterator 2006-04-05 23:56:19 +00:00
Jack Moffitt
8c9e66b2da Prep changelog and version number for release. 2006-03-09 21:42:47 +00:00
Jack Moffitt
c52d0aaa28 Add new snprintf/vsnprintf implementation. This should fix the compability
problems between Win32 (with its broken implementation) and the standard
stdio API.  Also fixed a bug in debug output where long messages got
truncated to 1023 chars, and in xmpp_stanza_to_text where long stanzas
got truncated by one character.
2006-01-21 00:26:40 +00:00
Jack Moffitt
9a06adc267 Bump version number post release. 2006-01-17 18:28:20 +00:00
Jack Moffitt
6dc79c2ec1 Updated version number for release. 2006-01-17 18:19:16 +00:00
Jack Moffitt
8aaba7e2a9 Updated changelog for release. 2006-01-17 18:18:08 +00:00
Jack Moffitt
151c74a5ae Minor fix to includes and error names. 2006-01-17 18:08:28 +00:00
James Canete
b54517f6aa Fix a typo, WSAETIMEOUT -> WSAETIMEDOUT 2006-01-11 00:37:55 +00:00
Jack Moffitt
ddd356e726 Fix problem with sending if no data at all could be sent. 2006-01-05 03:39:18 +00:00
Jack Moffitt
5403b39950 Set connection error correctly on read/write errors. Final bit for
fix of #10.
2005-12-01 23:43:53 +00:00
Jack Moffitt
18f54e2fc5 Finish fix for #11. ETIMEOUT/WSAETIMEDOUT error code set on connection
timeout.
2005-12-01 23:31:02 +00:00
Jack Moffitt
68c9a71774 Partial fix for #11. Correctly calls connection handler on timeout now,
but doesn't yet set the error.
2005-12-01 23:09:20 +00:00
Jack Moffitt
003b0528cd Add disconnection notification on send/recv errors. 2005-11-19 22:05:00 +00:00
James Canete
6180bbcc0a Changed id handlers so they are removed if they do not return true. 2005-11-08 05:03:18 +00:00
James Canete
78d2ffc5fb Fixed session timeout from triggering when session is already established. 2005-10-24 05:30:06 +00:00
Jack Moffitt
b992133987 Implement session establishment, which is required if the server
advertises it.  Fixes bugs relating to not-authorized errors on 
XMPP compliant servers.
2005-10-18 07:58:38 +00:00
James Canete
34f2b3097e added #define WIN32_LEAN_AND_MEAN to fix compilation on Visual Studio .NET 2003 2005-10-18 07:04:45 +00:00
Jack Moffitt
2b9e5b61a1 Stanza object creation/deletion now uses the context, but must be done with
a factory function.
2005-08-02 21:07:40 +00:00
Jack Moffitt
1f0ee8df31 Forgot to add the first stab implementation. 2005-08-02 20:21:00 +00:00
Jack Moffitt
359c47ffdc Another pass at C++ification. 2005-08-02 20:18:14 +00:00
Jack Moffitt
74d8b50d60 Add error returns to stanza functions. 2005-07-29 19:24:59 +00:00
Ralph Giles
d0e64fdac7 Remove the tls source from the build again. We want this to be an optional
dependency and that doesn't work yet. Memory like a sieve.
2005-07-27 07:01:47 +00:00
Ralph Giles
62faeab1d4 Add the new backend-specific tls source to the build.
Also prune the build spec for the examples. -Iexpat/lib will have to be
added again if we ever use expat in the example clients directly, but
for now it's unnecessary.
2005-07-27 06:55:08 +00:00
Ralph Giles
3ee4193043 Replace the genericly-named tls.c with a tls_gnutls.c for switching
support in and out. It's easier for the build system if we do this
with #ifdef's but conditional compilation is easier while we're
playing around.

Also rename a function.
2005-07-21 19:00:08 +00:00
Ralph Giles
5c50538338 Initial draft of a TLS abstraction layer based on GNU TLS.
This adds a tls_t that looks a bit like a socket, but can turn
on and off tls. The idea would be to plug this into the xmpp_conn_t
and use it iff the connection is in TLS mode.
2005-07-21 10:44:37 +00:00
Jack Moffitt
e20fcb8ec4 Minor Win32 build fix. 2005-07-18 22:22:11 +00:00
Ralph Giles
cb9b93a3f6 Re add the 0.8 CHANGES heading. 2005-07-02 16:34:05 +00:00
Ralph Giles
fba108552e Update CHANGES for point release. 2005-07-02 16:07:45 +00:00
Ralph Giles
7c7e844f43 Rename basic_logging.c to basic.c, replacing the old version.
Having debugging on by default in the example seems to help
people trying out the library, and with the default_logger()
call it's not too much extra complication.

We should also write an example/complex.c that exercises
all the callback options, a custom allocator and so on.
2005-06-29 18:07:20 +00:00
Ralph Giles
a6d7d9ef96 remove basic.c in preparation for replacing it with basic_logging.c. svn is stupid. 2005-06-29 17:54:29 +00:00
Ralph Giles
673a1308b1 Add a new xmpp_get_default_logger(level) call to provide access to
(a filtered version of) the default logger which we implemented in
the library but was no longer accessible. This makes it much easier
for the caller to turn logging on by just passing this default
log handler callback pointer into xmpp_ctx_new() instead of having
to always implement boilerplate.

Another option would have been xmpp_get_default_log_level(ctx, level)
to change the filter level of the build in logger, which is installed
if you pass NULL to xmpp_ctx_new(). In this method the logger would 
filter everything by default.
2005-06-29 17:51:18 +00:00
Ralph Giles
83b5721607 Move the log_level_name[] definitions back to private status within the library.
Defining static data in the header causes warnings on Apple gcc, and in general
this should be the client's responsibility. The names are obvious from the
log_level enum, which is public, and it's only one line of boilerplate to
copy in implementing a custom logging function.
2005-06-29 15:36:40 +00:00
Ralph Giles
6a1b2cada9 Also call the connection handler callback if a connection attempt fails.
Otherwise there's no way for the client to stop the event loop and/or
retry.
2005-06-29 15:25:08 +00:00
Ralph Giles
64b85aadda Make the server argument optional. Passing a NULL domain arg to xmpp_connect_client()
now derives the domain from the jid.

Is it reasonable to just remove the 'domain' (more properly server) argument directly?
The library should always handle this and I can't think why you'd want to override unless
maybe if you have a proxy.
2005-06-29 15:23:51 +00:00
Ralph Giles
f2335adb75 Conform the copyright headers. 2005-06-29 14:38:24 +00:00
Jack Moffitt
fe4d7beb98 Fix minor memory bug. We were freeing the _next_ item's attributes,
instead of the current item's.
2005-06-28 23:19:16 +00:00
Jack Moffitt
033602a4cb Fixed two bugs. The first bug was that if no stream:features was received,
we did not proceed with legacy authentication.  The second bug was that
if no resource was specified, legacy authentication must fail, and this
condition was not being detected.
2005-06-28 23:13:59 +00:00
Jack Moffitt
c24df2b5f0 Added a basic_logging.c which shows how to use the logging stuff. Moved
xmpp_log_level_name into strophe.h for client access.
2005-06-28 21:23:57 +00:00
Jack Moffitt
fc351c8106 Redo Context class to use overridable virtual functions instead of
C-style callbacks.  Note that this requires the memory callbacks to
have a userdata pointer (so that we can pass the class instance).  Also,
the Context class has to be passed into the constructors for Connection and
Stanza.
2005-06-26 22:36:43 +00:00
Jack Moffitt
fa8ef93e8c First draft C++ api. This is more or less a direct translation of the OO
C calls.
2005-06-23 21:01:23 +00:00