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/examples/smtp-authzid.c | 161 ------------------------------------------- 1 file changed, 161 deletions(-) delete mode 100644 docs/examples/smtp-authzid.c (limited to 'docs/examples/smtp-authzid.c') 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; -} -- cgit v1.2.3