tls: reject incoming empty records
[siplcs.git] / README
blob4896c2b6b7f367ff0918db262cee673747a21cc5
1 Introduction
2 ============
4 SIPE is a third-party plugin for the Pidgin/Adium/Miranda/Telepathy
5 multi-protocol instant messaging clients/frameworks. It implements the
6 extended version of SIP/SIMPLE used by various products:
8     * Microsoft Office 365
9     * Microsoft Business Productivity Online Suite (BPOS)
10     * Microsoft Lync Server
11     * Microsoft Office Communications Server (OCS 2007/2007 R2)
12     * Microsoft Live Communications Server (LCS 2003/2005)
13     * Reuters Messaging
15 With this plugin you should be able to replace your Microsoft Office
16 Communicator client with Pidgin/Adium/Miranda/Telepathy.
19 Features
20 ========
22 The plugin has support for
24     * Instant Messaging (IM)
25     * Multiparty chat (OCS 2005) or conference (OCS 2007+)
26     * Group chat (Lync 2010) or Persistent chat (Lync 2013) - [MS-XCCOSIP]
27     * Enhanced presence
28     * Calendar integration with Exchange 2007+ (can be disabled)
29     * Contact details information - company, phones, photo, web site, etc.
30     * Unified Contact Store (Lync 2013) - [MS-OXWSCOS]
31     * Contact search - [MS-PRES] and [MS-DLX] methods supported
32     * Encrypted file transfer (old OCS2007 method only)
33     * Voice & Video calls (unencrypted only)
34     * Call initiation through PBX
35     * NTLMv2, Kerberos & TLS-DSK authentication methods
36     * Single Sign-On (depends on OS and authentication method)
37     * Automatic SSL/TLS protection for SIP/HTTP connections
38     * Crypto implementation using NSS or OpenSSL
39     * Localization
41 The plugin has backends for
43     * Pidgin/Finch (libpurple)
44     * Adium (libpurple)
45     * Miranda
46     * Telepathy (under development)
49 Advantages over Office Communicator products
50 ============================================
52     * Available on broader range of platforms: Linux, *BSD, Maemo, OSX,
53       commercial UNIX, Windows.
54     * Ability to simultaneously connect to several Office Communicator
55       accounts in addition to public IM network accounts like MSN, AOL,
56       Yahoo. For example one account is in vendor company and another is
57       in client company.
58     * Keeps history of communications in environments without Outlook. For
59       example in companies where Lotus Notes is deployed as a default
60       groupware client instead of Outlook.
61     * Lotus Notes/Domino calendar integration. Unique to SIPE.
62     * Open development model, open source product. License is GPLv2+
65 Support
66 =======
68 The Pidgin or Adium projects do not support third-party plugins! Please do
69 not ask questions about SIPE in their forums or report SIPE problems to their
70 bug trackers.
72 If you set up your Office Communicator/Lync account with SIPE for the first
73 time then please make sure to read this page:
75     https://sourceforge.net/p/sipe/wiki/How%20to%20setup%20an%20account/
77 If you encounter problems then please make sure to check out the Frequently
78 Asked Question page:
80     https://sourceforge.net/p/sipe/wiki/faq/
82 If you still have problems then please check the support forum if another
83 user encountered the same problem and maybe solved it already:
85     http://sourceforge.net/p/sipe/discussion/
87 If you think that you have found a bug in SIPE then please report it to the
88 SIPE bug tracker:
90     https://sourceforge.net/p/sipe/bugs/
92 The SIPE project kindly requests that you do not ignore the instructions that
93 appear at the head of the "Create Ticket" page. These instructions are there
94 for a reason and if you ignore them then you will only cause unnecessary work
95 for the project and yourself. Please do not report missing features as bugs.
97 New or missing features can be requested here:
99     https://sourceforge.net/p/sipe/feature-requests/
102 Localization
103 ============
105 SIPE has already been localized for several languages. You can help to
106 translate SIPE to your native language at Transifex:
108     https://www.transifex.com/projects/p/pidgin-sipe/resource/mob/
110 The service offers a convenient web editor.
113 Installing from a distribution repository
114 =========================================
116 Many Open Source OS distributions have a ready-made package "pidgin-sipe".
117 Before trying to compile it from the source code yourself, you should try
118 to install this package with the standard installation method provided by
119 your OS.
122 Do It Yourself I: compiling against "pidgin" package
123 ====================================================
125 NOTE: for instructions how to setup a build environment on Windows to
126       compile the Windows Pidgin plugin, please read:
128         https://developer.pidgin.im/wiki/BuildingWinPidgin
130 NOTE: for instructions how to cross-compile the Windows Pidgin plugin on
131       Linux, please read:
133         contrib/mingw-cross-compile/README.txt
135 NOTE: for instructions how to compile the SIPEAdiumPlugin on Mac OS X,
136       please read:
138         src/adium/README.adium
141 If you already have installed the "pidgin" package from your distribution
142 repository and want compile SIPE from source code yourself, then you need to
143 install the necessary headers first. Depending on your distribution you'll
144 need to install one of the following packages
146         libpurple-dev
147         libpurple-devel
149 For the compilation you'll need to install a C compiler and some of the
150 following packages
152         libtool
153         intltool
155         pkg-config
156         libglib2.0-dev
157         libxml2-dev
158         libgmime-2.4-dev  (optional)
159         libgmime-2.6-dev  (optional)
161         pkgconfig
162         libglib2-devel
163         libxml2-devel
164         gettext-devel
165         gmime-devel       (optional)
167 You have to choose between NSS or OpenSSL for the crypto backend. You'll
168 need one of the following packages
170         for NSS:
171         libnss3-dev
172         nss-devel
173         mozilla-nss-devel
175         for OpenSSL:
176         libssl-dev
177         openssl-devel
179 If you want to enable Kerberos authentication support then you'll need one
180 of the following packages
182         libkrb5-dev
183         krb5-devel
185 If you additionally want to disable the internal NTLM implementation and
186 authenticate with NTLM via GSSAPI then you'll need one of the following
187 packages
189         gssntlmssp-devel
191 If you want to enable Voice & Video features then you'll need some of the
192 following packages
194         libnice-dev           (>= 0.1.0)
195         libgstreamer0.10-dev
197         libnice-devel         (>= 0.1.0)
198         gstreamer-devel
200 Now you should be able to compile the source code with
202         ./configure --prefix=/usr
203         make
205 If you get errors then you are missing some required package. After
206 successful compilation you can install SIPE with:
208         su -c "make install"
210 If you get errors from configure or libtool about version conflicts then
211 you need to regenerate the autoconf files. You'll need these additional
212 packages
214         autoconf
215         automake
217 Now you should be able to regenerate the files with
219         autoreconf --verbose --install --force
221 After that go back to the configure step above.
224 Do It Yourself II: compiling against self-compiled pidgin
225 =========================================================
227 If you have compiled pidgin from source code yourself then you'll have to
228 specify the correct installation path in configure. Usually pidgin is
229 installed in /usr/local so the following command should work
231         ./configure --prefix=/usr/local
233 The rest of the steps are the same as in the previous section.