diff options
Diffstat (limited to 'httemplate/docs')
-rw-r--r-- | httemplate/docs/ach.html | 10 | ||||
-rwxr-xr-x | httemplate/docs/admin.html | 41 | ||||
-rw-r--r-- | httemplate/docs/cvv2.html | 24 | ||||
-rw-r--r-- | httemplate/docs/ieak.html | 75 | ||||
-rw-r--r-- | httemplate/docs/index.html | 32 | ||||
-rwxr-xr-x | httemplate/docs/legacy.html | 39 | ||||
-rw-r--r-- | httemplate/docs/man/FS/part_export/.cvs_is_on_crack | 0 | ||||
-rw-r--r-- | httemplate/docs/overview-new.dia | bin | 0 -> 2422 bytes | |||
-rw-r--r-- | httemplate/docs/overview-new.png | bin | 0 -> 29062 bytes | |||
-rw-r--r-- | httemplate/docs/overview.dia | bin | 0 -> 2800 bytes | |||
-rw-r--r-- | httemplate/docs/overview.png | bin | 0 -> 13064 bytes | |||
-rwxr-xr-x | httemplate/docs/passwd.html | 23 | ||||
-rw-r--r-- | httemplate/docs/schema.dia | bin | 0 -> 16364 bytes | |||
-rw-r--r-- | httemplate/docs/schema.html | 533 | ||||
-rw-r--r-- | httemplate/docs/schema.png | bin | 0 -> 681043 bytes | |||
-rw-r--r-- | httemplate/docs/session.html | 59 | ||||
-rw-r--r-- | httemplate/docs/signup.html | 54 | ||||
-rwxr-xr-x | httemplate/docs/ssh.html | 16 |
18 files changed, 906 insertions, 0 deletions
diff --git a/httemplate/docs/ach.html b/httemplate/docs/ach.html new file mode 100644 index 000000000..b8a17c87d --- /dev/null +++ b/httemplate/docs/ach.html @@ -0,0 +1,10 @@ +<HTML> + <HEAD> + <TITLE> + Electronic check (ACH) information + </TITLE> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <IMG BORDER=0 SRC="../images/ach.png"> + </BODY> +</HTML> diff --git a/httemplate/docs/admin.html b/httemplate/docs/admin.html new file mode 100755 index 000000000..2aa934812 --- /dev/null +++ b/httemplate/docs/admin.html @@ -0,0 +1,41 @@ +<head> + <title>Administration</title> +</head> +<body> + <h1>Administration</h1> +</body> +<ul> + <li>Open up the root of the Freeside document tree in your web + browser. For example, if you created the Freeside document tree in + /home/httpd/html/freeside, and your web browser's DocumentRoot is + /home/httpd/html, open https://your_host/freeside/. Replace + "your_host" with the name or network address of your web server. + <li>Select <u>Configuration</u> from the main menu and update your configuration values. + + <li>Go to <u>View/Edit service definitions</u> on the main menu, and + <u>Add a new service definition</u> with <i>Table</i> <b>svc_acct</b>. + Select your domain in the <b>domsvc</b> Modifier. Set <b>Fixed</b> to define + a service locked-in to this domain, or <b>Default</b> to define a service + which may select from among this domain and the customer's domains. + + <li><table><tr> + <td> Create at least POP (Point of Presence) by selecting + <u>View/Edit POPs</u> from the main menu.</td> + <th align="left"> OR </th> + <td>If you are not doing dialup, set slipip to fixed and blank for all your + Service Definitions which have Table <b>svc_acct</b>.</td> + </tr></table> + + <li>If you are using Freeside to keep track of sales taxes, define tax + information for your locales by clicking on the <u>View/Edit locales and tax + rates</u> on the main menu. + + <li>If you would like Freeside to notify your customers when their credit + cards and other billing arrangements are about to expire, arrange for + <b>freeside-expiration-alerter</b> to be run daily by cron or similar + facility. The message it sends can be configured from the + <u>Configuration</u> choice of the main menu as <u>alerter_template</u>. + +</ul> +</body> +</html> diff --git a/httemplate/docs/cvv2.html b/httemplate/docs/cvv2.html new file mode 100644 index 000000000..767098537 --- /dev/null +++ b/httemplate/docs/cvv2.html @@ -0,0 +1,24 @@ +<HTML> + <HEAD> + <TITLE> + CVV2 information + </TITLE> + </HEAD> + <BODY BGCOLOR="#e8e8e8"> + The CVV2 number (also called CVC2 or CID) is a three- or four-digit + security code used to reduce credit card fraud.<BR><BR> + <TABLE BORDER=0 CELLSPACING=4> + <TR> + <TH>Visa / MasterCard / Discover</TH> + <TH>American Express</TH> + </TR> + <TR> + <TD> + <IMG BORDER=0 ALT="Visa/MasterCard/Discover" SRC="../images/cvv2.png"> + </TD> + <TD> + <IMG BORDER=0 ALT="American Express" SRC="../images/cvv2_amex.png"> + </TD> + </TABLE> + </BODY> +</HTML> diff --git a/httemplate/docs/ieak.html b/httemplate/docs/ieak.html new file mode 100644 index 000000000..00c53423c --- /dev/null +++ b/httemplate/docs/ieak.html @@ -0,0 +1,75 @@ +<pre> +this is incomplete +mostly it should be merged into signup.html and fs_signup/ieak.template + +- download and install the IEAK from + http://www.microsoft.com/windows/ieak/default.asp + +- Good examples may be found in + C:\Program Files\IEAK\toolkit\isp\server\ICW\signup\perl\signup08.pl + C:\Program Files\IEAK\toolkit\isp\server\ICW\reconfig\perl\reconfig04.pl + C:\Program Files\IEAK6\toolkit\isp\servless\basic\sample.ins + C:\Program Files\IEAK6\toolkit\isp\servless\advanced\4567.ins + C:\Program Files\IEAK6\toolkit\isp\servless\advanced\4568.ins + C:\Program Files\IEAK6\toolkit\isp\servless\advanced\7890.ins + C:\Program Files\IEAK6\toolkit\isp\servless\advanced\7891.ins + +- Full documentation on all the settings available in .INS files is + avaialble under Program Files | Microsoft IEAK 6 | IEAK Help + | Reference | Internet Settings (.ins) Files + +- Freeside will make the following substitutions before sending the file + to the user: + + { $ac } - area code of selected POP + { $exch } - exchange of selected POP + { $loc } - local part of selected POP + { $username } + { $password } + { $email_name } - first and last name + { $pkg } - package name + +- Simple example follows: + +[Entry] +Entry Name = IEAK Sample +[Phone] +Dial_As_Is = No +Phone_Number = { $exch }{ $loc } +Area_Code = { $ac } +Country_Code = 1 +Country_Id = 1 +[Server] +Type = PPP +SW_Compress = Yes +PW_Encrypt = Yes +Negotiate_TCP/IP = Yes +Disable_LCP = No +[TCP/IP] +Specity_IP_Address = No +Specity_Server_Address = No +IP_Header_Compress = Yes +Gateway_On_Remote = Yes +[User] +Name = { $username } +Passowrd = { $password } +Display_Password = Yes +[Internet_Mail] +Email_Name = { $email_name } +Email_Address = { $username }@example.com +POP_Server = mail.example.com +POP_Server_Port_Number = 110 +POP_Logon_Password = { $password } +SMTP_Server = mail.example.com +SMTP_Server_Port_Number = 25 +Install_Mail = 1 +[URL] +Help_Page = http://www.ieaksample.net/helpdesk +Home_Page = http://www.ieaksample.net +Search_Page = http://www.ieaksample,net/search +[Favorites] +IEAK Sample \\ IEAK Sample Home Page.url = http://acme.ieaksample.net/ +[Branding] +Window_Title = Internet Explorer from Acme Internet Services + +</pre> diff --git a/httemplate/docs/index.html b/httemplate/docs/index.html new file mode 100644 index 000000000..3b419de00 --- /dev/null +++ b/httemplate/docs/index.html @@ -0,0 +1,32 @@ +<head> + <title>Freeside Documentation</title> +</head> +<body bgcolor="#ffffff"> + <h1>Freeside Documentation</h1> +<img src="overview-new.png"> +<h3>Installation and upgrades</h3> +<ul> + <li><a href="http://www.sisd.com/mediawiki/index.php/Freeside:1.7:Documentation:Installation">New Installation</a> + <li><a href="http://www.sisd.com/mediawiki/index.php/Freeside:1.7:Documentation:RT_Installation">Installing integrated RT ticketing</a> + <li><a href="http://www.sisd.com/mediawiki/index.php/Freeside:1.7:Documentation:Self-Service_Installation">Signup/Self-service installation</a> + <li><a href="http://www.sisd.com/mediawiki/index.php/Freeside:1.7:Documentation:Upgrading">Upgrading from 1.5.8 or 1.6.X</a> +</ul> +<h3>Configuration and setup</h3> +<ul> +<!-- + <li><a href="config.html">Configuration files</a> +!--> + <li><a href="admin.html">Administration</a> +<!-- + <li><a href="../index.html#admin">Administration</a> +!--> + <li><a href="http://www.sisd.com/mediawiki/index.php/Freeside:1.7:Documentation:Administration#Exports_.28provisioning.29">Exports</a> + <li><a href="http://www.sisd.com/mediawiki/index.php/Freeside:1.7:Documentation:Administration#Billing">Billing</a> +</ul> +<h3>Developer</h3> +<ul> + <li><a href="schema.html">Schema reference</a> + <li><a href="man/FS.html">Perl API</a> + <li><a href="legacy.html">Importing legacy data</a> +</ul> +</body> diff --git a/httemplate/docs/legacy.html b/httemplate/docs/legacy.html new file mode 100755 index 000000000..94efe53af --- /dev/null +++ b/httemplate/docs/legacy.html @@ -0,0 +1,39 @@ +<head> + <title>Importing legacy data</title> +</head> +<body> + <h1>Importing legacy data</h1> +<font size="+2">In almost all cases, legacy data import will require writing custom code to deal with your particular legacy data. The example scripts here will probably <b>not</b> work "out-of-the-box", and are provided <b>as a starting point only</b>.</font> +<br><br><i>Some import scripts may require installation of the <a href="http://search.cpan.org/search?dist=Array-PrintCols">Array-PrintCols</a> and <a href="http://search.cpan.org/search?dist=Term-Query">Term-Query</a> (make test broken; install manually) modules.</i><br> +<ul> + <li><a name="bind">bin/bind.import</a> - Import domain information from BIND named + <li><a name="passwd">bin/passwd.import</a> - Just import `passwd' and `shadow' or `master.passwd', no RADIUS import. + <li><a name="svc_acct">bin/svc_acct.import</a> - Import `passwd', ( `shadow' or `master.passwd' ) and RADIUS `users'. Before running bin/svc_acct.import, you need <a href="../browse/part_svc.cgi">services</a> (with table svc_acct) as follows: + <ul> + <li>Most accounts probably have entries in passwd and users (with Port-Limit nonexistant or 1) + <li>Some accounts have entries in passwd and users, but with Port-Limit 2 (or more) + <li>Some accounts might have entries in users only (Port-Limit 1) + <li>Some accounts might have entries in users only (Port-Limit >= 2) + <li>POP mail accounts have entries in passwd only, and have a particular shell. + <li>Everything else in passwd is a shell account. + </ul> +<!-- <li><a name="svc_acct_sm">bin/svc_acct_sm.import</a> - Import qmail ( `virtualdomains' and `rcpthosts' ), or sendmail ( `virtusertable' and `sendmail.cw' ) files. Before running bin/svc_acct_sm.import, you need <a href="../browse/part_svc.cgi">services</a> as follows: + <ul> + <li>Domain (table svc_acct) + <li>Mail alias (table svc_acct_sm) + </ul> +--> + <li><a name="cust_main">Importing customer data</a> + <ul> + <li>Manually + <ul> + <li>Add a <a href="../edit/cust_main.cgi">new customer</a> + <li>Add one or more packages for this customer + <li>Enter a package by clicking on the package number + <li>Pick the `Link to existing' option + </ul> + <li>Batch - You will need to write a script to import your particular legacy data. You can use eg/TEMPLATE_cust_main.import as a starting point. + </ul> +</ul> +</body> + diff --git a/httemplate/docs/man/FS/part_export/.cvs_is_on_crack b/httemplate/docs/man/FS/part_export/.cvs_is_on_crack new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/httemplate/docs/man/FS/part_export/.cvs_is_on_crack diff --git a/httemplate/docs/overview-new.dia b/httemplate/docs/overview-new.dia Binary files differnew file mode 100644 index 000000000..d9989a359 --- /dev/null +++ b/httemplate/docs/overview-new.dia diff --git a/httemplate/docs/overview-new.png b/httemplate/docs/overview-new.png Binary files differnew file mode 100644 index 000000000..bf815463b --- /dev/null +++ b/httemplate/docs/overview-new.png diff --git a/httemplate/docs/overview.dia b/httemplate/docs/overview.dia Binary files differnew file mode 100644 index 000000000..a0e34c30e --- /dev/null +++ b/httemplate/docs/overview.dia diff --git a/httemplate/docs/overview.png b/httemplate/docs/overview.png Binary files differnew file mode 100644 index 000000000..bf2dbc26c --- /dev/null +++ b/httemplate/docs/overview.png diff --git a/httemplate/docs/passwd.html b/httemplate/docs/passwd.html new file mode 100755 index 000000000..fc1dde956 --- /dev/null +++ b/httemplate/docs/passwd.html @@ -0,0 +1,23 @@ +<head> + <title>fs_passwd</title> +</head> +<body> + <h1>fs_passwd</h1> +You may use fs_passwd/fs_passwd as a "passwd", "chfn" and "chsh" replacement on your shell machine(s) to cause password, gecos and shell changes to update your freeside machine. You can also use the fs_passwd/fs_passwd.html and fs_passwd/fs_passwd.cgi to run a public password change CGI on a public web server. This can pose a security risk if not configured correctly. <b>Do not use this feature unless you understand what you are doing!</b> +<br><br>Currently it is assumed that the the crypt(3) function in the C library is the same on the Freeside machine as on the target machine. +<ul> + <li>Create a freeside account on the shell or web machine(s). + <li>Setup SSH keys: + <ul> + <li>As the freeside user (on your freeside machine), generate an authentication key using <a href="http://www.tac.eu.org/cgi-bin/man-cgi?ssh-keygen+1">ssh-keygen</a>. Since this is for unattended operation, use a blank passphrase. + <li>Append the newly-created <code>identity.pub</code> file to <code>~freeside +/.ssh/authorized_keys</code> on the shell or web machine(s). + <li>Some new SSH v2 implementation accept v2 style keys only. Use the <code>-t</code> option to <a href="http://www.tac.eu.org/cgi-bin/man-cgi?ssh-keygen+1">ssh-keygen</a>, and append the created <code>id_dsa.pub</code> or <code>id_rsa.pub</code> to <code>~freeside/.ssh/authorized_keys2</code> on the remote machine(s). + </ul> + <li>Copy fs_passwd/fs_passwdd to /usr/local/sbin on the shell or web machine(s). (chown freeside, chmod 500) + <li>Create /usr/local/freeside on the shell or web machine(s). (chown freeside, chmod 700) + <li>Run an iteration of "fs_passwd/fs_passwd_server <i>user</i> shell.machine" as the freeside user for each shell or web machine (this is a daemon process). <i>user</i> refers to a freeside user added by <a href="man/bin/freeside-adduser.html">freeside-adduser</a>. + <li>Copy fs_passwd/fs_passwd to /usr/local/bin on the shell machine(s). (chown freeside, chmod 4755). You may link it to passwd, chfn and chsh as well. + <li>Copy fs_passwd/fs_passwd.cgi to the cgi-bin directory on your web machine(s). Use <a href="http://www.apache.org/docs/suexec.html">suEXEC</a> or <a href="http://www.perldoc.com/perl5.6.1/pod/perlsec.html">suidperl</a> to run fs_passwd.cgi as the freeside user. +</ul> +</body> diff --git a/httemplate/docs/schema.dia b/httemplate/docs/schema.dia Binary files differnew file mode 100644 index 000000000..e00f59ce1 --- /dev/null +++ b/httemplate/docs/schema.dia diff --git a/httemplate/docs/schema.html b/httemplate/docs/schema.html new file mode 100644 index 000000000..cd4914a6c --- /dev/null +++ b/httemplate/docs/schema.html @@ -0,0 +1,533 @@ + + <title>Schema reference</title> +</head> +<body> + <h1>Schema reference</h1> + Schema diagram (1.4.1): <a href="schema.png">as a giant .png</a> or <a href="schema.dia">dia source</a> (<a href="http://www.lysator.liu.se/~alla/dia/">dia homepage</a>). + <ul> + <li><a name="agent" href="man/FS/agent.html">agent</a> - Agents are resellers of your service. Agents may be limited to a subset of your full offerings (via their agent type). + <ul> + <li>agentnum - primary key + <li>agent - name of this agent + <li>typenum - <a href="#agent_type">agent type</a> + <li>prog - (unimplemented) + <li>freq - (unimplemented) + <li>disabled - Disabled flag, empty or 'Y' + <li>username - Username for the Agent interface + <li>_password - Password for the Agent interface + </ul> + <li><a name="agent_type" href="man/FS/agent_type.html">agent_type</a> - Agent types define groups of packages that you can then assign to particular agents. + <ul> + <li>typenum - primary key + <li>atype - name of this agent type + </ul> + <li><a name="cust_bill" href="man/FS/cust_bill.html">cust_bill</a> - Invoices. Declarations that a customer owes you money. The specific charges are itemized in <a href="#cust_bill_pkg">cust_bill_pkg</a>. + <ul> + <li>billpkgnum - primary_key + <li>invnum - primary key + <li>custnum - <a href="#cust_main">customer</a> + <li>_date + <li>charged - amount of this invoice + <li>printed - how many times this invoice has been printed automatically + <li>closed - books closed flag, empty or `Y' + </ul> + <li><a name="cust_bill_event" href="man/FS/cust_bill_event.html">cust_bill_event</a> - Invoice event history + <ul> + <li>eventnum - primary key + <li>invnum - <a href="#cust_bill">invoice</a> + <li>eventpart - <a href="#part_bill_event">event definition</a> + <li>_date + <li>status + <li>statustext + </ul> + <li><a name="part_bill_event" href="man/FS/part_bill_event.html">part_bill_event</a> - Invoice event definitions + <ul> + <li>eventpart - primary key + <li>payby - CARD, DCRD, CHEK, DCHK, LECB, BILL, or COMP + <li>event - event name + <li>eventcode - event action + <li>seconds - how long after the invoice date (<a href="#cust_bill">cust_bill</a>._date) events of this type are triggered + <li>weight - ordering for events with identical seconds + <li>plan - eventcode plan + <li>plandata - additional plan data + <li>disabled - Disabled flag, empty or `Y' + <li>taxclass - Texas tax class flag, empty or "none", "access", or "hosting" + </ul> + <li><a name="cust_bill_pkg" href="man/FS/cust_bill_pkg.html">cust_bill_pkg</a> - Invoice line items + <ul> + <li>invnum - (multiple) key + <li>pkgnum - <a href="#cust_pkg">package</a> or 0 for the special virtual sales tax package + <li>setup - setup fee + <li>recur - recurring fee + <li>sdate - starting date + <li>edate - ending date + <li>itemdesc - Line item description (currently used only when pkgnum is 0) + </ul> + <li><a name="cust_bill_pkg_detail" href="man/FS/cust_bill_pkg_detail.html">cust_bill_pkg_detail</a> - Invoice line items detail + <ul> + <li>detailnum - primary key + <li>pkgnum - + <li>invnum - + <li>detail - Detail description + </ul> + <li><a name="cust_credit" href="man/FS/cust_credit.html">cust_credit</a> - Credits. The equivalent of a negative <a href="#cust_bill">cust_bill</a> record. + <ul> + <li>crednum - primary key + <li>custnum - <a href="#cust_main">customer</a> + <li>amount - amount credited + <li>_date + <li>otaker - order taker + <li>reason + <li>closed - books closed flag, empty or `Y' + </ul> + <li><a name="cust_credit_bill" href="man/FS/cust_credit_bill.html">cust_credit_bill</a> - Credit invoice application. Links a credit to an invoice. + <ul> + <li>creditbillnum - primary key + <li>crednum - <a href="#cust_credit">credit</a> being applied + <li>invnum - <a href="#cust_bill">invoice</a> to which credit is applied + <li>amount - amount applied + <li>_date + </ul> + <li><a name="cust_pay_refund" href="man/FS/cust_pay_refund.html">cust_credit_bill</a> - Refund payment application. Links a refund to a payment. + <ul> + <li>payrefundnum - primary key + <li>paynum - <a href="#cust_pay">payment</a> + <li>refundnum - <a href="#cust_refund">refund</a> + <li>amount - amount applied + <li>_date + </ul> + <li><a name="cust_main" href="man/FS/cust_main.html">cust_main</a> - Customers + <ul> + <li>custnum - primary key + <li>agentnum - <a href="#agent">agent</a> + <li>refnum - <a href="#part_referral">referral</a> + <li>first - name + <li>last - name + <li>ss - social security number + <li>company + <li>address1 + <li>address2 + <li>city + <li>county + <li>state + <li>zip + <li>country + <li>daytime - phone + <li>night - phone + <li>fax - phone + <li><i>ship_first</i> + <li><i>ship_last</i> + <li><i>ship_company</i> + <li><i>ship_address1</i> + <li><i>ship_address2</i> + <li><i>ship_city</i> + <li><i>ship_county</i> + <li><i>ship_state</i> + <li><i>ship_zip</i> + <li><i>ship_country</i> + <li><i>ship_daytime</i> + <li><i>ship_night</i> + <li><i>ship_fax</i> + <li>payby - CARD, DCHK, CHEK, DCHK, LECB, BILL, or COMP + <li>payinfo - card number, P.O.#, or comp issuer + <li>paycvv - Card Verification Value, "CVV2" (also known as CVC2 or CID), the 3 or 4 digit number on the back (or front, for American Express) of the credit card + <li>paydate - expiration date + <li>payname - billing name (name on card) + <li>tax - tax exempt, Y or null + <li>otaker - order taker + <li>referral_custnum + <li>comments + </ul> + (columns in <i>italics</i> are optional) + <li><a name="cust_main_invoice" href="man/FS/cust_main_invoice.html">cust_main_invoice</a> - Invoice destinations for email invoices. Note that a customer can have many email destinations for their invoice (either literal or via svcnum), but only one postal destination. + <ul> + <li>destnum - primary key + <li>custnum - <a href="#cust_main">customer</a> + <li>dest - Invoice destination. Freeside supports three types of invoice delivery: send directly to a service defined in Freeside, send to an arbitrary email address, or print the invoice to a printer and have someone send it out via snail mail. Freeside determines which method to use based on the contents of the dest field. If the contents are numeric, a <a href="#svc_acct">svcnum</a> pointing to a valid service is expected in the field. If the contents are a string, a literal email address is expected to be in the field. If the special keyword `POST' is present, the snail mail method is used (which is the default if no cust_main_invoice records exist). Snail mail invoices get their address information from <A name="#cust_main">cust_main</A> and are printed with the printer defined in the configuration files. + </ul> + <li><a name="cust_main_county" href="man/FS/cust_main_county.html">cust_main_county</a> - Tax rates + <ul> + <li>taxnum - primary key + <li>state + <li>county + <li>country + <li>tax - % rate + <li>taxclass + <li>exempt_amount + <li>taxname - if defined, printed on invoices instead of "Tax" + <li>setuptax - if 'Y', this tax does not apply to setup fees + <li>recurtax - if 'Y', this tax does not apply to recurring fees + </ul> + <li><a name="cust_tax_exempt" href="man/FS/cust_tax_exempt.html">cust_tax_exempt</a> - Tax exemption record + <ul> + <li>exemptnum - primary key + <li>taxnum - <a href="#cust_main_county">tax rate</a> + <li>year + <li>month + <li>amount + </ul> + <li><a name="cust_pay" href="man/FS/cust_pay.html">cust_pay</a> - Payments. Money being transferred from a customer. + <ul> + <li>paynum - primary key + <li>custnum - <a href="#cust_main">customer</a> + <li>paid - amount + <li>_date + <li>payby - CARD, CHEK, LECB, BILL, or COMP + <li>payinfo - card number, P.O.#, or comp issuer + <li>paybatch - text field for tracking card processor batches + <li>closed - books closed flag, empty or `Y' + </ul> + <li><a name="cust_pay-void" href="man/FS/cust_pay_void.html">cust_pay_void</a> - Voided payments. + <ul> + <li>paynum - primary key + <li>custnum - <a href="#cust_main">customer</a> + <li>paid - amount + <li>_date + <li>payby - CARD, CHEK, LECB, BILL, or COMP + <li>payinfo - card number, P.O.#, or comp issuer + <li>paybatch - text field for tracking card processor batches + <li>closed - books closed flag, empty or `Y' + <li>void_date + <li>reason + <li>otaker - order taker + </ul> + <li><a name="cust_bill_pay" href="man/FS/cust_bill_pay.html">cust_bill_pay</a> - Applicaton of a payment to a specific invoice. + <ul> + <li>billpaynum + <li>invnum - <a href="#cust_bill">invoice</a> + <li>paynum - <a href="#cust_pay">payment</a> + <li>amount + <li>_date + </ul> + <li><a name="pay_batch" href="man/FS/pay_batch.html">pay_batch</a> - Pending batch + <ul> + <li>batchnum + <li>status + <li>download + <li>upload + </ul> + <li><a name="cust_pay_batch" href="man/FS/cust_pay_batch.html">cust_pay_batch</a> - Pending batch members + <ul> + <li>paybatchnum + <li>batchnum + <li>payby - CARD, CHEK, LECB, BILL, or COMP + <li>payinfo - account number + <li>exp - card expiration + <li>amount + <li>invnum - <a href="#cust_bill">invoice</a> + <li>custnum - <a href="#cust_main">customer</a> + <li>payname - name on card + <li>first - name + <li>last - name + <li>address1 + <li>address2 + <li>city + <li>state + <li>zip + <li>country + <li>status + </ul> + <li><a name="cust_pkg" href="man/FS/cust_pkg.html">cust_pkg</a> - Customer billing items + <ul> + <li>pkgnum - primary key + <li>custnum - <a href="#cust_main">customer</a> + <li>pkgpart - <a href="#part_pkg">Package definition</a> + <li>setup - date + <li>bill - next bill date + <li>last_bill - last bill date + <li>susp - (past) suspension date + <li>expire - (future) cancellation date + <li>cancel - (past) cancellation date + <li>otaker - order taker + <li>manual_flag - If this field is set to 1, disables the automatic unsuspensiond of this package when using the <a href="config.html#unsuspendauto">unsuspendauto</a> config file. + </ul> + <li><a name="cust_refund" href="man/FS/cust_refund.html">cust_refund</a> - Refunds. The transfer of money to a customer; equivalent to a negative <a href="#cust_pay">cust_pay</a> record. + <ul> + <li>refundnum - primary key + <li>custnum - <a href="#cust_main">customer</a> + <li>refund - amount + <li>_date + <li>payby - CARD, CHEK, LECB, BILL or COMP + <li>payinfo - card number, P.O.#, or comp issuer + <li>otaker - order taker + <li>closed - books closed flag, empty or `Y' + </ul> + <li><a name="cust_credit_refund" href="man/FS/cust_credit_refund.html">cust_credit_refund</a> - Applicaton of a refund to a specific credit. + <ul> + <li>creditrefundnum - primary key + <li>crednum - <a href="#cust_credit">credit</a> + <li>refundnum - <a href="#cust_refund">refund</a> + <li>amount + <li>_date + </ul> + <li><a name="cust_svc" href="man/FS/cust_svc.html">cust_svc</a> - Customer services + <ul> + <li>svcnum - primary key + <li>pkgnum - <a href="#cust_pkg">package</a> + <li>svcpart - <a href="#part_svc">Service definition</a> + </ul> + <li><a name="nas" href="man/FS/nas.html">nas</a> - Network Access Server (terminal server) + <ul> + <li>nasnum - primary key + <li>nas - NAS name + <li>nasip - NAS ip address + <li>nasfqdn - NAS fully-qualified domain name + <li>last - timestamp indicating the last instant the NAS was in a known state (used by the session monitoring). + </ul> + <li><a name="part_pkg" href="man/FS/part_pkg.html">part_pkg</a> - Package definitions + <ul> + <li>pkgpart - primary key + <li>pkg - package name + <li>comment - non-customer visable package comment + <li>promo_code - promotional code + <li><i>deprecated</i> setup - setup fee expression + <li>freq - recurring frequency (months) + <li><i>deprecated</i> recur - recurring fee expression + <li>setuptax - Setup fee tax exempt flag, empty or `Y' + <li>recurtax - Recurring fee tax exempt flag, empty or `Y' + <li>plan - price plan + <li><i>deprecated</i> plandata - additional price plan data + <li>disabled - Disabled flag, empty or `Y' + </ul> + <li><a name="part_pkg_option" href="man/FS/part_pkg_option.html">part_pkg_option</a> - Package definition options + <ul> + <li>optionnum - primary key + <li>pkgpart - <a href="#part_pkg">Package definition</a> + <li>optionname - option name + <li>optionvalue - option value + </ul> + <li><a name="reg_code" href="man/FS/reg_code.html">reg_code</A> - One-time registration codes + <ul> + <li>codenum - primary key + <li>code + <li>agentnum - <a href="#agent">Agent</a> + </ul> + <li><a name="reg_code_pkg" href="man/FS/reg_code_pkg.html">reg_code_pkg</A> - Registration code link to package definitions + <ul> + <li>codepkgnum - primary key + <li>codenum - <a href="#reg_code">Registration code</a> + <li>pkgpart - <a href="#part_pkg">Package definition</a> + </ul> + <li><a name="part_referral" href="man/FS/part_referral.html">part_referral</a> - Referral listing + <ul> + <li>refnum - primary key + <li>referral - referral + </ul> + <li><a name="part_svc" href="man/FS/part_svc.html">part_svc</a> - Service definitions + <ul> + <li>svcpart - primary key + <li>svc - name of this service + <li>svcdb - table used for this service: svc_acct, svc_forward, svc_domain, svc_charge or svc_wo + <li>disabled - Disabled flag, empty or `Y' +<!-- <li><i>table</i>__<i>field</i> - Default or fixed value for <i>field</i> in <i>table</i> + <li><i>table</i>__<i>field</i>_flag - null, D or F +--> + </ul> + <li><a name="part_svc_column" href="man/FS/part_svc_column.html">part_svc_column</a> + <ul> + <li>columnnum - primary key + <li>svcpart - <a href="#part_svc">Service definition</a> + <li>columnname - column name in part_svc.svcdb table + <li>columnvalue - default or fixed value for the column + <li>columnflag - null, D or F + </ul> + <li><a name="pkg_svc" href="man/FS/pkg_svc.html">pkg_svc</a> + <ul> + <li>pkgsvcnum - primary key + <li>pkgpart - <a href="#part_pkg">Package definition</a> + <li>svcpart - <a href="#part_svc">Service definition</a> + <li>quantity - quantity of this service that this package includes + <li>primary_svc - blank or Y: primary service + </ul> + <li><a name="export_svc" href="man/FS/export_svc.html">export_svc</a> + <ul> + <li>exportsvcnum - primary key + <li>svcpart - <a href="#part_svc">Service definition</a> + <li>exportnum - <a href="#exportnum">Export</a> + </ul> + <li><a name="part_export" href="man/FS/part_export.html">part_export</a> - Export to external provisioning + <ul> + <li>exportnum - primary key + <li>machine - Machine name + <li>exporttype - Export type + <li>nodomain - blank or Y: usernames are exported to this service with no domain + </ul> + <li><a name="part_export_option" href="man/FS/part_export_option.html">part_export_option</a> - provisioning options + <ul> + <li>optionnum - primary key + <li>exportnum - <a href="#part_export">Export</a> + <li>optionname - option name + <li>optionvalue - option value + </ul> + <li><a name="port" href="man/FS/port.html">port</a> - individual port on a <a href="#nas">nas</a> + <ul> + <li>portnum - primary key + <li>ip - IP address of this port + <li>nasport - port number on the NAS + <li>nasnum - <a href="#nas">NAS</a> + </ul> + <li><a name="prepay_credit" href="man/FS/prepay_credit.html">prepay_credit</a> - prepaid cards + <ul> + <li>prepaynum - primary key + <li>identifier - text or numeric string of prepaid card + <li>amount - amount of prepayment + <li>seconds - prepaid time instead of (or in addition to) monetary value + <li>agentnum - optional agent assignment for prepaid cards + </ul> + <li><a name="session" href="man/FS/session.html">session</a> + <ul> + <li>sessionnum - primary key + <li>portnum - <a href="#port">Port</a> + <li>svcnum - <a href="#svc_acct">Account</a> + <li>login - timestamp indicating the beginning of this user session. + <li>logout - timestamp indicating the end of this user session. May be null, which indicates a currently open session. + </ul> + + <li><a name="svc_acct" href="man/FS/svc_acct.html">svc_acct</a> - Accounts + <ul> + <li>svcnum - <a href="#cust_svc">primary key</a> + <li>username + <li>_password + <li>sec_phrase - security phrase + <li>popnum - <a href="#svc_acct_pop">Point of Presence</a> + <li>uid + <li>gid + <li>finger - GECOS + <li>dir + <li>shell + <li>quota - (unimplementd) + <li>slipip - IP address + <li>seconds + <li>domsvc + <li>radius_<i>Radius_Reply_Attribute</i> - Radius-Reply-Attribute + <li>rc_<i>Radius_Check_Attribute</i> - Radius-Check-Attribute + </ul> + <li><a name="svc_acct_pop" href="man/FS/svc_acct_pop.html">svc_acct_pop</a> - Points of Presence + <ul> + <li>popnum - primary key + <li>city + <li>state + <li>ac - area code + <li>exch - exchange + <li>loc - rest of number + </ul> + <li><a name="part_pop_local" href="man/FS/part_pop_local.html">part_pop_local</a> - Local calling areas + <ul> + <li>localnum - primary key + <li>popnum - primary key + <li>city + <li>state + <li>npa - area code + <li>nxx - exchange + </ul> + <li><a name="svc_domain" href="man/FS/svc_domain.html">svc_domain</a> - Domains + <ul> + <li>svcnum - <a href="#cust_svc">primary key</a> + <li>domain + </ul> + <li><a name="svc_forward" href="man/FS/svc_forward.html">svc_forward</a> - Mail forwarding aliases + <ul> + <li>svcnum - <a href="#cust_svc">primary key</a> + <li>srcsvc - <a href="#svc_acct">svcnum of the source of this forward</a> + <li>src - literal source (username or full email address) + <li>dstsvc - <a href="#svc_acct">svcnum of the destination of this forward</a> + <li>dst - literal destination (username or full email address) + </ul> + <li><a name="domain_record" href="man/FS/domain_record.html">domain_record</a> - Domain zone detail + <ul> + <li>recnum - primary key + <li>svcnum - <a href="#svc_domain">Domain</a> (by svcnum) + <li>reczone - zone for this line + <li>recaf - address family, usually <b>IN</b> + <li>rectype - type for this record (<b>A</b>, <b>MX</b>, etc.) + <li>recdata - data for this record + </ul> + <li><a name="svc_www" href="man/FS/svc_www.html">svc_www</a> + <ul> + <li>svcnum - <a href="#cust-svc">primary key</a> + <li>recnum - <a href="#domain_record">host</a> + <li>usersvc - <a href="#svc_acct">account</a> + </ul> + <li><a name="type_pkgs" href="man/FS/type_pkgs.html">type_pkgs</a> + <ul> + <li>typepkgnum - primary key + <li>typenum - <a href="#agent_type">agent type</a> + <li>pkgpart - <a href="#part_pkg">Package definition</a> + </ul> + <li><a name="queue" href="man/FS/queue.html">queue</a> - job queue + <ul> + <li>jobnum - primary key + <li>job + <li>_date + <li>status + <li>statustext + <li>svcnum + </ul> + <li><a name="queue_arg" href="man/FS/queue_arg.html">queue_arg</a> - job arguments + <ul> + <li>argnum - primary key + <li>jobnum - <a href="#queue">job</a> + <li>arg - argument + </ul> + <li><a name="queue_depend" href="man/FS/queue_depend.html">queue_depend</a> - job dependancies + <ul> + <li>dependnum - primary key + <li>jobnum - source jobnum + <li>depend_jobnum - dependancy jobnum + </ul> + <li><a name="radius_usergroup" href="man/FS/radius_usergroup.html">radius_usergroup</a> - Link users to RADIUS groups. + <ul> + <li>usergroupnum - primary key + <li>svcnum - <a href="#svc_acct">account</a> + <li>groupname + </ul> + <li><a name="rate" href="man/FS/rate.html">rate</a> - Call rate plans + <ul> + <li>ratenum - primary key + <li>ratename + </ul> + <li><a name="rate_detail" href="man/FS/rate_detail.html">rate_detail</a> - Call rate detail + <ul> + <li>ratedetailnum - primary key + <li>ratenum - <a href="#rate">rate plan</a> + <li>orig_regionnum - call origination <a href="#rate_region">region</a> + <li>dest_regionnum - call destination <a href="#rate_region">region</a> + <li>min_included - included minutes + <li>min_charge - charge per minute + <li>sec_granularity - granularity in seconds, i.e. 6 or 60 + </ul> + <li><a name="rate_region" href="man/FS/rate_region.html">rate_region</a> - Call rate region + <ul> + <li>regionnum - primary key + <li>regionname + </ul> + <li><a name="rate_prefix" href="man/FS/rate_prefix.html">rate_prefix</a> - Call rate prefix + <ul> + <li>prefixnum - primary key + <li>regionnum - <a href="#rate_region">rate region</a> + <li>countrycode + <li>npa + <li>nxx + </ul> + <li><a name="msgcat" href="man/FS/msgcat.html">msgcat</a> - i18n message catalog + <ul> + <li>msgnum - primary key + <li>msgcode - message code + <li>locale - locale + <li>msg - Message text + </ul> + <li><a name="clientapi_session" href="man/FS/clientapi_session.html">clientapi_session</a> - ClientAPI session store + <ul> + <li>sessionnum - primary key + <li>sessionid - session ID + <li>namespace - session namespace + </ul> + <li><a name="clientapi_session_field" href="man/FS/clientapi_session_field.html">clientapi_session_field</a> - Client API session store data + <ul> + <li>fieldnum - primary key + <li>sessionnum - <a href="#session">session</a> + <li>fieldname + <li>fieldvalue + </ul> + </ul> +</body> diff --git a/httemplate/docs/schema.png b/httemplate/docs/schema.png Binary files differnew file mode 100644 index 000000000..d0392e76f --- /dev/null +++ b/httemplate/docs/schema.png diff --git a/httemplate/docs/session.html b/httemplate/docs/session.html new file mode 100644 index 000000000..72e16424e --- /dev/null +++ b/httemplate/docs/session.html @@ -0,0 +1,59 @@ +<head> + <title>Session monitor</title> +</head> +<body> +<h1>Session monitor</h1> +<h2>Installation</h2> +For security reasons, the client portion of the session montior may run on one +or more external public machine(s). On these machines, install: +<ul> + <li><a href="http://www.perl.com/CPAN/doc/relinfo/INSTALL.html">Perl</a> (at l +east 5.004_05 for the 5.004 series or 5.005_03 for the 5.005 series. Don't enable experimental features like threads or the PerlIO abstraction layer.) + <li><a href="man/FS/SessionClient.html">FS::SessionClient</a> (copy the fs_session/FS-SessionClient directory to the external machine, then: perl Makefile.PL; make; make install) +</ul> +Then: +<ul> + <li>Add the user `freeside' to the the external machine. + <li>Create the /usr/local/freeside directory on the external machine (owned by the freeside user). + <li>touch /usr/local/freeside/fs_sessiond_socket; chown freeside /usr/local/freeside/fs_sessiond_socket; chmod 600 /usr/local/freeside/fs_sessiond_socket + <li>Append the identity.pub from the freeside user on your freeside machine to the authorized_keys file of the newly created freeside user on the external machine(s). + <li>Run <pre>fs_session_server <i>user</i> <i>machine</i></pre> on the Freeside machine. + <ul> + <li><i>user</i> is a user from the mapsecrets file. + <li><i>machine</i> is the name of the external machine. + </ul> +</ul> +<h2>Usage</h2> +<ul> + <li>Web + <ul> + <li>Copy FS-SessionClient/cgi/login.cgi and logout.cgi to your web + server's document space. + <li>Use <a href="http://www.apache.org/docs/suexec.html">suEXEC</a> or <a href="http://www.perl.com/CPAN-local/doc/manual/html/pod/perlsec.html#Security_Bugs">setuid</a> (see <a href="install.html">install.html</a> for details) to run login.cgi and logout.cgi as the freeside user. + </ul> + <li>Command-line + <br><pre>freeside-login username ( portnum | ip | nasnum nasport ) +freeside-logout username ( portnum | ip | nasnum nasport )</pre> + <ul> + <li><i>username</i> is a customer username from the svc_acct table + <li><i>portnum</i>, <i>ip</i> or <i>nasport</i> and <i>nasnum</i> uniquely identify a port in the <a href="schema.html#port">port</a> database table. + </ul> + <li>RADIUS - One of: + <ul> + <li>Run the <b>freeside-sqlradius-radacctd</b> daemon to import radacct + records from all configured sqlradius exports: + <tt>freeside-sqlradius-radacctd username</tt> + <li>Configure your RADIUS server's login and logout callbacks to use the command-line <tt>freeside-login</tt> and <tt>freeside-logout</tt> utilites. + <li> <i>(incomplete)</i>Use the <b>fs_radlog/fs_radlogd</b> tool to + import records from a text radacct file. + </ul> +</ul> +<h2>Callbacks</h2> +<ul> + <li>Sesstion start - The command(s) specified in the <a href="config.html#session-start">session-start</a> configuration file are executed on the Freeside machine. The contents of the file are treated as a double-quoted perl string, with the following variables available: <code>$ip</code>, <code>$nasip</code> and <code>$nasfqdn</code>, which are the IP address of the starting session, and the IP address and fully-qualified domain name of the NAS this session is on. + <li>Session end - The command(s) specified in the <a href="config.html#session-stop">session-stop</a> configuration file are executed on the Freeside machine. The contents of the file are treated as a double-quoted perl string, with the following variables available: <code>$ip</code>, <code>$nasip</code> and <code>$nasfqdn</code>, which are the IP address of the starting session, and the IP address and fully-qualified domain name of the NAS this session is on. +</ul> +<h2>Dropping expired users</h2> +Run <pre>bin/freeside-session-kill username</pre> periodically from cron. +</body> +</html> diff --git a/httemplate/docs/signup.html b/httemplate/docs/signup.html new file mode 100644 index 000000000..97d7aa794 --- /dev/null +++ b/httemplate/docs/signup.html @@ -0,0 +1,54 @@ +<head> + <title>Signup server</title> +</head> +<body> + <h1>Signup server</h1> +For security reasons, the signup server should run on an external public +webserver. On this machine, install: +<ul> + <li>A web server, such as <a href="http://www.apache-ssl.org">Apache-SSL</a> or <a href="http://www.apache.org">Apache</a> + <li><a href="ftp://ftp.cs.hut.fi/pub/ssh/">SSH</a> + <li><a href="http://www.perl.com/CPAN/doc/relinfo/INSTALL.html">Perl</a> (at least 5.004_05 for the 5.004 series or 5.005_03 for the 5.005 series. Don't enable experimental features like threads or the PerlIO abstraction layer.) + <li><a href="http://search.cpan.org/search?dist=Text-Template">Text::Template</a> + <li><a href="http://search.cpan.org/search?dist=Storable">Storable</a> + <li><a href="http://search.cpan.org/search?dist=Business-CreditCard">Business-CreditCard</a> + <li><a href="http://search.cpan.org/search?dist=HTTP-BrowserDetect">HTTP::BrowserDetect</a> + + <li><a href="man/FS/SignupClient.html">FS::SignupClient</a> (copy the fs_signup/FS-SignupClient directory to the external machine, then: perl Makefile.PL; make; make install) +</ul> +Then: +<ul> + <li>Add the user `freeside' to the the external machine. + <li>Copy or symlink fs_signup/FS-SignupClient/cgi/signup.cgi into the web server's document space. + <li>When linking to signup.cgi, you can include a referring custnum in the URL as follows: <code>http://public.web.server/path/signup.cgi?ref=1542</code> + <li>Enable CGI execution for files with the `.cgi' extension. (with <a href="http://www.apache.org/docs/mod/mod_mime.html#addhandler">Apache</a>) + <li>Create the /usr/local/freeside directory on the external machine (owned by the freeside user). + <li>touch /usr/local/freeside/fs_signupd_socket; chown freeside /usr/local/freeside/fs_signupd_socket; chmod 600 /usr/local/freeside/fs_signupd_socket + <li>Use <a href="http://www.apache.org/docs/suexec.html">suEXEC</a> or <a href="http://www.perl.com/CPAN-local/doc/manual/html/pod/perlsec.html#Security_Bugs">setuid</a> (see <a href="install.html">install.html</a> for details) to run signup.cgi as the freeside user. + <li>Append the identity.pub from the freeside user on your freeside machine to the authorized_keys file of the newly created freeside user on the external machine(s). + <li>Run <pre>fs_signup_server <i>user</i> <i>machine</i> <i>agentnum</i> <i>refnum</i></pre> on the Freeside machine. + <ul> + <li><i>user</i> is a user from the mapsecrets file. + <li><i>machine</i> is the name of the external machine. + <li><i>agentnum</i> and <i>refnum</i> are the <a href="schema.html#agent">agent</a> and <a href="schema.html#part_referral">referral</a>, respectively, to use for customers who sign up via this signup server. + </ul> +</ul> +Optional: +<ul> + <li>If you create a <b>/usr/local/freeside/ieak.template</b> file on the external machine, it will be sent to IE users with MIME type <i>application/x-Internet-signup</i>. This file will be processed with <a href="http://search.cpan.org/doc/MJD/Text-Template-1.23/Template.pm">Text::Template</a> with the variables listed below available. + (an example file is included as <b>fs_signup/ieak.template</b>) See the section on <a href="http://www.microsoft.com/windows/ieak/techinfo/deploy/60/en/INS.HTM">internet settings files</a> in the <a href="http://www.microsoft.com/windows/ieak/techinfo/deploy/60/en/toc.asp">IEAK documentation</a> for more information. + <li>If you create a <b>/usr/local/freeside/success.html</b> file on the external machine, it will be used as the success HTML page. Although template substiutions are available, a regular HTML file will work fine here, unlike signup.html. An example file is included as <b>fs_signup/FS-SignupClient/cgi/success.html</b> + <li>Variable substitutions available in <b>ieak.template</b>, <b>cck.template</b> and <b>success.html</b>: + <ul> + <li>$ac - area code of selected POP + <li>$exch - exchange of selected POP + <li>$loc - local part of selected POP + <li>$username + <li>$password + <li>$email_name - first and last name + <li>$pkg - package name + </ul> + <li>If you create a <b>/usr/local/freeside/signup.html</b> file on the external machine, it will be used as a template for the form HTML. This requires the template to be constructed appropriately; probably best to start with the example file included as <b>fs_signup/FS-SignupClient/cgi/signup.html</b>. + <li>If there are any entries in the <i>prepay_credit</i> table, a user can enter a string matching the <b>identifier</i> column to receive the credit specified in the <b>amount</b> column, and/or the time specified in the <b>seconds</b> column (for use with the <a href="session.html">session monitor</a>), after which that <b>identifier</b> is no longer valid. This can be used to implement pre-paid "calling card" type signups. The <i>bin/generate-prepay</i> script can be used to populate the <i>prepay_credit</i> table. +</ul> +</body> diff --git a/httemplate/docs/ssh.html b/httemplate/docs/ssh.html new file mode 100755 index 000000000..d2c501e35 --- /dev/null +++ b/httemplate/docs/ssh.html @@ -0,0 +1,16 @@ +<head> + <title>Unattended SSH</title> +</head> +<body> + <h1>Unattended SSH</h1> + <br><a name=ssh>Unattended remote login</a> - Freeside can login to remote machines unattended using SSH. This can pose a security risk if not configured correctly, and will allow an intruder who breaks into your freeside machine full access to your remote machines. <b>Do not use this feature unless you understand what you are doing!</b> + <ul> + <li>As the freeside user (on your freeside machine), generate an authentication key using <a href="http://www.tac.eu.org/cgi-bin/man-cgi?ssh-keygen+1">ssh-keygen</a>. Since this is for unattended operation, use a blank passphrase. + <li>Append the newly-created <code>identity.pub</code> file to <code>~root/.ssh/authorized_keys</code> (or the appopriate <code>~username/.ssh/authorized_keys</code>) on the remote machine(s). + <li>Some new SSH v2 implementation accept v2 style keys only. Use the <code>-t</code> option to <a href="http://www.tac.eu.org/cgi-bin/man-cgi?ssh-keygen+1">ssh-keygen</a>, and append the created <code>id_dsa.pub</code> or <code>id_rsa.pub</code> to <code>~root/.ssh/authorized_keys2</code> (or the appopriate <code>~username/.ssh/authorized_keys</code>) on the remote machine(s). + <li>You may need to set <code>PermitRootLogin without-password</code> (meaning with keys only) in your <code>sshd_config</code> file on the remote machine(s). + <li>You may want to set <code>ForwardX11 = no</code> in <code>~root/.ssh/config</code> to prevent spurious errors if your distribution turns on X11 forwarding by default. + </ul> + +</body> + |