Showing preview only (4,051K chars total). Download the full file or copy to clipboard to get everything.
Repository: tieto/sipe
Branch: launchpad-next
Commit: ad0d885d8a52
Files: 339
Total size: 3.8 MB
Directory structure:
gitextract_3ldssbmk/
├── .gitignore
├── .tx/
│ └── config
├── AUTHORS
├── COPYING
├── ChangeLog
├── Makefile.am
├── Makefile.mingw
├── NEWS
├── README
├── TODO
├── VERSION
├── autogen.sh
├── configure.ac
├── contrib/
│ ├── dbus/
│ │ ├── SipeHelper.pm
│ │ ├── sipe-call-phone-number.pl
│ │ ├── sipe-join-conference-with-organizer-and-id.pl
│ │ ├── sipe-join-conference-with-uri.pl
│ │ ├── sipe-republish-calendar.pl
│ │ └── sipe-reset-status.pl
│ ├── debian/
│ │ ├── changelog
│ │ ├── compat
│ │ ├── control
│ │ ├── copyright
│ │ ├── docs
│ │ └── rules
│ ├── debug/
│ │ ├── parse_log.pl
│ │ └── parse_valgrind.pl
│ ├── mingw-cross-compile/
│ │ ├── README.txt
│ │ ├── fetch.sh
│ │ └── local.mak
│ ├── opensuse-build-service/
│ │ ├── PKGBUILD
│ │ ├── generate_debian.sh
│ │ ├── generate_nsi.pl
│ │ ├── pidgin-sipe-freerdp2.dsc
│ │ ├── pidgin-sipe-gstreamer1.dsc
│ │ ├── pidgin-sipe-telepathy.dsc
│ │ ├── pidgin-sipe.changes
│ │ ├── pidgin-sipe.nsi.template
│ │ └── pidgin-sipe.spec
│ └── rpm/
│ └── pidgin-sipe.spec
├── git-build.sh
├── git-snapshot.sh
├── pidgin-sipe.nsi
├── pidgin-sipe.wxs
├── pixmaps/
│ ├── 16/
│ │ └── Makefile.am
│ ├── 22/
│ │ └── Makefile.am
│ ├── 24/
│ │ └── Makefile.am
│ ├── 32/
│ │ └── Makefile.am
│ ├── 48/
│ │ └── Makefile.am
│ ├── Makefile.am
│ ├── Makefile.common.am
│ ├── Makefile.mingw
│ └── scalable/
│ └── Makefile.am
├── po/
│ ├── LINGUAS
│ ├── Makefile.mingw
│ ├── POTFILES.in
│ ├── ar.po
│ ├── cs.po
│ ├── da.po
│ ├── de.po
│ ├── el.po
│ ├── es.po
│ ├── fi.po
│ ├── fr.po
│ ├── fr_CA.po
│ ├── hi.po
│ ├── hu.po
│ ├── it.po
│ ├── ja.po
│ ├── ko.po
│ ├── lt.po
│ ├── nb.po
│ ├── nl.po
│ ├── pidgin-sipe.pot
│ ├── pl.po
│ ├── pt.po
│ ├── pt_BR.po
│ ├── ro.po
│ ├── ru.po
│ ├── sv.po
│ ├── ta.po
│ ├── te.po
│ ├── tr.po
│ ├── transifex-pot-fixup.pl
│ ├── zh_CN.po
│ └── zh_TW.po
├── siplcs.vcxproj
├── siplcs.vcxproj.filters
└── src/
├── Makefile.am
├── Makefile.mingw
├── adium/
│ ├── DCPurpleSIPEJoinChatViewController.h
│ ├── DCPurpleSIPEJoinChatViewController.m
│ ├── ESPurpleSIPEAccount.h
│ ├── ESPurpleSIPEAccount.m
│ ├── ESSIPEAccountViewController.h
│ ├── ESSIPEAccountViewController.m
│ ├── ESSIPELibpurpleServicePlugin.h
│ ├── ESSIPELibpurpleServicePlugin.m
│ ├── ESSIPEService.h
│ ├── ESSIPEService.m
│ ├── English.lproj/
│ │ ├── DCPurpleSIPEJoinChatView.xib
│ │ ├── ESSIPEAccountView.xib
│ │ └── InfoPlist.strings
│ ├── Info.plist
│ ├── PurpleDefaultsSIPE.plist
│ ├── README.Adium
│ ├── SIPEAdiumPlugin.xcodeproj/
│ │ ├── project.pbxproj
│ │ └── xcshareddata/
│ │ └── xcschemes/
│ │ ├── SIPEAdiumPlugin.xcscheme
│ │ └── pidgin-sipe.xcscheme
│ ├── SIPEAdiumPlugin_Prefix.pch
│ ├── check_release.sh
│ ├── find_adium_build.sh
│ ├── openssl/
│ │ ├── libcrypto.0.9.8.tbd
│ │ └── opensslconf.h
│ └── xcconfigs/
│ ├── Base.xcconfig
│ ├── Debug-Release.xcconfig
│ ├── Debug.xcconfig
│ ├── Release.xcconfig
│ ├── SIPEAdiumPlugin.xcconfig
│ └── libpidgin-sipe.xcconfig
├── api/
│ ├── Makefile.am
│ ├── sipe-backend.h
│ ├── sipe-common.h
│ ├── sipe-core.h
│ ├── sipe-mime.h
│ └── sipe-nls.h
├── core/
│ ├── Makefile.am
│ ├── Makefile.mingw
│ ├── libsiperc.rc.in
│ ├── md4.c
│ ├── md4.h
│ ├── sdpmsg.c
│ ├── sdpmsg.h
│ ├── sip-csta.c
│ ├── sip-csta.h
│ ├── sip-sec-basic.c
│ ├── sip-sec-basic.h
│ ├── sip-sec-digest-tests.c
│ ├── sip-sec-digest.c
│ ├── sip-sec-digest.h
│ ├── sip-sec-gssapi.c
│ ├── sip-sec-gssapi.h
│ ├── sip-sec-mech.h
│ ├── sip-sec-negotiate.c
│ ├── sip-sec-negotiate.h
│ ├── sip-sec-ntlm-analyzer.c
│ ├── sip-sec-ntlm-tests.c
│ ├── sip-sec-ntlm.c
│ ├── sip-sec-ntlm.h
│ ├── sip-sec-sspi.c
│ ├── sip-sec-sspi.h
│ ├── sip-sec-tls-dsk.c
│ ├── sip-sec-tls-dsk.h
│ ├── sip-sec.c
│ ├── sip-sec.h
│ ├── sip-soap.c
│ ├── sip-soap.h
│ ├── sip-transport.c
│ ├── sip-transport.h
│ ├── sipe-appshare-client.h
│ ├── sipe-appshare-remmina.c
│ ├── sipe-appshare-xfreerdp.c
│ ├── sipe-appshare.c
│ ├── sipe-appshare.h
│ ├── sipe-buddy.c
│ ├── sipe-buddy.h
│ ├── sipe-cal.c
│ ├── sipe-cal.h
│ ├── sipe-cert-crypto-nss.c
│ ├── sipe-cert-crypto-openssl.c
│ ├── sipe-cert-crypto.h
│ ├── sipe-certificate.c
│ ├── sipe-certificate.h
│ ├── sipe-chat.c
│ ├── sipe-chat.h
│ ├── sipe-conf.c
│ ├── sipe-conf.h
│ ├── sipe-core-private.h
│ ├── sipe-core.c
│ ├── sipe-crypt-nss.c
│ ├── sipe-crypt-openssl.c
│ ├── sipe-crypt.h
│ ├── sipe-dialog.c
│ ├── sipe-dialog.h
│ ├── sipe-digest-nss.c
│ ├── sipe-digest-openssl.c
│ ├── sipe-digest.h
│ ├── sipe-domino.c
│ ├── sipe-domino.h
│ ├── sipe-ews-autodiscover.c
│ ├── sipe-ews-autodiscover.h
│ ├── sipe-ews.c
│ ├── sipe-ews.h
│ ├── sipe-ft-lync.c
│ ├── sipe-ft-lync.h
│ ├── sipe-ft-tftp.c
│ ├── sipe-ft-tftp.h
│ ├── sipe-ft.c
│ ├── sipe-ft.h
│ ├── sipe-generic-tests.c
│ ├── sipe-group.c
│ ├── sipe-group.h
│ ├── sipe-groupchat.c
│ ├── sipe-groupchat.h
│ ├── sipe-http-request.c
│ ├── sipe-http-request.h
│ ├── sipe-http-transport.c
│ ├── sipe-http-transport.h
│ ├── sipe-http.c
│ ├── sipe-http.h
│ ├── sipe-im.c
│ ├── sipe-im.h
│ ├── sipe-incoming.c
│ ├── sipe-incoming.h
│ ├── sipe-lync-autodiscover.c
│ ├── sipe-lync-autodiscover.h
│ ├── sipe-media.c
│ ├── sipe-media.h
│ ├── sipe-mime-common.c
│ ├── sipe-mime.c
│ ├── sipe-msrtp.c
│ ├── sipe-notify.c
│ ├── sipe-notify.h
│ ├── sipe-ocs2005.c
│ ├── sipe-ocs2005.h
│ ├── sipe-ocs2007.c
│ ├── sipe-ocs2007.h
│ ├── sipe-rtf-tests.c
│ ├── sipe-rtf.h
│ ├── sipe-rtf.l
│ ├── sipe-schedule.c
│ ├── sipe-schedule.h
│ ├── sipe-session.c
│ ├── sipe-session.h
│ ├── sipe-sign.c
│ ├── sipe-sign.h
│ ├── sipe-sipmsg-tests.c
│ ├── sipe-status.c
│ ├── sipe-status.h
│ ├── sipe-subscriptions.c
│ ├── sipe-subscriptions.h
│ ├── sipe-svc.c
│ ├── sipe-svc.h
│ ├── sipe-tls-analyzer.c
│ ├── sipe-tls-tester.c
│ ├── sipe-tls.c
│ ├── sipe-tls.h
│ ├── sipe-ucs.c
│ ├── sipe-ucs.h
│ ├── sipe-user.c
│ ├── sipe-user.h
│ ├── sipe-utils.c
│ ├── sipe-utils.h
│ ├── sipe-webticket.c
│ ├── sipe-webticket.h
│ ├── sipe-win32dep.c
│ ├── sipe-win32dep.h
│ ├── sipe-xml-tests.c
│ ├── sipe-xml.c
│ ├── sipe-xml.h
│ ├── sipmsg.c
│ ├── sipmsg.h
│ ├── uuid.c
│ └── uuid.h
├── miranda/
│ ├── INSTALL
│ ├── miranda-buddy.c
│ ├── miranda-chat.c
│ ├── miranda-connection.c
│ ├── miranda-debug.c
│ ├── miranda-dnsquery.c
│ ├── miranda-ft.c
│ ├── miranda-groupchat.c
│ ├── miranda-im.c
│ ├── miranda-input.c
│ ├── miranda-markup.c
│ ├── miranda-media.c
│ ├── miranda-network.c
│ ├── miranda-notify.c
│ ├── miranda-plugin.c
│ ├── miranda-private.h
│ ├── miranda-resource.h
│ ├── miranda-schedule.c
│ ├── miranda-search.c
│ ├── miranda-setting.c
│ ├── miranda-status.c
│ ├── miranda-transport.c
│ ├── miranda-user.c
│ ├── miranda-utils.c
│ ├── miranda-version.h
│ ├── miranda.rc
│ ├── sipe-miranda.c
│ └── vlc.c
├── purple/
│ ├── Makefile.am
│ ├── pidgin-sipe.metainfo.xml
│ ├── purple-buddy.c
│ ├── purple-chat.c
│ ├── purple-connection.c
│ ├── purple-dbus-bindings.c
│ ├── purple-dbus.c
│ ├── purple-dbus.h
│ ├── purple-debug.c
│ ├── purple-dnsquery.c
│ ├── purple-ft.c
│ ├── purple-groupchat.c
│ ├── purple-im.c
│ ├── purple-markup.c
│ ├── purple-media.c
│ ├── purple-mime.c
│ ├── purple-network.c
│ ├── purple-notify.c
│ ├── purple-plugin-common.c
│ ├── purple-plugin.c
│ ├── purple-plugin3.c
│ ├── purple-private.h
│ ├── purple-schedule.c
│ ├── purple-search.c
│ ├── purple-setting.c
│ ├── purple-status.c
│ ├── purple-transport.c
│ ├── purple-user.c
│ ├── tests-load.c
│ └── tests.c
└── telepathy/
├── Makefile.am
├── data/
│ ├── Makefile.am
│ ├── org.freedesktop.Telepathy.ConnectionManager.sipe.service.in
│ └── sipe.profile
├── telepathy-buddy.c
├── telepathy-connection.c
├── telepathy-debug.c
├── telepathy-dnsquery.c
├── telepathy-main.c
├── telepathy-private.h
├── telepathy-protocol.c
├── telepathy-schedule.c
├── telepathy-search.c
├── telepathy-status.c
├── telepathy-stubs.c
├── telepathy-tls.c
└── telepathy-transport.c
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
*~
*Makefile
*Makefile.in
*Makefile.in.in
*.la
*.lo
*.log
.deps
.libs
libtool
config.*
configure
/ABOUT-NLS
autom4te*
*.swp
aclocal.m4
compile
depcomp
GITVERSION
install-sh
intltool-extract*
intltool-merge*
intltool-update*
*.bz2
*.gz
*.xz
ltmain.sh
/m4/
missing
mkinstalldirs
/INSTALL
pixmaps/*/im-sipe.*
po/Makevars.template
po/POTFILES
po/Rules-quot
po/stamp-it
po/*.header
po/*.sed
po/*.sin
*.gmo
src/*/*.o
src/adium/adium-frameworks
src/adium/SIPEAdiumPlugin.xcodeproj/project.pbxproj-e
src/adium/SIPEAdiumPlugin.xcodeproj/project.xcworkspace/
src/adium/SIPEAdiumPlugin.xcodeproj/xcuserdata/
src/core/sipe-rtf.c
src/core/*_tests
src/core/sipe_ntlm_analyzer
src/core/sipe_tls_analyzer
src/core/sipe_tls_tester
src/purple/tests
src/purple/tests_load
src/telepathy/telepathy-sipe
src/telepathy/data/org.freedesktop.Telepathy.ConnectionManager.sipe.service
stamp-h1
siplcs.vcxproj.user
test-driver
ylwrap
*.trs
*.DS_Store
adium/SIPEAdiumPlugin.xcodeproj/project.xcworkspace/*
adium/SIPEAdiumPlugin.xcodeproj/xcuserdata/*
================================================
FILE: .tx/config
================================================
[main]
host = https://www.transifex.com
[pidgin-sipe.mob]
file_filter = po/<lang>.po
source_file = po/pidgin-sipe.pot
source_lang = en
================================================
FILE: AUTHORS
================================================
Maintainers:
Stefan Becker <chemobejk at gmail dot com>
Jakub Adam <jakub dot adam at ktknet dot cz>
Retired Maintainers:
Jochen De Smet <jochen dot siplcs at leahnim dot org> (Miranda port)
Michael Lamb <mlamb1976 at yahoo dot com> (Adium port)
Anibal Avelar <debianmx at gmail dot com>
Tomáš Hrabčík <tomas dot hrabcik at tieto dot com>
pier11 <pier11 at operamail dot com>
Gabriel Burt <gburt at novell dot com>
Daniel Beichl <daniel_beichl at gmx dot net>
Other Contributors:
Jakub 'jimmac' Steiner <jimmac at gmail dot com> (icon artwork)
Harris Kauffman <harris dot kauffman at gmail dot com> (Adium port)
Matt Meissner <meissnem at gmail dot com> (Adium port)
Michael Steffens <michael_steffens at gmx dot net>
Carl Seutter <cseutter at sbcglobal dot net>
Sean E. Millichamp <sean at bruenor dot org>
Andrew Rechenberg <therealdjflux at gmail dot com>
Matthias Scharrer <matthias dot scharrer at gmail dot com>
Garett Shulman <garett dot shulman at gmail dot com>
Tyson Vinson <lornoss at gmail dot com>
Andrew Schenck <lane_andrew at hotmail dot com>
Ivan Frade <ivan at kustu at (none)>
Jay (Rhyas) <biteme at scream at com>
John Beranek <john at redux dot org dot uk>
David Woodhouse <David dot Woodhouse at intel dot com>
Edmondas Girkantas <eg at fbsd dot lt>
Peter Fales
Kyle Hubert <khubert at lottle dot net>
Andrey Vaynberger <platerx at gmail dot com>
Michael Olbrich <m dot olbrich at pengutronix dot de>
Based on the initial SIP/SIMPLE gaim protocol plugin by:
Thomas Butter <butter at uni-mannheim dot de>
Translators:
Please check the "Translators:" section in the po/*.po files.
================================================
FILE: COPYING
================================================
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
================================================
FILE: ChangeLog
================================================
version 1.25.1 "???" (????-??-??)
- Fixed #359: Incorrect build due to false negative configure checks (Stefan Becker)
- refactor --enable-quality-check (Stefan Becker)
version 1.25.0 "Buddy Idle Time, RTF" (2019-10-12)
- Feature #107: Provide idle start time for a buddy (Stefan Becker)
- Feature #77: RTF support (incoming) (Stefan Becker)
* the code only extracts plain text from incoming RTF
- Fixed #358: FTBFS with glib-2.0 >= 2.62.0 (Stefan Becker)
- Fixed #350: Inconsistent parsing of From:/To: headers (Stefan Becker)
- raise BR telepathy-glib >= 0.24.0 (Stefan Becker)
- switch from GPLv2+ to SPDX identifier GPL-2.0-or-later (Stefan Becker)
version 1.24.0 "Application Sharing II" (2018-11-10)
- Feature #104: Use user agent also for HTTP (Stefan Becker)
- Feature #6: Application Sharing Server (Jakub Adam)
* requires freerdp-shadow2
- Fixed #343: Build fails on FreeBSD
- add timeout handling for media streams (Alaoui Youness)
- update AppStream handling (Jakub Adam, Stefan Becker)
- fix missing localisation in some code modules (Stefan Becker)
- debug log improvements (Stefan Becker)
version 1.23.3 "Bug Fixes III" (2018-08-20)
- appshare: fix black screen with Remmina v1.2.0-rcgit.27 (Jakub Adam)
- various minor fixes (Jakub Adam, Michael Olbrich)
- fix compilation errors with libpurple 2.14.0 & GCC 8.0 (Jakub Adam, Stefan Becker)
- mingw: update fetch script to Pidgin 2.13.0 (Stefan Becker)
version 1.23.2 "Bug Fixes II" (2018-03-10)
- fix some HTTP requests that were not sent (Jakub Adam, Stefan Becker)
version 1.23.1 "Bug Fixes I" (2018-02-25)
- Fixed #338: Incorrect port 0 for IPv6 socket on Windows (Stefan Becker)
- Fixed #337: Duplicate candidates in SDP (Jakub Adam, Stefan Becker)
- Fixed #336: Lync autodiscover does not follow user redirect (Stefan Becker)
- media: unconditionally ignore multichannel codecs (Jakub Adam)
- updated translations: Turkish (tr)
version 1.23.0 "D-Bus, IPv6, OS X 10.11+" (2017-10-28)
- Feature #101: Mac OS X 10.13 OpenSSL support (Stefan Becker)
- Feature #100: Extend libpurple D-Bus interface (Stefan Becker)
- Feature #99: IPv6 addresses in SIP & SDP messages (Stefan Becker)
- Feature #96: Support for OS X 10.11+ SDK (Stefan Becker)
- don't load buddy photos from unknown sites by default (Jakub Adam, Stefan Becker)
* custom web URIs pose a security risk as they may be abused
* users can override this behaviour in the account settings
* Office365 accounts should not be affected by this change
- add support for GMime 3.0 API (Stefan Becker)
- raise BR glib-2.0 >= 2.18.0 (Stefan Becker)
- raise BR purple >= 2.7.0 (Stefan Becker)
- drop support for GMime 2.4 (Stefan Becker)
- drop support for gstreamer-0.10 (Stefan Becker)
version 1.22.1 "Bug Fixes I" (2017-06-11)
- Fixed #320: Multiple client detection broken (Stefan Becker)
- speed up Lync Autodiscover by using AccessLocation (Andrey Vaynberger)
- adium: update build instructions for Xcode 7.x or newer (Stefan Becker)
* the build environment used for releases 1.22.0 or older (Xcode 6.x
on OS X 10.11) is no longer available to the project
* releases starting with 1.22.1 will use Xcode 8.x on macOS 10.12
* build target continues to be OS X 10.9
- purple: avoid rare SSL read deadlock (Stefan Becker)
- various minor fixes (Michael Olbrich)
- crypto: make code compile with OpenSSL 1.1.0 (Stefan Becker)
- drop references to Reuters Messaging (Stefan Becker)
- updated translations: Lithuanian (lt), Russian (ru), Swedish (sv), Turkish (tr)
version 1.22.0 "Application Sharing, Lync Autodiscover & Logging" (2017-02-01)
- Feature #93: Support for Lync Autodiscover (Stefan Becker)
- Feature #6: Application Sharing Viewer (Jakub Adam)
* requires libpurple >= 2.12.0
* needs an external RDP client - remmina and xfreerdp are supported
- Fixed #315: Crash when contact list is empty (Stefan Becker)
- Fixed #314: sipe login problems with long pw (Stefan Becker)
- separate logging and debugging output (Stefan Becker)
* logging is always shown, e.g. in the Pidgin debug window
* full message debugging now requires PURPLE_UNSAFE_DEBUG=1
- new translations: Greek (el), Lithuanian (lt)
version 1.21.1 "Bug Fixes I" (2016-05-28)
- various bug fixes in media support (Jakub Adam)
- configure no longer ignores CFLAGS/LDFLAGS/LIBS (Stefan Becker)
version 1.21.0 "Lync File Transfer" (2016-04-23)
- Feature #91: Support embedded XML as buddy photo URL (Stefan Becker)
- Feature #90: Add AppStream metadata file (Jiri Eischmann, Stefan Becker)
- Feature #89: Improve "Join scheduled conference" dialog (Stefan Becker)
- Feature #87: Support multiple HTTP cookies (Stefan Becker)
- Feature #85: XML raw extract should ignore name space (Stefan Becker)
- Fixed #311: Crash when SIP transport becomes invalid (Stefan Becker)
- Fixed #293: Mandatory wsa:MessageID node missing (Stefan Becker)
- add support for Lync File Transfer protocol (Jakub Adam)
* requires libpurple >= 2.12.0
* Lync FT will be used for sending files when Lync 2013 is detected
- add build options to "About SIPE plugin" message (Stefan Becker)
version 1.20.1 "Bug Fixes I" (2015-10-24)
- add support for another type of ADFS response (Stefan Becker)
- improve configure check for back-ported features (Stefan Becker, Jakub Adam)
- updated translations: French (fr), Russian (ru)
version 1.20.0 "SRTP, Conference URL & TLS-DSK Improvements" (2015-08-29)
- Feature #82: Parse HTML from Lync conference URL (Stefan Becker)
- Feature #69: SRTP Support (Jakub Adam)
* requires libpurple >= 3.0.0
- Fixed #285: Office365 rejects RC4 in TLS-DSK (Stefan Becker)
* added support for AES-128/256-CBC
version 1.19.1 "Bug Fixes I" (2015-04-04)
- Fixed #278: 488 error after libnice upgrade (Jakub Adam)
- fix SIP re-authentication timeout to be max. 8 hours (Stefan Becker)
version 1.19.0 "Auto Authentication, MFA & Search Improvements" (2015-02-07)
- Feature #80: Move parsing of login name (Stefan Becker)
- Feature #79: support for Adium group chat bookmarks (David Matz, Stefan Becker)
- Feature #78: Support searching for SIP ID (Stefan Becker)
- Feature #76: ADFS can't always be used (Stefan Becker)
* for accounts that have Multi-Factor Authentication (MFA) enabled
- Feature #73: Support buddy photos from contactCard (Stefan Becker)
- Feature #65: Fall back from Kerberos to NTLM (Stefan Becker)
- Fixed #277: Raised contact names (Stefan Becker)
- Fixed #240: Corrupted HTTP response crashes SIPE (Stefan Becker)
- fix calendar state machine when EWS URL is set (Stefan Becker)
- fall back to [MS-DLX] BasicSearch to improve search experience (Stefan Becker, various)
- implement search functionality for UCS (Stefan Becker)
- adium: add chat room list UI (David Matz)
- adium: fix duplicate debug log messages (Stefan Becker)
- support for libnice TCP mode (Youness Alaoul, Jakub Adam)
- refactor CCCP request code (Jakub Adam)
version 1.18.5 "Bug Fixes V" (2014-12-29)
- Fixed #276: Redundant "const" breaks build with clang (Stefan Becker)
- Fixed #269: purple idle-away converted to Away (Stefan Becker)
- svc: use authuser for RealmInfo request (Stefan Becker)
- adium: add release checking script (Stefan Becker)
- mingw: update fetch script to Pidgin 2.10.11 (Stefan Becker)
- updated translations: Italian (it), Swedish (sv)
version 1.18.4 "Bug Fixes IV" (2014-10-18)
- Fixed #263: ADFS fails when user and login name differ (Stefan Becker)
- Fixed #262: Adium: SIPE doesn't auto- or re-connect (Stefan Becker)
- fixed memory leaks (Stefan Becker)
- fixed processing of presence publish event response (John Zhang, Stefan Becker)
* fixes a longstanding issue that the Pidgin user status sometimes
didn't switch back to "Available" after the end of a meeting
version 1.18.3 "Bug Fixes III" (2014-08-16)
- Fixed #259: HTML response to EWS autodiscover triggers libxml2 assert (Stefan Becker)
- Fixed #258: V&V call gets rejected when IPv6 is enabled (Stefan Becker, Jakub Adam)
- Fixed #257: Windows 7: SIPE crashes after a minute (Stefan Becker)
- mingw: improve crash information reporting (Stefan Becker)
version 1.18.2 "Bug Fixes II" (2014-06-07)
- Fixed #255: Crash when PersistentChat sends BYE instead of response (Stefan Becker)
- Fixed #248: Remove libpurple SSL configure check (Stefan Becker)
- Fixed #245: "Unable to resolve DNS SRV record" error when joining conference (Stefan Becker)
- Fixed #241: Adium filters ":" from "sip:" (Stefan Becker)
- Fixed #210: Conference call ends with error message (for real this time, Jakub Adam)
- ews: extract settings also from type EXPR (Stefan Becker)
- ucs: honor user specified email URL (Stefan Becker)
- adium: fix compilation on OS X 10.7 (Stefan Becker)
- updated Transifex URLs (Stefan Becker)
- updated translations: Hindi (hi), Telugu (te)
version 1.18.1 "Bug Fixes I" (2014-04-12)
- Fixed #238: False "not delivered" in conference (Stefan Becker)
- Fixed #237: HTML escaping not removed from URL (Stefan Becker)
- Fixed #210: Conference call ends with error message (Jakub Adam)
- fix endless loop with failed HTTP Basic authentication (Stefan Becker)
- fix crash when gstreamer nice plugin is missing (Stefan Becker, Jakub Adam)
- fix EWS autodiscover for some Office 365 users (Stefan Becker)
- purple: fix missing "Copy to" in buddy menu (Stefan Becker)
- purple/adium: ignore empty search values (Stefan Becker)
- adium: fix group chat UI (Stefan Becker)
- adium: implement BEAST mitigations for 10.8.5 (Michael Lamb)
- add indication when user is connected from a mobile device (Harris Kauffman)
- updated translations: Chinese (zh_CN), Portuguese (pt)
version 1.18.0 "Adium, GSS-NTLMSSP & OpenSSL" (2014-01-11)
- Feature #71: Add support for EWS Autodiscover redirection (Stefan Becker)
- Feature #69: Add UI support for (group) chats (Michael Lamb)
* NOTE: Adium does not have an UI to fetch the room list
- Feature #64: Add support for GSS-NTLMSSP (Stefan Becker)
* sip-sec-krb5.c module has been renamed to sip-sec-gssapi.c
* if gssapi/gssapi_ntlmssp.h is detected then sip-sec-ntlm.c will
be disabled and NTLM will be handled by sip-sec-gssapi.c instead
* NOTE: at the time of this writing the user has to set up
GSS-NTLMSSP by hand on his system, i.e. /etc/gss/mech
- Fixed #227: Adium client doesn't save email option settings (Harris P. Kauffman)
- Fixed #216: SIPE stops working on Mavericks (Stefan Becker, Michael Lamb)
* add an UI option to disable SSL BEAST mitigations
* NOTE: requires Adium 1.5.10
- Fixed #197: Account stays in connecting stage (Harris P. Kauffman)
- cleanup for sip-sec Kerberos & SSPI modules (Stefan Becker)
* replace old TGT hack with gss_acquire_cred_with_password()
* clean up Kerberos detection in configure
* remove special case handling; code is more straight-forward now
* thanks to David Woodhouse and Simo Sorce for the GSSAPI information
- implement internal keepalive handling (Stefan Becker)
- implement crypto backend based on OpenSSL (Stefan Becker)
- adium: Xcode project files update (Michael Lamb)
- adium: replace NSS crypto backend with OpenSSL (Stefan Becker)
* NOTE: please make sure to read the updated build instructions!
version 1.17.3 "Bug Fixes III" (2013-12-11)
- Fixed #225: HTTP re-authentication with NTLM fails (Stefan Becker)
- Fixed #222: SIPE crashes when groupchat session expires (Stefan Becker)
- fix UCS Persona key extraction (Stefan Becker)
version 1.17.2 "Bug Fixes II" (2013-11-30)
- Fixed #214: Typing notification does not always work (Stefan Becker)
* reverted one change which caused problems for some users
- Fixed #222: SIPE crashes when groupchat session expires (Stefan Becker)
- updated translations: Romanian (ro)
version 1.17.1 "Bug Fixes I" (2013-11-16)
- Fixed #215: Password not entity encoded in WSSE element (Stefan Becker)
- Fixed #214: Typing notification does not always work (Stefan Becker)
- accept alternatives for webticket timestamp/keydata (Stefan Becker)
- adium: add "don't publish calendar" to account UI (Stefan Becker)
- contrib: add SSL BEAST mitigation patch for Adium (Stefan Becker)
- updated translations: French (fr)
version 1.17.0 "Lync 2013" (2013-09-21)
- Feature #62: Support for Lync 2013 Unified Contact Store (Stefan Becker)
- Feature #59: Support for Lync 2013 Persistent Chats (Stefan Becker)
- Fixed #211: Status "away" or "busy" incorrectly mapped to "Invisible" (Michael Lamb)
- Fixed #209: group chat doesn't like HTML (Stefan Becker)
- Fixed #200: OCS archiving system blocks audio/video connection (Jakub Adam)
- Fixed #187: Duplicate messages in group chat (Stefan Becker)
- Fixed #184: Duplicate users showing in Group Chat (Stefan Becker)
- fix EWS autodiscover for Office 365 (Stefan Becker)
- add support for group chat history (Stefan Becker)
- add support for buddy photos on Lync 2013 (Stefan Becker)
version 1.16.1 "Bug Fixes I" (2013-07-13)
- Feature #66: Windows DLL version information (Stefan Becker)
- fix call failure when host has multiple IP addresses (Jakub Adam)
- fix buddy list handling after moving to Lync 2013 (Stefan Becker)
* Lync 2013 migrates buddy list to Unified Contact Store (UCS)
* NOTE: modifying the buddy list is *NOT* supported yet!
- crash fixes for new HTTP stack (Stefan Becker)
version 1.16.0 "HTTP Rewrite & Subscription Fixes" (2013-06-14)
- Feature #58: Implement Digest authentication scheme for SIP Proxy Authentication (Stefan Becker)
- Fixed #196: Useragent value not forwarded to core (Michael Lamb)
- Fixed #193: Pidgin Status changes stop working (Stefan Becker)
- Fixed #186: Users appear offline when they are not (Stefan Becker)
- fix kinit-less use case with krb5 >= 1.11 (Stefan Becker)
- rewritten HTTP stack from scratch (Stefan Becker)
* cleaner, layered and hopefully less error-prone implementation
* HTTP stack internals no longer exposed to user code
* reduced network traffic and less SSL handshakes by utilizing HTTP/1.1
connection keep alive for multiple HTTP requests to the same host
- switch purple backend to deferred destruction approach (Stefan Becker)
* Pidgin should no longer crash at connection close, even in corner cases
- add menu entry to make a call with a phone number (Jakub Adam)
- some progress on telepathy backend (Stefan Becker)
* add TLS certificate accept/reject user interaction
* add "Single Sign-On" & "Don't Publish Calendar" account options
version 1.15.1 "Bug Fixes I" (2013-04-07)
- NOTE: SIPE SourceForge project got updated. Because of this all bug
and feature request numbers have changed.
- Fixed #190: SIP 407 response rejected with invalid message signature (Stefan Becker)
- Fixed #189: Adium SIPE plugin vs. libpurple linking issues (Michael Lamb)
- fixed free-after-use issue that caused crashes for some users (Stefan Becker)
- fixed broken NTLM fallback in Negotiate (Stefan Becker)
- fixed subscriptions expiration by subscribing again after re-authentication (Stefan Becker)
- allow different user name and login for Office 365 authentication (Stefan Becker)
- add SIPE version & git commit ID to debug log (Stefan Becker)
- added valgrind log analyzer script (Stefan Becker)
- added NTLM message anaylzer (Stefan Becker)
- updated translations: Hungarion (hu), Romanian (ro)
- updated Adium port (Michael Lamb, Harris P. Kauffman)
version 1.15.0 "Authentication & Autodiscovery Update" (2013-03-09)
- Feature #3578135: Support Kerberos for HTTP(S) authentication w/o SSPI (Stefan Becker)
* effective for all platforms that support --with-krb5
* this triggered a series of cleanup & simplification changes and
functionality & memory leak fixes in the sip-sec modules
* special thanks to Jarek Polok for the logs and testing
- Feature #3594094: Add HTTPS to autodiscover probe (Stefan Becker)
- Feature #3607040: Simple button to disable calendar integration (Stefan Becker)
- Fixed #3603228: Crash on 1.14.1 when connecting to server (Stefan Becker)
- Fixed #3604671: sip uri with apostrophe is not valid (Stefan Becker)
- fixed HTTP redirect crash (Stefan Becker)
- unified Single Sign-On handling in all places (Stefan Becker)
* if SSO is enabled then "Login" & "Password" settings are ignored
* SSO is now off by default for new accounts
* NOTE: if you do *NOT* use SSO, then be sure to disable it in the
"Advanced" tab of the account settings after updating!
- added implementation for HTTP "WWW-Authenticate: Negotiate" scheme (Stefan Becker)
* effective for all platforms that support --with-krb5
* it will try Kerberos first, then fall back to NTLM
* valid Kerberos Single Sign-On setup will be detected automatically
* setup for a mixed Kerberos/NTLM HTTP environment:
- login name: DOMAIN\account
- password: domain password
- authentication: Kerberos
- Single Sign-On: OFF(!) (see above)
- enabled TLS-DSK support in Windows SSPI version
- TLS-DSK: don't ask for password if SSPI or Kerberos are compiled in
- Farstream 0.1.1 compatibility fix (Jakub Adam)
- support conf:sip: meeting URIs (Jakub Adam)
- updated Adium port (Michael Lamb)
version 1.14.1 "Bug Fixes I" (2012-12-26)
- Feature #3578132: Kerberos configuration should be passwordless (Stefan Becker)
* purple: non Single Sign-on users are asked for the password again
- bug & memory leak fixes in sipe-buddy.c (Jakub Adam)
version 1.14.0 "Buddy photo & ADFS support, Web Ticket Optimizations" (2012-12-16)
- Feature #3585364: Add support for Web Ticket authentication using ADFS (Stefan Becker)
* special thanks to user bhakta79 for the hard work taking logs
- Feature #3578132: Kerberos configuration should be passwordless (Stefan Becker)
- Fixed #3580212: Connection drops after a few hours (Stefan Becker)
- add support for buddy photos (Jakub Adam)
- add support for call to Audio Test Service (Jakub Adam)
- initial implementation for telepathy backend (Stefan Becker)
* nothing much to see for end users yet...
- reduce Web Ticket traffic by queueing requests & caching tickets (Stefan Becker)
- update OBS packaging information for Debian (Stefan Becker)
- various minor bug & build fixes
version 1.13.3 "Bug Fixes III" (2012-08-19)
- Fixed #3537084: OpenBSD build issue (Stefan Becker)
- Fixed #3543294: Support Lync 2010 meet URLs (Jakub Adam)
- revert to legacy MSOC protocol on Lync FT invitation (Jakub Adam)
- fix broken busy->available status switch (Stefan Becker)
- updated translations: Portuguese (pt)
version 1.13.2 "Bug Fixes II" (2012-06-10)
- tls: fix buffer overrun (Oleksandr Hryshchuk, Stefan Becker)
- win32: fix TCP connections (Stefan Becker)
- nsis: fix broken locale installation (Stefan Becker)
- updated translations: French (fr)
- various build fixes (Stefan Becker, Jakub Adam)
version 1.13.1 "Bug Fixes I" (2012-04-09)
- detect incompatible encryption level with Lync (Jakub Adam)
- purple: add URI validity check to Add Buddy callback (Stefan Becker)
- new translations: Romanian (ro), Turkish (tr)
- various build fixes (Stefan Becker)
version 1.13.0 "Lync & Office365" (2012-03-14)
- added [MS-SIPAE] TLS-DSK authentication scheme (Stefan Becker)
* TLS-DSK has been introduced in Lync
* mandatory for Office365 accounts
* also works for non-public Lync installations
* does not work yet with SSPI on Windows
- added [MS-DLX] based Get Info/Contact Search (Stefan Becker)
* [MS-PRES] SIP-Based Active Directory Search is disabled in Lync
- added experimental media TCP transport (Jakub Adam)
- make it compile against the latest purple 3.0.x API (Stefan Becker)
- make it compile against the latest glib2 2.31.x API (Stefan Becker)
- completed cleanup: core no longer requires libpurple (Stefan Becker)
- refactored crypto code, ie. NSS can replaced if necessary (Stefan Becker)
- sipe-domino.c is no longer built under UNIX to remove dead code (Stefan Becker)
- restricted XXX_CFLAGS to modules that need them (Stefan Becker)
- NSS is now a mandatory build requirement (Stefan Becker)
- decoupled SSPI from HAVE_LIBKRB5 flag. New flag is HAVE_SSPI (Stefan Becker)
- OBS mingw packages now use SSPI instead of NTLM (Stefan Becker)
- added NSIS package generation to OBS mingw packages (Stefan Becker)
- removed kopete backend. KDE is moving to telepathy (Stefan Becker)
- added MinGW cross-compilation on Linux instructions (Stefan Becker)
version 1.12.0 "Group Chat" (2011-08-29)
- Feature #3064877: Add support for OCS2007R2 Group Chat (Stefan Becker)
- Feature #3311026: Support for HTTP/1.1 Transfer-Encoding: chunked (Stefan Becker)
- Fixed #2834758: First NTLM signature check after startup fails (Stefan Becker)
- Fixed #3082602: Crash on Autodiscover (Stefan Becker)
- Fixed #3090663: Re-authentication fails (Stefan Becker)
- Fixed #3092324: Core dump in "make check" (psfales)
- Fixed #3130915: Failed to authenticate to server (Stefan Becker)
- Fixed #3148124: sipe segfaults during login on Solaris (Jakub Adam)
- Fixed #3150482: "configure --with-vv" test uses wrong include (Stefan Becker)
- Fixed #3156430: Messages not Delivered (rwinchsf, Stefan Becker)
- Fixed #3161273: Lost Connection Gives No Error Message (rwinchsf, Stefan Becker)
- Fixed #3198585: Extra line breaks (Stefan Becker)
- Fixed #3267073: False "could not be delivered" errors (sort of..., Stefan Becker)
- Fixed #3399007: Crash when sipe_cal_working_hours->days_of_week is NULL (Stefan Becker)
- Patch #3091490: Make 1.11.0 Compile on FreeBSD (jprather)
- Patch #3108246: Patch for better windows installer (archrival, galiven)
- add random Ms-Conversation-ID to INVITE (Jakub Adam)
- fix parsing of P-Asserted-Identity header (Jakub Adam)
- added MS TURN support (Jakub Adam)
- fix crash on zero length password in NTLM (Vladimir Ushakov)
- implement timeouts for SIP request. Used for REGISTER (Stefan Becker)
- more work on Voice & Video call support (Jakub Adam)
- make it compile against the purple 2.8.x & 3.0.x APIs (Stefan Becker)
- more internal changes to prepare for non-purple backends (Stefan Becker)
- added integration for transifex.net update (Stefan Becker)
- configure improvements for 64-bit: use libdir, gsize/size_t compatibility (Stefan Becker)
- update compiler warnings configuration for all build platforms (Stefan Becker)
- updated Adium port (Matthew Duggan)
- mingw build updates (Harris P. Kauffman, Stefan Becker)
- added miranda port (Jochen De Smet)
- added mingw to OpenSUSE Build Service configuration (Stefan Becker)
version 1.11.2 "Hot fixes II" (2010-11-02)
- Revert "mingw: add missing purple-notify.c to build" (Anibal Avelar)
- Sipe-sign: fix parsing of P-Asserted-Identity header (Jakub Adam)
- Fixed memory leaks (Stefan Becker)
- Fix #3090663: Re-authentication fails (Stefan Becker)
- Fix #3090663: Re-authentication fails (2nd attempt) (Stefan Becker)
- Fix #3090663: Re-authentication fails (3rd attempt) (Stefan Becker)
- Fix #3090663: Re-authentication fails (4th attempt) (Stefan Becker)
- Apply patch #3091490: Make 1.11.0 Compile on FreeBSD (jprather)
- Fix #3092324: Core dump in "make check" (Stefan Becker)
version 1.11.1 "Hot fixes" (2010-10-24)
- mingw: add missing purple-notify.c to build (Stefan Becker)
- Fix for bug #2834758: First NTLM signature check after startup fails
- purple: fix memory leak in sipe_backend_transport_connect() error path
- Fix for bug #3082602: Crash on Autodiscover (Stefan Becker)
- configure: use libdir & datadir instead of prefix + path (Stefan Becker)
- configure: update 32-bit vs. 64-bit header conflict test (Stefan Becker)
- debian: build stability fix in post-install (Stefan Becker)
version 1.11.0 "Lotus Domino/Calendar & Voice Call" (2010-10-04)
- Feature #2859239: Voice call support (Jakub Adam)
* requires updated versions of libnice, farsight & pidgin
* only unencrypted calls as SRTP support is missing in farsight
- Feature #2945346: Lotus Notes/Domino Calendar integration (pier11):
* Sipe can now retrieve calendar data (Meeting schedule/subject/
location) from a web-enabled Lotus Domino server and publish it to
OCS2007/LCS2005 as availability information.
* Example: "Calendar: Currently Busy. Free at 11:30".
* Team members (contacts with access level Team) will be able to see
information about our current meeting (subject & location) (OCS2007).
* First calendar update is scheduled 1 minute after connect,
* Subsequent calendar updates happen in 30 minute intervals.
* Manual calendar update can be triggered using the following menu:
Accounts->{SIPE_ACCOUNT}->"Republish Calendar"
* Though Domino integration can work without any additional settings
in account configuration (on Windows), there are options to manually
provide Domino Services URL and email address/password if it's
different from SIP URI/Password settings on Basic tab.
- Fixed #2971422: idle check for OCS2005 presence case (Stefan Becker)
- Fixed #2982424: krb5 build errors on FreeBSD (Stefan Becker)
- Fixed #2997639: pidgin crash after accepting cert (Stefan Becker)
- Fixed #3001523: Cancelling a long pending file transfer crashes Pidgin (Jakub Adam)
- Fixed #3002993: Group Name issues with ampersand (Stefan Becker)
- Fixed #3029228: Calendar published at/with incorrect time (Stefan Becker)
- Fixed #3029929: Crash with outlook 2k3 Calendar (Stefan Becker)
- Fix logout from OCS (Jakub Adam)
- Implement workaround for buddy list menu memory leaks (Stefan Becker)
- Dropped UDP transport support (Stefan Becker)
- Rewrote TCP & TLS transport support (Stefan Becker)
- HTTP improvements: GET, cookies (pier11)
- Alternative crypt/digest implementation based on NSS (pier11)
- Rewrote message debug log and implemented an analyzer script for it (Stefan Becker)
- More internal changes to prepare for non-purple backends (Stefan Becker)
- New translation: Dutch (Flemish) 'nl' (fieona, ridiekel)
- New translation: Swedish 'sv' (Rijad)
- Added translations 'ar' 'hu' 'ja' 'ko' 'sv' 'zh_TW' submitted by Novell
- New build option: nss/mozilla-nss/microb-engine-nss for non-purple backends
- Add build option for kopete backend (Stefan Becker)
- mingw build using standard approach, i.e. with auto* tools. (pier11)
- Updated Adium port (Emanuele Zattin)
version 1.10.1 "Bugfix release" (2010-06-27)
- Fix broken sipe_ht_equals_nick(); the broken code has been in the 1.10.0 release. As it affects the buddy list it could be the root cause for some of the "buddy appears offline" reports. (Stefan Becker)
- Make it compile against the final purple 2.7.0 API; (Stefan Becker)
version 1.10.0 "Access Levels" (2010-04-04)
- Feature #2823160: Access Levels (2007+ environment). The functionality is available through contact's context menu "Access level" and also presented on contact's tooltip. Current individual access level is marked with star (*), current group access level is marked with equals sign (=). (pier11)
- Feature #2957811: add support for "automaton" class (Stefan Becker)
- Feature #2972823: fail on in-line variable declarations (Stefan Becker)
- Fixed #2971422: handle OCS 2005 idiosyncrasy of varying SIP URI case (pier11)
- Fixed #2981563: Authentication protocol v4 - invalid signature of some incoming messages containing P-Asserted-Identity or P-Preferred-Identity with uppercased SIP or TEL in URI. (pier11)
- Fixed publication/"409 Conflict" endless looping (Stefan Becker, pier11)
- Prepare for Pidgin 2.7.0 (Stefan Becker, pier11)
- Windows build updated to gtk+2.14, gettext 0.17, libxml2 2.7.4, gcc 4.4 (pier11)
- Added SVG icon artwork (Jakub 'jimmac' Steiner)
- Many changes to configure script. Be sure to look at "configure --help"! (Stefan Becker)
- Many internal changes to prepare for non-purple backends (Stefan Becker)
- New build requirements: libxml2, glib-2.0 >= 2.12.0
- New build option: gmime-2.4 >= 2.4.16 or gmime-2.6 >= 2.5.2 for non-purple backends
version 1.9.1 "Hot fixes" (2010-03-16)
- Fixed #2969327: Kerberos authentication always fails on *nix platforms (pier11)
- Fixed #2968287: Authentication failure in scenario when director server is Office Communications Server 2007 or above and home server is Live Communications Server 2005 (pier11)
- Send BYE when response to IM message is 408/480/481 (Stefan Becker)
- Re-enable offline status to be user settable (Stefan Becker)
version 1.9.0 "File transfer & NTLMv2" (2010-03-10)
***** Important Security Update for *nix users *****
- Contributed File transfer functionality. File encryption is supported. (Jakub Adam, Tomáš Hrabčík)
- NTLMv2 and NTLMv2 Session Security support (pier11)
- Implemented SIP Authentication Extensions protocol version 4 and 3 (pier11)
- Adoption for commercial UNIX - HP/UX, Irix, Solaris - big endian fixes and build improvements (Peter Fales, Stefan Becker)
- Packaged for Maemo platform (Nokia N900, etc.) at Maemo.org. Works with Pidgin from the same site. (Stefan Becker)
- Adoption of file transfer for Windows build (pier11)
- Official Debian package files in contrib (Anibal Avelar)
- another shot at presence update problems (Stefan Becker)
- fix crash caused by uninitialized security contexts (Stefan Becker)
- Code analysis with Coverity Prevent. (Stefan Becker)
- Updated translations: 'ru' (100%, pier11), 'de' (100%, Stefan Becker)
'es' & 'pt_BR' (100%, Anibal Avelar)
- Fix for "SIP/2.0 481 Call leg unavailable" error (Anibal Avelar)
- Increased libpurple build requisite to >= 2.4.0
version 1.8.1 "Exchange/Calendar crash fixes" (2010-02-16)
- many crash fixes for error or corner cases in calendar integration (pier11, Stefan Becker)
- more detailed code analysis with Coverity Prevent (Stefan Becker)
- build fixes for older libpurple/glib2 versions (pier11)
- OpenSUSE Build Service configuration files (pier11)
- Fix NTLM crash if login setting is undefined (pier11)
- Use of g_str_has_prefix() available since glib 2.2 and null-safe (pier11)
version 1.8.0 "Exchange/Calendar" (2010-02-07)
- Added integration with Exchange 2007/2010. Now Sipe retrieve our Calendar data (Free/Busy, Working Hours, Meeting Subject/Location, Out-of-Office Note) from Exchange Web Services and publishes it to OCS2007/LCS2005. Thus our contacts can see our availability information based on Calendar data. For example: "Calendar: Currently Busy. Free at 11:30" or "Calendar: Currently Free. Outside of working hours at 18:00". Contacts will also see our Out-of-Office message if it's enabled in Exchange/Outlook. Team members (contacts with access level Team) will be able to see information about our current meeting - subject and location (OCS2007).
First call to Exchange is scheduled with 1 minute delay after Sipe start. Subsequent update intervals are 30 minutes. There is a way to manually trigger Calendar data update: Accounts->{SIPE_ACCOUNT}->"Republish Calendar" menu option.
Though Exchange integration can work without any additional settings in account configuration, there are options to manually provide email address if it's different from SIP URI, Exchange Services URI, email account authentication if it is different from configuration on Basic tab. (pier11)
- Added Calendar information to contact's tooltip. You can see it like "Calendar: Currently Tentative. Busy at 11:30" or "Calendar: Outside of working hours for next 8 hours". (pier11)
- 2005 presence engine has been completely rewritten. Now it supports "Do not disturb" status(taken from UserState), "In a meetinfg" status (taken from Calendar stream data, and most importantly changing autonomously in line with the stream). "In a meeting" activity reflects scheduled times of activities in Outlook/Exchange with Busy state. Updated 2007 presence engine too. Pidgin Statusbox now reflects last status and note set by our other points of presence; also updates according to our Calendar state (i.e without manual action); displays our Out-of-Office message if any. (pier11)
- Added "Accounts->{SIPE_ACCOUNT}->Status Reset" menu option to clean User Status set manually. The latter can override Calendar status for example. (pier11)
- Added "Find on LinkedIn" link on contact's User Info screen for more in-depth information about your contact if available. Both SIPE and LinkedIn.com professional network belong to enterprise domain, so match is quite good. (pier11)
- Enhanced custom NTLM security provider to pass connection-oriented authentication. Used in Web authentication, for example with Exchange Web Services. In contrast to connectionless (datagram) NTLM authentication type used in SIP. (pier11)
- Added Negotiate authentication scheme (Windows only). Used in HTTP authentication. (pier11)
- Contributed code for Adium port. (Matt Meissner)
- Added Windows Messenger 5.0 (RTC/1.2) compatibility. Though very old, some our clients use it on LCS2005. (pier11)
- New BusyIdle status. (pier11)
- Placed Sipe to Transifex.net translation portal allowing easily add/modify translations through web interface. (Stefan Becker)
- Updated Sipe About screen ("Accounts->{SIPE_ACCOUNT}->About SIPE plugin") with our translation page. (pier11)
- New translation: Polish 'pl' (Piotr Drąg)
- Updated translations: 'zh_CN' (Kang Kai), 'ru' (pier11) and 'de' (Stefan Becker)
- Static/dynamic code analysis with Coverity Prevent, memory leaks fixes (Stefan Becker)
- Fixed memory leaks found with cppcheck (http://sourceforge.net/projects/cppcheck) (Edmondas Girkantas)
- Fixed localization on Windows platform(!) Now translations are shown. (pier11)
- Fix for #2907567 Note parsing issue. Incoming html markup (like < symbol) could wierdly rerender Pidgin's contacts list UI - for example to "rename" contact, or even replace contact name by group name.
- Fix for #2908830 Federated contacts appear to be broken. 2005 Public IM Connectivity (PIC) environment. (pier11)
- Fix crash when SSL connect fails (Stefan Becker)
- Fix for server auto-discovery (Anibal Avelar)
- Fix for #2912926 crash on exist. Caused by improper CSTA communications. (pier11)
- Fix for xdg-email invocation. (David Woodhouse)
- Fix for SLED 10 compilation. (pier11)
- Fix for OpenSolaris port - #pragma pack() issue. (Stefan Becker)
- Fix compilation without Kerberos (Stefan Becker)
- Fix for User Agent string. (pier11)
- Fix for compilation with Pidgin 2.6.4 and 2.6.5 on mingw. (pier11)
- Fixed #2944156: SIPE Authentication Causes Pidgin Crash(Stefan Becker)
- RPM SPEC: add Epoch: for git packages. (Stefan Becker)
- Remove static link build option, remove unused config.h, other build improvements. (Stefan Becker)
- Make tests compile again; Simplify "make tests" (Stefan Becker)
- Code: Take PURPLE_INIT_PLUGIN into use.(Stefan Becker)
version 1.7.1 (2009-11-19)
- "About SIPE plugin" screen implemented. Accessible as "Accounts->{Your Account}->About SIPE plugin".
- New correct 'User Agent:' header in SIP messages with Purple and Sipe versions, host operating system type and processor architecture as well as OCS version. To take advantage of it - empty your old 'User Agent' setting in the account configuration.
- Version now stored in single place - VERSION file and used for all builds.
- Core - not using bodies for single subscriptions in 2005 environment. Optimized CSeq numbers usage. Beautified debug log output.
- Call Control - session timer for dialog with CSTA. Otherwise session with CSTA got expired after ~30 min due to no refresh. RFC4028.
- Call Control - removing internal alternative phone number from phone string.
- RPM spec file update for CentOS/RHEL 5 - purple-sipe needed a "Group" (John B.)
- Fixed crash in 2005 'New Chat' menu.
- Fixed #2886534 - routing - Request-URI/Route headers. Problem was a re-subscription failure resulting in stopping contacts' status update after approximately 8 hours.
- Fixed #2892842 - interference of conference invite to normal IM dialog on 2007 environment. Incoming BYE from conf invite process used to kill ongoing regular IM dialog with the same user.
- Fixed crash in presense processing on Reuters environment (LSC 2005) on Linux.
- Fixed #2882304 - 'Note' not working with LCS2005
- Fix for the First message in 2005 multiparty chat.
- Fix for initial outgoing messages - some were lost if typed too fast if dialog was not established yet.
- Fixed #2882658 - SIGSEGV in process_incoming_info_csta() - happened on some Cisco-Systems 7 CSTA Gateways.
- Fixes for SLED 10 SP2 and SP3 compilations.
version 1.7.0 "Remote Call Control" (2009-10-19)
- Added integration with PBX (external phones) using CSTA protocol (ECMA TR-87). Users can initiate a call by clicking on contact phones in right-click context menu. This feature should be enabled for user on the server side.
- Added reconnection to chat after disconnection by continue typing in the same open chat window (OCS 2007 only). Feature request #2866630.
- More precise errors shown on message undelivery event.
- Better re-subscription logic for contact status updates.
- 'Out of Office', 'In a Meeting', 'In a Conference', etc. contact activities are shown now in contast's status and tooltip. Also meeting subject and location are shown in 2007 environment if contact is in Team access category.
- New Idle status.
- Added 'Site' to User Info panel. Can be a link to user's corporate directory page or similar.
- Removed message acceptance in incoming INVITE.
- Fixed type errors in sip-sec-ntlm.c for Linux/Unix platforms.
- Added 32- and 64-bit header conflict check to configure.
- Removed libsipe.so from old incorrect installation location. This makes sure that DIY users don't have two copies of libsipe.so.
- Moved libsipe.so to the correct installation directory. The libpurple protocol plugins directory is $(libdir)/purple-2. While the name of the plugin is pidgin-sipe, it works perfectly fine with 'finch' too.
- Rewritten transaction payload handling. This should fix memory leaks in transaction handling.
- Fixed crash on reauthentication when IM window is open not Chat window
- Fixed warnings on compilation.
- Fixed memory leaks.
version 1.6.3 (2009-09-09)
- Added missing krb5-devel BuildRequires to the RPM spec file.
- Cleanup of source code compatibility for libpurple 2.4.x
- Fixed for msrtc statuses, bug #2843985
- Fixed HTML markup in note, bug #2841095
- Fixed a segmentation fauls when the function sipmsg_parse_header backs
a null value.
- Possible fixed a crash when SIPE account added, bug #2844545
- Reduced libpurple build requisite to >= 2.3.1
- Fixed NetBSD compilation errors in sipe-utils.c, bug #2847380
- Updated zh_CN translation
- Fixed a crash when pidgin auto-away fires, bug #2849156
version 1.6.2 (2009-08-23)
- Treat of 504 Server time-out error
- Decrease libpurple build prerequisites to >= 2.4.1
- Updated windows build to latest Pidgin 2.6.1
- Fix compilation errors against libpurple >= 2.6.0 API
- Publishing optimization
- Separate storage for subscription dialogs.
- Fixed '409 Conflict' case. We are extracting proper versions of our publications and updating local mirror with them.
- Fixed CSeq for subscription dialog.
- Fixed for unsubscribes
- Fixed for Active Directory search
- Make OCS2007+ conditionals self-documenting
- Fixed compilation problem on 64-bit and NetBSD platforms #2839689
- The 'context' element only for just added subscriptions #2836290
- Removed dependency on com_err.h
- Fixed warnings on compilation.
- Fixed memory leaks.
- Updated "de" translation
version 1.6.1 (2009-08-12)
- Fixed missing backslash in "es" translation file
- Support publication: modular publications
- Support publication: manual vs machine status publication
- Fix timeout calculation in sipe_buddy_subscribe_cb(), make sure timeout is never 0
- Fixed crash in sipe_process_roaming_self()
- Add purple >= 2.5.0 as configuration requirement
- Cleanup username handling in sipe_login()
- Make password mandatory again
- Fixed memory leaks in sipe_login() error paths
- Removed controversial dependency in windows branch used for old MAC code
- Got rid of MAC in epid generation
- Updated "es" translation
- Updated "de" translation
- Cleaned up connection configuration and setup
- More precise treatment of incoming typing info
- Fixed improvements reported in #2833015
- Fixed for "message was not delivered" reported in bug #2832551
- Fixed for CHOWA problems reported in bug #2795132
- Fixed for crash reported in bug #2795132
- Tag all unused function parameters
- Added Empathy support - telepathy-haze config for sipe
- Code around GCC bug on ppc platforms
- License file cleanup
- Fixed ppc64 compilation errors
- Many refinements to the RPM SPEC file
- Added convenience script to (re)build from git repository
- Added convenience script for creating git snapshots
version 1.6.0 "Multiparty Chat" (2009-07-27)
- Multi-party conversation (Chat) functionality for:
+ OCS 2007+ as a conference [MS-CONFBAS], [MS-CONFIM], [MS-CONFPRO];
+ LCS 2005- as a multi-party chat.
- Fixed our status in OCS 2007+ environment as seen by others.
- Asks user if he wants add counterparty which added him to his contact list (OCS 2007+). User dialog wording improvement.
Also defined default group in Add User dialog which appear after user search in catalog.
- More strict compilation warnings treatment.
- Started code split to functional modules.
- Tailored subscriptions for environment - eliminated not needed subscriptions in 2007 environment.
- Fixed session closing on unsuccessful message delivery.
- More correct incoming BYE processing.
- Fixed stealth bug when action payload got freed. Initial bug was that contact could not be removed.
- Fix handling of empty note text in incoming rlmi NOTIFY.
- patch for FreeBSD 7.x by jprather.
- Fix for wrong epid generation on Windows platform in case of missing MAC.
- Fix for Route processing.
- Improvements for compilation under ppc/ppc64 platfolrm.
- Fixed crash if work in non-authenticating environment.
version 1.5.0 "Kerberos" (2009-06-24)
- Fixed bug #2800325 for crash if wrong IP manually typed into Pidgin.
- New Security Framework: dedicated to use plug-able security mechanisms.
+ Added Kerberos/NTLM SSPI for Windows
+ Added Kerberos MIT for Linux
+ Fixed the NTLM native implementation for Linux
- New options on Advanced tab: Use Kerberos and Single Sign-on (for both
kerberos implements).
- Fixed the --with-krb5 compilation option. Now pidgin-sipe can be compiled with krb5 support again.
- To send presence subscribe requests to poolFqdn servers
- Record-Route header can contain multiple routes. For CHOWA clients.
- Fixed 2 bugs with INVITE messages from incoming CHOWA clients.
- FreeBSD compatibility
- Fixed for 'same conversation ID' issue
- Fixed for Reuters(LCS2005) frequent disconnects
- Fixed many warnings on compilation.
- Fixed many potential memory leaks. Thank you Stefan
- Fixed I18n support and sync from launchpad
+ Added 'it' and 'ru' translations
+ Updated 'zh', 'cs', 'es' and 'nb' translations.
version 1.4.1 (2009-06-01)
- Patch for spaces in Login's username
- Fixed bugs #2793431, #2793688 for crash in process_incoming_notify_rlmi_resub
- Fixed the correct presence for contacts with the presenceMode="msrtc".
- Simplify keep alive timeout setting code
- Fixed the resubscription process in LCS2005 and OCS2005.
- Fixed the support for batched subscription
- Fixed a problem when you added a new contact on OCS2007
- Fixed potential memory leaks. Thank you Stefan
version 1.4.0 (2009-05-17)
- Simplified Account Settings Basic screen
- Full support for presence using Batched Category Subscription for
OCS2007. [MS-PRES]
- Full support for presence usgin Batched Simple Subscription for
LCS2005. [MS-SIP]
- Active Directory search for 'Get Info' screen.
- Buddy URI are replaced with Display Name.
- Added non sensitive support between the client and servers answers.
- Support for deregistration [MS-SIPREGE]
- Support for 2007 R2 client message formatting.
- Re-subscription after expiration. LCS2005
- Added escaping to SOAP request parameters
- Implemented a new scheduling system
- Cleanup status id handling
- NOTIFY and BENOTIFY similarly handled
- Implemented piggy-back for buddy subscription.
- Request for functions only supported for each kind of servers
(Allow-Events) OCS2007 and LCS2005. (may be LCS2003?)
- Fixed many warnings on compilation.
- Fixed many potential memory leaks. Thank you Stefan
- Fixed bug #2786479: some messages could not be delivered to all users.
- Fixed bug #2779386: fix for invalid NTLM signature.
version 1.3.4 (2009-04-13)
- Fix segmentation fault caused by redirect
- Added check for zlib.h, com_err and purple version on configure script,
- Added note to tooltip
- Added timeout of security association after eight hours as described
in [MS-SIPAE] 3.2.2 Timers.
- Updates to enable compilation in a Cygwin/MinGW environments
- Fix a problem with the function purple_get_host_name() in libpurple
versions < 2.5.x
- Support for responses with m=x-ms-message rather than m=message
- Support for Reuters Messaging environment (LCS2005 like)
- Support for message formatting (font face, style, color).
- Introduced invisible mode (Appear Offline). Better status support.
official clients
- Richer status support with reference to [MS-PRES] and work of
- Fix for bug #2528391: Accepts the first message from the first packet (INVITE). Counterparty's first message now can appear up to 2 sec earlier.
- Fixed the offline contacts problem in OCS2007 following [MS-PRES]
- Added notification support for undelivered messages.
version 1.3.3 (2009-02-09)
- Implemented keep alive support. Thanks Stefan Becker
- Support LCS 2005 buddy auth/blocking. Thanks Gabriel Burt
- Fixed SSL errors.
- Fixed many segmentation fault errors.
- Added many translation files.
version 1.3.2 (2008-12-14)
- Added support for mingw. Thanks Carl Seutter
- Merge with stable branch in the git repository
- Fixed SSL input processing
- Extended contact search implementation
- Path to xBSD support
version 1.3.1 (2008-12-09)
- Locale/translations support
- Search contacts support
- Code cleaned
- LCS 2005 fixed send/receive messages;partially fixed
version 1.3 (2008-12-04)
- TLS/SSL support
- Fixed signing messages, thanks Gabriel Burt
- Fixed LCS contacts with add/remove/modify, thanks Gabriel Burt
- Added Presence support for OCS 2007 and LCS 2005
- A lot of patches to fix:
+TLS connections,
+Send/receive messages,
+Full presence,
+TCP connections and optimal options in Advanced tap.
- A lot bugs fixed
version 1.2 (2007-03-22)
- Finished the pidgin 2.0 porting
- Fixed a NTLM auth problem about the flags on challenge3.
- Fixed the Contact problem.
- Fixed the segmentation on network detection.
- Other minor bugs
version 1.1 (2007-03-09)
- Fixed a bug in NOTIFY and SUBSCRIBE methods (401 error)
- Changed the method PUBLISH(don't aply in LCS) for SERVICE
- Added new tags in transactions to cloned the LCS transactions.
- The MESSAGE method works. Now you can send a message to online user.
version 1.0 (2007-03-04)
Gaim plug-in releases. First release using autoconf and automake.
Compiles with gaim-2beta5 (or newer). On Debian systeam you need
the gaim-dev package for compile it.
First version. Just added this functionalities:
- Authentication (just type NTLM)
- Presence (double sided)
- Retrieves all contacts from server (with groups)
- Delete contacts and groups
================================================
FILE: Makefile.am
================================================
SUBDIRS = src pixmaps po
EXTRA_DIST = \
contrib \
intltool-extract.in \
intltool-merge.in \
intltool-update.in \
pidgin-sipe.nsi \
pidgin-sipe.wxs \
siplcs.vcxproj \
siplcs.vcxproj.filters \
Makefile.mingw \
po/Makefile.mingw
CLEANFILES = \
intltool-extract \
intltool-update \
intltool-merge
MAINTAINERCLEANFILES = \
aclocal.m4 \
ABOUT-NLS \
compile \
configure \
config.guess \
config.h.in \
config.rpath \
config.sub \
depcomp \
GITVERSION \
INSTALL \
install-sh \
intltool-extract.in \
intltool-merge.in \
intltool-update.in \
ltmain.sh \
Makefile.in \
missing \
mkinstalldirs \
po/Makevars.template \
po/Rules-quot \
po/*.header \
po/*.sed \
po/*.sin \
test-driver \
ylwrap
maintainer-clean-local:
-rm -rf m4
ACLOCAL_AMFLAGS = -I m4
================================================
FILE: Makefile.mingw
================================================
################################### tell Emacs this is a -*- makefile-gmake -*-
#
# Copyright (C) 2012-2014 SIPE Project <http://sipe.sourceforge.net/>
#
# Makefile.mingw
#
# Author: pier11@operamail.com
# Author: zup@sbox.tugraz.at
# Date 11 Nov 2009
# Description: Top Makefile for win32 (mingw) port of LCS protocol plugin
#
###############################################################################
ifndef PIDGIN_TREE_TOP
# standalone MinGW build
export PIDGIN_TREE_TOP := ../pidgin-2.10.0
endif
include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak
export CFLAGS=-Werror
WIX3_HOME := /cygdrive/c/Program\ Files/Windows\ Installer\ XML\ v3
WXS_NAME := pidgin-sipe
export VERSION := $(shell cat VERSION)
PIDGIN_VERSION := $(shell cat $(PIDGIN_TREE_TOP)/VERSION)
.PHONY: all clean install msi dev devinst nsis
all:
$(MAKE) -C src -f $(MINGW_MAKEFILE)
$(MAKE) -C po -f $(MINGW_MAKEFILE)
dev:
$(MAKE) -C src -f $(MINGW_MAKEFILE)
clean:
$(MAKE) -C src -f $(MINGW_MAKEFILE) clean
$(MAKE) -C po -f $(MINGW_MAKEFILE) clean
rm -f $(WXS_NAME).wix*
rm -f $(WXS_NAME)-$(VERSION).msi
rm -f pidgin-sipe-$(VERSION).exe
rmbak:
rm -f *~
$(MAKE) -C src -f $(MINGW_MAKEFILE) rmbak
install: all
$(MAKE) -C src -f $(MINGW_MAKEFILE) install
$(MAKE) -C po -f $(MINGW_MAKEFILE) install
$(MAKE) -C pixmaps -f $(MINGW_MAKEFILE) install
devinst: dev
$(MAKE) -C src -f $(MINGW_MAKEFILE) install
tests: dev
$(MAKE) -C src -f $(MINGW_MAKEFILE) tests
msi: all
PACKAGE_VERSION=$(VERSION) $(WIX3_HOME)/bin/candle $(WXS_NAME).wxs
$(WIX3_HOME)/bin/light $(WXS_NAME).wixobj
mv $(WXS_NAME).msi $(WXS_NAME)-$(VERSION).msi
nsis: install
makensis -DTREETOP=..\\pidgin-2.10.0 -DVERSION=$(VERSION) pidgin-sipe.nsi
# MinGW cross-compile build (see contrib/mingw-cross-compile/README.txt)
.PHONY: cross-compile-nsis
cross-compile-nsis:
$(MAKE) -f Makefile.mingw install
mv $(PIDGIN_INSTALL_DIR)/plugins $(PIDGIN_INSTALL_DIR)/purple-2
perl contrib/opensuse-build-service/generate_nsi.pl po/LINGUAS \
<contrib/opensuse-build-service/pidgin-sipe.nsi.template \
>$(PIDGIN_INSTALL_DIR)/pidgin-sipe.nsi
set -e; cd $(PIDGIN_INSTALL_DIR); \
makensis \
-DPIDGIN_VERSION=$(PIDGIN_VERSION) \
-DVERSION=$(VERSION) \
-DMINGW_LIBDIR=. \
-DMINGW_DATADIR=. \
pidgin-sipe.nsi
mv $(PIDGIN_INSTALL_DIR)/pidgin-sipe-$(VERSION).exe $(PIDGIN_TREE_TOP)
rm -rf $(PIDGIN_INSTALL_DIR)
================================================
FILE: NEWS
================================================
version 1.25.0 "Buddy Idle Time, RTF" (2019-10-12)
- Feature #107: Provide idle start time for a buddy (Stefan Becker)
- Feature #77: RTF support (incoming) (Stefan Becker)
* the code only extracts plain text from incoming RTF
- Fixed #358: FTBFS with glib-2.0 >= 2.62.0 (Stefan Becker)
- Fixed #350: Inconsistent parsing of From:/To: headers (Stefan Becker)
- raise BR telepathy-glib >= 0.24.0 (Stefan Becker)
- switch from GPLv2+ to SPDX identifier GPL-2.0-or-later (Stefan Becker)
================================================
FILE: README
================================================
Introduction
============
SIPE is a third-party plugin for the Pidgin/Adium/Miranda/Telepathy
multi-protocol instant messaging clients/frameworks. It implements the
extended version of SIP/SIMPLE used by various products:
* Skype for Business
* Microsoft Office 365
* Microsoft Business Productivity Online Suite (BPOS)
* Microsoft Lync Server
* Microsoft Office Communications Server (OCS 2007/2007 R2)
* Microsoft Live Communications Server (LCS 2003/2005)
With this plugin you should be able to replace your Microsoft Office
Communicator client with Pidgin/Adium/Miranda/Telepathy.
Features
========
The plugin has support for
* Instant Messaging (IM)
* Multiparty chat (OCS 2005) or conference (OCS 2007+)
* Group chat (Lync 2010) or Persistent chat (Lync 2013) - [MS-XCCOSIP]
* Enhanced presence
* Calendar integration with Exchange 2007+ (can be disabled)
* Contact details information - company, phones, photo, web site, etc.
* Unified Contact Store (Lync 2013) - [MS-OXWSCOS]
* Contact search - [MS-PRES] and [MS-DLX] methods supported
* Encrypted file transfer (OCS2007: send & receive, Lync: receive only)
* Voice & Video calls
* Call initiation through PBX
* NTLMv2, Kerberos & TLS-DSK authentication methods
* Single Sign-On (depends on OS and authentication method)
* Automatic SSL/TLS protection for SIP/HTTP connections
* Crypto implementation using NSS or OpenSSL
* Localization
The plugin has backends for
* Pidgin/Finch (libpurple)
* Adium (libpurple)
* Miranda
* Telepathy (under development)
Advantages over Office Communicator products
============================================
* Available on broader range of platforms: Linux, *BSD, Maemo, OSX,
commercial UNIX, Windows.
* Ability to simultaneously connect to several Office Communicator
accounts in addition to public IM network accounts like MSN, AOL,
Yahoo. For example one account is in vendor company and another is
in client company.
* Keeps history of communications in environments without Outlook. For
example in companies where Lotus Notes is deployed as a default
groupware client instead of Outlook.
* Lotus Notes/Domino calendar integration. Unique to SIPE.
* Open development model, open source product. License is GPL-2.0-or-later
Support
=======
The Pidgin or Adium projects do not support third-party plugins! Please do
not ask questions about SIPE in their forums or report SIPE problems to their
bug trackers.
If you set up your Office Communicator/Lync account with SIPE for the first
time then please make sure to read this page:
https://sourceforge.net/p/sipe/wiki/How%20to%20setup%20an%20account/
If you encounter problems then please make sure to check out the Frequently
Asked Question page:
https://sourceforge.net/p/sipe/faq/
If you still have problems then please check the support forum if another
user encountered the same problem and maybe solved it already:
http://sourceforge.net/p/sipe/discussion/
If you think that you have found a bug in SIPE then please report it to the
SIPE bug tracker:
https://sourceforge.net/p/sipe/bugs/
The SIPE project kindly requests that you do not ignore the instructions that
appear at the head of the "Create Ticket" page. These instructions are there
for a reason and if you ignore them then you will only cause unnecessary work
for the project and yourself. Please do not report missing features as bugs.
New or missing features can be requested here:
https://sourceforge.net/p/sipe/feature-requests/
Localization
============
SIPE has already been localized for several languages. You can help to
translate SIPE to your native language at Transifex:
https://www.transifex.com/stefanb/pidgin-sipe/
The service offers a convenient web editor.
D-Bus support (libpurple backend only)
======================================
If libpurple and SIPE have been compiled with D-Bus support and the D-Bus
backend has been successfully initialized at libpurple start, then SIPE
extends the libpurple D-Bus interface with the following APIs:
Function Description
SipeCallPhoneNumber(aId, phone_number)
Same as "Call a phone number" menu
SipeJoinConferenceWithOrganizerAndId(aId, organizer_email, meeting_id)
Same as "Organizer email" and "Meeting ID" in the
dialog opened by "Join scheduled conference..."
SipeJoinConferenceWithUri(aId, uri)
Same as "Meeting location" in the dialog opened by
"Join scheduled conference..."
SipeRepublishCalendar(aId)
Same as "Republish Calendar" menu
SipeResetStatus(aId)
Same as "Reset status" menu
To use the APIs from a script you'll need a D-Bus object for the libpurple
interface and a valid & connected account ID as first parameter. An invalid
account ID will cause SIPE to silently ignore the D-Bus invocation.
Example script code (without error checks to keep it simple):
Perl:
use Net::DBus;
my $bus = Net::DBus->session;
my $service = $bus->get_service('im.pidgin.purple.PurpleService');
my $purple = $service->get_object('/im/pidgin/purple/PurpleObject',
'im.pidgin.purple.PurpleInterface');
my $accountId = $purple->PurpleAccountsFind($accountName, 'prpl-sipe');
$purple->SipeXYZ($accountId, parameters... );
Python:
import dbus
bus = dbus.SessionBus()
object = bus.get_object("im.pidgin.purple.PurpleService",
"/im/pidgin/purple/PurpleObject")
purple = dbus.Interface(object, "im.pidgin.purple.PurpleInterface")
accountId = purple.PurpleAccountsFind($accountName, 'prpl-sipe')
purple.SipeXYZ(accountId, parameters... );
Installing from a distribution repository
=========================================
Many Open Source OS distributions have a ready-made package "pidgin-sipe".
Before trying to compile it from the source code yourself you should try
to install this package with the standard installation method provided by
your OS.
Once you have SIPE installed and are connected to your account you can check
from the following Pidgin menu
Accounts -> <SIPE Account> -> About SIPE plugin...
which optional features have been enabled in your SIPE build.
Do It Yourself I: compiling against "pidgin" package
====================================================
NOTE: for instructions how to setup a build environment on Windows to
compile the Windows Pidgin plugin, please read:
https://developer.pidgin.im/wiki/BuildingWinPidgin
NOTE: for instructions how to cross-compile the Windows Pidgin plugin on
Linux, please read:
contrib/mingw-cross-compile/README.txt
NOTE: for instructions how to compile the SIPEAdiumPlugin on Mac OS X,
please read:
src/adium/README.adium
If you already have installed the "pidgin" package from your distribution
repository and want compile SIPE from source code yourself, then you need to
install the necessary headers first. Depending on your distribution you'll
need to install one of the following packages
libpurple-dev
libpurple-devel
For the compilation you'll need to install a C compiler and some of the
following packages
libtool
intltool
pkg-config
libglib2.0-dev
libxml2-dev
libgmime-2.6-dev (optional)
pkgconfig
libglib2-devel
libxml2-devel
gettext-devel
gmime-devel (optional)
You have to choose between NSS or OpenSSL for the crypto backend. You'll
need one of the following packages
for NSS:
libnss3-dev
nss-devel
mozilla-nss-devel
for OpenSSL:
libssl-dev
openssl-devel
If you want to enable Kerberos authentication support then you'll need one
of the following packages
libkrb5-dev
krb5-devel
If you additionally want to disable the internal NTLM implementation and
authenticate with NTLM via GSSAPI then you'll need one of the following
packages
gssntlmssp-devel
If you want to enable the D-Bus support then you'll need one of the
following packages
libdbus-1-dev
dbus-devel
If you want to enable Voice & Video features then you'll need some of the
following packages. You need to install the same version of the GStreamer
development packages which where used to compile Pidgin!
libfarstream-0.2-dev
libgstreamer1.0-dev
libgstreamer-plugins-base1.0-dev
libnice-dev (>= 0.1.13)
libpurple-dev (>= 2.10.12)
farstream02-devel
gstreamer1-devel
gstreamer1-plugins-base-devel
libnice-devel (>= 0.1.13)
libpurple-devel (>= 2.10.12)
Now you should be able to compile the source code with
./configure --prefix=/usr
make
If you get errors then you are missing some required package. After
successful compilation you can install SIPE with:
su -c "make install"
If you get errors from configure or libtool about version conflicts then
you need to regenerate the autoconf files. You'll need these additional
packages
autoconf
automake
flex
Now you should be able to regenerate the files with
autopoint --force
AUTOPOINT="intltoolize --copy --force --automake" \
autoreconf --force --install
After that go back to the configure step above.
Do It Yourself II: compiling against self-compiled pidgin
=========================================================
If you have compiled pidgin from source code yourself then you'll have to
specify the correct installation path in configure. Usually pidgin is
installed in /usr/local so the following command should work
./configure --prefix=/usr/local
The rest of the steps are the same as in the previous section.
Do It Yourself III: building from git checkout
==============================================
Building from a git checkout is meant for project maintainers, i.e. you
need to generate the configure script first:
./autogen.sh
The rest of the steps are the same as in the previous sections.
To clean all artifacts and reset the source tree to pristine condition use
make maintainer-clean
If you just want to quickly run a one-shot build from a git checkout then
you can use the following helper script which executes all necessary steps
in the correct order:
./git-build.sh
Contributing code
=================
If you want to contribute to the SIPE project please have a look at
http://sipe.sourceforge.net/git/
Some of the instructions are unfortunately out-dated. If in doubt then
*ASK* from the current maintainers before committing!
Please also have a look at the Pidgin coding style guide
https://developer.pidgin.im/wiki/StyleGuide
================================================
FILE: TODO
================================================
Bugs:
Big Targets:
- Native telepahty backend
- Desktop sharing/Live Meeting integration on Windows platform.
- Update projects site with
* SIPE features
* better/more complete screenshots
* page about standards used in SIPE with references
Call Control:
- change user state to On Call when line is active and then back
- answer incoming call (logs required)
- (?) work with multiple phone lines (not the first one)
- (?) Call transfer set up, other RCC features from Communicator.
Group Chat:
- channel management: add, delete
- (?) lock/unlock channel (is this possible?)
- file sharing: up & downloading from web server
- ??? (unknown as we don't have XCCOS protocol specification)
================================================
FILE: VERSION
================================================
1.25.0
================================================
FILE: autogen.sh
================================================
#! /bin/sh
###############################################################################
# Generate GITVERSION
###############################################################################
_gitversion=$(git describe | grep -e -)
if [ -n "${_gitversion}" ]; then
_gitversion=$(echo ${_gitversion} | cut -d- -f3 | sed 's/^g//')
echo -n ${_gitversion} >GITVERSION
else
rm -f GITVERSION
fi
###############################################################################
# Set up build from git tree
###############################################################################
set -e
# Set up initial NLS stuff...
autopoint --force
# ...now replace "autopoint" with "intltoolize" in full setup run
AUTOPOINT="intltoolize --copy --force --automake" \
autoreconf --force --install
================================================
FILE: configure.ac
================================================
dnl ensure recent enough version of Autoconf
AC_PREREQ([2.69])
AC_CONFIG_MACRO_DIRS([m4])
dnl Use 'VERSION' files to get version.
m4_define([SIPE_VERSION_DATA], m4_include([VERSION]))
dnl Strip off newline characters.
m4_define([SIPE_VERSION],
m4_substr(SIPE_VERSION_DATA,
[0], m4_decr(m4_len(SIPE_VERSION_DATA))))
dnl homepage
m4_define([SIPE_HOMEPAGE], [http://sipe.sourceforge.net/])
dnl initialize package name, version, bugtracker & homepage
AC_INIT([pidgin-sipe], SIPE_VERSION,
[https://sourceforge.net/p/sipe/bugs/], [],
SIPE_HOMEPAGE)
AC_DEFINE([SIPE_TRANSLATIONS_URL],
["https://www.transifex.com/stefanb/pidgin-sipe/"],
[URL for submitting translations.])
dnl define optional git commit ID generated by autogen.sh
m4_define([SIPE_GIT_COMMIT], m4_sinclude([GITVERSION]))
AS_IF([test "x"SIPE_GIT_COMMIT != x],
[AC_MSG_NOTICE([set git commit])
AC_DEFINE(PACKAGE_GIT_COMMIT, "SIPE_GIT_COMMIT", [Define to the git commit for this package.])
])
dnl setup automake and require recent enough version
AM_INIT_AUTOMAKE([1.16 dist-bzip2 dist-xz no-define tar-ustar])
AC_CANONICAL_HOST
dnl set PACKAGE_URL for autoconf < 2.64
AS_IF([test "x${PACKAGE_URL}" = x],
[AC_MSG_NOTICE([set PACKAGE_URL for autoconf < 2.64])
AC_DEFINE(PACKAGE_URL, "SIPE_HOMEPAGE", [Define to the home page for this package.])
])
dnl set programming language
AC_LANG(C)
AM_PROG_CC_C_O
AM_PROG_LEX
AC_HEADER_STDC
dnl setup shared library generation
LT_INIT([disable-static])
dnl checks for tools
IT_PROG_INTLTOOL([0.41.0])
AC_PROG_INSTALL
dnl ******************************
dnl Win32
dnl ******************************
AC_MSG_CHECKING([for Win32])
AS_CASE(["$host"],
[*-mingw*], [os_win32=yes],
[os_win32=no])
AC_MSG_RESULT([$os_win32])
AM_CONDITIONAL(SIPE_OS_WIN32, [test "x${os_win32}" = xyes])
dnl checks for header files
AC_CHECK_HEADERS([])
dnl checks for library functions
AC_CHECK_FUNCS([])
dnl tell pkgconfig to look in the same prefix where we're installing this to,
dnl as that is likely where libpurple will be found if it is not in the default
dnl pkgconfig path
PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${libdir}/pkgconfig"
export PKG_CONFIG_PATH
dnl debug mode
AC_ARG_ENABLE(debug,
[AS_HELP_STRING([--enable-debug],
[compile with debugging support @<:@default=no@:>@])],
[],
[enable_debug=no])
AS_IF([test "x$enable_debug" = xyes],
[AC_DEFINE(DEBUG, 1, [Define if debugging is enabled.])])
AC_SUBST(DEBUG_CFLAGS)
dnl
dnl Quality check mode - try to find bugs instead of hiding them
dnl
dnl Developers & contributors:
dnl
dnl You are *NOT* allowed to commit code to SIPE repository that only
dnl builds with --disable-quality-check!
dnl
dnl Distro package maintainers:
dnl
dnl You may choose to add --disable-quality-check to the package build
dnl specification if you can't fix all build dependencies properly.
dnl
AC_ARG_ENABLE(quality-check,
[AS_HELP_STRING([--enable-quality-check],
[compile with compiler checks enabled @<:@default=yes@:>@])],
[],
[enable_quality_check=yes])
dnl default quality configuration
QUALITY_CFLAGS="$QUALITY_CFLAGS -Wall"
dnl convert warnings to errors
AS_IF([test "x$enable_quality_check" = xyes],
[QUALITY_CFLAGS="$QUALITY_CFLAGS -Werror"])
dnl enable warnings supported by the GCC on the build system
dnl @TODO: not included in -Wall: "-Wwrite-strings" \
for newflag in \
"-Wextra" \
"-Waggregate-return" \
"-Wcast-align" \
"-Wcast-function-type" \
"-Wdeclaration-after-statement" \
"-Wdeprecated-declarations" \
"-Wduplicate-decl-specifier" \
"-Winit-self" \
"-Wmaybe-uninitialized" \
"-Wmissing-declarations" \
"-Wmissing-prototypes" \
"-Wnested-externs" \
"-Wpointer-arith" \
"-Wundef" \
"-Wunused-but-set-variable" \
; do
ac_save_CFLAGS="$CFLAGS"
AC_MSG_CHECKING([if $CC supports $newflag])
CFLAGS="$CFLAGS $newflag"
AC_COMPILE_IFELSE(
[AC_LANG_SOURCE([[]])],
[AC_MSG_RESULT(yes)
QUALITY_CFLAGS="$QUALITY_CFLAGS $newflag"],
[AC_MSG_RESULT(no)]
)
CFLAGS="$ac_save_CFLAGS"
done
AC_SUBST(QUALITY_CFLAGS)
dnl check for availability of addition linker flags
for newflag in \
"-Wl,-Bsymbolic-functions" \
; do
ac_save_LDFLAGS="$LDFLAGS"
AC_MSG_CHECKING([if $CC supports $newflag])
LDFLAGS="$LDFLAGS $ADDITIONAL_LDFLAGS $newflag"
AC_LINK_IFELSE(
[AC_LANG_SOURCE([[
int main(int argc, char *argv[])
{
return(0);
}
]])],
[AC_MSG_RESULT(yes)
ADDITIONAL_LDFLAGS="$ADDITIONAL_LDFLAGS $newflag"],
[AC_MSG_RESULT(no)]
)
LDFLAGS="$ac_save_LDFLAGS"
done
AC_SUBST(ADDITIONAL_LDFLAGS)
dnl Check for pkg-config before using it
PKG_PROG_PKG_CONFIG
dnl check for valgrind (optional, only needed for debugging)
PKG_CHECK_MODULES(VALGRIND, [valgrind],
[AC_DEFINE(HAVE_VALGRIND, 1, [Define to 1 if you have the valgrind headers])],
[AC_MSG_RESULT(no)])
dnl build option: with AppStream support
AC_ARG_WITH(appstream,
[AC_HELP_STRING([--with-appstream],
[install AppStream XML file @<:@default=yes@:>@])],
[AS_IF([test "x$withval" = xno], [with_appstream=no])],
[with_appstream=yes])
AM_CONDITIONAL(SIPE_WITH_APPSTREAM, [test "x$with_appstream" != xno])
dnl build option: with voice & video support (for all backends)
AC_ARG_WITH(vv,
[AC_HELP_STRING([--with-vv],
[compile with voice and video support @<:@default=check@:>@])],
[AS_IF([test "x$withval" = xyes], [with_vv=yes])],
[with_vv=check])
dnl check for Kerberos 5 support
AC_ARG_WITH([krb5],
[AC_HELP_STRING([--with-krb5],
[compile with Kerberos 5 support @<:@default=check@:>@])],
[AS_IF([test "x$withval" = xyes], [with_krb5=check])],
[with_krb5=check])
AS_IF([test "x$with_krb5" = xno], [], dnl disabled by user
[test "x$with_krb5" = xcheck], dnl autodetect with krb5-config
[AC_MSG_CHECKING(if Kerberos 5 is available)
AS_IF([AC_RUN_LOG([krb5-config --version])],
[KRB5_CFLAGS=`krb5-config --cflags 2>/dev/null`
KRB5_LDFLAGS=""
dnl same as AC_CHECK_LIB()
LIBS="$LIBS `krb5-config --libs gssapi 2>/dev/null`"],
[AC_MSG_RESULT(no)
with_krb5=no])],
[ dnl path specified by user
KRB5_CFLAGS="-I${with_krb5}/include"
KRB5_LDFLAGS="-L${with_krb5}/lib"
])
AS_IF([test "x$with_krb5" != xno],
[ac_save_CFLAGS="$CFLAGS"
ac_save_LDFLAGS="$LDFLAGS"
CFLAGS="$CFLAGS $KRB5_CFLAGS"
LDFLAGS="$LDFLAGS $KRB5_LDFLAGS"
AC_CHECK_HEADERS([gssapi/gssapi.h gssapi/gssapi_krb5.h],
[],
[AC_ERROR([GSSAPI headers not found])])
AC_CHECK_FUNC([gss_init_sec_context],
[],
[AC_ERROR([GSSAPI libraries not found])])
dnl older GSSAPI releases don't have gss_acquire_cred_with_passwd()
AC_CHECK_HEADER([gssapi/gssapi_ext.h],
[AC_CHECK_FUNC([gss_acquire_cred_with_password],
[AC_DEFINE(HAVE_GSSAPI_PASSWORD_SUPPORT, 1, [Define to 1 if gssapi has gss_acquire_cred_with_passwd()])],
[AC_MSG_NOTICE([gss_acquire_cred_with_passwd() required: disabling GSSAPI non-SSO support])])],
[AC_MSG_NOTICE([gssapi/gssapi_ext.h required: disabling GSSAPI non-SSO support])])
CFLAGS="$ac_save_CFLAGS"
LDFLAGS="$ac_save_LDFLAGS"
])
AM_CONDITIONAL(SIP_SEC_GSSAPI, [test "x$with_krb5" != xno])
AC_SUBST(KRB5_CFLAGS)
AC_SUBST(KRB5_LDFLAGS)
dnl check for DBUS support
AC_ARG_WITH([dbus],
[AC_HELP_STRING([--with-dbus],
[compile with D-BUS support @<:@default=check@:>@])],
[AS_IF([test "x$withval" = xyes], [with_dbus=check])],
[with_dbus=check])
AS_IF([test "x$with_dbus" = xno], [], dnl disabled by user
[test "x$with_dbus" = xcheck], dnl autodetect with pkg-config
[PKG_CHECK_MODULES(DBUS, [dbus-1],
[with_dbus=yes],
[with_dbus=no])
])
AM_CONDITIONAL(SIPE_DBUS, [test "x$with_dbus" = xyes])
AS_IF([test "x$with_dbus" = xyes],
[AC_DEFINE(HAVE_DBUS, 1, [Define if D-BUS should be used in sipe.])])
AC_ARG_ENABLE(gssapi_only,
[AS_HELP_STRING([--enable-gssapi-only],
[disable all internal authentication code and only use
GSSAPI for authentication @<:@default=yes@:>@])],
[],
dnl requires Kerberos which provides GSSAPI
[enable_gssapi_only=$with_krb5])
AS_IF([test "x$enable_gssapi_only" != xno],
[AC_CHECK_HEADER([gssapi/gssapi_ntlmssp.h],
[AC_DEFINE(HAVE_GSSAPI_ONLY, 1, [Define to 1 to enable GSSAPI-only mode])],
[AC_MSG_NOTICE([gssapi/gssapi_ntlm.h required: falling back to internal authentication implementation])
enable_gssapi_only=no])
])
AM_CONDITIONAL(SIP_SEC_GSSAPI_ONLY, [test "x$enable_gssapi_only" != xno])
dnl
dnl oldest supported LTS release vs. package versions
dnl
dnl last checked: Jun-2019
dnl
dnl package | Debian | RHEL | SLES | Ubuntu | win32 |
dnl | 8.0 | 6.10 | 12 SP4 | 16.04 | 2.13.x |
dnl EOL | 07/2020 | 12/2020 | 11/2024 | 04/2021 | N/A |
dnl ---------------|---------|---------|---------|---------|--------|
dnl glib-2.0 | 2.42.x | 2.28.x | 2.48.x | 2.48.x | 2.18.x |
dnl gmime-2.6 | YES | NO | YES | YES | NO |
dnl gss-ntlmssp | NO | NO | NO | 0.7.x | N/A |
dnl intltool | 0.50.2 | 0.41.0 | 0.51.0 | 0.51.0 | 0.40.4 |
dnl nice | TOO OLD | TOO OLD | 0.1.13 | 0.1.13 | N/A |
dnl purple | 2.11.x | 2.7.x | 2.12.x | 2.10.x | 2.13.x |
dnl telepathy-glib | 0.24.x | NO | 0.24.x | 0.24.x | N/A |
dnl
dnl check for glib
PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.18.0])
PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.18.0])
dnl check for gmime
PKG_CHECK_MODULES(GMIME, [gmime-3.0 >= 3.0.0],
[ac_have_gmime=yes],
[PKG_CHECK_MODULES(GMIME, [gmime-2.6 >= 2.6.0],
[ac_have_gmime=yes],
[ac_have_gmime=no])
])
AM_CONDITIONAL(SIPE_MIME_GMIME, [test "x$ac_have_gmime" = xyes])
AS_IF([test "x$ac_have_gmime" = xyes],
[AC_DEFINE(HAVE_GMIME, 1, [Define if gmime should be used in sipe.])])
dnl check for NSS
AC_ARG_ENABLE(nss,
[AS_HELP_STRING([--enable-nss],
[use NSS as crypto backend @<:@default=yes@:>@])],
[],
[enable_nss=yes])
AS_IF([test "x$enable_nss" != xno],
[PKG_CHECK_MODULES(NSS, [nss],
[],
[PKG_CHECK_MODULES(NSS, [mozilla-nss],
[],
[PKG_CHECK_MODULES(NSS, [microb-engine-nss],
[],
[enable_nss=no])
])
])
])
dnl check for OpenSSL
AC_ARG_ENABLE(openssl,
[AS_HELP_STRING([--enable-openssl],
[use OpenSSL as crypto backend @<:@default=yes@:>@])],
[],
[enable_openssl=yes])
AS_IF([test "x$enable_openssl" != xno],
[PKG_CHECK_MODULES(OPENSSL, [libcrypto],
[],
[enable_openssl=no])
])
AS_IF(
[test "x$enable_nss" != xno],
[ dnl NSS has priority over OpenSSL
enable_openssl=no
AC_MSG_NOTICE([using NSS as crypto backend.])],
[test "x$enable_openssl" != xno],
[AC_MSG_NOTICE([using OpenSSL as crypto backend.])],
[AC_ERROR([nss, mozilla-nss, microb-engine-nss or libcrypto package is required])])
AM_CONDITIONAL(SIPE_OPENSSL, [test "x$enable_openssl" != xno])
dnl check for libxml2
PKG_CHECK_MODULES(LIBXML2, [libxml-2.0])
dnl assumption check: sizof(uuid_t) must be 16 (see uuid.c)
AC_MSG_CHECKING([that sizeof(uuid_t) is 16])
ac_save_CFLAGS="$CFLAGS"
dnl NOTE: including $QUALITY_CFLAGS can lead to false negative configure checks!
CFLAGS="$CFLAGS $GLIB_CFLAGS"
dnl note the [[[ quoting: our code contains []!
AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
[[
#include <glib.h>
#include <stdio.h>
/* Copied from uuid.c */
typedef struct {
guint32 time_low;
guint16 time_mid;
guint16 time_hi_and_version;
guint8 clock_seq_hi_and_reserved;
guint8 clock_seq_low;
guint8 node[6];
} uuid_t;
]],
[[if (sizeof(uuid_t) == 16) {
return(0);
} else {
printf("\n\nOoops, sizeof(uuid_t) is %" G_GSIZE_FORMAT ".\n\n", sizeof(uuid_t));
return(1);
}]])],
[AC_MSG_RESULT(yes)],
[AC_MSG_FAILURE([sizeof(uuid_t) is not 16
Please notify the SIPE developers.
Copy & paste all lines starting with the line
checking that sizeof(uuid_t) is 16...
to the report and attach the file "config.log".
Compiler information:
host: $host
build: $build
compiler: $CC
])],
[AC_MSG_WARN([cross compiling: not checking])])
CFLAGS="$ac_save_CFLAGS"
dnl build option: OCS2005 client hack
AC_ARG_ENABLE([ocs2005-message-hack],
[AC_HELP_STRING([--enable-ocs2005-message-hack], [disable message timeout for OCS2005 clients
which causes "false" not delivered error messages
@<:@default=no@:>@])],
[AC_DEFINE([ENABLE_OCS2005_MESSAGE_HACK], [1],
[Define to 1 to disable SIP MESSAGE timeout feature.
OCS2005 clients don't seem to acknowledge MESSAGEs and
disabling the timeout suppresses "false" error messages])])
dnl build option: purple backend
AC_ARG_ENABLE([purple],
[AC_HELP_STRING([--enable-purple], [build purple plugin @<:@default=yes@:>@])],
[],
[enable_purple=yes])
ac_have_appshare=no
ac_have_appshare_server=no
ac_have_xdata=no
with_purple_vv=no
AS_IF([test "x$enable_purple" != xno],
[PKG_CHECK_MODULES(PURPLE, [purple-3],
[purple_pkgconfig=purple-3],
[PKG_CHECK_MODULES(PURPLE, [purple >= 2.7.0],
[purple_pkgconfig=purple],
[enable_purple=no])])
AS_IF([test "x$enable_purple" != xno],
[AC_MSG_NOTICE([using package "$purple_pkgconfig".])
dnl unfortunately PURPLE_MAJOR_VERSION is not exported by purple.m4
PURPLE_MAJOR_VERSION=`$PKG_CONFIG --modversion $purple_pkgconfig | cut -d. -f 1`
AC_SUBST(PURPLE_MAJOR_VERSION)
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
dnl NOTE: including $QUALITY_CFLAGS can lead to false negative configure checks!
CFLAGS="$CFLAGS $PURPLE_CFLAGS"
LIBS="$LIBS $PURPLE_LIBS"
dnl check whether enable voice and video support
AS_IF([test "x$with_vv" = xno], [], dnl disabled by user
[AC_MSG_CHECKING(for purple voice and video support)
purple_has_media=no
AC_RUN_IFELSE(
[AC_LANG_PROGRAM([[
#include <media.h>
]],
[[return (purple_media_get_type() == G_TYPE_NONE ? 1 : 0);]]
)],
[purple_has_media=yes
AC_MSG_RESULT(ok)
],
[AC_MSG_RESULT([no - your purple hasn't been compiled with voice and video support.])],
[AS_IF([test "x$with_vv" = xyes],
[purple_has_media=yes
AC_MSG_RESULT([yes - enabling voice and video support for cross compiling on users' request.])],
[AC_MSG_RESULT([no - disabled for cross compiling.])])
]
)
AS_IF([test "x$purple_has_media" = xyes],
[PKG_CHECK_MODULES(NICE, [nice >= 0.1.0],
dnl sipe-media.c uses g_slist_free_full()
[PKG_CHECK_MODULES(_SIPE_MEDIA_RECHECK_PLEASE_IGNORE, [$purple_pkgconfig >= 2.8.0],
dnl check purple pkgconfig for gstreamer version
[gstreamer_pkgconfig=`$PKG_CONFIG --variable=gstreamer $purple_pkgconfig`
AS_IF([test "x$gstreamer_pkgconfig" == x],
[AS_IF([test "x$purple_pkgconfig" == xpurple-3],
[gstreamer_pkgconfig=1.0])])
AS_IF([test "x$gstreamer_pkgconfig" == x1.0],
[gstreamer_pkgconfig="gstreamer-$gstreamer_pkgconfig gstreamer-rtp-$gstreamer_pkgconfig"
AC_MSG_NOTICE([using packages "$gstreamer_pkgconfig".])
PKG_CHECK_MODULES(GSTREAMER, [$gstreamer_pkgconfig],
[PKG_CHECK_MODULES(FARSTREAM, [farstream-0.2],
[with_purple_vv=yes
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
#include <media.h>
]],
[[return (PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_PASSIVE);]]
)],
[AC_DEFINE(HAVE_PURPLE_NEW_TCP_ENUMS, 1, [Define if libpurple has new TCP enums in media backend.])]
)],
[AC_MSG_NOTICE(Farstream required: disabling purple voice and video support)])],
[AC_MSG_NOTICE(GStreamer required: disabling purple voice and video support)])],
[AC_MSG_NOTICE(your purple hasn't been compiled against GStreamer 1.0: disabling purple voice and video support)])],
[AC_MSG_NOTICE(libpurple >= 2.8.0 required: disabling purple voice and video support)])],
[AC_MSG_NOTICE(libnice required: disabling purple voice and video support)])
])
])
dnl SRTP and XDATA require media backend
AS_IF([test "x$with_purple_vv" != xno],
[AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[
#include <media.h>
]],
[[purple_media_set_encryption_parameters(NULL, "", "", "", "", 0);
purple_media_set_decryption_parameters(NULL, "", "", "", "", "", 0);]]
)],
[AC_DEFINE(HAVE_SRTP, 1, [Define if we have SRTP support in media backend.])]
)
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
#include <media.h>
]],
[[return (PURPLE_MEDIA_APPLICATION);]]
)],
[dnl libpurple supports raw data RTP connections
ac_have_xdata=yes
dnl gio-2.0 is mandatory for application sharing support
PKG_CHECK_MODULES(GIO, [gio-2.0],
[ac_have_appshare=yes
dnl freerdp-shadow2 & winpr2 is mandatory for appshare server support
PKG_CHECK_MODULES(FREERDP_SHADOW, [freerdp-shadow2 winpr2],
[ac_have_appshare_server=yes],
[ac_have_appshare_server=no])
])
]
)
],
[AS_IF([test "x$with_vv" = xyes], dnl explicitly requested by user
[AC_ERROR([Voice and video support explicitly requested, but not available])]
)]
)
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"])])
AM_CONDITIONAL(SIPE_INCLUDE_PURPLE, [test "x$enable_purple" != xno])
AM_CONDITIONAL(SIPE_PURPLE3, [test "x$purple_pkgconfig" = xpurple-3])
dnl build option: telepathy backend
AC_ARG_ENABLE([telepathy],
[AC_HELP_STRING([--enable-telepathy], [build telepathy plugin @<:@default=yes@:>@])],
[],
[enable_telepathy=yes])
AS_IF([test "x$enable_telepathy" != xno],
[PKG_CHECK_MODULES(TELEPATHY_GLIB, [telepathy-glib >= 0.24.0],
[dnl GMIME is a build requirement
AS_IF([test "x$ac_have_gmime" = xyes],
[],
[AC_ERROR(GMIME package is required for telepathy plugin)])
dnl telepathy is based on GObject & D-Bus GLib
PKG_CHECK_MODULES(GOBJECT, [gobject-2.0])
PKG_CHECK_MODULES(DBUS_GLIB, [dbus-glib-1])
dnl telepathy uses from gio:
dnl - GIOStream (>= 2.22.0)
dnl - GResolver (>= 2.22.0)
dnl - GSocketClient (>= 2.32.0)
dnl - GTlsConnection (>= 2.28.0)
PKG_CHECK_MODULES(GIO, [gio-2.0 >= 2.32.0])
],
[enable_telepathy=no])])
AM_CONDITIONAL(SIPE_INCLUDE_TELEPATHY, [test "x$enable_telepathy" != xno])
dnl sanity check
AS_IF([test "x$enable_purple" = xno -a "x$enable_telepathy" = xno],
[AC_ERROR(at least one plugin must be selected
If you didn't use a --enable option then please check that you have
the headers for the packages "purple" or "telepathy-glib" installed.
)],
[])
dnl enable voice & video support if any backend supports it
AS_IF([test "x$with_purple_vv" != xno],
[AC_DEFINE(HAVE_VV, 1, [Define if voice & video is enabled.])])
AM_CONDITIONAL(SIPE_WITH_VV, [test "x$with_purple_vv" != xno])
dnl raw data RTP streams enable Lync file transfer
AM_CONDITIONAL(SIPE_HAVE_XDATA, [test "x$ac_have_xdata" == xyes])
AS_IF([test "x$ac_have_xdata" == xyes],
[AC_DEFINE(HAVE_XDATA, 1, [Define if we have raw data RTP in media backend.])])
dnl enable appshare support
AM_CONDITIONAL(SIPE_HAVE_APPSHARE, [test "x$ac_have_appshare" == xyes])
AS_IF([test "x$ac_have_appshare" == xyes],
[AC_DEFINE(HAVE_APPSHARE, 1, [Define to 1 if we have appshare support.])])
dnl RDP server for sharing local desktop
AM_CONDITIONAL(SIPE_HAVE_APPSHARE_SERVER, [test "x$ac_have_appshare_server" = xyes])
AS_IF([test "x$ac_have_appshare_server" == xyes],
[AC_DEFINE(HAVE_APPSHARE_SERVER, 1, [Define if appshare server is enabled.])])
dnl libpurple API relies on GParameter (deprecated in glib-2.0 >= 2.62.0)
AS_IF([test "x$enable_purple" != xno],
[AC_DEFINE(GLIB_VERSION_MIN_REQUIRED, GLIB_VERSION_2_60,
[We need GParameter for which no replacement is available])
])
dnl telepathy code parts rely on interfaces that require GValueArray. This
dnl type has been declared "deprectated" in glib-2.0 >= 2.32.0, but there
dnl is no backward compatible replacement implementation possible
dnl telepathy-glib API relies on GTimeVal (deprecated in glib-2.0 >= 2.62.0)
AS_IF([test "x$enable_telepathy" != xno],
[AC_DEFINE(GLIB_VERSION_MIN_REQUIRED, GLIB_VERSION_2_30,
[We need GValueArray for which no replacement is available])
])
dnl libpurple 2.x API relies on G_CONST_RETURN (deprecated in glib-2.0 >= 2.30.0)
AS_IF([test "x$purple_pkgconfig" == xpurple],
[AC_DEFINE(GLIB_VERSION_MIN_REQUIRED, GLIB_VERSION_2_28,
[libpurple 2.x API uses G_CONST_RETURN])
])
dnl i18n
AC_MSG_CHECKING([locale_CPPFLAGS])
LOCALE_CPPFLAGS='-DLOCALEDIR=\"$(datadir)/locale\"'
AC_SUBST([LOCALE_CPPFLAGS])
AC_MSG_RESULT([$LOCALE_CPPFLAGS])
AM_GNU_GETTEXT([external])
AM_GNU_GETTEXT_VERSION([0.19.8])
AC_SUBST(GETTEXT_PACKAGE, "${PACKAGE_NAME}")
dnl substitutions and generated files
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
Makefile
pixmaps/Makefile
po/Makefile.in
pixmaps/16/Makefile
pixmaps/22/Makefile
pixmaps/24/Makefile
pixmaps/32/Makefile
pixmaps/48/Makefile
pixmaps/scalable/Makefile
src/Makefile
src/core/Makefile
src/api/Makefile
src/purple/Makefile
src/telepathy/Makefile
src/telepathy/data/Makefile
])
dnl generate files
AC_OUTPUT()
dnl additional info for the user
AS_ECHO()
AS_IF([test "x$enable_purple" = xno],
[AS_ECHO("Not building purple plugin")],
[AS_ECHO("Build purple plugin")
AS_ECHO("PURPLE_CFLAGS : $PURPLE_CFLAGS")
AS_ECHO("PURPLE_LIBS : $PURPLE_LIBS")
AS_ECHO_N("Voice and video: ")
AS_IF([test "x$with_purple_vv" = xno],
[AS_ECHO("disabled")],
[AS_ECHO("enabled")])
])
AS_ECHO()
AS_IF([test "x$enable_telepathy" = xno],
[AS_ECHO("Not building telepathy plugin")],
[AS_ECHO("Build telepathy plugin")
AS_ECHO("TELEPATHY_GLIB_CFLAGS: $TELEPATHY_GLIB_CFLAGS")
AS_ECHO("TELEPATHY_GLIB_LIBS : $TELEPATHY_GLIB_LIBS")])
AS_ECHO()
AS_IF([test "x$with_krb5" = xno],
[AS_ECHO("Not building with Kerberos 5 support")],
[AS_ECHO("Build with Kerberos 5 support")
AS_ECHO("KRB5_CFLAGS : $KRB5_CFLAGS")
AS_ECHO("KRB5_LDFLAGS : $KRB5_LDFLAGS")])
AS_ECHO()
AS_IF([test "x$enable_gssapi_only" = xno],
[AS_ECHO("Using internal authentication implementation")],
[AS_ECHO("Using only GSSAPI for authentication")])
AS_ECHO()
AS_IF([test "x$enable_debug" = xno],
[AS_ECHO("Debugging not enabled")],
[AS_ECHO("Build with debugging enabled")
AS_ECHO("DEBUG_CFLAGS : $DEBUG_CFLAGS")])
AS_ECHO()
AS_IF([test "x$QUALITY_CFLAGS" = x],
[AS_ECHO("Compiler checks disabled")],
[AS_ECHO("Build with compiler checks enabled")
AS_ECHO("QUALITY_CFLAGS : $QUALITY_CFLAGS")])
AS_ECHO()
AS_ECHO("configure complete. Now run 'make'")
AS_ECHO()
dnl The End.
================================================
FILE: contrib/dbus/SipeHelper.pm
================================================
#!/usr/bin/perl -w
#
# @file SipeHelper.pm
#
# pidgin-sipe
#
# Copyright (C) 2017 SIPE Project <http://sipe.sourceforge.net/>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#
# Support code for D-Bus test scripts
#
package SipeHelper;
use 5.024;
use strict;
use warnings;
use Carp;
use Net::DBus;
# Connect to libpurple over the session bus
my $purple;
sub init()
{
eval {
my $bus = Net::DBus->session;
my $service = $bus->get_service('im.pidgin.purple.PurpleService');
$purple = $service->get_object('/im/pidgin/purple/PurpleObject',
'im.pidgin.purple.PurpleInterface');
};
die "ERROR: can't find any active libpurple D-Bus instance, Are you sure you started Pidgin/Finch?\n\n$@"
if $@;
}
# Call code reference for all active SIPE accounts
sub forSipeAccounts($)
{
my($code) = @_;
croak "ERROR: ${code} should be code reference"
unless ref($code) eq "CODE";
croak "ERROR: called without initializing"
unless $purple;
# Get list of enabled accounts
my $accounts = $purple->PurpleAccountsGetAllActive();
for my $accountId (@{ $accounts }) {
my $username = $purple->PurpleAccountGetUsername($accountId);
my $protocolId = $purple->PurpleAccountGetProtocolId($accountId);
my $protocolName = $purple->PurpleAccountGetProtocolName($accountId);
my $connectionId = $purple->PurpleAccountGetConnection($accountId);
print "found account ${accountId}: ${username} (${protocolId}/${protocolName}, ${connectionId})\n";
# Filter out SIPE accounts that are online
if (($protocolId eq 'prpl-sipe') && ($connectionId != 0)) {
# Filter out SIPE accounts that are really connected
if ($purple->PurpleConnectionIsConnected($connectionId)) {
# Call code reference
$code->($purple, $accountId, $username);
}
}
}
}
# modules need to return a true value
1;
================================================
FILE: contrib/dbus/sipe-call-phone-number.pl
================================================
#!/usr/bin/perl -w
#
# @file sipe-call-phone-number.pl
#
# pidgin-sipe
#
# Copyright (C) 2017 SIPE Project <http://sipe.sourceforge.net/>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#
# Test code for D-Bus interface "SipeCallPhoneNumber"
#
use 5.024;
use strict;
use warnings;
use FindBin;
use lib $FindBin::Bin;
use SipeHelper;
# Check command line parameters
die "usage: $0 <phone number>>\n"
unless @ARGV >= 1;
my($number) = @ARGV;
SipeHelper::init();
SipeHelper::forSipeAccounts(sub {
my($purple, $accountId, $username) = @_;
print "Trying to call phone number '${number}' on SIPE account '${username}'...\n";
$purple->SipeCallPhoneNumber($accountId, $number);
});
# That's all folks...
exit 0;
================================================
FILE: contrib/dbus/sipe-join-conference-with-organizer-and-id.pl
================================================
#!/usr/bin/perl -w
#
# @file sipe-join-conference-with-organizer-and-id.pl
#
# pidgin-sipe
#
# Copyright (C) 2017 SIPE Project <http://sipe.sourceforge.net/>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#
# Test code for D-Bus interface "SipeJoinConferenceWithOrganizerAndId"
#
use 5.024;
use strict;
use warnings;
use FindBin;
use lib $FindBin::Bin;
use SipeHelper;
# Check command line parameters
die "usage: $0 <organizer account> <meeting ID>\n"
unless @ARGV >= 2;
my($organizer, $id) = @ARGV;
SipeHelper::init();
SipeHelper::forSipeAccounts(sub {
my($purple, $accountId, $username) = @_;
print "Trying to join ${organizer}'s conference '${id}' on SIPE account '${username}'...\n";
$purple->SipeJoinConferenceWithOrganizerAndId($accountId, $organizer, $id);
});
# That's all folks...
exit 0;
================================================
FILE: contrib/dbus/sipe-join-conference-with-uri.pl
================================================
#!/usr/bin/perl -w
#
# @file sipe-join-conference-with-uri.pl
#
# pidgin-sipe
#
# Copyright (C) 2017 SIPE Project <http://sipe.sourceforge.net/>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#
# Test code for D-Bus interface "SipeJoinConferenceWithUri"
#
use 5.024;
use strict;
use warnings;
use FindBin;
use lib $FindBin::Bin;
use SipeHelper;
# Check command line parameters
die "usage: $0 <conference URI> [<conference URI> ...]\n"
unless @ARGV;
SipeHelper::init();
SipeHelper::forSipeAccounts(sub {
my($purple, $accountId, $username) = @_;
for my $uri (@ARGV) {
print "Trying to join conference '${uri}' on SIPE account '${username}'...\n";
$purple->SipeJoinConferenceWithUri($accountId, $uri);
}
});
# That's all folks...
exit 0;
================================================
FILE: contrib/dbus/sipe-republish-calendar.pl
================================================
#!/usr/bin/perl -w
#
# @file sipe-republish-calendar.pl
#
# pidgin-sipe
#
# Copyright (C) 2017 SIPE Project <http://sipe.sourceforge.net/>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#
# Test code for D-Bus interface "SipeRepublishCalendar"
#
use 5.024;
use strict;
use warnings;
use FindBin;
use lib $FindBin::Bin;
use SipeHelper;
SipeHelper::init();
SipeHelper::forSipeAccounts(sub {
my($purple, $accountId, $username) = @_;
print "Trying to republish calendar data on SIPE account '${username}'...\n";
$purple->SipeRepublishCalendar($accountId);
});
# That's all folks...
exit 0;
================================================
FILE: contrib/dbus/sipe-reset-status.pl
================================================
#!/usr/bin/perl -w
#
# @file sipe-reset-status.pl
#
# pidgin-sipe
#
# Copyright (C) 2017 SIPE Project <http://sipe.sourceforge.net/>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#
# Test code for D-Bus interface "SipeResetStatus"
#
use 5.024;
use strict;
use warnings;
use FindBin;
use lib $FindBin::Bin;
use SipeHelper;
SipeHelper::init();
SipeHelper::forSipeAccounts(sub {
my($purple, $accountId, $username) = @_;
print "Trying to reset status on SIPE account '${username}'...\n";
$purple->SipeResetStatus($accountId);
});
# That's all folks...
exit 0;
================================================
FILE: contrib/debian/changelog
================================================
pidgin-sipe (1.25.0-1) unstable; urgency=low
* New version 1.25.0 "Buddy Idle Time, RTF" (2019-10-12)
- Feature #107: Provide idle start time for a buddy (Stefan Becker)
- Feature #77: RTF support (incoming) (Stefan Becker)
* the code only extracts plain text from incoming RTF
- Fixed #358: FTBFS with glib-2.0 >= 2.62.0 (Stefan Becker)
- Fixed #350: Inconsistent parsing of From:/To: headers (Stefan Becker)
- raise BR telepathy-glib >= 0.24.0 (Stefan Becker)
- switch from GPLv2+ to SPDX identifier GPL-2.0-or-later (Stefan Becker)
-- Stefan Becker <chemobejk@gmail.com> Sat, 12 Oct 2019 11:43:00 +0300
pidgin-sipe (1.24.0-1) unstable; urgency=low
* New version 1.24.0 "Application Sharing II" (2018-11-10)
- Feature #104: Use user agent also for HTTP (Stefan Becker)
- Feature #6: Application Sharing Server (Jakub Adam)
* requires freerdp-shadow2
- Fixed #343: Build fails on FreeBSD
- add timeout handling for media streams (Alaoui Youness)
- update AppStream handling (Jakub Adam, Stefan Becker)
- fix missing localisation in some code modules (Stefan Becker)
- debug log improvements (Stefan Becker)
-- Stefan Becker <chemobejk@gmail.com> Sat, 10 Nov 2018 17:38:00 +0200
pidgin-sipe (1.23.3-1) unstable; urgency=low
* New version 1.23.3 "Bug Fixes III" (2018-08-20)
- appshare: fix black screen with Remmina v1.2.0-rcgit.27 (Jakub Adam)
- various minor fixes (Jakub Adam, Michael Olbrich)
- fix compilation errors with libpurple 2.14.0 & GCC 8.0 (Jakub Adam, Stefan Becker)
- mingw: update fetch script to Pidgin 2.13.0 (Stefan Becker)
-- Stefan Becker <chemobejk@gmail.com> Mon, 20 Aug 2018 16:56:00 +0300
pidgin-sipe (1.23.2-1) unstable; urgency=low
* New upstream version 1.23.2 "Bug Fixes II" (2018-03-10)
- fix some HTTP requests that were not sent (Jakub Adam, Stefan Becker)
-- Stefan Becker <chemobejk@gmail.com> Sat, 10 Mar 2018 17:52:35 +0200
pidgin-sipe (1.23.1-1) unstable; urgency=low
* New upstream version 1.23.1 "Bug Fixes I" (2018-02-25)
- Fixed #338: Incorrect port 0 for IPv6 socket on Windows (Stefan Becker)
- Fixed #337: Duplicate candidates in SDP (Jakub Adam, Stefan Becker)
- Fixed #336: Lync autodiscover does not follow user redirect (Stefan Becker)
- media: unconditionally ignore multichannel codecs (Jakub Adam)
- updated translations: Turkish (tr)
-- Stefan Becker <chemobejk@gmail.com> Sun, 25 Feb 2018 15:05:00 +0200
pidgin-sipe (1.23.0-1) unstable; urgency=low
* New upstream version 1.23.0 "D-Bus, IPv6, OS X 10.11+" (2017-10-28)
- Feature #101: Mac OS X 10.13 OpenSSL support (Stefan Becker)
- Feature #100: Extend libpurple D-Bus interface (Stefan Becker)
- Feature #99: IPv6 addresses in SIP & SDP messages (Stefan Becker)
- Feature #96: Support for OS X 10.11+ SDK (Stefan Becker)
- don't load buddy photos from unknown sites by default (Jakub Adam, Stefan Becker)
* custom web URIs pose a security risk as they may be abused
* users can override this behaviour in the account settings
* Office365 accounts should not be affected by this change
- add support for GMime 3.0 API (Stefan Becker)
- raise BR glib-2.0 >= 2.18.0 (Stefan Becker)
- raise BR purple >= 2.7.0 (Stefan Becker)
- drop support for GMime 2.4 (Stefan Becker)
- drop support for gstreamer-0.10 (Stefan Becker)
-- Stefan Becker <chemobejk@gmail.com> Sat, 28 Oct 2017 18:16:00 +0300
pidgin-sipe (1.22.1-1) unstable; urgency=low
* New upstream version 1.22.1 "Bug Fixes I" (2017-06-11)
- Fixed #320: Multiple client detection broken (Stefan Becker)
- speed up Lync Autodiscover by using AccessLocation (Andrey Vaynberger)
- adium: update build instructions for Xcode 7.x or newer (Stefan Becker)
* the build environment used for releases 1.22.0 or older (Xcode 6.x
on OS X 10.11) is no longer available to the project
* releases starting with 1.22.1 will use Xcode 8.x on macOS 10.12
* build target continues to be OS X 10.9
- purple: avoid rare SSL read deadlock (Stefan Becker)
- various minor fixes (Michael Olbrich)
- crypto: make code compile with OpenSSL 1.1.0 (Stefan Becker)
- drop references to Reuters Messaging (Stefan Becker)
- updated translations: Lithuanian (lt), Russian (ru), Swedish (sv), Turkish (tr)
-- Stefan Becker <chemobejk@gmail.com> Sun, 11 Jun 2017 18:38:00 +0300
pidgin-sipe (1.22.0-1) unstable; urgency=low
* New upstream version 1.22.0 "Application Sharing, Lync Autodiscover & Logging" (2017-02-01)
- Feature #93: Support for Lync Autodiscover (Stefan Becker)
- Feature #6: Application Sharing Viewer (Jakub Adam)
* requires libpurple >= 2.12.0
* needs an external RDP client - remmina and xfreerdp are supported
- Fixed #315: Crash when contact list is empty (Stefan Becker)
- Fixed #314: sipe login problems with long pw (Stefan Becker)
- separate logging and debugging output (Stefan Becker)
* logging is always shown, e.g. in the Pidgin debug window
* full message debugging now requires PURPLE_UNSAFE_DEBUG=1
- new translations: Greek (el), Lithuanian (lt)
-- Stefan Becker <chemobejk@gmail.com> Wed, 01 Feb 2017 18:57:00 +0200
pidgin-sipe (1.21.1-1) unstable; urgency=low
* New upstream version 1.21.1 "Bug Fixes I" (2016-05-28)
- various bug fixes in media support (Jakub Adam)
- configure no longer ignores CFLAGS/LDFLAGS/LIBS (Stefan Becker)
-- Stefan Becker <chemobejk@gmail.com> Sat, 28 May 2016 18:19:00 +0300
pidgin-sipe (1.21.0-1) unstable; urgency=low
* New upstream version 1.21.0 "Lync File Transfer" (2016-04-23)
- Feature #91: Support embedded XML as buddy photo URL (Stefan Becker)
- Feature #90: Add AppStream metadata file (Jiri Eischmann, Stefan Becker)
- Feature #89: Improve "Join scheduled conference" dialog (Stefan Becker)
- Feature #87: Support multiple HTTP cookies (Stefan Becker)
- Feature #85: XML raw extract should ignore name space (Stefan Becker)
- Fixed #311: Crash when SIP transport becomes invalid (Stefan Becker)
- Fixed #293: Mandatory wsa:MessageID node missing (Stefan Becker)
- add support for Lync File Transfer protocol (Jakub Adam)
* requires libpurple >= 2.12.0
* Lync FT will be used for sending files when Lync 2013 is detected
- add build options to "About SIPE plugin" message (Stefan Becker)
-- Stefan Becker <chemobejk@gmail.com> Sat, 23 Apr 2016 15:55:00 +0300
pidgin-sipe (1.20.1-1) unstable; urgency=low
* New upstream version 1.20.1 "Bug Fixes I" (2015-10-24)
- add support for another type of ADFS response (Stefan Becker)
- improve configure check for back-ported features (Stefan Becker, Jakub Adam)
- updated translations: French (fr), Russian (ru)
-- Stefan Becker <chemobejk@gmail.com> Sat, 24 Oct 2015 15:20:00 +0300
pidgin-sipe (1.20.0-1) unstable; urgency=low
* New upstream version 1.20.0 "SRTP, Conference URL & TLS-DSK Improvements" (2015-08-29)
- Feature #82: Parse HTML from Lync conference URL (Stefan Becker)
- Feature #69: SRTP Support (Jakub Adam)
* requires libpurple >= 3.0.0
- Fixed #285: Office365 rejects RC4 in TLS-DSK (Stefan Becker)
* added support for AES-128/256-CBC
-- Stefan Becker <chemobejk@gmail.com> Sat, 29 Aug 2015 18:07:00 +0300
pidgin-sipe (1.19.1-1) unstable; urgency=low
* New upstream version 1.19.1 "Bug Fixes I" (2015-04-04)
- Fixed #278: 488 error after libnice upgrade (Jakub Adam)
- fix SIP re-authentication timeout to be max. 8 hours (Stefan Becker)
-- Stefan Becker <chemobejk@gmail.com> Sat, 04 Apr 2015 17:05:00 +0300
pidgin-sipe (1.19.0-1) unstable; urgency=low
* New upstream version 1.19.0 "Auto Authentication, MFA & Search Improvements" (2015-02-07)
- Feature #80: Move parsing of login name (Stefan Becker)
- Feature #79: support for Adium group chat bookmarks (David Matz, Stefan Becker)
- Feature #78: Support searching for SIP ID (Stefan Becker)
- Feature #76: ADFS can't always be used (Stefan Becker)
* for accounts that have Multi-Factor Authentication (MFA) enabled
- Feature #73: Support buddy photos from contactCard (Stefan Becker)
- Feature #65: Fall back from Kerberos to NTLM (Stefan Becker)
- Fixed #277: Raised contact names (Stefan Becker)
- Fixed #240: Corrupted HTTP response crashes SIPE (Stefan Becker)
- fix calendar state machine when EWS URL is set (Stefan Becker)
- fall back to [MS-DLX] BasicSearch to improve search experience (Stefan Becker, various)
- implement search functionality for UCS (Stefan Becker)
- adium: add chat room list UI (David Matz)
- adium: fix duplicate debug log messages (Stefan Becker)
- support for libnice TCP mode (Youness Alaoul, Jakub Adam)
- refactor CCCP request code (Jakub Adam)
-- Stefan Becker <chemobejk@gmail.com> Sat, 07 Feb 2015 13:48:00 +0200
pidgin-sipe (1.18.5-1) unstable; urgency=low
* New upstream version 1.18.5 "Bug Fixes V" (2014-12-29)
- Fixed #276: Redundant "const" breaks build with clang (Stefan Becker)
- Fixed #269: purple idle-away converted to Away (Stefan Becker)
- svc: use authuser for RealmInfo request (Stefan Becker)
- adium: add release checking script (Stefan Becker)
- mingw: update fetch script to Pidgin 2.10.11 (Stefan Becker)
- updated translations: Italian (it), Swedish (sv)
-- Stefan Becker <chemobejk@gmail.com> Mon, 29 Dec 2014 21:04:00 +0200
pidgin-sipe (1.18.4-1) unstable; urgency=low
* New upstream version 1.18.4 "Bug Fixes IV" (2014-10-18)
- Fixed #263: ADFS fails when user and login name differ (Stefan Becker)
- Fixed #262: Adium: SIPE doesn't auto- or re-connect (Stefan Becker)
- fixed memory leaks (Stefan Becker)
- fixed processing of presence publish event response (John Zhang, Stefan Becker)
* fixes a longstanding issue that the Pidgin user status sometimes
didn't switch back to "Available" after the end of a meeting
-- Stefan Becker <chemobejk@gmail.com> Sat, 18 Oct 2014 17:24:00 +0300
pidgin-sipe (1.18.3-1) unstable; urgency=low
* New upstream version 1.18.3 "Bug Fixes III" (2014-08-16)
- Fixed #259: HTML response to EWS autodiscover triggers libxml2 assert (Stefan Becker)
- Fixed #258: V&V call gets rejected when IPv6 is enabled (Stefan Becker, Jakub Adam)
- Fixed #257: Windows 7: SIPE crashes after a minute (Stefan Becker)
- mingw: improve crash information reporting (Stefan Becker)
-- Stefan Becker <chemobejk@gmail.com> Sat, 16 Aug 2014 14:31:00 +0300
pidgin-sipe (1.18.2-1) unstable; urgency=low
* New upstream version 1.18.2 "Bug Fixes II" (2014-06-07)
- Fixed #255: Crash when PersistentChat sends BYE instead of response (Stefan Becker)
- Fixed #248: Remove libpurple SSL configure check (Stefan Becker)
- Fixed #245: "Unable to resolve DNS SRV record" error when joining conference (Stefan Becker)
- Fixed #241: Adium filters ":" from "sip:" (Stefan Becker)
- Fixed #210: Conference call ends with error message (for real this time, Jakub Adam)
- ews: extract settings also from type EXPR (Stefan Becker)
- ucs: honor user specified email URL (Stefan Becker)
- adium: fix compilation on OS X 10.7 (Stefan Becker)
- updated Transifex URLs (Stefan Becker)
- updated translations: Hindi (hi), Telugu (te)
-- Stefan Becker <chemobejk@gmail.com> Sat, 07 Jun 2014 12:29:00 +0300
pidgin-sipe (1.18.1-1) unstable; urgency=low
* New upstream version 1.18.1 "Bug Fixes I" (2014-04-12)
- Fixed #238: False "not delivered" in conference (Stefan Becker)
- Fixed #237: HTML escaping not removed from URL (Stefan Becker)
- Fixed #210: Conference call ends with error message (Jakub Adam)
- fix endless loop with failed HTTP Basic authentication (Stefan Becker)
- fix crash when gstreamer nice plugin is missing (Stefan Becker, Jakub Adam)
- fix EWS autodiscover for some Office 365 users (Stefan Becker)
- purple: fix missing "Copy to" in buddy menu (Stefan Becker)
- purple/adium: ignore empty search values (Stefan Becker)
- adium: fix group chat UI (Stefan Becker)
- adium: implement BEAST mitigations for 10.8.5 (Michael Lamb)
- add indication when user is connected from a mobile device (Harris Kauffman)
- updated translations: Chinese (zh_CN), Portuguese (pt)
-- Stefan Becker <chemobejk@gmail.com> Sat, 12 Apr 2014 17:54:00 +0300
pidgin-sipe (1.18.0-1) unstable; urgency=low
* New upstream version 1.18.0 "Adium, GSS-NTLMSSP & OpenSSL" (2014-01-11)
- Feature #71: Add support for EWS Autodiscover redirection (Stefan Becker)
- Feature #69: Add UI support for (group) chats (Michael Lamb)
* NOTE: Adium does not have an UI to fetch the room list
- Feature #64: Add support for GSS-NTLMSSP (Stefan Becker)
* sip-sec-krb5.c module has been renamed to sip-sec-gssapi.c
* if gssapi/gssapi_ntlmssp.h is detected then sip-sec-ntlm.c will
be disabled and NTLM will be handled by sip-sec-gssapi.c instead
* NOTE: at the time of this writing the user has to set up
GSS-NTLMSSP by hand on his system, i.e. /etc/gss/mech
- Fixed #227: Adium client doesn't save email option settings (Harris P. Kauffman)
- Fixed #216: SIPE stops working on Mavericks (Stefan Becker, Michael Lamb)
* add an UI option to disable SSL BEAST mitigations
* NOTE: requires Adium 1.5.10
- Fixed #197: Account stays in connecting stage (Harris P. Kauffman)
- cleanup for sip-sec Kerberos & SSPI modules (Stefan Becker)
* replace old TGT hack with gss_acquire_cred_with_password()
* clean up Kerberos detection in configure
* remove special case handling; code is more straight-forward now
* thanks to David Woodhouse and Simo Sorce for the GSSAPI information
- implement internal keepalive handling (Stefan Becker)
- implement crypto backend based on OpenSSL (Stefan Becker)
- adium: Xcode project files update (Michael Lamb)
- adium: replace NSS crypto backend with OpenSSL (Stefan Becker)
* NOTE: please make sure to read the updated build instructions!
-- Stefan Becker <chemobejk@gmail.com> Sat, 11 Jan 2014 16:10:00 +0200
pidgin-sipe (1.17.3-1) unstable; urgency=low
* New upstream version 1.17.3 "Bug Fixes III" (2013-12-11)
- Fixed #225: HTTP re-authentication with NTLM fails (Stefan Becker)
- Fixed #222: SIPE crashes when groupchat session expires (Stefan Becker)
- fix UCS Persona key extraction (Stefan Becker)
-- Stefan Becker <chemobejk@gmail.com> Wed, 11 Dec 2013 21:18:00 +0200
pidgin-sipe (1.17.2-1) unstable; urgency=low
* New upstream version 1.17.2 "Bug Fixes II" (2013-11-30)
- Fixed #214: Typing notification does not always work (Stefan Becker)
* reverted one change which caused problems for some users
- Fixed #222: SIPE crashes when groupchat session expires (Stefan Becker)
- updated translations: Romanian (ro)
-- Stefan Becker <chemobejk@gmail.com> Sat, 30 Nov 2013 17:51:00 +0200
pidgin-sipe (1.17.1-1) unstable; urgency=low
* New upstream version 1.17.1 "Bug Fixes I" (2013-11-16)
- Fixed #215: Password not entity encoded in WSSE element (Stefan Becker)
- Fixed #214: Typing notification does not always work (Stefan Becker)
- accept alternatives for webticket timestamp/keydata (Stefan Becker)
- adium: add "don't publish calendar" to account UI (Stefan Becker)
- contrib: add SSL BEAST mitigation patch for Adium (Stefan Becker)
- updated translations: French (fr)
-- Stefan Becker <chemobejk@gmail.com> Sat, 16 Nov 2013 16:21:00 +0200
pidgin-sipe (1.17.0-1) unstable; urgency=low
* New upstream version 1.17.0 "Lync 2013" (2013-09-21)
- Feature #62: Support for Lync 2013 Unified Contact Store (Stefan Becker)
- Feature #59: Support for Lync 2013 Persistent Chats (Stefan Becker)
- Fixed #211: Status "away" or "busy" incorrectly mapped to "Invisible" (Michael Lamb)
- Fixed #209: group chat doesn't like HTML (Stefan Becker)
- Fixed #200: OCS archiving system blocks audio/video connection (Jakub Adam)
- Fixed #187: Duplicate messages in group chat (Stefan Becker)
- Fixed #184: Duplicate users showing in Group Chat (Stefan Becker)
- fix EWS autodiscover for Office 365 (Stefan Becker)
- add support for group chat history (Stefan Becker)
- add support for buddy photos on Lync 2013 (Stefan Becker)
-- Stefan Becker <chemobejk@gmail.com> Sat, 21 Sep 2013 16:34:00 +0300
pidgin-sipe (1.16.1-1) unstable; urgency=low
* New upstream version 1.16.1 "Bug Fixes I" (2013-07-13)
- Feature #66: Windows DLL version information (Stefan Becker)
- fix call failure when host has multiple IP addresses (Jakub Adam)
- fix buddy list handling after moving to Lync 2013 (Stefan Becker)
* Lync 2013 migrates buddy list to Unified Contact Store (UCS)
* NOTE: modifying the buddy list is *NOT* supported yet!
- crash fixes for new HTTP stack (Stefan Becker)
-- Stefan Becker <chemobejk@gmail.com> Sat, 13 Jul 2013 16:20:00 +0300
pidgin-sipe (1.16.0-1) unstable; urgency=low
* New upstream version 1.16.0 "HTTP Rewrite & Subscription Fixes" (2013-06-14)
- Feature #58: Implement Digest authentication scheme for SIP Proxy Authentication (Stefan Becker)
- Fixed #196: Useragent value not forwarded to core (Michael Lamb)
- Fixed #193: Pidgin Status changes stop working (Stefan Becker)
- Fixed #186: Users appear offline when they are not (Stefan Becker)
- fix kinit-less use case with krb5 >= 1.11 (Stefan Becker)
- rewritten HTTP stack from scratch (Stefan Becker)
* cleaner, layered and hopefully less error-prone implementation
* HTTP stack internals no longer exposed to user code
* reduced network traffic and less SSL handshakes by utilizing HTTP/1.1
connection keep alive for multiple HTTP requests to the same host
- switch purple backend to deferred destruction approach (Stefan Becker)
* Pidgin should no longer crash at connection close, even in corner cases
- add menu entry to make a call with a phone number (Jakub Adam)
- some progress on telepathy backend (Stefan Becker)
* add TLS certificate accept/reject user interaction
* add "Single Sign-On" & "Don't Publish Calendar" account options
-- Stefan Becker <chemobejk@gmail.com> Fri, 14 Jun 2013 19:57:00 +0300
pidgin-sipe (1.15.1-1) unstable; urgency=low
* New upstream version 1.15.1 "Bug Fixes I"
- NOTE: SIPE SourceForge project got updated. Because of this all bug
and feature request numbers have changed.
- Fixed #190: SIP 407 response rejected with invalid message signature (Stefan Becker)
- Fixed #189: Adium SIPE plugin vs. libpurple linking issues (Michael Lamb)
- fixed free-after-use issue that caused crashes for some users (Stefan Becker)
- fixed broken NTLM fallback in Negotiate (Stefan Becker)
- fixed subscriptions expiration by subscribing again after re-authentication (Stefan Becker)
- allow different user name and login for Office 365 authentication (Stefan Becker)
- add SIPE version & git commit ID to debug log (Stefan Becker)
- added valgrind log analyzer script (Stefan Becker)
- added NTLM message anaylzer (Stefan Becker)
- updated translations: Hungarion (hu), Romanian (ro)
- updated Adium port (Michael Lamb, Harris P. Kauffman)
-- Stefan Becker <chemobejk@gmail.com> Sun, 07 Apr 2013 15:09:00 +0300
pidgin-sipe (1.15.0-1) unstable; urgency=low
* New upstream version 1.15.0 "Authentication & Autodiscovery Update"
- Feature #3578135: Support Kerberos for HTTP(S) authentication w/o SSPI (Stefan Becker)
* effective for all platforms that support --with-krb5
* this triggered a series of cleanup & simplification changes and
functionality & memory leak fixes in the sip-sec modules
* special thanks to Jarek Polok for the logs and testing
- Feature #3594094: Add HTTPS to autodiscover probe (Stefan Becker)
- Feature #3607040: Simple button to disable calendar integration (Stefan Becker)
- Fixed #3603228: Crash on 1.14.1 when connecting to server (Stefan Becker)
- Fixed #3604671: sip uri with apostrophe is not valid (Stefan Becker)
- fixed HTTP redirect crash (Stefan Becker)
- unified Single Sign-On handling in all places (Stefan Becker)
* if SSO is enabled then "Login" & "Password" settings are ignored
* SSO is now off by default for new accounts
* NOTE: if you do *NOT* use SSO, then be sure to disable it in the
"Advanced" tab of the account settings after updating!
- added implementation for HTTP "WWW-Authenticate: Negotiate" scheme (Stefan Becker)
* effective for all platforms that support --with-krb5
* it will try Kerberos first, then fall back to NTLM
* valid Kerberos Single Sign-On setup will be detected automatically
* setup for a mixed Kerberos/NTLM HTTP environment:
- login name: DOMAIN\account
- password: domain password
- authentication: Kerberos
- Single Sign-On: OFF(!) (see above)
- enabled TLS-DSK support in Windows SSPI version
- TLS-DSK: don't ask for password if SSPI or Kerberos are compiled in
- Farstream 0.1.1 compatibility fix (Jakub Adam)
- support conf:sip: meeting URIs (Jakub Adam)
- updated Adium port (Michael Lamb)
-- Stefan Becker <chemobejk@gmail.com> Sat, 09 Mar 2013 15:25:00 +0200
pidgin-sipe (1.14.1-1) unstable; urgency=low
* New upstream version version 1.14.1 "Bug Fixes I"
- Feature #3578132: Kerberos configuration should be passwordless (Stefan Becker)
* purple: non Single Sign-on users are asked for the password again
- bug & memory leak fixes in sipe-buddy.c (Jakub Adam)
-- Stefan Becker <chemobejk@gmail.com> Wed, 26 Dec 2012 16:23:00 +0200
pidgin-sipe (1.14.0-1) unstable; urgency=low
* New upstream version 1.14.0 "Buddy photo & ADFS support, Web Ticket Optimizations"
- Feature #3585364: Add support for Web Ticket authentication using ADFS (Stefan Becker)
* special thanks to user bhakta79 for the hard work taking logs
- Feature #3578132: Kerberos configuration should be passwordless (Stefan Becker)
- Fixed #3580212: Connection drops after a few hours (Stefan Becker)
- add support for buddy photos (Jakub Adam)
- add support for call to Audio Test Service (Jakub Adam)
- initial implementation for telepathy backend (Stefan Becker)
* nothing much to see for end users yet...
- reduce Web Ticket traffic by queueing requests & caching tickets (Stefan Becker)
- update OBS packaging information for Debian (Stefan Becker)
- various minor bug & build fixes
-- Stefan Becker <chemobejk@gmail.com> Sun, 16 Dec 2012 16:28:00 +0200
pidgin-sipe (1.13.3-1) unstable; urgency=low
* New upstream version 1.13.3 "Bug Fixes III" (2012-08-19)
- Fixed #3537084: OpenBSD build issue (Stefan Becker)
- Fixed #3543294: Support Lync 2010 meet URLs (Jakub Adam)
- revert to legacy MSOC protocol on Lync FT invitation (Jakub Adam)
- fix broken busy->available status switch (Stefan Becker)
- updated translations: Portuguese (pt)
-- Stefan Becker <chemobejk@gmail.com> Sun, 19 Aug 2012 12:03:00 +0300
pidgin-sipe (1.13.2-1) unstable; urgency=low
* New upstream version 1.13.2 "Bug Fixes II" (2012-06-10)
- tls: fix buffer overrun (Oleksandr Hryshchuk, Stefan Becker)
- win32: fix TCP connections (Stefan Becker)
- nsis: fix broken locale installation (Stefan Becker)
- updated translations: French (fr)
- various build fixes (Stefan Becker, Jakub Adam)
-- Stefan Becker <chemobejk@gmail.com> Sun, 10 Jun 2012 15:48:00 +0300
pidgin-sipe (1.13.1-1) unstable; urgency=low
* New upstream version 1.13.1 "Bug Fixes I"
- detect incompatible encryption level with Lync (Jakub Adam)
- purple: add URI validity check to Add Buddy callback (Stefan Becker)
- new translations: Romanian (ro), Turkish (tr)
- various build fixes (Stefan Becker)
-- Stefan Becker <chemobejk@gmail.com> Mon, 09 Apr 2012 12:29:42 +0300
pidgin-sipe (1.13.0-1) unstable; urgency=low
* New upstream version 1.13.0 "Lync & Office365"
- added [MS-SIPAE] TLS-DSK authentication scheme (Stefan Becker)
* TLS-DSK has been introduced in Lync
* mandatory for Office365 accounts
* also works for non-public Lync installations
* does not work yet with SSPI on Windows
- added [MS-DLX] based Get Info/Contact Search (Stefan Becker)
* [MS-PRES] SIP-Based Active Directory Search is disabled in Lync
- added experimental media TCP transport (Jakub Adam)
- make it compile against the latest purple 3.0.x API (Stefan Becker)
- make it compile against the latest glib2 2.31.x API (Stefan Becker)
- completed cleanup: core no longer requires libpurple (Stefan Becker)
- refactored crypto code, ie. NSS can replaced if necessary (Stefan Becker)
- sipe-domino.c is no longer built under UNIX to remove dead code (Stefan Becker)
- restricted XXX_CFLAGS to modules that need them (Stefan Becker)
- NSS is now a mandatory build requirement (Stefan Becker)
- decoupled SSPI from HAVE_LIBKRB5 flag. New flag is HAVE_SSPI (Stefan Becker)
- OBS mingw packages now use SSPI instead of NTLM (Stefan Becker)
- added NSIS package generation to OBS mingw packages (Stefan Becker)
- removed kopete backend. KDE is moving to telepathy (Stefan Becker)
- added MinGW cross-compilation on Linux instructions (Stefan Becker)
-- Stefan Becker <chemobejk@gmail.com> Wed, 14 Mar 2012 19:30:23 +0200
pidgin-sipe (1.12.0-1) unstable; urgency=low
* New upstream version 1.12.0 "Group Chat"
- Feature #3064877: Add support for OCS2007R2 Group Chat (Stefan Becker)
- Feature #3311026: Support for HTTP/1.1 Transfer-Encoding: chunked (Stefan Becker)
- Fixed #2834758: First NTLM signature check after startup fails (Stefan Becker)
- Fixed #3082602: Crash on Autodiscover (Stefan Becker)
- Fixed #3090663: Re-authentication fails (Stefan Becker)
- Fixed #3092324: Core dump in "make check" (psfales)
- Fixed #3130915: Failed to authenticate to server (Stefan Becker)
- Fixed #3148124: sipe segfaults during login on Solaris (Jakub Adam)
- Fixed #3150482: "configure --with-vv" test uses wrong include (Stefan Becker)
- Fixed #3156430: Messages not Delivered (rwinchsf, Stefan Becker)
- Fixed #3161273: Lost Connection Gives No Error Message (rwinchsf, Stefan Becker)
- Fixed #3198585: Extra line breaks (Stefan Becker)
- Fixed #3267073: False "could not be delivered" errors (sort of..., Stefan Becker)
- Fixed #3399007: Crash when sipe_cal_working_hours->days_of_week is NULL (Stefan Becker)
- Patch #3091490: Make 1.11.0 Compile on FreeBSD (jprather)
- Patch #3108246: Patch for better windows installer (archrival, galiven)
- add random Ms-Conversation-ID to INVITE (Jakub Adam)
- fix parsing of P-Asserted-Identity header (Jakub Adam)
- added MS TURN support (Jakub Adam)
- fix crash on zero length password in NTLM (Vladimir Ushakov)
- implement timeouts for SIP request. Used for REGISTER (Stefan Becker)
- more work on Voice & Video call support (Jakub Adam)
- make it compile against the purple 2.8.x & 3.0.x APIs (Stefan Becker)
- more internal changes to prepare for non-purple backends (Stefan Becker)
- added integration for transifex.net update (Stefan Becker)
- configure improvements for 64-bit: use libdir, gsize/size_t compatibility (Stefan Becker)
- update compiler warnings configuration for all build platforms (Stefan Becker)
- updated Adium port (Matthew Duggan)
- mingw build updates (Harris P. Kauffman, Stefan Becker)
- added miranda port (Jochen De Smet)
- added mingw to OpenSUSE Build Service configuration (Stefan Becker)
-- Anibal Avelar <aavelar@cofradia.org> Mon, 29 Aug 2011 00:50:47 -0500
pidgin-sipe (1.11.2-1) unstable; urgency=low
* New upstream version 1.11.2 "Hot fixes II"
- Revert "mingw: add missing purple-notify.c to build"
- Sipe-sign: fix parsing of P-Asserted-Identity header
- Fixed memory leaks
- Fix #3090663: Re-authentication fails
- Fix #3090663: Re-authentication fails (2nd attempt)
- Fix #3090663: Re-authentication fails (3rd attempt)
- Fix #3090663: Re-authentication fails (4th attempt)
- Apply patch #3091490: Make 1.11.0 Compile on FreeBSD
- Fix #3092324: Core dump in "make check"
-- Anibal Avelar <aavelar@cofradia.org> Tue, 02 Nov 2010 23:48:33 -0600
pidgin-sipe (1.11.1-1) unstable; urgency=low
* New upstream version 1.11.1 "Hot fixes"
- mingw: add missing purple-notify.c to build
- Fix for bug #2834758: First NTLM signature check after startup fails
- purple: fix memory leak in sipe_backend_transport_connect() error path
- Fix for bug #3082602: Crash on Autodiscover
- configure: use libdir & datadir instead of prefix + path
- configure: update 32-bit vs. 64-bit header conflict test
- debian: build stability fix in post-install
-- Anibal Avelar <aavelar@cofradia.org> Sun, 24 Oct 2010 00:00:00 +0300
pidgin-sipe (1.11.0-1) unstable; urgency=low
* New upstream version
- Feature #2945346: Lotus Notes/Domino Calendar integration:
* Sipe can now retrieve calendar data (Meeting schedule/subject/
location) from a web-enabled Lotus Domino server and publish it to
OCS2007/LCS2005 as availability information.
* Example: "Calendar: Currently Busy. Free at 11:30".
* Team members (contacts with access level Team) will be able to see
information about our current meeting (subject & location) (OCS2007)
* First calendar update is scheduled 1 minute after connect,
* Subsequent calendar updates happen in 30 minute intervals.
* Manual calendar update can be triggered using the following menu:
Accounts->{SIPE_ACCOUNT}->"Republish Calendar"
* Though Domino integration can work without any additional settings
in account configuration (on Windows), there are options to manually
provide Domino Services URL and email address/password if it's
different from SIP URI/Password settings on Basic tab.
- Fixed #2971422: idle check for OCS2005 presence case
- Fixed #2982424: krb5 build errors on FreeBSD
- Fixed #2997639: pidgin crash after accepting cert
- Fixed #3001523: Cancelling a long pending file transfer crashes Pidgin
- Fixed #3002993: Group Name issues with ampersand
- Fixed #3029228: Calendar published at/with incorrect time
- Fixed #3029929: Crash with outlook 2k3 Calendar
- Fix logout from OCS
- Implement workaround for buddy list menu memory leaks
- Dropped UDP transport support
- Rewrote TCP & TLS transport support
- HTTP improvements: GET, cookies
- Alternative crypt/digest implementation based on NSS
- Rewrote message debug log and implemented an analyzer script for it
- More internal changes to prepare for non-purple backends
- New translations: 'nl', 'sv', 'ar', 'hu', 'ja', 'ko', 'sv', 'zh_TW'
* Fixed pidgin-sipe: Kerberos authentication is broken (Closes: #597437)
* Fixed pidgin-sipe: no dependency on pidgin (Closes: #594882)
* Fixed pidgin-sipe: new upstream version is available (Closes: #596799)
* Fixed pidgin-sipe: FTBFS: sipe.c:10050: error: missing initializer
(Closes: #582998)
* Added dependency with the libxml2-dev package in debian/control
* Added dependency with libnss3-dev package in debian/control
* Updated with Standards-Version 3.9.1
-- Anibal Avelar <aavelar@cofradia.org> Sun, 03 Oct 2010 22:05:31 +0300
pidgin-sipe (1.10.1-1) unstable; urgency=low
* New upstream version
- Fix broken sipe_ht_equals_nick(); the broken code has been in the
1.10.0 release. As it affects the buddy list it could be the root
cause for some of the "buddy appears offline" reports.
- Make it compile against the final purple 2.7.0 API;
-- Anibal Avelar <aavelar@cofradia.org> Sun, 27 Jun 2010 11:46:59 -0600
pidgin-sipe (1.10.0-1) unstable; urgency=low
* New upstream version
- Feature #2823160: Access Levels (2007+ environment)
- Feature #2957811: add support for "automaton" class
- Feature #2972823: fail on in-line variable declarations
- Fixed #2971422: handle OCS 2005 idiosyncrasy of varying SIP URI case
- Fixed #2981563: Authentication protocol v4 - invalid signature of some
incoming messages containing P-Asserted-Identity or P-Preferred-Identity
with uppercased SIP or TEL in URI.
- Fixed publication/"409 Conflict" endless looping
- Prepare for Pidgin 2.7.0
- Added SVG icon artwork
- Many changes to configure script. Be sure to look at "configure --help"
- Many internal changes to prepare for non-purple backends
- New build requirements: libxml2, glib-2.0 >= 2.12.0
- New build option: gmime-2.4 >= 2.4.16 or gmime-2.6 >= 2.5.2 for
non-purple backends
-- Anibal Avelar <aavelar@cofradia.org> Sun, 04 Apr 2010 00:52:59 -0600
pidgin-sipe (1.9.1-1) unstable; urgency=low
* New upstream version (emergency release)
- Fixed #2969327: Kerberos authentication always fails on *nix platforms
- Fixed #2968287: Authentication failure in scenario when director server
is Office Communications Server 2007 or above and home server is
Live Communications Server 2005
- Send BYE when response to IM message is 408/480/481
- Re-enable offline status to be user settable
-- Anibal Avelar <aavelar@cofradia.org> Tue, 16 Mar 2010 02:13:59 -0600
pidgin-sipe (1.9.0-1) unstable; urgency=low
* New upstream version (Closes: #570735)
* File transfer functionality. File encryption is supported
* NTLMv2 and NTLMv2 Session Security support
* Implemented SIP Authentication Extensions protocol version 4 and 3
* Adoption for commercial UNIX - HP/UX, Irix, Solaris - big endian fixes
* Increased libpurple build requisite to >= 2.4.0
* many crash fixes for error or corner cases in calendar integration
* more detailed code analysis with Coverity Prevent
* build fixes for older libpurple/glib2 versions
* OpenSUSE Build Service configuration files
* Fix NTLM crash if login setting is undefined
* Use of g_str_has_prefix() available since glib 2.2 and null-safe
* build fixes for older OS releases, e.g. Ubuntu older than 9.10.
* Removed the file libsipe.la from the package
* Removed the line dh_pidgin -ppidgin-sipe from debian/rules
* Added ./autogen.sh could be run from debian/rules
* Changed the Section from net to misc inside Source stanza in debian/control
* Changed the Section from net to misc inside Package stanza in debian/control
* Added the Priority header inside Package stanza in debian/control
* Updated the Description inside Package stanza in debian/control
* Updated the debian/copyright file with the new authors list.
* Updated the debian/copyright file with the correct PATH to license GPL2.
* Removed dependency with the libgtk2.0-dev package in debian/control
* Removed dependency with the comerr-dev package in debian/control
* Removed debian/README.debian file from the package
* Added dependency with the libzephyr-dev package in debian/control
-- Anibal Avelar <aavelar@cofradia.org> Wed, 10 Mar 2010 01:05:59 -0600
pidgin-sipe (1.8.0-1) unstable; urgency=low
* New upstream version (Closes: #536100)
* Simplifying the authentication process using only the Basic Settings
screen.
* Added integration with Exchange 2007/2010
* Added Windows Messenger 5.0 (RTC/1.2) compatibility.
* "About SIPE plugin" screen implemented.
* Added Kerberos support.
* Added Multiparty Chat support.
* Fixed many bugs.
* Fixed many potencial memory leaks.
* Fixed support for LCS2005 and OCS2007 (improvementsi and bugs fixed)
* Added "Find on LinkedIn" link on contact's User Info screen
* Updated translations: "de", "pl", "ru", "cs", "da", "es", "fi", "fr, "hi",
"it", "nb", "ta", "zh_CN".
* Fixed for server auto-discovery
* Fixed for User Agent string.
* Added integration with PBX (external phones) using CSTA protocol
* Fixed for CHOWA problems
* Fixed for spaces in Login's username
* Support for Reuters Messaging environment
* Support for message formatting
* Added notification support for undelivered messages
* Extended contact search implementation
* ... and more
* Fixed pidgin-sipe: urls appear w/ underscore prefix (Closes: #529523)
* Updated the debian/copyright file with the new authors list.
* Added DEB_CONFIGURE_EXTRA_FLAGS in debian/rules for extra compile flags
* Added dependency with the libkrb5-dev package
* Removed to delete the file libsipe.la from debian/rules.
* Removed DEB_AUTO_UPDATE_DEBIAN_CONTROL reference from debian/rules.
* Updated with Standards-Version 3.8.4
-- Anibal Avelar <aavelar@cofradia.org> Sun, 07 Feb 2010 04:48:35 -0500
pidgin-sipe (1.3.3-1) unstable; urgency=low
* New upstream version (Closes: #508221)
* Added support for OCS 2007, LCS 2003
* Full support for send/receive messages
* Full presence support (both sides)
* Full support for add/remove/move contacts
* TLS/SSL support
* Search contacts full support
* xBSD support
* Added the dependency with the libpurple-dev package
* Added the dependency with the intltool package
* Added the dependency with the comerr-dev package
* Removed the unnecessary debian/pidgin-sipe.dirs file
* Changed the package description inside debian/control
(Closes: #433920,#490923)
* Added the field Homepage inside Source stanza in debian/control file.
* Updated the debian/copyright file with the new authors list.
* Updated with Standards-Version 3.8.0
-- Anibal Avelar <aavelar@cofradia.org> Sun, 1 Mar 2009 12:15:35 -0500
pidgin-sipe (1.2-1) unstable; urgency=low
* Initial release (Closes: #418226)
-- Anibal Avelar (Fixxxer) <aavelar@cofradia.org> Wed, 13 Jun 2007 19:12:35 -0500
================================================
FILE: contrib/debian/compat
================================================
5
================================================
FILE: contrib/debian/control
================================================
Source: pidgin-sipe
Section: misc
Priority: optional
Maintainer: Anibal Avelar <aavelar@cofradia.org>
Homepage: http://sipe.sourceforge.net/
# FYI: libnss3-dev can be replaced with libssl-dev
Build-Depends: cdbs (>= 0.4.23-1.1), autotools-dev, debhelper (>= 5), pkg-config, libglib2.0-dev (>= 2.18.0), libdbus-1-dev, libxml2-dev, libnss3-dev, pidgin-dev, libpurple-dev (>= 2.7.0), libtool, intltool, libkrb5-dev, libzephyr-dev
Standards-Version: 3.9.1
Package: pidgin-sipe
Section: net
Priority: optional
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Pidgin protocol plugin to connect to MS Office Communicator
A third-party plugin for the Pidgin multi-protocol instant messenger.
It implements the extended version of SIP/SIMPLE used by various products:
.
* Skype for Business
* Microsoft Office 365
* Microsoft Business Productivity Online Suite (BPOS)
* Microsoft Lync Server
* Microsoft Office Communications Server (OCS 2007/2007 R2)
* Microsoft Live Communications Server (LCS 2003/2005)
.
With this plugin you should be able to replace your Microsoft Office
Communicator client with Pidgin.
================================================
FILE: contrib/debian/copyright
================================================
This work was packaged for Debian by:
Anibal Avelar <aavelar@cofradia.org> on Wed, 13 Jun 2007 19:12:35 -0500.
It was downloaded from:
<http://sourceforge.net/projects/sipe/files/>
Upstream Authors:
Anibal Avelar <debianmx@gmail.com>
Stefan Becker <chemobejk@gmail.com>
Jakub Adam <jakub.adam@ktknet.cz>
Tomáš Hrabčík <tomas.hrabcik@tieto.com> (retired)
pier11 <pier11@operamail.com> (retired)
Gabriel Burt <gburt@novell.com> (retired)
Daniel Beichl <daniel_beichl@gmx.net> (retired)
Based on the initial SIP/SIMPLE gaim protocol plugin by:
Thomas Butter <butter@uni-mannheim.de>
Copyright:
Copyright (C) 2010 Jakub Adam
Copyright (C) 2010 Tomáš Hrabčík
Copyright (C) 2009-2010 pier11
Copyright (C) 2008 Novell, Inc.
Copyright (C) 2007-2012 SIPE Project
Copyright (C) 2007-2010 Anibal Avelar
Copyright (C) 2005 Thomas Butter
License:
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this package; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
On Debian systems, the complete text of the GNU General Public
License version 2 can be found in `/usr/share/common-licenses/GPL-2'.
Debian packaging is:
Copyright (C) 2007 Anibal Avelar <aavelar@cofradia.org>
You can redistribute it and/or modify it under the terms of the
GNU General Public License as published by Free Software Foundation;
either version 2 of the License, or (at your option) any later version.
================================================
FILE: contrib/debian/docs
================================================
AUTHORS
ChangeLog
NEWS
README
TODO
================================================
FILE: contrib/debian/rules
================================================
#!/usr/bin/make -f
include /usr/share/cdbs/1/class/autotools.mk
include /usr/share/cdbs/1/rules/debhelper.mk
HAVE_APPSTREAM := $(strip $(shell (/usr/bin/appstream-validate >/dev/null --version || /usr/bin/appstreamcli >/dev/null --version) && echo yes))
HAVE_APPSTREAM_LEGACY := $(strip $(shell . /etc/os-release; echo $${ID}-$${VERSION_ID} | grep -q '^debian-8$$' && echo yes))
DEB_CONFIGURE_EXTRA_FLAGS := --enable-purple
# detect if package telepathy-glib is available
ifneq ($(shell pkg-config --exists telepathy-glib && echo FOUND),)
DEB_CONFIGURE_EXTRA_FLAGS += --enable-telepathy
else
DEB_CONFIGURE_EXTRA_FLAGS += --disable-telepathy
endif
ifneq ($(shell pkg-config --exists nice && echo FOUND),)
DEB_CONFIGURE_EXTRA_FLAGS += --with-vv
else
DEB_CONFIGURE_EXTRA_FLAGS += --without-vv
endif
ifeq ($(HAVE_APPSTREAM),)
DEB_CONFIGURE_EXTRA_FLAGS += --without-appstream
endif
# run tests
DEB_MAKE_CHECK_TARGET := check
# don't run unnecessary ldconfig on postinst and postrm.
DEB_DH_MAKESHLIBS_ARGS_pidgin-sipe=-n
clean::
dh_testdir
# git snapshot does not contain a configure script
debian/stamp-autotools-files: $(DEB_CONFIGURE_SCRIPT)
$(DEB_BUILDDIR)/config.status: $(DEB_CONFIGURE_SCRIPT)
$(DEB_CONFIGURE_SCRIPT):
./autogen.sh
binary-post-install/pidgin-sipe::
rm -f debian/pidgin-sipe/usr/share/doc/pidgin-sipe/README
rm -r debian/pidgin-sipe/usr/share/pixmaps/pidgin/protocols/24
rm -r debian/pidgin-sipe/usr/share/pixmaps/pidgin/protocols/32
rm debian/pidgin-sipe/usr/lib/purple-2/libsipe.la
ifeq ($(HAVE_APPSTREAM)-$(HAVE_APPSTREAM_LEGACY),yes-yes)
mv debian/pidgin-sipe/usr/share/metainfo debian/pidgin-sipe/usr/share/appdata
endif
.PHONY: update-debian-control
================================================
FILE: contrib/debug/parse_log.pl
================================================
#!/usr/bin/perl -w
use 5.010;
use strict;
use warnings;
use File::Spec;
use Getopt::Long;
use Pod::Usage;
# Command line option
my %Options = (
directory => ".",
);
GetOptions(\%Options,
"directory=s",
"callid",
"from",
"method",
"transport",
"filter",
"help|h|?")
or pod2usage(2);
pod2usage(-verbose => 2) if $Options{help};
###############################################################################
#
# Message parsing
#
###############################################################################
my %callid;
my %from;
my %method;
my %transport;
sub AddMessage($$$$@)
{
my($direction, $type, $transport, $time, @message) = @_;
# extract additional information from SIP messages
if ($type eq "SIP") {
my($index, $callid, $from, $method);
foreach my $line (@message) {
next if $index++ < 1;
last if $line =~ /^\s+$/;
next unless my($keyword, $value) = $line =~ /^([^:]+):\s+(.+)/;
$callid = $value if $keyword =~ /^call-id$/i;
($from) = $value =~ /^<sip:([^;>]+)/ if $keyword =~ /^from$/i;
($method) = $value =~ /^\d+\s+(\S+)/ if $keyword =~ /^cseq$/i;
}
push(@{$callid{$callid}}, \@message) if $Options{callid} && defined $callid;
push(@{$from{lc($from)}}, \@message) if $Options{from} && defined $from;
push(@{$method{uc($method)}}, \@message) if $Options{method} && defined $method;
}
# information available for all message types
push(@{$transport{$transport}}, \@message) if $Options{transport};
}
sub DumpMessages()
{
foreach my $callid (keys %callid) {
if (open(my $fh, ">",
File::Spec->catfile($Options{directory}, "callid-${callid}.txt"))) {
print $fh @{$_} foreach (@{$callid{$callid}});
close($fh);
}
}
foreach my $from (keys %from) {
if (open(my $fh, ">",
File::Spec->catfile($Options{directory}, "from-${from}.txt"))) {
print $fh @{$_} foreach (@{$from{$from}});
close($fh);
}
}
foreach my $method (keys %method) {
if (open(my $fh, ">",
File::Spec->catfile($Options{directory}, "method-${method}.txt"))) {
print $fh @{$_} foreach (@{$method{$method}});
close($fh);
}
}
foreach my $transport (keys %transport) {
if (open(my $fh, ">",
File::Spec->catfile($Options{directory}, "transport-${transport}.txt"))) {
print $fh @{$_} foreach (@{$transport{$transport}});
close($fh);
}
}
}
###############################################################################
#
# Main program
#
###############################################################################
# For all lines from command line files or STDIN
my @message;
my $counter;
while (<>) {
# Start of message?
if (my ($direction, $type, $transport, $time) =
/^MESSAGE START\s+([<>]+)\s+([^(]+)\((0x[\da-f]+)\)\s+-\s+(.+)/) {
push(@message,
"------------- NEXT MESSAGE: " .
(($direction =~ /^>/) ? "outgoing" : "incoming") .
" $type($transport) at $time\n");
# End of message?
} elsif (($direction, $type, $transport, $time) =
/^MESSAGE END\s+([<>]+)\s+([^(]+)\((0x[\da-f]+)\)\s+-\s+(.+)/) {
if ($Options{filter}) {
print @message;
} else {
print STDERR "." if (++$counter % 10 == 0);
AddMessage($direction, $type, $transport, $time, @message);
}
# Done with the current message
undef @message;
# All other lines
} else {
# Collect message information
push(@message, $_) if @message;
}
}
unless ($Options{filter}) {
print STDERR "\n" unless $Options{filter};
DumpMessages();
}
# That's all folks...
exit 0;
__END__
=head1 NAME
parse_log.pl - parse pidgin-sipe debug log
=head1 SYNOPSIS
[perl} parse_log.pl --help|-h|-?
[perl} parse_log.pl --filter
[file ...]
[perl} parse_log.pl [--directory <dir>]
[--callid]
[--from]
[--method]
[--transport]
[file ...]
=head1 OPTIONS
=over 8
=item B<--callid>
Dump all SIP messages belonging to one Call-ID to the same file.
=item B<--directory>
Directory for output files. Default is the current directory.
=item B<--filter>
Enable filter mode. Messages are simply printed to stdout.
=item B<--from>
Dump all SIP messages sent from the same SIP URI to the same file.
=item B<--help>
=item B<--h>
=item B<--?>
Print a brief help message and exits.
=item B<--method>
Dump all SIP messages with the same method to the same file.
=item B<--transport>
Dump all messages from one transport to the same file.
=back
=head1 DESCRIPTION
B<This program> extracts SIP/HTTP messages from pidgin-sipe debug logs. If
no file is specified then it reads from STDIN.
=cut
================================================
FILE: contrib/debug/parse_valgrind.pl
================================================
#!/usr/bin/perl -w
use 5.010;
use strict;
use warnings;
###############################################################################
#
# Build SIPE with:
#
# CFLAGS="-g -O0" ./configure
#
# Grab a log with:
#
# G_DEBUG="gc-friendly" G_SLICE="always-malloc" valgrind --leak-check=yes \
# /usr/bin/pidgin --debug 2>&1 | tee pidgin_debug.log
#
# Analyze log with:
#
# perl contrib/debug/parse_valgrind.pl pidgin_debug.log
#
###############################################################################
my @heap_lines;
my @last_heap_lines;
my $invalid_lines;
my @all_invalid_lines;
my $other_lines;
# For all lines from command line files or STDIN
while (<>) {
next unless my($remainder) = /^==\d+== (.*)/;
if ($remainder eq "HEAP SUMMARY:") {
@heap_lines = ($remainder);
undef $invalid_lines;
undef $other_lines;
} elsif ($remainder =~ /^ERROR SUMMARY:/) {
# keep only the last heap summary
@last_heap_lines = @heap_lines;
undef @heap_lines;
} elsif ($remainder =~ /^Invalid /) {
# collect all invalid lines
push(@all_invalid_lines, $remainder);
undef @heap_lines;
$invalid_lines++;
undef $other_lines;
} elsif ($remainder =~ /^Conditional/) {
undef @heap_lines;
undef $invalid_lines;
$other_lines++
} elsif (@heap_lines) {
push(@heap_lines, $remainder);
} elsif (defined($invalid_lines)) {
push(@all_invalid_lines, $remainder);
} elsif (defined($other_lines)) {
undef $other_lines if $remainder eq "";
} else {
#print "UNKNOWN: $remainder\n";
}
}
sub check_blocks($$$) {
my($label, $start, $lines) = @_;
my @block;
my $flagged;
print "$label:\n\n";
foreach (@{$lines}) {
if (/$start/../^$/) {
push(@block, $_);
# matcher for SIPE code lines
$flagged++
if /\((?:sipe-|sip-|sdpmsg|sipmsg|http-|uuid|purple-|telepathy-)/;
if (length($_) == 0) {
print join("\n", @block), "\n\n" if $flagged;
undef @block;
undef $flagged;
}
}
}
}
check_blocks("INVALID ACCESSES", qr/^Invalid /, \@all_invalid_lines);
check_blocks("MEMORY LEAKS", qr/^\d+ bytes in \d+ blocks/, \@last_heap_lines);
# That's all folks...
exit 0;
================================================
FILE: contrib/mingw-cross-compile/README.txt
================================================
Introduction
============
With these instructions you will be able to generate libsipe.dll on a Linux
machine that is compatible with the official Pidgin Windows releases.
The approach described here is based on this wiki page:
http://code.google.com/p/pidgin-privacy-please/wiki/HowToCrossCompileForWindowsAgainstLatestPidgin
The build has been verified to work at the time this text was written. When
you read this some things in Pidgin or MinGW might changed, so make sure to
check the comments on that wiki page for updates.
Preparation
===========
You'll need a Linux machine with the following MinGW cross-compilation
packages installed:
Ubuntu:
sudo apt-get install mingw32 mingw32-binutils mingw32-runtime
Fedora:
sudo yum install mingw32-gcc
This will most likely work also for other Linux distros, but you'll have
to check what names the MinGW cross-compilation packages are for your
distro.
If you are trying to build the source code from the git repository then
you'll need additional tools installed, at least:
autoconf
automake
flex
If you want to build the NSIS installer package then you'll need to install:
mingw32-nsis
Build
=====
- [pidgin-sipe source code from git instead from a release tarball]
run the following commands inside the git work area:
./autogen.sh
./configure
make dist-gzip
This will generate pidgin-sipe-<VERSION>.tar.gz
- create an empty directory and cd into it
- run contrib/mingw-cross-compile/fetch.sh from pidgin-sipe source
* make sure to check for fetch & unpack errors before proceeding!
- cd into build-<...REPLACE PIDGIN VERSION HERE...>/pidgin-<...REPLACE PIDGIN VERSION HERE...>
- copy/unpack pidgin-sipe source code tree into into current directory
- run
cp pidgin-sipe-<...REPLACE PIDGIN-SIPE VERSION HERE...>/contrib/mingw-cross-compile/local.mak .
- run (this is one line on the command line!)
make -C pidgin-sipe-<...REPLACE PIDGIN-SIPE VERSION HERE...>/src/core
-f Makefile.mingw
(to compile without SSPI support add " USE_SSPI=" to the command line)
If everything goes well you should now have
pidgin-sipe-<...REPLACE PIDGIN-SIPE VERSION HERE...>/src/core/libsipe.dll
which you can copy into your Pidgin Windows installation directory.
NOTE: PLEASE make sure that there is NO OTHER libsipe.dll in that installation
or in your PATH!
NSIS Installer Package
======================
After you have successfully executed the build:
- run (this is one line on the command line!)
PIDGIN_TREE_TOP=.. make
-C pidgin-sipe-<...REPLACE PIDGIN-SIPE VERSION HERE...>
-f Makefile.mingw cross-compile-nsis
(to compile without SSPI support add " USE_SSPI=" to the command line)
If everything goes well you should now have
pidgin-sipe-<...REPLACE PIDGIN-SIPE VERSION HERE...>.exe
which you now can execute on your Windows machine.
================================================
FILE: contrib/mingw-cross-compile/fetch.sh
================================================
#!/bin/bash
#
# Based on:
#
# http://code.google.com/p/pidgin-privacy-please/wiki/HowToCrossCompileForWindowsAgainstLatestPidgin
#
# Latest Windows Pidgin build instractions:
#
# https://developer.pidgin.im/wiki/BuildingWinPidgin
#
# Check these page for latest MinGW/Pidgin URLs if you get fetch errors!
#
# update Pidgin version here
export PIDGIN_VERSION=2.13.0
# must be absolute path
export PIDGIN_DEV_ROOT=$(pwd -P)/build-${PIDGIN_VERSION}
export SOURCES_DIR=${PIDGIN_DEV_ROOT}/sources/
export DEV_DIR=${PIDGIN_DEV_ROOT}/win32-dev
export MINGW_DIR=${DEV_DIR}/mingw
export PIDGIN_DIR=${PIDGIN_DEV_ROOT}/pidgin-${PIDGIN_VERSION}
exec >fetch-${PIDGIN_VERSION}.log
set -e
echo 1>&2 create directory tree...
rm -rf ${PIDGIN_DEV_ROOT}
mkdir -p ${SOURCES_DIR}
mkdir -p ${MINGW_DIR}
echo 1>&2 fetching mingw...
cd ${SOURCES_DIR}
#wget -nv https://sourceforge.net/projects/mingw/files/MinGW/Base/binutils/binutils-2.24/binutils-2.24-1-mingw32-bin.tar.xz
wget -nv http://sourceforge.net/projects/mingw/files/MinGW/Base/mingwrt/mingwrt-3.20/mingwrt-3.20-2-mingw32-dev.tar.lzma
wget -nv http://sourceforge.net/projects/mingw/files/MinGW/Base/mingwrt/mingwrt-3.20/mingwrt-3.20-2-mingw32-dll.tar.lzma
wget -nv http://sourceforge.net/projects/mingw/files/MinGW/Base/w32api/w32api-3.17/w32api-3.17-2-mingw32-dev.tar.lzma
wget -nv http://sourceforge.net/projects/mingw/files/MinGW/Base/gmp/gmp-5.0.1-1/gmp-5.0.1-1-mingw32-dev.tar.lzma
wget -nv http://sourceforge.net/projects/mingw/files/MinGW/Base/libiconv/libiconv-1.14-2/libiconv-1.14-2-mingw32-dev.tar.lzma
wget -nv http://sourceforge.net/projects/mingw/files/MinGW/Base/mpfr/mpfr-2.4.1-1/mpfr-2.4.1-1-mingw32-dev.tar.lzma
wget -nv http://sourceforge.net/projects/mingw/files/MinGW/Base/pthreads-w32/pthreads-w32-2.9.0-pre-20110507-2/pthreads-w32-2.9.0-mingw32-pre-20110507-2-dev.tar.lzma
wget -nv http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.7.2-1/gcc-core-4.7.2-1-mingw32-bin.tar.lzma
wget -nv http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.7.2-1/libgcc-4.7.2-1-mingw32-dll-1.tar.lzma
echo 1>&2 unpacking mingw...
cd ${MINGW_DIR}
for file in ${SOURCES_DIR}/*tar.lzma ; do tar xf ${file} ; done
echo 1>&2 fetching pidgin dev stuff...
cd ${SOURCES_DIR}
wget -nv http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip
wget -nv http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip
wget -nv http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17-1.zip
wget -nv https://developer.pidgin.im/static/win32/libxml2-2.9.2_daa1.tar.gz
wget -nv https://developer.pidgin.im/static/win32/gtkspell-2.0.16.tar.bz2
wget -nv https://developer.pidgin.im/static/win32/enchant_1.6.0_win32.zip
wget -nv https://developer.pidgin.im/static/win32/nss-3.24-nspr-4.12.tar.gz
wget -nv https://developer.pidgin.im/static/win32/silc-toolkit-1.1.12.tar.gz
wget -nv https://developer.pidgin.im/static/win32/meanwhile-1.0.2_daa3-win32.zip
wget -nv https://developer.pidgin.im/static/win32/cyrus-sasl-2.1.26_daa1.tar.gz
wget -nv http://ftp.acc.umu.se/pub/GNOME/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip
wget -nv http://prdownloads.sourceforge.net/pidgin/pidgin-${PIDGIN_VERSION}.tar.bz2
echo 1>&2 unpacking pidgin dev stuff...
unzip ${SOURCES_DIR}/gtk+-bundle_2.14.7-20090119_win32.zip -d ${DEV_DIR}/gtk_2_0-2.14
unzip ${SOURCES_DIR}/gettext-tools-0.17.zip -d ${DEV_DIR}/gettext-0.17
unzip ${SOURCES_DIR}/gettext-runtime-0.17-1.zip -d ${DEV_DIR}/gettext-0.17
unzip ${SOURCES_DIR}/enchant_1.6.0_win32.zip -d ${DEV_DIR}/enchant_1.6.0_win32
unzip ${SOURCES_DIR}/meanwhile-1.0.2_daa3-win32.zip -d ${DEV_DIR}
unzip ${SOURCES_DIR}/intltool_0.40.4-1_win32.zip -d ${DEV_DIR}/intltool_0.40.4-1_win32
cd ${DEV_DIR}
tar xzf ${SOURCES_DIR}/libxml2-2.9.2_daa1.tar.gz
tar xjf ${SOURCES_DIR}/gtkspell-2.0.16.tar.bz2
tar xzf ${SOURCES_DIR}/nss-3.24-nspr-4.12.tar.gz
tar xzf ${SOURCES_DIR}/silc-toolkit-1.1.12.tar.gz
tar xzf ${SOURCES_DIR}/cyrus-sasl-2.1.26_daa1.tar.gz
cd ${PIDGIN_DEV_ROOT}
tar xjf ${SOURCES_DIR}/pidgin-${PIDGIN_VERSION}.tar.bz2
echo 1>&2 done
================================================
FILE: contrib/mingw-cross-compile/local.mak
================================================
#
# Fedora 19+: upgrade to mingw32-gcc 4.8.x breaks backward compatibility.
# Fetch F18 packages of mingw32-gcc and set PIDGIN_MINGW_ROOT
# and LD_LIBRARY_PATH to the local install root.
#
ifneq ($(wildcard $(PIDGIN_MINGW_ROOT)/bin/i686-w64-mingw32-*),)
# Fedora 17+
CC := $(PIDGIN_MINGW_ROOT)/bin/i686-w64-mingw32-gcc
STRIP := $(PIDGIN_MINGW_ROOT)/bin/i686-w64-mingw32-strip
WINDRES := $(PIDGIN_MINGW_ROOT)/bin/i686-w64-mingw32-windres
EXTUTILS := /usr/share/perl5/ExtUtils
else ifneq ($(wildcard $(PIDGIN_MINGW_ROOT)/usr/bin/i686-pc-mingw32-*),)
# Fedora
CC := $(PIDGIN_MINGW_ROOT)/usr/bin/i686-pc-mingw32-gcc
STRIP := $(PIDGIN_MINGW_ROOT)/usr/bin/i686-pc-mingw32-strip
WINDRES := $(PIDGIN_MINGW_ROOT)/usr/bin/i686-pc-mingw32-windres
EXTUTILS := /usr/share/perl5/ExtUtils
else
# Ubuntu
CC := /usr/bin/i586-mingw32msvc-cc
STRIP := /usr/bin/i586-mingw32msvc-strip
WINDRES := /usr/bin/i586-mingw32msvc-windres
EXTUTILS := /usr/share/perl/5.10/ExtUtils
endif
# common
GMSGFMT := msgfmt
MAKENSIS := /usr/bin/makensis
PERL := /usr/bin/perl
INCLUDE_PATHS := -I\$(PIDGIN_TREE_TOP)/../win32-dev/w32api/include
LIB_PATHS := -L\$(PIDGIN_TREE_TOP)/../win32-dev/w32api/lib
================================================
FILE: contrib/opensuse-build-service/PKGBUILD
================================================
# Maintainer: SIPE Project <http://sipe.sourceforge.net/>
pkgname=pidgin-sipe
pkgver=1.25.0
pkgrel=1
pkgdesc="Libpurple protocol plugin to connect to MS Office Communicator"
arch=('x86_64')
license=('GPL-2.0-or-later')
url="https://sipe.sourceforge.net/"
depends=('gmime' 'libpurple')
makedepends=('intltool')
optdepends=('freerdp: Desktop sharing' 'krb5: Kerberos support')
source=( ${pkgname}-${pkgver}.tar.gz )
sha256sums=( '@@SHA256SUM@@' )
build() {
cd "${pkgname}-${pkgver}"
./configure --prefix=/usr --with-vv
make
}
package() {
cd "${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
}
================================================
FILE: contrib/opensuse-build-service/generate_debian.sh
================================================
#!/bin/bash
abort() {
echo "$0: $1 - Aborting"
exit 1
}
cleanup() {
rm -rf debian
abort "$1"
}
# Sanity checks
version=$(ls pidgin-sipe-*.tar.gz | sed 's/^pidgin-sipe-//;s/.tar.gz$//')
[ -z "${version}" ] && abort "can't find pidgin-sipe archive"
[ -e debian ] && abort "directory 'debian' - already exists"
# Copy latest source archive
cp pidgin-sipe-${version}.tar.gz pidgin-sipe_${version}.orig.tar.gz
# Extract contrib/debian directory from release
tar --strip-components=2 --wildcards -xvf \
pidgin-sipe-${version}.tar.gz \
"*/contrib/debian" || cleanup "tar failed"
[ -e debian ] || cleanup "directory 'debian' - does not exist"
# Strip libnss3-dev from debian/control: build setup is controlled by .dsc's
sed -i.ORIG -e 's/libnss3-dev, //' debian/control
touch -r debian/control.ORIG debian/control
rm debian/control.ORIG
# Have the contents changed?
if tar 2>/dev/null -df pidgin-sipe_${version}-1.debian.tar.gz; then
echo "contrib/debian is unchanged - not updating .debian.tar.gz."
else
# Update debian archive
tar cfz pidgin-sipe_${version}-1.debian.tar.gz debian || cleanup "can't create tar archive"
fi
rm -rf debian
# Update .dsc files
for p in \
"Checksums-Sha1=sha1sum" \
"Checksums-Sha256=sha256sum" \
"Files=md5sum";
do \
label=${p%=*}; \
program=${p#*=}; \
echo "${label}:"
for t in \
pidgin-sipe_${version}.orig.tar.gz \
pidgin-sipe_${version}-1.debian.tar.gz; \
do \
echo " $(${program} ${t} | cut -d' ' -f1) $(wc -c ${t})"; \
done \
done >checksums.txt
for d in *.dsc; do cat checksums.txt >>${d}; done
rm checksums.txt
# Newer platforms have support for freerdp2 - use only default .dsc
cp pidgin-sipe-freerdp2.dsc pidgin-sipe.dsc
# All other platforms at least support for gstreamer1.0 - override those
for os in \
Debian_9.0 \
xUbuntu_16.04 \
; do \
cp pidgin-sipe-gstreamer1.dsc pidgin-sipe-${os}.dsc; \
done
# All other platforms at least support telepathy - override those
for os in \
Debian_8.0 \
; do \
cp pidgin-sipe-telepathy.dsc pidgin-sipe-${os}.dsc; \
done
# Update SHA-2 256 checksum in Arch Linux PKGBUILD
sed -i -e "s/@@SHA256SUM@@/$(sha256sum pidgin-sipe-${version}.tar.gz | cut -d' ' -f1)/" PKGBUILD
# That's all folks...
echo "Done."
osc status
exit 0
================================================
FILE: contrib/opensuse-build-service/generate_nsi.pl
================================================
#!/usr/bin/perl
use 5.008;
use strict;
use warnings;
# check commandline arguments
die "Usage: $0 <LINGUAS file> < nsi-template > nsi-output\n"
if @ARGV < 1;
# process LINGUAS file
open(my $fh, "<", $ARGV[0])
or die "$0: can't open LINGUAS file '$ARGV[0]': $!\n";
my %languages = map { ($_, 1) } map { chomp; s/^\s+//; s/\s+$//; $_ } <$fh>;
close($fh)
or die "$0: error while reading LINGUAS file '$ARGV[0]': $!\n";
print STDERR "Found ", scalar(keys %languages), " language(s): ",
join(" ", sort keys %languages), "\n";
# read .nsi template from STDIN
# write .nsi file to STDOUT
while (<STDIN>) {
if (/^;;; INSTALL_FILES_LOCALE/) {
print map({
("SetOutPath \"\$INSTDIR\\locale\\$_\\LC_MESSAGES\"\n",
"File \"\${MINGW_DATADIR}\\locale\\$_\\LC_MESSAGES\\pidgin-sipe.mo\"\n")
} sort keys %languages);
} elsif (/^;;; DELETE_FILES_LOCALE/) {
print map({
"Delete \"\$INSTDIR\\locale\\$_\\LC_MESSAGES\\pidgin-sipe.mo\"\n"
} sort keys %languages);
} else {
print;
}
}
# That's all folks...
exit 0;
================================================
FILE: contrib/opensuse-build-service/pidgin-sipe-freerdp2.dsc
================================================
Format: 3.0 (quilt)
Source: pidgin-sipe
Version: 1.25.0-1
Binary: pidgin-sipe
Maintainer: pidgin-sipe <jduser@noreply.com>
Architecture: any
Standards-Version: 3.9.1
Build-Depends: cdbs (>= 0.4.23-1.1), autotools-dev, debhelper (>= 5), pkg-config, libglib2.0-dev (>= 2.28.0), libdbus-1-dev, libxml2-dev, libssl-dev, pidgin-dev, libpurple-dev (>= 2.8.0), appstream, libtool, intltool, libkrb5-dev, libzephyr-dev, libnice-dev (>= 0.1.0), libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev, libfarstream-0.2-dev, freerdp2-dev, libtelepathy-glib-dev (>= 0.24.0), libgmime-2.6-dev, gss-ntlmssp-dev (>= 0.5.0)
Homepage: http://sipe.sourceforge.net/
================================================
FILE: contrib/opensuse-build-service/pidgin-sipe-gstreamer1.dsc
================================================
Format: 3.0 (quilt)
Source: pidgin-sipe
Version: 1.25.0-1
Binary: pidgin-sipe
Maintainer: pidgin-sipe <jduser@noreply.com>
Architecture: any
Standards-Version: 3.9.1
Build-Depends: cdbs (>= 0.4.23-1.1), autotools-dev, debhelper (>= 5), pkg-config, libglib2.0-dev (>= 2.28.0), libdbus-1-dev, libxml2-dev, libssl-dev, pidgin-dev, libpurple-dev (>= 2.8.0), appstream, libtool, intltool, libkrb5-dev, libzephyr-dev, libnice-dev (>= 0.1.0), libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev, libfarstream-0.2-dev, libtelepathy-glib-dev (>= 0.24.0), libgmime-2.6-dev, gss-ntlmssp-dev (>= 0.5.0)
Homepage: http://sipe.sourceforge.net/
================================================
FILE: contrib/opensuse-build-service/pidgin-sipe-telepathy.dsc
================================================
Format: 3.0 (quilt)
Source: pidgin-sipe
Version: 1.25.0-1
Binary: pidgin-sipe
Maintainer: pidgin-sipe <jduser@noreply.com>
Architecture: any
Standards-Version: 3.9.1
Build-Depends: cdbs (>= 0.4.23-1.1), autotools-dev, debhelper (>= 5), pkg-config, libglib2.0-dev (>= 2.28.0), libdbus-1-dev, libxml2-dev, libssl-dev, pidgin-dev, libpurple-dev (>= 2.8.0), appstream-index, libtool, intltool, libkrb5-dev, libzephyr-dev, libtelepathy-glib-dev (>= 0.24.0), libgmime-2.6-dev
Homepage: http://sipe.sourceforge.net/
================================================
FILE: contrib/opensuse-build-service/pidgin-sipe.changes
================================================
-------------------------------------------------------------------
Sat Oct 12 08:44:00 UTC 2019 - chemobejk@gmail.com
- Update to version 1.25.0 "Buddy Idle Time, RTF" (2019-10-12)
- Feature #107: Provide idle start time for a buddy (Stefan Becker)
- Feature #77: RTF support (incoming) (Stefan Becker)
* the code only extracts plain text from incoming RTF
- Fixed #358: FTBFS with glib-2.0 >= 2.62.0 (Stefan Becker)
- Fixed #350: Inconsistent parsing of From:/To: headers (Stefan Becker)
- raise BR telepathy-glib >= 0.24.0 (Stefan Becker)
- switch from GPLv2+ to SPDX identifier GPL-2.0-or-later (Stefan Becker)
-------------------------------------------------------------------
Sat Nov 10 15:40:00 UTC 2018 - chemobejk@gmail.com
- Update to version 1.24.0 "Application Sharing II" (2018-11-10)
- Feature #104: Use user agent also for HTTP (Stefan Becker)
- Feature #6: Application Sharing Server (Jakub Adam)
* requires freerdp-shadow2
- Fixed #343: Build fails on FreeBSD
- add timeout handling for media streams (Alaoui Youness)
- update AppStream handling (Jakub Adam, Stefan Becker)
- fix missing localisation in some code modules (Stefan Becker)
- debug log improvements (Stefan Becker)
-------------------------------------------------------------------
Mon Aug 20 14:47:00 UTC 2018 - chemobejk@gmail.com
- Update to version 1.23.3 "Bug Fixes III" (2018-08-20)
- appshare: fix black screen with Remmina v1.2.0-rcgit.27 (Jakub Adam)
- various minor fixes (Jakub Adam, Michael Olbrich)
- fix compilation errors with libpurple 2.14.0 & GCC 8.0 (Jakub Adam, Stefan Becker)
- mingw: update fetch script to Pidgin 2.13.0 (Stefan Becker)
-------------------------------------------------------------------
Sat Mar 10 15:54:29 UTC 2018 - chemobejk@gmail.com
- Update to version 1.23.2 "Bug Fixes II" (2018-03-10)
- fix some HTTP requests that were not sent (Jakub Adam, Stefan Becker)
-------------------------------------------------------------------
Sun Feb 25 13:05:00 UTC 2018 - chemobejk@gmail.com
- Update to version 1.23.1 "Bug Fixes I" (2018-02-25)
- Fixed #338: Incorrect port 0 for IPv6 socket on Windows (Stefan Becker)
- Fixed #337: Duplicate candidates in SDP (Jakub Adam, Stefan Becker)
- Fixed #336: Lync autodiscover does not follow user redirect (Stefan Becker)
- media: unconditionally ignore multichannel codecs (Jakub Adam)
- updated translations: Turkish (tr)
-------------------------------------------------------------------
Sat Oct 28 15:18:00 UTC 2017 - chemobejk@gmail.com
- Update to version 1.23.0 "D-Bus, IPv6, OS X 10.11+" (2017-10-28)
- Feature #101: Mac OS X 10.13 OpenSSL support (Stefan Becker)
- Feature #100: Extend libpurple D-Bus interface (Stefan Becker)
- Feature #99: IPv6 addresses in SIP & SDP messages (Stefan Becker)
- Feature #96: Support for OS X 10.11+ SDK (Stefan Becker)
- don't load buddy photos from unknown sites by default (Jakub Adam, Stefan Becker)
* custom web URIs pose a security risk as they may be abused
* users can override this behaviour in the account settings
* Office365 accounts should not be affected by this change
- add support for GMime 3.0 API (Stefan Becker)
- raise BR glib-2.0 >= 2.18.0 (Stefan Becker)
- raise BR purple >= 2.7.0 (Stefan Becker)
- drop support for GMime 2.4 (Stefan Becker)
- drop support for gstreamer-0.10 (Stefan Becker)
-------------------------------------------------------------------
Sun Jun 11 15:38:00 UTC 2017 - chemobejk@gmail.com
- Update to version 1.22.1:
- Fixed #320: Multiple client detection broken (Stefan Becker)
- speed up Lync Autodiscover by using AccessLocation (Andrey Vaynberger)
- adium: update build instructions for Xcode 7.x or newer (Stefan Becker)
* the build environment used for releases 1.22.0 or older (Xcode 6.x
on OS X 10.11) is no longer available to the project
* releases starting with 1.22.1 will use Xcode 8.x on macOS 10.12
* build target continues to be OS X 10.9
- purple: avoid rare SSL read deadlock (Stefan Becker)
- various minor fixes (Michael Olbrich)
- crypto: make code compile with OpenSSL 1.1.0 (Stefan Becker)
- drop references to Reuters Messaging (Stefan Becker)
- updated translations: Lithuanian (lt), Russian (ru), Swedish (sv), Turkish (tr)
-------------------------------------------------------------------
Wed Feb 1 16:58:00 UTC 2017 - chemobejk@gmail.com
- Update to version 1.22.0:
- Feature #93: Support for Lync Autodiscover (Stefan Becker)
- Feature #6: Application Sharing Viewer (Jakub Adam)
* requires libpurple >= 2.12.0
* needs an external RDP client - remmina and xfreerdp are supported
- Fixed #315: Crash when contact list is empty (Stefan Becker)
- Fixed #314: sipe login problems with long pw (Stefan Becker)
- separate logging and debugging output (Stefan Becker)
* logging is always shown, e.g. in the Pidgin debug window
* full message debugging now requires PURPLE_UNSAFE_DEBUG=1
- new translations: Greek (el), Lithuanian (lt)
-------------------------------------------------------------------
Sat May 28 16:50:00 UTC 2016 - chemobejk@gmail.com
- Update to version 1.21.1:
- various bug fixes in media support (Jakub Adam)
- configure no longer ignores CFLAGS/LDFLAGS/LIBS (Stefan Becker)
-------------------------------------------------------------------
Sat Apr 23 14:16:00 UTC 2016 - chemobejk@gmail.com
- Update to version 1.21.0:
- Feature #91: Support embedded XML as buddy photo URL (Stefan Becker)
- Feature #90: Add AppStream metadata file (Jiri Eischmann, Stefan Becker)
- Feature #89: Improve "Join scheduled conference" dialog (Stefan Becker)
- Feature #87: Support multiple HTTP cookies (Stefan Becker)
- Feature #85: XML raw extract should ignore name space (Stefan Becker)
- Fixed #311: Crash when SIP transport becomes invalid (Stefan Becker)
- Fixed #293: Mandatory wsa:MessageID node missing (Stefan Becker)
- add support for Lync File Transfer protocol (Jakub Adam)
* requires libpurple >= 2.12.0
* Lync FT will be used for sending files when Lync 2013 is detected
- add build options to "About SIPE plugin" message (Stefan Becker)
-------------------------------------------------------------------
Sat Oct 24 13:36:00 UTC 2015 - chemobejk@gmail.com
- Update to version 1.20.1:
- add support for another type of ADFS response (Stefan Becker)
- improve configure check for back-ported features (Stefan Becker, Jakub Adam)
- updated translations: French (fr), Russian (ru)
-------------------------------------------------------------------
Sat Aug 29 16:41:00 UTC 2015 - chemobejk@gmail.com
- Update to version 1.20.0:
- Feature #82: Parse HTML from Lync conference URL (Stefan Becker)
- Feature #69: SRTP Support (Jakub Adam)
* requires libpurple >= 3.0.0
- Fixed #285: Office365 rejects RC4 in TLS-DSK (Stefan Becker)
* added support for AES-128/256-CBC
-------------------------------------------------------------------
Sat Apr 4 15:13:00 UTC 2015 - chemobejk@gmail.com
- Update to version 1.19.1:
- Fixed #278: 488 error after libnice upgrade (Jakub Adam)
- fix SIP re-authentication timeout to be max. 8 hours (Stefan Becker)
-------------------------------------------------------------------
Sat Feb 7 11:48:00 UTC 2015 - chemobejk@gmail.com
- Update to version 1.19.0:
- Feature #80: Move parsing of login name (Stefan Becker)
- Feature #79: support for Adium group chat bookmarks (David Matz, Stefan Becker)
- Feature #78: Support searching for SIP ID (Stefan Becker)
- Feature #76: ADFS can't always be used (Stefan Becker)
* for accounts that have Multi-Factor Authentication (MFA) enabled
- Feature #73: Support buddy photos from contactCard (Stefan Becker)
- Feature #65: Fall back from Kerberos to NTLM (Stefan Becker)
- Fixed #277: Raised contact names (Stefan Becker)
- Fixed #240: Corrupted HTTP response crashes SIPE (Stefan Becker)
- fix calendar state machine when EWS URL is set (Stefan Becker)
- fall back to [MS-DLX] BasicSearch to improve search experience (Stefan Becker, various)
- implement search functionality for UCS (Stefan Becker)
- adium: add chat room list UI (David Matz)
- adium: fix duplicate debug log messages (Stefan Becker)
- support for libnice TCP mode (Youness Alaoul, Jakub Adam)
- refactor CCCP request code (Jakub Adam)
-------------------------------------------------------------------
Tue Dec 29 23:52:00 UTC 2014 - chemobejk@gmail.com
- Update to new upstream version, 1.18.5:
- Fixed #276: Redundant "const" breaks build with clang (Stefan Becker)
- Fixed #269: purple idle-away converted to Away (Stefan Becker)
- svc: use authuser for RealmInfo request (Stefan Becker)
- adium: add release checking script (Stefan Becker)
- mingw: update fetch script to Pidgin 2.10.11 (Stefan Becker)
- updated translations: Italian (it), Swedish (sv)
-------------------------------------------------------------------
Sat Oct 18 15:42:00 UTC 2014 - chemobejk@gmail.com
- Update to new upstream version, 1.18.4:
- Fixed #263: ADFS fails when user and login name differ (Stefan Becker)
- Fixed #262: Adium: SIPE doesn't auto- or re-connect (Stefan Becker)
- fixed memory leaks (Stefan Becker)
- fixed processing of presence publish event response (John Zhang, Stefan Becker)
* fixes a longstanding issue that the Pidgin user status sometimes
didn't switch back to "Available" after the end of a meeting
-------------------------------------------------------------------
Sat Aug 16 12:50:00 UTC 2014 - chemobejk@gmail.com
- Update to new upstream version, 1.18.3:
- Fixed #259: HTML response to EWS autodiscover triggers libxml2 assert (Stefan Becker)
- Fixed #258: V&V call gets rejected when IPv6 is enabled (Stefan Becker, Jakub Adam)
- Fixed #257: Windows 7: SIPE crashes after a minute (Stefan Becker)
- mingw: improve crash information reporting (Stefan Becker)
-------------------------------------------------------------------
Sat Jun 7 18:08:00 UTC 2014 - chemobejk@gmail.com
- Update to new upstream version, 1.18.2:
- Fixed #255: Crash when PersistentChat sends BYE instead of response (Stefan Becker)
- Fixed #248: Remove libpurple SSL configure check (Stefan Becker)
- Fixed #245: "Unable to resolve DNS SRV record" error when joining conference (Stefan Becker)
- Fixed #241: Adium filters ":" from "sip:" (Stefan Becker)
- Fixed #210: Conference call ends with error message (for real this time, Jakub Adam)
- ews: extract settings also from type EXPR (Stefan Becker)
- ucs: honor user specified email URL (Stefan Becker)
- adium: fix compilation on OS X 10.7 (Stefan Becker)
- updated Transifex URLs (Stefan Becker)
- updated translations: Hindi (hi), Telugu (te)
-------------------------------------------------------------------
Sat Apr 12 18:08:00 UTC 2014 - chemobejk@gmail.com
- Update to new upstream version, 1.18.1:
- Fixed #238: False "not delivered" in conference (Stefan Becker)
- Fixed #237: HTML escaping not removed from URL (Stefan Becker)
- Fixed #210: Conference call ends with error message (Jakub Adam)
- fix endless loop with failed HTTP Basic authentication (Stefan Becker)
- fix crash when gstreamer nice plugin is missing (Stefan Becker, Jakub Adam)
- fix EWS autodiscover for some Office 365 users (Stefan Becker)
- purple: fix missing "Copy to" in buddy menu (Stefan Becker)
- purple/adium: ignore empty search values (Stefan Becker)
- adium: fix group chat UI (Stefan Becker)
- adium: implement BEAST mitigations for 10.8.5 (Michael Lamb)
- add indication when user is connected from a mobile device (Harris Kauffman)
- updated translations: Chinese (zh_CN), Portuguese (pt)
-------------------------------------------------------------------
Sat Jan 11 15:43:00 UTC 2014 - chemobejk@gmail.com
- Update to new upstream version, 1.18.0:
- Feature #71: Add support for EWS Autodiscover redirection (Stefan Becker)
- Feature #69: Add UI support for (group) chats (Michael Lamb)
* NOTE: Adium does not have an UI to fetch the room list
- Feature #64: Add support for GSS-NTLMSSP (Stefan Becker)
* sip-sec-krb5.c module has been renamed to sip-sec-gssapi.c
* if gssapi/gssapi_ntlmssp.h is detected then sip-sec-ntlm.c will
be disabled and NTLM will be handled by sip-sec-gssapi.c instead
* NOTE: at the time of this writing the user has to set up
GSS-NTLMSSP by hand on his system, i.e. /etc/gss/mech
- Fixed #227: Adium client doesn't save email option settings (Harris P. Kauffman)
- Fixed #216: SIPE stops working on Mavericks (Stefan Becker, Michael Lamb)
* add an UI option to disable SSL BEAST mitigations
* NOTE: requires Adium 1.5.10
- Fixed #197: Account stays in connecting stage (Harris P. Kauffman)
- cleanup for sip-sec Kerberos & SSPI modules (Stefan Becker)
* replace old TGT hack with gss_acquire_cred_with_password()
* clean up Kerberos detection in configure
* remove special case handling; code is more straight-forward now
* thanks to David Woodhouse and Simo Sorce for the GSSAPI information
- implement internal keepalive handling (Stefan Becker)
- implement crypto backend based on OpenSSL (Stefan Becker)
- adium: Xcode project files update (Michael Lamb)
- adium: replace NSS crypto backend with OpenSSL (Stefan Becker)
* NOTE: please make sure to read the updated build instructions!
-------------------------------------------------------------------
Wed Dec 11 19:40:00 UTC 2013 - chemobejk@gmail.com
- Update to new upstream version, 1.17.3:
- Fixed #225: HTTP re-authentication with NTLM fails (Stefan Becker)
- Fixed #222: SIPE crashes when groupchat session expires (Stefan Becker)
- fix UCS Persona key extraction (Stefan Becker)
-------
gitextract_3ldssbmk/
├── .gitignore
├── .tx/
│ └── config
├── AUTHORS
├── COPYING
├── ChangeLog
├── Makefile.am
├── Makefile.mingw
├── NEWS
├── README
├── TODO
├── VERSION
├── autogen.sh
├── configure.ac
├── contrib/
│ ├── dbus/
│ │ ├── SipeHelper.pm
│ │ ├── sipe-call-phone-number.pl
│ │ ├── sipe-join-conference-with-organizer-and-id.pl
│ │ ├── sipe-join-conference-with-uri.pl
│ │ ├── sipe-republish-calendar.pl
│ │ └── sipe-reset-status.pl
│ ├── debian/
│ │ ├── changelog
│ │ ├── compat
│ │ ├── control
│ │ ├── copyright
│ │ ├── docs
│ │ └── rules
│ ├── debug/
│ │ ├── parse_log.pl
│ │ └── parse_valgrind.pl
│ ├── mingw-cross-compile/
│ │ ├── README.txt
│ │ ├── fetch.sh
│ │ └── local.mak
│ ├── opensuse-build-service/
│ │ ├── PKGBUILD
│ │ ├── generate_debian.sh
│ │ ├── generate_nsi.pl
│ │ ├── pidgin-sipe-freerdp2.dsc
│ │ ├── pidgin-sipe-gstreamer1.dsc
│ │ ├── pidgin-sipe-telepathy.dsc
│ │ ├── pidgin-sipe.changes
│ │ ├── pidgin-sipe.nsi.template
│ │ └── pidgin-sipe.spec
│ └── rpm/
│ └── pidgin-sipe.spec
├── git-build.sh
├── git-snapshot.sh
├── pidgin-sipe.nsi
├── pidgin-sipe.wxs
├── pixmaps/
│ ├── 16/
│ │ └── Makefile.am
│ ├── 22/
│ │ └── Makefile.am
│ ├── 24/
│ │ └── Makefile.am
│ ├── 32/
│ │ └── Makefile.am
│ ├── 48/
│ │ └── Makefile.am
│ ├── Makefile.am
│ ├── Makefile.common.am
│ ├── Makefile.mingw
│ └── scalable/
│ └── Makefile.am
├── po/
│ ├── LINGUAS
│ ├── Makefile.mingw
│ ├── POTFILES.in
│ ├── ar.po
│ ├── cs.po
│ ├── da.po
│ ├── de.po
│ ├── el.po
│ ├── es.po
│ ├── fi.po
│ ├── fr.po
│ ├── fr_CA.po
│ ├── hi.po
│ ├── hu.po
│ ├── it.po
│ ├── ja.po
│ ├── ko.po
│ ├── lt.po
│ ├── nb.po
│ ├── nl.po
│ ├── pidgin-sipe.pot
│ ├── pl.po
│ ├── pt.po
│ ├── pt_BR.po
│ ├── ro.po
│ ├── ru.po
│ ├── sv.po
│ ├── ta.po
│ ├── te.po
│ ├── tr.po
│ ├── transifex-pot-fixup.pl
│ ├── zh_CN.po
│ └── zh_TW.po
├── siplcs.vcxproj
├── siplcs.vcxproj.filters
└── src/
├── Makefile.am
├── Makefile.mingw
├── adium/
│ ├── DCPurpleSIPEJoinChatViewController.h
│ ├── DCPurpleSIPEJoinChatViewController.m
│ ├── ESPurpleSIPEAccount.h
│ ├── ESPurpleSIPEAccount.m
│ ├── ESSIPEAccountViewController.h
│ ├── ESSIPEAccountViewController.m
│ ├── ESSIPELibpurpleServicePlugin.h
│ ├── ESSIPELibpurpleServicePlugin.m
│ ├── ESSIPEService.h
│ ├── ESSIPEService.m
│ ├── English.lproj/
│ │ ├── DCPurpleSIPEJoinChatView.xib
│ │ ├── ESSIPEAccountView.xib
│ │ └── InfoPlist.strings
│ ├── Info.plist
│ ├── PurpleDefaultsSIPE.plist
│ ├── README.Adium
│ ├── SIPEAdiumPlugin.xcodeproj/
│ │ ├── project.pbxproj
│ │ └── xcshareddata/
│ │ └── xcschemes/
│ │ ├── SIPEAdiumPlugin.xcscheme
│ │ └── pidgin-sipe.xcscheme
│ ├── SIPEAdiumPlugin_Prefix.pch
│ ├── check_release.sh
│ ├── find_adium_build.sh
│ ├── openssl/
│ │ ├── libcrypto.0.9.8.tbd
│ │ └── opensslconf.h
│ └── xcconfigs/
│ ├── Base.xcconfig
│ ├── Debug-Release.xcconfig
│ ├── Debug.xcconfig
│ ├── Release.xcconfig
│ ├── SIPEAdiumPlugin.xcconfig
│ └── libpidgin-sipe.xcconfig
├── api/
│ ├── Makefile.am
│ ├── sipe-backend.h
│ ├── sipe-common.h
│ ├── sipe-core.h
│ ├── sipe-mime.h
│ └── sipe-nls.h
├── core/
│ ├── Makefile.am
│ ├── Makefile.mingw
│ ├── libsiperc.rc.in
│ ├── md4.c
│ ├── md4.h
│ ├── sdpmsg.c
│ ├── sdpmsg.h
│ ├── sip-csta.c
│ ├── sip-csta.h
│ ├── sip-sec-basic.c
│ ├── sip-sec-basic.h
│ ├── sip-sec-digest-tests.c
│ ├── sip-sec-digest.c
│ ├── sip-sec-digest.h
│ ├── sip-sec-gssapi.c
│ ├── sip-sec-gssapi.h
│ ├── sip-sec-mech.h
│ ├── sip-sec-negotiate.c
│ ├── sip-sec-negotiate.h
│ ├── sip-sec-ntlm-analyzer.c
│ ├── sip-sec-ntlm-tests.c
│ ├── sip-sec-ntlm.c
│ ├── sip-sec-ntlm.h
│ ├── sip-sec-sspi.c
│ ├── sip-sec-sspi.h
│ ├── sip-sec-tls-dsk.c
│ ├── sip-sec-tls-dsk.h
│ ├── sip-sec.c
│ ├── sip-sec.h
│ ├── sip-soap.c
│ ├── sip-soap.h
│ ├── sip-transport.c
│ ├── sip-transport.h
│ ├── sipe-appshare-client.h
│ ├── sipe-appshare-remmina.c
│ ├── sipe-appshare-xfreerdp.c
│ ├── sipe-appshare.c
│ ├── sipe-appshare.h
│ ├── sipe-buddy.c
│ ├── sipe-buddy.h
│ ├── sipe-cal.c
│ ├── sipe-cal.h
│ ├── sipe-cert-crypto-nss.c
│ ├── sipe-cert-crypto-openssl.c
│ ├── sipe-cert-crypto.h
│ ├── sipe-certificate.c
│ ├── sipe-certificate.h
│ ├── sipe-chat.c
│ ├── sipe-chat.h
│ ├── sipe-conf.c
│ ├── sipe-conf.h
│ ├── sipe-core-private.h
│ ├── sipe-core.c
│ ├── sipe-crypt-nss.c
│ ├── sipe-crypt-openssl.c
│ ├── sipe-crypt.h
│ ├── sipe-dialog.c
│ ├── sipe-dialog.h
│ ├── sipe-digest-nss.c
│ ├── sipe-digest-openssl.c
│ ├── sipe-digest.h
│ ├── sipe-domino.c
│ ├── sipe-domino.h
│ ├── sipe-ews-autodiscover.c
│ ├── sipe-ews-autodiscover.h
│ ├── sipe-ews.c
│ ├── sipe-ews.h
│ ├── sipe-ft-lync.c
│ ├── sipe-ft-lync.h
│ ├── sipe-ft-tftp.c
│ ├── sipe-ft-tftp.h
│ ├── sipe-ft.c
│ ├── sipe-ft.h
│ ├── sipe-generic-tests.c
│ ├── sipe-group.c
│ ├── sipe-group.h
│ ├── sipe-groupchat.c
│ ├── sipe-groupchat.h
│ ├── sipe-http-request.c
│ ├── sipe-http-request.h
│ ├── sipe-http-transport.c
│ ├── sipe-http-transport.h
│ ├── sipe-http.c
│ ├── sipe-http.h
│ ├── sipe-im.c
│ ├── sipe-im.h
│ ├── sipe-incoming.c
│ ├── sipe-incoming.h
│ ├── sipe-lync-autodiscover.c
│ ├── sipe-lync-autodiscover.h
│ ├── sipe-media.c
│ ├── sipe-media.h
│ ├── sipe-mime-common.c
│ ├── sipe-mime.c
│ ├── sipe-msrtp.c
│ ├── sipe-notify.c
│ ├── sipe-notify.h
│ ├── sipe-ocs2005.c
│ ├── sipe-ocs2005.h
│ ├── sipe-ocs2007.c
│ ├── sipe-ocs2007.h
│ ├── sipe-rtf-tests.c
│ ├── sipe-rtf.h
│ ├── sipe-rtf.l
│ ├── sipe-schedule.c
│ ├── sipe-schedule.h
│ ├── sipe-session.c
│ ├── sipe-session.h
│ ├── sipe-sign.c
│ ├── sipe-sign.h
│ ├── sipe-sipmsg-tests.c
│ ├── sipe-status.c
│ ├── sipe-status.h
│ ├── sipe-subscriptions.c
│ ├── sipe-subscriptions.h
│ ├── sipe-svc.c
│ ├── sipe-svc.h
│ ├── sipe-tls-analyzer.c
│ ├── sipe-tls-tester.c
│ ├── sipe-tls.c
│ ├── sipe-tls.h
│ ├── sipe-ucs.c
│ ├── sipe-ucs.h
│ ├── sipe-user.c
│ ├── sipe-user.h
│ ├── sipe-utils.c
│ ├── sipe-utils.h
│ ├── sipe-webticket.c
│ ├── sipe-webticket.h
│ ├── sipe-win32dep.c
│ ├── sipe-win32dep.h
│ ├── sipe-xml-tests.c
│ ├── sipe-xml.c
│ ├── sipe-xml.h
│ ├── sipmsg.c
│ ├── sipmsg.h
│ ├── uuid.c
│ └── uuid.h
├── miranda/
│ ├── INSTALL
│ ├── miranda-buddy.c
│ ├── miranda-chat.c
│ ├── miranda-connection.c
│ ├── miranda-debug.c
│ ├── miranda-dnsquery.c
│ ├── miranda-ft.c
│ ├── miranda-groupchat.c
│ ├── miranda-im.c
│ ├── miranda-input.c
│ ├── miranda-markup.c
│ ├── miranda-media.c
│ ├── miranda-network.c
│ ├── miranda-notify.c
│ ├── miranda-plugin.c
│ ├── miranda-private.h
│ ├── miranda-resource.h
│ ├── miranda-schedule.c
│ ├── miranda-search.c
│ ├── miranda-setting.c
│ ├── miranda-status.c
│ ├── miranda-transport.c
│ ├── miranda-user.c
│ ├── miranda-utils.c
│ ├── miranda-version.h
│ ├── miranda.rc
│ ├── sipe-miranda.c
│ └── vlc.c
├── purple/
│ ├── Makefile.am
│ ├── pidgin-sipe.metainfo.xml
│ ├── purple-buddy.c
│ ├── purple-chat.c
│ ├── purple-connection.c
│ ├── purple-dbus-bindings.c
│ ├── purple-dbus.c
│ ├── purple-dbus.h
│ ├── purple-debug.c
│ ├── purple-dnsquery.c
│ ├── purple-ft.c
│ ├── purple-groupchat.c
│ ├── purple-im.c
│ ├── purple-markup.c
│ ├── purple-media.c
│ ├── purple-mime.c
│ ├── purple-network.c
│ ├── purple-notify.c
│ ├── purple-plugin-common.c
│ ├── purple-plugin.c
│ ├── purple-plugin3.c
│ ├── purple-private.h
│ ├── purple-schedule.c
│ ├── purple-search.c
│ ├── purple-setting.c
│ ├── purple-status.c
│ ├── purple-transport.c
│ ├── purple-user.c
│ ├── tests-load.c
│ └── tests.c
└── telepathy/
├── Makefile.am
├── data/
│ ├── Makefile.am
│ ├── org.freedesktop.Telepathy.ConnectionManager.sipe.service.in
│ └── sipe.profile
├── telepathy-buddy.c
├── telepathy-connection.c
├── telepathy-debug.c
├── telepathy-dnsquery.c
├── telepathy-main.c
├── telepathy-private.h
├── telepathy-protocol.c
├── telepathy-schedule.c
├── telepathy-search.c
├── telepathy-status.c
├── telepathy-stubs.c
├── telepathy-tls.c
└── telepathy-transport.c
Showing preview only (304K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (3833 symbols across 193 files)
FILE: src/adium/DCPurpleSIPEJoinChatViewController.h
function interface (line 15) | interface DCPurpleSIPEJoinChatViewController : DCJoinChatViewController ...
FILE: src/adium/ESPurpleSIPEAccount.h
function interface (line 32) | interface ESPurpleSIPEAccount : CBPurpleAccount <AIAccount_Files> {
FILE: src/adium/ESSIPEAccountViewController.h
function interface (line 14) | interface ESSIPEAccountViewController : PurpleAccountViewController {
FILE: src/adium/ESSIPELibpurpleServicePlugin.h
function interface (line 15) | interface ESSIPELibpurpleServicePlugin : AIPlugin <AILibpurplePlugin> {
FILE: src/adium/ESSIPEService.h
function interface (line 13) | interface ESSIPEService : PurpleService {
FILE: src/api/sipe-backend.h
type sipe_backend_chat_session (line 45) | struct sipe_backend_chat_session
type sipe_chat_session (line 46) | struct sipe_chat_session
type sipe_core_public (line 47) | struct sipe_core_public
type sipe_transport_connection (line 48) | struct sipe_transport_connection
type sipe_file_transfer (line 49) | struct sipe_file_transfer
type sipe_media_call (line 50) | struct sipe_media_call
type sipe_media (line 51) | struct sipe_media
type sipe_debug_level (line 63) | typedef enum {
type sipe_backend_chat_session (line 119) | struct sipe_backend_chat_session
type sipe_backend_chat_session (line 120) | struct sipe_backend_chat_session
type sipe_backend_chat_session (line 123) | struct sipe_backend_chat_session
type sipe_backend_chat_session (line 128) | struct sipe_backend_chat_session
type sipe_core_public (line 128) | struct sipe_core_public
type sipe_chat_session (line 129) | struct sipe_chat_session
type sipe_backend_chat_session (line 132) | struct sipe_backend_chat_session
type sipe_backend_chat_session (line 134) | struct sipe_backend_chat_session
type sipe_core_public (line 136) | struct sipe_core_public
type sipe_backend_chat_session (line 137) | struct sipe_backend_chat_session
type sipe_backend_chat_session (line 141) | struct sipe_backend_chat_session
type sipe_core_public (line 147) | struct sipe_core_public
type sipe_backend_chat_session (line 148) | struct sipe_backend_chat_session
type sipe_core_public (line 156) | struct sipe_core_public
type sipe_backend_chat_session (line 157) | struct sipe_backend_chat_session
type sipe_backend_chat_session (line 164) | struct sipe_backend_chat_session
type sipe_backend_chat_session (line 165) | struct sipe_backend_chat_session
type sipe_core_public (line 170) | struct sipe_core_public
type sipe_connection_error (line 172) | typedef enum {
type sipe_core_public (line 180) | struct sipe_core_public
type sipe_core_public (line 184) | struct sipe_core_public
type sipe_core_public (line 185) | struct sipe_core_public
type sipe_dns_query (line 191) | struct sipe_dns_query
type sipe_core_public (line 191) | struct sipe_core_public
type sipe_dns_query (line 198) | struct sipe_dns_query
type sipe_core_public (line 198) | struct sipe_core_public
type sipe_dns_query (line 204) | struct sipe_dns_query
type sipe_backend_fd (line 208) | struct sipe_backend_fd
type sipe_file_transfer (line 210) | struct sipe_file_transfer
type sipe_file_transfer (line 212) | struct sipe_file_transfer
type sipe_file_transfer (line 213) | struct sipe_file_transfer
type sipe_file_transfer (line 225) | struct sipe_file_transfer
type sipe_file_transfer (line 239) | struct sipe_file_transfer
type sipe_file_transfer (line 243) | struct sipe_file_transfer
type sipe_file_transfer (line 245) | struct sipe_file_transfer
type sipe_file_transfer (line 246) | struct sipe_file_transfer
type sipe_core_public (line 248) | struct sipe_core_public
type sipe_file_transfer (line 249) | struct sipe_file_transfer
type sipe_core_public (line 261) | struct sipe_core_public
type sipe_file_transfer (line 262) | struct sipe_file_transfer
type sipe_file_transfer (line 276) | struct sipe_file_transfer
type sipe_backend_fd (line 277) | struct sipe_backend_fd
type sipe_file_transfer (line 286) | struct sipe_file_transfer
type sipe_core_public (line 304) | struct sipe_core_public
type sipe_core_public (line 314) | struct sipe_core_public
type sipe_core_public (line 318) | struct sipe_core_public
type sipe_core_public (line 321) | struct sipe_core_public
type SipeMediaCallFlags (line 333) | typedef enum {
type SipeIceVersion (line 340) | typedef enum {
type SipeCandidateType (line 346) | typedef enum {
type SipeComponentType (line 354) | typedef enum {
type SipeMediaType (line 360) | typedef enum {
type SipeNetworkProtocol (line 366) | typedef enum {
type SipeEncryptionPolicy (line 373) | typedef enum {
type sipe_media_call (line 380) | struct sipe_media_call
type sipe_backend_media (line 381) | struct sipe_backend_media
type sipe_backend_codec (line 382) | struct sipe_backend_codec
type sipe_backend_candidate (line 383) | struct sipe_backend_candidate
type sipe_backend_media_stream (line 384) | struct sipe_backend_media_stream
type sipe_backend_media_relays (line 385) | struct sipe_backend_media_relays
type ssrc_range (line 387) | struct ssrc_range {
type sipe_media_stream (line 392) | struct sipe_media_stream {
type sipe_media_call (line 406) | struct sipe_media_call {
type sipe_media_relay (line 422) | struct sipe_media_relay {
type sipe_backend_media (line 430) | struct sipe_backend_media
type sipe_core_public (line 430) | struct sipe_core_public
type sipe_media_call (line 431) | struct sipe_media_call
type sipe_backend_media (line 434) | struct sipe_backend_media
type sipe_backend_media (line 436) | struct sipe_backend_media
type sipe_backend_media_relays (line 438) | struct sipe_backend_media_relays
type sipe_backend_media_relays (line 441) | struct sipe_backend_media_relays
type sipe_backend_media_stream (line 443) | struct sipe_backend_media_stream
type sipe_media_stream (line 443) | struct sipe_media_stream
type sipe_backend_media_relays (line 447) | struct sipe_backend_media_relays
type sipe_media_call (line 449) | struct sipe_media_call
type sipe_media_stream (line 450) | struct sipe_media_stream
type sipe_media_call (line 452) | struct sipe_media_call
type sipe_media_stream (line 453) | struct sipe_media_stream
type sipe_backend_media (line 454) | struct sipe_backend_media
type sipe_media_call (line 455) | struct sipe_media_call
type sipe_media_stream (line 456) | struct sipe_media_stream
type sipe_media_call (line 457) | struct sipe_media_call
type sipe_media_stream (line 458) | struct sipe_media_stream
type sipe_media_call (line 461) | struct sipe_media_call
type sipe_media_stream (line 462) | struct sipe_media_stream
type sipe_media_call (line 466) | struct sipe_media_call
type sipe_media_stream (line 467) | struct sipe_media_stream
type sipe_media_call (line 469) | struct sipe_media_call
type sipe_media_stream (line 470) | struct sipe_media_stream
type sipe_media_stream (line 472) | struct sipe_media_stream
type sipe_media_stream (line 474) | struct sipe_media_stream
type sipe_media_stream (line 475) | struct sipe_media_stream
type sipe_media_stream (line 477) | struct sipe_media_stream
type sipe_media_stream (line 479) | struct sipe_media_stream
type sipe_media_call (line 482) | struct sipe_media_call
type sipe_media_stream (line 483) | struct sipe_media_stream
type sipe_backend_media_stream (line 484) | struct sipe_backend_media_stream
type sipe_backend_codec (line 487) | struct sipe_backend_codec
type sipe_backend_codec (line 492) | struct sipe_backend_codec
type sipe_backend_codec (line 493) | struct sipe_backend_codec
type sipe_backend_codec (line 497) | struct sipe_backend_codec
type sipe_backend_codec (line 498) | struct sipe_backend_codec
type sipe_backend_codec (line 499) | struct sipe_backend_codec
type sipe_backend_codec (line 502) | struct sipe_backend_codec
type sipe_media_call (line 503) | struct sipe_media_call
type sipe_media_stream (line 504) | struct sipe_media_stream
type sipe_media_call (line 506) | struct sipe_media_call
type sipe_media_stream (line 507) | struct sipe_media_stream
type sipe_backend_candidate (line 510) | struct sipe_backend_candidate
type sipe_backend_candidate (line 517) | struct sipe_backend_candidate
type sipe_backend_candidate (line 521) | struct sipe_backend_candidate
type sipe_backend_candidate (line 525) | struct sipe_backend_candidate
type sipe_backend_candidate (line 529) | struct sipe_backend_candidate
type sipe_backend_candidate (line 533) | struct sipe_backend_candidate
type sipe_backend_candidate (line 534) | struct sipe_backend_candidate
type sipe_backend_candidate (line 538) | struct sipe_backend_candidate
type sipe_backend_candidate (line 539) | struct sipe_backend_candidate
type sipe_backend_candidate (line 540) | struct sipe_backend_candidate
type sipe_backend_candidate (line 541) | struct sipe_backend_candidate
type sipe_backend_candidate (line 542) | struct sipe_backend_candidate
type sipe_backend_candidate (line 543) | struct sipe_backend_candidate
type sipe_backend_candidate (line 544) | struct sipe_backend_candidate
type sipe_media_call (line 545) | struct sipe_media_call
type sipe_media_stream (line 546) | struct sipe_media_stream
type sipe_backend_media (line 547) | struct sipe_backend_media
type sipe_backend_media (line 548) | struct sipe_backend_media
type sipe_backend_media (line 549) | struct sipe_backend_media
type sipe_backend_listendata (line 553) | struct sipe_backend_listendata
type sipe_backend_fd (line 556) | struct sipe_backend_fd
type sipe_backend_listendata (line 558) | struct sipe_backend_listendata
type sipe_backend_listendata (line 564) | struct sipe_backend_listendata
type sipe_backend_fd (line 566) | struct sipe_backend_fd
type sipe_backend_fd (line 567) | struct sipe_backend_fd
type sipe_backend_fd (line 568) | struct sipe_backend_fd
type sipe_core_public (line 572) | struct sipe_core_public
type sipe_backend_chat_session (line 573) | struct sipe_backend_chat_session
type sipe_core_public (line 576) | struct sipe_core_public
type sipe_backend_chat_session (line 577) | struct sipe_backend_chat_session
type sipe_core_public (line 584) | struct sipe_core_public
type sipe_core_public (line 590) | struct sipe_core_public
type sipe_core_public (line 593) | struct sipe_core_public
type sipe_core_public (line 596) | struct sipe_core_public
type sipe_backend_search_results (line 601) | struct sipe_backend_search_results
type sipe_backend_search_token (line 602) | struct sipe_backend_search_token
type sipe_core_public (line 604) | struct sipe_core_public
type sipe_backend_search_token (line 605) | struct sipe_backend_search_token
type sipe_backend_search_results (line 607) | struct sipe_backend_search_results
type sipe_core_public (line 607) | struct sipe_core_public
type sipe_backend_search_token (line 608) | struct sipe_backend_search_token
type sipe_core_public (line 609) | struct sipe_core_public
type sipe_backend_search_results (line 610) | struct sipe_backend_search_results
type sipe_core_public (line 616) | struct sipe_core_public
type sipe_backend_search_results (line 617) | struct sipe_backend_search_results
type sipe_setting (line 623) | typedef enum {
type sipe_core_public (line 632) | struct sipe_core_public
type sipe_core_public (line 637) | struct sipe_core_public
type sipe_core_public (line 638) | struct sipe_core_public
type sipe_core_public (line 651) | struct sipe_core_public
type sipe_transport_connection (line 657) | struct sipe_transport_connection
type sipe_transport_connection (line 658) | struct sipe_transport_connection
type sipe_transport_connection (line 659) | struct sipe_transport_connection
type sipe_connect_setup (line 662) | typedef struct {
type sipe_transport_connection (line 671) | struct sipe_transport_connection
type sipe_core_public (line 671) | struct sipe_core_public
type sipe_transport_connection (line 673) | struct sipe_transport_connection
type sipe_transport_connection (line 674) | struct sipe_transport_connection
type sipe_transport_connection (line 675) | struct sipe_transport_connection
type sipe_transport_connection (line 677) | struct sipe_transport_connection
type sipe_core_public (line 681) | struct sipe_core_public
type sipe_core_public (line 683) | struct sipe_core_public
type sipe_core_public (line 698) | struct sipe_core_public
type sipe_core_public (line 714) | struct sipe_core_public
type sipe_buddy_info_fields (line 732) | typedef enum
type sipe_core_public (line 772) | struct sipe_core_public
type sipe_core_public (line 785) | struct sipe_core_public
type sipe_core_public (line 796) | struct sipe_core_public
type sipe_core_public (line 806) | struct sipe_core_public
type sipe_core_public (line 816) | struct sipe_core_public
type sipe_core_public (line 827) | struct sipe_core_public
type sipe_core_public (line 837) | struct sipe_core_public
type sipe_core_public (line 848) | struct sipe_core_public
type sipe_core_public (line 860) | struct sipe_core_public
type sipe_core_public (line 873) | struct sipe_core_public
type sipe_core_public (line 884) | struct sipe_core_public
type sipe_core_public (line 895) | struct sipe_core_public
type sipe_core_public (line 906) | struct sipe_core_public
type sipe_core_public (line 917) | struct sipe_core_public
type sipe_core_public (line 926) | struct sipe_core_public
type sipe_core_public (line 937) | struct sipe_core_public
type sipe_core_public (line 948) | struct sipe_core_public
type sipe_core_public (line 965) | struct sipe_core_public
type sipe_core_public (line 969) | struct sipe_core_public
type sipe_core_public (line 977) | struct sipe_core_public
type sipe_core_public (line 980) | struct sipe_core_public
type sipe_core_public (line 993) | struct sipe_core_public
type sipe_core_public (line 1017) | struct sipe_core_public
type sipe_core_public (line 1032) | struct sipe_core_public
type sipe_core_public (line 1043) | struct sipe_core_public
type sipe_core_public (line 1054) | struct sipe_core_public
type sipe_core_public (line 1066) | struct sipe_core_public
type sipe_backend_buddy_info (line 1072) | struct sipe_backend_buddy_info
type sipe_backend_buddy_info (line 1073) | struct sipe_backend_buddy_info
type sipe_core_public (line 1073) | struct sipe_core_public
type sipe_core_public (line 1074) | struct sipe_core_public
type sipe_backend_buddy_info (line 1075) | struct sipe_backend_buddy_info
type sipe_core_public (line 1078) | struct sipe_core_public
type sipe_backend_buddy_info (line 1079) | struct sipe_backend_buddy_info
type sipe_core_public (line 1080) | struct sipe_core_public
type sipe_backend_buddy_info (line 1081) | struct sipe_backend_buddy_info
type sipe_backend_buddy_tooltip (line 1084) | struct sipe_backend_buddy_tooltip
type sipe_core_public (line 1085) | struct sipe_core_public
type sipe_backend_buddy_tooltip (line 1086) | struct sipe_backend_buddy_tooltip
type sipe_buddy_menu_type (line 1093) | enum sipe_buddy_menu_type {
type sipe_backend_buddy_menu (line 1109) | struct sipe_backend_buddy_menu
type sipe_core_public (line 1109) | struct sipe_core_public
type sipe_backend_buddy_menu (line 1110) | struct sipe_backend_buddy_menu
type sipe_core_public (line 1110) | struct sipe_core_public
type sipe_backend_buddy_menu (line 1111) | struct sipe_backend_buddy_menu
type sipe_buddy_menu_type (line 1113) | enum sipe_buddy_menu_type
type sipe_backend_buddy_menu (line 1115) | struct sipe_backend_buddy_menu
type sipe_core_public (line 1115) | struct sipe_core_public
type sipe_backend_buddy_menu (line 1116) | struct sipe_backend_buddy_menu
type sipe_backend_buddy_menu (line 1118) | struct sipe_backend_buddy_menu
type sipe_core_public (line 1118) | struct sipe_core_public
type sipe_backend_buddy_menu (line 1119) | struct sipe_backend_buddy_menu
type sipe_backend_buddy_menu (line 1121) | struct sipe_backend_buddy_menu
type sipe_core_public (line 1123) | struct sipe_core_public
FILE: src/api/sipe-core.h
type sipe_transport_connection (line 61) | struct sipe_transport_connection {
type sipe_chat_session (line 73) | struct sipe_chat_session
type sipe_file_transfer (line 78) | struct sipe_file_transfer {
type sipe_backend_private (line 97) | struct sipe_backend_private
type sipe_core_public (line 135) | struct sipe_core_public {
type sipe_core_public (line 192) | struct sipe_core_public
type sipe_core_public (line 193) | struct sipe_core_public
type sipe_core_public (line 196) | struct sipe_core_public
type sipe_core_public (line 198) | struct sipe_core_public
type sipe_core_public (line 245) | struct sipe_core_public
type sipe_core_public (line 259) | struct sipe_core_public
type sipe_backend_buddy_tooltip (line 274) | struct sipe_backend_buddy_tooltip
type sipe_core_public (line 275) | struct sipe_core_public
type sipe_backend_buddy_tooltip (line 279) | struct sipe_backend_buddy_tooltip
type sipe_core_public (line 288) | struct sipe_core_public
type sipe_core_public (line 299) | struct sipe_core_public
type sipe_core_public (line 303) | struct sipe_core_public
type sipe_core_public (line 306) | struct sipe_core_public
type sipe_core_public (line 313) | struct sipe_core_public
type sipe_core_public (line 320) | struct sipe_core_public
type sipe_core_public (line 338) | struct sipe_core_public
type sipe_core_public (line 351) | struct sipe_core_public
type sipe_core_public (line 356) | struct sipe_core_public
type sipe_chat_session (line 357) | struct sipe_chat_session
type sipe_chat_session (line 366) | struct sipe_chat_session
type sipe_core_public (line 371) | struct sipe_core_public
type sipe_chat_session (line 372) | struct sipe_chat_session
type sipe_core_public (line 378) | struct sipe_core_public
type sipe_chat_session (line 379) | struct sipe_chat_session
type sipe_core_public (line 384) | struct sipe_core_public
type sipe_chat_session (line 385) | struct sipe_chat_session
type sipe_core_public (line 390) | struct sipe_core_public
type sipe_chat_session (line 391) | struct sipe_chat_session
type sipe_chat_lock_status (line 397) | typedef enum {
type sipe_core_public (line 402) | struct sipe_core_public
type sipe_chat_session (line 403) | struct sipe_chat_session
type sipe_core_public (line 408) | struct sipe_core_public
type sipe_chat_session (line 409) | struct sipe_chat_session
type sipe_core_public (line 418) | struct sipe_core_public
type sipe_core_public (line 424) | struct sipe_core_public
type sipe_core_public (line 427) | struct sipe_core_public
type sipe_core_public (line 432) | struct sipe_core_public
type sipe_chat_session (line 433) | struct sipe_chat_session
type sipe_appshare_role (line 435) | typedef enum {
type sipe_core_public (line 450) | struct sipe_core_public
type sipe_chat_session (line 451) | struct sipe_chat_session
type sipe_core_public (line 454) | struct sipe_core_public
type sipe_core_public (line 458) | struct sipe_core_public
type sipe_media_call (line 461) | struct sipe_media_call
type sipe_media_stream (line 462) | struct sipe_media_stream
type sipe_media_call (line 463) | struct sipe_media_call
type sipe_media_stream (line 472) | struct sipe_media_stream
type sipe_media_stream (line 475) | struct sipe_media_stream
type sipe_media_stream (line 486) | struct sipe_media_stream
type sipe_media_stream (line 495) | struct sipe_media_stream
type sipe_core_public (line 504) | struct sipe_core_public
type sipe_chat_session (line 505) | struct sipe_chat_session
type sipe_media_call (line 518) | struct sipe_media_call
type sipe_core_public (line 519) | struct sipe_core_public
type sipe_core_public (line 527) | struct sipe_core_public
type sipe_core_public (line 535) | struct sipe_core_public
type sipe_file_transfer (line 538) | struct sipe_file_transfer
type sipe_core_public (line 539) | struct sipe_core_public
type sipe_core_public (line 553) | struct sipe_core_public
type sipe_chat_session (line 554) | struct sipe_chat_session
type sipe_core_public (line 563) | struct sipe_core_public
type sipe_core_public (line 573) | struct sipe_core_public
type sipe_chat_session (line 574) | struct sipe_chat_session
type sipe_media_call (line 583) | struct sipe_media_call
type sipe_media_call (line 594) | struct sipe_media_call
type sipe_core_public (line 597) | struct sipe_core_public
type sipe_core_public (line 598) | struct sipe_core_public
type sipe_core_public (line 602) | struct sipe_core_public
type sipe_core_public (line 605) | struct sipe_core_public
type sipe_core_public (line 609) | struct sipe_core_public
type sipe_core_public (line 620) | struct sipe_core_public
type sipe_core_public (line 624) | struct sipe_core_public
type sipe_core_public (line 628) | struct sipe_core_public
type sipe_backend_search_token (line 633) | struct sipe_backend_search_token
type sipe_core_public (line 634) | struct sipe_core_public
type sipe_backend_search_token (line 635) | struct sipe_backend_search_token
type sipe_core_public (line 643) | struct sipe_core_public
type sipe_core_public (line 646) | struct sipe_core_public
type sipe_core_public (line 648) | struct sipe_core_public
type sipe_backend_buddy_menu (line 651) | struct sipe_backend_buddy_menu
type sipe_backend_buddy_menu (line 652) | struct sipe_backend_buddy_menu
type sipe_core_public (line 652) | struct sipe_core_public
type sipe_backend_buddy_menu (line 654) | struct sipe_backend_buddy_menu
type sipe_core_public (line 656) | struct sipe_core_public
type sipe_core_public (line 668) | struct sipe_core_public
FILE: src/core/md4.c
function w2b (line 35) | static void w2b(uint8_t *out, const uint32_t *in, uint32_t len)
function b2w (line 53) | static void b2w(uint32_t *out, const uint8_t *in, uint32_t len)
function md4step (line 71) | static void md4step(uint32_t state[4], const uint8_t *data)
function md4sum (line 103) | void md4sum(const uint8_t *input, uint32_t inputLen, uint8_t *result)
FILE: src/core/sdpmsg.c
function gboolean (line 35) | static gboolean
function gboolean (line 52) | static gboolean
type sdpcandidate (line 110) | struct sdpcandidate
type sdpcandidate (line 110) | struct sdpcandidate
function SipeComponentType (line 112) | static SipeComponentType
function gchar (line 122) | static gchar *
function gboolean (line 144) | static gboolean
function gboolean (line 184) | static gboolean
function gboolean (line 230) | static gboolean
function GSList (line 285) | static GSList *
function gboolean (line 314) | static gboolean
function gboolean (line 358) | static gboolean
function parse_encryption_key (line 397) | static void
type sdpmsg (line 427) | struct sdpmsg
type sdpmsg (line 430) | struct sdpmsg
type sdpmedia (line 440) | struct sdpmedia
function gchar (line 485) | static gchar *
function gchar (line 531) | static gchar *
function gchar (line 544) | static gchar *
function gchar (line 560) | static gchar *
function gint (line 696) | static gint
function gchar (line 702) | static gchar *
function gchar (line 733) | static gchar *
function gchar (line 749) | static gchar *
function gchar (line 853) | gchar *
type sdpcandidate (line 881) | struct sdpcandidate
type sdpcandidate (line 882) | struct sdpcandidate
type sdpcandidate (line 885) | struct sdpcandidate
function sdpcandidate_free (line 904) | void
function sdpcodec_free (line 917) | void
function sdpmedia_free (line 927) | void
function sdpmsg_free (line 949) | void
FILE: src/core/sdpmsg.h
type sdpmsg (line 24) | struct sdpmsg {
type sdpmedia (line 30) | struct sdpmedia {
type sdpcandidate (line 45) | struct sdpcandidate {
type sdpcodec (line 59) | struct sdpcodec {
type sdpmsg (line 75) | struct sdpmsg
type sdpmsg (line 84) | struct sdpmsg
type sdpmsg (line 89) | struct sdpmsg
type sdpcandidate (line 94) | struct sdpcandidate
type sdpcodec (line 99) | struct sdpcodec
type sdpmedia (line 104) | struct sdpmedia
FILE: src/core/sip-csta.c
type sip_csta (line 55) | struct sip_csta {
function gchar (line 156) | static gchar *
function gchar (line 179) | gchar *
function gchar (line 195) | gchar *
function sip_csta_initialize (line 207) | static void
function gboolean (line 222) | static gboolean
function sip_csta_get_features (line 240) | static void
function gboolean (line 269) | static gboolean
function sip_csta_monitor_start (line 299) | static void
function sip_csta_monitor_stop (line 328) | static void
type sipe_core_private (line 362) | struct sipe_core_private
function gboolean (line 366) | static gboolean
function sipe_invite_csta_gateway (line 433) | static void
function sip_csta_open (line 478) | void
function sip_csta_free (line 487) | static void
function sip_csta_close (line 507) | void
function gboolean (line 525) | static gboolean
function sip_csta_make_call (line 565) | static void sip_csta_make_call(struct sipe_core_private *sipe_private,
function sip_csta_update_id_and_status (line 602) | static void
function process_incoming_info_csta (line 646) | void
function gboolean (line 694) | gboolean sip_csta_is_idle(struct sipe_core_private *sipe_private)
function sipe_core_buddy_make_call (line 699) | void sipe_core_buddy_make_call(struct sipe_core_public *sipe_public,
FILE: src/core/sip-csta.h
type sipmsg (line 31) | struct sipmsg
type sipe_core_private (line 32) | struct sipe_core_private
type sipe_core_private (line 60) | struct sipe_core_private
type sipe_core_private (line 67) | struct sipe_core_private
type sipe_core_private (line 72) | struct sipe_core_private
type sipmsg (line 73) | struct sipmsg
type sipe_core_private (line 78) | struct sipe_core_private
FILE: src/core/sip-sec-basic.c
type _context_basic (line 38) | struct _context_basic {
function gboolean (line 46) | static gboolean
function gboolean (line 65) | static gboolean
function gboolean (line 79) | static gboolean
function gboolean (line 88) | static gboolean
function sip_sec_destroy_sec_context__basic (line 97) | static void
function gchar (line 106) | static const gchar *
function SipSecContext (line 112) | SipSecContext
FILE: src/core/sip-sec-digest-tests.c
function gboolean (line 43) | gboolean sipe_backend_debug_enabled(void)
function sipe_backend_debug_literal (line 48) | void sipe_backend_debug_literal(sipe_debug_level level,
function sipe_backend_debug (line 54) | void sipe_backend_debug(sipe_debug_level level,
function gchar (line 68) | const gchar *sip_transport_epid(SIPE_UNUSED_PARAMETER struct sipe_core_p...
function gchar (line 73) | const gchar *sip_transport_ip_address(SIPE_UNUSED_PARAMETER struct sipe_...
function md4sum (line 92) | void md4sum(SIPE_UNUSED_PARAMETER const uint8_t *data,
function parse (line 111) | static void parse(const gchar *string,
function guint (line 175) | static guint expected(const gchar *reference,
function main (line 201) | int main(SIPE_UNUSED_PARAMETER int argc, SIPE_UNUSED_PARAMETER char *arg...
FILE: src/core/sip-sec-digest.c
function gchar (line 39) | static gchar *digest_HA1(const gchar *user,
function gchar (line 57) | static gchar *digest_HA2(const gchar *method,
function gchar (line 74) | static gchar *generate_cnonce(void)
function gchar (line 83) | static gchar *digest_response(const gchar *user,
function gchar (line 117) | gchar *sip_sec_digest_authorization(struct sipe_core_private *sipe_private,
FILE: src/core/sip-sec-digest.h
type sipe_core_private (line 25) | struct sipe_core_private
type sipe_core_private (line 35) | struct sipe_core_private
FILE: src/core/sip-sec-gssapi.c
type _context_gssapi (line 60) | struct _context_gssapi {
function sip_sec_gssapi_print_gss_error0 (line 106) | static void sip_sec_gssapi_print_gss_error0(const char *func,
function sip_sec_gssapi_print_gss_error (line 131) | static void sip_sec_gssapi_print_gss_error(const char *func,
function gboolean (line 141) | static gboolean add_mech(gss_OID_set set,
function gss_OID_set (line 210) | static gss_OID_set create_neg_mechs_set(void)
function gboolean (line 228) | static gboolean gssntlm_reset_mic_sequence(context_gssapi context)
function drop_gssapi_context (line 257) | static void drop_gssapi_context(SipSecContext context)
function gboolean (line 276) | static gboolean
function gboolean (line 462) | static gboolean
function gboolean (line 631) | static gboolean
function gboolean (line 666) | static gboolean
function sip_sec_destroy_sec_context__gssapi (line 697) | static void
function gchar (line 728) | static const gchar *
function SipSecContext (line 765) | SipSecContext
function gboolean (line 785) | gboolean sip_sec_password__gssapi(void)
FILE: src/core/sip-sec-mech.h
type SipSecBuffer (line 31) | typedef struct {
type SipSecContext (line 36) | typedef SipSecContext
type gboolean (line 39) | typedef gboolean
type gboolean (line 44) | typedef gboolean
type gboolean (line 53) | typedef gboolean
type gboolean (line 58) | typedef gboolean
type gchar (line 63) | typedef const gchar *(*sip_sec_context_name_func)(SipSecContext context);
type gboolean (line 65) | typedef gboolean (*sip_sec_password_func)(void);
type sip_sec_context (line 68) | struct sip_sec_context {
FILE: src/core/sip-sec-negotiate.c
type _context_negotiate (line 40) | struct _context_negotiate {
function sip_sec_negotiate_drop_krb5 (line 50) | static void sip_sec_negotiate_drop_krb5(context_negotiate context)
function sip_sec_negotiate_copy_flags (line 57) | static void sip_sec_negotiate_copy_flags(context_negotiate ctx,
function sip_sec_negotiate_copy_settings (line 63) | static void sip_sec_negotiate_copy_settings(context_negotiate ctx,
function gboolean (line 73) | static gboolean sip_sec_negotiate_ntlm_fallback(context_negotiate context)
function gboolean (line 90) | static gboolean
function gboolean (line 117) | static gboolean
function gboolean (line 169) | static gboolean
function gboolean (line 178) | static gboolean
function sip_sec_destroy_sec_context__negotiate (line 187) | static void
function gchar (line 203) | static const gchar *
function SipSecContext (line 213) | SipSecContext
FILE: src/core/sip-sec-ntlm-analyzer.c
function sipe_backend_debug (line 44) | void sipe_backend_debug(SIPE_UNUSED_PARAMETER sipe_debug_level level,
function gboolean (line 54) | gboolean sipe_strequal(const gchar *left, const gchar *right)
function main (line 75) | int main(int argc, char *argv[])
FILE: src/core/sip-sec-ntlm-tests.c
function gchar (line 49) | const gchar *sip_transport_epid(SIPE_UNUSED_PARAMETER struct sipe_core_p...
function assert_equal (line 59) | static void assert_equal(const char * expected, gpointer got, int len, g...
function assert_equal_guint32 (line 87) | static void assert_equal_guint32(guint32 expected, guint32 got)
function gboolean (line 101) | gboolean sip_sec_ntlm_tests(void)
FILE: src/core/sip-sec-ntlm.c
type version (line 135) | struct version {
type version (line 154) | struct version
type av_pair (line 198) | struct av_pair {
type smb_header (line 225) | struct smb_header {
type ntlm_message (line 232) | struct ntlm_message {
type negotiate_message (line 238) | struct negotiate_message {
type challenge_message (line 252) | struct challenge_message {
type authenticate_message (line 268) | struct authenticate_message {
function gsize (line 313) | static gsize
function gchar (line 327) | static gchar *
function crc32_make_table (line 344) | static void crc32_make_table()
function guint32 (line 361) | static guint32 crc32(guint32 crc, const guint8 *buf, int len)
function guint32 (line 377) | static guint32
function setup_des_key (line 388) | static void setup_des_key(const unsigned char key_56[], unsigned char *key)
function DES (line 401) | static void
function DESL (line 410) | static void
function NONCE (line 471) | static void
function Z (line 481) | static void
function LMOWFv1 (line 487) | static void
function NTOWFv1 (line 521) | static void
function NTOWFv2 (line 541) | static void
function compute_response (line 570) | static void
function KXKEY (line 682) | static void
function SIGNKEY (line 729) | static void
function SEALKEY (line 770) | static void
function MAC (line 840) | static void
function sip_sec_ntlm_parse_challenge (line 940) | static void
function gboolean (line 999) | static gboolean
function sip_sec_ntlm_gen_negotiate (line 1255) | static void
function sip_sec_ntlm_sipe_signature_make (line 1290) | static void
function gchar (line 1314) | static gchar *
function gchar (line 1357) | static gchar *
function gchar (line 1384) | static gchar *
function gchar (line 1397) | static gchar *
function describe_av_pairs (line 1431) | static void
function gchar (line 1495) | static gchar *
function gchar (line 1623) | static gchar *
function sip_sec_ntlm_message_describe (line 1664) | static void
type _context_ntlm (line 1697) | struct _context_ntlm {
function gboolean (line 1712) | static gboolean
function gboolean (line 1752) | static gboolean
function gboolean (line 1867) | static gboolean
function gboolean (line 1892) | static gboolean
function sip_sec_destroy_sec_context__ntlm (line 1911) | static void
function gchar (line 1925) | static const gchar *
function SipSecContext (line 1931) | SipSecContext
function gboolean (line 1947) | gboolean sip_sec_password__ntlm(void)
function sip_sec_init__ntlm (line 1954) | void sip_sec_init__ntlm(void)
function sip_sec_destroy__ntlm (line 1978) | void sip_sec_destroy__ntlm(void)
FILE: src/core/sip-sec-sspi.c
type _context_sspi (line 63) | struct _context_sspi {
function sip_sec_sspi_print_error (line 73) | static void
function guint (line 98) | static guint
function sip_sec_destroy_sspi_context (line 117) | static void
function gboolean (line 134) | static gboolean
function gboolean (line 208) | static gboolean
function sip_sec_destroy_sec_context__sspi (line 313) | static void
function gboolean (line 324) | static gboolean
function gboolean (line 383) | static gboolean
function gchar (line 420) | static const gchar *
function SipSecContext (line 426) | SipSecContext
function gboolean (line 442) | gboolean sip_sec_password__sspi(void)
FILE: src/core/sip-sec-tls-dsk.c
type _context_tls_dsk (line 49) | struct _context_tls_dsk {
function gboolean (line 60) | static gboolean
function gboolean (line 70) | static gboolean
function gboolean (line 119) | static gboolean
function gboolean (line 154) | static gboolean
function sip_sec_destroy_sec_context__tls_dsk (line 193) | static void
function gchar (line 204) | static const gchar *
function SipSecContext (line 210) | SipSecContext
function gboolean (line 226) | gboolean sip_sec_password__tls_dsk(void)
FILE: src/core/sip-sec.c
function SipSecContext (line 107) | static SipSecContext
function gboolean (line 114) | static gboolean sip_sec_password__NONE(void)
function SipSecContext (line 121) | SipSecContext
function gboolean (line 168) | gboolean
function gboolean (line 213) | gboolean sip_sec_context_is_ready(SipSecContext context)
function gchar (line 218) | const gchar *sip_sec_context_name(SipSecContext context)
function guint (line 226) | guint sip_sec_context_type(SipSecContext context)
function sip_sec_destroy_context (line 234) | void sip_sec_destroy_context(SipSecContext context)
function gchar (line 239) | gchar *sip_sec_make_signature(SipSecContext context, const gchar *message)
function gboolean (line 253) | gboolean sip_sec_verify_signature(SipSecContext context,
function gboolean (line 273) | gboolean sip_sec_requires_password(guint authentication,
function sip_sec_init (line 296) | void sip_sec_init(void)
function sip_sec_destroy (line 303) | void sip_sec_destroy(void)
FILE: src/core/sip-sec.h
type sip_sec_context (line 26) | struct sip_sec_context
FILE: src/core/sip-soap.c
function sip_soap_raw_request_cb (line 42) | void sip_soap_raw_request_cb(struct sipe_core_private *sipe_private,
function sip_soap_request_full (line 75) | static void sip_soap_request_full(struct sipe_core_private *sipe_private,
function sip_soap_request_cb (line 112) | void sip_soap_request_cb(struct sipe_core_private *sipe_private,
function sip_soap_request (line 127) | void sip_soap_request(struct sipe_core_private *sipe_private,
function sip_soap_ocs2005_setacl (line 139) | void sip_soap_ocs2005_setacl(struct sipe_core_private *sipe_private,
function sip_soap_directory_search (line 164) | void sip_soap_directory_search(struct sipe_core_private *sipe_private,
FILE: src/core/sip-soap.h
type sipmsg (line 25) | struct sipmsg
type sipe_core_private (line 26) | struct sipe_core_private
type transaction (line 27) | struct transaction
type transaction_payload (line 28) | struct transaction_payload
type gboolean (line 31) | typedef gboolean (*SoapTransCallback) (struct sipe_core_private *,
type sipe_core_private (line 44) | struct sipe_core_private
type transaction_payload (line 48) | struct transaction_payload
type sipe_core_private (line 59) | struct sipe_core_private
type transaction_payload (line 63) | struct transaction_payload
type sipe_core_private (line 72) | struct sipe_core_private
type sipe_core_private (line 83) | struct sipe_core_private
type sipe_core_private (line 96) | struct sipe_core_private
type transaction_payload (line 100) | struct transaction_payload
FILE: src/core/sip-transport.c
type sip_auth (line 85) | struct sip_auth {
type sip_transport (line 102) | struct sip_transport {
function sipe_auth_free (line 145) | static void sipe_auth_free(struct sip_auth *auth)
function sipe_make_signature (line 167) | static void sipe_make_signature(struct sipe_core_private *sipe_private,
function gchar (line 206) | static gchar *msg_signature_to_auth(struct sip_auth *auth,
function gboolean (line 215) | static gboolean auth_can_retry(struct sip_transport *transport,
function initialize_auth_retry (line 227) | static void initialize_auth_retry(struct sipe_core_private *sipe_private,
function gchar (line 245) | static gchar *initialize_auth_context(struct sipe_core_private *sipe_pri...
function gchar (line 381) | static gchar *auth_header(struct sipe_core_private *sipe_private,
function fill_auth (line 406) | static void fill_auth(const gchar *hdr, struct sip_auth *auth)
function sign_outgoing_message (line 477) | static void sign_outgoing_message(struct sipe_core_private *sipe_private,
function send_sip_message (line 502) | static void send_sip_message(struct sip_transport *transport,
type sipe_core_private (line 510) | struct sipe_core_private
function keepalive_timeout (line 512) | static void keepalive_timeout(struct sipe_core_private *sipe_private,
function start_keepalive_timer (line 530) | static void start_keepalive_timer(struct sipe_core_private *sipe_private,
function sip_transport_response (line 541) | void sip_transport_response(struct sipe_core_private *sipe_private,
function transactions_remove (line 591) | static void transactions_remove(struct sipe_core_private *sipe_private,
type transaction (line 615) | struct transaction
type sip_transport (line 615) | struct sip_transport
type sipmsg (line 616) | struct sipmsg
type transaction (line 630) | struct transaction
function transaction_timeout_cb (line 642) | static void transaction_timeout_cb(struct sipe_core_private *sipe_private,
type transaction (line 650) | struct transaction
type sipe_core_private (line 650) | struct sipe_core_private
type sip_dialog (line 656) | struct sip_dialog
type sip_transport (line 661) | struct sip_transport
type sipmsg (line 663) | struct sipmsg
type transaction (line 672) | struct transaction
type transaction (line 785) | struct transaction
type sipe_core_private (line 785) | struct sipe_core_private
type sip_dialog (line 791) | struct sip_dialog
function sip_transport_simple_request (line 806) | static void sip_transport_simple_request(struct sipe_core_private *sipe_...
function sip_transport_ack (line 820) | void sip_transport_ack(struct sipe_core_private *sipe_private,
function sip_transport_bye (line 826) | void sip_transport_bye(struct sipe_core_private *sipe_private,
type transaction (line 832) | struct transaction
type sipe_core_private (line 832) | struct sipe_core_private
type sip_dialog (line 835) | struct sip_dialog
type transaction (line 848) | struct transaction
type sipe_core_private (line 848) | struct sipe_core_private
type sip_dialog (line 851) | struct sip_dialog
type transaction (line 864) | struct transaction
type sipe_core_private (line 864) | struct sipe_core_private
function sip_transport_subscribe (line 880) | void sip_transport_subscribe(struct sipe_core_private *sipe_private,
function sip_transport_update (line 897) | void sip_transport_update(struct sipe_core_private *sipe_private,
function gchar (line 911) | static const gchar *get_auth_header(struct sipe_core_private *sipe_private,
type sipe_core_private (line 923) | struct sipe_core_private
function do_reauthenticate_cb (line 926) | static void do_reauthenticate_cb(struct sipe_core_private *sipe_private,
function sip_transport_default_contact (line 945) | static void sip_transport_default_contact(struct sipe_core_private *sipe...
function do_register_cb (line 955) | static void do_register_cb(struct sipe_core_private *sipe_private,
function sip_transport_set_reregister (line 961) | static void sip_transport_set_reregister(struct sipe_core_private *sipe_...
type sipe_core_private (line 972) | struct sipe_core_private
function gboolean (line 977) | static gboolean process_register_response(struct sipe_core_private *sipe...
function gboolean (line 1354) | static gboolean register_response_timeout(struct sipe_core_private *sipe...
function do_register (line 1373) | static void do_register(struct sipe_core_private *sipe_private,
function sip_transport_deregister (line 1434) | void sip_transport_deregister(struct sipe_core_private *sipe_private)
function sip_transport_drop (line 1439) | void sip_transport_drop(struct sipe_core_private *sipe_private)
function sip_transport_authentication_completed (line 1478) | void sip_transport_authentication_completed(struct sipe_core_private *si...
function guint (line 1483) | guint sip_transport_port(struct sipe_core_private *sipe_private)
function process_input_message (line 1488) | static void process_input_message(struct sipe_core_private *sipe_private,
function sip_transport_input (line 1663) | static void sip_transport_input(struct sipe_transport_connection *conn)
function sip_transport_connected (line 1775) | static void sip_transport_connected(struct sipe_transport_connection *conn)
type sipe_core_private (line 1814) | struct sipe_core_private
type sipe_core_private (line 1815) | struct sipe_core_private
type sip_service_data (line 1816) | struct sip_service_data
type sipe_core_private (line 1817) | struct sipe_core_private
function sip_transport_error (line 1819) | static void sip_transport_error(struct sipe_transport_connection *conn,
function sipe_server_register (line 1841) | static void sipe_server_register(struct sipe_core_private *sipe_private,
type sip_service_data (line 1866) | struct sip_service_data {
type sip_service_data (line 1877) | struct sip_service_data
type sip_service_data (line 1886) | struct sip_service_data
type sip_service_data (line 1893) | struct sip_service_data
type sip_service_data (line 1899) | struct sip_service_data
type sip_address_data (line 1905) | struct sip_address_data {
type sip_address_data (line 1914) | struct sip_address_data
function sipe_core_dns_resolved (line 1931) | static void sipe_core_dns_resolved(struct sipe_core_public *sipe_public,
function resolve_next_lync (line 1968) | static void resolve_next_lync(struct sipe_core_private *sipe_private)
function resolve_next_service (line 1993) | static void resolve_next_service(struct sipe_core_private *sipe_private,
function resolve_next_address (line 2022) | static void resolve_next_address(struct sipe_core_private *sipe_private,
function lync_autodiscover_cb (line 2062) | static void lync_autodiscover_cb(struct sipe_core_private *sipe_private,
function gboolean (line 2078) | gboolean sipe_core_transport_sip_requires_password(guint authentication,
function sipe_core_transport_sip_connect (line 2084) | void sipe_core_transport_sip_connect(struct sipe_core_public *sipe_public,
function gchar (line 2131) | const gchar *sipe_core_transport_sip_server_name(struct sipe_core_public...
function sip_transaction_cseq (line 2137) | int sip_transaction_cseq(struct transaction *trans)
function gchar (line 2147) | const gchar *sip_transport_epid(struct sipe_core_private *sipe_private)
function gchar (line 2154) | const gchar *sip_transport_ip_address(struct sipe_core_private *sipe_pri...
function gchar (line 2161) | const gchar *sip_transport_sdp_address_marker(struct sipe_core_private *...
FILE: src/core/sip-transport.h
type sipmsg (line 24) | struct sipmsg
type sip_dialog (line 25) | struct sip_dialog
type sipe_core_private (line 26) | struct sipe_core_private
type transaction (line 27) | struct transaction
type gboolean (line 30) | typedef gboolean (*TransCallback) (struct sipe_core_private *,
type transaction_payload (line 34) | struct transaction_payload {
type transaction (line 39) | struct transaction {
type sipe_core_private (line 54) | struct sipe_core_private
type sipmsg (line 55) | struct sipmsg
type transaction (line 61) | struct transaction
type sipe_core_private (line 61) | struct sipe_core_private
type sip_dialog (line 67) | struct sip_dialog
type transaction (line 71) | struct transaction
type sipe_core_private (line 71) | struct sipe_core_private
type sip_dialog (line 77) | struct sip_dialog
type sipe_core_private (line 83) | struct sipe_core_private
type sip_dialog (line 84) | struct sip_dialog
type sipe_core_private (line 85) | struct sipe_core_private
type sip_dialog (line 86) | struct sip_dialog
type transaction (line 87) | struct transaction
type sipe_core_private (line 87) | struct sipe_core_private
type sip_dialog (line 90) | struct sip_dialog
type transaction (line 92) | struct transaction
type sipe_core_private (line 92) | struct sipe_core_private
type sip_dialog (line 95) | struct sip_dialog
type transaction (line 97) | struct transaction
type sipe_core_private (line 97) | struct sipe_core_private
type sipe_core_private (line 102) | struct sipe_core_private
type sip_dialog (line 106) | struct sip_dialog
type sipe_core_private (line 108) | struct sipe_core_private
type sip_dialog (line 109) | struct sip_dialog
type sipe_core_private (line 113) | struct sipe_core_private
type sipe_core_private (line 114) | struct sipe_core_private
type sipe_core_private (line 115) | struct sipe_core_private
type sipe_core_private (line 116) | struct sipe_core_private
type transaction (line 118) | struct transaction
type sipe_core_private (line 120) | struct sipe_core_private
type sipe_core_private (line 121) | struct sipe_core_private
type sipe_core_private (line 122) | struct sipe_core_private
FILE: src/core/sipe-appshare-client.h
type sipe_core_private (line 24) | struct sipe_core_private
type sipe_media_stream (line 25) | struct sipe_media_stream
type sipmsg (line 26) | struct sipmsg
type sipe_rdp_client (line 28) | struct sipe_rdp_client {
type sipe_rdp_client (line 40) | struct sipe_rdp_client
type sipe_rdp_client (line 41) | struct sipe_rdp_client
FILE: src/core/sipe-appshare-remmina.c
type remmina_data (line 36) | struct remmina_data {
function GSocketAddress (line 40) | static GSocketAddress *
function gboolean (line 53) | static gboolean
function remmina_free (line 127) | static void
function sipe_appshare_remmina_init (line 140) | void
FILE: src/core/sipe-appshare-xfreerdp.c
type xfreerdp_data (line 37) | struct xfreerdp_data {
function GSocketAddress (line 41) | static GSocketAddress *
function gboolean (line 60) | static gboolean
function xfreerdp_free (line 85) | static void
function sipe_appshare_xfreerdp_init (line 98) | void
FILE: src/core/sipe-appshare.c
type sipe_appshare (line 58) | struct sipe_appshare {
function sipe_appshare_free (line 78) | static void
function gboolean (line 131) | static gboolean
function gboolean (line 188) | static gboolean
function launch_rdp_client (line 256) | static void
function gssize (line 336) | static gssize
function delayed_hangup_cb (line 375) | static void
function gboolean (line 384) | static gboolean
function read_cb (line 406) | static void
function writable_cb (line 455) | static void
function accept_cb (line 465) | static void
function decline_cb (line 475) | static void
type sipe_user_ask_ctx (line 485) | struct sipe_user_ask_ctx
type sipe_core_private (line 486) | struct sipe_core_private
type sipe_user_ask_ctx (line 492) | struct sipe_user_ask_ctx
type sipe_appshare (line 508) | struct sipe_appshare
type sipe_media_stream (line 509) | struct sipe_media_stream
type sipe_appshare (line 511) | struct sipe_appshare
type sipe_media_call (line 512) | struct sipe_media_call
type sipe_core_private (line 513) | struct sipe_core_private
function process_incoming_invite_appshare (line 556) | void
function connect_conference (line 610) | static void
function sipe_core_appshare_connect_conference (line 644) | void
function sipe_appshare_role (line 676) | sipe_appshare_role
function set_shared_display_area (line 709) | static void
function candidate_pairs_established_cb (line 741) | static void
function stop_presenting_cb (line 842) | static void
type sipe_user_ask_ctx (line 860) | struct sipe_user_ask_ctx
type sipe_core_private (line 861) | struct sipe_core_private
type sipe_media_call (line 863) | struct sipe_media_call
type sipe_user_ask_ctx (line 865) | struct sipe_user_ask_ctx
function monitor_selected_cb (line 883) | static void
function present_monitor_choice (line 948) | static void
function sipe_core_appshare_share_desktop (line 984) | void
function sipe_core_conf_share_desktop (line 991) | void
function sipe_core_appshare_set_remote_control (line 1024) | void
function gboolean (line 1053) | gboolean
FILE: src/core/sipe-appshare.h
type sipe_core_private (line 24) | struct sipe_core_private
type sipe_media_call (line 25) | struct sipe_media_call
type sipmsg (line 26) | struct sipmsg
type sipe_core_private (line 28) | struct sipe_core_private
type sipmsg (line 29) | struct sipmsg
type sipe_media_call (line 31) | struct sipe_media_call
FILE: src/core/sipe-buddy.c
type sipe_buddies (line 67) | struct sipe_buddies {
type buddy_group_data (line 75) | struct buddy_group_data {
type photo_response_data (line 80) | struct photo_response_data {
type sipe_core_private (line 86) | struct sipe_core_private
type photo_response_data (line 88) | struct photo_response_data
function sipe_buddy_add_keys (line 90) | void sipe_buddy_add_keys(struct sipe_core_private *sipe_private,
type sipe_buddy (line 105) | struct sipe_buddy
type sipe_core_private (line 105) | struct sipe_core_private
type sipe_buddy (line 112) | struct sipe_buddy
function gboolean (line 147) | static gboolean is_buddy_in_group(struct sipe_buddy *buddy,
function sipe_buddy_add_to_group (line 166) | void sipe_buddy_add_to_group(struct sipe_core_private *sipe_private,
function gint (line 209) | static gint buddy_group_compare(gconstpointer a, gconstpointer b)
function sipe_buddy_insert_group (line 215) | void sipe_buddy_insert_group(struct sipe_buddy *buddy,
function buddy_group_free (line 228) | static void buddy_group_free(gpointer data)
function buddy_group_remove (line 233) | static void buddy_group_remove(struct sipe_buddy *buddy,
function sipe_buddy_remove_group (line 240) | static void sipe_buddy_remove_group(struct sipe_buddy *buddy,
function sipe_buddy_update_groups (line 256) | void sipe_buddy_update_groups(struct sipe_core_private *sipe_private,
function gchar (line 286) | gchar *sipe_buddy_groups_string(struct sipe_buddy *buddy)
function sipe_buddy_cleanup_local_list (line 311) | void sipe_buddy_cleanup_local_list(struct sipe_core_private *sipe_private)
type sipe_buddy (line 346) | struct sipe_buddy
type sipe_core_private (line 346) | struct sipe_core_private
type sipe_buddy (line 353) | struct sipe_buddy
type sipe_core_private (line 353) | struct sipe_core_private
function sipe_buddy_foreach (line 360) | void sipe_buddy_foreach(struct sipe_core_private *sipe_private,
function buddy_free (line 369) | static void buddy_free(struct sipe_buddy *buddy)
function gboolean (line 406) | static gboolean buddy_free_cb(SIPE_UNUSED_PARAMETER gpointer key,
function sipe_buddy_free (line 415) | void sipe_buddy_free(struct sipe_core_private *sipe_private)
function buddy_set_obsolete_flag (line 438) | static void buddy_set_obsolete_flag(SIPE_UNUSED_PARAMETER gpointer key,
function sipe_buddy_update_start (line 452) | void sipe_buddy_update_start(struct sipe_core_private *sipe_private)
function gboolean (line 459) | static gboolean buddy_check_obsolete_flag(SIPE_UNUSED_PARAMETER gpointer...
function sipe_buddy_update_finish (line 516) | void sipe_buddy_update_finish(struct sipe_core_private *sipe_private)
function gchar (line 523) | gchar *sipe_core_buddy_status(struct sipe_core_public *sipe_public,
function gchar (line 556) | gchar *sipe_buddy_get_alias(struct sipe_core_private *sipe_private,
function sipe_core_buddy_group (line 567) | void sipe_core_buddy_group(struct sipe_core_public *sipe_public,
function sipe_core_buddy_add (line 650) | void sipe_core_buddy_add(struct sipe_core_public *sipe_public,
function sipe_buddy_remove (line 671) | void sipe_buddy_remove(struct sipe_core_private *sipe_private,
function sipe_core_buddy_remove (line 708) | void sipe_core_buddy_remove(struct sipe_core_public *sipe_public,
function sipe_core_buddy_got_status (line 757) | void sipe_core_buddy_got_status(struct sipe_core_public *sipe_public,
function sipe_core_buddy_tooltip_info (line 783) | void sipe_core_buddy_tooltip_info(struct sipe_core_public *sipe_public,
function sipe_buddy_update_property (line 862) | void sipe_buddy_update_property(struct sipe_core_private *sipe_private,
type ms_dlx_data (line 913) | struct ms_dlx_data
type ms_dlx_data (line 914) | struct ms_dlx_data {
function free_search_rows (line 927) | static void free_search_rows(GSList *search_rows)
function ms_dlx_free (line 932) | static void ms_dlx_free(struct ms_dlx_data *mdd)
function gchar (line 948) | static gchar * prepare_buddy_search_query(GSList *query_rows, gboolean u...
function ms_dlx_webticket (line 995) | static void ms_dlx_webticket(struct sipe_core_private *sipe_private,
function ms_dlx_webticket_request (line 1058) | static void ms_dlx_webticket_request(struct sipe_core_private *sipe_priv...
function sipe_buddy_search_contacts_finalize (line 1073) | void sipe_buddy_search_contacts_finalize(struct sipe_core_private *sipe_...
function search_ab_entry_response (line 1091) | static void search_ab_entry_response(struct sipe_core_private *sipe_priv...
function gboolean (line 1227) | static gboolean process_search_contact_response(struct sipe_core_private...
function search_soap_request (line 1310) | static void search_soap_request(struct sipe_core_private *sipe_private,
function search_ab_entry_failed (line 1331) | static void search_ab_entry_failed(struct sipe_core_private *sipe_private,
function sipe_core_buddy_search (line 1345) | void sipe_core_buddy_search(struct sipe_core_public *sipe_public,
function get_info_finalize (line 1423) | static void get_info_finalize(struct sipe_core_private *sipe_private,
function get_info_ab_entry_response (line 1505) | static void get_info_ab_entry_response(struct sipe_core_private *sipe_pr...
function gboolean (line 1601) | static gboolean process_get_info_response(struct sipe_core_private *sipe...
function get_info_ab_entry_failed (line 1726) | static void get_info_ab_entry_failed(struct sipe_core_private *sipe_priv...
function GSList (line 1740) | static GSList *search_rows_for_uri(const gchar *uri)
function sipe_core_buddy_get_info (line 1747) | void sipe_core_buddy_get_info(struct sipe_core_public *sipe_public,
function photo_response_data_free (line 1777) | static void photo_response_data_free(struct photo_response_data *data)
function photo_response_data_remove (line 1787) | static void photo_response_data_remove(struct sipe_core_private *sipe_pr...
function process_buddy_photo_response (line 1796) | static void process_buddy_photo_response(struct sipe_core_private *sipe_...
function process_get_user_photo_response (line 1826) | static void process_get_user_photo_response(struct sipe_core_private *si...
function gchar (line 1873) | static gchar *create_x_ms_webticket_header(const gchar *wsse_security)
type sipe_http_request (line 1895) | struct sipe_http_request
type sipe_core_private (line 1895) | struct sipe_core_private
type photo_response_data (line 1896) | struct photo_response_data
type sipe_http_request (line 1917) | struct sipe_http_request
function photo_response_data_finalize (line 1937) | static void photo_response_data_finalize(struct sipe_core_private *sipe_...
function sipe_buddy_update_photo (line 1954) | void sipe_buddy_update_photo(struct sipe_core_private *sipe_private,
function get_photo_ab_entry_response (line 2037) | static void get_photo_ab_entry_response(struct sipe_core_private *sipe_p...
function get_photo_ab_entry_failed (line 2096) | static void get_photo_ab_entry_failed(SIPE_UNUSED_PARAMETER struct sipe_...
function buddy_fetch_photo (line 2102) | static void buddy_fetch_photo(struct sipe_core_private *sipe_private,
function buddy_refresh_photos_cb (line 2139) | static void buddy_refresh_photos_cb(gpointer uri,
function sipe_buddy_refresh_photos (line 2146) | void sipe_buddy_refresh_photos(struct sipe_core_private *sipe_private)
function sipe_core_buddy_new_chat (line 2155) | void sipe_core_buddy_new_chat(struct sipe_core_public *sipe_public,
function sipe_core_buddy_send_email (line 2184) | void sipe_core_buddy_send_email(struct sipe_core_public *sipe_public,
type sipe_backend_buddy_menu (line 2217) | struct sipe_backend_buddy_menu
type sipe_core_public (line 2217) | struct sipe_core_public
type sipe_backend_buddy_menu (line 2218) | struct sipe_backend_buddy_menu
type sipe_backend_buddy_menu (line 2250) | struct sipe_backend_buddy_menu
type sipe_core_public (line 2250) | struct sipe_core_public
type sipe_backend_buddy_menu (line 2252) | struct sipe_backend_buddy_menu
type sipe_core_private (line 2254) | struct sipe_core_private
type sipe_chat_session (line 2263) | struct sipe_chat_session
type sipe_media_call (line 2381) | struct sipe_media_call
function guint (line 2418) | guint sipe_buddy_count(struct sipe_core_private *sipe_private)
function guint (line 2423) | static guint sipe_ht_hash_nick(const char *nick)
function gboolean (line 2432) | static gboolean sipe_ht_equals_nick(const char *nick1, const char *nick2)
function sipe_buddy_init (line 2452) | void sipe_buddy_init(struct sipe_core_private *sipe_private)
FILE: src/core/sipe-buddy.h
type sipe_backend_search_results (line 24) | struct sipe_backend_search_results
type sipe_cal_working_hours (line 25) | struct sipe_cal_working_hours
type sipe_core_private (line 26) | struct sipe_core_private
type sipe_group (line 27) | struct sipe_group
type sipe_buddy (line 29) | struct sipe_buddy {
type sipe_core_private (line 75) | struct sipe_core_private
type sipe_buddy (line 76) | struct sipe_buddy
type sipe_buddy (line 92) | struct sipe_buddy
type sipe_core_private (line 92) | struct sipe_core_private
type sipe_core_private (line 105) | struct sipe_core_private
type sipe_buddy (line 106) | struct sipe_buddy
type sipe_group (line 107) | struct sipe_group
type sipe_buddy (line 116) | struct sipe_buddy
type sipe_group (line 117) | struct sipe_group
type sipe_core_private (line 126) | struct sipe_core_private
type sipe_buddy (line 127) | struct sipe_buddy
type sipe_buddy (line 137) | struct sipe_buddy
type sipe_core_private (line 145) | struct sipe_core_private
type sipe_core_private (line 152) | struct sipe_core_private
type sipe_core_private (line 159) | struct sipe_core_private
type sipe_buddy (line 169) | struct sipe_buddy
type sipe_core_private (line 169) | struct sipe_core_private
type sipe_buddy (line 180) | struct sipe_buddy
type sipe_core_private (line 180) | struct sipe_core_private
type sipe_core_private (line 190) | struct sipe_core_private
type sipe_core_private (line 200) | struct sipe_core_private
type sipe_buddy (line 201) | struct sipe_buddy
type sipe_core_private (line 213) | struct sipe_core_private
type sipe_core_private (line 224) | struct sipe_core_private
type sipe_core_private (line 239) | struct sipe_core_private
type sipe_core_private (line 250) | struct sipe_core_private
type sipe_core_private (line 260) | struct sipe_core_private
type sipe_backend_search_results (line 261) | struct sipe_backend_search_results
type sipe_core_private (line 270) | struct sipe_core_private
type sipe_core_private (line 277) | struct sipe_core_private
type sipe_core_private (line 284) | struct sipe_core_private
FILE: src/core/sipe-cal.c
type sipe_cal_std_dst (line 100) | struct sipe_cal_std_dst {
type sipe_cal_working_hours (line 111) | struct sipe_cal_working_hours {
function sipe_cal_get_wday (line 136) | static int
function sipe_cal_event_free (line 152) | void
function sipe_cal_events_free (line 162) | void
function sipe_cal_calendar_free (line 170) | void
function sipe_cal_calendar_init (line 195) | void
function sipe_cal_event_debug (line 219) | void
type sipe_cal_event (line 249) | struct sipe_cal_event
function gchar (line 262) | static gchar *
function sipe_reset_tz (line 273) | static void
function time_t (line 292) | time_t
type tm (line 313) | struct tm
type tm (line 317) | struct tm
function sipe_cal_free_working_hours (line 327) | void
function time_t (line 352) | static time_t
function sipe_cal_parse_std_dst (line 402) | static void
function sipe_cal_parse_working_hours (line 450) | void
type sipe_cal_event (line 542) | struct sipe_cal_event
type sipe_cal_event (line 547) | struct sipe_cal_event
type sipe_cal_event (line 548) | struct sipe_cal_event
function sipe_cal_get_status0 (line 576) | static int
function time_t (line 602) | static time_t
type sipe_buddy (line 625) | struct sipe_buddy
function sipe_cal_get_status (line 627) | int
function time_t (line 667) | static time_t
type sipe_cal_working_hours (line 696) | struct sipe_cal_working_hours
function time_t (line 725) | static time_t
function sipe_cal_get_today_work_hours (line 742) | static void
function sipe_cal_is_in_work_hours (line 779) | static int
function time_t (line 791) | static time_t
type sipe_buddy (line 821) | struct sipe_buddy
type sipe_buddy (line 892) | struct sipe_buddy
type tm (line 1033) | struct tm
type tm (line 1044) | struct tm
function sipe_cal_update_cb (line 1064) | static void sipe_cal_update_cb(struct sipe_core_private *sipe_private,
function sipe_core_update_calendar (line 1070) | void sipe_core_update_calendar(struct sipe_core_public *sipe_public)
function sipe_cal_presence_publish (line 1105) | void sipe_cal_presence_publish(struct sipe_core_private *sipe_private,
function sipe_cal_delayed_calendar_update (line 1119) | void sipe_cal_delayed_calendar_update(struct sipe_core_private *sipe_pri...
FILE: src/core/sipe-cal.h
type sipe_buddy (line 25) | struct sipe_buddy
type sipe_core_private (line 26) | struct sipe_core_private
type sipe_http_request (line 27) | struct sipe_http_request
type sipe_http_session (line 28) | struct sipe_http_session
type _sipe_xml (line 29) | struct _sipe_xml
type sipe_cal_event (line 43) | struct sipe_cal_event {
type sipe_calendar (line 56) | struct sipe_calendar {
type sipe_cal_event (line 90) | struct sipe_cal_event
type sipe_calendar (line 96) | struct sipe_calendar
type sipe_core_private (line 99) | struct sipe_core_private
type sipe_cal_event (line 107) | struct sipe_cal_event
type sipe_cal_event (line 113) | struct sipe_cal_event
type tm (line 124) | struct tm
type sipe_cal_working_hours (line 138) | struct sipe_cal_working_hours
type _sipe_xml (line 145) | struct _sipe_xml
type sipe_buddy (line 146) | struct sipe_buddy
type sipe_cal_working_hours (line 152) | struct sipe_cal_working_hours
type sipe_buddy (line 159) | struct sipe_buddy
type sipe_buddy (line 168) | struct sipe_buddy
type sipe_cal_event (line 177) | struct sipe_cal_event
type sipe_core_private (line 184) | struct sipe_core_private
type sipe_core_private (line 190) | struct sipe_core_private
FILE: src/core/sipe-cert-crypto-nss.c
type sipe_cert_crypto (line 54) | struct sipe_cert_crypto {
type certificate_nss (line 78) | struct certificate_nss {
type sipe_cert_crypto (line 85) | struct sipe_cert_crypto
type sipe_cert_crypto (line 91) | struct sipe_cert_crypto
function sipe_cert_crypto_free (line 135) | void sipe_cert_crypto_free(struct sipe_cert_crypto *scc)
function gchar (line 146) | static gchar *sign_cert_or_certreq(CERTCertificate *cert,
function CERTCertificateRequest (line 201) | static CERTCertificateRequest *generate_request(struct sipe_cert_crypto ...
function gchar (line 245) | gchar *sipe_cert_crypto_request(struct sipe_cert_crypto *scc,
function sipe_cert_crypto_destroy (line 259) | void sipe_cert_crypto_destroy(gpointer certificate)
function gpointer (line 275) | gpointer sipe_cert_crypto_decode(struct sipe_cert_crypto *scc,
function gpointer (line 294) | gpointer sipe_cert_crypto_import(const guchar *raw,
function gboolean (line 319) | gboolean sipe_cert_crypto_valid(gpointer certificate,
function guint (line 344) | guint sipe_cert_crypto_expires(gpointer certificate)
function gsize (line 364) | gsize sipe_cert_crypto_raw_length(gpointer certificate)
function guchar (line 369) | const guchar *sipe_cert_crypto_raw(gpointer certificate)
function gpointer (line 374) | gpointer sipe_cert_crypto_public_key(gpointer certificate)
function gsize (line 379) | gsize sipe_cert_crypto_modulus_length(gpointer certificate)
function gpointer (line 384) | gpointer sipe_cert_crypto_private_key(gpointer certificate)
function gpointer (line 390) | gpointer sipe_cert_crypto_test_certificate(struct sipe_cert_crypto *scc)
FILE: src/core/sipe-cert-crypto-openssl.c
type sipe_cert_crypto (line 39) | struct sipe_cert_crypto {
type certificate_openssl (line 60) | struct certificate_openssl {
type sipe_cert_crypto (line 68) | struct sipe_cert_crypto
type sipe_cert_crypto (line 70) | struct sipe_cert_crypto
function sipe_cert_crypto_free (line 103) | void sipe_cert_crypto_free(struct sipe_cert_crypto *scc)
function gchar (line 113) | gchar *sipe_cert_crypto_request(struct sipe_cert_crypto *scc,
function sipe_cert_crypto_destroy (line 173) | void sipe_cert_crypto_destroy(gpointer certificate)
function gpointer (line 189) | gpointer sipe_cert_crypto_decode(struct sipe_cert_crypto *scc,
function gpointer (line 210) | gpointer sipe_cert_crypto_import(const guchar *raw,
function gboolean (line 244) | gboolean sipe_cert_crypto_valid(gpointer certificate,
function guint (line 255) | guint sipe_cert_crypto_expires(gpointer certificate)
function gsize (line 293) | gsize sipe_cert_crypto_raw_length(gpointer certificate)
function guchar (line 298) | const guchar *sipe_cert_crypto_raw(gpointer certificate)
function gpointer (line 303) | gpointer sipe_cert_crypto_public_key(gpointer certificate)
function gsize (line 308) | gsize sipe_cert_crypto_modulus_length(gpointer certificate)
function gpointer (line 313) | gpointer sipe_cert_crypto_private_key(gpointer certificate)
function gpointer (line 319) | gpointer sipe_cert_crypto_test_certificate(struct sipe_cert_crypto *scc)
FILE: src/core/sipe-cert-crypto.h
type sipe_cert_crypto (line 36) | struct sipe_cert_crypto
type sipe_cert_crypto (line 43) | struct sipe_cert_crypto
type sipe_cert_crypto (line 50) | struct sipe_cert_crypto
type sipe_cert_crypto (line 60) | struct sipe_cert_crypto
type sipe_cert_crypto (line 78) | struct sipe_cert_crypto
type sipe_cert_crypto (line 163) | struct sipe_cert_crypto
FILE: src/core/sipe-certificate.c
type sipe_certificate (line 52) | struct sipe_certificate {
type certificate_callback_data (line 57) | struct certificate_callback_data {
function callback_data_free (line 62) | static void callback_data_free(struct certificate_callback_data *ccd)
function sipe_certificate_free (line 71) | void sipe_certificate_free(struct sipe_core_private *sipe_private)
function gboolean (line 82) | gboolean sipe_certificate_init(struct sipe_core_private *sipe_private)
function gchar (line 108) | static gchar *create_certreq(struct sipe_core_private *sipe_private,
function add_certificate (line 146) | static void add_certificate(struct sipe_core_private *sipe_private,
function gpointer (line 154) | gpointer sipe_certificate_tls_dsk_find(struct sipe_core_private *sipe_pr...
function certificate_failure (line 175) | static void certificate_failure(struct sipe_core_private *sipe_private,
function get_and_publish_cert (line 192) | static void get_and_publish_cert(struct sipe_core_private *sipe_private,
function certprov_webticket (line 241) | static void certprov_webticket(struct sipe_core_private *sipe_private,
function gboolean (line 293) | gboolean sipe_certificate_tls_dsk_generate(struct sipe_core_private *sip...
FILE: src/core/sipe-certificate.h
type sipe_core_private (line 31) | struct sipe_core_private
type sipe_core_private (line 42) | struct sipe_core_private
type sipe_core_private (line 54) | struct sipe_core_private
type sipe_core_private (line 63) | struct sipe_core_private
type sipe_core_private (line 70) | struct sipe_core_private
FILE: src/core/sipe-chat.c
type sipe_core_private (line 59) | struct sipe_core_private
type sip_session (line 60) | struct sip_session
type sipe_chat_session (line 65) | struct sipe_chat_session
type sipe_chat_session (line 69) | struct sipe_chat_session
function sipe_chat_remove_session (line 78) | void sipe_chat_remove_session(struct sipe_chat_session *session)
function sipe_chat_destroy (line 95) | void sipe_chat_destroy(void)
function gchar (line 105) | const gchar *sipe_core_chat_id(SIPE_UNUSED_PARAMETER struct sipe_core_pu...
function guint (line 111) | guint sipe_core_chat_type(struct sipe_chat_session *chat_session)
function sipe_core_chat_invite (line 116) | void sipe_core_chat_invite(struct sipe_core_public *sipe_public,
function sipe_core_chat_rejoin (line 147) | void sipe_core_chat_rejoin(struct sipe_core_public *sipe_public,
function sipe_core_chat_leave (line 182) | void sipe_core_chat_leave(struct sipe_core_public *sipe_public,
function sipe_core_chat_send (line 209) | void sipe_core_chat_send(struct sipe_core_public *sipe_public,
function gchar (line 241) | gchar *
function sipe_refer (line 257) | static void
function gboolean (line 294) | static gboolean
type sipe_core_private (line 313) | struct sipe_core_private
type sipmsg (line 314) | struct sipmsg
type transaction (line 315) | struct transaction
function sipe_send_election_set_rm (line 317) | static void
function sipe_process_pending_invite_queue (line 338) | void
function sipe_chat_set_roster_manager (line 353) | void sipe_chat_set_roster_manager(struct sip_session *session,
function sipe_election_result (line 364) | static void
function gboolean (line 407) | static gboolean
function sipe_send_election_request_rm (line 462) | static void
function sipe_election_start (line 484) | static void
function sipe_invite_to_chat (line 514) | static void
FILE: src/core/sipe-chat.h
type sipe_core_private (line 24) | struct sipe_core_private
type sip_session (line 25) | struct sip_session
type sipe_backend_chat_session (line 26) | struct sipe_backend_chat_session
type sipe_chat_type (line 28) | enum sipe_chat_type {
type sipe_chat_session (line 35) | struct sipe_chat_session {
type sipe_chat_session (line 65) | struct sipe_chat_session
type sipe_chat_session (line 76) | struct sipe_chat_session
type sipe_core_private (line 99) | struct sipe_core_private
type sip_session (line 100) | struct sip_session
type sip_session (line 108) | struct sip_session
FILE: src/core/sipe-conf.c
type sipe_core_private (line 80) | struct sipe_core_private
type transaction (line 83) | struct transaction
type sipe_core_private (line 84) | struct sipe_core_private
type sip_dialog (line 85) | struct sip_dialog
type transaction (line 96) | struct transaction
function gboolean (line 142) | static gboolean
function sipe_conf_get_capabilities (line 192) | void
function gboolean (line 202) | gboolean
function gboolean (line 229) | static gboolean
function gchar (line 295) | static gchar *
function gchar (line 326) | static gchar *
function sipe_conf_lync_url_cb (line 358) | static void sipe_conf_lync_url_cb(struct sipe_core_private *sipe_private,
function gboolean (line 433) | static gboolean sipe_conf_check_for_lync_url(struct sipe_core_private *s...
function sipe_conf_uri_error (line 457) | static void sipe_conf_uri_error(struct sipe_core_private *sipe_private,
function sipe_core_conf_create (line 468) | void sipe_core_conf_create(struct sipe_core_public *sipe_public,
type sip_session (line 521) | struct sip_session
type sipe_core_private (line 522) | struct sipe_core_private
type sipe_chat_session (line 523) | struct sipe_chat_session
type sip_session (line 543) | struct sip_session
function sipe_conf_modify_user_role (line 579) | void
function sipe_chat_lock_status (line 611) | sipe_chat_lock_status sipe_core_chat_lock_status(struct sipe_core_public...
function sipe_core_chat_modify_lock (line 643) | void
function sipe_conf_delete_user (line 678) | void
function sipe_conf_announce_audio_mute_state (line 704) | void
function gboolean (line 744) | static gboolean
function sipe_invite_conf (line 789) | void
function gboolean (line 833) | static gboolean
function sipe_conf_add (line 871) | void
function accept_incoming_invite_conf (line 942) | static void
type conf_accept_ctx (line 959) | struct conf_accept_ctx {
function conf_accept_ctx_free (line 970) | static void
function conf_accept_cb (line 980) | static void
function conf_decline_cb (line 986) | static void
function sipe_conf_cancel_unaccepted (line 994) | void
function accept_invitation_cb (line 1033) | static void
function decline_invitation_cb (line 1048) | static void
function ask_accept_invitation (line 1063) | static void
function ask_accept_voice_conference (line 1102) | static void
function process_incoming_invite_conf (line 1129) | void
function process_conference_av_endpoint (line 1158) | static void
function call_accept_cb (line 1194) | static void
function sipe_appshare_role (line 1208) | sipe_appshare_role
function gboolean (line 1230) | static gboolean
function sipe_process_conference (line 1263) | void
function sipe_conf_immcu_closed (line 1492) | void
function conf_session_close (line 1501) | void
function sipe_process_imdn (line 1517) | void
function sipe_core_conf_make_leader (line 1569) | void sipe_core_conf_make_leader(struct sipe_core_public *sipe_public,
function sipe_core_conf_remove_from (line 1584) | void sipe_core_conf_remove_from(struct sipe_core_public *sipe_public,
function gchar (line 1599) | gchar *
function gchar (line 1614) | static gchar *
function gchar (line 1635) | gchar *
FILE: src/core/sipe-conf.h
type sipmsg (line 24) | struct sipmsg
type sip_session (line 25) | struct sip_session
type sipe_core_private (line 26) | struct sipe_core_private
type sipe_core_private (line 34) | struct sipe_core_private
type sipe_core_private (line 40) | struct sipe_core_private
type sipe_core_private (line 47) | struct sipe_core_private
type sipe_core_private (line 58) | struct sipe_core_private
type sipmsg (line 59) | struct sipmsg
type sip_session (line 69) | struct sip_session
type sipe_core_private (line 70) | struct sipe_core_private
type sipe_chat_session (line 71) | struct sipe_chat_session
type sipe_core_private (line 79) | struct sipe_core_private
type sipmsg (line 80) | struct sipmsg
type sipe_core_private (line 86) | struct sipe_core_private
type sip_session (line 87) | struct sip_session
type sipe_core_private (line 96) | struct sipe_core_private
type sip_session (line 97) | struct sip_session
type sipe_core_private (line 106) | struct sipe_core_private
type sip_session (line 107) | struct sip_session
type sipe_core_private (line 114) | struct sipe_core_private
type sip_session (line 115) | struct sip_session
type sipe_core_private (line 123) | struct sipe_core_private
type sip_session (line 124) | struct sip_session
type sipe_core_private (line 134) | struct sipe_core_private
type sipmsg (line 135) | struct sipmsg
type sipe_core_private (line 153) | struct sipe_core_private
type sip_session (line 154) | struct sip_session
type sipe_core_private (line 161) | struct sipe_core_private
type sipmsg (line 162) | struct sipmsg
FILE: src/core/sipe-core-private.h
type sip_address_data (line 24) | struct sip_address_data
type sip_csta (line 25) | struct sip_csta
type sip_service_data (line 26) | struct sip_service_data
type sip_transport (line 27) | struct sip_transport
type sipe_buddies (line 28) | struct sipe_buddies
type sipe_calendar (line 29) | struct sipe_calendar
type sipe_certificate (line 30) | struct sipe_certificate
type sipe_ews_autodiscover (line 31) | struct sipe_ews_autodiscover
type sipe_groupchat (line 32) | struct sipe_groupchat
type sipe_groups (line 33) | struct sipe_groups
type sipe_http (line 34) | struct sipe_http
type sipe_http_request (line 35) | struct sipe_http_request
type sipe_lync_autodiscover (line 36) | struct sipe_lync_autodiscover
type sipe_media_call_private (line 37) | struct sipe_media_call_private
type sipe_svc (line 38) | struct sipe_svc
type sipe_ucs (line 39) | struct sipe_ucs
type sipe_webticket (line 40) | struct sipe_webticket
type sipe_core_private (line 47) | struct sipe_core_private {
type sipe_core_private (line 244) | struct sipe_core_private
type sipe_core_private (line 246) | struct sipe_core_private
type sipe_core_private (line 247) | struct sipe_core_private
type sipe_http_request (line 248) | struct sipe_http_request
type sipe_core_private (line 249) | struct sipe_core_private
FILE: src/core/sipe-core.c
function sipe_core_init (line 165) | void sipe_core_init(SIPE_UNUSED_PARAMETER const char *locale_dir)
function sipe_core_destroy (line 183) | void sipe_core_destroy(void)
function gchar (line 192) | gchar *sipe_core_about(void)
type sipe_core_public (line 270) | struct sipe_core_public
type sipe_core_private (line 278) | struct sipe_core_private
type sipe_core_public (line 376) | struct sipe_core_public
function sipe_core_backend_initialized (line 379) | void sipe_core_backend_initialized(struct sipe_core_private *sipe_private,
function sipe_core_connection_cleanup (line 395) | void sipe_core_connection_cleanup(struct sipe_core_private *sipe_private)
function sipe_core_deallocate (line 427) | void sipe_core_deallocate(struct sipe_core_public *sipe_public)
function sipe_core_email_authentication (line 505) | void sipe_core_email_authentication(struct sipe_core_private *sipe_private,
function gchar (line 515) | const gchar *sipe_core_user_agent(struct sipe_core_private *sipe_private)
FILE: src/core/sipe-crypt-nss.c
function sipe_crypto_init (line 46) | void sipe_crypto_init(SIPE_UNUSED_PARAMETER gboolean production_mode)
function sipe_crypto_shutdown (line 67) | void sipe_crypto_shutdown(void)
function PK11Context (line 77) | static PK11Context*
function sipe_crypt_ctx_encrypt (line 113) | static void
function sipe_crypt_ctx_destroy (line 121) | static void
function sipe_crypt (line 127) | static void
function sipe_crypt_des (line 143) | void
function sipe_crypt_rc4 (line 151) | void
function gboolean (line 159) | gboolean
function gboolean (line 170) | gboolean
function guchar (line 182) | guchar *sipe_crypt_rsa_sign(gpointer private,
function gboolean (line 211) | gboolean sipe_crypt_verify_rsa(gpointer public,
function gpointer (line 231) | gpointer
function sipe_crypt_ft_stream (line 237) | void
function sipe_crypt_ft_destroy (line 245) | void
function gpointer (line 256) | gpointer sipe_crypt_tls_start(const guchar *key, gsize key_length)
function sipe_crypt_tls_stream (line 261) | void sipe_crypt_tls_stream(gpointer context,
function sipe_crypt_tls_destroy (line 268) | void sipe_crypt_tls_destroy(gpointer context)
function sipe_crypt_tls_block (line 274) | void sipe_crypt_tls_block(const guchar *key, gsize key_length,
FILE: src/core/sipe-crypt-openssl.c
function sipe_crypto_init (line 36) | void sipe_crypto_init(SIPE_UNUSED_PARAMETER gboolean production_mode)
function sipe_crypto_shutdown (line 41) | void sipe_crypto_shutdown(void)
function openssl_oneshot_crypt (line 46) | static void openssl_oneshot_crypt(const EVP_CIPHER *type,
function sipe_crypt_des (line 74) | void sipe_crypt_des(const guchar *key,
function sipe_crypt_rc4 (line 85) | void sipe_crypt_rc4(const guchar *key, gsize key_length,
function gboolean (line 95) | gboolean sipe_crypt_rsa_encrypt(gpointer public,
function gboolean (line 108) | gboolean sipe_crypt_rsa_decrypt(gpointer private,
function guchar (line 121) | guchar *sipe_crypt_rsa_sign(gpointer private,
function gboolean (line 140) | gboolean sipe_crypt_verify_rsa(gpointer public,
function gpointer (line 151) | static gpointer openssl_EVP_init(const EVP_CIPHER *type,
function gpointer (line 169) | gpointer sipe_crypt_ft_start(const guchar *key)
function sipe_crypt_ft_stream (line 174) | void sipe_crypt_ft_stream(gpointer context,
function sipe_crypt_ft_destroy (line 182) | void sipe_crypt_ft_destroy(gpointer context)
function gpointer (line 188) | gpointer sipe_crypt_tls_start(const guchar *key, gsize key_length)
function sipe_crypt_tls_stream (line 193) | void sipe_crypt_tls_stream(gpointer context,
function sipe_crypt_tls_destroy (line 201) | void sipe_crypt_tls_destroy(gpointer context)
function sipe_crypt_tls_block (line 207) | void sipe_crypt_tls_block(const guchar *key, gsize key_length,
FILE: src/core/sipe-dialog.c
function sipe_dialog_free (line 38) | void sipe_dialog_free(struct sip_dialog *dialog)
type sip_dialog (line 74) | struct sip_dialog
type sip_session (line 74) | struct sip_session
type sip_dialog (line 76) | struct sip_dialog
type sip_dialog (line 81) | struct sip_dialog
type sip_session (line 82) | struct sip_session
type sip_dialog (line 83) | struct sip_dialog
type sip_dialog (line 108) | struct sip_dialog
type sip_session (line 108) | struct sip_session
function sipe_dialog_remove (line 122) | void sipe_dialog_remove(struct sip_session *session, const gchar *who)
function sipe_dialog_remove_3 (line 132) | void
function sipe_dialog_remove_all (line 145) | void sipe_dialog_remove_all(struct sip_session *session)
function sipe_dialog_parse_routes (line 155) | static void sipe_dialog_parse_routes(struct sip_dialog *dialog,
function sipe_get_supported_header (line 211) | static void
function gchar (line 231) | static gchar *find_tag(const gchar *hdr)
function sipe_dialog_parse (line 241) | void sipe_dialog_parse(struct sip_dialog *dialog,
FILE: src/core/sipe-dialog.h
type sipe_delayed_invite (line 30) | struct sipe_delayed_invite
type sipmsg (line 31) | struct sipmsg
type sip_dialog (line 42) | struct sip_dialog {
type sip_session (line 68) | struct sip_session
type sip_dialog (line 75) | struct sip_dialog
type sip_dialog (line 84) | struct sip_dialog
type sip_session (line 84) | struct sip_session
type sip_dialog (line 94) | struct sip_dialog
type sip_session (line 94) | struct sip_session
type sip_session (line 103) | struct sip_session
type sip_session (line 113) | struct sip_session
type sip_dialog (line 114) | struct sip_dialog
type sip_session (line 121) | struct sip_session
type sip_dialog (line 144) | struct sip_dialog
type sipmsg (line 145) | struct sipmsg
FILE: src/core/sipe-digest-nss.c
function PK11Context (line 52) | static PK11Context *sipe_digest_ctx_create(const SECOidTag algorithm)
function PK11Context (line 59) | static PK11Context*
function sipe_digest_ctx_append (line 92) | static void sipe_digest_ctx_append(PK11Context* DigestContext, const guc...
function sipe_digest_ctx_digest (line 97) | static void sipe_digest_ctx_digest(PK11Context* DigestContext, guchar *d...
function sipe_digest_ctx_destroy (line 104) | static void sipe_digest_ctx_destroy(PK11Context* DigestContext)
function sipe_digest (line 109) | static void sipe_digest(const SECOidTag algorithm,
function sipe_digest_hmac (line 121) | static void sipe_digest_hmac(CK_MECHANISM_TYPE hmacMech,
function sipe_digest_md4 (line 139) | void sipe_digest_md4(const guchar *data, gsize length, guchar *digest)
function sipe_digest_md5 (line 146) | void sipe_digest_md5(const guchar *data, gsize length, guchar *digest)
function sipe_digest_sha1 (line 151) | void sipe_digest_sha1(const guchar *data, gsize length, guchar *digest)
function sipe_digest_hmac_md5 (line 156) | void sipe_digest_hmac_md5(const guchar *key, gsize key_length,
function sipe_digest_hmac_sha1 (line 163) | void sipe_digest_hmac_sha1(const guchar *key, gsize key_length,
function gpointer (line 171) | gpointer sipe_digest_ft_start(const guchar *sha1_digest)
function sipe_digest_ft_update (line 177) | void sipe_digest_ft_update(gpointer context, const guchar *data, gsize l...
function sipe_digest_ft_end (line 182) | void sipe_digest_ft_end(gpointer context, guchar *digest)
function sipe_digest_ft_destroy (line 187) | void sipe_digest_ft_destroy(gpointer context)
function gpointer (line 193) | gpointer sipe_digest_md5_start(void)
function sipe_digest_md5_update (line 198) | void sipe_digest_md5_update(gpointer context, const guchar *data, gsize ...
function sipe_digest_md5_end (line 203) | void sipe_digest_md5_end(gpointer context, guchar *digest)
function sipe_digest_md5_destroy (line 216) | void sipe_digest_md5_destroy(gpointer context)
function gpointer (line 221) | gpointer sipe_digest_sha1_start(void)
function sipe_digest_sha1_update (line 226) | void sipe_digest_sha1_update(gpointer context, const guchar *data, gsize...
function sipe_digest_sha1_end (line 231) | void sipe_digest_sha1_end(gpointer context, guchar *digest)
function sipe_digest_sha1_destroy (line 244) | void sipe_digest_sha1_destroy(gpointer context)
FILE: src/core/sipe-digest-openssl.c
function sipe_digest_md4 (line 45) | void sipe_digest_md4(const guchar *data, gsize length, guchar *digest)
function sipe_digest_md5 (line 52) | void sipe_digest_md5(const guchar *data, gsize length, guchar *digest)
function sipe_digest_sha1 (line 57) | void sipe_digest_sha1(const guchar *data, gsize length, guchar *digest)
function sipe_digest_hmac_md5 (line 63) | void sipe_digest_hmac_md5(const guchar *key, gsize key_length,
function sipe_digest_hmac_sha1 (line 70) | void sipe_digest_hmac_sha1(const guchar *key, gsize key_length,
function gpointer (line 78) | gpointer sipe_digest_ft_start(const guchar *sha1_digest)
function sipe_digest_ft_update (line 92) | void sipe_digest_ft_update(gpointer context, const guchar *data, gsize l...
function sipe_digest_ft_end (line 97) | void sipe_digest_ft_end(gpointer context, guchar *digest)
function sipe_digest_ft_destroy (line 102) | void sipe_digest_ft_destroy(gpointer context)
function gpointer (line 114) | gpointer sipe_digest_md5_start(void)
function sipe_digest_md5_update (line 121) | void sipe_digest_md5_update(gpointer context, const guchar *data, gsize ...
function sipe_digest_md5_end (line 126) | void sipe_digest_md5_end(gpointer context, guchar *digest)
function sipe_digest_md5_destroy (line 135) | void sipe_digest_md5_destroy(gpointer context)
function gpointer (line 140) | gpointer sipe_digest_sha1_start(void)
function sipe_digest_sha1_update (line 147) | void sipe_digest_sha1_update(gpointer context, const guchar *data, gsize...
function sipe_digest_sha1_end (line 152) | void sipe_digest_sha1_end(gpointer context, guchar *digest)
function sipe_digest_sha1_destroy (line 161) | void sipe_digest_sha1_destroy(gpointer context)
FILE: src/core/sipe-domino.c
function sipe_domino_get_slot_no (line 139) | static int
type sipe_cal_event (line 158) | struct sipe_cal_event
function sipe_domino_process_calendar_response (line 172) | static void sipe_domino_process_calendar_response(struct sipe_core_priva...
function gchar (line 293) | static gchar *
function sipe_domino_send_http_request (line 307) | static void sipe_domino_send_http_request(struct sipe_calendar *cal)
function sipe_domino_do_calendar_request (line 317) | static void sipe_domino_do_calendar_request(struct sipe_calendar *cal)
function sipe_domino_process_login_response (line 360) | static void sipe_domino_process_login_response(SIPE_UNUSED_PARAMETER str...
function gchar (line 389) | static gchar *sipe_domino_uri_escape(const gchar *string)
function sipe_domino_do_login_request (line 397) | static void
function sipe_domino_read_notes_ini (line 440) | static void
function sipe_domino_update_calendar (line 511) | void
FILE: src/core/sipe-domino.h
type sipe_core_private (line 24) | struct sipe_core_private
type sipe_core_private (line 34) | struct sipe_core_private
FILE: src/core/sipe-ews-autodiscover.c
type sipe_ews_autodiscover_cb (line 46) | struct sipe_ews_autodiscover_cb {
type autodiscover_method (line 51) | struct autodiscover_method {
type sipe_ews_autodiscover (line 56) | struct sipe_ews_autodiscover {
function sipe_ews_autodiscover_complete (line 66) | static void sipe_ews_autodiscover_complete(struct sipe_core_private *sip...
type sipe_core_private (line 83) | struct sipe_core_private
type sipe_core_private (line 85) | struct sipe_core_private
function sipe_ews_autodiscover_parse (line 87) | static void sipe_ews_autodiscover_parse(struct sipe_core_private *sipe_p...
function sipe_ews_autodiscover_response (line 186) | static void sipe_ews_autodiscover_response(struct sipe_core_private *sip...
function gboolean (line 228) | static gboolean sipe_ews_autodiscover_url(struct sipe_core_private *sipe...
function sipe_ews_autodiscover_redirect_response (line 262) | static void sipe_ews_autodiscover_redirect_response(struct sipe_core_pri...
function gboolean (line 288) | static gboolean sipe_ews_autodiscover_redirect(struct sipe_core_private ...
function sipe_ews_autodiscover_request (line 309) | static void sipe_ews_autodiscover_request(struct sipe_core_private *sipe...
function sipe_ews_autodiscover_start (line 345) | void sipe_ews_autodiscover_start(struct sipe_core_private *sipe_private,
function sipe_ews_autodiscover_init (line 364) | void sipe_ews_autodiscover_init(struct sipe_core_private *sipe_private)
function sipe_ews_autodiscover_free (line 373) | void sipe_ews_autodiscover_free(struct sipe_core_private *sipe_private)
FILE: src/core/sipe-ews-autodiscover.h
type sipe_core_private (line 25) | struct sipe_core_private
type sipe_ews_autodiscover_data (line 28) | struct sipe_ews_autodiscover_data {
type sipe_core_private (line 44) | struct sipe_core_private
type sipe_ews_autodiscover_data (line 45) | struct sipe_ews_autodiscover_data
type sipe_core_private (line 55) | struct sipe_core_private
type sipe_core_private (line 64) | struct sipe_core_private
type sipe_core_private (line 71) | struct sipe_core_private
FILE: src/core/sipe-ews.c
type sipe_calendar (line 142) | struct sipe_calendar
type sipe_calendar (line 160) | struct sipe_calendar
function sipe_ews_process_avail_response (line 162) | static void sipe_ews_process_avail_response(SIPE_UNUSED_PARAMETER struct...
function sipe_ews_process_oof_response (line 271) | static void sipe_ews_process_oof_response(SIPE_UNUSED_PARAMETER struct s...
function sipe_ews_send_http_request (line 353) | static void sipe_ews_send_http_request(struct sipe_calendar *cal)
function sipe_ews_do_avail_request (line 363) | static void sipe_ews_do_avail_request(struct sipe_calendar *cal)
function sipe_ews_do_oof_request (line 404) | static void sipe_ews_do_oof_request(struct sipe_calendar *cal)
function sipe_ews_run_state_machine (line 425) | static void
function sipe_calendar_ews_autodiscover_cb (line 454) | static void sipe_calendar_ews_autodiscover_cb(SIPE_UNUSED_PARAMETER stru...
function sipe_ews_update_calendar (line 473) | void sipe_ews_update_calendar(struct sipe_core_private *sipe_private)
FILE: src/core/sipe-ews.h
type sipe_calendar (line 25) | struct sipe_calendar
type sipe_core_private (line 26) | struct sipe_core_private
type sipe_core_private (line 36) | struct sipe_core_private
type sipe_calendar (line 43) | struct sipe_calendar
FILE: src/core/sipe-ft-lync.c
type sipe_file_transfer_lync (line 50) | struct sipe_file_transfer_lync {
type SipeXDataMessages (line 77) | typedef enum {
function sipe_file_transfer_lync_free (line 85) | static void
function send_ms_filetransfer_msg (line 108) | static void
function send_ms_filetransfer_response (line 121) | static void
function mime_mixed_cb (line 137) | static void
function candidate_pairs_established_cb (line 184) | static void
function gboolean (line 211) | static gboolean
function xdata_start_of_stream_cb (line 231) | static void
function xdata_end_of_stream_cb (line 253) | static void
function xdata_got_header_cb (line 261) | static void
function read_cb (line 292) | static void
function ft_lync_incoming_init (line 343) | static void
function ft_lync_request_denied (line 356) | static void
type sipe_file_transfer_lync (line 371) | struct sipe_file_transfer_lync
type sipe_media_call (line 372) | struct sipe_media_call
type sipe_media_stream (line 374) | struct sipe_media_stream
function send_transfer_progress (line 381) | static void
function gboolean (line 402) | static gboolean
function call_reject_cb (line 410) | static void
function ft_lync_incoming_cancelled (line 425) | static void
function process_incoming_invite_ft_lync (line 458) | void
function process_response_incoming (line 516) | static void
function write_chunk (line 536) | static void
function gboolean (line 547) | static gboolean
function start_writing (line 589) | static void
function process_request (line 625) | static void
function process_notify (line 644) | static void
function process_incoming_info_ft_lync (line 666) | void
function append_publish_file_invite (line 707) | static void
function ft_lync_outgoing_init (line 737) | static void
type sipe_file_transfer (line 777) | struct sipe_file_transfer
type sipe_core_private (line 778) | struct sipe_core_private
type sipe_file_transfer_lync (line 780) | struct sipe_file_transfer_lync
FILE: src/core/sipe-ft-lync.h
type sipe_core_private (line 24) | struct sipe_core_private
type sipmsg (line 25) | struct sipmsg
type sipe_file_transfer (line 27) | struct sipe_file_transfer
type sipe_core_private (line 28) | struct sipe_core_private
type sipe_core_private (line 30) | struct sipe_core_private
type sipmsg (line 31) | struct sipmsg
type sipe_core_private (line 33) | struct sipe_core_private
type sipmsg (line 34) | struct sipmsg
FILE: src/core/sipe-ft-tftp.c
function gboolean (line 48) | static gboolean
function gboolean (line 59) | static gboolean
function gboolean (line 83) | static gboolean
function raise_ft_socket_read_error_and_cancel (line 106) | static void
function raise_ft_socket_write_error_and_cancel (line 112) | static void
function gpointer (line 118) | static gpointer
function gpointer (line 138) | static gpointer
function gchar (line 158) | static gchar *
function sipe_ft_tftp_start_receiving (line 169) | void
function gboolean (line 222) | gboolean
function sipe_ft_tftp_start_sending (line 269) | void
function gboolean (line 339) | gboolean
function raise_ft_error (line 371) | static void raise_ft_error(struct sipe_file_transfer_private *ft_private,
function gssize (line 380) | gssize
function gssize (line 453) | gssize
FILE: src/core/sipe-ft-tftp.h
type sipe_file_transfer (line 24) | struct sipe_file_transfer
type sipe_file_transfer (line 27) | struct sipe_file_transfer
type sipe_file_transfer (line 30) | struct sipe_file_transfer
type sipe_file_transfer (line 34) | struct sipe_file_transfer
type sipe_file_transfer (line 37) | struct sipe_file_transfer
type sipe_file_transfer (line 40) | struct sipe_file_transfer
FILE: src/core/sipe-ft.c
type sipe_file_transfer (line 65) | struct sipe_file_transfer
function sipe_ft_raise_error_and_cancel (line 68) | void sipe_ft_raise_error_and_cancel(struct sipe_file_transfer_private *f...
function generate_key (line 75) | static void generate_key(guchar *buffer, gsize size)
type sipe_file_transfer (line 81) | struct sipe_file_transfer
type sipe_core_private (line 82) | struct sipe_core_private
type sipe_file_transfer_private (line 84) | struct sipe_file_transfer_private
type sipe_file_transfer (line 102) | struct sipe_file_transfer
type sipe_core_public (line 103) | struct sipe_core_public
type sipe_core_private (line 107) | struct sipe_core_private
type sipe_file_transfer (line 108) | struct sipe_file_transfer
function sipe_ft_free (line 130) | void
function sipe_ft_request (line 157) | static void sipe_ft_request(struct sipe_file_transfer_private *ft_private,
function ft_request_denied (line 171) | static void
function send_ft_accept (line 186) | static void
function listen_socket_created_cb (line 242) | static void
function client_connected_cb (line 256) | static void
function ft_incoming_init (line 273) | static void
function ft_outgoing_init (line 293) | static void
function sipe_ft_incoming_transfer (line 335) | void sipe_ft_incoming_transfer(struct sipe_core_private *sipe_private,
type sipe_file_transfer_private (line 376) | struct sipe_file_transfer_private
type sip_dialog (line 377) | struct sip_dialog
type sipe_file_transfer_private (line 381) | struct sipe_file_transfer_private
function sipe_ft_incoming_accept (line 388) | void sipe_ft_incoming_accept(struct sip_dialog *dialog, const GSList *body)
function sipe_ft_incoming_cancel (line 452) | void sipe_ft_incoming_cancel(struct sip_dialog *dialog, const GSList *body)
function GSList (line 461) | GSList *sipe_ft_parse_msg_body(const gchar *body)
FILE: src/core/sipe-ft.h
type sipe_core_private (line 26) | struct sipe_core_private
type sipe_file_transfer_private (line 33) | struct sipe_file_transfer_private {
type sipe_core_private (line 72) | struct sipe_core_private
type sip_dialog (line 73) | struct sip_dialog
type sip_dialog (line 85) | struct sip_dialog
type sip_dialog (line 95) | struct sip_dialog
type sipe_file_transfer_private (line 107) | struct sipe_file_transfer_private
type sipe_file_transfer (line 115) | struct sipe_file_transfer
FILE: src/core/sipe-generic-tests.c
function gboolean (line 42) | gboolean sipe_backend_debug_enabled(void)
function sipe_backend_debug_literal (line 47) | void sipe_backend_debug_literal(sipe_debug_level level,
function sipe_backend_debug (line 53) | void sipe_backend_debug(sipe_debug_level level,
function gchar (line 67) | const gchar *sip_transport_epid(SIPE_UNUSED_PARAMETER struct sipe_core_p...
function md4sum (line 74) | void md4sum(SIPE_UNUSED_PARAMETER const uint8_t *data,
function assert_equal_str (line 86) | static void assert_equal_str(const char *expected, const gchar *got)
function assert_equal_uint (line 96) | static void assert_equal_uint(gsize expected, gsize got)
function tests_sipe_utils_time (line 107) | static void tests_sipe_utils_time(void) {
function generic_tests (line 149) | static void generic_tests(void) {
function main (line 153) | int main(SIPE_UNUSED_PARAMETER int argc,
FILE: src/core/sipe-group.c
type sipe_groups (line 42) | struct sipe_groups {
type group_user_context (line 46) | struct group_user_context {
function sipe_group_context_destroy (line 51) | static void
function gboolean (line 60) | static gboolean
type sipe_group (line 111) | struct sipe_group
type sipe_core_private (line 112) | struct sipe_core_private
type sipe_group (line 115) | struct sipe_group
type sipe_group (line 132) | struct sipe_group
type sipe_core_private (line 133) | struct sipe_core_private
type sipe_group (line 136) | struct sipe_group
function sipe_group_create (line 153) | void
function gboolean (line 188) | gboolean sipe_group_rename(struct sipe_core_private *sipe_private,
type sipe_group (line 202) | struct sipe_group
type sipe_core_private (line 202) | struct sipe_core_private
type sipe_group (line 208) | struct sipe_group
function group_free (line 241) | static void group_free(struct sipe_core_private *sipe_private,
function sipe_group_remove (line 252) | void sipe_group_remove(struct sipe_core_private *sipe_private,
function sipe_core_group_rename (line 262) | void
function sipe_core_group_remove (line 297) | void
function send_buddy_update (line 334) | static void send_buddy_update(struct sipe_core_private *sipe_private,
function sipe_group_update_buddy (line 368) | void sipe_group_update_buddy(struct sipe_core_private *sipe_private,
function sipe_core_group_set_alias (line 387) | void sipe_core_group_set_alias(struct sipe_core_public *sipe_public,
function sipe_group_update_start (line 406) | void sipe_group_update_start(struct sipe_core_private *sipe_private)
function sipe_group_update_finish (line 416) | void sipe_group_update_finish(struct sipe_core_private *sipe_private)
type sipe_group (line 431) | struct sipe_group
type sipe_core_private (line 431) | struct sipe_core_private
function guint (line 436) | guint sipe_group_count(struct sipe_core_private *sipe_private)
function sipe_group_init (line 441) | void sipe_group_init(struct sipe_core_private *sipe_private)
function sipe_group_free (line 446) | void sipe_group_free(struct sipe_core_private *sipe_private)
FILE: src/core/sipe-group.h
type sipe_buddy (line 24) | struct sipe_buddy
type sipe_core_private (line 25) | struct sipe_core_private
type sipe_ucs_transaction (line 26) | struct sipe_ucs_transaction
type sipe_group (line 28) | struct sipe_group {
type sipe_group (line 36) | struct sipe_group
type sipe_core_private (line 36) | struct sipe_core_private
type sipe_group (line 39) | struct sipe_group
type sipe_core_private (line 39) | struct sipe_core_private
type sipe_core_private (line 50) | struct sipe_core_private
type sipe_ucs_transaction (line 51) | struct sipe_ucs_transaction
type sipe_core_private (line 55) | struct sipe_core_private
type sipe_group (line 56) | struct sipe_group
type sipe_group (line 72) | struct sipe_group
type sipe_core_private (line 72) | struct sipe_core_private
type sipe_core_private (line 79) | struct sipe_core_private
type sipe_group (line 80) | struct sipe_group
type sipe_core_private (line 83) | struct sipe_core_private
type sipe_buddy (line 84) | struct sipe_buddy
type sipe_core_private (line 91) | struct sipe_core_private
type sipe_core_private (line 101) | struct sipe_core_private
type sipe_group (line 110) | struct sipe_group
type sipe_core_private (line 110) | struct sipe_core_private
type sipe_core_private (line 117) | struct sipe_core_private
type sipe_core_private (line 124) | struct sipe_core_private
type sipe_core_private (line 131) | struct sipe_core_private
FILE: src/core/sipe-groupchat.c
type sipe_groupchat (line 152) | struct sipe_groupchat {
type sipe_groupchat_msg (line 163) | struct sipe_groupchat_msg {
function sipe_groupchat_msg_free (line 172) | static void sipe_groupchat_msg_free(gpointer data) {
function sipe_groupchat_msg_remove (line 180) | static void sipe_groupchat_msg_remove(gpointer data) {
function sipe_groupchat_allocate (line 185) | static void sipe_groupchat_allocate(struct sipe_core_private *sipe_private)
function sipe_groupchat_free_join_queue (line 198) | static void sipe_groupchat_free_join_queue(struct sipe_groupchat *groupc...
function sipe_groupchat_free (line 204) | void sipe_groupchat_free(struct sipe_core_private *sipe_private)
type sipe_groupchat_msg (line 217) | struct sipe_groupchat_msg
type sipe_groupchat (line 217) | struct sipe_groupchat
type sipe_groupchat_msg (line 220) | struct sipe_groupchat_msg
function sipe_groupchat_init (line 239) | void sipe_groupchat_init(struct sipe_core_private *sipe_private)
function groupchat_init_retry_cb (line 284) | static void groupchat_init_retry_cb(struct sipe_core_private *sipe_private,
function groupchat_init_retry (line 290) | static void groupchat_init_retry(struct sipe_core_private *sipe_private)
function sipe_groupchat_invite_failed (line 307) | void sipe_groupchat_invite_failed(struct sipe_core_private *sipe_private,
function gchar (line 347) | static gchar *generate_chanid_node(const gchar *uri, guint key)
type sipe_core_private (line 366) | struct sipe_core_private
function gboolean (line 368) | static gboolean groupchat_expired_session_response(struct sipe_core_priv...
function groupchat_update_cb (line 404) | static void groupchat_update_cb(struct sipe_core_private *sipe_private,
type sipe_groupchat_msg (line 420) | struct sipe_groupchat_msg
type sipe_core_private (line 420) | struct sipe_core_private
function sipe_groupchat_invite_response (line 423) | void sipe_groupchat_invite_response(struct sipe_core_private *sipe_private,
function chatserver_command_error_notify (line 504) | static void chatserver_command_error_notify(struct sipe_core_private *si...
function gboolean (line 521) | static gboolean chatserver_command_response(struct sipe_core_private *si...
type sipe_groupchat_msg (line 541) | struct sipe_groupchat_msg
type sipe_core_private (line 541) | struct sipe_core_private
type sipe_groupchat (line 544) | struct sipe_groupchat
type sipe_groupchat_msg (line 545) | struct sipe_groupchat_msg
type sip_dialog (line 548) | struct sip_dialog
type transaction (line 552) | struct transaction
type transaction_payload (line 562) | struct transaction_payload
function chatserver_response_uri (line 578) | static void chatserver_response_uri(struct sipe_core_private *sipe_private,
function chatserver_response_channel_search (line 606) | static void chatserver_response_channel_search(struct sipe_core_private ...
function gboolean (line 692) | static gboolean is_chanop(const sipe_xml *aib)
function add_user (line 698) | static void add_user(struct sipe_chat_session *chat_session,
function chatserver_response_join (line 712) | static void chatserver_response_join(struct sipe_core_private *sipe_priv...
type sipe_core_private (line 828) | struct sipe_core_private
function chatserver_response_history (line 831) | static void chatserver_response_history(SIPE_UNUSED_PARAMETER struct sip...
function chatserver_response_part (line 847) | static void chatserver_response_part(struct sipe_core_private *sipe_priv...
function chatserver_notice_join (line 880) | static void chatserver_notice_join(struct sipe_core_private *sipe_private,
function chatserver_notice_part (line 921) | static void chatserver_notice_part(struct sipe_core_private *sipe_private,
type response (line 961) | struct response {
function chatserver_response (line 981) | static void chatserver_response(struct sipe_core_private *sipe_private,
function chatserver_grpchat_message (line 1027) | static void chatserver_grpchat_message(struct sipe_core_private *sipe_pr...
function process_incoming_info_groupchat (line 1062) | void process_incoming_info_groupchat(struct sipe_core_private *sipe_priv...
function sipe_groupchat_send (line 1107) | void sipe_groupchat_send(struct sipe_core_private *sipe_private,
function sipe_groupchat_leave (line 1171) | void sipe_groupchat_leave(struct sipe_core_private *sipe_private,
function gboolean (line 1191) | gboolean sipe_core_groupchat_query_rooms(struct sipe_core_public *sipe_p...
function sipe_core_groupchat_join (line 1209) | void sipe_core_groupchat_join(struct sipe_core_public *sipe_public,
function sipe_groupchat_rejoin (line 1263) | void sipe_groupchat_rejoin(struct sipe_core_private *sipe_private,
FILE: src/core/sipe-groupchat.h
type sipmsg (line 24) | struct sipmsg
type sip_dialog (line 25) | struct sip_dialog
type sip_session (line 26) | struct sip_session
type sipe_chat_session (line 27) | struct sipe_chat_session
type sipe_core_private (line 28) | struct sipe_core_private
type sipe_core_private (line 30) | struct sipe_core_private
type sipe_core_private (line 31) | struct sipe_core_private
type sipe_core_private (line 32) | struct sipe_core_private
type sip_session (line 33) | struct sip_session
type sipe_core_private (line 34) | struct sipe_core_private
type sip_dialog (line 35) | struct sip_dialog
type sipmsg (line 36) | struct sipmsg
type sipe_core_private (line 37) | struct sipe_core_private
type sipmsg (line 38) | struct sipmsg
type sip_session (line 39) | struct sip_session
type sipe_core_private (line 40) | struct sipe_core_private
type sipe_chat_session (line 41) | struct sipe_chat_session
type sipe_core_private (line 43) | struct sipe_core_private
type sipe_chat_session (line 44) | struct sipe_chat_session
type sipe_core_private (line 45) | struct sipe_core_private
type sipe_chat_session (line 46) | struct sipe_chat_session
FILE: src/core/sipe-http-request.c
type sipe_http_session (line 55) | struct sipe_http_session {
type sipe_http_request (line 59) | struct sipe_http_request {
function sipe_http_request_free (line 84) | static void sipe_http_request_free(struct sipe_core_private *sipe_private,
function add_cookie_cb (line 103) | static void add_cookie_cb(SIPE_UNUSED_PARAMETER const gchar *key,
function sipe_http_request_send (line 110) | static void sipe_http_request_send(struct sipe_http_connection_public *c...
function gboolean (line 157) | gboolean sipe_http_request_pending(struct sipe_http_connection_public *c...
function sipe_http_request_next (line 162) | void sipe_http_request_next(struct sipe_http_connection_public *conn_pub...
function sipe_http_request_enqueue (line 167) | static void sipe_http_request_enqueue(struct sipe_core_private *sipe_pri...
function sipe_http_request_drop_context (line 185) | static void sipe_http_request_drop_context(struct sipe_http_connection_p...
function sipe_http_request_finalize_negotiate (line 193) | static void sipe_http_request_finalize_negotiate(struct sipe_http_reques...
function gboolean (line 238) | static gboolean sipe_http_request_response_redirection(struct sipe_core_...
function gboolean (line 276) | static gboolean sipe_http_request_response_unauthorized(struct sipe_core...
function sipe_http_request_response_callback (line 416) | static void sipe_http_request_response_callback(struct sipe_core_private...
function sipe_http_request_response (line 471) | void sipe_http_request_response(struct sipe_http_connection_public *conn...
function sipe_http_request_shutdown (line 521) | void sipe_http_request_shutdown(struct sipe_http_connection_public *conn...
type sipe_http_request (line 562) | struct sipe_http_request
type sipe_core_private (line 562) | struct sipe_core_private
type sipe_http_parsed_uri (line 563) | struct sipe_http_parsed_uri
type sipe_http_request (line 570) | struct sipe_http_request
function sipe_http_request_ready (line 610) | void sipe_http_request_ready(struct sipe_http_request *request)
type sipe_http_session (line 620) | struct sipe_http_session
type sipe_http_session (line 622) | struct sipe_http_session
function sipe_http_session_close (line 630) | void sipe_http_session_close(struct sipe_http_session *session)
function sipe_http_request_cancel (line 638) | void sipe_http_request_cancel(struct sipe_http_request *request)
function sipe_http_request_session (line 652) | void sipe_http_request_session(struct sipe_http_request *request,
function sipe_http_request_allow_redirect (line 658) | void sipe_http_request_allow_redirect(struct sipe_http_request *request)
function sipe_http_request_authentication (line 663) | void sipe_http_request_authentication(struct sipe_http_request *request,
FILE: src/core/sipe-http-request.h
type sipmsg (line 36) | struct sipmsg
type sipe_core_private (line 37) | struct sipe_core_private
type sipe_http_connection_public (line 38) | struct sipe_http_connection_public
type sipe_http_request (line 39) | struct sipe_http_request
type sipe_http_parsed_uri (line 41) | struct sipe_http_parsed_uri {
type sipe_http_parsed_uri (line 55) | struct sipe_http_parsed_uri
type sipe_http_parsed_uri (line 62) | struct sipe_http_parsed_uri
type sipe_http_connection_public (line 70) | struct sipe_http_connection_public
type sipe_http_connection_public (line 77) | struct sipe_http_connection_public
type sipe_http_connection_public (line 85) | struct sipe_http_connection_public
type sipmsg (line 86) | struct sipmsg
type sipe_http_connection_public (line 94) | struct sipe_http_connection_public
type sipe_http_request (line 110) | struct sipe_http_request
type sipe_core_private (line 110) | struct sipe_core_private
type sipe_http_parsed_uri (line 111) | struct sipe_http_parsed_uri
FILE: src/core/sipe-http-transport.c
type sipe_http_connection (line 57) | struct sipe_http_connection {
type sipe_http (line 67) | struct sipe_http {
function gint (line 74) | static gint timeout_compare(gconstpointer a,
type sipe_http_connection (line 82) | struct sipe_http_connection
function sipe_http_transport_free (line 84) | static void sipe_http_transport_free(gpointer data)
function sipe_http_transport_drop (line 106) | static void sipe_http_transport_drop(struct sipe_http *http,
type sipe_core_private (line 127) | struct sipe_core_private
function sipe_http_transport_timeout (line 129) | static void sipe_http_transport_timeout(struct sipe_core_private *sipe_p...
function start_timer (line 158) | static void start_timer(struct sipe_core_private *sipe_private,
function sipe_http_transport_update_timeout_queue (line 173) | static void sipe_http_transport_update_timeout_queue(struct sipe_http_co...
function gboolean (line 205) | gboolean sipe_http_shutting_down(struct sipe_core_private *sipe_private)
function sipe_http_free (line 214) | void sipe_http_free(struct sipe_core_private *sipe_private)
function sipe_http_init (line 230) | static void sipe_http_init(struct sipe_core_private *sipe_private)
function sipe_http_transport_connected (line 243) | static void sipe_http_transport_connected(struct sipe_transport_connecti...
function sipe_http_transport_input (line 268) | static void sipe_http_transport_input(struct sipe_transport_connection *...
function sipe_http_transport_error (line 438) | static void sipe_http_transport_error(struct sipe_transport_connection *...
type sipe_http_connection_public (line 448) | struct sipe_http_connection_public
type sipe_core_private (line 448) | struct sipe_core_private
type sipe_http (line 453) | struct sipe_http
type sipe_http_connection (line 454) | struct sipe_http_connection
function sipe_http_transport_send (line 518) | void sipe_http_transport_send(struct sipe_http_connection_public *conn_p...
FILE: src/core/sipe-http-transport.h
type sipe_core_private (line 36) | struct sipe_core_private
type sip_sec_context (line 37) | struct sip_sec_context
type sipe_http_connection_public (line 39) | struct sipe_http_connection_public {
type sipe_core_private (line 58) | struct sipe_core_private
type sipe_http_connection_public (line 72) | struct sipe_http_connection_public
type sipe_core_private (line 72) | struct sipe_core_private
type sipe_http_connection_public (line 84) | struct sipe_http_connection_public
FILE: src/core/sipe-http.c
function sipe_http_parsed_uri_free (line 39) | void sipe_http_parsed_uri_free(struct sipe_http_parsed_uri *parsed_uri)
type sipe_http_parsed_uri (line 48) | struct sipe_http_parsed_uri
type sipe_http_parsed_uri (line 50) | struct sipe_http_parsed_uri
type sipe_http_request (line 107) | struct sipe_http_request
type sipe_core_private (line 107) | struct sipe_core_private
type sipe_http_request (line 113) | struct sipe_http_request
type sipe_http_parsed_uri (line 114) | struct sipe_http_parsed_uri
type sipe_http_request (line 128) | struct sipe_http_request
type sipe_core_private (line 128) | struct sipe_core_private
type sipe_http_request (line 136) | struct sipe_http_request
type sipe_http_parsed_uri (line 137) | struct sipe_http_parsed_uri
FILE: src/core/sipe-http.h
type sipe_core_private (line 34) | struct sipe_core_private
type sipe_http_request (line 35) | struct sipe_http_request
type sipe_http_session (line 36) | struct sipe_http_session
type sipe_core_private (line 47) | struct sipe_core_private
type sipe_core_private (line 70) | struct sipe_core_private
type sipe_http_session (line 77) | struct sipe_http_session
type sipe_http_session (line 84) | struct sipe_http_session
type sipe_http_request (line 97) | struct sipe_http_request
type sipe_core_private (line 97) | struct sipe_core_private
type sipe_http_request (line 116) | struct sipe_http_request
type sipe_core_private (line 116) | struct sipe_core_private
type sipe_http_request (line 129) | struct sipe_http_request
type sipe_http_request (line 136) | struct sipe_http_request
type sipe_http_request (line 144) | struct sipe_http_request
type sipe_http_session (line 145) | struct sipe_http_session
type sipe_http_request (line 152) | struct sipe_http_request
type sipe_http_request (line 161) | struct sipe_http_request
FILE: src/core/sipe-im.c
function gchar (line 61) | static gchar *get_unconfirmed_message_key(const gchar *callid,
function insert_unconfirmed_message (line 72) | static void insert_unconfirmed_message(struct sip_session *session,
function gboolean (line 91) | static gboolean remove_unconfirmed_message(struct sip_session *session,
function sipe_refer_notify (line 105) | static void sipe_refer_notify(struct sipe_core_private *sipe_private,
function gboolean (line 138) | static gboolean process_invite_response(struct sipe_core_private *sipe_p...
function gchar (line 257) | static gchar *get_end_points(struct sipe_core_private *sipe_private,
function sipe_im_invite (line 283) | void
function gboolean (line 437) | static gboolean
function gboolean (line 533) | static gboolean
function sipe_im_send_message (line 568) | static void sipe_im_send_message(struct sipe_core_private *sipe_private,
function sipe_im_process_queue (line 631) | void sipe_im_process_queue(struct sipe_core_private *sipe_private,
type unconfirmed_callback_data (line 662) | struct unconfirmed_callback_data {
type unconfirmed_message (line 667) | struct unconfirmed_message {
function gint (line 672) | static gint compare_cseq(gconstpointer a,
function unconfirmed_message_callback (line 679) | static void unconfirmed_message_callback(gpointer key,
function foreach_unconfirmed_message (line 698) | static void foreach_unconfirmed_message(struct sipe_core_private *sipe_p...
function cancel_callback (line 734) | static void cancel_callback(struct sipe_core_private *sipe_private,
function sipe_im_cancel_unconfirmed (line 743) | void sipe_im_cancel_unconfirmed(struct sipe_core_private *sipe_private,
function reenqueue_callback (line 758) | static void reenqueue_callback(SIPE_UNUSED_PARAMETER struct sipe_core_pr...
function sipe_im_reenqueue_unconfirmed (line 766) | void sipe_im_reenqueue_unconfirmed(struct sipe_core_private *sipe_private,
function sipe_core_im_send (line 791) | void sipe_core_im_send(struct sipe_core_public *sipe_public,
function sipe_core_im_close (line 821) | void sipe_core_im_close(struct sipe_core_public *sipe_public,
function sipe_im_cancel_dangling (line 831) | void sipe_im_cancel_dangling(struct sipe_core_private *sipe_private,
function sipe_im_topic (line 848) | void sipe_im_topic(struct sipe_core_private *sipe_private,
function process_incoming_info_conversation (line 857) | void process_incoming_info_conversation(struct sipe_core_private *sipe_p...
FILE: src/core/sipe-im.h
type sip_dialog (line 24) | struct sip_dialog
type sip_session (line 25) | struct sip_session
type sipe_core_private (line 26) | struct sipe_core_private
type sipe_core_private (line 48) | struct sipe_core_private
type sip_session (line 49) | struct sip_session
type sipe_core_private (line 62) | struct sipe_core_private
type sip_session (line 63) | struct sip_session
type sipe_core_private (line 73) | struct sipe_core_private
type sip_session (line 74) | struct sip_session
type sipe_core_private (line 86) | struct sipe_core_private
type sip_session (line 87) | struct sip_session
type sipe_core_private (line 91) | struct sipe_core_private
type sip_session (line 92) | struct sip_session
type sipe_core_private (line 105) | struct sipe_core_private
type sip_session (line 106) | struct sip_session
type sip_dialog (line 107) | struct sip_dialog
type sipe_core_private (line 118) | struct sipe_core_private
type sip_session (line 119) | struct sip_session
type sipe_core_private (line 128) | struct sipe_core_private
type sipmsg (line 129) | struct sipmsg
FILE: src/core/sipe-incoming.c
function process_incoming_bye (line 56) | void process_incoming_bye(struct sipe_core_private *sipe_private,
function process_incoming_cancel (line 124) | void process_incoming_cancel(struct sipe_core_private *sipe_private,
function process_incoming_info (line 142) | void process_incoming_info(struct sipe_core_private *sipe_private,
function gboolean (line 243) | static gboolean sipe_process_incoming_x_msmsgsinvite(struct sipe_core_pr...
function sipe_invite_mime_cb (line 267) | static void sipe_invite_mime_cb(gpointer user_data, const GSList *fields,
function send_invite_response (line 305) | static void send_invite_response(struct sipe_core_private *sipe_private,
type sipe_delayed_invite (line 328) | struct sipe_delayed_invite {
function delayed_invite_destroy (line 333) | static void delayed_invite_destroy(gpointer data)
function delayed_invite_timeout (line 341) | static void delayed_invite_timeout(struct sipe_core_private *sipe_private,
function delayed_invite_response (line 348) | static void delayed_invite_response(struct sipe_core_private *sipe_private,
function sipe_incoming_cancel_delayed_invite (line 364) | void sipe_incoming_cancel_delayed_invite(struct sipe_core_private *sipe_...
function process_incoming_invite (line 373) | void process_incoming_invite(struct sipe_core_private *sipe_private,
function process_incoming_message (line 644) | void process_incoming_message(struct sipe_core_private *sipe_private,
function process_incoming_options (line 768) | void process_incoming_options(struct sipe_core_private *sipe_private,
function process_incoming_refer (line 791) | void process_incoming_refer(struct sipe_core_private *sipe_private,
FILE: src/core/sipe-incoming.h
type sipe_core_private (line 24) | struct sipe_core_private
type sip_dialog (line 25) | struct sip_dialog
type sipmsg (line 26) | struct sipmsg
type sipe_core_private (line 28) | struct sipe_core_private
type sipmsg (line 29) | struct sipmsg
type sipe_core_private (line 30) | struct sipe_core_private
type sipmsg (line 31) | struct sipmsg
type sipe_core_private (line 32) | struct sipe_core_private
type sipmsg (line 33) | struct sipmsg
type sipe_core_private (line 34) | struct sipe_core_private
type sipmsg (line 35) | struct sipmsg
type sipe_core_private (line 36) | struct sipe_core_private
type sipmsg (line 37) | struct sipmsg
type sipe_core_private (line 38) | struct sipe_core_private
type sipmsg (line 39) | struct sipmsg
type sipe_core_private (line 40) | struct sipe_core_private
type sipmsg (line 41) | struct sipmsg
type sipe_core_private (line 43) | struct sipe_core_private
type sip_dialog (line 44) | struct sip_dialog
FILE: src/core/sipe-lync-autodiscover.c
type lync_autodiscover_request (line 48) | struct lync_autodiscover_request {
type sipe_lync_autodiscover (line 60) | struct sipe_lync_autodiscover {
function sipe_lync_autodiscover_request_free (line 77) | static void sipe_lync_autodiscover_request_free(struct sipe_core_private...
type sipe_core_private (line 94) | struct sipe_core_private
function lync_request (line 99) | static void lync_request(struct sipe_core_private *sipe_private,
function GSList (line 114) | static GSList *sipe_lync_autodiscover_add(GSList *servers,
function GSList (line 133) | GSList *sipe_lync_autodiscover_pop(GSList *servers)
type sipe_core_private (line 148) | struct sipe_core_private
type lync_autodiscover_request (line 149) | struct lync_autodiscover_request
function sipe_lync_autodiscover_parse (line 150) | static void sipe_lync_autodiscover_parse(struct sipe_core_private *sipe_...
function sipe_lync_autodiscover_webticket (line 266) | static void sipe_lync_autodiscover_webticket(struct sipe_core_private *s...
function sipe_lync_autodiscover_cb (line 299) | static void sipe_lync_autodiscover_cb(struct sipe_core_private *sipe_pri...
function sipe_lync_autodiscover_request (line 355) | static void sipe_lync_autodiscover_request(struct sipe_core_private *sip...
function sipe_lync_autodiscover_queue_request (line 422) | static void sipe_lync_autodiscover_queue_request(struct sipe_core_privat...
function gpointer (line 445) | static gpointer sipe_lync_autodiscover_create(struct sipe_core_private *...
function sipe_lync_autodiscover_start (line 472) | void sipe_lync_autodiscover_start(struct sipe_core_private *sipe_private,
function sipe_lync_autodiscover_init (line 488) | void sipe_lync_autodiscover_init(struct sipe_core_private *sipe_private)
function sipe_lync_autodiscover_free (line 495) | void sipe_lync_autodiscover_free(struct sipe_core_private *sipe_private)
FILE: src/core/sipe-lync-autodiscover.h
type sipe_core_private (line 25) | struct sipe_core_private
type sipe_lync_autodiscover_data (line 28) | struct sipe_lync_autodiscover_data {
type sipe_core_private (line 43) | struct sipe_core_private
type sipe_core_private (line 63) | struct sipe_core_private
type sipe_core_private (line 72) | struct sipe_core_private
type sipe_core_private (line 79) | struct sipe_core_private
FILE: src/core/sipe-media.c
type sipe_media_call_private (line 55) | struct sipe_media_call_private {
type sipe_media_stream_private (line 82) | struct sipe_media_stream_private {
type async_read_data (line 113) | struct async_read_data {
type sipe_media_call (line 119) | struct sipe_media_call
type sipe_media_stream_private (line 120) | struct sipe_media_stream_private
type sipe_media_call (line 122) | struct sipe_media_call
type sipe_media_call (line 123) | struct sipe_media_call
function sipe_media_codec_list_free (line 125) | static void sipe_media_codec_list_free(GList *codecs)
function sipe_media_candidate_list_free (line 131) | static void sipe_media_candidate_list_free(GList *candidates)
function sipe_media_stream_free (line 137) | static void
function gboolean (line 172) | static gboolean
function sipe_media_call_free (line 180) | static void
function gint (line 217) | static gint
function GSList (line 230) | static GSList *
function get_stream_ip_and_ports (line 270) | static void
function gint (line 299) | static gint
function GList (line 306) | static GList *
function fill_zero_tcp_act_ports_from_tcp_pass (line 356) | static void
function SipeEncryptionPolicy (line 418) | static SipeEncryptionPolicy
function GList (line 430) | static GList *
type sdpmedia (line 469) | struct sdpmedia
type sipe_media_call_private (line 470) | struct sipe_media_call_private
type sipe_media_stream_private (line 471) | struct sipe_media_stream_private
type sdpmedia (line 473) | struct sdpmedia
type sipe_backend_codec (line 506) | struct sipe_backend_codec
type sdpcodec (line 507) | struct sdpcodec
type sipnameval (line 517) | struct sipnameval
type sipnameval (line 518) | struct sipnameval
type sipnameval (line 626) | struct sipnameval
type sdpmsg (line 636) | struct sdpmsg
type sipe_media_call_private (line 637) | struct sipe_media_call_private
type sdpmsg (line 639) | struct sdpmsg
type sdpmedia (line 643) | struct sdpmedia
function sipe_invite_call (line 661) | static void
function send_response_with_session_description (line 734) | static void
type sipe_core_private (line 746) | struct sipe_core_private
type sipmsg (line 747) | struct sipmsg
type transaction (line 748) | struct transaction
type sipe_media_stream (line 750) | struct sipe_media_stream
type sipe_media_call (line 751) | struct sipe_media_call
type sipe_media_stream (line 755) | struct sipe_media_stream
function gboolean (line 762) | static gboolean
function apply_remote_message (line 866) | static void
function gboolean (line 899) | static gboolean
function stream_connection_timeout_cb (line 912) | static void
function stream_schedule_timeout (line 924) | static void
function stream_schedule_cancel_timeout (line 947) | static void
function call_request_timeout_cb (line 959) | static void
function call_schedule_request_timeout (line 971) | static void
function call_schedule_cancel_request_timeout (line 985) | static void
function call_ringing_timeout_cb (line 997) | static void
function call_schedule_ringing_timeout (line 1008) | static void
function call_schedule_cancel_ringing_timeout (line 1022) | static void
function maybe_send_first_invite_response (line 1036) | static void
function stream_initialized_cb (line 1069) | static void
function phone_state_publish (line 1090) | static void phone_state_publish(struct sipe_core_private *sipe_private)
function sipe_core_media_stream_end (line 1099) | void
function media_end_cb (line 1105) | static void
function call_accept_cb (line 1118) | static void
function call_reject_cb (line 1127) | static void
function av_call_reject_cb (line 1145) | static void
type sipe_core_private (line 1164) | struct sipe_core_private
type sipmsg (line 1164) | struct sipmsg
type transaction (line 1165) | struct transaction
function call_hold_cb (line 1167) | static void call_hold_cb(struct sipe_media_call *call,
function call_hangup_cb (line 1176) | static void call_hangup_cb(struct sipe_media_call *call, gboolean local)
function error_cb (line 1189) | static void
type sipe_media_call (line 1208) | struct sipe_media_call
type sipe_core_private (line 1209) | struct sipe_core_private
type sipmsg (line 1210) | struct sipmsg
type sipe_media_call_private (line 1213) | struct sipe_media_call_private
type sip_session (line 1214) | struct sip_session
type sip_dialog (line 1215) | struct sip_dialog
function gboolean (line 1273) | static gboolean
type sipe_media_call (line 1281) | struct sipe_media_call
type sipe_core_private (line 1282) | struct sipe_core_private
function sipe_media_hangup (line 1289) | void sipe_media_hangup(struct sipe_media_call_private *call_private)
function gint (line 1297) | static gint
function ssrc_range_update (line 1309) | static void
type ssrc_range (line 1343) | struct ssrc_range
type ssrc_range (line 1346) | struct ssrc_range
type ssrc_range (line 1354) | struct ssrc_range
type sipe_media_stream (line 1378) | struct sipe_media_stream
type sipe_media_call (line 1379) | struct sipe_media_call
type sipe_core_private (line 1383) | struct sipe_core_private
type sipe_media_stream_private (line 1384) | struct sipe_media_stream_private
type sipe_backend_media_relays (line 1385) | struct sipe_backend_media_relays
function append_2007_fallback_if_needed (line 1485) | static void
function sipe_media_initiate_call (line 1514) | static void
function sipe_core_media_initiate_call (line 1558) | void
function conference_audio_muted_cb (line 1567) | static void
function sipe_core_media_connect_conference (line 1581) | void sipe_core_media_connect_conference(struct sipe_core_public *sipe_pu...
type sipe_media_call (line 1654) | struct sipe_media_call
type sipe_core_public (line 1655) | struct sipe_core_public
type sipe_media_call (line 1657) | struct sipe_media_call
function gboolean (line 1673) | static gboolean phone_number_is_valid(const gchar *phone_number)
function sipe_core_media_phone_call (line 1693) | void sipe_core_media_phone_call(struct sipe_core_public *sipe_public,
function sipe_core_media_test_call (line 1714) | void sipe_core_media_test_call(struct sipe_core_public *sipe_public)
type sipe_media_call_private (line 1728) | struct sipe_media_call_private
type sipe_core_private (line 1729) | struct sipe_core_private
type sipmsg (line 1730) | struct sipmsg
function transport_response_unsupported_sdp (line 1736) | static void
function maybe_send_second_invite_response (line 1746) | static void
type sipe_media_call (line 1780) | struct sipe_media_call
type sipe_core_private (line 1781) | struct sipe_core_private
type sipmsg (line 1782) | struct sipmsg
type sipe_media_call (line 1790) | struct sipe_media_call
type sipe_core_private (line 1791) | struct sipe_core_private
type sipmsg (line 1792) | struct sipmsg
type sdpmsg (line 1793) | struct sdpmsg
type sipe_media_call_private (line 1795) | struct sipe_media_call_private
type sipe_media_call (line 1802) | struct sipe_media_call
type sipe_media_call_private (line 1842) | struct sipe_media_call_private
type sdpmedia (line 1861) | struct sdpmedia
function process_incoming_cancel_call (line 1904) | void process_incoming_cancel_call(struct sipe_media_call_private *call_p...
function gboolean (line 1920) | static gboolean
function gboolean (line 1949) | static gboolean
function sipe_core_media_stream_candidate_pair_established (line 1981) | void
function gboolean (line 2027) | static gboolean
function gboolean (line 2068) | static gboolean
function gboolean (line 2208) | gboolean is_media_session_msg(struct sipe_media_call_private *call_private,
function end_call (line 2218) | static void
function sipe_media_handle_going_offline (line 2241) | void
function gboolean (line 2247) | gboolean sipe_media_is_conference_call(struct sipe_media_call_private *c...
type sipe_core_private (line 2252) | struct sipe_core_private
type sipe_media_call (line 2253) | struct sipe_media_call
type sip_dialog (line 2260) | struct sip_dialog
type sipe_media_call (line 2261) | struct sipe_media_call
type sip_session (line 2263) | struct sip_session
function sipe_media_relay_free (line 2276) | static void
function sipe_media_relay_list_free (line 2285) | void
function relay_ip_resolved_cb (line 2292) | static void
function gboolean (line 2310) | static gboolean
function sipe_media_get_av_edge_credentials (line 2391) | void
function sipe_media_add_extra_invite_section (line 2437) | void
function sipe_media_stream_add_extra_attribute (line 2449) | void
function sipe_core_media_stream_readable (line 2459) | void
function sipe_media_stream_read_async (line 2506) | void
function stream_append_buffer (line 2523) | static void
function gboolean (line 2532) | gboolean
function sipe_core_media_stream_writable (line 2553) | void
function gboolean (line 2584) | gboolean
function sipe_media_stream_set_data (line 2593) | void
function gpointer (line 2610) | gpointer
FILE: src/core/sipe-media.h
type sdpmsg (line 25) | struct sdpmsg
type sipmsg (line 26) | struct sipmsg
type sipe_core_private (line 27) | struct sipe_core_private
type sipe_media_call_private (line 28) | struct sipe_media_call_private
type sipe_media_stream (line 29) | struct sipe_media_stream
type sipe_media_stream (line 31) | struct sipe_media_stream
type sipe_media_call (line 47) | struct sipe_media_call
type sipe_core_private (line 48) | struct sipe_core_private
type sipmsg (line 49) | struct sipmsg
type sipe_media_call (line 62) | struct sipe_media_call
type sipe_core_private (line 63) | struct sipe_core_private
type sipe_media_stream (line 79) | struct sipe_media_stream
type sipe_media_call (line 80) | struct sipe_media_call
type sipe_media_call (line 94) | struct sipe_media_call
type sipe_core_private (line 95) | struct sipe_core_private
type sipmsg (line 96) | struct sipmsg
type sipe_media_call (line 111) | struct sipe_media_call
type sipe_core_private (line 112) | struct sipe_core_private
type sipmsg (line 113) | struct sipmsg
type sdpmsg (line 114) | struct sdpmsg
type sipe_media_call_private (line 122) | struct sipe_media_call_private
type sipmsg (line 123) | struct sipmsg
type sipe_media_call_private (line 130) | struct sipe_media_call_private
type sipe_core_private (line 139) | struct sipe_core_private
type sipe_media_call_private (line 146) | struct sipe_media_call_private
type sipe_core_private (line 155) | struct sipe_core_private
type sipe_media_call (line 156) | struct sipe_media_call
type sip_dialog (line 165) | struct sip_dialog
type sipe_media_call (line 166) | struct sipe_media_call
type sipe_media_call_private (line 178) | struct sipe_media_call_private
type sipmsg (line 179) | struct sipmsg
type sipe_core_private (line 189) | struct sipe_core_private
type sipe_media_call (line 202) | struct sipe_media_call
type sipe_media_stream (line 217) | struct sipe_media_stream
type sipe_media_stream (line 236) | struct sipe_media_stream
type sipe_media_stream (line 257) | struct sipe_media_stream
type sipe_media_stream (line 268) | struct sipe_media_stream
type sipe_media_stream (line 278) | struct sipe_media_stream
type sipe_media_stream (line 289) | struct sipe_media_stream
FILE: src/core/sipe-mime-common.c
type parts_contain_cb_data (line 29) | struct parts_contain_cb_data {
function parts_contain_cb (line 34) | static void
function gboolean (line 47) | gboolean
FILE: src/core/sipe-mime.c
function sipe_mime_shutdown (line 67) | void sipe_mime_shutdown(void)
type gmime_callback_data (line 72) | struct gmime_callback_data {
function GSList (line 77) | static GSList *gmime_fields_to_nameval(GMimeObject *part)
function gmime_callback (line 108) | static void gmime_callback(SIPE_UNUSED_PARAMETER GMimeObject *parent,
function sipe_mime_parts_foreach (line 161) | void sipe_mime_parts_foreach(const gchar *type,
FILE: src/core/sipe-msrtp.c
function sipe_core_msrtp_write_video_source_request (line 105) | void
function write_nal_unit_header (line 160) | static void
function write_ms_layer_description (line 169) | static void
function gsize (line 193) | gsize
FILE: src/core/sipe-notify.c
function sipe_process_provisioning (line 61) | static void sipe_process_provisioning(struct sipe_core_private *sipe_pri...
function sipe_process_provisioning_v2 (line 81) | static void sipe_process_provisioning_v2(struct sipe_core_private *sipe_...
function process_incoming_notify_rlmi_resub (line 229) | static void process_incoming_notify_rlmi_resub(struct sipe_core_private ...
function sipe_update_user_phone (line 287) | static void
function process_incoming_notify_msrtc (line 319) | static void process_incoming_notify_msrtc(struct sipe_core_private *sipe...
function process_incoming_notify_rlmi (line 595) | static void process_incoming_notify_rlmi(struct sipe_core_private *sipe_...
function sipe_buddy_status_from_activity (line 971) | static void sipe_buddy_status_from_activity(struct sipe_core_private *si...
function process_incoming_notify_pidf (line 1005) | static void process_incoming_notify_pidf(struct sipe_core_private *sipe_...
function sipe_presence_mime_cb (line 1082) | static void sipe_presence_mime_cb(gpointer user_data, /* sipe_core_priva...
function sipe_process_presence (line 1098) | static void sipe_process_presence(struct sipe_core_private *sipe_private,
function sipe_process_registration_notify (line 1144) | static void sipe_process_registration_notify(struct sipe_core_private *s...
function gchar (line 1187) | static const gchar *get_group_name(const sipe_xml *node)
function add_new_group (line 1193) | static void add_new_group(struct sipe_core_private *sipe_private,
function add_new_buddy (line 1203) | static void add_new_buddy(struct sipe_core_private *sipe_private,
function gboolean (line 1263) | static gboolean sipe_process_roaming_contacts(struct sipe_core_private *...
function sipe_process_roaming_acl (line 1507) | static void sipe_process_roaming_acl(struct sipe_core_private *sipe_priv...
type sipe_auth_job (line 1526) | struct sipe_auth_job {
function sipe_core_contact_allow_deny (line 1531) | void sipe_core_contact_allow_deny(struct sipe_core_public *sipe_public,
function sipe_auth_user_cb (line 1554) | static void sipe_auth_user_cb(gpointer data)
function sipe_deny_user_cb (line 1565) | static void sipe_deny_user_cb(gpointer data)
function sipe_process_presence_wpending (line 1577) | static void sipe_process_presence_wpending (struct sipe_core_private *si...
function process_incoming_notify (line 1620) | void process_incoming_notify(struct sipe_core_private *sipe_private,
FILE: src/core/sipe-notify.h
type sipmsg (line 25) | struct sipmsg
type sipe_core_private (line 26) | struct sipe_core_private
type sipe_core_private (line 28) | struct sipe_core_private
type sipmsg (line 29) | struct sipmsg
FILE: src/core/sipe-ocs2005.c
function guint (line 72) | static guint sipe_ocs2005_activity_from_status(struct sipe_core_private ...
function guint (line 97) | static guint sipe_ocs2005_availability_from_status(struct sipe_core_priv...
function gchar (line 108) | const gchar *sipe_ocs2005_status_from_activity_availability(guint activity,
function gchar (line 141) | const gchar *sipe_ocs2005_activity_description(guint activity)
function sipe_ocs2005_user_info_has_updated (line 157) | void sipe_ocs2005_user_info_has_updated(struct sipe_core_private *sipe_p...
function gboolean (line 194) | static gboolean sipe_is_user_available(struct sipe_core_private *sipe_pr...
function send_presence_soap (line 280) | static void send_presence_soap(struct sipe_core_private *sipe_private,
function sipe_ocs2005_presence_publish (line 407) | void sipe_ocs2005_presence_publish(struct sipe_core_private *sipe_private,
function sipe_ocs2005_reset_status (line 413) | void sipe_ocs2005_reset_status(struct sipe_core_private *sipe_private)
function sipe_ocs2005_apply_calendar_status (line 418) | void sipe_ocs2005_apply_calendar_status(struct sipe_core_private *sipe_p...
function update_calendar_status_cb (line 490) | static void update_calendar_status_cb(SIPE_UNUSED_PARAMETER char *name,
function update_calendar_status (line 501) | static void update_calendar_status(struct sipe_core_private *sipe_private,
function sipe_ocs2005_schedule_status_update (line 521) | void sipe_ocs2005_schedule_status_update(struct sipe_core_private *sipe_...
FILE: src/core/sipe-ocs2005.h
type _sipe_xml (line 25) | struct _sipe_xml
type sipe_core_private (line 26) | struct sipe_core_private
type sipe_core_private (line 38) | struct sipe_core_private
type sipe_core_private (line 40) | struct sipe_core_private
type sipe_core_private (line 41) | struct sipe_core_private
type _sipe_xml (line 42) | struct _sipe_xml
type sipe_core_private (line 43) | struct sipe_core_private
type sipe_buddy (line 44) | struct sipe_buddy
type sipe_core_private (line 46) | struct sipe_core_private
FILE: src/core/sipe-ocs2007.c
type sipe_publication (line 58) | struct sipe_publication {
function gchar (line 96) | const gchar *sipe_ocs2007_status_from_legacy_availability(guint availabi...
function gchar (line 130) | const gchar *sipe_ocs2007_legacy_activity_description(guint availability)
function guint (line 155) | guint sipe_ocs2007_availability_from_status(const gchar *sipe_status_id,
function gboolean (line 192) | gboolean sipe_ocs2007_status_is_busy(const gchar *status_id)
function gboolean (line 199) | gboolean sipe_ocs2007_availability_is_away(guint availability)
type sipe_core_private (line 204) | struct sipe_core_private
function free_publication (line 207) | static void free_publication(struct sipe_publication *publication)
type hash_table_delete_payload (line 220) | struct hash_table_delete_payload {
function sipe_remove_category_container_publications_cb (line 225) | static void sipe_remove_category_container_publications_cb(const gchar *...
function sipe_remove_category_container_publications (line 234) | static void sipe_remove_category_container_publications(GHashTable *our_...
type sipe_container (line 250) | struct sipe_container {
type sipe_container_member (line 257) | struct sipe_container_member {
function free_container_member (line 266) | static void free_container_member(struct sipe_container_member *member)
function sipe_ocs2007_free_container (line 275) | static void sipe_ocs2007_free_container(struct sipe_container *container)
function sipe_core_buddy_menu_free (line 290) | void sipe_core_buddy_menu_free(struct sipe_core_public *sipe_public)
function blist_menu_remember_container (line 298) | static void blist_menu_remember_container(struct sipe_core_private *sipe...
type sipe_container (line 305) | struct sipe_container
type sipe_container (line 310) | struct sipe_container
type sipe_container_member (line 311) | struct sipe_container_member
function sipe_ocs2007_free (line 321) | void sipe_ocs2007_free(struct sipe_core_private *sipe_private)
type sipe_container_member (line 330) | struct sipe_container_member
type sipe_container (line 331) | struct sipe_container
type sipe_container_member (line 335) | struct sipe_container_member
type sipe_container (line 358) | struct sipe_container
type sipe_core_private (line 358) | struct sipe_core_private
type sipe_container (line 363) | struct sipe_container
function sipe_find_member_access_level (line 372) | static int sipe_find_member_access_level(struct sipe_core_private *sipe_...
function gchar (line 405) | static const gchar *sipe_get_domain(const gchar *email)
function gboolean (line 439) | static gboolean sipe_is_public_domain(const gchar *domain)
function gchar (line 459) | const gchar *sipe_ocs2007_access_level_name(guint id)
function sipe_ocs2007_find_access_level (line 472) | int sipe_ocs2007_find_access_level(struct sipe_core_private *sipe_private,
function GSList (line 521) | static GSList *get_access_domains(struct sipe_core_private *sipe_private)
function sipe_send_container_members_prepare (line 550) | static void sipe_send_container_members_prepare(const guint container_id,
function sipe_send_set_container_members (line 582) | static void sipe_send_set_container_members(struct sipe_core_private *si...
function sipe_ocs2007_change_access_level (line 621) | void sipe_ocs2007_change_access_level(struct sipe_core_private *sipe_pri...
function sipe_core_change_access_level_from_container (line 666) | void sipe_core_change_access_level_from_container(struct sipe_core_publi...
function sipe_core_change_access_level_for_domain (line 688) | void sipe_core_change_access_level_for_domain(struct sipe_core_public *s...
function schedule_publish_update (line 713) | static void schedule_publish_update(struct sipe_core_private *sipe_private,
function gchar (line 856) | static gchar *sipe_publish_get_category_state_calendar(struct sipe_core_...
function gchar (line 973) | static gchar *sipe_publish_get_category_note(struct sipe_core_private *s...
function gchar (line 1128) | static gchar *sipe_publish_get_category_cal_working_hours(struct sipe_co...
function gchar (line 1253) | static gchar *sipe_publish_get_category_cal_free_busy(struct sipe_core_p...
function gchar (line 1387) | static gchar *sipe_publish_get_category_device(struct sipe_core_private ...
function gchar (line 1468) | static gchar *sipe_publish_get_category_state(struct sipe_core_private *...
function gchar (line 1504) | static gchar *sipe_publish_get_category_state_machine(struct sipe_core_p...
function gchar (line 1514) | static gchar *sipe_publish_get_category_state_user(struct sipe_core_priv...
function send_publish_category_initial (line 1520) | static void send_publish_category_initial(struct sipe_core_private *sipe...
function gboolean (line 1546) | static gboolean process_send_presence_category_publish_response(struct s...
function send_presence_publish (line 1668) | static void send_presence_publish(struct sipe_core_private *sipe_private,
function sipe_ocs2007_presence_publish (line 1701) | void sipe_ocs2007_presence_publish(struct sipe_core_private *sipe_private,
function sipe_ocs2007_category_publish (line 1784) | void sipe_ocs2007_category_publish(struct sipe_core_private *sipe_private,
function sipe_ocs2007_phone_state_publish (line 1825) | void sipe_ocs2007_phone_state_publish(struct sipe_core_private *sipe_pri...
function sipe_publish_get_cat_state_user_to_clear (line 1888) | static void sipe_publish_get_cat_state_user_to_clear(SIPE_UNUSED_PARAMET...
function sipe_ocs2007_reset_status (line 1903) | void sipe_ocs2007_reset_status(struct sipe_core_private *sipe_private)
function gboolean (line 1922) | static gboolean sipe_is_our_publication(struct sipe_core_private *sipe_p...
function sipe_refresh_blocked_status_cb (line 2045) | static void sipe_refresh_blocked_status_cb(char *buddy_name,
function sipe_refresh_blocked_status (line 2061) | static void sipe_refresh_blocked_status(struct sipe_core_private *sipe_p...
function sipe_ocs2007_process_roaming_self (line 2073) | void sipe_ocs2007_process_roaming_self(struct sipe_core_private *sipe_pr...
type sipe_backend_buddy_menu (line 2524) | struct sipe_backend_buddy_menu
type sipe_core_private (line 2524) | struct sipe_core_private
type sipe_backend_buddy_menu (line 2525) | struct sipe_backend_buddy_menu
type sipe_container (line 2550) | struct sipe_container
type sipe_container (line 2577) | struct sipe_container
type sipe_backend_buddy_menu (line 2605) | struct sipe_backend_buddy_menu
type sipe_core_private (line 2605) | struct sipe_core_private
type sipe_backend_buddy_menu (line 2607) | struct sipe_backend_buddy_menu
type sipe_backend_buddy_menu (line 2673) | struct sipe_backend_buddy_menu
type sipe_core_private (line 2673) | struct sipe_core_private
type sipe_backend_buddy_menu (line 2676) | struct sipe_backend_buddy_menu
FILE: src/core/sipe-ocs2007.h
type sipmsg (line 25) | struct sipmsg
type sipe_container (line 26) | struct sipe_container
type sipe_core_private (line 27) | struct sipe_core_private
type sipe_core_private (line 49) | struct sipe_core_private
type sipe_core_private (line 51) | struct sipe_core_private
type sipe_core_private (line 52) | struct sipe_core_private
type sipe_core_private (line 54) | struct sipe_core_private
type sipe_core_private (line 55) | struct sipe_core_private
type sipe_core_private (line 56) | struct sipe_core_private
type sipmsg (line 57) | struct sipmsg
type sipe_core_private (line 63) | struct sipe_core_private
type sipe_core_private (line 67) | struct sipe_core_private
type sipe_backend_buddy_menu (line 73) | struct sipe_backend_buddy_menu
type sipe_core_private (line 73) | struct sipe_core_private
FILE: src/core/sipe-rtf-tests.c
function sipe_backend_debug_literal (line 35) | void sipe_backend_debug_literal(sipe_debug_level level,
function sipe_backend_debug (line 40) | void sipe_backend_debug(sipe_debug_level level,
type test_data (line 54) | struct test_data {
function main (line 115) | int main(SIPE_UNUSED_PARAMETER int argc,
FILE: src/core/sipe-schedule.c
type sipe_schedule (line 30) | struct sipe_schedule {
function sipe_schedule_deallocate (line 44) | static void sipe_schedule_deallocate(struct sipe_schedule *schedule)
function sipe_core_schedule_execute (line 51) | void sipe_core_schedule_execute(gpointer data)
type sipe_schedule (line 65) | struct sipe_schedule
type sipe_core_private (line 65) | struct sipe_core_private
type sipe_schedule (line 71) | struct sipe_schedule
function sipe_schedule_seconds (line 88) | void sipe_schedule_seconds(struct sipe_core_private *sipe_private,
function sipe_schedule_mseconds (line 107) | void sipe_schedule_mseconds(struct sipe_core_private *sipe_private,
function sipe_schedule_remove (line 126) | static void sipe_schedule_remove(struct sipe_core_private *sipe_private,
function sipe_schedule_cancel (line 136) | void sipe_schedule_cancel(struct sipe_core_private *sipe_private,
function sipe_schedule_cancel_all (line 158) | void sipe_schedule_cancel_all(struct sipe_core_private *sipe_private)
FILE: src/core/sipe-schedule.h
type sipe_core_private (line 24) | struct sipe_core_private
type sipe_core_private (line 26) | struct sipe_core_private
type sipe_core_private (line 40) | struct sipe_core_private
type sipe_core_private (line 46) | struct sipe_core_private
type sipe_core_private (line 52) | struct sipe_core_private
type sipe_core_private (line 54) | struct sipe_core_private
FILE: src/core/sipe-session.c
function sipe_free_queued_message (line 43) | static void
type sip_session (line 51) | struct sip_session
type sipe_core_private (line 52) | struct sipe_core_private
type sipe_chat_session (line 53) | struct sipe_chat_session
type sip_session (line 57) | struct sip_session
type sip_session (line 79) | struct sip_session
type sipe_core_private (line 80) | struct sipe_core_private
type sip_session (line 83) | struct sip_session
type sip_session (line 95) | struct sip_session
type sipe_core_private (line 96) | struct sipe_core_private
type sipe_chat_session (line 97) | struct sipe_chat_session
type sip_session (line 112) | struct sip_session
type sipe_core_private (line 113) | struct sipe_core_private
type sip_session (line 129) | struct sip_session
type sipe_core_private (line 130) | struct sipe_core_private
type sip_session (line 147) | struct sip_session
type sipe_core_private (line 148) | struct sipe_core_private
type sip_session (line 164) | struct sip_session
type sipe_core_private (line 165) | struct sipe_core_private
type sip_session (line 168) | struct sip_session
type sip_session (line 180) | struct sip_session
type sipe_core_private (line 181) | struct sipe_core_private
type sip_session (line 185) | struct sip_session
function sipe_session_remove (line 193) | void
function sipe_session_close (line 222) | void
function sipe_session_enqueue_message (line 243) | void
function GSList (line 255) | GSList *
FILE: src/core/sipe-session.h
type sipe_core_private (line 30) | struct sipe_core_private
type sipe_chat_session (line 31) | struct sipe_chat_session
type sip_session (line 42) | struct sip_session {
type queued_message (line 92) | struct queued_message {
type sip_session (line 114) | struct sip_session
type sipe_core_private (line 115) | struct sipe_core_private
type sipe_chat_session (line 116) | struct sipe_chat_session
type sip_session (line 130) | struct sip_session
type sipe_core_private (line 131) | struct sipe_core_private
type sip_session (line 144) | struct sip_session
type sipe_core_private (line 145) | struct sipe_core_private
type sipe_chat_session (line 146) | struct sipe_chat_session
type sip_session (line 156) | struct sip_session
type sipe_core_private (line 157) | struct sipe_core_private
type sip_session (line 168) | struct sip_session
type sipe_core_private (line 169) | struct sipe_core_private
type sip_session (line 180) | struct sip_session
type sipe_core_private (line 181) | struct sipe_core_private
type sip_session (line 192) | struct sip_session
type sipe_core_private (line 193) | struct sipe_core_private
type sip_session (line 205) | struct sip_session
type sipe_core_private (line 206) | struct sipe_core_private
type sipe_core_private (line 217) | struct sipe_core_private
type sip_session (line 218) | struct sip_session
type sipe_core_private (line 227) | struct sipe_core_private
type sip_session (line 228) | struct sip_session
type sip_session (line 238) | struct sip_session
type sip_session (line 249) | struct sip_session
FILE: src/core/sipe-sign.c
function sipmsg_breakdown_parse (line 35) | void sipmsg_breakdown_parse(struct sipmsg_breakdown * msg, const gchar *...
function sipmsg_breakdown_free (line 104) | void
function gchar (line 141) | gchar *
FILE: src/core/sipe-sign.h
type sipmsg_breakdown (line 24) | struct sipmsg_breakdown {
type sipmsg_breakdown (line 47) | struct sipmsg_breakdown
type sipmsg_breakdown (line 51) | struct sipmsg_breakdown
type sipmsg_breakdown (line 52) | struct sipmsg_breakdown
FILE: src/core/sipe-sipmsg-tests.c
function gboolean (line 57) | gboolean sipe_backend_debug_enabled(void)
function sipe_backend_debug_literal (line 62) | void sipe_backend_debug_literal(sipe_debug_level level,
function sipe_backend_debug (line 68) | void sipe_backend_debug(sipe_debug_level level,
function gchar (line 82) | gchar *sipe_backend_markup_css_property(SIPE_UNUSED_PARAMETER const gcha...
function sipe_mime_parts_foreach (line 88) | void sipe_mime_parts_foreach(SIPE_UNUSED_PARAMETER const gchar *type,
function gchar (line 95) | gchar *sipe_rtf_to_html(SIPE_UNUSED_PARAMETER const gchar *rtf)
function gchar (line 100) | const gchar *sip_transport_epid(SIPE_UNUSED_PARAMETER struct sipe_core_p...
function gchar (line 105) | const gchar *sip_transport_ip_address(SIPE_UNUSED_PARAMETER struct sipe_...
function md4sum (line 112) | void md4sum(SIPE_UNUSED_PARAMETER const uint8_t *data,
function assert_equal (line 124) | static void assert_equal(const char *expected, const gchar *got)
function msg_tests (line 134) | static void msg_tests(void) {
function main (line 296) | int main(SIPE_UNUSED_PARAMETER int argc,
FILE: src/core/sipe-status.c
function sipe_status_init (line 75) | void sipe_status_init(void)
function sipe_status_shutdown (line 89) | void sipe_status_shutdown(void)
function gchar (line 95) | const gchar *sipe_status_activity_to_token(guint type)
function guint (line 100) | guint sipe_status_token_to_activity(const gchar *token)
function gchar (line 106) | const gchar *sipe_core_activity_description(guint type)
function sipe_status_set_token (line 111) | void sipe_status_set_token(struct sipe_core_private *sipe_private,
function sipe_status_set_activity (line 118) | void sipe_status_set_activity(struct sipe_core_private *sipe_private,
function sipe_core_reset_status (line 125) | void sipe_core_reset_status(struct sipe_core_public *sipe_public)
function sipe_status_and_note (line 137) | void sipe_status_and_note(struct sipe_core_private *sipe_private,
function sipe_core_status_set (line 161) | void sipe_core_status_set(struct sipe_core_public *sipe_public,
FILE: src/core/sipe-status.h
type sipe_core_private (line 25) | struct sipe_core_private
type sipe_core_private (line 35) | struct sipe_core_private
type sipe_core_private (line 37) | struct sipe_core_private
type sipe_core_private (line 39) | struct sipe_core_private
FILE: src/core/sipe-subscriptions.c
type sip_subscription (line 50) | struct sip_subscription {
function sipe_subscription_free (line 56) | static void sipe_subscription_free(struct sip_subscription *subscription)
function sipe_subscriptions_init (line 68) | void sipe_subscriptions_init(struct sipe_core_private *sipe_private)
function sipe_unsubscribe_cb (line 76) | static void sipe_unsubscribe_cb(SIPE_UNUSED_PARAMETER gpointer key,
function sipe_subscriptions_unsubscribe (line 102) | void sipe_subscriptions_unsubscribe(struct sipe_core_private *sipe_private)
function sipe_subscriptions_destroy (line 111) | void sipe_subscriptions_destroy(struct sipe_core_private *sipe_private)
function sipe_subscription_remove (line 116) | static void sipe_subscription_remove(struct sipe_core_private *sipe_priv...
function gchar (line 133) | static gchar *sipe_subscription_key(const gchar *event,
type sip_dialog (line 144) | struct sip_dialog
type sipe_core_private (line 144) | struct sipe_core_private
type sip_dialog (line 147) | struct sip_dialog
type sipe_core_private (line 153) | struct sipe_core_private
type sipmsg (line 154) | struct sipmsg
function gboolean (line 156) | static gboolean process_subscribe_response(struct sipe_core_private *sip...
function sipe_subscribe (line 256) | static void sipe_subscribe(struct sipe_core_private *sipe_private,
function sipe_subscribe_self (line 292) | static void sipe_subscribe_self(struct sipe_core_private *sipe_private,
function sipe_subscribe_presence_wpending (line 313) | static void sipe_subscribe_presence_wpending(struct sipe_core_private *s...
function sipe_subscribe_roaming_acl (line 326) | static void sipe_subscribe_roaming_acl(struct sipe_core_private *sipe_pr...
function sipe_subscribe_roaming_contacts (line 339) | static void sipe_subscribe_roaming_contacts(struct sipe_core_private *si...
function sipe_subscribe_roaming_provisioning (line 357) | static void sipe_subscribe_roaming_provisioning(struct sipe_core_private...
function sipe_subscribe_roaming_provisioning_v2 (line 374) | static void sipe_subscribe_roaming_provisioning_v2(struct sipe_core_priv...
function sipe_subscribe_roaming_self (line 399) | static void sipe_subscribe_roaming_self(struct sipe_core_private *sipe_p...
function sipe_presence_timeout_mime_cb (line 412) | static void sipe_presence_timeout_mime_cb(gpointer user_data,
type sipe_core_private (line 456) | struct sipe_core_private
function sipe_process_presence_timeout (line 461) | static void sipe_process_presence_timeout(struct sipe_core_private *sipe...
function sipe_subscribe_conference (line 501) | void sipe_subscribe_conference(struct sipe_core_private *sipe_private,
function sipe_subscribe_presence_buddy (line 517) | static void sipe_subscribe_presence_buddy(struct sipe_core_private *sipe...
function sipe_subscribe_presence_single (line 545) | void sipe_subscribe_presence_single(struct sipe_core_private *sipe_private,
function sipe_subscribe_presence_single_cb (line 608) | void sipe_subscribe_presence_single_cb(struct sipe_core_private *sipe_pr...
function sipe_subscribe_presence_batched_to (line 622) | static void sipe_subscribe_presence_batched_to(struct sipe_core_private ...
type presence_batched_routed (line 685) | struct presence_batched_routed {
function sipe_subscribe_presence_batched_routed_free (line 690) | static void sipe_subscribe_presence_batched_routed_free(gpointer payload)
function sipe_subscribe_presence_batched_routed (line 697) | static void sipe_subscribe_presence_batched_routed(struct sipe_core_priv...
function sipe_subscribe_presence_batched_schedule (line 714) | static void sipe_subscribe_presence_batched_schedule(struct sipe_core_pr...
function sipe_subscribe_resource_uri_with_context (line 751) | static void sipe_subscribe_resource_uri_with_context(const gchar *name,
function sipe_subscribe_resource_uri (line 767) | static void sipe_subscribe_resource_uri(const char *name,
function schedule_buddy_resubscription_cb (line 779) | static void schedule_buddy_resubscription_cb(char *buddy_name,
function sipe_subscribe_presence_initial (line 803) | void sipe_subscribe_presence_initial(struct sipe_core_private *sipe_priv...
function sipe_subscribe_poolfqdn_resource_uri (line 839) | void sipe_subscribe_poolfqdn_resource_uri(const char *host,
type event_subscription_data (line 857) | struct event_subscription_data {
type event_subscription_data (line 866) | struct event_subscription_data
function sipe_subscription_expiration (line 902) | static void sipe_subscription_expiration(struct sipe_core_private *sipe_...
function sipe_subscription_self_events (line 955) | void sipe_subscription_self_events(struct sipe_core_private *sipe_private)
FILE: src/core/sipe-subscriptions.h
type sipe_core_private (line 24) | struct sipe_core_private
type sip_dialog (line 25) | struct sip_dialog
type sipe_core_private (line 30) | struct sipe_core_private
type sipe_core_private (line 31) | struct sipe_core_private
type sipe_core_private (line 32) | struct sipe_core_private
type sipe_core_private (line 37) | struct sipe_core_private
type sipe_core_private (line 41) | struct sipe_core_private
type sipe_core_private (line 44) | struct sipe_core_private
type sipe_core_private (line 46) | struct sipe_core_private
type sipe_core_private (line 49) | struct sipe_core_private
type sipe_core_private (line 56) | struct sipe_core_private
FILE: src/core/sipe-svc.c
type svc_request (line 49) | struct svc_request
type sipe_core_private (line 50) | struct sipe_core_private
type svc_request (line 51) | struct svc_request
type svc_request (line 55) | struct svc_request {
type sipe_svc (line 63) | struct sipe_svc {
type sipe_svc_session (line 68) | struct sipe_svc_session {
function sipe_svc_request_free (line 72) | static void sipe_svc_request_free(struct sipe_core_private *sipe_private,
function sipe_svc_free (line 84) | void sipe_svc_free(struct sipe_core_private *sipe_private)
function sipe_svc_init (line 106) | static void sipe_svc_init(struct sipe_core_private *sipe_private)
type sipe_svc_session (line 114) | struct sipe_svc_session
type sipe_svc_session (line 116) | struct sipe_svc_session
function sipe_svc_session_close (line 121) | void sipe_svc_session_close(struct sipe_svc_session *session)
function sipe_svc_https_response (line 129) | static void sipe_svc_https_response(struct sipe_core_private *sipe_private,
function gboolean (line 166) | static gboolean sipe_svc_https_request(struct sipe_core_private *sipe_pr...
function gboolean (line 235) | static gboolean sipe_svc_wsdl_request(struct sipe_core_private *sipe_pri...
function gboolean (line 297) | static gboolean new_soap_req(struct sipe_core_private *sipe_private,
function sipe_svc_wsdl_response (line 322) | static void sipe_svc_wsdl_response(struct sipe_core_private *sipe_private,
function gboolean (line 336) | gboolean sipe_svc_get_and_publish_cert(struct sipe_core_private *sipe_pr...
function gboolean (line 396) | gboolean sipe_svc_ab_entry_request(struct sipe_core_private *sipe_private,
function gboolean (line 438) | static gboolean request_passport(struct sipe_core_private *sipe_private,
function gboolean (line 477) | static gboolean request_user_password(struct sipe_core_private *sipe_pri...
function gboolean (line 508) | gboolean sipe_svc_webticket_adfs(struct sipe_core_private *sipe_private,
function gboolean (line 527) | gboolean sipe_svc_webticket_lmc(struct sipe_core_private *sipe_private,
function gboolean (line 543) | gboolean sipe_svc_webticket_lmc_federated(struct sipe_core_private *sipe...
function gboolean (line 561) | gboolean sipe_svc_webticket(struct sipe_core_private *sipe_private,
function sipe_svc_metadata_response (line 611) | static void sipe_svc_metadata_response(struct sipe_core_private *sipe_pr...
function gboolean (line 625) | gboolean sipe_svc_realminfo(struct sipe_core_private *sipe_private,
function gboolean (line 650) | gboolean sipe_svc_metadata(struct sipe_core_private *sipe_private,
FILE: src/core/sipe-svc.h
type sipe_core_private (line 31) | struct sipe_core_private
type sipe_svc_session (line 32) | struct sipe_svc_session
type sipe_tls_random (line 33) | struct sipe_tls_random
type _sipe_xml (line 34) | struct _sipe_xml
type sipe_core_private (line 45) | struct sipe_core_private
type _sipe_xml (line 48) | struct _sipe_xml
type sipe_svc_session (line 56) | struct sipe_svc_session
type sipe_svc_session (line 63) | struct sipe_svc_session
type sipe_core_private (line 77) | struct sipe_core_private
type sipe_svc_session (line 78) | struct sipe_svc_session
type sipe_core_private (line 98) | struct sipe_core_private
type sipe_svc_session (line 99) | struct sipe_svc_session
type sipe_core_private (line 120) | struct sipe_core_private
type sipe_svc_session (line 121) | struct sipe_svc_session
type sipe_tls_random (line 125) | struct sipe_tls_random
type sipe_core_private (line 139) | struct sipe_core_private
type sipe_svc_session (line 140) | struct sipe_svc_session
type sipe_core_private (line 155) | struct sipe_core_private
type sipe_svc_session (line 156) | struct sipe_svc_session
type sipe_core_private (line 173) | struct sipe_core_private
type sipe_svc_session (line 174) | struct sipe_svc_session
type sipe_core_private (line 189) | struct sipe_core_private
type sipe_svc_session (line 190) | struct sipe_svc_session
type sipe_core_private (line 204) | struct sipe_core_private
type sipe_svc_session (line 205) | struct sipe_svc_session
type sipe_core_private (line 215) | struct sipe_core_private
FILE: src/core/sipe-tls-analyzer.c
function sipe_backend_debug_literal (line 45) | void sipe_backend_debug_literal(SIPE_UNUSED_PARAMETER sipe_debug_level l...
function sipe_backend_debug (line 51) | void sipe_backend_debug(SIPE_UNUSED_PARAMETER sipe_debug_level level,
function main (line 61) | int main(int argc, char *argv[])
FILE: src/core/sipe-tls-tester.c
function gboolean (line 72) | gboolean sipe_backend_debug_enabled(void)
function sipe_backend_debug_literal (line 77) | void sipe_backend_debug_literal(sipe_debug_level level,
function sipe_backend_debug (line 83) | void sipe_backend_debug(sipe_debug_level level,
function md4sum (line 99) | void md4sum(SIPE_UNUSED_PARAMETER const uint8_t *data,
type record (line 108) | struct record {
function guchar (line 113) | static guchar *read_tls_record(int fd,
function tls_handshake (line 194) | static void tls_handshake(struct sipe_tls_state *state,
function tls_connect (line 238) | static int tls_connect(const gchar *param)
function main (line 302) | int main(int argc, char *argv[])
FILE: src/core/sipe-tls.c
type tls_handshake_state (line 54) | enum tls_handshake_state {
type tls_internal_state (line 62) | struct tls_internal_state {
type layout_descriptor (line 146) | struct layout_descriptor
type gboolean (line 147) | typedef gboolean parse_func(struct tls_internal_state *state,
type tls_compile_integer (line 151) | struct tls_compile_integer
type tls_internal_state (line 152) | struct tls_internal_state
type layout_descriptor (line 153) | struct layout_descriptor
type tls_compile_integer (line 154) | struct tls_compile_integer
type layout_descriptor (line 156) | struct layout_descriptor {
type msg_descriptor (line 168) | struct msg_descriptor {
type tls_parsed_integer (line 176) | struct tls_parsed_integer {
type tls_parsed_array (line 180) | struct tls_parsed_array {
type tls_compile_integer (line 186) | struct tls_compile_integer {
type tls_compile_array (line 190) | struct tls_compile_array {
type tls_compile_random (line 195) | struct tls_compile_random {
type tls_compile_verify (line 200) | struct tls_compile_verify {
type tls_compile_vector (line 205) | struct tls_compile_vector {
type tls_compile_sessionid (line 210) | struct tls_compile_sessionid {
type tls_compile_cipher (line 214) | struct tls_compile_cipher {
type tls_compile_compression (line 219) | struct tls_compile_compression {
type tls_compiled_message (line 225) | struct tls_compiled_message {
function sipe_tls_fill_random (line 233) | void sipe_tls_fill_random(struct sipe_tls_random *random,
function sipe_tls_free_random (line 249) | void sipe_tls_free_random(struct sipe_tls_random *random)
function debug_hex (line 257) | static void debug_hex(struct tls_internal_state *state,
function debug_secrets (line 292) | static void debug_secrets(struct tls_internal_state *state,
function guchar (line 310) | static guchar *sipe_tls_p_md5(const guchar *secret,
function guchar (line 364) | guchar *sipe_tls_p_sha1(const guchar *secret,
function guchar (line 418) | static guchar *sipe_tls_prf(SIPE_UNUSED_PARAMETER struct tls_internal_st...
function guint (line 499) | static guint lowlevel_integer_to_host(const guchar *bytes,
function gboolean (line 510) | static gboolean msg_remainder_check(struct tls_internal_state *state,
function gboolean (line 522) | static gboolean parse_integer_quiet(struct tls_internal_state *state,
function gboolean (line 534) | static gboolean parse_integer(struct tls_internal_state *state,
function gboolean (line 550) | static gboolean parse_array(struct tls_internal_state *state,
function gboolean (line 574) | static gboolean parse_vector(struct tls_internal_state *state,
function lowlevel_integer_to_tls (line 620) | static void lowlevel_integer_to_tls(guchar *bytes,
function compile_integer (line 633) | static void compile_integer(struct tls_internal_state *state,
function compile_array (line 641) | static void compile_array(struct tls_internal_state *state,
function compile_vector (line 650) | static void compile_vector(struct tls_internal_state *state,
function compile_vector_int2 (line 665) | static void compile_vector_int2(struct tls_internal_state *state,
type ClientHello_host (line 693) | struct ClientHello_host {
type layout_descriptor (line 702) | struct layout_descriptor
type msg_descriptor (line 710) | struct msg_descriptor
type layout_descriptor (line 714) | struct layout_descriptor
type msg_descriptor (line 722) | struct msg_descriptor
type Certificate_host (line 726) | struct Certificate_host {
type layout_descriptor (line 731) | struct layout_descriptor
type msg_descriptor (line 735) | struct msg_descriptor
type layout_descriptor (line 739) | struct layout_descriptor
type msg_descriptor (line 744) | struct msg_descriptor
type layout_descriptor (line 748) | struct layout_descriptor
type msg_descriptor (line 751) | struct msg_descriptor
type ClientKeyExchange_host (line 755) | struct ClientKeyExchange_host {
type layout_descriptor (line 760) | struct layout_descriptor
type msg_descriptor (line 764) | struct msg_descriptor
type CertificateVerify_host (line 768) | struct CertificateVerify_host {
type layout_descriptor (line 773) | struct layout_descriptor
type msg_descriptor (line 777) | struct msg_descriptor
type Finished_host (line 781) | struct Finished_host {
type layout_descriptor (line 786) | struct layout_descriptor
type msg_descriptor (line 790) | struct msg_descriptor
function gboolean (line 799) | static gboolean handshake_parse(struct tls_internal_state *state,
function free_parse_data (line 873) | static void free_parse_data(struct tls_internal_state *state)
function gboolean (line 881) | static gboolean tls_record_parse(struct tls_internal_state *state,
function compile_tls_record (line 1022) | static void compile_tls_record(struct tls_internal_state *state,
function compile_encrypted_tls_record (line 1064) | static void compile_encrypted_tls_record(struct tls_internal_state *state,
type tls_compiled_message (line 1160) | struct tls_compiled_message
type tls_internal_state (line 1160) | struct tls_internal_state
type msg_descriptor (line 1161) | struct msg_descriptor
type tls_compiled_message (line 1176) | struct tls_compiled_message
type tls_compiled_message (line 1178) | struct tls_compiled_message
type layout_descriptor (line 1180) | struct layout_descriptor
type tls_compiled_message (line 1221) | struct tls_compiled_message
type tls_internal_state (line 1221) | struct tls_internal_state
type Certificate_host (line 1223) | struct Certificate_host
type tls_compiled_message (line 1225) | struct tls_compiled_message
type Certificate_host (line 1229) | struct Certificate_host
type Certificate_host (line 1239) | struct Certificate_host
function gboolean (line 1245) | static gboolean check_cipher_suite(struct tls_internal_state *state)
function tls_calculate_secrets (line 1322) | static void tls_calculate_secrets(struct tls_internal_state *state)
function guchar (line 1408) | static guchar *tls_pkcs1_private_padding(SIPE_UNUSED_PARAMETER struct tl...
function guchar (line 1440) | static guchar *tls_pkcs1_public_padding(SIPE_UNUSED_PARAMETER struct tls...
type tls_compiled_message (line 1477) | struct tls_compiled_message
type tls_internal_state (line 1477) | struct tls_internal_state
type tls_parsed_array (line 1479) | struct tls_parsed_array
type tls_parsed_array (line 1480) | struct tls_parsed_array
type ClientKeyExchange_host (line 1481) | struct ClientKeyExchange_host
type tls_compiled_message (line 1484) | struct tls_compiled_message
type ClientKeyExchange_host (line 1541) | struct ClientKeyExchange_host
type ClientKeyExchange_host (line 1562) | struct ClientKeyExchange_host
type tls_compiled_message (line 1568) | struct tls_compiled_message
type tls_internal_state (line 1568) | struct tls_internal_state
type CertificateVerify_host (line 1570) | struct CertificateVerify_host
type tls_compiled_message (line 1571) | struct tls_compiled_message
type CertificateVerify_host (line 1592) | struct CertificateVerify_host
type CertificateVerify_host (line 1599) | struct CertificateVerify_host
type tls_compiled_message (line 1605) | struct tls_compiled_message
type tls_internal_state (line 1605) | struct tls_internal_state
type tls_compiled_message (line 1609) | struct tls_compiled_message
type Finished_host (line 1610) | struct Finished_host
function gboolean (line 1642) | static gboolean tls_client_hello(struct tls_internal_state *state)
function gboolean (line 1685) | static gboolean tls_server_hello(struct tls_internal_state *state)
function gboolean (line 1755) | static gboolean tls_finished(struct tls_internal_state *state)
type sipe_tls_state (line 1820) | struct sipe_tls_state
type tls_internal_state (line 1822) | struct tls_internal_state
type sipe_tls_state (line 1834) | struct sipe_tls_state
function gboolean (line 1837) | gboolean sipe_tls_next(struct sipe_tls_state *state)
function guint (line 1875) | guint sipe_tls_expires(struct sipe_tls_state *state)
function sipe_tls_free (line 1886) | void sipe_tls_free(struct sipe_tls_state *state)
FILE: src/core/sipe-tls.h
type sipe_tls_random (line 33) | struct sipe_tls_random {
type sipe_tls_random (line 44) | struct sipe_tls_random
type sipe_tls_random (line 52) | struct sipe_tls_random
type sipe_tls_digest_algorithm (line 60) | enum sipe_tls_digest_algorithm {
type sipe_tls_state (line 65) | struct sipe_tls_state {
type sipe_tls_state (line 100) | struct sipe_tls_state
type sipe_tls_state (line 111) | struct sipe_tls_state
type sipe_tls_state (line 120) | struct sipe_tls_state
type sipe_tls_state (line 127) | struct sipe_tls_state
FILE: src/core/sipe-ucs.c
type sipe_ucs_transaction (line 57) | struct sipe_ucs_transaction {
type sipe_core_private (line 61) | struct sipe_core_private
type sipe_ucs_transaction (line 62) | struct sipe_ucs_transaction
type ucs_request (line 66) | struct ucs_request {
type sipe_ucs (line 74) | struct sipe_ucs {
function sipe_ucs_request_free (line 85) | static void sipe_ucs_request_free(struct sipe_core_private *sipe_private,
type sipe_core_private (line 113) | struct sipe_core_private
function sipe_ucs_http_response (line 114) | static void sipe_ucs_http_response(struct sipe_core_private *sipe_private,
function sipe_ucs_next_request (line 146) | static void sipe_ucs_next_request(struct sipe_core_private *sipe_private)
function gboolean (line 200) | static gboolean sipe_ucs_http_request(struct sipe_core_private *sipe_pri...
type sipe_ucs_transaction (line 233) | struct sipe_ucs_transaction
type sipe_core_private (line 233) | struct sipe_core_private
type sipe_ucs (line 235) | struct sipe_ucs
type sipe_ucs_transaction (line 236) | struct sipe_ucs_transaction
function sipe_ucs_search_response (line 250) | static void sipe_ucs_search_response(struct sipe_core_private *sipe_priv...
function sipe_ucs_search (line 321) | void sipe_ucs_search(struct sipe_core_private *sipe_private,
function sipe_ucs_ignore_response (line 404) | static void sipe_ucs_ignore_response(struct sipe_core_private *sipe_priv...
function ucs_extract_keys (line 413) | static void ucs_extract_keys(const sipe_xml *persona_node,
function sipe_ucs_add_new_im_contact_to_group_response (line 451) | static void sipe_ucs_add_new_im_contact_to_group_response(struct sipe_co...
function sipe_ucs_group_add_buddy (line 487) | void sipe_ucs_group_add_buddy(struct sipe_core_private *sipe_private,
function sipe_ucs_group_remove_buddy (line 528) | void sipe_ucs_group_remove_buddy(struct sipe_core_private *sipe_private,
type sipe_group (line 557) | struct sipe_group
type sipe_core_private (line 557) | struct sipe_core_private
type sipe_group (line 564) | struct sipe_group
function sipe_ucs_add_im_group_response (line 581) | static void sipe_ucs_add_im_group_response(struct sipe_core_private *sip...
function sipe_ucs_group_create (line 610) | void sipe_ucs_group_create(struct sipe_core_private *sipe_private,
function sipe_ucs_group_rename (line 630) | void sipe_ucs_group_rename(struct sipe_core_private *sipe_private,
function sipe_ucs_group_remove (line 650) | void sipe_ucs_group_remove(struct sipe_core_private *sipe_private,
function ucs_init_failure (line 666) | static void ucs_init_failure(struct sipe_core_private *sipe_private)
function sipe_ucs_get_im_item_list_response (line 684) | static void sipe_ucs_get_im_item_list_response(struct sipe_core_private ...
function ucs_get_im_item_list (line 785) | static void ucs_get_im_item_list(struct sipe_core_private *sipe_private)
function ucs_set_ews_url (line 796) | static void ucs_set_ews_url(struct sipe_core_private *sipe_private,
function ucs_ews_autodiscover_cb (line 808) | static void ucs_ews_autodiscover_cb(struct sipe_core_private *sipe_private,
function gboolean (line 829) | gboolean sipe_ucs_is_migrated(struct sipe_core_private *sipe_private)
function gchar (line 834) | const gchar *sipe_ucs_ews_url(struct sipe_core_private *sipe_private)
function sipe_ucs_init (line 839) | void sipe_ucs_init(struct sipe_core_private *sipe_private,
function sipe_ucs_free (line 885) | void sipe_ucs_free(struct sipe_core_private *sipe_private)
FILE: src/core/sipe-ucs.h
type sipe_backend_search_token (line 25) | struct sipe_backend_search_token
type sipe_buddy (line 26) | struct sipe_buddy
type sipe_core_private (line 27) | struct sipe_core_private
type sipe_group (line 28) | struct sipe_group
type sipe_ucs_transaction (line 29) | struct sipe_ucs_transaction
type sipe_core_private (line 45) | struct sipe_core_private
type sipe_backend_search_token (line 46) | struct sipe_backend_search_token
type sipe_core_private (line 61) | struct sipe_core_private
type sipe_core_private (line 70) | struct sipe_core_private
type sipe_ucs_transaction (line 79) | struct sipe_ucs_transaction
type sipe_core_private (line 79) | struct sipe_core_private
type sipe_core_private (line 90) | struct sipe_core_private
type sipe_ucs_transaction (line 91) | struct sipe_ucs_transaction
type sipe_group (line 92) | struct sipe_group
type sipe_buddy (line 93) | struct sipe_buddy
type sipe_core_private (line 104) | struct sipe_core_private
type sipe_ucs_transaction (line 105) | struct sipe_ucs_transaction
type sipe_group (line 106) | struct sipe_group
type sipe_buddy (line 107) | struct sipe_buddy
type sipe_core_private (line 117) | struct sipe_core_private
type sipe_ucs_transaction (line 118) | struct sipe_ucs_transaction
type sipe_core_private (line 129) | struct sipe_core_private
type sipe_group (line 130) | struct sipe_group
type sipe_core_private (line 139) | struct sipe_core_private
type sipe_group (line 140) | struct sipe_group
type sipe_core_private (line 148) | struct sipe_core_private
type sipe_core_private (line 156) | struct sipe_core_private
FILE: src/core/sipe-user.c
function sipe_user_present_info (line 43) | void sipe_user_present_info(struct sipe_core_private *sipe_private,
function sipe_user_present_error (line 53) | void sipe_user_present_error(struct sipe_core_private *sipe_private,
function sipe_user_present_message_undelivered (line 63) | void sipe_user_present_message_undelivered(struct sipe_core_private *sip...
function gboolean (line 101) | static gboolean process_info_typing_response(struct sipe_core_private *s...
function sipe_core_user_feedback_typing (line 120) | void sipe_core_user_feedback_typing(struct sipe_core_public *sipe_public,
type sipe_user_ask_ctx (line 149) | struct sipe_user_ask_ctx {
type sipe_user_ask_ctx (line 156) | struct sipe_user_ask_ctx
type sipe_core_private (line 156) | struct sipe_core_private
type sipe_user_ask_ctx (line 164) | struct sipe_user_ask_ctx
function sipe_core_user_ask_cb (line 177) | void sipe_core_user_ask_cb(gpointer context, gboolean accepted)
type sipe_user_ask_ctx (line 189) | struct sipe_user_ask_ctx
type sipe_core_private (line 189) | struct sipe_core_private
type sipe_user_ask_ctx (line 195) | struct sipe_user_ask_ctx
function sipe_core_user_ask_choice_cb (line 206) | void sipe_core_user_ask_choice_cb(gpointer context, guint choice_id)
function sipe_user_close_ask (line 218) | void sipe_user_close_ask(struct sipe_user_ask_ctx *context)
FILE: src/core/sipe-user.h
type sip_session (line 24) | struct sip_session
type sipe_core_private (line 25) | struct sipe_core_private
type sipe_user_ask_ctx (line 28) | struct sipe_user_ask_ctx
type sipe_core_private (line 37) | struct sipe_core_private
type sip_session (line 38) | struct sip_session
type sipe_core_private (line 48) | struct sipe_core_private
type sip_session (line 49) | struct sip_session
type sipe_core_private (line 62) | struct sipe_core_private
type sip_session (line 63) | struct sip_session
type sipe_core_private (line 69) | struct sipe_core_private
type sipe_user_ask_ctx (line 85) | struct sipe_user_ask_ctx
type sipe_core_private (line 85) | struct sipe_core_private
type sipe_core_private (line 93) | struct sipe_core_private
type sipe_user_ask_ctx (line 106) | struct sipe_user_ask_ctx
type sipe_core_private (line 106) | struct sipe_core_private
type sipe_user_ask_ctx (line 117) | struct sipe_user_ask_ctx
FILE: src/core/sipe-utils.c
function gchar (line 41) | gchar *gencallid(void)
function gchar (line 49) | gchar *gentag(void)
function gchar (line 54) | gchar *genconfid(void)
function gchar (line 62) | gchar *get_contact(const struct sipe_core_private *sipe_private)
function gchar (line 67) | gchar *parse_from(const gchar *hdr)
function gchar (line 98) | gchar *sip_uri_from_name(const gchar *name)
function gchar (line 103) | gchar *sip_uri(const gchar *string)
function gchar (line 108) | static gchar *escape_uri_part(const gchar *in, guint len)
function gchar (line 155) | gchar *sip_uri_if_valid(const gchar *string)
function gchar (line 183) | const gchar *sipe_get_no_sip_uri(const gchar *sip_uri)
function gchar (line 196) | gchar *get_uuid(struct sipe_core_private *sipe_private)
function guint (line 202) | guint
function gboolean (line 236) | gboolean
function gboolean (line 258) | gboolean
function sipe_utils_message_debug (line 280) | void sipe_utils_message_debug(struct sipe_transport_connection *conn,
function gboolean (line 333) | gboolean
function gboolean (line 339) | gboolean
function time_t (line 346) | time_t
function gchar (line 397) | gchar *
function gchar (line 422) | const gchar *sipe_utils_time_to_debug_str(const struct tm *tm)
function hex_str_to_buff (line 438) | size_t
function gboolean (line 476) | gboolean
function GSList (line 511) | GSList*
function sipe_utils_nameval_free (line 528) | void
function gchar (line 540) | const gchar *
function gchar (line 546) | const gchar *
function gchar (line 567) | gchar *sipe_utils_str_replace(const gchar *string,
function sipe_utils_shrink_buffer (line 583) | void sipe_utils_shrink_buffer(struct sipe_transport_connection *conn,
function gboolean (line 591) | gboolean sipe_utils_ip_is_private(const char *ip)
function gchar (line 601) | const gchar *sipe_utils_ip_sdp_address_marker(const gchar *ip)
function gchar (line 606) | gchar *sipe_utils_presence_key(const gchar *uri)
function gchar (line 611) | gchar *
function GSList (line 627) | GSList *sipe_utils_slist_insert_unique_sorted(GSList *list,
function sipe_utils_slist_free_full (line 643) | void sipe_utils_slist_free_full(GSList *list,
FILE: src/core/sipe-utils.h
type sipe_core_private (line 31) | struct sipe_core_private
type sipe_transport_connection (line 32) | struct sipe_transport_connection
type sipe_core_private (line 119) | struct sipe_core_private
type sipe_core_private (line 153) | struct sipe_core_private
type sipe_core_private (line 163) | struct sipe_core_private
type sipe_transport_connection (line 247) | struct sipe_transport_connection
type tm (line 313) | struct tm
type sipnameval (line 315) | struct sipnameval {
type sipe_transport_connection (line 423) | struct sipe_transport_connection
FILE: src/core/sipe-webticket.c
type webticket_queued_data (line 47) | struct webticket_queued_data {
type webticket_callback_data (line 52) | struct webticket_callback_data {
type webticket_token (line 79) | struct webticket_token {
type sipe_webticket (line 85) | struct sipe_webticket {
function sipe_webticket_free (line 97) | void sipe_webticket_free(struct sipe_core_private *sipe_private)
function free_token (line 116) | static void free_token(gpointer data)
function sipe_webticket_init (line 124) | static void sipe_webticket_init(struct sipe_core_private *sipe_private)
function cache_token (line 142) | static void cache_token(struct sipe_core_private *sipe_private,
type webticket_token (line 157) | struct webticket_token
type sipe_core_private (line 157) | struct sipe_core_private
type webticket_token (line 160) | struct webticket_token
function callback_data_free (line 175) | static void callback_data_free(struct webticket_callback_data *wcd)
function queue_request (line 187) | static void queue_request(struct webticket_callback_data *wcd,
function callback_execute (line 199) | static void callback_execute(struct sipe_core_private *sipe_private,
function gchar (line 238) | static gchar *extract_raw_xml_attribute(const gchar *xml,
function gchar (line 257) | static gchar *generate_timestamp(const gchar *raw)
function gchar (line 268) | static gchar *generate_keydata(const gchar *raw)
function gchar (line 273) | static gchar *generate_expires(const gchar *timestamp)
function gchar (line 278) | static gchar *generate_fedbearer_wsse(const gchar *raw)
function generate_federation_wsse (line 294) | static void generate_federation_wsse(struct sipe_webticket *webticket,
function gchar (line 325) | static gchar *generate_sha1_proof_wsse(const gchar *raw,
type sipe_core_private (line 457) | struct sipe_core_private
type webticket_callback_data (line 458) | struct webticket_callback_data
type sipe_core_private (line 459) | struct sipe_core_private
type webticket_callback_data (line 460) | struct webticket_callback_data
function webticket_token (line 461) | static void webticket_token(struct sipe_core_private *sipe_private,
function gboolean (line 597) | static gboolean federated_authentication(struct sipe_core_private *sipe_...
function gboolean (line 614) | static gboolean fedbearer_authentication(struct sipe_core_private *sipe_...
function realminfo (line 647) | static void realminfo(struct sipe_core_private *sipe_private,
function gboolean (line 702) | static gboolean initiate_fedbearer(struct sipe_core_private *sipe_private,
function webticket_metadata (line 721) | static void webticket_metadata(struct sipe_core_private *sipe_private,
function service_metadata (line 799) | static void service_metadata(struct sipe_core_private *sipe_private,
function gboolean (line 889) | static gboolean webticket_request(struct sipe_core_private *sipe_private,
function gboolean (line 965) | gboolean sipe_webticket_request_with_port(struct sipe_core_private *sipe...
function gboolean (line 981) | gboolean sipe_webticket_request_with_auth(struct sipe_core_private *sipe...
FILE: src/core/sipe-webticket.h
type sipe_core_private (line 31) | struct sipe_core_private
type sipe_svc_session (line 32) | struct sipe_svc_session
type sipe_core_private (line 44) | struct sipe_core_private
type sipe_core_private (line 64) | struct sipe_core_private
type sipe_svc_session (line 65) | struct sipe_svc_session
type sipe_core_private (line 84) | struct sipe_core_private
type sipe_svc_session (line 85) | struct sipe_svc_session
type sipe_core_private (line 96) | struct sipe_core_private
FILE: src/core/sipe-win32dep.c
function HKEY (line 37) | static HKEY _reg_open_key(HKEY rootkey, const char *subkey, REGSAM acces...
function gboolean (line 66) | static gboolean _reg_read(HKEY reg_key, const char *valname, LPDWORD typ...
FILE: src/core/sipe-xml-tests.c
function sipe_backend_debug_literal (line 42) | void sipe_backend_debug_literal(sipe_debug_level level,
function sipe_backend_debug (line 47) | void sipe_backend_debug(sipe_debug_level level,
function gboolean (line 60) | gboolean sipe_backend_debug_enabled(void)
function sipe_digest_sha1 (line 65) | void sipe_digest_sha1(SIPE_UNUSED_PARAMETER const guchar *data,
function gchar (line 68) | const gchar *sip_transport_epid(SIPE_UNUSED_PARAMETER struct sipe_core_p...
function gchar (line 69) | const gchar *sip_transport_ip_address(SIPE_UNUSED_PARAMETER struct sipe_...
function sipe_xml (line 80) | static sipe_xml *assert_parse(const gchar *s, gboolean ok)
function assert_name (line 96) | static void assert_name(const sipe_xml *xml, const gchar *s)
function sipe_xml (line 110) | static const sipe_xml *assert_child(const sipe_xml *xml, const gchar *s,...
function assert_data (line 124) | static void assert_data(const sipe_xml *xml, const gchar *s)
function assert_attribute (line 138) | static void assert_attribute(const sipe_xml *xml,
function assert_int_attribute (line 153) | static void assert_int_attribute(const sipe_xml *xml,
function assert_stringify (line 168) | static void assert_stringify(const sipe_xml *xml,
function assert_raw (line 196) | static void assert_raw(const gchar *raw,
function gpointer (line 233) | static gpointer test_malloc(gsize n_bytes)
function test_free (line 242) | static void test_free(gpointer mem)
function gpointer (line 251) | static gpointer test_realloc(gpointer mem, gsize n_bytes)
function main (line 273) | int main(SIPE_UNUSED_PARAMETER int argc, SIPE_UNUSED_PARAMETER char **argv)
FILE: src/core/sipe-xml.c
type _sipe_xml (line 41) | struct _sipe_xml {
type _parser_data (line 51) | struct _parser_data {
function guint (line 58) | static guint sipe_ascii_strdown_hash(gconstpointer key)
function callback_start_element (line 67) | static void callback_start_element(void *user_data, const xmlChar *name,...
function callback_end_element (line 117) | static void callback_end_element(void *user_data, const xmlChar *name)
function callback_characters (line 127) | static void callback_characters(void *user_data, const xmlChar *text, in...
function callback_error (line 141) | static void callback_error(void *user_data, const char *msg, ...)
function callback_serror (line 157) | static void callback_serror(void *user_data, xmlErrorPtr error)
function sipe_xml (line 213) | sipe_xml *sipe_xml_parse(const gchar *string, gsize length)
function sipe_xml_free (line 235) | void sipe_xml_free(sipe_xml *node)
function sipe_xml_stringify_attribute (line 262) | static void sipe_xml_stringify_attribute(gpointer key, gpointer value,
function sipe_xml_stringify_node (line 269) | static void sipe_xml_stringify_node(GString *s, const sipe_xml *node)
function gchar (line 294) | gchar *sipe_xml_stringify(const sipe_xml *node)
function sipe_xml (line 305) | const sipe_xml *sipe_xml_child(const sipe_xml *parent, const gchar *name)
function sipe_xml (line 329) | const sipe_xml *sipe_xml_twin(const sipe_xml *node)
function gchar (line 342) | const gchar *sipe_xml_name(const sipe_xml *node)
function gchar (line 347) | const gchar *sipe_xml_attribute(const sipe_xml *node, const gchar *attr)
function guint (line 353) | guint sipe_xml_int_attribute(const sipe_xml *node, const gchar *attr,
function gchar (line 360) | gchar *sipe_xml_data(const sipe_xml *node)
function sipe_xml_dump (line 372) | void sipe_xml_dump(const sipe_xml *node, const gchar *path)
function gchar (line 402) | gchar *sipe_xml_exc_c14n(const gchar *string)
function gchar (line 444) | static gchar *sipe_xml_extract_exact_raw(const gchar *xml, const gchar *...
function gchar (line 469) | static gchar *sipe_xml_extract_any_raw(const gchar *xml, const gchar *tag,
function gchar (line 508) | gchar *sipe_xml_extract_raw(const gchar *xml, const gchar *tag,
FILE: src/core/sipe-xml.h
type sipe_xml (line 23) | typedef struct _sipe_xml sipe_xml;
FILE: src/core/sipmsg.c
type sipmsg (line 38) | struct sipmsg
type sipmsg (line 41) | struct sipmsg
type sipmsg (line 54) | struct sipmsg
type sipmsg (line 55) | struct sipmsg
type sipmsg (line 125) | struct sipmsg
type sipmsg (line 125) | struct sipmsg
type sipmsg (line 126) | struct sipmsg
type sipnameval (line 136) | struct sipnameval
type sipnameval (line 143) | struct sipnameval
type sipmsg (line 157) | struct sipmsg
type sipnameval (line 160) | struct sipnameval
function sipmsg_add_header_now (line 190) | void sipm
Condensed preview — 339 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,327K chars).
[
{
"path": ".gitignore",
"chars": 1022,
"preview": "*~\n*Makefile\n*Makefile.in\n*Makefile.in.in\n*.la\n*.lo\n*.log\n.deps\n.libs\nlibtool\nconfig.*\nconfigure\n/ABOUT-NLS\nautom4te*\n*."
},
{
"path": ".tx/config",
"chars": 137,
"preview": "[main]\nhost = https://www.transifex.com\n\n[pidgin-sipe.mob]\nfile_filter = po/<lang>.po\nsource_file = po/pidgin-sipe.pot\ns"
},
{
"path": "AUTHORS",
"chars": 1611,
"preview": "Maintainers:\n\nStefan Becker <chemobejk at gmail dot com>\nJakub Adam <jakub dot adam at ktknet dot cz>\n\nRetired Maintaine"
},
{
"path": "COPYING",
"chars": 17987,
"preview": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc."
},
{
"path": "ChangeLog",
"chars": 48726,
"preview": "version 1.25.1 \"???\" (????-??-??)\n\t- Fixed #359: Incorrect build due to false negative configure checks (Stefan Becker)\n"
},
{
"path": "Makefile.am",
"chars": 786,
"preview": "SUBDIRS = src pixmaps po\n\nEXTRA_DIST = \\\n\tcontrib \\\n\tintltool-extract.in \\\n\tintltool-merge.in \\\n\tintltool-update.in \\\n\tp"
},
{
"path": "Makefile.mingw",
"chars": 2378,
"preview": "################################### tell Emacs this is a -*- makefile-gmake -*-\n#\n# Copyright (C) 2012-2014 SIPE Project"
},
{
"path": "NEWS",
"chars": 493,
"preview": "version 1.25.0 \"Buddy Idle Time, RTF\" (2019-10-12)\n\t- Feature #107: Provide idle start time for a buddy (Stefan Becker)\n"
},
{
"path": "README",
"chars": 10651,
"preview": "Introduction\n============\n\nSIPE is a third-party plugin for the Pidgin/Adium/Miranda/Telepathy\nmulti-protocol instant me"
},
{
"path": "TODO",
"chars": 743,
"preview": "Bugs:\n\nBig Targets:\n\t- Native telepahty backend\n\t- Desktop sharing/Live Meeting integration on Windows platform.\n\t- Upda"
},
{
"path": "VERSION",
"chars": 7,
"preview": "1.25.0\n"
},
{
"path": "autogen.sh",
"chars": 789,
"preview": "#! /bin/sh\n###############################################################################\n# Generate GITVERSION\n#######"
},
{
"path": "configure.ac",
"chars": 22519,
"preview": "dnl ensure recent enough version of Autoconf\nAC_PREREQ([2.69])\n\nAC_CONFIG_MACRO_DIRS([m4])\n\ndnl Use 'VERSION' files to g"
},
{
"path": "contrib/dbus/SipeHelper.pm",
"chars": 2493,
"preview": "#!/usr/bin/perl -w\n#\n# @file SipeHelper.pm\n#\n# pidgin-sipe\n#\n# Copyright (C) 2017 SIPE Project <http://sipe.sourceforge."
},
{
"path": "contrib/dbus/sipe-call-phone-number.pl",
"chars": 1379,
"preview": "#!/usr/bin/perl -w\n#\n# @file sipe-call-phone-number.pl\n#\n# pidgin-sipe\n#\n# Copyright (C) 2017 SIPE Project <http://sipe."
},
{
"path": "contrib/dbus/sipe-join-conference-with-organizer-and-id.pl",
"chars": 1475,
"preview": "#!/usr/bin/perl -w\n#\n# @file sipe-join-conference-with-organizer-and-id.pl\n#\n# pidgin-sipe\n#\n# Copyright (C) 2017 SIPE P"
},
{
"path": "contrib/dbus/sipe-join-conference-with-uri.pl",
"chars": 1414,
"preview": "#!/usr/bin/perl -w\n#\n# @file sipe-join-conference-with-uri.pl\n#\n# pidgin-sipe\n#\n# Copyright (C) 2017 SIPE Project <http:"
},
{
"path": "contrib/dbus/sipe-republish-calendar.pl",
"chars": 1258,
"preview": "#!/usr/bin/perl -w\n#\n# @file sipe-republish-calendar.pl\n#\n# pidgin-sipe\n#\n# Copyright (C) 2017 SIPE Project <http://sipe"
},
{
"path": "contrib/dbus/sipe-reset-status.pl",
"chars": 1229,
"preview": "#!/usr/bin/perl -w\n#\n# @file sipe-reset-status.pl\n#\n# pidgin-sipe\n#\n# Copyright (C) 2017 SIPE Project <http://sipe.sourc"
},
{
"path": "contrib/debian/changelog",
"chars": 37755,
"preview": "pidgin-sipe (1.25.0-1) unstable; urgency=low\n\n * New version 1.25.0 \"Buddy Idle Time, RTF\" (2019-10-12)\n\t- Feature #107"
},
{
"path": "contrib/debian/compat",
"chars": 2,
"preview": "5\n"
},
{
"path": "contrib/debian/control",
"chars": 1165,
"preview": "Source: pidgin-sipe\nSection: misc\nPriority: optional\nMaintainer: Anibal Avelar <aavelar@cofradia.org>\nHomepage: http://s"
},
{
"path": "contrib/debian/copyright",
"chars": 2032,
"preview": "This work was packaged for Debian by:\n\n Anibal Avelar <aavelar@cofradia.org> on Wed, 13 Jun 2007 19:12:35 -0500.\n\nIt wa"
},
{
"path": "contrib/debian/docs",
"chars": 35,
"preview": "AUTHORS\nChangeLog\nNEWS\nREADME\nTODO\n"
},
{
"path": "contrib/debian/rules",
"chars": 1696,
"preview": "#!/usr/bin/make -f\n\ninclude /usr/share/cdbs/1/class/autotools.mk\ninclude /usr/share/cdbs/1/rules/debhelper.mk\n\nHAVE_APPS"
},
{
"path": "contrib/debug/parse_log.pl",
"chars": 4791,
"preview": "#!/usr/bin/perl -w\nuse 5.010;\nuse strict;\nuse warnings;\n\nuse File::Spec;\nuse Getopt::Long;\nuse Pod::Usage;\n\n# Command li"
},
{
"path": "contrib/debug/parse_valgrind.pl",
"chars": 2151,
"preview": "#!/usr/bin/perl -w\nuse 5.010;\nuse strict;\nuse warnings;\n\n###############################################################"
},
{
"path": "contrib/mingw-cross-compile/README.txt",
"chars": 2931,
"preview": "Introduction\n============\n\nWith these instructions you will be able to generate libsipe.dll on a Linux\nmachine that is c"
},
{
"path": "contrib/mingw-cross-compile/fetch.sh",
"chars": 4134,
"preview": "#!/bin/bash\n#\n# Based on:\n#\n# http://code.google.com/p/pidgin-privacy-please/wiki/HowToCrossCompileForWindowsAgainstLa"
},
{
"path": "contrib/mingw-cross-compile/local.mak",
"chars": 1213,
"preview": "#\n# Fedora 19+: upgrade to mingw32-gcc 4.8.x breaks backward compatibility.\n# Fetch F18 packages of mingw32-"
},
{
"path": "contrib/opensuse-build-service/PKGBUILD",
"chars": 613,
"preview": "# Maintainer: SIPE Project <http://sipe.sourceforge.net/>\n\npkgname=pidgin-sipe\npkgver=1.25.0\npkgrel=1\npkgdesc=\"Libpurple"
},
{
"path": "contrib/opensuse-build-service/generate_debian.sh",
"chars": 2312,
"preview": "#!/bin/bash\nabort() {\n echo \"$0: $1 - Aborting\"\n exit 1\n}\ncleanup() {\n rm -rf debian\n abort \"$1\"\n}\n\n# Sanity"
},
{
"path": "contrib/opensuse-build-service/generate_nsi.pl",
"chars": 1088,
"preview": "#!/usr/bin/perl\nuse 5.008;\nuse strict;\nuse warnings;\n\n# check commandline arguments\ndie \"Usage: $0 <LINGUAS file> < nsi-"
},
{
"path": "contrib/opensuse-build-service/pidgin-sipe-freerdp2.dsc",
"chars": 646,
"preview": "Format: 3.0 (quilt)\nSource: pidgin-sipe\nVersion: 1.25.0-1\nBinary: pidgin-sipe\nMaintainer: pidgin-sipe <jduser@noreply.co"
},
{
"path": "contrib/opensuse-build-service/pidgin-sipe-gstreamer1.dsc",
"chars": 632,
"preview": "Format: 3.0 (quilt)\nSource: pidgin-sipe\nVersion: 1.25.0-1\nBinary: pidgin-sipe\nMaintainer: pidgin-sipe <jduser@noreply.co"
},
{
"path": "contrib/opensuse-build-service/pidgin-sipe-telepathy.dsc",
"chars": 509,
"preview": "Format: 3.0 (quilt)\nSource: pidgin-sipe\nVersion: 1.25.0-1\nBinary: pidgin-sipe\nMaintainer: pidgin-sipe <jduser@noreply.co"
},
{
"path": "contrib/opensuse-build-service/pidgin-sipe.changes",
"chars": 31055,
"preview": "-------------------------------------------------------------------\nSat Oct 12 08:44:00 UTC 2019 - chemobejk@gmail.com\n\n"
},
{
"path": "contrib/opensuse-build-service/pidgin-sipe.nsi.template",
"chars": 2621,
"preview": ";NSIS Modern User Interface\n;Basic Example Script\n;Written by Joost Verburg\n\n;--------------------------------\n;Include "
},
{
"path": "contrib/opensuse-build-service/pidgin-sipe.spec",
"chars": 28424,
"preview": "#\n# OBS SPEC file to generate a RPM for pidgin-sipe.\n#\n# It has support for:\n#\n# RedHat family (CentOS, Fedora, RHEL"
},
{
"path": "contrib/rpm/pidgin-sipe.spec",
"chars": 19257,
"preview": "#\n# Example SPEC file to generate a RPM for pidgin-sipe.\n# It should work out-of-the-box for any current Fedora or RHEL "
},
{
"path": "git-build.sh",
"chars": 1315,
"preview": "#!/bin/sh\n#\n# Convenience to (re-)build pidgin-sipe from git repository.\n#\n# Example: add configure parameters\n#\n# $ ./"
},
{
"path": "git-snapshot.sh",
"chars": 1246,
"preview": "#!/bin/sh\n#\n# Take a snapshot of the current pidgin-sipe git HEAD from the mob branch.\n#\n# You can specify the path to a"
},
{
"path": "pidgin-sipe.nsi",
"chars": 6055,
"preview": ";NSIS Modern User Interface\n;Basic Example Script\n;Written by Joost Verburg\n\n;--------------------------------\n;Include "
},
{
"path": "pidgin-sipe.wxs",
"chars": 10370,
"preview": "<?xml version=\"1.0\" encoding=\"windows-1252\"?>\n<Wix xmlns=\"http://schemas.microsoft.com/wix/2006/wi\">\n <!-- online GUID "
},
{
"path": "pixmaps/16/Makefile.am",
"chars": 92,
"preview": "pixmapsize = 16\npixmapinst = 16x16\npixmapext = png\ninclude $(srcdir)/../Makefile.common.am\n"
},
{
"path": "pixmaps/22/Makefile.am",
"chars": 92,
"preview": "pixmapsize = 22\npixmapinst = 22x22\npixmapext = png\ninclude $(srcdir)/../Makefile.common.am\n"
},
{
"path": "pixmaps/24/Makefile.am",
"chars": 92,
"preview": "pixmapsize = 24\npixmapinst = 24x24\npixmapext = png\ninclude $(srcdir)/../Makefile.common.am\n"
},
{
"path": "pixmaps/32/Makefile.am",
"chars": 92,
"preview": "pixmapsize = 32\npixmapinst = 32x32\npixmapext = png\ninclude $(srcdir)/../Makefile.common.am\n"
},
{
"path": "pixmaps/48/Makefile.am",
"chars": 92,
"preview": "pixmapsize = 48\npixmapinst = 48x48\npixmapext = png\ninclude $(srcdir)/../Makefile.common.am\n"
},
{
"path": "pixmaps/Makefile.am",
"chars": 105,
"preview": "SUBDIRS = 16 22 24 32 48 scalable\n\nEXTRA_DIST = \\\n\tMakefile.mingw\n\nMAINTAINERCLEANFILES = \\\n\tMakefile.in\n"
},
{
"path": "pixmaps/Makefile.common.am",
"chars": 487,
"preview": "MAINTAINERCLEANFILES = Makefile.in\nEXTRA_DIST = sipe.$(pixmapext)\n\nif SIPE_INCLUDE_PURPLE\npidginprotocolpixdir"
},
{
"path": "pixmaps/Makefile.mingw",
"chars": 877,
"preview": "#\n# Makefile.mingw\n#\n# Description: Makefile for win32 (mingw) version of Pidgin pixmaps\n#\n\nOLD_PIDGIN_TREE_TOP := $(PID"
},
{
"path": "pixmaps/scalable/Makefile.am",
"chars": 188,
"preview": "pixmapsize = scalable\npixmapinst = scalable\npixmapext = svg\ninclude $(srcdir)/../Makefile.common.am\n\n# original artwork"
},
{
"path": "po/LINGUAS",
"chars": 96,
"preview": "ar\ncs\nda\nde\nel\nes\nfi\nfr\nfr_CA\nhi\nhu\nit\nja\nko\nlt\nnb\nnl\npl\npt\npt_BR\nro\nru\nsv\nta\nte\ntr\nzh_CN\nzh_TW\n"
},
{
"path": "po/Makefile.mingw",
"chars": 1029,
"preview": "# Makefile.mingw\n#\n# Description: Makefile to generate mo files\n#\n\nOLD_PIDGIN_TREE_TOP := $(PIDGIN_TREE_TOP)\nPIDGIN_TREE"
},
{
"path": "po/POTFILES.in",
"chars": 926,
"preview": "# List of source files containing translatable strings.\n[encoding: UTF-8]\n\nsrc/adium/ESPurpleSIPEAccount.h\nsrc/core/sip-"
},
{
"path": "po/ar.po",
"chars": 31316,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/cs.po",
"chars": 39173,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/da.po",
"chars": 38648,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/de.po",
"chars": 40465,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/el.po",
"chars": 30843,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/es.po",
"chars": 39605,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/fi.po",
"chars": 31952,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/fr.po",
"chars": 40087,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/fr_CA.po",
"chars": 30858,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/hi.po",
"chars": 32004,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/hu.po",
"chars": 38103,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/it.po",
"chars": 37532,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/ja.po",
"chars": 31974,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/ko.po",
"chars": 31089,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/lt.po",
"chars": 39420,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/nb.po",
"chars": 34432,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/nl.po",
"chars": 39246,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/pidgin-sipe.pot",
"chars": 38148,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/pl.po",
"chars": 39706,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/pt.po",
"chars": 39643,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/pt_BR.po",
"chars": 39863,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/ro.po",
"chars": 37983,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/ru.po",
"chars": 39843,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/sv.po",
"chars": 38903,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/ta.po",
"chars": 31787,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/te.po",
"chars": 30844,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/tr.po",
"chars": 38574,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/transifex-pot-fixup.pl",
"chars": 2001,
"preview": "#!/usr/bin/perl -w\n#\n# Fix up pidgin-sipe.pot after an update to make it acceptable for Transifex\n#\n# Transifex update p"
},
{
"path": "po/zh_CN.po",
"chars": 33684,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "po/zh_TW.po",
"chars": 32749,
"preview": "# (English) English User Interface strings for pidgin-sipe.\n# Copyright (C) 2008-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "siplcs.vcxproj",
"chars": 17064,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "siplcs.vcxproj.filters",
"chars": 13162,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbui"
},
{
"path": "src/Makefile.am",
"chars": 212,
"preview": "SUBDIRS = core api\n\nif SIPE_INCLUDE_PURPLE\nSUBDIRS += purple\nendif\n\nif SIPE_INCLUDE_TELEPATHY\nSUBDIRS += telepathy\nendif"
},
{
"path": "src/Makefile.mingw",
"chars": 445,
"preview": "OLD_PIDGIN_TREE_TOP := $(PIDGIN_TREE_TOP)\nPIDGIN_TREE_TOP := ../$(OLD_PIDGIN_TREE_TOP)\n\ninclude $(PIDGIN_TREE_TOP)/libpu"
},
{
"path": "src/adium/DCPurpleSIPEJoinChatViewController.h",
"chars": 591,
"preview": "//\n// DCPurpleSIPEJoinChatViewController.h\n// SIPEAdiumPlugin\n//\n// Created by Michael Lamb on 02/10/12.\n// Copyrigh"
},
{
"path": "src/adium/DCPurpleSIPEJoinChatViewController.m",
"chars": 6052,
"preview": "//\n// DCPurpleSIPEJoinChatViewController.m\n// SIPEAdiumPlugin\n//\n// Copyright (C) 2015 SIPE Project <http://sipe.sour"
},
{
"path": "src/adium/ESPurpleSIPEAccount.h",
"chars": 1544,
"preview": "//\n// ESSIPEAccount.h\n// SIPEAdiumPlugin\n//\n// Created by Matt Meissner on 10/30/09.\n// Modified by Michael Lamb on "
},
{
"path": "src/adium/ESPurpleSIPEAccount.m",
"chars": 12365,
"preview": "//\n// ESSIPEAccount.m\n// SIPEAdiumPlugin\n//\n// Copyright (C) 2015 SIPE Project <http://sipe.sourceforge.net/>\n//\n// "
},
{
"path": "src/adium/ESSIPEAccountViewController.h",
"chars": 1169,
"preview": "//\n// ESSIPEAccountViewController.h\n// SIPEAdiumPlugin\n//\n// Created by Matt Meissner on 10/30/09.\n// Modified by Mi"
},
{
"path": "src/adium/ESSIPEAccountViewController.m",
"chars": 5303,
"preview": "//\n// ESSIPEAccountViewController.m\n// SIPEAdiumPlugin\n//\n// Created by Matt Meissner on 10/30/09.\n// Modified by Mi"
},
{
"path": "src/adium/ESSIPELibpurpleServicePlugin.h",
"chars": 427,
"preview": "//\n// ESSIPELibpurpleServicePlugin.h\n// SIPEAdiumPlugin\n//\n// Created by Matt Meissner on 10/30/09.\n// Modified by M"
},
{
"path": "src/adium/ESSIPELibpurpleServicePlugin.m",
"chars": 1100,
"preview": "//\n// ESSIPELibpurpleServicePlugin.m\n// SIPEAdiumPlugin\n//\n// Copyright (C) 2015 SIPE Project <http://sipe.sourceforg"
},
{
"path": "src/adium/ESSIPEService.h",
"chars": 330,
"preview": "//\n// ESSIPEService.h\n// SIPEAdiumPlugin\n//\n// Created by Matt Meissner on 10/30/09.\n// Modified by Michael Lamb on "
},
{
"path": "src/adium/ESSIPEService.m",
"chars": 3714,
"preview": "//\n// ESSIPEService.m\n// SIPEAdiumPlugin\n//\n// Created by Matt Meissner on 10/30/09.\n// Modified by Michael Lamb on "
},
{
"path": "src/adium/English.lproj/DCPurpleSIPEJoinChatView.xib",
"chars": 33969,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"8.00\">\n\t<data>\n\t\t<"
},
{
"path": "src/adium/English.lproj/ESSIPEAccountView.xib",
"chars": 29785,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"3"
},
{
"path": "src/adium/English.lproj/InfoPlist.strings",
"chars": 46,
"preview": "/* Localized versions of Info.plist keys */\n\n"
},
{
"path": "src/adium/Info.plist",
"chars": 980,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "src/adium/PurpleDefaultsSIPE.plist",
"chars": 525,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "src/adium/README.Adium",
"chars": 6038,
"preview": "Compiling SIPE plugin for Adium\n===============================\n\nTo compile the Adium plugin you will need Xcode and the"
},
{
"path": "src/adium/SIPEAdiumPlugin.xcodeproj/project.pbxproj",
"chars": 60672,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "src/adium/SIPEAdiumPlugin.xcodeproj/xcshareddata/xcschemes/SIPEAdiumPlugin.xcscheme",
"chars": 2817,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"0610\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "src/adium/SIPEAdiumPlugin.xcodeproj/xcshareddata/xcschemes/pidgin-sipe.xcscheme",
"chars": 2415,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"0610\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "src/adium/SIPEAdiumPlugin_Prefix.pch",
"chars": 162,
"preview": "//\n// Prefix header for all source files of the 'SIPEAdiumPlugin' target in the 'SIPEAdiumPlugin' project.\n//\n\n#ifdef __"
},
{
"path": "src/adium/check_release.sh",
"chars": 2081,
"preview": "#!/bin/bash\n#\n# Compare release contents with golden list to ensure release correctness\n#\nif [[ -z \"$1\" ]]; then\n ech"
},
{
"path": "src/adium/find_adium_build.sh",
"chars": 1352,
"preview": "#!/bin/sh\nset -e\n#set -x\n\n# remove old symlink setup\nrm -rf adium-frameworks\n\n# create empty directory to keep linker ha"
},
{
"path": "src/adium/openssl/libcrypto.0.9.8.tbd",
"chars": 98529,
"preview": "---\narchs: [ i386, x86_64 ]\nplatform: macosx\ninstall-name: /usr/lib/libcrypto.0.9.8.dylib\ncurrent-ve"
},
{
"path": "src/adium/openssl/opensslconf.h",
"chars": 7166,
"preview": "/* opensslconf.h */\n/* WARNING: Generated automatically from opensslconf.h.in by Configure. */\n\n/* OpenSSL was configure"
},
{
"path": "src/adium/xcconfigs/Base.xcconfig",
"chars": 1976,
"preview": "//\n// Base.xcconfig\n// SIPEAdiumPlugin\n//\n// Created by Lamb, Michael on 11/13/13.\n//\n//\n\nINFOPLIST_PREPROCESSOR_DEFI"
},
{
"path": "src/adium/xcconfigs/Debug-Release.xcconfig",
"chars": 159,
"preview": "//\n// Debug-Release.xcconfig\n// SIPEAdiumPlugin\n//\n// Created by Lamb, Michael on 11/13/13.\n//\n//\n#include \"Base.xcco"
},
{
"path": "src/adium/xcconfigs/Debug.xcconfig",
"chars": 239,
"preview": "//\n// Debug.xcconfig\n// SIPEAdiumPlugin\n//\n// Created by Lamb, Michael on 11/13/13.\n//\n//\n#include \"Base.xcconfig\"\n//"
},
{
"path": "src/adium/xcconfigs/Release.xcconfig",
"chars": 250,
"preview": "//\n// Release.xcconfig\n// SIPEAdiumPlugin\n//\n// Created by Lamb, Michael on 11/13/13.\n//\n//\n#include \"Base.xcconfig\"\n"
},
{
"path": "src/adium/xcconfigs/SIPEAdiumPlugin.xcconfig",
"chars": 749,
"preview": "//\n// SIPEAdiumPlugin.xcconfig\n// SIPEAdiumPlugin\n//\n// Created by Lamb, Michael on 11/13/13.\n//\n//\nPRODUCT_NAME = SI"
},
{
"path": "src/adium/xcconfigs/libpidgin-sipe.xcconfig",
"chars": 132,
"preview": "//\n// libpidgin-sipe.xcconfig\n// SIPEAdiumPlugin\n//\n// Created by Lamb, Michael on 11/13/13.\n//\n//\nPRODUCT_NAME = pid"
},
{
"path": "src/api/Makefile.am",
"chars": 131,
"preview": "MAINTAINERCLEANFILES = \\\n\tMakefile.in\n\nEXTRA_DIST = \\\n\tsipe-backend.h \\\n\tsipe-common.h \\\n\tsipe-core.h \\\n\tsipe-mime.h \\\n\t"
},
{
"path": "src/api/sipe-backend.h",
"chars": 41722,
"preview": "/**\n * @file sipe-backend.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2018 SIPE Project <http://sipe.sourceforge.net/>\n"
},
{
"path": "src/api/sipe-common.h",
"chars": 1577,
"preview": "/**\n * @file sipe-common.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2017 SIPE Project <http://sipe.sourceforge.net/>\n "
},
{
"path": "src/api/sipe-core.h",
"chars": 22063,
"preview": "/**\n * @file sipe-core.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2018 SIPE Project <http://sipe.sourceforge.net/>\n *\n"
},
{
"path": "src/api/sipe-mime.h",
"chars": 2196,
"preview": "/**\n * @file sipe-mime.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2015 SIPE Project <http://sipe.sourceforge.net/>\n *\n"
},
{
"path": "src/api/sipe-nls.h",
"chars": 1400,
"preview": "/**\n * @file sipe-nls.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2009-2018 SIPE Project <http://sipe.sourceforge.net/>\n *\n "
},
{
"path": "src/core/Makefile.am",
"chars": 7765,
"preview": "EXTRA_DIST = \\\n\tMakefile.mingw \\\n\tlibsiperc.rc.in\n\nnoinst_LTLIBRARIES = \\\n\tlibsipe_core.la \\\n\tlibsipe_core_crypto.la \\\n\t"
},
{
"path": "src/core/Makefile.mingw",
"chars": 6087,
"preview": "################################### tell Emacs this is a -*- makefile-gmake -*-\n#\n# Copyright (C) 2011-2018 SIPE Project"
},
{
"path": "src/core/libsiperc.rc.in",
"chars": 898,
"preview": "#include <winver.h>\n\nVS_VERSION_INFO VERSIONINFO\n FILEVERSION #SIPE_VERSION#,0\n PRODUCTVERSION #SIPE_VERSION#,0\n FILE"
},
{
"path": "src/core/md4.c",
"chars": 4462,
"preview": "/* vim:set ts=2 sw=2 et cindent: */\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v"
},
{
"path": "src/core/md4.h",
"chars": 1099,
"preview": "/* vim:set ts=2 sw=2 et cindent: */\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v"
},
{
"path": "src/core/sdpmsg.c",
"chars": 22755,
"preview": "/**\n * @file sdpmsg.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2013-2017 SIPE Project <http://sipe.sourceforge.net/>\n * Cop"
},
{
"path": "src/core/sdpmsg.h",
"chars": 2537,
"preview": "/**\n * @file sdpmsg.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2014-2017 SIPE Project <http://sipe.sourceforge.net/>\n * Cop"
},
{
"path": "src/core/sip-csta.c",
"chars": 20634,
"preview": "/**\n * @file sip-csta.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-11 SIPE Project <http://sipe.sourceforge.net/>\n * Cop"
},
{
"path": "src/core/sip-csta.h",
"chars": 2348,
"preview": "/**\n * @file sip-csta.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2011 SIPE Project <http://sipe.sourceforge.net/>\n * Copyri"
},
{
"path": "src/core/sip-sec-basic.c",
"chars": 3682,
"preview": "/**\n * @file sip-sec-basic.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2013-2015 SIPE Project <http://sipe.sourceforge.net/>"
},
{
"path": "src/core/sip-sec-basic.h",
"chars": 897,
"preview": "/**\n * @file sip-sec-basic.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2013 SIPE Project <http://sipe.sourceforge.net/>\n *\n "
},
{
"path": "src/core/sip-sec-digest-tests.c",
"chars": 6797,
"preview": "/**\n * @file sip-sec-digest-test.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2013-2019 SIPE Project <http://sipe.sourceforge"
},
{
"path": "src/core/sip-sec-digest.c",
"chars": 5871,
"preview": "/**\n * @file sip-sec-digest.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2013 SIPE Project <http://sipe.sourceforge.net/>\n *\n"
},
{
"path": "src/core/sip-sec-digest.h",
"chars": 1294,
"preview": "/**\n * @file sip-sec-digest.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2013 SIPE Project <http://sipe.sourceforge.net/>\n *\n"
},
{
"path": "src/core/sip-sec-gssapi.c",
"chars": 22185,
"preview": "/**\n * @file sip-sec-gssapi.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2019 SIPE Project <http://sipe.sourceforge.net/"
},
{
"path": "src/core/sip-sec-gssapi.h",
"chars": 998,
"preview": "/**\n * @file sip-sec-gssapi.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010,2012 SIPE Project <http://sipe.sourceforge.net/"
},
{
"path": "src/core/sip-sec-mech.h",
"chars": 3323,
"preview": "/**\n * @file sip-sec-mech.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2011-2015 SIPE Project <http://sipe.sourceforge.net/>\n"
},
{
"path": "src/core/sip-sec-negotiate.c",
"chars": 7107,
"preview": "/**\n * @file sip-sec-negotiate.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2013-2015 SIPE Project <http://sipe.sourceforge.n"
},
{
"path": "src/core/sip-sec-negotiate.h",
"chars": 905,
"preview": "/**\n * @file sip-sec-negotiate.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2013 SIPE Project <http://sipe.sourceforge.net/>\n"
},
{
"path": "src/core/sip-sec-ntlm-analyzer.c",
"chars": 2677,
"preview": "/**\n * @file sip-sec-ntlm-analyzer.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2013-2017 SIPE Project <http://sipe.sourcefor"
},
{
"path": "src/core/sip-sec-ntlm-tests.c",
"chars": 36723,
"preview": "/**\n * @file sipe-sec-ntlm-tests.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2011-2019 SIPE Project <http://sipe.sourceforge"
},
{
"path": "src/core/sip-sec-ntlm.c",
"chars": 62293,
"preview": "/**\n * @file sip-sec-ntlm.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2019 SIPE Project <http://sipe.sourceforge.net/>\n"
},
{
"path": "src/core/sip-sec-ntlm.h",
"chars": 1056,
"preview": "/**\n * @file sip-sec-ntlm.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-12 SIPE Project <http://sipe.sourceforge.net/>\n *"
},
{
"path": "src/core/sip-sec-sspi.c",
"chars": 12192,
"preview": "/**\n * @file sip-sec-sspi.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2011-2015 SIPE Project <http://sipe.sourceforge.net/>\n"
},
{
"path": "src/core/sip-sec-sspi.h",
"chars": 987,
"preview": "/**\n * @file sip-sec-sspi.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2012 SIPE Project <http://sipe.sourceforge.net/>\n * Co"
},
{
"path": "src/core/sip-sec-tls-dsk.c",
"chars": 6928,
"preview": "/**\n * @file sip-sec-tls-dsk.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2011-2015 SIPE Project <http://sipe.sourceforge.net"
},
{
"path": "src/core/sip-sec-tls-dsk.h",
"chars": 947,
"preview": "/**\n * @file sip-sec-tls-dsk.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2011-12 SIPE Project <http://sipe.sourceforge.net/>"
},
{
"path": "src/core/sip-sec.c",
"chars": 9270,
"preview": "/**\n * @file sip-sec.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2015 SIPE Project <http://sipe.sourceforge.net/>\n * Co"
},
{
"path": "src/core/sip-sec.h",
"chars": 4772,
"preview": "/**\n * @file sip-sec.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2015 SIPE Project <http://sipe.sourceforge.net/>\n * Co"
},
{
"path": "src/core/sip-soap.c",
"chars": 5248,
"preview": "/**\n * @file sip-soap.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2011-2016 SIPE Project <http://sipe.sourceforge.net/>\n *\n "
},
{
"path": "src/core/sip-soap.h",
"chars": 3416,
"preview": "/**\n * @file sip-soap.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2011 SIPE Project <http://sipe.sourceforge.net/>\n *\n *\n * "
},
{
"path": "src/core/sip-transport.c",
"chars": 67636,
"preview": "/**\n * @file sip-transport.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2019 SIPE Project <http://sipe.sourceforge.net/>"
},
{
"path": "src/core/sip-transport.h",
"chars": 4411,
"preview": "/**\n * @file sip-transport.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2019 SIPE Project <http://sipe.sourceforge.net/>"
},
{
"path": "src/core/sipe-appshare-client.h",
"chars": 1431,
"preview": "/**\n * @file sipe-appshare-client.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2016 SIPE Project <http://sipe.sourceforge.net"
},
{
"path": "src/core/sipe-appshare-remmina.c",
"chars": 4054,
"preview": "/**\n * @file sipe-appshare-remmina.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2014-2016 SIPE Project <http://sipe.sourcefor"
},
{
"path": "src/core/sipe-appshare-xfreerdp.c",
"chars": 2921,
"preview": "/**\n * @file sipe-appshare-xfreerdp.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2014-2018 SIPE Project <http://sipe.sourcefo"
},
{
"path": "src/core/sipe-appshare.c",
"chars": 28369,
"preview": "/**\n * @file sipe-appshare.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2014-2019 SIPE Project <http://sipe.sourceforge.net/>"
},
{
"path": "src/core/sipe-appshare.h",
"chars": 1118,
"preview": "/**\n * @file sipe-appshare.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2014-2018 SIPE Project <http://sipe.sourceforge.net/>"
},
{
"path": "src/core/sipe-buddy.c",
"chars": 68493,
"preview": "/**\n * @file sipe-buddy.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2019 SIPE Project <http://sipe.sourceforge.net/>\n *"
},
{
"path": "src/core/sipe-buddy.h",
"chars": 8268,
"preview": "/**\n * @file sipe-buddy.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2016 SIPE Project <http://sipe.sourceforge.net/>\n *"
},
{
"path": "src/core/sipe-cal.c",
"chars": 31943,
"preview": "/**\n * @file sipe-cal.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2018 SIPE Project <http://sipe.sourceforge.net/>\n * C"
},
{
"path": "src/core/sipe-cal.h",
"chars": 4685,
"preview": "/**\n * @file sipe-cal.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2015 SIPE Project <http://sipe.sourceforge.net/>\n * C"
},
{
"path": "src/core/sipe-cert-crypto-nss.c",
"chars": 12367,
"preview": "/**\n * @file sipe-cert-crypto-nss.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2011-2012 SIPE Project <http://sipe.sourceforg"
},
{
"path": "src/core/sipe-cert-crypto-openssl.c",
"chars": 9396,
"preview": "/**\n * @file sipe-cert-crypto-openssl.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2013-2017 SIPE Project <http://sipe.source"
},
{
"path": "src/core/sipe-cert-crypto.h",
"chars": 4441,
"preview": "/**\n * @file sipe-cert-crypto.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2011-12 SIPE Project <http://sipe.sourceforge.net/"
},
{
"path": "src/core/sipe-certificate.c",
"chars": 8297,
"preview": "/**\n * @file sipe-certificate.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2011-2016 SIPE Project <http://sipe.sourceforge.ne"
},
{
"path": "src/core/sipe-certificate.h",
"chars": 2158,
"preview": "/**\n * @file sipe-certificate.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2011 SIPE Project <http://sipe.sourceforge.net/>\n "
},
{
"path": "src/core/sipe-chat.c",
"chars": 14240,
"preview": "/**\n * @file sipe-chat.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2009-2019 SIPE Project <http://sipe.sourceforge.net/>\n *\n"
},
{
"path": "src/core/sipe-chat.h",
"chars": 2551,
"preview": "/**\n * @file sipe-chat.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2009-2017 SIPE Project <http://sipe.sourceforge.net/>\n *\n"
},
{
"path": "src/core/sipe-conf.c",
"chars": 46394,
"preview": "/**\n * @file sipe-conf.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2019 SIPE Project <http://sipe.sourceforge.net/>\n * "
},
{
"path": "src/core/sipe-conf.h",
"chars": 4325,
"preview": "/**\n * @file sipe-conf.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2009-10 SIPE Project <http://sipe.sourceforge.net/>\n *\n *"
},
{
"path": "src/core/sipe-core-private.h",
"chars": 7717,
"preview": "/**\n * @file sipe-core-private.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2018 SIPE Project <http://sipe.sourceforge.n"
},
{
"path": "src/core/sipe-core.c",
"chars": 18958,
"preview": "/**\n * @file sipe-core.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2019 SIPE Project <http://sipe.sourceforge.net/>\n *\n"
},
{
"path": "src/core/sipe-crypt-nss.c",
"chars": 7581,
"preview": "/**\n * @file sipe-crypt-nss.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2011-2015 SIPE Project <http://sipe.sourceforge.net/"
},
{
"path": "src/core/sipe-crypt-openssl.c",
"chars": 6180,
"preview": "/**\n * @file sipe-crypt-openssl.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2013-2017 SIPE Project <http://sipe.sourceforge."
},
{
"path": "src/core/sipe-crypt.h",
"chars": 2664,
"preview": "/**\n * @file sipe-crypt.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2015 SIPE Project <http://sipe.sourceforge.net/>\n *"
},
{
"path": "src/core/sipe-dialog.c",
"chars": 7583,
"preview": "/**\n * @file sipe-dialog.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2009-2019 SIPE Project <http://sipe.sourceforge.net/>\n "
},
{
"path": "src/core/sipe-dialog.h",
"chars": 3759,
"preview": "/**\n * @file sipe-dialog.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2009-11 SIPE Project <http://sipe.sourceforge.net/>\n *\n"
},
{
"path": "src/core/sipe-digest-nss.c",
"chars": 7007,
"preview": "/**\n * @file sipe-digest-nss.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2011-2016 SIPE Project <http://sipe.sourceforge.net"
},
{
"path": "src/core/sipe-digest-openssl.c",
"chars": 4263,
"preview": "/**\n * @file sipe-digest-openssl.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2013-2017 SIPE Project <http://sipe.sourceforge"
},
{
"path": "src/core/sipe-digest.h",
"chars": 2497,
"preview": "/**\n * @file sipe-digest.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2016 SIPE Project <http://sipe.sourceforge.net/>\n "
},
{
"path": "src/core/sipe-domino.c",
"chars": 17736,
"preview": "/**\n * @file sipe-domino.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2017 SIPE Project <http://sipe.sourceforge.net/>\n "
},
{
"path": "src/core/sipe-domino.h",
"chars": 1131,
"preview": "/**\n * @file sipe-domino.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010 pier11 <pier11@operamail.com>\n *\n * This program i"
},
{
"path": "src/core/sipe-ews-autodiscover.c",
"chars": 11791,
"preview": "/**\n * @file sipe-ews-autodiscover.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2013-2015 SIPE Project <http://sipe.sourcefor"
},
{
"path": "src/core/sipe-ews-autodiscover.h",
"chars": 2145,
"preview": "/**\n * @file sipe-ews-autodiscover.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2013 SIPE Project <http://sipe.sourceforge.ne"
},
{
"path": "src/core/sipe-ews.c",
"chars": 16485,
"preview": "/**\n * @file sipe-ews.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2015 SIPE Project <http://sipe.sourceforge.net/>\n * C"
},
{
"path": "src/core/sipe-ews.h",
"chars": 1374,
"preview": "/**\n * @file sipe-ews.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010 SIPE Project <http://sipe.sourceforge.net/>\n * Copyri"
},
{
"path": "src/core/sipe-ft-lync.c",
"chars": 22351,
"preview": "/**\n * @file sipe-ft-lync.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2014-2019 SIPE Project <http://sipe.sourceforge.net/>\n"
},
{
"path": "src/core/sipe-ft-lync.h",
"chars": 1228,
"preview": "/**\n * @file sipe-ft-lync.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2014-2015 SIPE Project <http://sipe.sourceforge.net/>\n"
},
{
"path": "src/core/sipe-ft-tftp.c",
"chars": 15426,
"preview": "/**\n * @file sipe-ft-tftp.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2019 SIPE Project <http://sipe.sourceforge.net/>\n"
},
{
"path": "src/core/sipe-ft-tftp.h",
"chars": 1369,
"preview": "/**\n * @file sipe-ft-tftp.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2014-2015 SIPE Project <http://sipe.sourceforge.net/>\n"
},
{
"path": "src/core/sipe-ft.c",
"chars": 14153,
"preview": "/**\n * @file sipe-ft.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010-2016 SIPE Project <http://sipe.sourceforge.net/>\n * Co"
},
{
"path": "src/core/sipe-ft.h",
"chars": 3552,
"preview": "/**\n * @file sipe-ft.h\n *\n * pidgin-sipe\n *\n * Copyright (C) 2010 SIPE Project <http://sipe.sourceforge.net/>\n * Copyrig"
},
{
"path": "src/core/sipe-generic-tests.c",
"chars": 4698,
"preview": "/**\n * @file sipe-generic-tests.c\n *\n * pidgin-sipe\n *\n * Copyright (C) 2019 SIPE Project <http://sipe.sourceforge.net/>"
}
]
// ... and 139 more files (download for full content)
About this extraction
This page contains the full source code of the tieto/sipe GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 339 files (3.8 MB), approximately 1.0M tokens, and a symbol index with 3833 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.