From db8ec1fa38a899d3542dd89ac8be0a6f00c805ac Mon Sep 17 00:00:00 2001 From: Jay Satiro Date: Fri, 24 May 2019 14:53:03 -0400 Subject: Revert all SASL authzid (new feature) commits - Revert all commits related to the SASL authzid feature since the next release will be a patch release, 7.65.1. Prior to this change CURLOPT_SASL_AUTHZID / --sasl-authzid was destined for the next release, assuming it would be a feature release 7.66.0. However instead the next release will be a patch release, 7.65.1 and will not contain any new features. After the patch release after the reverted commits can be restored by using cherry-pick: git cherry-pick a14d72c a9499ff 8c1cc36 c2a8d52 0edf690 Details for all reverted commits: Revert "os400: take care of CURLOPT_SASL_AUTHZID in curl_easy_setopt_ccsid()." This reverts commit 0edf6907ae37e2020722e6f61229d8ec64095b0a. Revert "tests: Fix the line endings for the SASL alt-auth tests" This reverts commit c2a8d52a1356a722ff9f4aeb983cd4eaf80ef221. Revert "examples: Added SASL PLAIN authorisation identity (authzid) examples" This reverts commit 8c1cc369d0c7163c6dcc91fd38edfea1f509ae75. Revert "curl: --sasl-authzid added to support CURLOPT_SASL_AUTHZID from the tool" This reverts commit a9499ff136d89987af885e2d7dff0a066a3e5817. Revert "sasl: Implement SASL authorisation identity via CURLOPT_SASL_AUTHZID" This reverts commit a14d72ca2fec5d4eb5a043936e4f7ce08015c177. --- docs/cmdline-opts/Makefile.inc | 1 - docs/cmdline-opts/sasl-authzid.d | 11 --- docs/examples/Makefile.inc | 4 +- docs/examples/imap-authzid.c | 71 -------------- docs/examples/pop3-authzid.c | 70 -------------- docs/examples/smtp-authzid.c | 161 ------------------------------- docs/libcurl/curl_easy_setopt.3 | 2 - docs/libcurl/opts/CURLOPT_SASL_AUTHZID.3 | 64 ------------ docs/libcurl/opts/Makefile.inc | 1 - docs/libcurl/symbols-in-versions | 1 - 10 files changed, 2 insertions(+), 384 deletions(-) delete mode 100644 docs/cmdline-opts/sasl-authzid.d delete mode 100644 docs/examples/imap-authzid.c delete mode 100644 docs/examples/pop3-authzid.c delete mode 100644 docs/examples/smtp-authzid.c delete mode 100644 docs/libcurl/opts/CURLOPT_SASL_AUTHZID.3 (limited to 'docs') diff --git a/docs/cmdline-opts/Makefile.inc b/docs/cmdline-opts/Makefile.inc index 9f8c64c28..7a8af6f9e 100644 --- a/docs/cmdline-opts/Makefile.inc +++ b/docs/cmdline-opts/Makefile.inc @@ -154,7 +154,6 @@ DPAGES = \ retry-delay.d \ retry-max-time.d \ retry.d \ - sasl-authzid.d \ sasl-ir.d \ service-name.d \ show-error.d \ diff --git a/docs/cmdline-opts/sasl-authzid.d b/docs/cmdline-opts/sasl-authzid.d deleted file mode 100644 index b34db97fc..000000000 --- a/docs/cmdline-opts/sasl-authzid.d +++ /dev/null @@ -1,11 +0,0 @@ -Long: sasl-authzid -Help: Use this identity to act as during SASL PLAIN authentication -Added: 7.66.0 ---- -Use this authorisation identity (authzid), during SASL PLAIN authentication, -in addition to the authentication identity (authcid) as specified by --user. - -If the option isn't specified, the server will derive the authzid from the -authcid, but if specified, and depending on the server implementation, it may -be used to access another user's inbox, that the user has been granted access -to, or a shared mailbox for example. diff --git a/docs/examples/Makefile.inc b/docs/examples/Makefile.inc index d0cce337c..8dd55b9df 100644 --- a/docs/examples/Makefile.inc +++ b/docs/examples/Makefile.inc @@ -5,7 +5,7 @@ # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # -# Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. +# Copyright (C) 1998 - 2018, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms @@ -35,7 +35,7 @@ check_PROGRAMS = 10-at-a-time anyauthput cookie_interface debug fileupload \ http2-upload http2-serverpush getredirect ftpuploadfrommem \ ftpuploadresume sslbackend postit2-formadd multi-formadd \ shared-connection-cache sftpuploadresume http2-pushinmemory parseurl \ - urlapi imap-authzid pop3-authzid smtp-authzid + urlapi # These examples require external dependencies that may not be commonly # available on POSIX systems, so don't bother attempting to compile them here. diff --git a/docs/examples/imap-authzid.c b/docs/examples/imap-authzid.c deleted file mode 100644 index bfe7d71d7..000000000 --- a/docs/examples/imap-authzid.c +++ /dev/null @@ -1,71 +0,0 @@ -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. - * - * This software is licensed as described in the file COPYING, which - * you should have received as part of this distribution. The terms - * are also available at https://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ***************************************************************************/ - -/* - * IMAP example showing how to retreieve e-mails from a shared mailed box - * - */ - -#include -#include - -/* This is a simple example showing how to fetch mail using libcurl's IMAP - * capabilities. - * - * Note that this example requires libcurl 7.66.0 or above. - */ - -int main(void) -{ - CURL *curl; - CURLcode res = CURLE_OK; - - curl = curl_easy_init(); - if(curl) { - /* Set the username and password */ - curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); - curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); - - /* Set the authorisation identity (identity to act as) */ - curl_easy_setopt(curl, CURLOPT_SASL_AUTHZID, "shared-mailbox"); - - /* Force PLAIN authentication */ - curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, "AUTH=PLAIN"); - - /* This will fetch message 1 from the user's inbox */ - curl_easy_setopt(curl, CURLOPT_URL, - "imap://imap.example.com/INBOX/;UID=1"); - - /* Perform the fetch */ - res = curl_easy_perform(curl); - - /* Check for errors */ - if(res != CURLE_OK) - fprintf(stderr, "curl_easy_perform() failed: %s\n", - curl_easy_strerror(res)); - - /* Always cleanup */ - curl_easy_cleanup(curl); - } - - return (int)res; -} diff --git a/docs/examples/pop3-authzid.c b/docs/examples/pop3-authzid.c deleted file mode 100644 index 57363579a..000000000 --- a/docs/examples/pop3-authzid.c +++ /dev/null @@ -1,70 +0,0 @@ -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. - * - * This software is licensed as described in the file COPYING, which - * you should have received as part of this distribution. The terms - * are also available at https://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ***************************************************************************/ - -/* - * POP3 example showing how to retrieve e-mails from a shared mailbox - * - */ - -#include -#include - -/* This is a simple example showing how to retrieve mail using libcurl's POP3 - * capabilities. - * - * Note that this example requires libcurl 7.66.0 or above. - */ - -int main(void) -{ - CURL *curl; - CURLcode res = CURLE_OK; - - curl = curl_easy_init(); - if(curl) { - /* Set the username and password */ - curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); - curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); - - /* Set the authorisation identity (identity to act as) */ - curl_easy_setopt(curl, CURLOPT_SASL_AUTHZID, "shared-mailbox"); - - /* Force PLAIN authentication */ - curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, "AUTH=PLAIN"); - - /* This will retrieve message 1 from the user's mailbox */ - curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com/1"); - - /* Perform the retr */ - res = curl_easy_perform(curl); - - /* Check for errors */ - if(res != CURLE_OK) - fprintf(stderr, "curl_easy_perform() failed: %s\n", - curl_easy_strerror(res)); - - /* Always cleanup */ - curl_easy_cleanup(curl); - } - - return (int)res; -} diff --git a/docs/examples/smtp-authzid.c b/docs/examples/smtp-authzid.c deleted file mode 100644 index decdb719d..000000000 --- a/docs/examples/smtp-authzid.c +++ /dev/null @@ -1,161 +0,0 @@ -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. - * - * This software is licensed as described in the file COPYING, which - * you should have received as part of this distribution. The terms - * are also available at https://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ***************************************************************************/ - -/* - * Send e-mail on behalf of another user with SMTP - * - */ - -#include -#include -#include - -/* - * This is a simple example show how to send an email using libcurl's SMTP - * capabilities. - * - * Note that this example requires libcurl 7.66.0 or above. - */ - -/* The libcurl options want plain addresses, the viewable headers in the mail - * can very well get a full name as well. - */ -#define FROM_ADDR "" -#define SENDER_ADDR "" -#define TO_ADDR "" - -#define FROM_MAIL "Ursel " FROM_ADDR -#define SENDER_MAIL "Kurt " SENDER_ADDR -#define TO_MAIL "A Receiver " TO_ADDR - -static const char *payload_text[] = { - "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n", - "To: " TO_MAIL "\r\n", - "From: " FROM_MAIL "\r\n", - "Sender: " SENDER_MAIL "\r\n", - "Message-ID: \r\n", - "Subject: SMTP example message\r\n", - "\r\n", /* empty line to divide headers from body, see RFC5322 */ - "The body of the message starts here.\r\n", - "\r\n", - "It could be a lot of lines, could be MIME encoded, whatever.\r\n", - "Check RFC5322.\r\n", - NULL -}; - -struct upload_status { - int lines_read; -}; - -static size_t payload_source(void *ptr, size_t size, size_t nmemb, void *userp) -{ - struct upload_status *upload_ctx = (struct upload_status *)userp; - const char *data; - - if((size == 0) || (nmemb == 0) || ((size*nmemb) < 1)) { - return 0; - } - - data = payload_text[upload_ctx->lines_read]; - - if(data) { - size_t len = strlen(data); - memcpy(ptr, data, len); - upload_ctx->lines_read++; - - return len; - } - - return 0; -} - -int main(void) -{ - CURL *curl; - CURLcode res = CURLE_OK; - struct curl_slist *recipients = NULL; - struct upload_status upload_ctx; - - upload_ctx.lines_read = 0; - - curl = curl_easy_init(); - if(curl) { - /* This is the URL for your mailserver. In this example we connect to the - smtp-submission port as we require an authenticated connection. */ - curl_easy_setopt(curl, CURLOPT_URL, "smtp://mail.example.com:587"); - - /* Set the username and password */ - curl_easy_setopt(curl, CURLOPT_USERNAME, "kurt"); - curl_easy_setopt(curl, CURLOPT_PASSWORD, "xipj3plmq"); - - /* Set the authorisation identity (identity to act as) */ - curl_easy_setopt(curl, CURLOPT_SASL_AUTHZID, "ursel"); - - /* Force PLAIN authentication */ - curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, "AUTH=PLAIN"); - - /* Note that this option isn't strictly required, omitting it will result - * in libcurl sending the MAIL FROM command with empty sender data. All - * autoresponses should have an empty reverse-path, and should be directed - * to the address in the reverse-path which triggered them. Otherwise, - * they could cause an endless loop. See RFC 5321 Section 4.5.5 for more - * details. - */ - curl_easy_setopt(curl, CURLOPT_MAIL_FROM, FROM_ADDR); - - /* Add a recipient, in this particular case it corresponds to the - * To: addressee in the header. */ - recipients = curl_slist_append(recipients, TO_ADDR); - curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients); - - /* We're using a callback function to specify the payload (the headers and - * body of the message). You could just use the CURLOPT_READDATA option to - * specify a FILE pointer to read from. */ - curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source); - curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx); - curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); - - /* Send the message */ - res = curl_easy_perform(curl); - - /* Check for errors */ - if(res != CURLE_OK) - fprintf(stderr, "curl_easy_perform() failed: %s\n", - curl_easy_strerror(res)); - - /* Free the list of recipients */ - curl_slist_free_all(recipients); - - /* curl won't send the QUIT command until you call cleanup, so you should - * be able to re-use this connection for additional messages (setting - * CURLOPT_MAIL_FROM and CURLOPT_MAIL_RCPT as required, and calling - * curl_easy_perform() again. It may not be a good idea to keep the - * connection open for a very long time though (more than a few minutes - * may result in the server timing out the connection), and you do want to - * clean up in the end. - */ - curl_easy_cleanup(curl); - } - - return (int)res; -} diff --git a/docs/libcurl/curl_easy_setopt.3 b/docs/libcurl/curl_easy_setopt.3 index a523364cd..1f18a3494 100644 --- a/docs/libcurl/curl_easy_setopt.3 +++ b/docs/libcurl/curl_easy_setopt.3 @@ -256,8 +256,6 @@ TLS authentication methods. See \fICURLOPT_TLSAUTH_TYPE(3)\fP Proxy TLS authentication methods. See \fICURLOPT_PROXY_TLSAUTH_TYPE(3)\fP .IP CURLOPT_PROXYAUTH HTTP proxy authentication methods. See \fICURLOPT_PROXYAUTH(3)\fP -.IP CURLOPT_SASL_AUTHZID -SASL authorisation identity (identity to act as). See \fICURLOPT_SASL_AUTHZID(3)\fP .IP CURLOPT_SASL_IR Enable SASL initial response. See \fICURLOPT_SASL_IR(3)\fP .IP CURLOPT_XOAUTH2_BEARER diff --git a/docs/libcurl/opts/CURLOPT_SASL_AUTHZID.3 b/docs/libcurl/opts/CURLOPT_SASL_AUTHZID.3 deleted file mode 100644 index 79b360b5e..000000000 --- a/docs/libcurl/opts/CURLOPT_SASL_AUTHZID.3 +++ /dev/null @@ -1,64 +0,0 @@ -.\" ************************************************************************** -.\" * _ _ ____ _ -.\" * Project ___| | | | _ \| | -.\" * / __| | | | |_) | | -.\" * | (__| |_| | _ <| |___ -.\" * \___|\___/|_| \_\_____| -.\" * -.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. -.\" * -.\" * This software is licensed as described in the file COPYING, which -.\" * you should have received as part of this distribution. The terms -.\" * are also available at https://curl.haxx.se/docs/copyright.html. -.\" * -.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell -.\" * copies of the Software, and permit persons to whom the Software is -.\" * furnished to do so, under the terms of the COPYING file. -.\" * -.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY -.\" * KIND, either express or implied. -.\" * -.\" ************************************************************************** -.\" -.TH CURLOPT_SASL_AUTHZID 3 "17 July 2019" "libcurl 7.66.0" "curl_easy_setopt options" -.SH NAME -CURLOPT_SASL_AUTHZID \- authorisation identity (identity to act as) -.SH SYNOPSIS -#include - -CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SASL_AUTHZID, char *authzid); -.SH DESCRIPTION -Pass a char * as parameter, which should be pointing to the zero terminated -authorisation identity (authzid) for the transfer. Only applicable to the PLAIN -SASL authentication mechanism where it is optional. - -When not specified only the authentication identity (authcid) as specified by -the username will be sent to the server, along with the password. The server -will derive a authzid from the authcid when not provided, which it will then -uses internally. - -When the authzid is specified, the use of which is server dependent, it can be -used to access another user's inbox, that the user has been granted access to, -or a shared mailbox for example. -.SH DEFAULT -blank -.SH PROTOCOLS -IMAP, POP3 and SMTP -.SH EXAMPLE -.nf -CURL *curl = curl_easy_init(); -if(curl) { - curl_easy_setopt(curl, CURLOPT_URL, "imap://example.com/"); - curl_easy_setopt(curl, CURLOPT_USERNAME, "Kurt"); - curl_easy_setopt(curl, CURLOPT_PASSWORD, "xipj3plmq"); - curl_easy_setopt(curl, CURLOPT_SASL_AUTHZID, "Ursel"); - ret = curl_easy_perform(curl); - curl_easy_cleanup(curl); -} -.fi -.SH AVAILABILITY -Added in 7.66.0 -.SH RETURN VALUE -Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. -.SH "SEE ALSO" -.BR CURLOPT_USERNAME "(3), " CURLOPT_PASSWORD "(3), ".BR CURLOPT_USERPWD "(3)" diff --git a/docs/libcurl/opts/Makefile.inc b/docs/libcurl/opts/Makefile.inc index 9a1016c3f..c8e15a5ed 100644 --- a/docs/libcurl/opts/Makefile.inc +++ b/docs/libcurl/opts/Makefile.inc @@ -272,7 +272,6 @@ man_MANS = \ CURLOPT_RTSP_SESSION_ID.3 \ CURLOPT_RTSP_STREAM_URI.3 \ CURLOPT_RTSP_TRANSPORT.3 \ - CURLOPT_SASL_AUTHZID.3 \ CURLOPT_SASL_IR.3 \ CURLOPT_SEEKDATA.3 \ CURLOPT_SEEKFUNCTION.3 \ diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions index addbaf905..715badf97 100644 --- a/docs/libcurl/symbols-in-versions +++ b/docs/libcurl/symbols-in-versions @@ -553,7 +553,6 @@ CURLOPT_RTSP_SERVER_CSEQ 7.20.0 CURLOPT_RTSP_SESSION_ID 7.20.0 CURLOPT_RTSP_STREAM_URI 7.20.0 CURLOPT_RTSP_TRANSPORT 7.20.0 -CURLOPT_SASL_AUTHZID 7.66.0 CURLOPT_SASL_IR 7.31.0 CURLOPT_SEEKDATA 7.18.0 CURLOPT_SEEKFUNCTION 7.18.0 -- cgit v1.2.3