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
|
||||
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
|
||||
%defattr(-, root, root)
|
||||
%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
|
||||
%{_bindir}/*
|
||||
%{_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
|
||||
|
||||
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 \
|
||||
install-sh ltconfig ltmain.sh missing mkinstalldirs stamp-h* *.log config.h.in
|
||||
|
|
|
@ -12,7 +12,7 @@ SSE2_OBJS = sse2_cmod.lo
|
|||
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 \
|
||||
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 \
|
||||
screen.h script.c script.h scrollbar.c scrollbar.h \
|
||||
startup.c startup.h system.c system.h term.c term.h \
|
||||
|
|
|
@ -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$";
|
||||
|
||||
|
|
|
@ -386,9 +386,6 @@ extern void tt_printf(const unsigned char *, ...);
|
|||
extern void main_loop(void);
|
||||
extern int v_doPending(void);
|
||||
extern void v_writeBig(int, char *, int);
|
||||
#ifdef DISPLAY_IS_IP
|
||||
extern char *network_display(const char *);
|
||||
#endif
|
||||
|
||||
_XFUNCPROTOEND
|
||||
|
||||
|
|
|
@ -206,9 +206,6 @@
|
|||
|
||||
/********************* 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,
|
||||
* so its use is discouraged and unsupported. */
|
||||
/* #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
|
||||
printf(" -MULTI_CHARSET");
|
||||
#endif
|
||||
#ifdef DISPLAY_IS_IP
|
||||
printf(" +DISPLAY_IS_IP");
|
||||
#else
|
||||
printf(" -DISPLAY_IS_IP");
|
||||
#endif
|
||||
#ifdef ENABLE_DISPLAY_ANSWER
|
||||
printf(" +ENABLE_DISPLAY_ANSWER");
|
||||
#else
|
||||
|
|
|
@ -261,24 +261,10 @@ eterm_bootstrap(int argc, char *argv[])
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef DISPLAY_IS_IP
|
||||
/* Fixup display_name for export over pty to any interested terminal
|
||||
* clients via "ESC[7n" (e.g. shells). Note we use the pure IP number
|
||||
* (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 */
|
||||
if (display_name == NULL) {
|
||||
display_name = val;
|
||||
}
|
||||
|
||||
i = strlen(val);
|
||||
display_string = MALLOC(i + 9);
|
||||
|
|
Loading…
Reference in New Issue