Fri Aug 18 13:41:14 2006 Michael Jennings (mej)
Addressed licensing concerns. ---------------------------------------------------------------------- SVN revision: 24877
This commit is contained in:
parent
ddd7611608
commit
edf3577888
|
@ -5501,3 +5501,7 @@ Sat Jun 17 23:06:03 2006 Michael Jennings (mej)
|
||||||
Daniel Macks <dmacks@netspace.org> noticed that gdb.scr wasn't being
|
Daniel Macks <dmacks@netspace.org> noticed that gdb.scr wasn't being
|
||||||
installed. Oops. Fixed now.
|
installed. Oops. Fixed now.
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
Fri Aug 18 13:41:14 2006 Michael Jennings (mej)
|
||||||
|
|
||||||
|
Addressed licensing concerns.
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
|
@ -90,7 +90,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
%files
|
%files
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%doc doc/Eterm_reference.html doc/Eterm.1.html doc/Eterm.tcap doc/Eterm.ti doc/README.Escreen
|
%doc doc/Eterm_reference.html doc/Eterm.1.html doc/Eterm.tcap doc/Eterm.ti doc/README.Escreen
|
||||||
%doc README ReleaseNotes ReleaseNotes.1 ChangeLog
|
%doc LICENSE README ReleaseNotes ReleaseNotes.1 ChangeLog
|
||||||
%config %{_sysconfdir}/X11/applnk/Utilities/Eterm.desktop
|
%config %{_sysconfdir}/X11/applnk/Utilities/Eterm.desktop
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
%{_libdir}/*
|
%{_libdir}/*
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
Copyright (C) 1997-2006, Michael Jennings
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies of the Software, its documentation and
|
||||||
|
marketing & publicity materials, and acknowledgment shall be given in
|
||||||
|
the documentation, materials and software packages that this Software
|
||||||
|
was used.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
|
||||||
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@ -4,6 +4,6 @@ AUTOMAKE_OPTIONS = foreign
|
||||||
|
|
||||||
SUBDIRS = src themes utils doc bg pix
|
SUBDIRS = src themes utils doc bg pix
|
||||||
|
|
||||||
EXTRA_DIST = README ReleaseNotes ReleaseNotes.1 CVS-README ChangeLog autogen.sh Eterm.spec
|
EXTRA_DIST = LICENSE README ReleaseNotes ReleaseNotes.1 CVS-README ChangeLog autogen.sh Eterm.spec
|
||||||
MAINTAINERCLEANFILES = Makefile.in *~ aclocal.m4 config.guess config.sub configure depcomp \
|
MAINTAINERCLEANFILES = Makefile.in *~ aclocal.m4 config.guess config.sub configure depcomp \
|
||||||
install-sh ltconfig ltmain.sh missing mkinstalldirs stamp-h* *.log config.h.in
|
install-sh ltconfig ltmain.sh missing mkinstalldirs stamp-h* *.log config.h.in
|
||||||
|
|
|
@ -9,14 +9,14 @@ MMX_OBJS = mmx_cmod.lo
|
||||||
SSE2_SRCS = sse2_cmod.c
|
SSE2_SRCS = sse2_cmod.c
|
||||||
SSE2_OBJS = sse2_cmod.lo
|
SSE2_OBJS = sse2_cmod.lo
|
||||||
|
|
||||||
libEterm_la_SOURCES = actions.c actions.h buttons.c buttons.h command.c \
|
libEterm_la_SOURCES = actions.c actions.h buttons.c buttons.h command.c \
|
||||||
command.h draw.c draw.h e.c e.h eterm_debug.h eterm_utmp.h \
|
command.h draw.c draw.h e.c e.h eterm_debug.h eterm_utmp.h \
|
||||||
events.c events.h feature.h font.c font.h grkelot.c \
|
events.c events.h feature.h font.c font.h grkelot.c \
|
||||||
grkelot.h icon.h menus.c menus.h misc.c misc.h netdisp.c \
|
grkelot.h icon.h menus.c menus.h misc.c misc.h \
|
||||||
options.c options.h pixmap.c pixmap.h profile.h screen.c \
|
options.c options.h pixmap.c pixmap.h profile.h screen.c \
|
||||||
screen.h script.c script.h scrollbar.c scrollbar.h \
|
screen.h script.c script.h scrollbar.c scrollbar.h \
|
||||||
startup.c startup.h system.c system.h term.c term.h \
|
startup.c startup.h system.c system.h term.c term.h \
|
||||||
timer.c timer.h utmp.c windows.c windows.h defaultfont.c \
|
timer.c timer.h utmp.c windows.c windows.h defaultfont.c \
|
||||||
defaultfont.h libscream.c scream.h screamcfg.h
|
defaultfont.h libscream.c scream.h screamcfg.h
|
||||||
|
|
||||||
EXTRA_libEterm_la_SOURCES = $(MMX_SRCS) $(SSE2_SRCS)
|
EXTRA_libEterm_la_SOURCES = $(MMX_SRCS) $(SSE2_SRCS)
|
||||||
|
|
|
@ -1,38 +1,25 @@
|
||||||
/*--------------------------------*-C-*---------------------------------*
|
/*
|
||||||
* File: command.c
|
* Copyright (C) 1997-2006, Michael Jennings
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to
|
||||||
|
* deal in the Software without restriction, including without limitation the
|
||||||
|
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
* sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies of the Software, its documentation and marketing & publicity
|
||||||
|
* materials, and acknowledgment shall be given in the documentation, materials
|
||||||
|
* and software packages that this Software was used.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
|
* THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
/* notes: */
|
|
||||||
/*----------------------------------------------------------------------*
|
|
||||||
* Copyright 1992 John Bovey, University of Kent at Canterbury.
|
|
||||||
*
|
|
||||||
* You can do what you like with this source code as long as
|
|
||||||
* you don't try to make money out of it and you include an
|
|
||||||
* unaltered copy of this message (including the copyright).
|
|
||||||
*
|
|
||||||
* This module has been very heavily modified by R. Nation
|
|
||||||
* <nation@rocket.sanders.lockheed.com>
|
|
||||||
* No additional restrictions are applied
|
|
||||||
*
|
|
||||||
* Additional modification by Garrett D'Amore <garrett@netcom.com> to
|
|
||||||
* allow vt100 printing. No additional restrictions are applied.
|
|
||||||
*
|
|
||||||
* Integrated modifications by Steven Hirsch <hirsch@emba.uvm.edu> to
|
|
||||||
* properly support X11 mouse report mode and support for DEC
|
|
||||||
* "private mode" save/restore functions.
|
|
||||||
*
|
|
||||||
* Integrated key-related changes by Jakub Jelinek <jj@gnu.ai.mit.edu>
|
|
||||||
* to handle Shift+function keys properly.
|
|
||||||
* Should be used with enclosed termcap / terminfo database.
|
|
||||||
*
|
|
||||||
* Extensive modifications by mj olesen <olesen@me.QueensU.CA>
|
|
||||||
* No additional restrictions.
|
|
||||||
*
|
|
||||||
* Further modification and cleanups for Solaris 2.x and Linux 1.2.x
|
|
||||||
* by Raul Garcia Garcia <rgg@tid.es>. No additional restrictions.
|
|
||||||
*
|
|
||||||
* As usual, the author accepts no responsibility for anything, nor does
|
|
||||||
* he guarantee anything whatsoever.
|
|
||||||
*----------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
static const char cvs_ident[] = "$Id$";
|
static const char cvs_ident[] = "$Id$";
|
||||||
|
|
||||||
|
|
|
@ -386,9 +386,6 @@ extern void tt_printf(const unsigned char *, ...);
|
||||||
extern void main_loop(void);
|
extern void main_loop(void);
|
||||||
extern int v_doPending(void);
|
extern int v_doPending(void);
|
||||||
extern void v_writeBig(int, char *, int);
|
extern void v_writeBig(int, char *, int);
|
||||||
#ifdef DISPLAY_IS_IP
|
|
||||||
extern char *network_display(const char *);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_XFUNCPROTOEND
|
_XFUNCPROTOEND
|
||||||
|
|
||||||
|
|
|
@ -206,9 +206,6 @@
|
||||||
|
|
||||||
/********************* Miscellaneous options *********************/
|
/********************* Miscellaneous options *********************/
|
||||||
|
|
||||||
/* To have $DISPLAY and the "\E[7n" response be IP addresses rather than FQDN's */
|
|
||||||
/* #define DISPLAY_IS_IP */
|
|
||||||
|
|
||||||
/* To have "\E[7n" reply with the display name. This is a potential security risk,
|
/* To have "\E[7n" reply with the display name. This is a potential security risk,
|
||||||
* so its use is discouraged and unsupported. */
|
* so its use is discouraged and unsupported. */
|
||||||
/* #define ENABLE_DISPLAY_ANSWER */
|
/* #define ENABLE_DISPLAY_ANSWER */
|
||||||
|
|
127
src/netdisp.c
127
src/netdisp.c
|
@ -1,127 +0,0 @@
|
||||||
/*----------------------------------------------------------------------*
|
|
||||||
* support for resolving the actual IP number of the host for remote
|
|
||||||
* DISPLAYs. When the display is local (i.e. :0), we add support for
|
|
||||||
* sending the first non-loopback interface IP number as the DISPLAY
|
|
||||||
* instead of just sending the incorrect ":0". This way telnet/rlogin
|
|
||||||
* shells can actually get the correct information into DISPLAY for
|
|
||||||
* xclients.
|
|
||||||
*
|
|
||||||
* Copyright 1996 Chuck Blake <cblake@BBN.COM>
|
|
||||||
*
|
|
||||||
+ * Cleaned up somewhat by mj olesen <olesen@me.queensu.ca>
|
|
||||||
+ *
|
|
||||||
* You can do what you like with this source code as long as you don't try
|
|
||||||
* to make money out of it and you include an unaltered copy of this
|
|
||||||
* message (including the copyright).
|
|
||||||
*
|
|
||||||
* As usual, the author accepts no responsibility for anything, nor does
|
|
||||||
* he guarantee anything whatsoever.
|
|
||||||
*----------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
static const char cvs_ident[] = "$Id$";
|
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
#include "feature.h"
|
|
||||||
|
|
||||||
#ifdef DISPLAY_IS_IP
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <ctype.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#ifdef HAVE_FCNTL_H
|
|
||||||
# include <fcntl.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_UNISTD_H
|
|
||||||
# include <unistd.h>
|
|
||||||
#endif
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#ifdef HAVE_SYS_SOCKIO_H
|
|
||||||
# include <sys/sockio.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SYS_BYTEORDER_H
|
|
||||||
# include <sys/byteorder.h>
|
|
||||||
#endif
|
|
||||||
#ifdef TIME_WITH_SYS_TIME
|
|
||||||
# include <sys/time.h>
|
|
||||||
# include <time.h>
|
|
||||||
#else
|
|
||||||
# ifdef HAVE_SYS_TIME_H
|
|
||||||
# include <sys/time.h>
|
|
||||||
# else
|
|
||||||
# include <time.h>
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SYS_IOCTL_H
|
|
||||||
# include <sys/ioctl.h>
|
|
||||||
#endif
|
|
||||||
#include <netinet/in.h>
|
|
||||||
#include <arpa/inet.h>
|
|
||||||
#include <net/if.h>
|
|
||||||
#include <net/if_arp.h>
|
|
||||||
|
|
||||||
#include "startup.h"
|
|
||||||
|
|
||||||
/* return a pointer to a static buffer */
|
|
||||||
char *
|
|
||||||
network_display(const char *display)
|
|
||||||
{
|
|
||||||
|
|
||||||
static char ipaddress[32] = "";
|
|
||||||
char buffer[1024], *rval = NULL;
|
|
||||||
struct ifconf ifc;
|
|
||||||
struct ifreq *ifr;
|
|
||||||
int i, skfd;
|
|
||||||
|
|
||||||
if (display[0] != ':' && strncmp(display, "unix:", 5))
|
|
||||||
return display; /* nothing to do */
|
|
||||||
|
|
||||||
ifc.ifc_len = sizeof(buffer); /* Get names of all ifaces */
|
|
||||||
ifc.ifc_buf = buffer;
|
|
||||||
|
|
||||||
if ((skfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
|
|
||||||
perror("socket");
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
if (ioctl(skfd, SIOCGIFCONF, &ifc) < 0) {
|
|
||||||
perror("SIOCGIFCONF");
|
|
||||||
close(skfd);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
for (i = 0, ifr = ifc.ifc_req; i < (ifc.ifc_len / sizeof(struct ifreq)); i++, ifr++) {
|
|
||||||
|
|
||||||
struct ifreq ifr2;
|
|
||||||
|
|
||||||
snprintf(ifr2.ifr_name, sizeof(ifr2.ifr_name), ifr->ifr_name);
|
|
||||||
if (ioctl(skfd, SIOCGIFADDR, &ifr2) >= 0) {
|
|
||||||
unsigned long addr;
|
|
||||||
struct sockaddr_in *p_addr;
|
|
||||||
|
|
||||||
p_addr = (struct sockaddr_in *) &(ifr2.ifr_addr);
|
|
||||||
addr = htonl((unsigned long) p_addr->sin_addr.s_addr);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* not "0.0.0.0" or "127.0.0.1" - so format the address
|
|
||||||
*/
|
|
||||||
if (addr && addr != 0x7F000001) {
|
|
||||||
char *colon = strchr(display, ':');
|
|
||||||
|
|
||||||
if (colon == NULL)
|
|
||||||
colon = ":0.0";
|
|
||||||
|
|
||||||
sprintf(ipaddress, "%d.%d.%d.%d%s", (int) ((addr >> 030) & 0xFF), (int) ((addr >> 020) & 0xFF),
|
|
||||||
(int) ((addr >> 010) & 0xFF), (int) (addr & 0xFF), colon);
|
|
||||||
|
|
||||||
rval = ipaddress;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
close(skfd);
|
|
||||||
return rval;
|
|
||||||
}
|
|
||||||
#endif /* DISPLAY_IS_IP */
|
|
||||||
/*----------------------- end-of-file (C source) -----------------------*/
|
|
|
@ -662,11 +662,6 @@ version(void)
|
||||||
#else
|
#else
|
||||||
printf(" -MULTI_CHARSET");
|
printf(" -MULTI_CHARSET");
|
||||||
#endif
|
#endif
|
||||||
#ifdef DISPLAY_IS_IP
|
|
||||||
printf(" +DISPLAY_IS_IP");
|
|
||||||
#else
|
|
||||||
printf(" -DISPLAY_IS_IP");
|
|
||||||
#endif
|
|
||||||
#ifdef ENABLE_DISPLAY_ANSWER
|
#ifdef ENABLE_DISPLAY_ANSWER
|
||||||
printf(" +ENABLE_DISPLAY_ANSWER");
|
printf(" +ENABLE_DISPLAY_ANSWER");
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -261,24 +261,10 @@ eterm_bootstrap(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DISPLAY_IS_IP
|
val = XDisplayString(Xdisplay);
|
||||||
/* Fixup display_name for export over pty to any interested terminal
|
if (display_name == NULL) {
|
||||||
* clients via "ESC[7n" (e.g. shells). Note we use the pure IP number
|
display_name = val;
|
||||||
* (for the first non-loopback interface) that we get from
|
}
|
||||||
* network_display(). This is more "name-resolution-portable", if you
|
|
||||||
* will, and probably allows for faster x-client startup if your name
|
|
||||||
* server is beyond a slow link or overloaded at client startup. Of
|
|
||||||
* course that only helps the shell's child processes, not us.
|
|
||||||
*
|
|
||||||
* Giving out the display_name also affords a potential security hole
|
|
||||||
*/
|
|
||||||
|
|
||||||
val = display_name = network_display(display_name);
|
|
||||||
if (val == NULL)
|
|
||||||
#endif /* DISPLAY_IS_IP */
|
|
||||||
val = XDisplayString(Xdisplay);
|
|
||||||
if (display_name == NULL)
|
|
||||||
display_name = val; /* use broken `:0' value */
|
|
||||||
|
|
||||||
i = strlen(val);
|
i = strlen(val);
|
||||||
display_string = MALLOC(i + 9);
|
display_string = MALLOC(i + 9);
|
||||||
|
|
Loading…
Reference in New Issue