[dovecot-cvs] dovecot/src/pop3 capability.h,NONE,1.1 Makefile.am,1.1,1.2 client.c,1.4,1.5 commands.c,1.5,1.6

cras at procontrol.fi cras at procontrol.fi
Thu Jan 30 21:52:41 EET 2003


Update of /home/cvs/dovecot/src/pop3
In directory danu:/tmp/cvs-serv21058/pop3

Modified Files:
	Makefile.am client.c commands.c 
Added Files:
	capability.h 
Log Message:
Support for CAPA command (rfc2449).



--- NEW FILE: capability.h ---
#ifndef __POP3_CAPABILITY_H
#define __POP3_CAPABILITY_H

#define POP3_CAPABILITY_REPLY \
	"CAPA\r\n" \
	"TOP\r\n" \
	"USER\r\n" \
	"UIDL\r\n" \
	"RESP-CODES\r\n"

/* + SASL */

#endif

Index: Makefile.am
===================================================================
RCS file: /home/cvs/dovecot/src/pop3/Makefile.am,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Makefile.am	27 Jan 2003 05:45:47 -0000	1.1
+++ Makefile.am	30 Jan 2003 19:52:39 -0000	1.2
@@ -30,6 +30,7 @@
 	main.c
 
 noinst_HEADERS = \
+	capability.h \
 	client.h \
 	commands.h \
 	common.h

Index: client.c
===================================================================
RCS file: /home/cvs/dovecot/src/pop3/client.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- client.c	30 Jan 2003 18:05:33 -0000	1.4
+++ client.c	30 Jan 2003 19:52:39 -0000	1.5
@@ -99,7 +99,7 @@
 		}
 	}
 
-	client_send_line(client, "-ERR Couldn't sync mailbox.");
+	client_send_line(client, "-ERR [IN-USE] Couldn't sync mailbox.");
 	return FALSE;
 }
 

Index: commands.c
===================================================================
RCS file: /home/cvs/dovecot/src/pop3/commands.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- commands.c	30 Jan 2003 18:05:33 -0000	1.5
+++ commands.c	30 Jan 2003 19:52:39 -0000	1.6
@@ -6,6 +6,7 @@
 #include "str.h"
 #include "message-size.h"
 #include "mail-storage.h"
+#include "capability.h"
 #include "commands.h"
 
 #define MSGS_BITMASK_SIZE(client) \
@@ -84,6 +85,12 @@
 	return args;
 }
 
+static int cmd_capa(struct client *client, const char *args __attr_unused__)
+{
+	client_send_line(client, "+OK\r\n"POP3_CAPABILITY_REPLY".");
+	return TRUE;
+}
+
 static int cmd_dele(struct client *client, const char *args)
 {
 	unsigned int msgnum;
@@ -401,6 +408,10 @@
 	while (*args == ' ') args++;
 
 	switch (*name) {
+	case 'C':
+		if (strcmp(name, "CAPA") == 0)
+			return cmd_capa(client, args);
+		break;
 	case 'D':
 		if (strcmp(name, "DELE") == 0)
 			return cmd_dele(client, args);




More information about the dovecot-cvs mailing list