liboauth is a collection of c functions implementing the http://oauth.net API. liboauth provides functions to escape and encode stings according to OAuth specifications and offers high-level functionality built on top to sign requests or verify signatures using either NSS or OpenSSL for calculating the hash/signatures. The included documentation in the doc/ folder and example code from tests/ can also be found online at http://liboauth.sourceforge.net/ Send bug-reports, patches or suggestions to robin@gareus.org. or inquire information at http://groups.google.com/group/oauth/ == License and Notes == The source-code of liboauth can be distributed under MIT License, or at your option: in terms of the the GNU General Public License. see COPYING.MIT or COPYING.GPL for details. 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. for more information, see LICENSE.OpenSSL and http://lists.debian.org/debian-legal/2004/05/msg00595.html You can avoid this whole issue by using NSS instead of OpenSSL; configure with '--enable-nss'. The Debian packaging that comes with the source-code is licensed under the GNU General Public License. == Test and Example Code == After compilation `make check` can be used to perform a off-line self-test. There is also example code to perform and verify OAuth requests online, but they are not run automatically. tests/oauthexample.c - CONNECTS TO INTERNET walk-though http://term.ie/oauth/example tests/oauthtest.c - CONNECTS TO INTERNET gets a request-token from http://term.ie test-server tests/oauthtest2.c - CONNECTS TO INTERNET gets a request-token from http://term.ie test-server using OAuth HTTP Authorization header: see http://oauth.net/core/1.0a/#auth_header and http://oauth.net/core/1.0a/#consumer_req_param tests/selftest_wiki.c tests/selftest_eran.c Test-Cases for parameter encoding, signatures, etc tests/commontest.c Common Test-Case functions exercising the low-level API used by self-tests. tests/oauthdatapost.c - CONNECTS TO INTERNET Experimental code to sign data uploads Note: The example keys have since been deleted from the test-server. Code remains for inspiration/example purposes.