[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU Mailutils branch, master, updated. release-2.2-584-g9f9d7b0
From: |
Sergey Poznyakoff |
Subject: |
[SCM] GNU Mailutils branch, master, updated. release-2.2-584-g9f9d7b0 |
Date: |
Sat, 24 Mar 2012 08:45:27 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Mailutils".
http://git.savannah.gnu.org/cgit/mailutils.git/commit/?id=9f9d7b0b7cdb586b34ff08bfa7c752d05088a720
The branch, master has been updated
via 9f9d7b0b7cdb586b34ff08bfa7c752d05088a720 (commit)
via bf8b7ff08f0c13e99ff39b49ce7bb3d34ec9a97a (commit)
from 5eb340568f0e025fd0ceec4b1f13efceab093739 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9f9d7b0b7cdb586b34ff08bfa7c752d05088a720
Author: Sergey Poznyakoff <address@hidden>
Date: Fri Mar 23 16:52:33 2012 +0200
Fix semantics of MU_IOCTL_SUBSTREAM.
This also fixes e75e9123, which broke TLS support in daemons.
* include/mailutils/stream.h (MU_IOCTL_TOPSTREAM): New ioctl.
* imap4d/imap4d.c (set_strerr_flt)
(clr_strerr_flt): Use MU_IOCTL_TOPSTREAM.
* pop3d/pop3d.c: Likewise.
* libmailutils/stream/fltstream.c (filter_ctl): Handle both
MU_IOCTL_SUBSTREAM and MU_IOCTL_TOPSTREAM.
* libmailutils/stream/iostream.c (_iostream_ctl): Likewise.
* libmailutils/stream/logstream.c (_log_ctl): Likewise.
* libmailutils/stream/xscript-stream.c (_xscript_ctl): Likewise.
commit bf8b7ff08f0c13e99ff39b49ce7bb3d34ec9a97a
Author: Sergey Poznyakoff <address@hidden>
Date: Fri Mar 23 16:46:20 2012 +0200
Minor fixes.
* libmailutils/mime/mimehdr.c (free_param_continuation): Change
return type to void.
* mu/shell.c: Include muaux.h
* libproto/imap/logout.c (mu_imap_logout): Logout is valid in any
state, except MU_IMAP_SESSION_INIT.
-----------------------------------------------------------------------
Summary of changes:
imap4d/imap4d.c | 10 +++++-----
include/mailutils/stream.h | 4 ++++
libmailutils/mime/mimehdr.c | 2 +-
libmailutils/stream/fltstream.c | 10 +++++++++-
libmailutils/stream/iostream.c | 1 +
libmailutils/stream/logstream.c | 8 ++++++++
libmailutils/stream/xscript-stream.c | 7 +++++++
libproto/imap/logout.c | 3 +--
mu/shell.c | 1 +
pop3d/pop3d.c | 10 +++++-----
10 files changed, 42 insertions(+), 14 deletions(-)
diff --git a/imap4d/imap4d.c b/imap4d/imap4d.c
index 03af348..98957c5 100644
--- a/imap4d/imap4d.c
+++ b/imap4d/imap4d.c
@@ -415,7 +415,7 @@ set_strerr_flt ()
mu_stream_t flt, trans[2];
int rc;
- rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_SUBSTREAM, MU_IOCTL_OP_GET, trans);
+ rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_TOPSTREAM, MU_IOCTL_OP_GET, trans);
if (rc == 0)
{
char sessidstr[10];
@@ -432,7 +432,7 @@ set_strerr_flt ()
mu_stream_set_buffer (flt, mu_buffer_line, 0);
trans[0] = flt;
trans[1] = NULL;
- rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_SUBSTREAM,
+ rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_TOPSTREAM,
MU_IOCTL_OP_SET, trans);
mu_stream_unref (trans[0]);
if (rc)
@@ -456,16 +456,16 @@ clr_strerr_flt ()
mu_stream_t flt, trans[2];
int rc;
- rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_SUBSTREAM, MU_IOCTL_OP_GET, trans);
+ rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_TOPSTREAM, MU_IOCTL_OP_GET, trans);
if (rc == 0)
{
flt = trans[0];
- rc = mu_stream_ioctl (flt, MU_IOCTL_SUBSTREAM, MU_IOCTL_OP_GET, trans);
+ rc = mu_stream_ioctl (flt, MU_IOCTL_TOPSTREAM, MU_IOCTL_OP_GET, trans);
if (rc == 0)
{
mu_stream_unref (trans[0]);
- rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_SUBSTREAM,
+ rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_TOPSTREAM,
MU_IOCTL_OP_SET, trans);
if (rc == 0)
mu_stream_unref (flt);
diff --git a/include/mailutils/stream.h b/include/mailutils/stream.h
index b0bdc4f..bbf9ec3 100644
--- a/include/mailutils/stream.h
+++ b/include/mailutils/stream.h
@@ -73,6 +73,10 @@ enum mu_buffer_type
#define MU_IOCTL_FD 9 /* File descriptor manipulation */
#define MU_IOCTL_SYSLOGSTREAM 10 /* Syslog stream (see below) */
#define MU_IOCTL_FILTER 11 /* Filter streams (see below) */
+#define MU_IOCTL_TOPSTREAM 12 /* Same as MU_IOCTL_SUBSTREAM, but
+ always returns the topmost substream,
+ traversing stream chains if necessary.
+ */
/* Opcodes common for various families */
#define MU_IOCTL_OP_GET 0
diff --git a/libmailutils/mime/mimehdr.c b/libmailutils/mime/mimehdr.c
index a922c52..a475159 100644
--- a/libmailutils/mime/mimehdr.c
+++ b/libmailutils/mime/mimehdr.c
@@ -134,7 +134,7 @@ struct param_continuation
const char *param_cset;
};
-static int
+static void
free_param_continuation (struct param_continuation *p)
{
free (p->param_name);
diff --git a/libmailutils/stream/fltstream.c b/libmailutils/stream/fltstream.c
index 8b26d27..9a8e4b5 100644
--- a/libmailutils/stream/fltstream.c
+++ b/libmailutils/stream/fltstream.c
@@ -398,7 +398,8 @@ static int
filter_ctl (struct _mu_stream *stream, int code, int opcode, void *ptr)
{
struct _mu_filter_stream *fs = (struct _mu_filter_stream *)stream;
-
+ int status;
+
switch (code)
{
case MU_IOCTL_FILTER:
@@ -423,6 +424,13 @@ filter_ctl (struct _mu_stream *stream, int code, int
opcode, void *ptr)
break;
case MU_IOCTL_SUBSTREAM:
+ if (fs->transport &&
+ ((status = mu_stream_ioctl (fs->transport, code, opcode, ptr)) == 0
+ || status != ENOSYS))
+ return status;
+ /* fall through */
+
+ case MU_IOCTL_TOPSTREAM:
if (!ptr)
return EINVAL;
else
diff --git a/libmailutils/stream/iostream.c b/libmailutils/stream/iostream.c
index 753cdc0..4eb0a80 100644
--- a/libmailutils/stream/iostream.c
+++ b/libmailutils/stream/iostream.c
@@ -159,6 +159,7 @@ _iostream_ctl (struct _mu_stream *str, int code, int
opcode, void *arg)
break;
case MU_IOCTL_SUBSTREAM:
+ case MU_IOCTL_TOPSTREAM:
if (!arg)
return EINVAL;
else
diff --git a/libmailutils/stream/logstream.c b/libmailutils/stream/logstream.c
index 3bcc684..81b9f65 100644
--- a/libmailutils/stream/logstream.c
+++ b/libmailutils/stream/logstream.c
@@ -281,6 +281,7 @@ static int
_log_ctl (struct _mu_stream *str, int code, int opcode, void *arg)
{
struct _mu_log_stream *sp = (struct _mu_log_stream *)str;
+ int status;
switch (code)
{
@@ -310,6 +311,13 @@ _log_ctl (struct _mu_stream *str, int code, int opcode,
void *arg)
break;
case MU_IOCTL_SUBSTREAM:
+ if (sp->transport &&
+ ((status = mu_stream_ioctl (sp->transport, code, opcode, arg)) == 0
||
+ status != ENOSYS))
+ return status;
+ /* fall through */
+
+ case MU_IOCTL_TOPSTREAM:
if (!arg)
return EINVAL;
else
diff --git a/libmailutils/stream/xscript-stream.c
b/libmailutils/stream/xscript-stream.c
index 281eae4..9eb19ef 100644
--- a/libmailutils/stream/xscript-stream.c
+++ b/libmailutils/stream/xscript-stream.c
@@ -288,6 +288,13 @@ _xscript_ctl (struct _mu_stream *str, int code, int
opcode, void *arg)
break;
case MU_IOCTL_SUBSTREAM:
+ if (sp->transport &&
+ ((status = mu_stream_ioctl (sp->transport, code, opcode, arg)) == 0
||
+ status != ENOSYS))
+ return status;
+ /* fall through */
+
+ case MU_IOCTL_TOPSTREAM:
if (!arg)
return EINVAL;
switch (opcode)
diff --git a/libproto/imap/logout.c b/libproto/imap/logout.c
index e3e0c66..53be6bf 100644
--- a/libproto/imap/logout.c
+++ b/libproto/imap/logout.c
@@ -32,8 +32,7 @@ mu_imap_logout (mu_imap_t imap)
return EINVAL;
if (!imap->io)
return MU_ERR_NO_TRANSPORT;
- if (!(imap->session_state == MU_IMAP_SESSION_AUTH ||
- imap->session_state == MU_IMAP_SESSION_SELECTED))
+ if (imap->session_state == MU_IMAP_SESSION_INIT)
return MU_ERR_SEQ;
switch (imap->client_state)
diff --git a/mu/shell.c b/mu/shell.c
index 0aa3778..bfc4ad0 100644
--- a/mu/shell.c
+++ b/mu/shell.c
@@ -23,6 +23,7 @@
#include <mailutils/mailutils.h>
#include <mailutils/tls.h>
#include "mailutils/libargp.h"
+#include "muaux.h"
#include "mu.h"
#include "xalloc.h"
diff --git a/pop3d/pop3d.c b/pop3d/pop3d.c
index 223db35..efe4155 100644
--- a/pop3d/pop3d.c
+++ b/pop3d/pop3d.c
@@ -372,7 +372,7 @@ set_strerr_flt ()
mu_stream_t flt, trans[2];
int rc;
- rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_SUBSTREAM, MU_IOCTL_OP_GET, trans);
+ rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_TOPSTREAM, MU_IOCTL_OP_GET, trans);
if (rc == 0)
{
char sessidstr[10];
@@ -389,7 +389,7 @@ set_strerr_flt ()
mu_stream_set_buffer (flt, mu_buffer_line, 0);
trans[0] = flt;
trans[1] = NULL;
- rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_SUBSTREAM,
+ rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_TOPSTREAM,
MU_IOCTL_OP_SET, trans);
mu_stream_unref (trans[0]);
if (rc)
@@ -413,16 +413,16 @@ clr_strerr_flt ()
mu_stream_t flt, trans[2];
int rc;
- rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_SUBSTREAM, MU_IOCTL_OP_GET, trans);
+ rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_TOPSTREAM, MU_IOCTL_OP_GET, trans);
if (rc == 0)
{
flt = trans[0];
- rc = mu_stream_ioctl (flt, MU_IOCTL_SUBSTREAM, MU_IOCTL_OP_GET, trans);
+ rc = mu_stream_ioctl (flt, MU_IOCTL_TOPSTREAM, MU_IOCTL_OP_GET, trans);
if (rc == 0)
{
mu_stream_unref (trans[0]);
- rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_SUBSTREAM,
+ rc = mu_stream_ioctl (mu_strerr, MU_IOCTL_TOPSTREAM,
MU_IOCTL_OP_SET, trans);
if (rc == 0)
mu_stream_unref (flt);
hooks/post-receive
--
GNU Mailutils
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Mailutils branch, master, updated. release-2.2-584-g9f9d7b0,
Sergey Poznyakoff <=