X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=client.h;h=2f257221510b1cb0b0848eb615d1dfb894f0cc81;hp=a423406238204c3ba9b86e066fc82fead3dc16d9;hb=c257c9c321c6e9494dbcbb6da0af675c3a2aa8e4;hpb=e151dbb79eac16326585ec0a33cf48029f5f22f4 diff --git a/client.h b/client.h index a4234062..2f257221 100644 --- a/client.h +++ b/client.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2012 Andre Noll + * Copyright (C) 1997 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -12,18 +12,18 @@ enum { CL_CONNECTED, /** Server sends the welcome message. */ CL_RECEIVED_WELCOME, - /** Client sends the authentification request. */ + /** Client sends the authentication request. */ CL_SENT_AUTH, + /** Server sends encrypted challenge. */ + CL_RECEIVED_CHALLENGE, /** Client solves the challenge and sends the result. */ CL_SENT_CH_RESPONSE, /** Server accepts this authentication. */ CL_RECEIVED_PROCEED, - /** Client sends the command. */ - CL_SENT_COMMAND, - /** Server expects data. */ + /** Command is executing. */ + CL_EXECUTING, + /** Server is expecting data (addblob commands only). */ CL_SENDING, - /** Client expects data. */ - CL_RECEIVING, }; /** Data specific to a client task. */ @@ -32,10 +32,12 @@ struct client_task { int status; /** The file descriptor and the session keys. */ struct stream_cipher_context scc; - /** True if this connections uses the sideband API. */ - bool use_sideband; - /** The sideband context, ignored if \a use_sideband is false. */ - struct sb_context *sbc; + /** The sideband contexts for receiving/sending. */ + struct sb_context *sbc[2]; + /** The buffer tree nodes for receiving/sending. */ + struct btr_node *btrn[2]; + /** The hash value of the decrypted challenge. */ + unsigned char *challenge_hash; /** The configuration (including the command). */ struct client_args_info conf; /** The config file for client options. */ @@ -45,14 +47,11 @@ struct client_task { /** Paraslash user name. */ char *user; /** The client task structure. */ - struct task task; - /** The buffer tree node of the client task. */ - struct btr_node *btrn; + struct task *task; /** List of features supported by the server. */ char **features; }; -void client_disconnect(struct client_task *ct); void client_close(struct client_task *ct); int client_parse_config(int argc, char *argv[], struct client_task **ct_ptr, int *loglevel);