Viktor Ivanov 886f45584c Fix bug with xmpp chat not connecting
The facebook suddenly stopped connecting on my dev machine. I still cannot
explain what caused this change in behaviour, but I was finally able to
diagnose and fix the problem.

Chat was not connecting due to an error in tls_start. The windows function
InitializeSecurityContext was returning a SEC_E_INCOMPLETE_MESSAGE status
which was being treated as an error. However, the documentation states
that this is not an error. This status simply indicates that more data
needs to be read. This commit does precisely that -- when
SEC_E_INCOMPLETE_MESSAGE we read more data from the socket and call
InitializeSecurityContext again.
2019-10-11 00:54:37 +03:00
2017-07-06 15:47:19 +03:00
2019-09-25 11:00:52 +00:00
2017-06-23 16:57:27 +03:00
2019-10-11 00:54:37 +03:00
2018-12-13 14:28:41 +03:00
2017-06-23 22:09:28 +03:00
2018-11-06 11:45:39 +02:00
2014-04-25 19:22:45 +02:00
2019-10-10 21:47:08 +03:00
2014-05-09 17:04:10 +02:00
2016-09-14 18:52:20 +03:00
2018-11-06 11:35:52 +02:00
2014-04-25 19:22:45 +02:00
2014-04-26 12:03:14 +02:00
2019-10-01 22:34:31 +03:00
2016-09-27 15:40:08 +03:00
2014-04-25 19:22:45 +02:00

libstrophe [![Build Status](https://travis-ci.org/strophe/libstrophe.png?branch=master)](https://travis-ci.org/strophe/libstrophe)
==========

libstrophe is a lightweight XMPP client library written in C. It has
minimal dependencies and is configurable for various environments. It
runs well on Linux, Unix and Windows based platforms.

Its goals are:

- usable quickly
- well documented
- reliable

Build Instructions
------------------

If you are building from a source control checkout, run:

    ./bootstrap.sh

to generate the `configure` script.

From the top-level directory, run the following commands:

    ./configure
    make

The public API is defined in `strophe.h` which is in the
top-level directory.

The `examples` directory contains some examples of how to
use the library; these may be helpful in addition to the
API documentation

To install on your system, as root (or using sudo):

    make install

Note, the default install path is `/usr/local/`, to specify
another path use the `--prefix` option during configure, e.g.:

    ./configure --prefix=/usr

### Android

Run script `build-android.sh` and follow the instructions. You will
need expat sources and android-ndk.

Requirements
------------

libstrophe requires:

- expat or libxml2 - expat is the default; use --with-libxml2 to
  switch
- openssl on UNIX systems

To build libstrophe using autotools you will need autoconf, automake,
libtool and pkg-config.

Installation
------------

libstrophe package has been added to popular Linux distributions,
BSD systems and OSX package managers.

Documentation
-------------

API documentation is inline with the code and conforms to Doxygen
standards. You can generate an HTML version of the API documentation
by running:

    doxygen

Then open `docs/html/index.html`.
Description
Languages
C 95.1%
M4 2.9%
Makefile 1.7%
Shell 0.3%