NAME
xisp - an X11 visual interface to pppd/chat
SYNOPSIS
- xisp [-bgcol #<6-digit hex color>] [-iconic]
-
[-isp <ISP-num>] [-autodial] [-debug] [-expert] [-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.
- -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.
- -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/peers/xisp_dialer
-
Peer file used to invoke xisp's dedicated dialer xispdial. Used by all /etc/ppp/peers/xisp_<devicename> peer files.
- /etc/ppp/peers/xisp_<devicename>
-
Peer file used to specify the "noauth" option for pppd. And since this option is privileged (see pppd(1) ), the devicename must be set here as well. This is also the place for adding additional options which can't be set through the xisp gui.
- /usr/lib/xisp/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/lib/xisp/xispterm
-
A "bare bones" terminal emulation program invoked by xispdial as a manual login terminal window.
- /usr/lib/xisp/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/lib/xisp/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
AUTHOR
The xisp package is authored and maintained by Dimitrios P. Bouras <[email protected]>. 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 <[email protected]>
-
For putting together a packaged xisp for use with the Debian Linux distribution.
- I.Ioannou <[email protected]>
-
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 <[email protected]>
-
For his help in extensively testing xisp on a *very* loaded system and his contribution to the alternative pppd-PID search code.
- Raphael Wegmann <[email protected]>
-
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 <[email protected]>
-
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 <[email protected]>
-
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 <[email protected]>
-
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 <[email protected]>
-
for letting me use the code he developed for the pppcosts program, as well as the phone company information included therein.
- Fabrice Bellet <[email protected]>
-
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.
- For their helpful feedback, suggestions and contributions:
-
Luca Maranzano <[email protected]>
Bogdan Bucicovschi <[email protected]>
Rich Lampe <[email protected]>
Peter T. Breuer <[email protected]>
Jon Davis <[email protected]>
Steve Masticola <[email protected]>
I.Ioannou <[email protected]>
Stuart Luppescu <[email protected]>
Amos Shapira <[email protected]>
Dan Morrison <[email protected]>
Raphael Wegmann <[email protected]>
Jacob Spoelstra <[email protected]
Richard Marchelletta <[email protected]>
Javier Ros <[email protected]>
Stig <[email protected]>
Daniel Whicker <[email protected]>
Charles Herman <[email protected]>
Doron Shikmoni <[email protected]>
Tom Hutchison <[email protected]>
Nik. I. Mouratidis <[email protected]>
Dave Hoo <[email protected]>
Stephan Hegel <[email protected]>
Geoffrey Leach <[email protected]>
Ximenes Zalteca <[email protected]>
Dave Holland <[email protected]>
Henning Schmiedehausen <[email protected]>
Jim Searle <[email protected]>
Kimball Anderson <[email protected]>
John Alonzo Breen <[email protected]>
Martin Bialasinski <[email protected]>
Oleg Mercader <[email protected]>
Col Mackrory <[email protected]>
Paul Colclough <[email protected]>
Andrea Carpani <[email protected]>
Hans-Dieter Stich <[email protected]>
Rene Fertig <[email protected]>
Matt Ettus <[email protected]>
Navindra Umanee <[email protected]>
Ivo Naninck <[email protected]>
Reverend Jeremy Scott Dean <[email protected]>
Oliver Schulze <[email protected]>
Gasper Fele <[email protected]>
Miguel Cruz <[email protected]>
TonyK Lindstrom <[email protected]>
Toni Bilic <[email protected]>
Tom Herzog <[email protected]>
Victor Karpovich <[email protected]>
Fabrice Bellet <[email protected]>
Mark J. Hewitt <[email protected]>
John Merritt <[email protected]>
Lew Ewl <[email protected]>
Tessa Lau <[email protected]>
Andy Rabagliati <[email protected]>
Peter Denison <[email protected]>
Jean-Francois Laforest <[email protected]>
Olav Woelfelschneider <[email protected]>
Alexander Baxevanis <[email protected]>
Erlend Simonsen <[email protected]>
Alberto Caporro <[email protected]>
Jim Shallman <[email protected]>
Orestis Glavas <[email protected]>
Gisbert Berger <[email protected]>
Kostas Zagoris <[email protected]>
John Totten <[email protected]>
Mike Bennett <[email protected]>
Peter L. Jones <[email protected]>
Robert A. Yetman <[email protected]>
COPYRIGHT
xisp is Copyright (C) 1997,1998 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.