From b70e1cb82aca28dd748030d0630929685ca43ba1 Mon Sep 17 00:00:00 2001 From: is Date: Wed, 22 Jul 1998 12:08:23 +0000 Subject: ICSI version of GNU finger, a distributed finger system for workstation pools and similar setups. The mugshot support was left out as much as easily possible - nowadays people use the WWW for this functionality. --- net/icsi-finger/Makefile | 63 +++++++ net/icsi-finger/files/config.h.netbsd | 305 ++++++++++++++++++++++++++++++++++ net/icsi-finger/files/md5 | 1 + net/icsi-finger/patches/patch-aa | 11 ++ net/icsi-finger/patches/patch-ab | 32 ++++ net/icsi-finger/pkg/COMMENT | 1 + net/icsi-finger/pkg/DESCR | 4 + net/icsi-finger/pkg/MESSAGE.pre | 18 ++ net/icsi-finger/pkg/PLIST | 32 ++++ 9 files changed, 467 insertions(+) create mode 100644 net/icsi-finger/Makefile create mode 100644 net/icsi-finger/files/config.h.netbsd create mode 100644 net/icsi-finger/files/md5 create mode 100644 net/icsi-finger/patches/patch-aa create mode 100644 net/icsi-finger/patches/patch-ab create mode 100644 net/icsi-finger/pkg/COMMENT create mode 100644 net/icsi-finger/pkg/DESCR create mode 100644 net/icsi-finger/pkg/MESSAGE.pre create mode 100644 net/icsi-finger/pkg/PLIST (limited to 'net/icsi-finger') diff --git a/net/icsi-finger/Makefile b/net/icsi-finger/Makefile new file mode 100644 index 00000000000..577f81b2b46 --- /dev/null +++ b/net/icsi-finger/Makefile @@ -0,0 +1,63 @@ +# $NetBSD: Makefile,v 1.1 1998/07/22 12:08:23 is Exp $ +# + +DISTNAME= icsi-finger-1.0.27 +WRKSRC= ${WRKDIR}/finger +CATEGORIES= net +MASTER_SITES= ftp://ftp.icsi.berkeley.edu/pub/ai/stolcke/software/ +EXTRACT_SUFX= .tar.Z + +MAINTAINER= is@netbsd.org + +XMPLD= ${PREFIX}/share/examples/icsi-finger +XMPLDT= ${XMPLD}/targets + +pre-configure: + -${RM} -f ${WRKSRC}/config.h + ${SED} -e s@/usr/local@${PREFIX}@ \ + -e s@/usr/pkg@${PREFIX}@ \ + files/config.h.netbsd > ${WRKSRC}/config.h + ${MV} -f ${WRKSRC}/support/inetd.conf-add \ + ${WRKSRC}/support/inetd.conf-add.bak + ${SED} -e s@/usr/local/etc@${PREFIX}/libexec@ \ + -e s@/usr/local/etc@${PREFIX}/libexec@ \ + ${WRKSRC}/support/inetd.conf-add.bak > \ + ${WRKSRC}/support/inetd.conf-add + ${MV} -f ${WRKSRC}/support/rc.local-add \ + ${WRKSRC}/support/rc.local-add.bak + ${SED} -e s@/usr/local/bin/@${PREFIX}/sbin/g@ \ + ${WRKSRC}/support/rc.local-add.bak > \ + ${WRKSRC}/support/rc.local-add + for i in ${WRKSRC}/src/targets/x-.busy \ + ${WRKSRC}/src/targets/x-.down; do \ + ${MV} $$i $$i.bak; ${SED} -e s@nawk@awk@ \ + -e s@/usr/local/etc@${PREFIX}/libexec@ \ + $$i.bak > $$i ; \ + ${RM} -f $$i.bak ; \ + done + ${SED} -e s@/usr/pkg@${PREFIX}@g pkg/MESSAGE.pre | \ + fmt > pkg/MESSAGE + +do-${INSTALL}: + ${INSTALL} -c -m 755 ${WRKSRC}/src/finger ${PREFIX}/bin/gfinger + ${INSTALL} -c -m 755 ${WRKSRC}/src/fingerd ${PREFIX}/sbin/gfingerd + ${INSTALL} -c -m 755 ${WRKSRC}/src/vifinger ${PREFIX}/sbin + ${INSTALL} -c -m 755 ${WRKSRC}/src/packet2ascii ${PREFIX}/sbin + ${LN} -sf ${PREFIX}/sbin/packet2ascii \ + ${PREFIX}/sbin/ascii2packet + ${INSTALL} -c -m 755 ${WRKSRC}/src/in.fingerd ${PREFIX}/libexec + ${INSTALL} -c -m 755 ${WRKSRC}/src/in.cfingerd ${PREFIX}/libexec + ${INSTALL} -c -m 755 ${WRKSRC}/src/in.cfingerd ${PREFIX}/libexec + -${MKDIR} ${PREFIX}/etc/fingerdir/targets + -${MKDIR} ${XMPLDT} + ${INSTALL} -c -m 644 ${WRKSRC}/support/ttylocs ${XMPLD} + ${INSTALL} -c -m 644 ${WRKSRC}/support/hostconfig ${XMPLD} + ${INSTALL} -c -m 644 ${WRKSRC}/support/rc.local-add ${XMPLD} + ${INSTALL} -c -m 644 ${WRKSRC}/support/services-add ${XMPLD} + ${INSTALL} -c -m 644 ${WRKSRC}/support/inetd.conf-add ${XMPLD} + (cd ${WRKSRC}/src; ${MAKE} ${INSTALL}.man) + (cd ${WRKSRC}/src; ${MAKE} TARGETD=${XMPLDT} ${INSTALL}.targets ) + +pre-clean: + -${RM} pkg/MESSAGE +.include "../../mk/bsd.pkg.mk" diff --git a/net/icsi-finger/files/config.h.netbsd b/net/icsi-finger/files/config.h.netbsd new file mode 100644 index 00000000000..0e54af685c7 --- /dev/null +++ b/net/icsi-finger/files/config.h.netbsd @@ -0,0 +1,305 @@ +/* + * config.h -- + * Included in the cpp-Makefile, this file contains defines which control + * the making of GNU Finger. + * + * $Id: config.h.netbsd,v 1.1 1998/07/22 12:08:23 is Exp $ ICSI (Berkeley) + */ +#ifndef _CONFIG_H_ +#define _CONFIG_H_ + +#undef SVR4 + +/* Define HAVE_X11 if you are using the X11 window system. */ +#undef HAVE_X11 +#undef HAVE_SUNVIEW +#undef PRINT_WIDGET + +/* Change the definition of FingerDir if you don't want things in the + default place. This directory contains the database of clients to + poll, the serverhost file, and accumulated data about users. + + Change the definition of BinDir and EtcDir to suit your personal + system setup. BinDir is where the user-callable programs go, + (finger, fingerd), while EtcDir is where the inet daemons + go (in.fingerd, in.cfingerd). + + Change the definition of MugShotPath to be a colon-separated list of + directories to search for mugshots (faces). Note that this value + should be surrounded by double quotes. */ + +#define FingerDir /var/run/fingerdir + +#define MugShotPath "/usr/pkg/images/finger" + +#define BinDir /usr/pkg/bin +#define EtcDir /usr/pkg/sbin + +#define ManDir /usr/pkg/man +#define ManExt 1 +#define Man5Ext 5 +#define Man8Ext 8 + +/* Binaries with names identical to standard UNIX versions may be prefixed + e.g., "gfinger" instead of "finger". */ +#define BinPrefix g + +/* Define X11Dir to the root of your X11 installation if you don't + have it spread out around /usr/bin/X11, /usr/lib/X11, /usr/include/X11, etc. + as is the default in the MIT distributions. + Define this to /usr/openwin for Suns that don't have MIT X11 installed. */ +#define X11Dir /usr/X11R6 + +/* Define to please your compiler (as chosen in Makefile) */ +#define CcOptions -O +#define CcLibs + +/* Install commands and flags. The ones below assume a BSD-style install. + A script that has the required functionality can be found in + support/install.sh */ +#define InstallCmd install -c + +#define InstallBin InstallCmd -s -m 755 +#define InstallScript InstallCmd -m 755 +#define InstallMan InstallCmd -m 444 +#define InstallData InstallCmd -m 444 + +/* NB: ./support/install-finger relies on these above defines being + present in this file. If you comment them out, you will have to + do the install by hand. */ + +/* Should we look up system accounting information to fill in the "What" + field for each login? There are at least three good reasons for + not enabling this feature: + 1 - It entails a considerable overhead because in the worst case + the entire (possibly large) accounting file has to be scanned once. + 2 - It may constitute a breach of user privacy to the outside world. + 3 - It is not really useful because all it gives you is the last, not + the current command executed by the user. + However, the accounting information can always be surpressed by + specifying an empty "acctfile" hostconfig attribute, so there is no + real reason to disable it here. */ +#undef WANT_ACCT + +/* Default print widths in short finger output (one login per line). + These refer to the real name, what, hostname, and location field, + respectively. + Since screen real estate is precious you want to adjust this according to + wha is requried for local hostnames etc. It can be changed at runtime + using the -width option. + The field widths probably not add up to more than 49 or the output will + exceed a standard 80 column tty width. (You might want to decrease this + by one if your terminal driver cannot handle 80 character lines without + inserting blank lines). */ +#ifdef WANT_ACCT +#define DEFAULT_WIDTHS 16, 7, 8, 17 +#else +#define DEFAULT_WIDTHS 24, 0, 12, 13 +#endif + +/* **************************************************************** */ +/* */ +/* Defines for FACE parameters */ +/* */ +/* **************************************************************** */ + +/* Define MIT_MUGSHOTS if you store your mugshots in the same format as + the Lisp machine mugshots used at ai.mit.edu. */ +/* #define MIT_MUGSHOTS */ + +/* Define X11_MUGSHOTS if you store your mugshots in X11 bitmap format. */ +/* #define X11_MUGSHOTS */ + +/* Define BITMAP_MUGSHOTS if you want to use the format supplied with GNU + Finger. */ +/* #define BITMAP_MUGSHOTS */ + +/* Define FACE_MUGSHOTS if your faces are stored in the Facesaver format + from uunet.uu.net. *not yet tested* */ +/* #define FACE_MUGSHOTS */ + +/* Define RAST_MUGSHOTS if your mugshots are all of Rastafarians. No, wait, + I mean if your mugshots are stored in Sun (tm) rasterfile format. */ +/* #define RAST_MUGSHOTS */ + +#ifdef PRINT_WIDGET +/* Define PRINT_COMMAND to a parametrized string to build the print + spooling command line. The first string parameter is the printer + name, the second one a PostScript file containing the image to be + printed. */ +#define PRINT_COMMAND "/usr/ucb/lpr -P%s %s" + +/* Define DEFAULT_PRINTER to the printer name used in absence of the + PRINTER environment variable. */ +#define DEFAULT_PRINTER "ps" + +#endif /* PRINT_WIDGET */ + +/* **************************************************************** */ +/* */ +/* Defines for network configuration */ +/* */ +/* **************************************************************** */ + +/* Default number of seconds between polling cycles. */ +#define DEFAULT_POLL_INTERVAL 30 + +/* Maximum number of clients to poll in one cycle. */ +#define DEFAULT_POLL_COUNT 100 + +/* Default number of milliseconds before poll connection attempt times out. */ +#define DEFAULT_CONNECT_TIMEOUT 1000000 + +/* Default number of milliseconds before read from poll connection times out. */ +#define DEFAULT_POLL_TIMEOUT 10000000 + +/* How old the database files maintained by the polling daemon can get before + the software suspects something is wrong and issues a warning. */ +#define MIN_UPDATE_INTERVAL (4 * DEFAULT_POLL_INTERVAL) + +/* Define to a filename that should be looked for in user's home directories + and executed to produce long finger output. Undefine to disable user + script execution. */ +#undef FINGERRC + +/* Define the timeout in seconds used in talking to an RFC 931 server. */ +#define AUTH_TIMEOUT 10 + +/* Define NOBODY_USER to the name of a user the finger reply daemon should run + as in case your inetd doesn't support such a user specification in + /etc/inetd.conf. This also determines the user/group id fingerrc + scripts are run with. Typically these values point to the + anonymous user "nobody" to prevent private information from being + given out inadvertedly. + NEVER leave in.fingerd running as root and have the FINGERRC + mechanism enabled. Even without FINGERRC, in.fingerd running as root + will allow users to circumvent read restrictions on files. */ +#define NOBODY_USER "nobody" + +/* Define USE_SYSLOG to the facility categeory under which you want + error and warning message to be logged. Check /usr/include/syslog.h + for appropriate categories, like LOG_DAEMON or LOG_LOCAL1. + If you have an old 4.2BSD syslog (like Ultrix) that knows no facilities, + define this anyway, to whatever you want. + Leaving USE_SYSLOG undefined will route messages to standard error. + This is not recommended because finger users will see error messages + really meant for the system administrator. */ +/* #undef USE_SYSLOG */ +#define USE_SYSLOG LOG_LOCAL5 + +/* Define CPP_CMD if you want .plan files to be processed by cpp. + If the first character of a .plan file is `#' it is passed through cpp + before it is output. The following symbols are defined for convenience: + LOCAL 0 or 1 depending on where the finger is coming from + YEAR, MONTH, DAY, HOUR, MINUTE the current local time + Actually, you can define CPP_CMD to be any command that understands -D + options like cpp. So m4 would be fine, too, if you prefer that. + + NOTE: This feature is subsumed by the more general FINGERRC functionality + and will disappear soon. Don't enable it if users currently don't rely + on it. + + SECURITY NOTE: This feature should only be used if in.fingerd can be + arranged to run as user nobody. Even then, a user could inadvertedly + give out public, but possibly sensitive information using this feature, + such as the contents of /etc/passwd. However, all such information would + have to be world-readable, and therefore could easily be compromised using + other means, such as copying or mailing to other hosts. Still, BEWARE! */ +#undef CPP_CMD + +/* **************************************************************** */ +/* */ +/* Defines for OS configuration */ +/* */ +/* **************************************************************** */ + +/* + * On the platforms mentioned in README.ICSI, the definitions + * below shouldn't require changes (except maybe USE_HPCLUSTER). + * If not, notify the maintainer. The same applies if you port + * the software to a new platform. + */ + +/* Define SYSV to enable various things that most System V things tend + to do differently from real UNIXes (i.e., BSD). This includes the + location of the mail spool and various system calls. SYSV is just + an attempt to get things right most of the time, but you may have to + replace more specific #ifdef's where this fails. */ +#undef SYSV + +/* Define USE_LASTLOG if your system has a lastlog(5) database. + This will cause finger to accurately initialize its user database from + the information found in that file. */ +#if !defined(SYSV) || defined(sgi) || defined(__osf__) || defined(SVR4) || defined(linux) +#define USE_LASTLOG +#endif + +/* Define USE_TTYENT if your system has a getttyent(3) function + and you want to use the comment fields in the system's tty database file + as a fallback resource for tty locations. */ +#if !defined(SYSV) || defined(__osf__) +#define USE_TTYENT +#endif + +/* Define HAVE_UTMPX if your system supports an extended utmp database + (including, among other things, full remote hostnames). Look for + /usr/include/utmpx.h. */ +#if defined(SVR4) +#define HAVE_UTMPX +#endif + +#undef HAVE_XUTMP + +/* Define HAVE_UTHOST if your utmp records contain the ut_host field + recording the origin of remote logins (or the display names of + X11 terminal emulators). This is a major win in determining the + `Where' filed of finger packets. Check /usr/include/utmp.h to verify. */ +#define HAVE_UTHOST + +#undef NEED_UALARM +#undef NEED_FLOCK +#undef NEED_GETUSERSHELL +#define HAVE_GETDOMAINNAME + +/* Define KEYBOARD to a device name whose access time is indicative of console + (e.g., keyboard or mouse) input. Same for KEYBOARD2 if there is more than + one such device. Make sure these device names are NOT "console". */ + +#define KEYBOARD "kbd" +#define KEYBOARD2 "mouse" + +#define MAILDIR "/var/mail" + + +#ifdef __STRICT_BSD__ +#define SIGRET int +#endif + +#define HAVE_VFORK + +#define HAVE_DIRENT + +#undef HAVE_MEMORY + +#undef HAVE_RASTERFILE + +/* Accounting file location (defaults should work in most cases) */ +#ifdef linux +#define ACCT_FILE "/var/log/pacct" +#endif + +/* Define USE_DBMALLOC only if you are a finger hacker and want to + debug heap management. It assumes Conor P. Cahill's dbmalloc package + is accessible with #include and -ldbmalloc. */ +/* #define USE_DBMALLOC */ + +#define TTYLOCFILE "/usr/pkg/etc/fingerdir/ttylocs" + +/* File with miscellaneous host configuration info. */ +#define HOSTCONFIGFILE "/usr/pkg/etc/fingerdir/hostconfig" + +/* Directory to look for special target scripts in */ +#define TargetDir /usr/pkg/etc/fingerdir/targets +#define TARGETDIR "/usr/pkg/etc/fingerdir/targets" + +#endif /* _CONFIG_H_ */ diff --git a/net/icsi-finger/files/md5 b/net/icsi-finger/files/md5 new file mode 100644 index 00000000000..aa119018971 --- /dev/null +++ b/net/icsi-finger/files/md5 @@ -0,0 +1 @@ +MD5 (icsi-finger-1.0.27.tar.Z) = 9de5ba16bdaa79ff7bc9ad364bfcf981 diff --git a/net/icsi-finger/patches/patch-aa b/net/icsi-finger/patches/patch-aa new file mode 100644 index 00000000000..7ad4cc53246 --- /dev/null +++ b/net/icsi-finger/patches/patch-aa @@ -0,0 +1,11 @@ +--- lib/error.c.old Sun Apr 5 00:38:04 1998 ++++ lib/error.c Fri Jun 26 14:16:52 1998 +@@ -143,7 +143,7 @@ + int severity; + char *filename; + { +-#ifndef linux ++#if 0 + extern int sys_nerr; + extern char *sys_errlist[]; + #endif diff --git a/net/icsi-finger/patches/patch-ab b/net/icsi-finger/patches/patch-ab new file mode 100644 index 00000000000..5981ca199db --- /dev/null +++ b/net/icsi-finger/patches/patch-ab @@ -0,0 +1,32 @@ +--- support/cpp-Makefile.orig Thu Aug 17 04:40:19 1995 ++++ support/cpp-Makefile Fri Jun 26 15:32:27 1998 +@@ -114,7 +114,7 @@ + #endif + + FINGERDIR = FingerDir +-TARGETDIR = $(FINGERDIR)/targets ++TARGETD = TargetDir + FINGERLIBDIR = $(.CURDIR)/../lib/ + FINGERLIBOBJDIR = $(FINGERLIBDIR)$(MAKEOBJDIR) + FINGERLIB = $(FINGERLIBOBJDIR)/libfinger.a +@@ -313,15 +313,15 @@ + + STAR = * + install.targets: +- test -d $(DESTDIR)$(TARGETDIR) || mkdir $(DESTDIR)$(TARGETDIR) ++ test -d $(DESTDIR)$(TARGETD) || mkdir -p $(DESTDIR)$(TARGETD) + @for f in $(.CURDIR)/targets/$(STAR); do \ + bname=`basename $$f` ; \ + if [ ! -f $$f ]; then continue; fi ; \ +- if [ ! -f $(DESTDIR)$(TARGETDIR)/$$bname ]; then \ +- echo "installing $(DESTDIR)$(TARGETDIR)/$$bname" ; \ +- $(INSTALLSCRIPT) $$f $(DESTDIR)$(TARGETDIR)/$$bname ; \ ++ if [ ! -f $(DESTDIR)$(TARGETD)/$$bname ]; then \ ++ echo "installing $(DESTDIR)$(TARGETD)/$$bname" ; \ ++ $(INSTALLSCRIPT) $$f $(DESTDIR)$(TARGETD)/$$bname ; \ + else \ +- echo "not overwriting existing $(DESTDIR)$(TARGETDIR)/$$bname" ; \ ++ echo "not overwriting existing $(DESTDIR)$(TARGETD)/$$bname" ; \ + fi ; \ + done + diff --git a/net/icsi-finger/pkg/COMMENT b/net/icsi-finger/pkg/COMMENT new file mode 100644 index 00000000000..3988921c163 --- /dev/null +++ b/net/icsi-finger/pkg/COMMENT @@ -0,0 +1 @@ +Distributed finger service. diff --git a/net/icsi-finger/pkg/DESCR b/net/icsi-finger/pkg/DESCR new file mode 100644 index 00000000000..b6a9e8f5224 --- /dev/null +++ b/net/icsi-finger/pkg/DESCR @@ -0,0 +1,4 @@ +ICSI finger (based on GNU finger) is intended for workstation pools +and similar sites, that have unique usernames across multiple +machines. A single finger request will return the status of the +whole site, or the whereabouts of a person anywhere on the site. diff --git a/net/icsi-finger/pkg/MESSAGE.pre b/net/icsi-finger/pkg/MESSAGE.pre new file mode 100644 index 00000000000..699c9b24532 --- /dev/null +++ b/net/icsi-finger/pkg/MESSAGE.pre @@ -0,0 +1,18 @@ +$NetBSD: MESSAGE.pre,v 1.1 1998/07/22 12:08:24 is Exp $ + +This is the NetBSD package for ICSI-finger, a more advanced version of +GNU finger. + +This needs a log of configuration to be useful. Therefore it isn't activated +when installed. + +You'll find example configuration files in +/usr/pkg/share/examples/icsi-finger and +/usr/pkg/share/examples/icsi-finger/targets, and are strongly advised +to read the gfingerd and cfingerd man pages. + +Also, if you activate the package, you'll need to append +/usr/pkg/share/examples/icsi-finger/inetd.conf-add to /etc/inetd.conf, +/usr/pkg/share/examples/icsi-finger/services-add to /etc/services, and +(on the master finger server) +/usr/pkg/share/examples/icsi-finger/rc.local-add to /etc/rc.local. diff --git a/net/icsi-finger/pkg/PLIST b/net/icsi-finger/pkg/PLIST new file mode 100644 index 00000000000..646acc3f946 --- /dev/null +++ b/net/icsi-finger/pkg/PLIST @@ -0,0 +1,32 @@ +@comment $NetBSD: PLIST,v 1.1 1998/07/22 12:08:24 is Exp $ +bin/gfinger +sbin/gfingerd +sbin/packet2ascii +sbin/ascii2packet +sbin/vifinger +libexec/in.fingerd +libexec/in.cfingerd +man/man1/gfinger.1 +man/man8/gfingerd.8 +man/man8/cfingerd.8 +man/man5/hostconfig.5 +man/man5/ttylocs.5 +share/examples/icsifinger/hostconfig +share/examples/icsifinger/inetd.conf-add +share/examples/icsifinger/rc.local-add +share/examples/icsifinger/services-add +share/examples/icsifinger/ttylocs +share/examples/icsifinger/targets/README +share/examples/icsifinger/targets/l-.df +share/examples/icsifinger/targets/l-.ps +share/examples/icsifinger/targets/noremote +share/examples/icsifinger/targets/s-.df +share/examples/icsifinger/targets/s-.ps +share/examples/icsifinger/targets/x-.busy +share/examples/icsifinger/targets/x-.clients +share/examples/icsifinger/targets/x-.down +share/examples/icsifinger/targets/x-.free +share/examples/icsifinger/targets/x-.help +share/examples/icsifinger/targets/x-.site +share/examples/icsifinger/targets/x-.users +share/examples/icsifinger/targets/x-help -- cgit v1.2.3