chiark
/
gitweb
/
~mdw
/
disorder
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Disobedience login window now has a 'remote' switch. When off it will
[disorder]
/
lib
/
client.c
diff --git
a/lib/client.c
b/lib/client.c
index d357a8ca67af471db37307bd33e70bebff37d7af..ba1477aa2436d15b1243b4039e2aca64682b500d 100644
(file)
--- a/
lib/client.c
+++ b/
lib/client.c
@@
-24,24
+24,19
@@
* implementation.
*/
* implementation.
*/
-#include <config.h>
-#include "types.h"
+#include "common.h"
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/un.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/un.h>
-#include <string.h>
-#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include <netdb.h>
#include <unistd.h>
#include <errno.h>
#include <netdb.h>
-#include <stdlib.h>
#include <pcre.h>
#include "log.h"
#include "mem.h"
#include <pcre.h>
#include "log.h"
#include "mem.h"
-#include "configuration.h"
#include "queue.h"
#include "client.h"
#include "charset.h"
#include "queue.h"
#include "client.h"
#include "charset.h"
@@
-252,6
+247,7
@@
static int dequote(int rc, char **rp) {
}
/** @brief Generic connection routine
}
/** @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
* @param c Client
* @param username Username to log in with or NULL
* @param password Password to log in with or NULL
@@
-262,10
+258,11
@@
static int dequote(int rc, char **rp) {
* username must not be. If @p username is not NULL then nor may @p
* password be.
*/
* 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;
int fd = -1, fd2 = -1, nrvec, rc;
unsigned char *nonce;
size_t nl;
@@
-275,7
+272,7
@@
static int disorder_connect_generic(disorder_client *c,
struct sockaddr *sa;
socklen_t salen;
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) {
return -1;
c->fpin = c->fpout = 0;
if((fd = socket(sa->sa_family, SOCK_STREAM, 0)) < 0) {
@@
-367,7
+364,8
@@
error_rc:
int disorder_connect_user(disorder_client *c,
const char *username,
const char *password) {
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);
username,
password,
0);
@@
-403,7
+401,8
@@
int disorder_connect(disorder_client *c) {
error(0, "no password configured");
return -1;
}
error(0, "no password configured");
return -1;
}
- return disorder_connect_generic(c,
+ return disorder_connect_generic(config,
+ c,
username,
password,
0);
username,
password,
0);
@@
-420,7
+419,8
@@
int disorder_connect(disorder_client *c) {
*/
int disorder_connect_cookie(disorder_client *c,
const char *cookie) {
*/
int disorder_connect_cookie(disorder_client *c,
const char *cookie) {
- return disorder_connect_generic(c,
+ return disorder_connect_generic(config,
+ c,
"guest",
"",
cookie);
"guest",
"",
cookie);