XISP(1)

NAME
xisp - an X11 visual interface to pppd/chat

SYNOPSIS

xisp  [-bgcol #<6-digit hex color>] [-iconic]
    [-isp <ISP-num>] [-autodial] [-debug] [-expert] [-nohints] [-geometry [=][<W>{xX}<H>][{+-}<XO>{+-}<YO>]] [XForms parameters]

DESCRIPTION
xisp implements a user-friendly interface to pppd/chat and provides maximum feedback from the dial-in and login phases on a browser screen, as well as a manual login terminal window. It also provides greater versatility in interrupting a call in progress and in general enhances the user's feeling of "what's going on", especially if she/he is not all that well acquainted with the intricacies of system log files. Furthermore, it incorporates a mechanism to log ISP connections and calculate/store phone-call costs. It's also much nicer to look at as compared to connection scripts writing output on the terminal :) The main application, xisp, relies on a special dialer, xispdial, which is spawned by pppd in order to perform the dialing, and a "bare bones" terminal interface, xispterm.

The other facility provided by xisp is that of maintaining two small data bases, one for Internet Service Providers (ISPs) and one for phone companies (PTTs). The implementation supports a variable number of records for both data bases. Each ISP entry, aside from user account name and password, has space for 8 telephone numbers, two dialing parameters determining number of dialing tries and inter-dialing delay, sixteen user customizable script lines for the chat program, and a wealth of dialing and pppd options to cover most communication needs. All ISP data base information is saved in the xisp resource control file .xisprc in the user's home directory. The phone company database supports all (known) PTT attributes applicable while logging phone-call costs, and saves its information in a separate file, in sub directory .xisplogs, in the user's home directory.

For a brief presentation on the operation of xisp and in particular on the parameters available from within its "Options" and "Logging" menu options, invoke item "General" from within the "Help" menu. For a general discussion on the workings of xisp, its dialer xispdial and its helper terminal program xispterm, as well as their interaction with pppd and chat, see the "ARCHITECTURE" section in file README of the xisp distribution.

OPTIONS
xisp accepts all of the standard XForms command line options along with the additional options listed below:

-bgcol #<6-digit hex color>
    Enables changing the default background color for all program windows, and also the background color used by xispdial. The desired color is entered as a six-digit hexadecimal number, 2 digits for each one of the three basic colors, red green and blue.

-iconic
    Instructs the window manager to start up xisp iconized.

-isp <ISP-num>
    Selects the ISP entry specified by the number entered. Valid numbers range from 1 to the maximum number of ISP's supported (currently equal to 8).

-autodial
    Immediately after startup, forces automatic dialing of the selected ISP entry. If the ISP selected already has automatic dialing upon startup enabled, then this option has no effect.

-debug
    Switches on maximum PPP debugging, by increasing the pppd debug level and setting the kernel debugging option to 7, i.e. full debugging. It does that by instructing xisp to call pppd with the "debug kdebug 7" options added to its command line. Read the pppd(8) manual page for details on the types of debugging information written in the system log files.

-expert
    Turns off all program confirmation dialogues. By default, all such dialogues are enabled. This option implies "-nohints".

-nohints
    Turns off all popup hints. These contain valuable information for novice users and are enabled by default.

-geometry [=][<W>{xX}<H>][{+-}<XO>{+-}<YO>]
    Instructs the window manager to adjust the size of the xisp window and to place it at the location specified. W denotes width, H height, XO x-offset and YO y-offset. The syntax for this geometry string is the standard one used by all X11 applications.

The most commonly employed XForms command line options are also listed below for the user's convenience:

-name <appname>
    Changes the application name. Useful for managing resources.

-display <host:dpy>
    Specifies the display server. The default value is that contained in the $DISPLAY environment variable.

-private
    Forces xisp to use a private colormap.

-shared
    Forces xisp to use a shared colormap.

-stdcmap
    Forces xisp to use the standard colormap.

-bw <width in pixels>
    Changes the default border width used by all XForms objects to the desired value. The default border width is 3.

SIGNALS
The following signals have the specified effect when sent to the xisp process using the kill(1) command:

SIGINT, SIGTERM
    The xisp process is terminated and the PPP link is disconnected.

SIGUSR1
    If xisp is in the disconnected state, sending it this signal is equivalent to pressing the "Connect" button. If xisp is either dialing or in the connected state, this signal has no effect.

SIGUSR2
    If xisp is dialing, sending it this signal is equivalent to pressing the "Interrupt" button, and if xisp is in the connected state, it is equivalent to pressing "Disconnect". If xisp is in the disconnected state, this signal has no effect.

The xisp process id number is saved in file $HOME/.xisprc (see section FILES below).

FILES

/etc/ppp/options.xisp
    Special options file for pppd daemon version 2.2.x. It is not installed by default as of version 1.8 of xisp. It can be used to pass pppd any extra options not supported via xisp's GUI forms. This works with pppd version 2.2.x only.

/etc/ppp/peers/xisp_dialer
    pppd 2.3.x peer information file used to set the path to xispdial, xisp's dedicated dialer application. Used by all /etc/ppp/peers/xisp_<device> peer files.

/etc/ppp/peers/xisp_<device>
    pppd 2.3.x peer information file used for specifying the "noauth" option needed by most (if not all) ISPs, together with the serial device for which "noauth" holds. This is because setting "noauth" turns the modem device file specification into a privileged option. All such peer files contain a "call xisp_dialer" option, which reads in /etc/ppp/peers/xisp_dialer for setting the path to xispdial, xisp's dedicated dialer application.

/usr/local/libexec/xispdial
    The special dialer program invoked by pppd as instructed by xisp. Employs chat(8) to converse with the modem and if manual login is selected, launches xispterm enabling the user to login manually.

/usr/local/libexec/xispterm
    A "bare bones" terminal emulation program invoked by xispdial as a manual login terminal window.

/usr/X11R6/bin/xisprccv
    Utility program for converting .xisprc files of all older versions to the latest format. Understands database formats of version 1.2 and later.

/usr/X11R6/bin/xispid
    Utility program for retrieving the real group id of the calling process. Adapted from the GNU id(1) utility for use with xisp. Used in ip-up and ip-down to screen users with permission to start pppd. For an example of its use read the sample ip-up and ip-down files included in the xisp distribution.

$HOME/.xisprc

$HOME/.xisprc.<hostname>
    Resource control file where xisp saves all its database information. Plaintext passwords entered via xisp, are encrypted before being stored in this file. If .xisprc.<hostname> exists, it overrides the generic .xisprc file.

$HOME/.xispscript
    Temporary file created by xisp and used by xispdial during the connection phase. This file contains the plaintext password if automatic login via the login script is selected, but is created u+rw,go-rw (mode 600) and remains on the filesystem only for that limited amount of time required for connection.

$HOME/.xisppap
    Temporary file created by xisp and used by pppd, when PAP login is selected. It contains the plaintext user account name and password, and is passed to pppd via the +ua command line option. It is created u+rw,go-rw (mode 600) and remains on the filesystem only for the short amount of time required for pppd to parse its command line and spawn a copy of itself in the background. Chances are that unless you have a very heavily loaded system, you'll never be able to see this file in your home directory by using ls(1).

$HOME/.xisplogs
    Directory under the user's home directory where the two log files and the phone company (PTT) ASCII data base updated by xisp are kept. It is created the first time xisp is run.

$HOME/.xisplogs/xispcost.(period-suffix)

$HOME/.xisplogs/xisplog.(period-suffix)
    The two log files kept by xisp when logging is enabled. The first one keeps track of the total on-line time (in seconds) and the total number of units charged (or total cost if the phone company selected charges by minute rather than in units). The second one contains entries for all ISP connections in the logging period selected (one for when the connection was set up and one for when it was torn down). The "period suffix" depends on the logging period selected. For "Weekly" logging it is ".W<week-number-in-year>", for "Monthly" it is simply the abbreviated month as returned by date(1), and for "Bimonthly" it is ".B<number-of-month-pair-in-year>". As an example, for date "Fri Sep 26 17:59:39 EET DST 1997", the corresponding suffixes are ".W39", ".Sep" and ".B5", respectively.

$HOME/.xisplogs/xispPTTs
    The ASCII data base file where xisp saves all the phone company (PTT) information.

$HOME/.xisp-up, $HOME/.xisp-down
    If either one of these scripts is present in the user's home directory, it is executed when the PPP link is setup or torn down respectively. The script output can appear in the xisp browser window. Sample .xisp-up and .xisp-down scripts are included in the xisp distribution.

/tmp/.xisppipe.<username>
    The named pipe node through which xispdial conveys messages to xisp. It is created u+rw,go-rw (mode 600) and is not deleted when the user exits xisp. The same node is also used for reading output from the ip-up, ip-down scripts (called by pppd) and .xisp-up, .xisp-down scripts (called by xisp), when a link is set up or torn down.

$HOME/.xisppid
    This file contains the process id of the currently running xisp instance. It can be used by scripts which control xisp via its signal handling capabilities (details in the SIGNALS section above). Note that if for some reason (e.g. full filesystem) xisp fails to create this file in the user's home directory, it will carry on without giving any indication of this problem.

SEE ALSO
pppd(8), chat(8).

AUTHOR
The xisp package is authored and maintained by Dimitrios P. Bouras <dbouras@hol.gr>. For more detailed contact information please read the README file distributed with xisp.

ACKNOWLEDGEMENTS
Thanks are due to the following individuals:

T.C. Zhao and Mark Overmars
    For creating the exceptional Forms Library GUI. It's ease of use helped concentrating more on the program parts doing the work rather those dealing with the appearance of the user interface. Excellent work guys!

Luca Maranzano <liuk@kirk.linux.it>
    For putting together a packaged xisp for use with the Debian Linux distribution.

I.Ioannou <roryt@hol.gr>
    For providing an alternative FTP site for the xisp distribution, for his very helpful feedback and suggestions on improving xisp, and for extensive beta testing.

Peter T. Breuer <ptb@it.uc3m.es>
    For his help in extensively testing xisp on a *very* loaded system and his contribution to the alternative pppd-PID search code.

Raphael Wegmann <wegmann@ophelia.tuwien.ac.at>
    For providing the animated XPM icons and code that runs the animation, for contributing code for the ip-up/ip-down support, and all his great ideas on improving the functionality of xisp.

Doron Shikmoni <P85025@VM.BIU.AC.IL>
    For suggesting and then spending quite a bit of time testing the call-back feature, as well as his ideas on improving the scripting capabilities of xisp.

Ximenes Zalteca <ximenes@netset.com>
    For supporting the RPM source and binary packaging of xisp up to and including version 2.3p7, for use with the Red Hat Linux distribution (Ximenes has since stopped maintaining RPM releases of xisp, so please refrain from contacting him on this subject).

Dave Holland <dave@zenda.demon.co.uk>
    for his extensive beta testing of the I/O-driven call-back code, and his contribution of perl code for parsing the ipparam string.

Tillmann Steinbrecher <tst@gmx.de>
    for letting me use the code he developed for the pppcosts program, as well as the phone company information included therein.

Fabrice Bellet <Fabrice.Bellet@imag.fr>
    for his extensive modifications of the cost calculation code to cover the case of non-linear minimum charge times (in per-minute PTT charging schemes), as well as his invaluable help (feedback and patches) while beta-testing the PTT editor and its associated cost calculation engine.

Johnny C. Lam <lamj@stat.cmu.edu>
    for porting xisp to NetBSD and contributing his patches to the official distribution.

Takeshi Morishima <tm@planex-usa.com>
    for porting xisp to FreeBSD and contributing his patches to the official distribution.

For their helpful feedback, suggestions and contributions:
    Luca Maranzano <liuk@linux.it>
    Bogdan Bucicovschi <bogdanb@math.ohio-state.edu>
    Rich Lampe <rlampe@gate.cybernex.net>
    Peter T. Breuer <ptb@it.uc3m.es>
    Jon Davis <jon@mast.QueensU.CA>
    Steve Masticola <masticol@scr.siemens.com>
    I.Ioannou <roryt@hol.gr>
    Stuart Luppescu <s-luppescu@uchicago.edu>
    Amos Shapira <amos@dsi.co.il>
    Dan Morrison <danm@primenet.com>
    Raphael Wegmann <wegmann@ophelia.tuwien.ac.at>
    Jacob Spoelstra <jacob@padda.usc.edu
    Richard Marchelletta <rbm@ma.ultranet.com>
    Javier Ros <jros@upna.es>
    Stig <stig@hackvan.com>
    Daniel Whicker <heimdall@mail.utexas.edu>
    Charles Herman <cherman@acm.org>
    Doron Shikmoni <P85025@VM.BIU.AC.IL>
    Tom Hutchison <tomhutch@oregontrail.net>
    Nik. I. Mouratidis <praeto@math.auth.gr>
    Dave Hoo <dhoo@flash.net>
    Stephan Hegel <ea273@fen.baynet.de>
    Geoffrey Leach <geoffrey@iname.com>
    Ximenes Zalteca <ximenes@netset.com>
    Dave Holland <dave@zenda.demon.co.uk>
    Henning Schmiedehausen <henning@forge.franken.de>
    Jim Searle <jims@broadcom.com>
    Kimball Anderson <crutch@aci.net>
    John Alonzo Breen <jabberwock82@worldnet.att.net>
    Martin Bialasinski <martinb@debian.org>
    Oleg Mercader <merol@aliga.cesca.es>
    Col Mackrory <mackrory@acay.com.au>
    Paul Colclough <squiz@squiz.clara.net>
    Andrea Carpani <ancarpan@studenti.to.it>
    Hans-Dieter Stich <hdstich@connectu.ulm.circular.de>
    Rene Fertig <rene.fertig@wupperonline.de>
    Matt Ettus <mne@cmu.edu>
    Navindra Umanee <navindra@cs.mcgill.ca>
    Ivo Naninck <inaninck@solair1.inter.NL.net>
    Reverend Jeremy Scott Dean <seregmcw@usa.net>
    Oliver Schulze <oliver@pla.net.py>
    Gasper Fele <gasper.fele@guest.arnes.si>
    Miguel Cruz <mnc@diana.law.yale.edu>
    TonyK Lindstrom <tonyk@pulpuri.pp.fi>
    Toni Bilic <tbilic@efos.hr>
    Tom Herzog <tom_herzog@MENTORG.COM>
    Victor Karpovich <victor@cport.com>
    Fabrice Bellet <Fabrice.Bellet@imag.fr>
    Mark J. Hewitt <mjh@elsabio.demon.co.uk>
    John Merritt <merritt@raindrop1.gsfc.nasa.gov>
    Lew Ewl <hilroy@capescott.net>
    Tessa Lau <tlau@cs.washington.edu>
    Andy Rabagliati <andyr@wizzy.com>
    Peter Denison <peterd@pnd-pc.demon.co.uk>
    Jean-Francois Laforest <catworld@geocities.com>
    Olav Woelfelschneider <wosch@rbg.informatik.th-darmstadt.de>
    Alexander Baxevanis <noiz@usa.net>
    Erlend Simonsen <erlesimo@online.no>
    Alberto Caporro <a.caporro@pratesi.it>
    Jim Shallman <jim_shallman@mentorg.com>
    Orestis Glavas <glavas@hol.gr>
    Gisbert Berger <101.206067@GermanyNet.de>
    Kostas Zagoris <kzagor@rodopi.cc.duth.gr>
    John Totten <john@totten.com>
    Mike Bennett <mbennett@ns1.cfcc.cc.fl.us>
    Peter L. Jones <pljones@earthling.net>
    Robert A. Yetman <bobyetman@worldnet.att.net>
    Jon Davis <ine@engineer.com>
    Johnny C. Lam <lamj@stat.cmu.edu>
    Wolfgang Schlueschen <Wolfgang.Schlueschen@hamburg.sc.philips.com>
    Nico Coetzee <nicc@mweb.co.za>
    Juha 'Jippo' Pohjalainen <jmp+gate@iki.fi>
    Hermann Boeken <hermann.boeken@fen.baynet.de>
    Dimitris Logothetis <logos@algonet.se>
    Michael Klein <mklein@murphy.ruhr.de>
    Takeshi Morishima <morishim@cig.mot.com>
    Peter J Arnold <pjarnold@uq.net.au>
    Athanasios Kanaris <kanaris@cheng.auth.gr>
    Kent Gibson <kent.gibson@iname.com>
    Greg Ushomirsky <gregus@geminga.Berkeley.EDU>

COPYRIGHT
xisp is Copyright (C) 1997,1998,1999 Dimitrios P. Bouras

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Additionally to the conditions of the GNU Public License, the following condition also applies to xisp:

You may link this software with XForms (Copyright (C) by T.C. Zhao and Mark Overmars) and distribute the resulting binary, under the restrictions in clause 3 of the GPL, even though the resulting binary is not, as a whole, covered by the GPL. If a derivative no longer requires XForms, you may use the unsupplemented GPL as its license by deleting this paragraph and therefore removing this exemption for XForms.