[idms-dbma-devel]commit - r54 - trunk/modules/protocols/imap4
Status: Pre-Alpha
Brought to you by:
nkukard
|
From: <idm...@li...> - 2004-10-24 19:57:17
|
Author: nkukard
Date: 2004-10-24 21:57:07 +0200 (Sun, 24 Oct 2004)
New Revision: 54
Modified:
trunk/modules/protocols/imap4/command_lexer.l
trunk/modules/protocols/imap4/imap4.c
trunk/modules/protocols/imap4/imap4.h
trunk/modules/protocols/imap4/imap4_cmd_append.c
trunk/modules/protocols/imap4/imap4_cmd_authenticate.c
trunk/modules/protocols/imap4/imap4_cmd_capability.c
trunk/modules/protocols/imap4/imap4_cmd_check.c
trunk/modules/protocols/imap4/imap4_cmd_close.c
trunk/modules/protocols/imap4/imap4_cmd_copy.c
trunk/modules/protocols/imap4/imap4_cmd_create.c
trunk/modules/protocols/imap4/imap4_cmd_delete.c
trunk/modules/protocols/imap4/imap4_cmd_expunge.c
trunk/modules/protocols/imap4/imap4_cmd_fetch.c
trunk/modules/protocols/imap4/imap4_cmd_list.c
trunk/modules/protocols/imap4/imap4_cmd_login.c
trunk/modules/protocols/imap4/imap4_cmd_logout.c
trunk/modules/protocols/imap4/imap4_cmd_lsub.c
trunk/modules/protocols/imap4/imap4_cmd_noop.c
trunk/modules/protocols/imap4/imap4_cmd_rename.c
trunk/modules/protocols/imap4/imap4_cmd_search.c
trunk/modules/protocols/imap4/imap4_cmd_select.c
trunk/modules/protocols/imap4/imap4_cmd_starttls.c
trunk/modules/protocols/imap4/imap4_cmd_status.c
trunk/modules/protocols/imap4/imap4_cmd_store.c
trunk/modules/protocols/imap4/imap4_cmd_subscribe.c
trunk/modules/protocols/imap4/imap4_cmd_uid.c
trunk/modules/protocols/imap4/imap4_cmd_unsubscribe.c
Log:
* Some small changes to accomodate the socklib.c changes
* Added missing headers
* GCC warning fixes
Modified: trunk/modules/protocols/imap4/command_lexer.l
===================================================================
--- trunk/modules/protocols/imap4/command_lexer.l 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/command_lexer.l 2004-10-24 19:57:07 UTC (rev 54)
@@ -104,6 +104,7 @@
#include "command_lexer.h"
#include "command_parser.h"
#include "debug.h"
+#include "misc.h"
#define P_DEFAULT -1
@@ -181,7 +182,7 @@
};
-
+/* Various prototypes we need */
void * commandget_extra(yyscan_t yyscanner);
void commandset_extra(void * user_defined, yyscan_t yyscanner);
@@ -241,6 +242,7 @@
state->error = strdup(s);
+ return 0;
}
@@ -895,8 +897,8 @@
/* Scan in date, MUST result in res == 7 */
- if ((res = sscanf(yytext,"\"%d-%3s-%d %d:%d:%d %s\"",&tmstruct.tm_mday,&month,
- &tmstruct.tm_year,&tmstruct.tm_hour,&tmstruct.tm_min,&tmstruct.tm_sec,&zone)) == 7)
+ if ((res = sscanf(yytext,"\"%d-%3s-%d %d:%d:%d %s\"",&tmstruct.tm_mday,month,
+ &tmstruct.tm_year,&tmstruct.tm_hour,&tmstruct.tm_min,&tmstruct.tm_sec,zone)) == 7)
{
/* Set some things we can't directly parse in above */
tmstruct.tm_mon = month2int(month);
Modified: trunk/modules/protocols/imap4/imap4.c
===================================================================
--- trunk/modules/protocols/imap4/imap4.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -102,11 +102,26 @@
data->username = NULL;
data->password = NULL;
+
+ /* Check if our memory allocation succeeded */
+ if (!(data->cmdLine = malloc(IMAP4_CMD_LEN)))
+ return 1;
data->tmpBufSize = IMAP4_RESP_LEN;
- data->tmpBuf = malloc(data->tmpBufSize);
- data->tmpCmd = malloc(sizeof(struct imap4_command_t));
+ if (!(data->tmpBuf = malloc(data->tmpBufSize)))
+ {
+ free(data->cmdLine);
+ return 1;
+ }
+
+ if (!(data->tmpCmd = malloc(sizeof(struct imap4_command_t))))
+ {
+ free(data->cmdLine);
+ free(data->tmpBuf);
+ return 1;
+ }
+
data->cmdHandle = NULL;
data->storeHandle = NULL;
@@ -131,7 +146,7 @@
/* Check if we must process user input */
fprintf(stderr,"We need user input\n");
data->position = IMAP4_POS_CMD;
- queueToReceive(connection,IMAP4_CMD_LEN,(data->state ==
+ queueToReceive(connection,data->cmdLine,IMAP4_CMD_LEN,(data->state ==
IMAP4_STATE_PREAUTH ? IMAP4_IO_PREAUTH_TIMEOUT : IMAP4_IO_TIMEOUT));
/* Exit here to bypass the fallthrough queueToSend */
return 0;
@@ -142,13 +157,10 @@
static int imap4_cmd(struct clientConnection_t *connection)
{
struct imap4_data_t *data = connection->data;
- struct imap4_cmd_t *imap4_cmd;
- char *buffer;
- buffer = getIOBuffer(connection);
/* Use our gramatical parser to parse command */
- parseCommand(buffer,data->tmpCmd);
+ parseCommand(data->cmdLine,data->tmpCmd);
D_PRINT(D_DEBUG,"Got command %i",data->tmpCmd->id);
/* Check what the outcome is */
if (data->tmpCmd->id > 0)
@@ -254,7 +266,6 @@
static int imap4_handler(struct clientConnection_t *connection)
{
struct imap4_data_t *data = connection->data;
- unsigned int timeout;
struct imap4_static_cmd_t *cmd = (struct imap4_static_cmd_t *) imap4_commands;
int ioState;
Modified: trunk/modules/protocols/imap4/imap4.h
===================================================================
--- trunk/modules/protocols/imap4/imap4.h 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4.h 2004-10-24 19:57:07 UTC (rev 54)
@@ -75,6 +75,8 @@
/* Username & password client entered */
char *username;
char *password;
+ /* Command line storage */
+ char *cmdLine;
/* Temporary stuff */
struct imap4_command_t *tmpCmd; /* this we use so we don't always have to malloc() */
char *tmpBuf;
Modified: trunk/modules/protocols/imap4/imap4_cmd_append.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_append.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_append.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,8 @@
*/
#include <stdio.h>
+#include <string.h>
+#include <time.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
@@ -36,6 +38,7 @@
struct imap4_cmd_append_t
{
char *tag;
+ char *buffer;
size_t size;
size_t pos;
void *handle;
@@ -84,7 +87,9 @@
D_PRINT(D_FATAL,"Failed to allocate memory");
return IMAP4_ERROR_FATAL;
}
-
+
+ // FIXME - erro check
+ cmdState->buffer = malloc(MAX_RECV_BUFSIZE);
cmdState->tag = strdup(cmdStruct->tag);
cmdState->size = appendParam->length + 2; /* +2 for CRLF */
cmdState->handle = NULL;
@@ -113,8 +118,6 @@
{
struct imap4_data_t *data = connection->data;
struct imap4_cmd_append_t *cmdState;
- char *buffer = NULL;
- size_t read = 0;
size_t dataLeft;
@@ -127,10 +130,7 @@
/* Initialize everything */
if (cmdState->handle)
- {
- buffer = getIOBuffer(connection);
cmdState->pos += getIOBufPos(connection);
- }
else
{
/* FIXME - call storage handler and create handle to new message */
@@ -143,7 +143,8 @@
/* Accept buffer */
if (dataLeft > 0)
{
- queueToReceiveRaw(connection,(dataLeft > MAX_RECV_BUFSIZE ? MAX_RECV_BUFSIZE : dataLeft),
+ // FIXME - queue IO to file here
+ queueToReceiveRaw(connection,cmdState->buffer,(dataLeft > MAX_RECV_BUFSIZE ? MAX_RECV_BUFSIZE : dataLeft),
IMAP4_IO_TIMEOUT);
}
else
@@ -152,6 +153,7 @@
snprintf(data->tmpBuf,data->tmpBufSize,"%s OK APPEND Completed"EOL,cmdState->tag);
/* Free state information */
+ free(cmdState->buffer);
free(cmdState->tag);
free(cmdState);
data->cmdHandle = NULL;
Modified: trunk/modules/protocols/imap4/imap4_cmd_authenticate.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_authenticate.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_authenticate.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -22,6 +22,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
Modified: trunk/modules/protocols/imap4/imap4_cmd_capability.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_capability.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_capability.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -22,6 +22,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "socklib.h"
Modified: trunk/modules/protocols/imap4/imap4_cmd_check.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_check.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_check.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
Modified: trunk/modules/protocols/imap4/imap4_cmd_close.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_close.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_close.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
@@ -32,7 +33,6 @@
int imap4_cmd_close(IMAP4_CMD_PARAMS)
{
struct imap4_data_t *data = connection->data;
- char *mailbox;
/* Check if we in the right state and continue */
Modified: trunk/modules/protocols/imap4/imap4_cmd_copy.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_copy.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_copy.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
Modified: trunk/modules/protocols/imap4/imap4_cmd_create.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_create.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_create.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -22,6 +22,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
Modified: trunk/modules/protocols/imap4/imap4_cmd_delete.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_delete.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_delete.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
Modified: trunk/modules/protocols/imap4/imap4_cmd_expunge.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_expunge.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_expunge.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
Modified: trunk/modules/protocols/imap4/imap4_cmd_fetch.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_fetch.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_fetch.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
@@ -48,7 +49,6 @@
/* Check if we in the right state */
if (data->state == IMAP4_STATE_SELECTED)
{
- char *dataItems;
struct imap4_cmd_fetch_t *cmdState;
@@ -97,7 +97,7 @@
/* Check that we really do have data */
if ((fRes = cmdState->listPos->data))
{
- char buffer[1024];
+ //char buffer[1024];
#if 0
/* Blank buffer */
Modified: trunk/modules/protocols/imap4/imap4_cmd_list.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_list.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_list.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
Modified: trunk/modules/protocols/imap4/imap4_cmd_login.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_login.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_login.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -22,6 +22,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
Modified: trunk/modules/protocols/imap4/imap4_cmd_logout.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_logout.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_logout.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -22,6 +22,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "socklib.h"
Modified: trunk/modules/protocols/imap4/imap4_cmd_lsub.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_lsub.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_lsub.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
Modified: trunk/modules/protocols/imap4/imap4_cmd_noop.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_noop.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_noop.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -22,6 +22,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "socklib.h"
@@ -82,7 +83,6 @@
{
struct imap4_data_t *data = connection->data;
struct imap4_cmd_noop_t *cmdState;
- char *buffer;
unsigned int i;
@@ -109,8 +109,7 @@
case POS_END:
/* Last return result we sending */
- snprintf(data->tmpBuf,data->tmpBufSize,"%s OK NOOP Completed"EOL,cmdState->tag,
- buffer);
+ snprintf(data->tmpBuf,data->tmpBufSize,"%s OK NOOP Completed"EOL,cmdState->tag);
/* Free state information */
free(cmdState->tag);
Modified: trunk/modules/protocols/imap4/imap4_cmd_rename.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_rename.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_rename.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
Modified: trunk/modules/protocols/imap4/imap4_cmd_search.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_search.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_search.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
@@ -48,7 +49,6 @@
/* Check if we in the right state */
if (data->state == IMAP4_STATE_SELECTED)
{
- char *searchString;
struct imap4_cmd_search_t *cmdState;
Modified: trunk/modules/protocols/imap4/imap4_cmd_select.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_select.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_select.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -22,6 +22,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "mailstore.h"
Modified: trunk/modules/protocols/imap4/imap4_cmd_starttls.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_starttls.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_starttls.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -22,6 +22,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "socklib.h"
@@ -32,7 +33,6 @@
int imap4_cmd_starttls(IMAP4_CMD_PARAMS)
{
struct imap4_data_t *data = connection->data;
- char *method;
/* Check if we in the correct state */
Modified: trunk/modules/protocols/imap4/imap4_cmd_status.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_status.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_status.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
Modified: trunk/modules/protocols/imap4/imap4_cmd_store.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_store.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_store.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
@@ -48,7 +49,7 @@
/* Check if we in the right state */
if (data->state == IMAP4_STATE_SELECTED)
{
- char *dataItems;
+ //char *dataItems;
struct imap4_cmd_store_t *cmdState;
@@ -98,7 +99,7 @@
/* Check that we really do have data */
if ((fRes = cmdState->listPos->data))
{
- char buffer[1024];
+ // char buffer[1024];
#if 0
/* Blank buffer */
Modified: trunk/modules/protocols/imap4/imap4_cmd_subscribe.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_subscribe.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_subscribe.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
Modified: trunk/modules/protocols/imap4/imap4_cmd_uid.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_uid.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_uid.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
@@ -46,7 +47,7 @@
if (data->state == IMAP4_STATE_SELECTED)
{
- char *command, *criteria;
+ //char *command, *criteria;
snprintf(data->tmpBuf,data->tmpBufSize,"* 2 WHATEVER "EOL);
Modified: trunk/modules/protocols/imap4/imap4_cmd_unsubscribe.c
===================================================================
--- trunk/modules/protocols/imap4/imap4_cmd_unsubscribe.c 2004-10-24 19:50:20 UTC (rev 53)
+++ trunk/modules/protocols/imap4/imap4_cmd_unsubscribe.c 2004-10-24 19:57:07 UTC (rev 54)
@@ -23,6 +23,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include "debug.h"
#include "imap4_cmds.h"
#include "misc.h"
|