Don't use sic's hg tip, it is broken atm...
This commit is contained in:
parent
e3cbbe71c2
commit
a3abf3b3ef
28
sic.c
28
sic.c
@ -16,7 +16,7 @@
|
|||||||
#define PINGTIMEOUT 300
|
#define PINGTIMEOUT 300
|
||||||
#define MAXMSG 4096
|
#define MAXMSG 4096
|
||||||
|
|
||||||
static char *server = "irc.oftc.net";
|
static char *host = "irc.oftc.net";
|
||||||
static unsigned short port = 6667;
|
static unsigned short port = 6667;
|
||||||
static char *nick = NULL;
|
static char *nick = NULL;
|
||||||
static char *fullname = NULL;
|
static char *fullname = NULL;
|
||||||
@ -140,7 +140,7 @@ parsesrv(char *msg) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
snprintf(bufout, sizeof bufout, "-!- %s", cmd);
|
snprintf(bufout, sizeof bufout, "-!- %s", cmd);
|
||||||
pout(server, bufout);
|
pout(host, bufout);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
@ -154,8 +154,8 @@ main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
nick = fullname = getenv("USER");
|
nick = fullname = getenv("USER");
|
||||||
for(i = 1; i < argc; i++)
|
for(i = 1; i < argc; i++)
|
||||||
if(!strncmp(argv[i], "-s", 3)) {
|
if(!strncmp(argv[i], "-h", 3)) {
|
||||||
if(++i < argc) server = argv[i];
|
if(++i < argc) host = argv[i];
|
||||||
}
|
}
|
||||||
else if(!strncmp(argv[i], "-p", 3)) {
|
else if(!strncmp(argv[i], "-p", 3)) {
|
||||||
if(++i < argc) port = (unsigned short)atoi(argv[i]);
|
if(++i < argc) port = (unsigned short)atoi(argv[i]);
|
||||||
@ -174,18 +174,18 @@ main(int argc, char *argv[]) {
|
|||||||
exit(EXIT_SUCCESS);
|
exit(EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
fputs("usage: sic [-s server] [-p port] [-n nick]"
|
fputs("usage: sic [-h host] [-p port] [-n nick]"
|
||||||
" [-k keyword] [-f fullname] [-v]\n", stderr);
|
" [-k keyword] [-f fullname] [-v]\n", stderr);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* init */
|
/* init */
|
||||||
if((srv = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
|
if((srv = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
|
||||||
fprintf(stderr, "sic: cannot connect server '%s'\n", server);
|
fprintf(stderr, "sic: cannot connect host '%s'\n", host);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
if (NULL == (hp = gethostbyname(server))) {
|
if (NULL == (hp = gethostbyname(host))) {
|
||||||
fprintf(stderr, "sic: cannot resolve hostname '%s'\n", server);
|
fprintf(stderr, "sic: cannot resolve hostname '%s'\n", host);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
addr.sin_family = AF_INET;
|
addr.sin_family = AF_INET;
|
||||||
@ -193,19 +193,19 @@ main(int argc, char *argv[]) {
|
|||||||
memcpy(&addr.sin_addr, hp->h_addr, hp->h_length);
|
memcpy(&addr.sin_addr, hp->h_addr, hp->h_length);
|
||||||
if(connect(srv, (struct sockaddr *) &addr, sizeof(struct sockaddr_in))) {
|
if(connect(srv, (struct sockaddr *) &addr, sizeof(struct sockaddr_in))) {
|
||||||
close(srv);
|
close(srv);
|
||||||
fprintf(stderr, "sic: cannot connect server '%s'\n", server);
|
fprintf(stderr, "sic: cannot connect host '%s'\n", host);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
/* login */
|
/* login */
|
||||||
if(password)
|
if(password)
|
||||||
snprintf(bufout, sizeof bufout,
|
snprintf(bufout, sizeof bufout,
|
||||||
"PASS %s\r\nNICK %s\r\nUSER %s localhost %s :%s\r\n",
|
"PASS %s\r\nNICK %s\r\nUSER %s localhost %s :%s\r\n",
|
||||||
password, nick, nick, server, fullname);
|
password, nick, nick, host, fullname);
|
||||||
else
|
else
|
||||||
snprintf(bufout, sizeof bufout, "NICK %s\r\nUSER %s localhost %s :%s\r\n",
|
snprintf(bufout, sizeof bufout, "NICK %s\r\nUSER %s localhost %s :%s\r\n",
|
||||||
nick, nick, server, fullname);
|
nick, nick, host, fullname);
|
||||||
write(srv, bufout, strlen(bufout));
|
write(srv, bufout, strlen(bufout));
|
||||||
snprintf(ping, sizeof ping, "PING %s\r\n", server);
|
snprintf(ping, sizeof ping, "PING %s\r\n", host);
|
||||||
channel[0] = 0;
|
channel[0] = 0;
|
||||||
setbuf(stdout, NULL); /* unbuffered stdout */
|
setbuf(stdout, NULL); /* unbuffered stdout */
|
||||||
|
|
||||||
@ -223,7 +223,7 @@ main(int argc, char *argv[]) {
|
|||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
} else if(i == 0) {
|
} else if(i == 0) {
|
||||||
if(time(NULL) - trespond >= PINGTIMEOUT) {
|
if(time(NULL) - trespond >= PINGTIMEOUT) {
|
||||||
pout(server, "-!- sic shutting down: parse timeout");
|
pout(host, "-!- sic shutting down: parse timeout");
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
write(srv, ping, strlen(ping));
|
write(srv, ping, strlen(ping));
|
||||||
@ -231,7 +231,7 @@ main(int argc, char *argv[]) {
|
|||||||
}
|
}
|
||||||
if(FD_ISSET(srv, &rd)) {
|
if(FD_ISSET(srv, &rd)) {
|
||||||
if(getline(srv, sizeof bufin, bufin) == -1) {
|
if(getline(srv, sizeof bufin, bufin) == -1) {
|
||||||
perror("sic: remote server closed connection");
|
perror("sic: remote host closed connection");
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
parsesrv(bufin);
|
parsesrv(bufin);
|
||||||
|
Loading…
Reference in New Issue
Block a user