X-Git-Url: https://git.distorted.org.uk/~mdw/disorder/blobdiff_plain/05b75f8d50b83e943af3be4071449304d82dbdcd..132a5a4a47f9dbc7c52ee15234d70258c59ccf8e:/lib/client.c diff --git a/lib/client.c b/lib/client.c index 84eb77e..9a676c9 100644 --- a/lib/client.c +++ b/lib/client.c @@ -2,20 +2,18 @@ * This file is part of DisOrder. * Copyright (C) 2004-2008 Richard Kettlewell * - * This program is free software; you can redistribute it and/or modify + * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA + * along with this program. If not, see . */ /** @file lib/client.c * @brief Simple C client @@ -37,7 +35,6 @@ #include "log.h" #include "mem.h" -#include "configuration.h" #include "queue.h" #include "client.h" #include "charset.h" @@ -248,6 +245,7 @@ static int dequote(int rc, char **rp) { } /** @brief Generic connection routine + * @param conf Configuration to follow * @param c Client * @param username Username to log in with or NULL * @param password Password to log in with or NULL @@ -258,10 +256,11 @@ static int dequote(int rc, char **rp) { * username must not be. If @p username is not NULL then nor may @p * password be. */ -static int disorder_connect_generic(disorder_client *c, - const char *username, - const char *password, - const char *cookie) { +int disorder_connect_generic(struct config *conf, + disorder_client *c, + const char *username, + const char *password, + const char *cookie) { int fd = -1, fd2 = -1, nrvec, rc; unsigned char *nonce; size_t nl; @@ -271,7 +270,7 @@ static int disorder_connect_generic(disorder_client *c, struct sockaddr *sa; socklen_t salen; - if((salen = find_server(&sa, &c->ident)) == (socklen_t)-1) + if((salen = find_server(conf, &sa, &c->ident)) == (socklen_t)-1) return -1; c->fpin = c->fpout = 0; if((fd = socket(sa->sa_family, SOCK_STREAM, 0)) < 0) { @@ -363,7 +362,8 @@ error_rc: int disorder_connect_user(disorder_client *c, const char *username, const char *password) { - return disorder_connect_generic(c, + return disorder_connect_generic(config, + c, username, password, 0); @@ -399,7 +399,8 @@ int disorder_connect(disorder_client *c) { error(0, "no password configured"); return -1; } - return disorder_connect_generic(c, + return disorder_connect_generic(config, + c, username, password, 0); @@ -416,7 +417,8 @@ int disorder_connect(disorder_client *c) { */ int disorder_connect_cookie(disorder_client *c, const char *cookie) { - return disorder_connect_generic(c, + return disorder_connect_generic(config, + c, "guest", "", cookie);