Path to this page:
Subject: CVS commit: pkgsrc/net/flickcurl
From: Thomas Klausner
Date: 2012-09-02 17:12:51
Message id: 20120902151251.72BCD175DD@cvs.netbsd.org
Log Message:
Update to 1.23:
2012-09-01 Flickcurl Version 1.23 Released
This release fully supports using Flickr via OAuth 1.0 and converting
from the legacy Flickr authentication to OAuth. It supports both
authentication flows but Flickr has deprecated the legacy
authentication, so it might stop working at any time.
Flickr [2]Legacy authentication flow with Flickcurl:
1. The initial configuration needed is the API Key and Shared Secret,
obtained from the [3]Flickr App Garden.
2. Get the Authentication URL from the Flickr App Garden.
3. Show the Authentication URL to the user who approves the app
resulting in a user visible Frob.
4. Authentication completes using flickcurl_auth_getFullToken() which
exchanges the Frob for the final Auth Token.
5. Optionally, the flickcurl(1) utility will store in the
configuration file: auth_token, api_key and secret. Otherwise the
application should do this.
Flickr [4]Flickr OAuth 1.0 flow with Flickcurl:
1. The initial configuration needed is the Client Key (API Key) and
Client Secret (Shared Secret), obtained from the [5]Flickr App
Garden.
2. Authentication starts with a call to
flickcurl_oauth_create_request_token() to get the Request Token and
Request Token Secret.
3. Get the Authentication URL using
flickcurl_oauth_get_authorize_uri().
4. Show the Authentication URL to the user who approves the app
resulting in a user visible Verifier.
5. Authentication completes using
flickcurl_oauth_create_access_token() to exchange the request
token, request token secret and verifier for the final Access Token
and Access Token Secret.
6. Optionally, the flickcurl(1) utility will store in the
configuration file: oauth_token, oauth_token_secret,
oauth_client_key and oauth_client_secret. Otherwise the application
should do this.
Added an API call to upgrade from the Flickr legacy authentication to
OAuth 1.0. This revokes and deletes the legacy 'auth_token' and returns
an OAuth Access Token and Access Token Secret pair which need to be
saved.
int flickcurl_auth_oauth_getAccessToken(flickcurl* fc)
The upgrade can also be performed by using the oauth.upgrade command of
the flickcurl(1) utility.
Added new API calls to get and set OAuth parameters:
const char* flickcurl_get_oauth_token(flickcurl *fc);
void flickcurl_set_oauth_token(flickcurl *fc, const char* token);
const char* flickcurl_get_oauth_token_secret(flickcurl* fc);
void flickcurl_set_oauth_token_secret(flickcurl* fc, const char *secret);
const char* flickcurl_get_oauth_client_key(flickcurl *fc);
void flickcurl_set_oauth_client_key(flickcurl *fc, const char* client_key);
const char* flickcurl_get_oauth_client_secret(flickcurl *fc);
void flickcurl_set_oauth_client_secret(flickcurl *fc, const char* client_secre
t);
const char* flickcurl_get_oauth_request_token(flickcurl* fc);
void flickcurl_set_oauth_request_token(flickcurl *fc, const char* token);
const char* flickcurl_get_oauth_request_token_secret(flickcurl* fc);
void flickcurl_set_oauth_request_token_secret(flickcurl *fc, const char* secre
t);
Added new API calls for performing the OAuth flow
int flickcurl_oauth_create_request_token(flickcurl* fc, const char* callback);
char* flickcurl_oauth_get_authorize_uri(flickcurl* fc);
int flickcurl_oauth_create_access_token(flickcurl* fc, const char* verifier);
In flickcurl_photos_setDates() actually send date_taken parameter. This
fixes [6]GitHub issue 15
Updated configure to use xml2-config(1) and curl-config(1) as well as
pkg-config(1), for systems that do not ship with the pkg-config files,
such as OSX 10.8.
Fixed memory leak in flickcurl_build_persons() on loop exit (always)
and on the error path.
Fixed memory leak in flickcurl_build_photos() of string_value for tags.
Updated flickcurl utility to handle the OAuth authentication flow with
new commands oauth-create and oauth-verify, while still supporting
legacy Flickr auth flow with the existing -a FROB form.
Multiple internal changes in the construction of parameters to make the
code more readable and handle the extra parameters needed by OAuth.
Multiple internal changes for error path and leaks found by the LLVM
[7]clang static code analyzer.
Removed all strncpy, strcat and strcpy with counted memcpy.
Files: