dslinux/user/bitchx/contrib BX.plus.XMMS.tar.gz BitchX-1.0c14-IPv6-2.patch BitchX-1.0c14-LATIN.patch BitchX-configure.patch dcc.diff misc.c parse_arg roll-1.0.tar.gz vh1.c window.and.detach.diff
stsp
stsp at user.in-berlin.de
Sun Jul 2 15:18:32 CEST 2006
Update of /cvsroot/dslinux/dslinux/user/bitchx/contrib
In directory antilope:/tmp/cvs-serv9280/contrib
Added Files:
BX.plus.XMMS.tar.gz BitchX-1.0c14-IPv6-2.patch
BitchX-1.0c14-LATIN.patch BitchX-configure.patch dcc.diff
misc.c parse_arg roll-1.0.tar.gz vh1.c window.and.detach.diff
Log Message:
Adding pristine copy of BitchX so I can branch from it.
--- NEW FILE: window.and.detach.diff ---
diff -uNr sent-upstream/as-sent-last/include/config.h ircii-pana-1.0-0c15/include/config.h
--- sent-upstream/as-sent-last/include/config.h Sat Jan 8 04:19:04 2000
+++ ircii-pana-1.0-0c15/include/config.h Sun Jan 9 06:40:56 2000
@@ -571,7 +571,7 @@
#define WANT_DETACH ON /* this is here for the detach/re-attach code
which is essentially a mini-screen */
#define ALLOW_DETACH ON
-
+#define DEFAULT_DETACH_ON_HUP ON
#undef OLD_RANDOM_BEHAVIOR /* semi randomness for randm() */
diff -uNr sent-upstream/as-sent-last/include/modval.h ircii-pana-1.0-0c15/include/modval.h
--- sent-upstream/as-sent-last/include/modval.h Tue Jan 4 01:54:48 2000
+++ ircii-pana-1.0-0c15/include/modval.h Sun Jan 9 06:01:54 2000
@@ -306,6 +306,7 @@
#define get_window_server(x) ((int) (global[GET_WINDOW_SERVER]((unsigned int)x)))
#define set_window_server(x, y, z) ((void) (global[SET_WINDOW_SERVER]((int)x, (int)y, (int)z)))
#define window_check_servers ((void (*)())global[WINDOW_CHECK_SERVERS])
+#define window_close_server ((void (*)(int))global[WINDOW_CHECK_SERVERS])
#define change_window_server(x, y) ((void) (global[CHANGE_WINDOW_SERVER]((int)x, (int)y)))
#define set_level_by_refnum(x, y) ((void) (global[SET_LEVEL_BY_REFNUM]((unsigned int)x, (int)y)))
#define message_to(x) ((void) (global[MESSAGE_TO]((unsigned int)x)))
diff -uNr sent-upstream/as-sent-last/include/struct.h ircii-pana-1.0-0c15/include/struct.h
--- sent-upstream/as-sent-last/include/struct.h Tue Jan 4 02:27:26 2000
+++ ircii-pana-1.0-0c15/include/struct.h Sun Jan 9 06:13:17 2000
@@ -593,6 +593,7 @@
unsigned int refnum; /* the unique reference number,
* assigned by IRCII */
int server; /* server index */
+ int last_server; /* previous server index */
int top; /* The top line of the window, screen
* coordinates */
int bottom; /* The botton line of the window, screen
diff -uNr sent-upstream/as-sent-last/include/vars.h ircii-pana-1.0-0c15/include/vars.h
--- sent-upstream/as-sent-last/include/vars.h Tue Jan 4 02:27:26 2000
+++ ircii-pana-1.0-0c15/include/vars.h Sun Jan 9 06:41:24 2000
@@ -103,6 +103,7 @@
DEOPFLOOD_TIME_VAR,
DEOP_ON_DEOPFLOOD_VAR,
DEOP_ON_KICKFLOOD_VAR,
+ DETACH_ON_HUP,
DISPATCH_UNKNOWN_COMMANDS_VAR,
DISPLAY_VAR ,
DISPLAY_ANSI_VAR,
diff -uNr sent-upstream/as-sent-last/include/window.h ircii-pana-1.0-0c15/include/window.h
--- sent-upstream/as-sent-last/include/window.h Fri Oct 22 01:48:21 1999
+++ ircii-pana-1.0-0c15/include/window.h Sun Jan 9 06:03:52 2000
@@ -31,6 +31,10 @@
#define ON 1
#define TOGGLE 2
+#define WINDOW_NO_SERVER -1
+#define WINDOW_DLL -2
+#define WINDOW_SERVER_CLOSED -3
+
Window *new_window (struct ScreenStru *);
void delete_window (Window *);
void add_to_invisible_list (Window *);
@@ -71,7 +75,6 @@
char *get_bound_channel (Window *);
int get_window_server (unsigned);
void set_window_server (int, int, int);
- void window_check_servers (void);
void set_level_by_refnum (unsigned, unsigned long);
void message_to (unsigned long);
@@ -145,6 +148,7 @@
const char *query_host (void);
const char *query_cmd (void);
void window_check_servers(void);
+ void window_close_server(int old_server);
void window_change_server(int, int);
void make_window_current_by_winref(int);
void make_window_current_by_desc(char *);
diff -uNr sent-upstream/as-sent-last/source/commands.c ircii-pana-1.0-0c15/source/commands.c
--- sent-upstream/as-sent-last/source/commands.c Tue Jan 4 01:43:35 2000
+++ ircii-pana-1.0-0c15/source/commands.c Sun Jan 9 06:05:49 2000
@@ -1075,7 +1075,7 @@
set_server_reconnect(from_server, 1);
close_server(from_server,(args && *args) ? args : "Reconnecting");
clean_server_queues(from_server);
- window_check_servers();
+ window_close_server(from_server);
servercmd(NULL, scommnd, empty_string, NULL);
}
diff -uNr sent-upstream/as-sent-last/source/irc.c ircii-pana-1.0-0c15/source/irc.c
--- sent-upstream/as-sent-last/source/irc.c Sat Jan 8 04:19:04 2000
+++ ircii-pana-1.0-0c15/source/irc.c Sun Jan 9 06:49:38 2000
@@ -543,6 +543,14 @@
detachcmd(NULL, NULL, NULL, NULL);
}
+void set_detach_on_hup(Window *dummy, char *unused, int value)
+{
+ if(value)
+ my_signal(SIGHUP, sig_detach, 0);
+ else
+ my_signal(SIGHUP, irc_exit_old, 0);
+}
+
/* shows the version of irc */
static void versionreply(void)
{
@@ -1506,7 +1514,7 @@
#endif
my_signal(SIGQUIT, SIG_IGN, 0);
#ifdef WANT_DETACH
- my_signal(SIGHUP, sig_detach, 0);
+ set_detach_on_hup(NULL, NULL, DEFAULT_DETACH_ON_HUP);
#else
my_signal(SIGHUP, irc_exit_old, 0);
#endif
diff -uNr sent-upstream/as-sent-last/source/numbers.c ircii-pana-1.0-0c15/source/numbers.c
--- sent-upstream/as-sent-last/source/numbers.c Sat Jan 1 19:24:50 2000
+++ ircii-pana-1.0-0c15/source/numbers.c Sun Jan 9 06:06:34 2000
@@ -1105,7 +1105,7 @@
if (do_hook(current_numeric, "%s %s", from, *ArgList))
display_msg(from, ArgList);
close_server(from_server, empty_string);
- window_check_servers();
+ window_close_server(from_server);
if (from_server == primary_server)
get_connected(from_server + 1, from_server);
break;
@@ -1149,7 +1149,7 @@
display_msg(from, ArgList);
close_server(from_server, empty_string);
- window_check_servers();
+ window_close_server(from_server);
if (server_list_size() > 1)
remove_from_server_list(klined);
if (klined == primary_server && (server_list_size() > 0))
diff -uNr sent-upstream/as-sent-last/source/parse.c ircii-pana-1.0-0c15/source/parse.c
--- sent-upstream/as-sent-last/source/parse.c Tue Jan 4 02:30:07 2000
+++ ircii-pana-1.0-0c15/source/parse.c Sun Jan 9 06:06:48 2000
@@ -1166,7 +1166,7 @@
close_server(from_server,empty_string);
clean_server_queues(from_server);
- window_check_servers();
+ window_close_server(from_server);
set_input_prompt(current_window, get_string_var(INPUT_PROMPT_VAR), 0);
if (strchr(from, '.'))
{
diff -uNr sent-upstream/as-sent-last/source/server.c ircii-pana-1.0-0c15/source/server.c
--- sent-upstream/as-sent-last/source/server.c Tue Jan 4 01:43:35 2000
+++ ircii-pana-1.0-0c15/source/server.c Sun Jan 9 06:25:16 2000
@@ -257,6 +257,7 @@
times = 1;
i++;
}
+ window_close_server(i);
get_connected(i, old_serv);
break;
}
@@ -1162,7 +1163,7 @@
return;
}
close_server(i, "closing server");
- window_check_servers();
+ window_close_server(i);
}
else
get_connected(from_server - 1, from_server);
@@ -2100,6 +2101,7 @@
clear_channel_list(i);
close_server(i, message);
server_list[i].eof = 1;
+ window_close_server(i);
}
done:
window_check_servers();
diff -uNr sent-upstream/as-sent-last/source/vars.c ircii-pana-1.0-0c15/source/vars.c
--- sent-upstream/as-sent-last/source/vars.c Tue Jan 4 02:27:26 2000
+++ ircii-pana-1.0-0c15/source/vars.c Sun Jan 9 06:52:18 2000
@@ -95,6 +95,8 @@
static void set_nat_address (Window *, char *, int);
extern void debug_window (Window *, char *, int);
+extern void set_detach_on_hup (Window *, char *, int);
+
/*
* irc_variable: all the irc variables used. Note that the integer and
* boolean defaults are set here, which the string default value are set in
@@ -199,6 +201,7 @@
{ "DEOPFLOOD_TIME",0, INT_TYPE_VAR, DEFAULT_DEOPFLOOD_TIME, NULL, NULL, 0, VIF_BITCHX },
{ "DEOP_ON_DEOPFLOOD",0, INT_TYPE_VAR, DEFAULT_DEOP_ON_DEOPFLOOD, NULL, NULL, 0, VIF_BITCHX },
{ "DEOP_ON_KICKFLOOD",0, INT_TYPE_VAR, DEFAULT_DEOP_ON_KICKFLOOD, NULL, NULL, 0, VIF_BITCHX },
+ { "DETACH_ON_HUP",0, BOOL_TYPE_VAR, DEFAULT_DETACH_ON_HUP, NULL, set_detach_on_hup, 0, 0 },
{ "DISPATCH_UNKNOWN_COMMANDS",0,BOOL_TYPE_VAR, DEFAULT_DISPATCH_UNKNOWN_COMMANDS, NULL, NULL, 0, 0 },
{ "DISPLAY",0, BOOL_TYPE_VAR, DEFAULT_DISPLAY, NULL, NULL, 0, 0 },
{ "DISPLAY_ANSI",0, BOOL_TYPE_VAR, DEFAULT_DISPLAY_ANSI, NULL, toggle_reverse_status, 0, 0 },
diff -uNr sent-upstream/as-sent-last/source/window.c ircii-pana-1.0-0c15/source/window.c
--- sent-upstream/as-sent-last/source/window.c Tue Jan 4 02:27:26 2000
+++ ircii-pana-1.0-0c15/source/window.c Sun Jan 9 06:18:15 2000
@@ -1784,7 +1784,7 @@
if ((window = get_window_by_refnum(refnum)) == NULL)
window = current_window;
old = window->server;
- if (misc)
+ if (misc || old == WINDOW_SERVER_CLOSED)
{
while ((traverse_all_windows(&tmp)))
{
@@ -1850,6 +1850,30 @@
}
update_all_status(current_window, NULL, 0);
cursor_to_input();
+}
+
+/*
+ * window_close_server: this is like window_check_servers but it gets called
+ * with old_server as the refnum of a server that just got closed. It marks
+ * every window that used to be connected to old_server as WINDOW_SERVER_CLOSED
+ * and sets last_server for those windows. It doesn't touch windows that
+ * already had no server.
+ */
+
+void window_close_server(int old_server)
+{
+ Window *tmp;
+ int cnt, max, i, not_connected, prime = -1;
+
+ tmp = NULL;
+ while ((traverse_all_windows(&tmp)))
+ {
+ if (tmp->server == old_server)
+ {
+ tmp->server = WINDOW_SERVER_CLOSED;
+ tmp->last_server = old_server;
+ }
+ }
}
/*
--- NEW FILE: BX.plus.XMMS.tar.gz ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: roll-1.0.tar.gz ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: BitchX-1.0c14-IPv6-2.patch ---
diff -uNr BitchX.orig/source/banlist.c BitchX/source/banlist.c
--- BitchX.orig/source/banlist.c Wed Nov 17 09:03:44 1999
+++ BitchX/source/banlist.c Mon Dec 27 18:28:50 1999
@@ -237,6 +237,7 @@
switch(*p)
{
case '.':
+ case ':':
case '*':
case '@':
case '!':
diff -uNr BitchX.orig/source/commands.c BitchX/source/commands.c
--- BitchX.orig/source/commands.c Fri Dec 17 11:30:38 1999
+++ BitchX/source/commands.c Mon Dec 27 18:28:50 1999
@@ -2529,16 +2529,25 @@
BUILT_IN_COMMAND(e_hostname)
{
struct hostent *hp;
+ int norev = 0;
[...1026 lines suppressed...]
+AC_ARG_ENABLE(ipv6,
+[ --enable-ipv6 Enable IPv6 support (Linux only).],
+[ if test x"$enableval" = x"yes"; then
+ if test -d /usr/inet6/include; then
+ CFLAGS="$CFLAGS -I/usr/inet6/include"
+ LIBS="$LIBS -L/usr/inet6/lib -linet6"
+ AC_MSG_RESULT(yes (libinet6))
+ else
+ AC_MSG_RESULT(yes (libc))
+ fi
+ AC_DEFINE(IPV6)
+ else
+ AC_MSG_RESULT(no)
+ fi ],
+AC_MSG_RESULT(no)
+)
+
dnl ----------------------------------------------------------
dnl
dnl Socks4 or Socks5 or neither?
--- NEW FILE: dcc.diff ---
*** dcc.c Wed Jul 22 17:25:39 1998
--- dcc.c.bak Wed Jul 22 17:25:39 1998
***************
*** 1,4 ****
! /*
* dcc.c: Things dealing with client to client connections.
*
* Copyright(c) 1998 Colten Edwards aka panasync.
--- 1,4 ----
! /*
* dcc.c: Things dealing with client to client connections.
*
* Copyright(c) 1998 Colten Edwards aka panasync.
***************
*** 1283,1304 ****
return user;
}
- /* check if supplied nick matches your current nick, if so return false */
- int dcc_check_nick (char *nick) {
- size_t len = 0;
- if (current_window -> server != -1) {
- len = strlen (nick) + 1;
- if (my_strnicmp (nick, get_server_nickname (current_window -> server), len)) {
- return 0;
- } else {
- return 1;
- }
- } else {
- return 0;
- }
- return 0;
- }
-
DCC_COMMAND(dcc_chat)
{
char *user;
--- 1283,1288 ----
***************
*** 1329,1339 ****
{
if (!nick || !*nick)
break;
! /* check to see if nick matches yours if so continue */
! if (dcc_check_nick (nick)) {
! put_it ("%s", convert_output_format ("$G %RDCC%n Cannot DCC chat yourself!", NULL, NULL));
! continue;
! }
if ((s = find_dcc(nick, "chat", bot?DCC_BOTMODE:DCC_CHAT, 1, -1, -1)))
{
if ((s->flags & DCC_ACTIVE) || (s->flags & DCC_WAIT))
--- 1313,1319 ----
{
if (!nick || !*nick)
break;
!
if ((s = find_dcc(nick, "chat", bot?DCC_BOTMODE:DCC_CHAT, 1, -1, -1)))
{
if ((s->flags & DCC_ACTIVE) || (s->flags & DCC_WAIT))
--- NEW FILE: BitchX-1.0c14-LATIN.patch ---
--- BitchX.orig/include/color.h Mon Nov 22 00:47:16 1999
+++ BitchX/include/color.h Mon Dec 27 19:21:51 1999
@@ -419,13 +419,13 @@
#define DEFAULT_FORMAT_476_FSET "$G [$1] You are not opped"
#ifdef ONLY_STD_CHARS
-#define DEFAULT_FORMAT_ACTION_FSET "%@%K* %W$1 %n$4-"
-#define DEFAULT_FORMAT_ACTION_AR_FSET "%@%K* %Y$1 %n$4-"
-#define DEFAULT_FORMAT_ACTION_CHANNEL_FSET "%@%K* %Y$1/$3 %n$4-"
-#define DEFAULT_FORMAT_ACTION_OTHER_FSET "%@%K* %n>%c$1 %n$3-"
-#define DEFAULT_FORMAT_ACTION_OTHER_AR_FSET "%@%K* %y>%c$1 %n$3-"
-#define DEFAULT_FORMAT_ACTION_USER_FSET "%@%K* %n>%c$1 %n$3-"
-#define DEFAULT_FORMAT_ACTION_USER_AR_FSET "%@%K* %y>%c$1 %n$3-"
+#define DEFAULT_FORMAT_ACTION_FSET ansi?"%@%K* %W$1 %n$4-":"* $1 $4-"
+#define DEFAULT_FORMAT_ACTION_AR_FSET ansi?"%@%K* %Y$1 %n$4-":"* $1 $4-"
+#define DEFAULT_FORMAT_ACTION_CHANNEL_FSET ansi?"%@%K* %Y$1/$3 %n$4-":"* $1/$3 $4-"
+#define DEFAULT_FORMAT_ACTION_OTHER_FSET ansi?"%@%K* %n>%c$1 %n$3-":"* >$1 $3-"
+#define DEFAULT_FORMAT_ACTION_OTHER_AR_FSET ansi?"%@%K* %y>%c$1 %n$3-":"* >$1 $3-"
+#define DEFAULT_FORMAT_ACTION_USER_FSET ansi?"%@%K* %n>%c$1 %n$3-":"* >$1 $3-"
+#define DEFAULT_FORMAT_ACTION_USER_AR_FSET ansi?"%@%K* %y>%c$1 %n$3-":"* >$1 $3-"
#else
#define DEFAULT_FORMAT_ACTION_FSET ansi?"%@%Kð %W$1 %n$4-":"%@ð $1 $4-"
#define DEFAULT_FORMAT_ACTION_AR_FSET ansi?"%@%Kð %Y$1 %n$4-":"%@ð $1 $4-"
@@ -668,26 +668,26 @@
#define DEFAULT_FORMAT_WHO_FSET "%Y$[10]0 %W$[10]1%w %c$[3]2 %w$3%R@%w$4 ($6-)"
#ifdef ONLY_STD_CHARS
-#define DEFAULT_FORMAT_WHOIS_AWAY_FSET "%G| %Wa%nway : $0 - $1-"
-#define DEFAULT_FORMAT_WHOIS_BOT_FSET "%G| %Wb%not : A:$0 P:$1 [$2] $3-"
-#define DEFAULT_FORMAT_WHOIS_CHANNELS_FSET "%G| %Wc%nhannels : $0-"
-#define DEFAULT_FORMAT_WHOIS_FRIEND_FSET "%G| %Wf%nriend : L:$0 A:$1 P:$2 $3-"
-#define DEFAULT_FORMAT_WHOIS_HEADER_FSET "%G------------------------------------------------"
-#define DEFAULT_FORMAT_WHOIS_IDLE_FSET "%G| %Wi%ndle : $0 hours $1 mins $2 secs (signon: $stime($3))"
-#define DEFAULT_FORMAT_WHOIS_SHIT_FSET "%G| %Ws%nhit : L:$0 [$1] $2 $3-"
-#define DEFAULT_FORMAT_WHOIS_SIGNON_FSET "%K %Ws%nignon : $0-"
-#define DEFAULT_FORMAT_WHOIS_NAME_FSET "%G| %Wi%nrcname : $0-"
-#define DEFAULT_FORMAT_WHOIS_NICK_FSET "%G| %W$0 %K(%n$1@$2%K) %K(%W$3-%K)"
-#define DEFAULT_FORMAT_WHOIS_OPER_FSET "%G| %Wo%nperator : $0 $1-"
-#define DEFAULT_FORMAT_WHOIS_SERVER_FSET "%G| %Ws%nerver : $0 ($1-)"
-#define DEFAULT_FORMAT_WHOLEFT_HEADER_FSET "%G------ %WWho %G---------------------- %WChannel%G--- %wServer %G------------- %wSeconds"
-#define DEFAULT_FORMAT_WHOLEFT_USER_FSET "%G³%n $[-10]0!$[20]1 $[10]2 $[20]4 $3"
-#define DEFAULT_FORMAT_WHOWAS_HEADER_FSET "%G-----------------------------------------------"
-#define DEFAULT_FORMAT_WHOWAS_NICK_FSET "%G| %W$0%n was %K(%n$1@$2%K)"
-#define DEFAULT_FORMAT_WHOIS_ADMIN_FSET "%K| %Wa%ndmin : $0 - $1-"
-#define DEFAULT_FORMAT_WHOIS_SERVICE_FSET "%K| %Ws%nervice : $0 - $1-"
-#define DEFAULT_FORMAT_WHOIS_HELP_FSET "%K| %Wh%nelp : $0 - $1-"
-#define DEFAULT_FORMAT_WHOIS_REGISTER_FSET "%K| %Wr%negister : $0 - $1-"
+#define DEFAULT_FORMAT_WHOIS_AWAY_FSET ansi?"%K| %Wa%nway : $0 - $1-":"| away : $0 - $1-"
+#define DEFAULT_FORMAT_WHOIS_BOT_FSET ansi?"%g| %Wb%not : A:$0 P:$1 [$2] $3-":"| bot : A:$0 P:$1 [$2] $3-"
+#define DEFAULT_FORMAT_WHOIS_CHANNELS_FSET ansi?"%g| %Wc%nhannels : $0-":"| channels : $0-"
+#define DEFAULT_FORMAT_WHOIS_FRIEND_FSET ansi?"%g| %Wf%nriend : F:$0 $1-":"| friend : F:$0 $1-"
+#define DEFAULT_FORMAT_WHOIS_HEADER_FSET ansi?"%G.--------%g-%G--%g--%G-%g---------%K-%g--%K--%g-%K------------ -- -":".----------------------------------------- -- -"
+#define DEFAULT_FORMAT_WHOIS_IDLE_FSET ansi?"%K: %Wi%ndle : $0 hours $1 mins $2 secs (signon: $stime($3))":": idle : $0 hours $1 mins $2 secs (signon: $stime($3))"
+#define DEFAULT_FORMAT_WHOIS_SHIT_FSET ansi?"%g| %Ws%nhit : L:$0 [$1] $2 $3-":"| shit : L:$0 [$1] $2 $3-"
+#define DEFAULT_FORMAT_WHOIS_SIGNON_FSET ansi?"%K| %Ws%nignon : $0-":"| signon : $0-"
+#define DEFAULT_FORMAT_WHOIS_NAME_FSET ansi?"%G: %Wi%nrcname : $0-":": ircname : $0-"
+#define DEFAULT_FORMAT_WHOIS_NICK_FSET ansi?"%G| %W$0 %K(%n$1@$2%K) %K(%W$3-%K)":"| $0 ($1@$2) ($3-)"
+#define DEFAULT_FORMAT_WHOIS_OPER_FSET ansi?"%K| %Wo%nperator : $0 $1-":"| operator : $0 $1-"
+#define DEFAULT_FORMAT_WHOIS_SERVER_FSET ansi?"%K| %Ws%nerver : $0 ($1-)":"| server : $0 ($1-)"
+#define DEFAULT_FORMAT_WHOLEFT_HEADER_FSET ansi?"%G.----- %WWho %G-----%g---%G---%g--%G-----%g--%G-- %WChannel%g--- %wServer %G-%g----%G--%g--%G----%g %wSeconds":".----- Who ---------------------- Channel--- Server ------------- Seconds"
+#define DEFAULT_FORMAT_WHOLEFT_USER_FSET ansi?"%G|%n $[-10]0!$[20]1 $[10]2 $[20]4 $3":"| $[-10]0!$[20]1 $[10]2 $[20]4 $3"
+#define DEFAULT_FORMAT_WHOWAS_HEADER_FSET ansi?"%G.--------%g-%G--%g--%G-%g---------%K-%g--%K--%g-%K------------ -- -":".----------------------------------------- -- -"
+#define DEFAULT_FORMAT_WHOWAS_NICK_FSET ansi?"%G| %W$0%n was %K(%n$1@$2%K)":"| $0 was ($1@$2)"
+#define DEFAULT_FORMAT_WHOIS_ADMIN_FSET ansi?"%K| %Wa%ndmin : $0 - $1-":"| admin : $0 - $1-"
+#define DEFAULT_FORMAT_WHOIS_SERVICE_FSET ansi?"%K| %Ws%nervice : $0 - $1-":"| service : $0 - $1-"
+#define DEFAULT_FORMAT_WHOIS_HELP_FSET ansi?"%K| %Wh%nelp : $0 - $1-":"| help : $0 - $1-"
+#define DEFAULT_FORMAT_WHOIS_REGISTER_FSET ansi?"%K| %Wr%negister : $0 - $1-":"| register : $0 - $1-"
#else
#define DEFAULT_FORMAT_WHOIS_AWAY_FSET ansi?"%K| %Wa%nway : $0 - $1-":"| away : $0 - $1-"
#define DEFAULT_FORMAT_WHOIS_BOT_FSET ansi?"%g| %Wb%not : A:$0 P:$1 [$2] $3-":"| bot : A:$0 P:$1 [$2] $3-"
--- BitchX.orig/source/vars.c Tue Nov 16 05:58:01 1999
+++ BitchX/source/vars.c Mon Dec 27 19:16:46 1999
@@ -1392,6 +1392,9 @@
#ifndef ONLY_STD_CHARS
set_string_var(SHOW_NUMERICS_STR_VAR, value ? "[1;31mù[0m[1;37mí[1;31mù[0m" : "-:-");
set_numeric_string(current_window, value ? "[1;31mù[0m[1;37mí[1;31mù[0m":"-:-", 0);
+#else
+ set_string_var(SHOW_NUMERICS_STR_VAR, value ? "[1;31m-[0m[1;37m:[1;31m-[0m" : "-:-");
+ set_numeric_string(current_window, value ? "[1;31m-[0m[1;37m:[1;31m-[0m":"-:-", 0);
#endif
reinit_status(win, unused, value);
}
--- BitchX.orig/source/irc.c Thu Dec 16 12:05:39 1999
+++ BitchX/source/irc.c Mon Dec 27 19:23:04 1999
@@ -97,7 +97,11 @@
* switchs are set */
dead = 0,
inhibit_logging = 0,
+#ifndef ONLY_STD_CHARS
startup_ansi = 1, /* display startup ansi */
+#else
+ startup_ansi = 0, /* DO NOT display startup ansi */
+#endif
auto_connect = 1, /* auto-connect to first server*/
background = 0,
--- NEW FILE: BitchX-configure.patch ---
diff -ru BitchX/configure.in BitchX.AX/configure.in
--- BitchX/configure.in Tue Jan 4 07:43:35 2000
+++ BitchX.AX/configure.in Wed Jan 19 17:54:30 2000
@@ -290,6 +290,15 @@
if test x"$blahhack" = x"1"; then
blahhack=0
+ AC_MSG_CHECKING(for tputs in ncurses/termcap.h)
+ AC_EGREP_CPP([tputs( | |\()],[#include <ncurses/termcap.h>
+ ], [ AC_DEFINE(HAVE_TERMCAP_H)
+ AC_MSG_RESULT(yes)
+ havetputs=1 AC_CHECK_HEADER(ncurses/termcap.h)], blahhack=1; AC_MSG_RESULT(no))
+ fi
+
+ if test x"$blahhack" = x"1"; then
+ blahhack=0
AC_MSG_CHECKING(for tputs in curses.h)
AC_EGREP_CPP([tputs( | |\()],[#include <curses.h>
], [ AC_DEFINE(USING_CURSES)
--- NEW FILE: misc.c ---
/*
* Copyright Colten Edwards (c) 1996
*/
#include "irc.h"
#include "struct.h"
#include "server.h"
#include "dcc.h"
#include "commands.h"
#include "crypt.h"
#include "vars.h"
#include "ircaux.h"
#include "lastlog.h"
#include "window.h"
#include "screen.h"
#include "who.h"
#include "hook.h"
#include "input.h"
#include "ignore.h"
[...5034 lines suppressed...]
{"RPA", "Old School ARPAnet" },
{"ATO", "Nato Fiel" },
{"MED", "United States Medical" },
{"ARPA", "Reverse DNS" },
{NULL, NULL}
};
char *p;
int i = 0;
if (!hostname || !*hostname || isdigit(hostname[strlen(hostname)-1]))
return "unknown";
if ((p = strrchr(hostname, '.')))
p++;
else
p = hostname;
for (i = 0; domain[i].code; i++)
if (!my_stricmp(p, domain[i].code))
return domain[i].country;
return "unknown";
}
--- NEW FILE: parse_arg ---
#if 0
int ch;
int add_servers = 0;
strqct passwd *entry;
struct hostent *hp;
char *ptr = NULL;
char *tmp_hostname = NULL;
char *channel = NULL;
extern char *optarg;
extern int optind;
*nickname = 0;
*realname = 0;
*username = 0;
/*
* Its probably better to parse the environment variables
* first -- that way they can be used as defaults, but can
* still be overriden on the command line.
*/
#ifndef WINNT
if ((entry = getpwuid(getuid())))
{
if (entry->pw_gecos && *(entry->pw_gecos))
{
if ((ptr = strchr(entry->pw_gecos, GECOS_DELIMITER)))
*ptr = 0;
strmcpy(realname, entry->pw_gecos, REALNAME_LEN);
}
if (entry->pw_name && *(entry->pw_name))
strmcpy(username, entry->pw_name, NAME_LEN);
if (entry->pw_dir && *(entry->pw_dir))
malloc_strcpy(&my_path, entry->pw_dir);
}
#else
{
u_long size=NAME_LEN+1;
if (!(ptr = getenv("IRCUSER")))
strcpy(username, "unknown");
else
strcpy(username,ptr);
}
#endif
if ((ptr = getenv("IRCNICK")))
strmcpy(nickname, ptr, NICKNAME_LEN);
/*
* We now allow users to use IRCUSER or USER if we couldnt get the
* username from the password entries. For those systems that use
* NIS and getpwuid() fails (boo, hiss), we make a last ditch effort
* to see what LOGNAME is (defined by POSIX.2 to be the canonical
* username under which the person logged in as), and if that fails,
* we're really tanked, so we just let the user specify their own
* username. I think everyone would have to agree this is the most
* reasonable way to handle this.
*/
if (!*username)
if ((ptr = getenv("LOGNAME")) && *ptr)
strmcpy(username, ptr, NAME_LEN);
if (!*username)
if ((ptr = getenv("IRCUSER")) && *ptr)
strmcpy(username, ptr, NAME_LEN);
else if (*username)
;
else if ((ptr = getenv("USER")) && *ptr)
strmcpy(username, ptr, NAME_LEN);
else if ((ptr = getenv("HOME")) && *ptr)
{
char *ptr2 = strrchr(ptr, '/');
if (ptr2)
strmcpy(username, ptr2, NAME_LEN);
else
strmcpy(username, ptr, NAME_LEN);
}
else
strmcpy(username, "Unknown", NAME_LEN);
#ifdef IDENT_FAKE
{
char *p = NULL, *q = NULL;
FILE *f;
malloc_sprintf(&p, "~/%s", get_string_var(IDENT_HACK_VAR));
q = expand_twiddle(p);
if ((f = fopen(q, "r")))
{
fgets(username, NAME_LEN, f);
if (*username && strchr(username, '\n'))
username[strlen(username)-1] = 0;
}
fclose(f);
new_free(&p); new_free(&q);
if (!*username)
strmcpy(username, "Unknown", NAME_LEN);
}
#endif
if ((ptr = getenv("IRCNAME")))
strmcpy(realname, ptr, REALNAME_LEN);
else if ((ptr = getenv("NAME")))
strmcpy(realname, ptr, REALNAME_LEN);
else if (!*realname)
strmcpy(realname, "* New BX user who didn't read BitchX.doc *", REALNAME_LEN);
if ((ptr = getenv("HOME")))
malloc_strcpy(&my_path, ptr);
else if (!my_path)
#ifndef WINNT
malloc_strcpy(&my_path, "/");
#else
malloc_strcpy(&my_path, empty_string);
#endif
#if defined(WINNT) || defined(__EMX__)
convert_unix(my_path);
#endif
if ((ptr = getenv("IRCPORT")))
irc_port = my_atol(ptr);
if ((ptr = getenv("IRCRC")))
ircrc_file = m_strdup(ptr);
else
ircrc_file = m_2dup(my_path, IRCRC_NAME);
if ((ptr = getenv("IRCLIB")))
irc_lib = m_2dup(ptr, "/");
else
irc_lib = m_strdup(IRCLIB);
#if defined(WINNT) || defined(__EMX__)
convert_unix(irc_lib);
#endif
if ((ptr = getenv("IRCUMODE")))
send_umode = m_strdup(ptr);
if ((ptr = getenv("IRCPATH")))
irc_path = m_strdup(ptr);
else
irc_path = m_strdup(IRCPATH);
#if defined(WINNT) || defined(__EMX__)
convert_unix(irc_path);
#endif
set_string_var(LOAD_PATH_VAR, irc_path);
new_free(&irc_path);
if ((ptr = getenv("IRCHOST")) && *ptr)
tmp_hostname = ptr;
if (!ircservers_file)
#if defined(WINNT) || defined(__EMX__)
malloc_strcpy(&ircservers_file, "irc-serv");
#else
malloc_strcpy(&ircservers_file, ".ircservers");
#endif
if (!bircrc_file)
#if defined(WINNT) || defined(__EMX__)
malloc_sprintf(&bircrc_file, "%s/bx-rc", my_path);
#else
malloc_sprintf(&bircrc_file, "%s/.bitchxrc", my_path);
#endif
while ((ch = getopt(argc, argv, "aBbc:dfFhH:l:L:Nn:p:r:qsvxz:")) != EOF)
{
switch (ch)
{
case 'v': /* Outpqt ircII version */
show_version();
/* NOTREACHED */
case 'p': /* Default port to use */
irc_port = my_atol(optarg);
break;
case 'f': /* Use flow control */
use_flow_control = 1;
break;
case 'F': /* dont use flow control */
use_flow_control = 0;
break;
case 'd': /* use dumb mode */
dumb_mode = 1;
break;
case 'l': /* Load some file instead of ~/.ircrc */
case 'L': /* Same as above. Doesnt work like before */
malloc_strcpy(&ircrc_file, optarg);
break;
case 'a': /* add server, not replace */
add_servers = 1;
break;
case 'r':
add_servers = 1;
malloc_strcpy(&ircservers_file, optarg);
break;
case 'q': /* quick startup -- no .ircrc */
quick_startup = 1;
break;
case 's': /* dont connect - let user choose server */
dont_connect = 1;
break;
case 'b':
dumb_mode = 1;
use_input = 0;
background = 1;
break;
case 'n':
strmcpy(nickname, optarg, NICKNAME_LEN);
break;
case 'x': /* x_debug flag */
x_debug = (unsigned long)0x0fffffff;
break;
case 'z':
strmcpy(username, optarg, NAME_LEN);
break;
case 'B':
load_ircrc_right_away = 1;
break;
case 'c':
malloc_strcpy(&channel, optarg);
break;
case 'H':
tmp_hostname = optarg;
break;
case 'N':
auto_connect = 0;
break;
default:
case 'h':
case '?':
fputs(switch_help, stderr);
exit(1);
} /* End of switch */
}
#else /* end new parse */
--- NEW FILE: vh1.c ---
/* The New routine for getting ips and interfaces for /hostname
Phear MHacker ;)
*/
/* added rev dns support
Phear sideshow ;)
*/
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <fcntl.h>
#include <netdb.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/param.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#if defined(sun)
#include <sys/sockio.h>
#else
#include <sys/sysctl.h>
#endif
#include <sys/time.h>
#include <net/if.h>
#include <netinet/in.h>
#if !defined(linux)
#include <netinet/in_var.h>
#endif
#include <netdb.h>
void check_inter (char *, char **);
void usage (char **);
int main (int argc, char **argv)
{
int s;
char *buffer;
struct ifconf ifc;
char name[100];
struct ifreq *ifptr, *end;
struct ifreq ifr;
int ifflags, selectflag = -1;
int oldbufsize, bufsize = sizeof (struct ifreq);
if(!argv[1])
{
usage(argv);
exit(0);
}
printf ("This program should print out valid hosts on all network devices\n");
s = socket (AF_INET, SOCK_DGRAM, 0);
if (s < 0)
{
perror ("ifconfig: socket");
exit (1);
}
buffer = malloc (bufsize);
ifc.ifc_len = bufsize;
do
{
oldbufsize = ifc.ifc_len;
bufsize += 1 + sizeof (struct ifreq);
buffer = realloc ((void *) buffer, bufsize);
ifc.ifc_len = bufsize;
ifc.ifc_buf = buffer;
if (ioctl (s, SIOCGIFCONF, (char *) &ifc) < 0)
{
perror ("ifconfig (SIOCGIFCONF)");
exit (1);
}
}
while (ifc.ifc_len > oldbufsize);
ifflags = ifc.ifc_req->ifr_flags;
end = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
ifptr = ifc.ifc_req;
while (ifptr < end)
{
sprintf (ifr.ifr_name, "%s", ifptr->ifr_name);
sprintf (name, "%s", ifptr->ifr_name);
close (s);
check_inter (name, argv);
ifptr++;
}
return 0;
}
void
check_inter (char *interface, char **argv)
{
struct in_addr i;
struct hostent *he;
struct ifreq ifr;
char rhost[256], fhost[30];
int fd;
char *ip;
register int flags;
ip = malloc (sizeof (ip));
if ((fd = socket (AF_INET, SOCK_DGRAM, 0)) < 0)
return;
strcpy (ifr.ifr_name, interface);
if (ioctl (fd, SIOCGIFADDR, &ifr) < 0)
{
close (fd);
return;
}
if (ioctl (fd, SIOCGIFFLAGS, &ifr) < 0)
{
close (fd);
return;
}
ip = (char *) inet_ntoa (((struct sockaddr_in *) &ifr.ifr_addr)->sin_addr);
if (ifr.ifr_flags & IFF_UP)
{
i.s_addr = inet_addr (ip);
he = gethostbyaddr ((char *) &i, sizeof (struct in_addr), AF_INET);
bzero(rhost, sizeof(rhost));
if (he != NULL)
{
strncpy (rhost, he->h_name, 255);
he = gethostbyname (rhost);
if (he != NULL)
sprintf (fhost, "%u.%u.%u.%u", he->h_addr[0] & 0xff, he->h_addr[1] & 0xff, he->h_addr[2] & 0xff, he->h_addr[3] & 0xff);
}
if (rhost)
{
if (strcasecmp (ip, fhost) == 0)
{
if ((strcmp ("-m", argv[1]) == 0) || (strcmp ("-a", argv[1]) == 0))
{
printf ("Interface %s: %s %s (matching)\n", interface, ip, rhost);
bzero (rhost, sizeof (rhost));
bzero (fhost, sizeof (fhost));
}
}
else if ((strcmp("-r", argv[1])==0) || (strcmp("-a", argv[1]) == 0))
{
printf ("Interface %s: %s %s\n", interface, ip, rhost);
bzero (rhost, sizeof (rhost));
}
}
else if ((strcmp("-i", argv[1]) ==0) || (strcmp("-a", argv[1]) == 0))
printf ("Interface %s: %s\n", interface, ip);
}
close (fd);
}
void usage(char **argv)
{
printf("\nVirtual Host checking system by Warren Rees\n");
printf("Support for reverse dns and dns matching by Matt Watson\n\n");
printf("Usage: %s [-amri]\n\n", argv[0]);
printf("\t-a : Show all ips\n");
printf("\t-m : Show only ips & hostname with matching forward and reverse dns\n");
printf("\t-r : Show only ips that have reverse dns but no forward dns\n");
printf("\t-i : Show only non-resolving ips no forward or reverse dns\n\n\n");
}
More information about the dslinux-commit
mailing list