X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=client.h;h=28b786a4ce091e132863a0076c6473b645dd60d2;hp=98dc32db5fdd547db412836e2f0925436064c3e7;hb=c0abcee0da53a6b399c3d16a62830aaa9ae21349;hpb=a694ab16b6ff43b545ccd530360b7224433a5b76 diff --git a/client.h b/client.h index 98dc32db..28b786a4 100644 --- a/client.h +++ b/client.h @@ -1,13 +1,11 @@ /* - * Copyright (C) 1997-2009 Andre Noll + * Copyright (C) 1997-2011 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ /** \file client.h Common client functions and exported symbols from client_common.c. */ -#include - /** The different states of a connection from the view of the client. */ enum { /** TCP connection is established. */ @@ -16,8 +14,6 @@ enum { CL_RECEIVED_WELCOME, /** Client sends the authentification request. */ CL_SENT_AUTH, - /** Server sends a challenge. */ - CL_RECEIVED_CHALLENGE, /** Client solves the challenge and sends the result. */ CL_SENT_CH_RESPONSE, /** Server accepts this authentication. */ @@ -30,15 +26,12 @@ enum { CL_RECEIVING, }; -/** The size of the receiving buffer. */ -#define CLIENT_BUFSIZE 8192 - /** Data specific to a client task. */ struct client_task { /** The state of the connection. */ int status; - /** The file descriptor and the rc4 keys. */ - struct rc4_context rc4c; + /** The file descriptor and the session keys. */ + struct stream_cipher_context scc; /** The configuration (including the command). */ struct client_args_info conf; /** The config file for client options. */ @@ -49,22 +42,10 @@ struct client_task { char *user; /** The client task structure. */ struct task task; - /** The buffer used for handshake and receiving. */ - char *buf; - /** Number of bytes loaded in \a buf. */ - size_t loaded; - /** Non-zero if the pre_select hook added \a fd to the read fd set. */ - int check_r; - /** Non-zero if the pre_select hook added \a fd to the write fd set. */ - int check_w; - /** Pointer to the data to be sent to para_server. */ - char *inbuf; - /** Number of bytes loaded in \a inbuf. */ - size_t *in_loaded; - /** Non-zero if input task encountered an eof or an error condition. */ - int *in_error; + /** The buffer tree node of the client task. */ + struct btr_node *btrn; }; void client_close(struct client_task *ct); -int client_open(int argc, char *argv[], struct client_task **ct, - int *loglevel); +int client_open(int argc, char *argv[], struct client_task **ct_ptr, + int *loglevel, struct btr_node *parent, struct btr_node *child);