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> | |||
<a href="http://liboauth.svn.sourceforge.net/viewvc/liboauth/trunk/ ChangeLog?revision=HEAD&view=markup">Changelog</a>. | <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/ |