summaryrefslogtreecommitdiff
path: root/lib/pop3.h
Commit message (Collapse)AuthorAgeFilesLines
* lib: save a bit of space with some structure packingErik Olsson2021-01-201-1/+1
| | | | | | | | | | | | | | | - Reorder some internal struct members so that less padding is used. This is an attempt at saving a bit of space by packing some structs (using pahole to find the holes) where it might make sense to do so without losing readability. I.e., I tried to avoid separating fields that seem grouped together (like the cwd... fields in struct ftp_conn for instance). Also abstained from touching fields behind conditional macros as that quickly can get complicated. Closes https://github.com/curl/curl/pull/6483
* lib: pass in 'struct Curl_easy *' to most functionsDaniel Stenberg2021-01-171-2/+2
| | | | | | | | | | | | | | | | | | | | | ... in most cases instead of 'struct connectdata *' but in some cases in addition to. - We mostly operate on transfers and not connections. - We need the transfer handle to log, store data and more. Everything in libcurl is driven by a transfer (the CURL * in the public API). - This work clarifies and separates the transfers from the connections better. - We should avoid "conn->data". Since individual connections can be used by many transfers when multiplexing, making sure that conn->data points to the current and correct transfer at all times is difficult and has been notoriously error-prone over the years. The goal is to ultimately remove the conn->data pointer for this reason. Closes #6425
* copyright: fix year rangesDaniel Stenberg2020-11-051-1/+1
| | | | Follow-up from 4d2f8006777
* curl.se: new homeDaniel Stenberg2020-11-041-1/+1
| | | | Closes #6172
* copyrights: fix copyright year rangeDaniel Stenberg2019-11-081-1/+1
| | | | | | | | .. because checksrc's copyright year check stopped working. Ref: https://github.com/curl/curl/pull/4547 Closes https://github.com/curl/curl/pull/4549
* internals: rename the SessionHandle struct to Curl_easyDaniel Stenberg2016-06-221-2/+2
|
* URLs: change all http:// URLs to https://Daniel Stenberg2016-02-031-1/+1
|
* SASL: common state engine for imap/pop3/smtpPatrick Monnerat2015-01-201-14/+1
|
* SASL: common URL option and auth capabilities decoders for all protocolsPatrick Monnerat2015-01-201-1/+1
|
* IMAP/POP3/SMTP: use a per-connection sub-structure for SASL parameters.Patrick Monnerat2015-01-201-4/+2
|
* email: Added mutual authentication flagSteve Holme2014-08-151-0/+1
|
* email: Introduced the GSSAPI statesSteve Holme2014-08-141-1/+4
|
* pop3: Fix POP3_TYPE_ANY signed compilation warningMelissa Mears2013-12-041-1/+1
| | | | | | | | POP3_TYPE_ANY, or ~0, is written to pop3c->preftype in lib/pop3c.c, an unsigned int variable. The result of ~0 is -1, which caused a warning due to writing a negative number to an unsigned variable. To fix this, make the expression ~0U so that its value is considered the unsigned number UINT_MAX which is what SASL_AUTH_ANY does in curl_sasl.h.
* email: Added initial support for cancelling authenticationSteve Holme2013-10-271-0/+1
| | | | | | | | | | | | | | | | Should a client application fail to decode an authentication message received from a server, or not support any of the parameters given by the server in the message, then the authentication phrase should be cancelled gracefully by the client rather than simply terminating the connection. The authentication phrase should be cancelled by simply sending a '*' to the server, in response to erroneous data being received, as per RFC-3501, RFC-4954 and RFC-5034. This patch adds the necessary state machine constants and appropriate response handlers in order to add this functionality for the CRAM-MD5, DIGEST-MD5 and NTLM authentication mechanisms.
* pop3: Added basic SASL XOAUTH2 supportSteve Holme2013-09-201-0/+1
| | | | | | | | | | | Added the ability to use an XOAUTH2 bearer token [RFC6750] with POP3 for authentication using RFC6749 "OAuth 2.0 Authorization Framework". The bearer token is expected to be valid for the user specified in conn->user. If CURLOPT_XOAUTH2_BEARER is defined and the connection has an advertised auth mechanism of "XOAUTH2", the user and access token are formatted as a base64 encoded string and sent to the server as "AUTH XOAUTH2 <bearer token>".
* pop3: Reworked authentication type constantsSteve Holme2013-04-131-3/+3
| | | | | ... to use left-shifted values, like those defined in curl.h, rather than 16-bit hexadecimal values.
* pop3: Small consistency tidy upSteve Holme2013-04-131-1/+1
|
* pop3: Added support for ;auth=<mech> in the URLSteve Holme2013-04-131-0/+6
| | | | | Added support for specifying the preferred authentication type and SASL mechanism in the URL as per RFC-2384.
* pop3: Re-factored the final POP3_AUTH constantSteve Holme2013-02-271-1/+1
| | | | | Changed the final POP3_AUTH constant to POP3_AUTH_FINAL for consistency with the response function.
* email: Slight reordering of connection based variablesSteve Holme2013-02-261-2/+2
| | | | | | Reordered the state and ssl_done variables in order to provide more consistency between the email protocols as well as for for an upcoming change.
* pop3: Removed bytecountp from the per-request structureSteve Holme2013-02-251-1/+0
| | | | | | | Removed this pointer to a downloaded bytes counter because it was set in pop3_init() to point to the same variable the transfer functions keep the count in (k->bytecount), effectively making the code in transfer.c "*k->bytecountp = k->bytecount" a no-op.
* pop3: Refactored the mailbox variable as it didn't reflect it's purposeSteve Holme2013-02-231-1/+1
| | | | | | Updated the mailbox variable to correctly reflect it's purpose. The name mailbox was a leftover from when IMAP and POP3 support was initially added to curl.
* pingpong: Renamed curl_ftptransfer to curl_pp_transferSteve Holme2013-02-231-1/+1
|
* pop3: Removed some FTP heritage leftoversSteve Holme2013-02-231-2/+0
| | | | | | | Removed user and passwd from the POP3 struct as these cannot be set on a per-request basis and are leftover from legacy FTP code. Changed some comments still using FTP terminology.
* pop3: Moved the per-request variables to the per-request data structureSteve Holme2013-02-231-2/+2
| | | | | | Moved the mailbox and custom request variables from the per-connection struct pop3_conn to the new per-request struct and fixed references accordingly.
* pop3: Introduced a custom POP3 structure for per-request dataSteve Holme2013-02-231-0/+13
| | | | | Created a new POP3 structure and changed the type of the pop3 proto variable in connectdata from FTP* to POP*.
* email: Post STARTLS capability code tidy up (Part One)Steve Holme2013-02-101-1/+1
| | | | | Corrected the order of the CAPA / CAPABILITY state machine constants to match the execution order.
* pop3: Added support for the STLS capability (Part One)Steve Holme2013-02-101-0/+1
| | | | | Introduced detection of the STLS capability, in order to add support for TLS upgrades without unconditionally sending the STLS command.
* email: Updated comment regarding ssldone usageSteve Holme2013-01-261-2/+1
| | | | Updated the ssldone comment as multi mode is always used internally now.
* pop3: Added support for non-blocking SSL upgradeSteve Holme2013-01-081-1/+5
| | | | | Added support for asynchronous SSL upgrade when using the multi-interface.
* Revert changes relative to lib/*.[ch] recent renamingYang Tse2013-01-061-0/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts renaming and usage of lib/*.h header files done 28-12-2012, reverting 2 commits: f871de0... build: make use of 76 lib/*.h renamed files ffd8e12... build: rename 76 lib/*.h files This also reverts removal of redundant include guard (redundant thanks to changes in above commits) done 2-12-2013, reverting 1 commit: c087374... curl_setup.h: remove redundant include guard This also reverts renaming and usage of lib/*.c source files done 3-12-2013, reverting 3 commits: 13606bb... build: make use of 93 lib/*.c renamed files 5b6e792... build: rename 93 lib/*.c files 7d83dff... build: commit 13606bbfde follow-up 1 Start of related discussion thread: http://curl.haxx.se/mail/lib-2013-01/0012.html Asking for confirmation on pushing this revertion commit: http://curl.haxx.se/mail/lib-2013-01/0048.html Confirmation summary: http://curl.haxx.se/mail/lib-2013-01/0079.html NOTICE: The list of 2 files that have been modified by other intermixed commits, while renamed, and also by at least one of the 6 commits this one reverts follows below. These 2 files will exhibit a hole in history unless git's '--follow' option is used when viewing logs. lib/curl_imap.h lib/curl_smtp.h
* build: rename 76 lib/*.h filesYang Tse2012-12-281-84/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 76 private header files renamed to use our standard naming scheme. This commit only does the file renaming. ---------------------------------------- renamed: amigaos.h -> curl_amigaos.h renamed: arpa_telnet.h -> curl_arpa_telnet.h renamed: asyn.h -> curl_asyn.h renamed: axtls.h -> curl_axtls.h renamed: bundles.h -> curl_bundles.h renamed: conncache.h -> curl_conncache.h renamed: connect.h -> curl_connect.h renamed: content_encoding.h -> curl_content_encoding.h renamed: cookie.h -> curl_cookie.h renamed: cyassl.h -> curl_cyassl.h renamed: dict.h -> curl_dict.h renamed: easyif.h -> curl_easyif.h renamed: escape.h -> curl_escape.h renamed: file.h -> curl_file.h renamed: fileinfo.h -> curl_fileinfo.h renamed: formdata.h -> curl_formdata.h renamed: ftp.h -> curl_ftp.h renamed: ftplistparser.h -> curl_ftplistparser.h renamed: getinfo.h -> curl_getinfo.h renamed: gopher.h -> curl_gopher.h renamed: gtls.h -> curl_gtls.h renamed: hash.h -> curl_hash.h renamed: hostcheck.h -> curl_hostcheck.h renamed: hostip.h -> curl_hostip.h renamed: http.h -> curl_http.h renamed: http_chunks.h -> curl_http_chunks.h renamed: http_digest.h -> curl_http_digest.h renamed: http_negotiate.h -> curl_http_negotiate.h renamed: http_proxy.h -> curl_http_proxy.h renamed: if2ip.h -> curl_if2ip.h renamed: imap.h -> curl_imap.h renamed: inet_ntop.h -> curl_inet_ntop.h renamed: inet_pton.h -> curl_inet_pton.h renamed: krb4.h -> curl_krb4.h renamed: llist.h -> curl_llist.h renamed: memdebug.h -> curl_memdebug.h renamed: multiif.h -> curl_multiif.h renamed: netrc.h -> curl_netrc.h renamed: non-ascii.h -> curl_non-ascii.h renamed: nonblock.h -> curl_nonblock.h renamed: nssg.h -> curl_nssg.h renamed: parsedate.h -> curl_parsedate.h renamed: pingpong.h -> curl_pingpong.h renamed: polarssl.h -> curl_polarssl.h renamed: pop3.h -> curl_pop3.h renamed: progress.h -> curl_progress.h renamed: qssl.h -> curl_qssl.h renamed: rawstr.h -> curl_rawstr.h renamed: rtsp.h -> curl_rtsp.h renamed: select.h -> curl_select.h renamed: sendf.h -> curl_sendf.h renamed: setup.h -> curl_setup.h renamed: setup_once.h -> curl_setup_once.h renamed: share.h -> curl_share.h renamed: slist.h -> curl_slist.h renamed: smtp.h -> curl_smtp.h renamed: sockaddr.h -> curl_sockaddr.h renamed: socks.h -> curl_socks.h renamed: speedcheck.h -> curl_speedcheck.h renamed: splay.h -> curl_splay.h renamed: ssh.h -> curl_ssh.h renamed: sslgen.h -> curl_sslgen.h renamed: ssluse.h -> curl_ssluse.h renamed: strdup.h -> curl_strdup.h renamed: strequal.h -> curl_strequal.h renamed: strerror.h -> curl_strerror.h renamed: strtok.h -> curl_strtok.h renamed: strtoofft.h -> curl_strtoofft.h renamed: telnet.h -> curl_telnet.h renamed: tftp.h -> curl_tftp.h renamed: timeval.h -> curl_timeval.h renamed: transfer.h -> curl_transfer.h renamed: url.h -> curl_url.h renamed: urldata.h -> curl_urldata.h renamed: warnless.h -> curl_warnless.h renamed: wildcard.h -> curl_wildcard.h ----------------------------------------
* pop3: Added support for apop authenticationSteve Holme2012-06-091-0/+2
|
* pop3: Enhanced the extended authentication mechanism detectionSteve Holme2012-06-091-1/+7
| | | | | Enhanced the authentication type / mechanism detection in preparation for the introduction of APOP support.
* sasl: Re-factored mechanism constants in preparation for APOP workSteve Holme2012-06-081-1/+1
|
* pop3: Post authentication code tidy upSteve Holme2012-06-041-7/+8
| | | | | | | | | | | Corrected lines longer than 78 characters. Changed POP3_AUTH_FINAL to POP3_AUTH to match SMTP code now that the AUTH command is no longer sent on its own. Introduced some comments in data sending functions. Another attempt at trying to rational code and comment style.
* pop3: Added support for sasl digest-md5 authenticationSteve Holme2012-06-041-0/+2
|
* pop3: Changed the sasl mechanism detection from auth to capaSteve Holme2012-06-041-1/+1
| | | | | | Not all SASL enabled POP3 servers support the AUTH command on its own when trying to detect the supported mechanisms. As such changed the mechanism detection to use the CAPA command instead.
* pop3: Added support for sasl cram-md5 authenticationSteve Holme2012-06-031-0/+1
|
* pop3: Added support for sasl ntlm authenticationSteve Holme2012-06-021-0/+2
|
* pop3: Added support for sasl login authenticationSteve Holme2012-06-011-0/+2
|
* pop3: Added support for sasl plain text authenticationSteve Holme2012-05-311-0/+3
|
* pop3: Small code tidy up following authentication work so farSteve Holme2012-05-281-1/+1
| | | | | | | | Changed the order of the state machine to match the order of actual events. Reworked some comments and function parameter positioning that I missed the other day.
* pop3: Added support for SASL based authentication mechanism detectionSteve Holme2012-05-271-0/+2
| | | | | | | | | | | | | | | Added support for detecting the supported SASL authentication mechanisms via the AUTH command. There are two ways of detecting them, either by using the AUTH command, that will return -ERR if not supported or by using the CAPA command which will return SASL and the list of mechanisms if supported, not include SASL if SASL authentication is not supported or -ERR if the CAPA command is not supported. As such it seems simpler to use the AUTH command and fallback to normal clear text authentication if the the command is not supported. Additionally updated the test cases to return -ERR when the AUTH command is encountered. Additional test cases will be added when support for the individual authentication mechanisms is added.
* pop3: Code tidy up before the introduction of authentication codeSteve Holme2012-05-271-11/+11
| | | | | | | | | | | | Moved EOB definition into header file. Switched the logic around in pop3_endofresp() to allow for the introduction of auth-mechanism detection. Repositioned second and third function variables where they will fit within the 78 character line limit. Tidied up some comments.
* pop3: Reworked the command sending and handlingSteve Holme2012-04-021-2/+1
| | | | | | Reworked the command sending from two specific LIST and RETR command functions into a single command based function as well as the two associated response handlers into a generic command handler.
* pop3: Added support for additional pop3 commandsSteve Holme2012-03-311-1/+2
| | | | | | This feature allows the user to specify and use additional POP3 commands such as UIDL and DELE via libcurl's CURLOPT_CUSTOMREQUEST or curl's -X command line option.
* pop3: Removed the need for the single message LIST command handlerSteve Holme2012-03-251-3/+2
| | | | | | Simplified the code to remove the need for a separate "LIST <msg id>" command handler and state machine and instead use the LIST command handler for both operations.
* pop3.c: fix compiler warning variable may be used uninitializedYang Tse2011-12-131-3/+3
|
* POP3: detect when LIST returns no mailsDaniel Stenberg2011-11-291-1/+2
| | | | | By making sure the function can detect an "end of body" sequence immediately on the first line, test 811 is now enabled.