+ if (session->host == HOST_TWITTER)
+ request_url = oauth_sign_url2(
+ twitter_request_token_uri, NULL,
+ OA_HMAC, NULL, session->consumer_key,
+ session->consumer_secret, NULL, NULL);
+ else if (session->host == HOST_IDENTICA)
+ request_url = oauth_sign_url2(
+ identica_request_token_uri, NULL,
+ OA_HMAC, NULL, session->consumer_key,
+ session->consumer_secret, NULL, NULL);
+ reply = oauth_http_get(request_url, post_params);
+
+ if (request_url)
+ free(request_url);
+
+ if (post_params)
+ free(post_params);
+
+ if (!reply)
+ return 1;
+
+ if (parse_osp_reply(reply, &at_key, &at_secret))
+ return 1;
+
+ free(reply);
+
+ fprintf(stdout, "Please open the following link in your browser, and ");
+ fprintf(stdout, "allow 'bti' to access your account. Then paste ");
+ fprintf(stdout, "back the provided PIN in here.\n");
+ if (session->host == HOST_TWITTER) {
+ fprintf(stdout, "%s%s\nPIN: ", twitter_authorize_uri, at_key);
+ verifier = session->readline(NULL);
+ sprintf(at_uri, "%s?oauth_verifier=%s", twitter_access_token_uri, verifier);
+ } else if (session->host == HOST_IDENTICA) {
+ fprintf(stdout, "%s%s\nPIN: ", identica_authorize_uri, at_key);
+ verifier = session->readline(NULL);
+ sprintf(at_uri, "%s?oauth_verifier=%s", identica_access_token_uri, verifier);
+ }
+ request_url = oauth_sign_url2(at_uri, NULL, OA_HMAC, NULL,
+ session->consumer_key, session->consumer_secret, at_key,
+ at_secret);
+ reply = oauth_http_get(request_url, post_params);
+
+ if (!reply)
+ return 1;