diff options
author | Wojciech Polak <polak@gnu.org> | 2007-07-18 16:52:50 +0000 |
---|---|---|
committer | Wojciech Polak <polak@gnu.org> | 2007-07-18 16:52:50 +0000 |
commit | af96cdc399175c645643d5cb2ca5fe56670e94b7 (patch) | |
tree | 3c0737f035da73f1f89e4a0cb6a1bef90e7da503 | |
parent | adb05c0b2d1fe80b85e1d9efc95fcdead7b2e3f8 (diff) | |
download | mailutils-af96cdc399175c645643d5cb2ca5fe56670e94b7.tar.gz mailutils-af96cdc399175c645643d5cb2ca5fe56670e94b7.tar.bz2 |
Moved from ../../mailbox
-rw-r--r-- | libproto/mailer/url_sendmail.c | 73 | ||||
-rw-r--r-- | libproto/mailer/url_smtp.c | 53 |
2 files changed, 126 insertions, 0 deletions
diff --git a/libproto/mailer/url_sendmail.c b/libproto/mailer/url_sendmail.c new file mode 100644 index 000000000..db7a277bf --- /dev/null +++ b/libproto/mailer/url_sendmail.c @@ -0,0 +1,73 @@ +/* GNU Mailutils -- a suite of utilities for electronic mail + Copyright (C) 1999, 2000, 2007 Free Software Foundation, Inc. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General + Public License along with this library; if not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301 USA */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#ifdef ENABLE_SENDMAIL + +#include <errno.h> +#include <stdlib.h> +#include <string.h> + +#ifdef HAVE_PATHS_H +# include <paths.h> +#endif + +#ifndef _PATH_SENDMAIL +# define _PATH_SENDMAIL "/usr/lib/sendmail" +#endif + +#include <registrar0.h> +#include <url0.h> + +static void url_sendmail_destroy (mu_url_t purl); + +static void +url_sendmail_destroy (mu_url_t url MU_ARG_UNUSED) +{ +} + +/* + Sendmail URL: + sendmail:/path/to/sendmail +*/ + +int +_url_sendmail_init (mu_url_t url) +{ + int status = mu_url_init (url, 0, "sendmail"); + if (status) + return status; + + url->_destroy = url_sendmail_destroy; + + /* not valid in a sendmail url */ + if (url->user || url->passwd || url->auth || url->query + || url->host || url->port) + return EINVAL; + + if (url->path == 0) + if ((url->path = strdup (_PATH_SENDMAIL)) == 0) + status = ENOMEM; + + return status; +} + +#endif /* ENABLE_SENDMAIL */ diff --git a/libproto/mailer/url_smtp.c b/libproto/mailer/url_smtp.c new file mode 100644 index 000000000..df2959e04 --- /dev/null +++ b/libproto/mailer/url_smtp.c @@ -0,0 +1,53 @@ +/* GNU Mailutils -- a suite of utilities for electronic mail + Copyright (C) 1999, 2000, 2005, 2007 Free Software Foundation, Inc. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General + Public License along with this library; if not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301 USA */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#ifdef ENABLE_SMTP + +#include <errno.h> +#include <stdlib.h> +#include <string.h> + +#include <registrar0.h> +#include <url0.h> + +int +_url_smtp_init (mu_url_t url) +{ + int status = mu_url_init (url, MU_SMTP_PORT, "smtp"); + if (status) + return status; + + /* host isn't optional */ + if (!url->host) + return EINVAL; + + /* accept url->user, pass, and auth + for the ESMTP authentication */ + + /* all other fields must be NULL */ + if (url->path || url->query) + return EINVAL; + + return 0; +} + +#endif /* ENABLE_SMTP */ |