diff -Nur bti-033/bti.1 bti-nonprism/bti.1 --- bti-033/bti.1 2013-06-27 18:23:38.000000000 -0300 +++ bti-nonprism/bti.1 2013-08-21 18:24:32.693871946 -0300 @@ -28,23 +28,23 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -bti \- send a tweet to twitter\&.com or identi\&.ca from the command line +bti \- send a tweet to status\&.net from the command line .SH "SYNOPSIS" .HP \w'\fBbti\fR\ 'u \fBbti\fR [\fB\-\-account\ account\fR] [\fB\-\-password\ password\fR] [\fB\-\-action\ action\fR] [\fB\-\-user\ screenname\fR] [\fB\-\-host\ HOST_NAME\fR] [\fB\-\-proxy\ PROXY:PORT\fR] [\fB\-\-logfile\ LOGFILE\fR] [\fB\-\-config\ CONFIGFILE\fR] [\fB\-\-replyto\ ID\fR] [\fB\-\-retweet\ ID\fR] [\fB\-\-page\ PAGENUMBER\fR] [\fB\-\-bash\fR] [\fB\-\-shrink\-urls\fR] [\fB\-\-debug\fR] [\fB\-\-dry\-run\fR] [\fB\-\-verbose\fR] [\fB\-\-version\fR] [\fB\-\-help\fR] .SH "DESCRIPTION" .PP -bti sends a tweet message to twitter\&.com or identi\&.ca\&. +bti sends a tweet message to status\&.net\&. .SH "OPTIONS" .PP \fB\-\-account account\fR .RS 4 -Specify the twitter\&.com or identi\&.ca account name\&. +Specify the status\&.net account name\&. .RE .PP \fB\-\-password password\fR .RS 4 -Specify the password of your twitter\&.com or identi\&.ca account\&. +Specify the password of your status\&.net account\&. .RE .PP \fB\-\-action action\fR @@ -59,9 +59,9 @@ .PP \fB\-\-host HOST_NAME\fR .RS 4 -Specify the host which you want to send your message to\&. Valid options are "twitter" to send to twitter\&.com and "identica" to send to identi\&.ca\&. If you want to send the message to a custom StatusNet installation, you should specify the API URI\&. For example identi\&.ca\*(Aqs URI is: https://identi\&.ca/api/statuses +Specify the host which you want to send your message to\&. Valid options are "statusnet" to send to status\&.net\&. If you want to send the message to a custom StatusNet installation, you should specify the API URI\&. For example status\&.net\*(Aqs URI is: https://status\&.net/api/statuses .sp -If no host is specified, the default is to send to twitter\&.com\&. +If no host is specified, the default is to send to status\&.net\&. .RE .PP \fB\-\-proxy PROXY:PORT\fR @@ -85,8 +85,6 @@ .RS 4 Status ID of a single post to which you want to create a threaded reply to\&. .sp -For twitter, this is ignored unless the message starts with the @name of the owner of the post with the status ID\&. -.sp For status\&.net, this can link any two messages into context with each other\&. Status\&.net will also link a message that contains an @name without this without regard to context\&. .RE .PP @@ -167,12 +165,12 @@ .PP \fBaccount\fR .RS 4 -The twitter\&.com or identi\&.ca account name you wish to use to send this message with\&. +The status\&.net account name you wish to use to send this message with\&. .RE .PP \fBpassword\fR .RS 4 -The twitter\&.com or identi\&.ca password for the account you wish to use to send this message with\&. +The status\&.net password for the account you wish to use to send this message with\&. .RE .PP \fB\-\-action action\fR @@ -187,7 +185,7 @@ .PP \fBhost\fR .RS 4 -The host you want to use to send the message to\&. Valid options are either "twitter" or "identica" to send to twitter\&.com or identi\&.ca respectively\&. If you want to send the message to a custom StatusNet installation, you should specify the API URI\&. For example identi\&.ca\*(Aqs URI is: https://identi\&.ca/api/statuses\&. +The host you want to use to send the message to\&. Valid options are either "statusnet" to send to status\&.net respectively\&. If you want to send the message to a custom StatusNet installation, you should specify the API URI\&. For example status\&.net\*(Aqs URI is: https://status\&.net/api/statuses\&. .RE .PP \fBproxy\fR diff -Nur bti-033/bti-bashcompletion bti-nonprism/bti-bashcompletion --- bti-033/bti-bashcompletion 2013-06-27 18:23:38.000000000 -0300 +++ bti-nonprism/bti-bashcompletion 2013-08-21 18:19:46.889928804 -0300 @@ -12,7 +12,7 @@ fi if [[ "${prev}" == "--host" ]] ; then - COMPREPLY=( $(compgen -W "twitter identica" -- ${cur} ) ) + COMPREPLY=( $(compgen -W "statusnet" -- ${cur} ) ) fi if [[ "${prev}" == "--action" ]] ; then diff -Nur bti-033/bti.c bti-nonprism/bti.c --- bti-033/bti.c 2013-06-27 18:23:38.000000000 -0300 +++ bti-nonprism/bti.c 2013-08-21 18:31:54.013583020 -0300 @@ -53,7 +53,7 @@ static void display_help(void) { - fprintf(stdout, "bti - send tweet to twitter or identi.ca\n" + fprintf(stdout, "bti - send tweet to status.net\n" "Version: %s\n" "Usage:\n" " bti [options]\n" @@ -258,19 +258,12 @@ free(buffer); } -const char twitter_host[] = "http://api.twitter.com/1.1/statuses"; -const char twitter_host_stream[] = "https://stream.twitter.com/1.1/statuses"; /*this is not reset, and doesnt work */ -const char twitter_host_simple[] = "http://api.twitter.com/1.1"; -const char identica_host[] = "https://identi.ca/api/statuses"; -const char twitter_name[] = "twitter"; -const char identica_name[] = "identi.ca"; - -static const char twitter_request_token_uri[] = "https://twitter.com/oauth/request_token"; -static const char twitter_access_token_uri[] = "https://twitter.com/oauth/access_token"; -static const char twitter_authorize_uri[] = "https://twitter.com/oauth/authorize?oauth_token="; -static const char identica_request_token_uri[] = "https://identi.ca/api/oauth/request_token?oauth_callback=oob"; -static const char identica_access_token_uri[] = "https://identi.ca/api/oauth/access_token"; -static const char identica_authorize_uri[] = "https://identi.ca/api/oauth/authorize?oauth_token="; +const char statusnet_host[] = "https://status.net/api/statuses"; +const char statusnet_name[] = "status.net"; + +static const char statusnet_request_token_uri[] = "https://status.net/api/oauth/request_token?oauth_callback=oob"; +static const char statusnet_access_token_uri[] = "https://status.net/api/oauth/access_token"; +static const char statusnet_authorize_uri[] = "https://status.net/api/oauth/authorize?oauth_token="; static const char custom_request_token_uri[] = "/../oauth/request_token?oauth_callback=oob"; static const char custom_access_token_uri[] = "/../oauth/access_token"; static const char custom_authorize_uri[] = "/../oauth/authorize?oauth_token="; @@ -855,14 +848,9 @@ if (!session) return -EINVAL; - 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) + if (session->host == HOST_STATUSNET) request_url = oauth_sign_url2( - identica_request_token_uri, NULL, + statusnet_request_token_uri, NULL, OA_HMAC, NULL, session->consumer_key, session->consumer_secret, NULL, NULL); else { @@ -893,16 +881,11 @@ "Please open the following link in your browser, and " "allow 'bti' to access your account. Then paste " "back the provided PIN in here.\n"); - if (session->host == HOST_TWITTER) { - fprintf(stdout, "%s%s\nPIN: ", twitter_authorize_uri, at_key); + if (session->host == HOST_STATUSNET) { + fprintf(stdout, "%s%s\nPIN: ", statusnet_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); + statusnet_access_token_uri, verifier); } else { fprintf(stdout, "%s%s%s\nPIN: ", session->hosturl, custom_authorize_uri, at_key); @@ -956,7 +939,7 @@ return -EINVAL; if (!session->hosturl) - session->hosturl = strdup(twitter_host); + session->hosturl = strdup(statusnet_host); if (session->no_oauth || session->guest) { curl_buf = bti_curl_buffer_alloc(session->action); @@ -971,7 +954,7 @@ } if (!session->hosturl) - session->hosturl = strdup(twitter_host); + session->hosturl = strdup(statusnet_host); switch (session->action) { case ACTION_UPDATE: @@ -1032,7 +1015,7 @@ case ACTION_PUBLIC: /*snprintf(endpoint, endpoint_size, "%s%s?page=%d", session->hosturl,*/ - snprintf(endpoint, endpoint_size, "%s%s", twitter_host_stream, + snprintf(endpoint, endpoint_size, "%s%s", statusnet_host, public_uri); curl_easy_setopt(curl, CURLOPT_URL, endpoint); break; @@ -1045,7 +1028,6 @@ break; case ACTION_DIRECT: - /* NOT IMPLEMENTED - twitter requires authentication anyway */ break; default: @@ -1125,7 +1107,6 @@ } else { switch (session->action) { case ACTION_UPDATE: - /* dont test it here, let twitter return an error that we show */ if (strlen_utf8(session->tweet) > 140 + 1000 ) { printf("E: tweet is too long!\n"); goto skip_tweet; @@ -1156,7 +1137,7 @@ mentions_uri, session->page); break; case ACTION_PUBLIC: - sprintf(endpoint, "%s%s", twitter_host_stream, + sprintf(endpoint, "%s%s", statusnet_host, public_uri); break; case ACTION_GROUP: @@ -1175,7 +1156,7 @@ break; case ACTION_DIRECT: escaped_tweet = oauth_url_escape(session->tweet); - sprintf(endpoint, "%s%s?user=%s&text=%s", twitter_host_simple, + sprintf(endpoint, "%s%s?user=%s&text=%s", statusnet_host, direct_uri, session->user, escaped_tweet); is_post = 1; break; @@ -1766,14 +1747,10 @@ free(session->hosturl); if (session->hostname) free(session->hostname); - if (strcasecmp(optarg, "twitter") == 0) { - session->host = HOST_TWITTER; - session->hosturl = strdup(twitter_host); - session->hostname = strdup(twitter_name); - } else if (strcasecmp(optarg, "identica") == 0) { - session->host = HOST_IDENTICA; - session->hosturl = strdup(identica_host); - session->hostname = strdup(identica_name); + if (strcasecmp(optarg, "statusnet") == 0) { + session->host = HOST_STATUSNET; + session->hosturl = strdup(statusnet_host); + session->hostname = strdup(statusnet_name); } else { session->host = HOST_CUSTOM; session->hosturl = strdup(optarg); @@ -1829,31 +1806,8 @@ if (debug) display_version(); - if (session->host == HOST_TWITTER) { - if (!session->consumer_key || !session->consumer_secret) { - 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"); - goto exit; - } - } else { - if (!session->consumer_key || !session->consumer_secret) - session->no_oauth = 1; - } + if (!session->consumer_key || !session->consumer_secret) + session->no_oauth = 1; if (session->no_oauth) { if (!session->account) { diff -Nur bti-033/bti.example bti-nonprism/bti.example --- bti-033/bti.example 2012-06-22 18:45:42.000000000 -0300 +++ bti-nonprism/bti.example 2013-08-21 18:24:54.398011375 -0300 @@ -5,7 +5,7 @@ # a message. account=twitmaster password=icanhascheezburger -host=identica +host=statusnet # Example of a custom StatusNet installation #host=http://army.twit.tv/api/statuses logfile=.bti.log diff -Nur bti-033/bti.h bti-nonprism/bti.h --- bti-033/bti.h 2013-06-27 18:23:38.000000000 -0300 +++ bti-nonprism/bti.h 2013-08-21 18:19:22.865702111 -0300 @@ -17,8 +17,7 @@ #define __BTI_H enum host { - HOST_TWITTER = 0, - HOST_IDENTICA = 1, + HOST_STATUSNET = 1, HOST_CUSTOM = 2 }; @@ -76,10 +75,8 @@ int length; }; -extern const char twitter_host[]; -extern const char identica_host[]; -extern const char twitter_name[]; -extern const char identica_name[]; +extern const char statusnet_host[]; +extern const char statusnet_name[]; extern int debug; extern void bti_parse_configfile(struct session *session); diff -Nur bti-033/bti.xml bti-nonprism/bti.xml --- bti-033/bti.xml 2013-06-27 18:23:38.000000000 -0300 +++ bti-nonprism/bti.xml 2013-08-21 18:22:20.722310079 -0300 @@ -21,7 +21,7 @@ bti - send a tweet to twitter.com or identi.ca from the command line + send a tweet to status.net from the command line @@ -49,7 +49,7 @@ DESCRIPTION - bti sends a tweet message to twitter.com or identi.ca. + bti sends a tweet message or status.net. @@ -59,7 +59,7 @@ - Specify the twitter.com or identi.ca account name. + Specify the status.net account name. @@ -67,7 +67,7 @@ - Specify the password of your twitter.com or identi.ca account. + Specify the password of your status.net account. @@ -100,15 +100,15 @@ Specify the host which you want to send your message to. Valid - options are "twitter" to send to twitter.com and "identica" to - send to identi.ca. + options are "statusnet" to + send to status.net. If you want to send the message to a custom StatusNet installation, - you should specify the API URI. For example identi.ca's URI is: - https://identi.ca/api/statuses + you should specify the API URI. For example status.net's URI is: + https://status.net/api/statuses - If no host is specified, the default is to send to twitter.com. + If no host is specified, the default is to send to status.net. @@ -154,10 +154,6 @@ reply to. - For twitter, this is ignored unless the message starts with the - @name of the owner of the post with the status ID. - - For status.net, this can link any two messages into context with each other. Status.net will also link a message that contains an @name without this without regard to context. @@ -306,7 +302,7 @@ - The twitter.com or identi.ca account name you wish to use to send this + The status.net account name you wish to use to send this message with. @@ -315,7 +311,7 @@ - The twitter.com or identi.ca password for the account you wish to use + The status.net password for the account you wish to use to send this message with. @@ -346,12 +342,12 @@ The host you want to use to send the message to. Valid - options are either "twitter" or "identica" to send to - twitter.com or identi.ca respectively. + options are either "statusnet" to send to + status.net respectively. If you want to send the message to a custom StatusNet installation, - you should specify the API URI. For example identi.ca's URI is: - https://identi.ca/api/statuses. + you should specify the API URI. For example status.net's URI is: + https://status.net/api/statuses. diff -Nur bti-033/config.c bti-nonprism/config.c --- bti-033/config.c 2013-04-23 20:18:04.000000000 -0300 +++ bti-nonprism/config.c 2013-08-21 18:17:39.798533227 -0300 @@ -219,14 +219,10 @@ static int host_callback(struct session *session, char *value) { - if (strcasecmp(value, "twitter") == 0) { - session->host = HOST_TWITTER; - session->hosturl = strdup(twitter_host); - session->hostname = strdup(twitter_name); - } else if (strcasecmp(value, "identica") == 0) { - session->host = HOST_IDENTICA; - session->hosturl = strdup(identica_host); - session->hostname = strdup(identica_name); + if (strcasecmp(value, "statusnet") == 0) { + session->host = HOST_STATUSNET; + session->hosturl = strdup(statusnet_host); + session->hostname = strdup(statusnet_name); } else { session->host = HOST_CUSTOM; session->hosturl = strdup(value);