From: Greg Kroah-Hartman Date: Wed, 12 Jan 2011 19:01:39 +0000 (-0800) Subject: Merge https://github.com/leif81/bti into main tree X-Git-Url: https://git.toastfreeware.priv.at/gregoa/bti.git/commitdiff_plain/6614ae6e7e2aeda209654226e3d3cffde0d54a21?hp=c0aca65fa48662063e693155c2760dd427043908 Merge https://github.com/leif81/bti into main tree This fixes an issue with twitter queries for non-oauth portions of the api. --- diff --git a/bti.c b/bti.c index 26d7928..4ad5b54 100644 --- a/bti.c +++ b/bti.c @@ -98,6 +98,7 @@ struct session { int dry_run; int page; int no_oauth; + int guest; enum host host; enum action action; void *readline_handle; @@ -592,7 +593,7 @@ static int send_request(struct session *session) if (!session->hosturl) session->hosturl = strdup(twitter_host); - if (session->no_oauth) { + if (session->no_oauth || session->guest) { curl_buf = bti_curl_buffer_alloc(session->action); if (!curl_buf) return -ENOMEM; @@ -1547,11 +1548,17 @@ int main(int argc, char *argv[], char *envp[]) if (session->host == HOST_TWITTER) { if (!session->consumer_key || !session->consumer_secret) { - fprintf(stderr, - "Twitter no longer supports HTTP basic authentication.\n" - "Both consumer key, and consumer secret are required" - " for bti in order to behave as an OAuth consumer.\n"); - goto exit; + if (session->action == ACTION_USER || + session->action == ACTION_PUBLIC) { + /* Some actions may still work without authentication */ + session->guest = 1; + } else { + fprintf(stderr, + "Twitter no longer supports HTTP basic authentication.\n" + "Both consumer key, and consumer secret are required" + " for bti in order to behave as an OAuth consumer.\n"); + goto exit; + } } if (session->action == ACTION_GROUP) { fprintf(stderr, "Groups only work in Identi.ca.\n"); @@ -1573,7 +1580,7 @@ int main(int argc, char *argv[], char *envp[]) session->hostname); session->password = strdup(password); } - } else { + } else if (!session->guest) { if (!session->access_token_key || !session->access_token_secret) { request_access_token(session);