mainpage.dox   mainpage.dox 
/** /**
@mainpage OAuth library functions @mainpage OAuth library functions
\image html libOAuth.png "libOAuth"
@section intro Introduction @section intro Introduction
liboauth is a collection of POSIX-c functions implementing the <a href="ht tp://oauth.net/">OAuth</a> Core <a href="http://tools.ietf.org/html/rfc5849 ">RFC 5849</a> standard. liboauth is a collection of POSIX-c functions implementing the <a href="ht tp://oauth.net/">OAuth</a> Core <a href="http://tools.ietf.org/html/rfc5849 ">RFC 5849</a> standard.
liboauth provides functions to escape and encode parameters according to O Auth specification and offers high-level functionality to sign requests or verify OAuth signatures as well as perform HTTP requests. liboauth provides functions to escape and encode parameters according to O Auth specification and offers high-level functionality to sign requests or verify OAuth signatures as well as perform HTTP requests.
liboauth depends on either on the <a href="http://openssl.org/">OpenSSL</a > library or on liboauth depends on either on the <a href="http://openssl.org/">OpenSSL</a > library or on
<a href="http://www.mozilla.org/projects/security/pki/nss/">NSS</a> (Mozil la's Network Security Services) <a href="http://www.mozilla.org/projects/security/pki/nss/">NSS</a> (Mozil la's Network Security Services)
, which are used for generating the hash/signature, and optionally <a href ="http://curl.haxx.se/libcurl/c/">libcurl</a> for issuing HTTP requests. , which are used for generating the hash/signature, and optionally <a href ="http://curl.haxx.se/libcurl/c/">libcurl</a> for issuing HTTP requests.
The source includes example code and a self-tests based on <a href="http:/ /wiki.oauth.net/TestCases">http://wiki.oauth.net/TestCases</a>. The library has been tested against the http://oauth-sandbox.mediamatic.nl (now offlin e) and http://term.ie/oauth/example test servers using commandline-cURL, li bcurl and a QT4.3.2 QHttp C++ application on win32 (mingw), gnu/Linux and M ac/OSX. The source includes example code and a self-tests based on <a href="http:/ /wiki.oauth.net/TestCases">http://wiki.oauth.net/TestCases</a>. The library has been tested against the http://oauth-sandbox.mediamatic.nl (now offlin e) and http://term.ie/oauth/example test servers using commandline-cURL, li bcurl and a QT4.3.2 QHttp C++ application on win32 (mingw), gnu/Linux and M ac/OSX.
skipping to change at line 36 skipping to change at line 34
If <a href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</a> is availabl e, the documentation can be rendered from the source by calling <tt>make do x</tt>. The http://wiki.oauth.net/TestCases scenarios in the example code c an be run with <tt>make check</tt>. If <a href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</a> is availabl e, the documentation can be rendered from the source by calling <tt>make do x</tt>. The http://wiki.oauth.net/TestCases scenarios in the example code c an be run with <tt>make check</tt>.
@section usage Usage @section usage Usage
Consult \ref oauth.h for a detailed reference of available functions. This documentation is also available as unix manual page: <tt>man 3 oauth</tt>. Consult \ref oauth.h for a detailed reference of available functions. This documentation is also available as unix manual page: <tt>man 3 oauth</tt>.
See <tt>tests/oauthtest.c</tt> for the self-test code and example. <tt>tes ts/oauthexample.c</tt> implements a simple hardcoded OAuth-consumer. See <tt>tests/oauthtest.c</tt> for the self-test code and example. <tt>tes ts/oauthexample.c</tt> implements a simple hardcoded OAuth-consumer.
If you simply want to calculate the OAuth-signature, all you need is \ref oauth_sign_url. If you simply want to calculate the OAuth-signature, all you need is \ref oauth_sign_url.
Future releases might include more elaborate usage information: Feel free to ask questions. Future releases might include more elaborate usage information: Feel free to ask questions.
<a href="http://rg42.org/oss/oauth/">oauth-utils</a> includes a command-li <a href="http://gareus.org/oss/oauth/">oauth-utils</a> includes a command-
ne OAuth-consumer and signature-verification tool using liboauth. line OAuth-consumer and signature-verification tool using liboauth.
@section usage Built-in HTTP client
The curl wrapper interface should never have been part of libOauth. It came
in handy during initial development and test deployments, and by the time
I wanted to remove it, there were already too many users...
It is still convenient for self-tests and getting started, but application
developers should rather aim for a dedicated optimized implementation appro
priate for each app.
oauth_http.c does not do any error-handling for instance, also SSL certific
ate checking and/or similar CURL options depend on the use-case at hand. Fu
rthermore the available curl options and parameters in oauth_http.c are lim
ited.
Therefore with the release of version 1.0.0 <strong>all <tt>oauth_http</tt>
functions</strong> have been marked as <strong>deprecated</strong>.
Developers of applications using <tt>oauth_http.c</tt> are advised to simpl
y copy the relevent code into their application (the MIT license is very pe
rmissive) and adopt it, if neccesary.
@section download Download @section download Download
Download Source: <a href="http://sourceforge.net/projects/liboauth/files/ liboauth-0.9.7.tar.gz/download">liboauth-0.9.7.tar.gz</a> Download Source: <a href="http://sourceforge.net/projects/liboauth/files/ liboauth-1.0.0.tar.gz/download">liboauth-1.0.0.tar.gz</a>
&nbsp;<a href="http://liboauth.svn.sourceforge.net/viewvc/liboauth/trunk/ ChangeLog?revision=HEAD&view=markup">Changelog</a>. &nbsp;<a href="http://liboauth.svn.sourceforge.net/viewvc/liboauth/trunk/ ChangeLog?revision=HEAD&view=markup">Changelog</a>.
liboauth is maintained at sourceforge subversion repositories: liboauth is maintained at sourceforge subversion repositories:
<a href="http://liboauth.svn.sourceforge.net/viewvc/liboauth/">Browse Web SVN</a> URL: <tt>https://liboauth.svn.sourceforge.net/svnroot/liboauth/</t t>, and mirrored at the <a href="http://oauth.googlecode.com/svn/code/c/lib oauth/">OAuth googlecode repository</a>. <a href="http://liboauth.svn.sourceforge.net/viewvc/liboauth/">Browse Web SVN</a> URL: <tt>https://liboauth.svn.sourceforge.net/svnroot/liboauth/</t t>, and mirrored at the <a href="http://oauth.googlecode.com/svn/code/c/lib oauth/">OAuth googlecode repository</a>.
<!-- <!--
The development branch is available from <tt>git://rg42.org/liboauth</tt> or download a <a href="http://rg42.org/gitweb/?p=liboauth.git;a=snapshot;h =head">snapshot</a>. The development branch is available from <tt>git://gareus.org/liboauth</t t> or download a <a href="http://gareus.org/gitweb/?p=liboauth.git;a=snapsh ot;h=head">snapshot</a>.
!--> !-->
@section bug Bugs @section bug Bugs
Send bug reports, patches or suggestions to robin @ gareus . org. Send bug reports, patches or suggestions to robin @ gareus . org.
Ask the <a href="http://oauth.net/community/">oauth-community</a> or join the <a href="http://groups.google.com/group/oauth/">mailing list</a> for di scussion. Ask the <a href="http://oauth.net/community/">oauth-community</a> or join the <a href="http://groups.google.com/group/oauth/">mailing list</a> for di scussion.
@section license License @section license License
The source-code of liboauth can be distributed under <a href="http://www.o pensource.org/licenses/mit-license.php">MIT License</a>, The source-code of liboauth can be distributed under <a href="http://www.o pensource.org/licenses/mit-license.php">MIT License</a>,
or at your option in terms of the the <a href="http://www.gnu.org/licenses /old-licenses/gpl-2.0.html">GNU General Public License</a>. or at your option in terms of the the <a href="http://www.gnu.org/licenses /old-licenses/gpl-2.0.html">GNU General Public License</a>.
skipping to change at line 69 skipping to change at line 78
Note: OpenSSL is not strictly compatible with the GPL license. Note: OpenSSL is not strictly compatible with the GPL license.
An exemption (to the GPL) allowing to link and redistribute liboauth with the OpenSSL library is is included in the source files. An exemption (to the GPL) allowing to link and redistribute liboauth with the OpenSSL library is is included in the source files.
More information is available in the More information is available in the
<a href="http://liboauth.svn.sourceforge.net/viewvc/liboauth/trunk/README? revision=HEAD&view=markup">README</a>. <a href="http://liboauth.svn.sourceforge.net/viewvc/liboauth/trunk/README? revision=HEAD&view=markup">README</a>.
You can avoid this whole issue by using NSS instead of OpenSSL, configurin g liboauth with <tt>--enable-nss</tt>. You can avoid this whole issue by using NSS instead of OpenSSL, configurin g liboauth with <tt>--enable-nss</tt>.
The Debian packaging that comes with the source-code is licensed under the GNU General Public License. The Debian packaging that comes with the source-code is licensed under the GNU General Public License.
MIT License (source-code): MIT License (source-code):
<pre> <pre>
Copyright 2007-2010 Robin Gareus Copyright 2007-2012 Robin Gareus
Permission is hereby granted, free of charge, to any person obtaining a c opy Permission is hereby granted, free of charge, to any person obtaining a c opy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rig hts in the Software without restriction, including without limitation the rig hts
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions: furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included i n The above copyright notice and this permission notice shall be included i n
all copies or substantial portions of the Software. all copies or substantial portions of the Software.
 End of changes. 5 change blocks. 
7 lines changed or deleted 26 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/