=head1 SYNOPSIS
-FS is the temporary prefix for many disparate modules written for the Freeside
-ISP billing software. This includes:
-
-=head2 Database metadata classes
-
-L<FS::dbdef> - Database class
-
-L<FS::dbdef_table> - Database table class
-
-L<FS::dbdef_column> - Database column class
-
-L<FS::dbdef_colgroup> - Database column group class
-
-L<FS::dbdef_index> - Database index class
-
-L<FS::dbdef_unique> - Database unique index class
+FS is the unofficial (i.e. non-CPAN) prefix for the Perl module portion of the
+Freeside ISP billing software. This includes:
=head2 Utility classes
-L<FS::SSH> - Simple wrappers around ssh and scp commands.
-
L<FS::Conf> - Freeside configuration values
L<FS::UID> - User class (not yet OO)
=head1 VERSION
-$Id: FS.pm,v 1.3 1999-08-04 12:41:47 ivan Exp $
+$Id: FS.pm,v 1.4 2001-04-22 01:56:14 ivan Exp $
=head1 SUPPORT
each file, which appears under the VERSION heading.
Those modules which would be useful separately should be pulled out,
-renamed appropriately and uploaded to CPAN.
+renamed appropriately and uploaded to CPAN. So far: DBIx::DBSchema, Net::SSH
+and Net::SCP...
=cut
+++ /dev/null
-package FS::SSH;
-
-use strict;
-use vars qw(@ISA @EXPORT_OK $ssh $scp);
-use Exporter;
-use IPC::Open2;
-use IPC::Open3;
-
-@ISA = qw(Exporter);
-@EXPORT_OK = qw(ssh scp issh iscp sshopen2 sshopen3);
-
-$ssh="ssh";
-$scp="scp";
-
-=head1 NAME
-
-FS::SSH - Subroutines to call ssh and scp
-
-=head1 SYNOPSIS
-
- use FS::SSH qw(ssh scp issh iscp sshopen2 sshopen3);
-
- ssh($host, $command);
-
- issh($host, $command);
-
- scp($source, $destination);
-
- iscp($source, $destination);
-
- sshopen2($host, $reader, $writer, $command);
-
- sshopen3($host, $reader, $writer, $error, $command);
-
-=head1 DESCRIPTION
-
- Simple wrappers around ssh and scp commands.
-
-=head1 SUBROUTINES
-
-=over 4
-
-=item ssh HOST, COMMAND
-
-Calls ssh in batch mode.
-
-=cut
-
-sub ssh {
- my($host,$command)=@_;
- my(@cmd)=($ssh, "-o", "BatchMode yes", $host, $command);
-# print join(' ',@cmd),"\n";
-#0;
- system(@cmd);
-}
-
-=item issh HOST, COMMAND
-
-Prints the ssh command to be executed, waits for the user to confirm, and
-(optionally) executes the command.
-
-=cut
-
-sub issh {
- my($host,$command)=@_;
- my(@cmd)=($ssh, $host, $command);
- print join(' ',@cmd),"\n";
- if ( &_yesno ) {
- ###print join(' ',@cmd),"\n";
- system(@cmd);
- }
-}
-
-=item scp SOURCE, DESTINATION
-
-Calls scp in batch mode.
-
-=cut
-
-sub scp {
- my($src,$dest)=@_;
- my(@cmd)=($scp,"-Bprq",$src,$dest);
-# print join(' ',@cmd),"\n";
-#0;
- system(@cmd);
-}
-
-=item iscp SOURCE, DESTINATION
-
-Prints the scp command to be executed, waits for the user to confirm, and
-(optionally) executes the command.
-
-=cut
-
-sub iscp {
- my($src,$dest)=@_;
- my(@cmd)=($scp,"-pr",$src,$dest);
- print join(' ',@cmd),"\n";
- if ( &_yesno ) {
- ###print join(' ',@cmd),"\n";
- system(@cmd);
- }
-}
-
-=item sshopen2 HOST, READER, WRITER, COMMAND
-
-Connects the supplied filehandles to the ssh process (in batch mode).
-
-=cut
-
-sub sshopen2 {
- my($host,$reader,$writer,$command)=@_;
- open2($reader,$writer,$ssh,'-o','Batchmode yes',$host,$command);
-}
-
-=item sshopen3 HOST, WRITER, READER, ERROR, COMMAND
-
-Connects the supplied filehandles to the ssh process (in batch mode).
-
-=cut
-
-sub sshopen3 {
- my($host,$writer,$reader,$error,$command)=@_;
- open3($writer,$reader,$error,$ssh,'-o','Batchmode yes',$host,$command);
-}
-
-sub _yesno {
- print "Proceed [y/N]:";
- my($x)=scalar(<STDIN>);
- $x =~ /^y/i;
-}
-
-=head1 BUGS
-
-Not OO.
-
-scp stuff should transparantly use rsync-over-ssh instead.
-
-=head1 SEE ALSO
-
-L<ssh>, L<scp>, L<IPC::Open2>, L<IPC::Open3>
-
-=cut
-
-1;
-
use FS::Conf;
use FS::Record qw( qsearchs fields );
use FS::svc_Common;
-use FS::SSH qw(ssh);
+use Net::SSH qw(ssh);
use FS::part_svc;
use FS::svc_acct_pop;
use FS::svc_acct_sm;
=head1 VERSION
-$Id: svc_acct.pm,v 1.14 2001-01-31 07:21:00 ivan Exp $
+$Id: svc_acct.pm,v 1.15 2001-04-22 01:56:15 ivan Exp $
=head1 BUGS
=head1 SEE ALSO
L<FS::svc_Common>, L<FS::Record>, L<FS::Conf>, L<FS::cust_svc>,
-L<FS::part_svc>, L<FS::cust_pkg>, L<FS::SSH>, L<ssh>, L<FS::svc_acct_pop>,
+L<FS::part_svc>, L<FS::cust_pkg>, L<Net::SSH>, L<ssh>, L<FS::svc_acct_pop>,
schema.html from the base documentation.
=cut
use FS::Record qw( fields qsearch qsearchs );
use FS::svc_Common;
use FS::cust_svc;
-use FS::SSH qw(ssh);
+use Net::SSH qw(ssh);
use FS::Conf;
use FS::svc_acct;
use FS::svc_domain;
=head1 VERSION
-$Id: svc_acct_sm.pm,v 1.2 2000-06-30 10:37:18 ivan Exp $
+$Id: svc_acct_sm.pm,v 1.3 2001-04-22 01:56:15 ivan Exp $
=head1 BUGS
=head1 SEE ALSO
L<FS::Record>, L<FS::Conf>, L<FS::cust_svc>, L<FS::part_svc>, L<FS::cust_pkg>,
-L<FS::svc_acct>, L<FS::svc_domain>, L<FS::SSH>, L<ssh>, L<dot-qmail>,
+L<FS::svc_acct>, L<FS::svc_domain>, L<Net::SSH>, L<ssh>, L<dot-qmail>,
schema.html from the base documentation.
=cut
=head1 VERSION
-$Id: svc_domain.pm,v 1.9 2001-04-22 01:38:39 ivan Exp $
+$Id: svc_domain.pm,v 1.10 2001-04-22 01:56:15 ivan Exp $
=head1 BUGS
=head1 SEE ALSO
L<FS::svc_Common>, L<FS::Record>, L<FS::Conf>, L<FS::cust_svc>,
-L<FS::part_svc>, L<FS::cust_pkg>, L<FS::SSH>, L<Net::Whois>, L<ssh>,
+L<FS::part_svc>, L<FS::cust_pkg>, L<Net::Whois>, L<ssh>,
L<dot-qmail>, schema.html from the base documentation, config.html from the
base documentation.
use FS::cust_svc;
use FS::domain_record;
use FS::svc_acct;
-use FS::SSH qw(ssh);
+use Net::SSH qw(ssh);
@ISA = qw( FS::svc_Common );
=head1 VERSION
-$Id: svc_www.pm,v 1.3 2000-11-22 23:30:51 ivan Exp $
+$Id: svc_www.pm,v 1.4 2001-04-22 01:56:15 ivan Exp $
=head1 BUGS
=head1 HISTORY
$Log: svc_www.pm,v $
-Revision 1.3 2000-11-22 23:30:51 ivan
+Revision 1.4 2001-04-22 01:56:15 ivan
+get rid of FS::SSH.pm (became Net::SSH and Net::SCP on CPAN)
+
+Revision 1.3 2000/11/22 23:30:51 ivan
tyop
Revision 1.2 2000/03/01 08:13:59 ivan
FS/CGI.pm
FS/Conf.pm
FS/Record.pm
-FS/SSH.pm
FS/UI/Base.pm
FS/UI/CGI.pm
FS/UI/Gtk.pm
-Freeside, (pre-1.3.0)
+Freeside, (1.3.0)
-Copyright (C) 2000 Ivan Kohler
+Copyright (C) 2000,2001 Ivan Kohler
Copyright (C) 1999 Silicon Interactive Software Design
All rights reserved
#!/usr/bin/perl -w
#
-# $Id: svc_acct.export,v 1.17 2001-02-21 23:48:19 ivan Exp $
+# $Id: svc_acct.export,v 1.18 2001-04-22 01:56:15 ivan Exp $
#
# Create and export password files: passwd, passwd.adjunct, shadow,
# acp_passwd, acp_userinfo, acp_dialup, users
# ivan@sisd.com 98-sep-18
#
# $Log: svc_acct.export,v $
-# Revision 1.17 2001-02-21 23:48:19 ivan
+# Revision 1.18 2001-04-22 01:56:15 ivan
+# get rid of FS::SSH.pm (became Net::SSH and Net::SCP on CPAN)
+#
+# Revision 1.17 2001/02/21 23:48:19 ivan
# add icradius_secrets config file to export to a non-Freeside MySQL database for
# ICRADIUS
#
use IO::Handle;
use DBI;
use FS::Conf;
-use FS::SSH qw(scp ssh);
+use Net::SSH qw(ssh);
+use Net::SCP qw(scp);
use FS::UID qw(adminsuidsetup datasrc dbh);
use FS::Record qw(qsearch fields);
use FS::svc_acct;
#!/usr/bin/perl -Tw
#
-# $Id: svc_acct.import,v 1.11 2000-06-29 12:27:01 ivan Exp $
+# $Id: svc_acct.import,v 1.12 2001-04-22 01:56:15 ivan Exp $
#
# ivan@sisd.com 98-mar-9
#
# don't import /var/spool/freeside/conf/shells! ivan@sisd.com 98-aug-13
#
# $Log: svc_acct.import,v $
-# Revision 1.11 2000-06-29 12:27:01 ivan
+# Revision 1.12 2001-04-22 01:56:15 ivan
+# get rid of FS::SSH.pm (became Net::SSH and Net::SCP on CPAN)
+#
+# Revision 1.11 2000/06/29 12:27:01 ivan
# s/password/_password/ for PostgreSQL wasn't done in the import.
#
# Revision 1.10 2000/06/28 12:32:30 ivan
use vars qw(%part_svc);
use Date::Parse;
use Term::Query qw(query);
-use FS::SSH qw(iscp);
+use Net::SCP qw(iscp);
use FS::UID qw(adminsuidsetup datasrc);
use FS::Record qw(qsearch);
use FS::svc_acct;
#!/usr/bin/perl -Tw
#
-# $Id: svc_acct_sm.export,v 1.8 2000-07-06 03:37:24 ivan Exp $
+# $Id: svc_acct_sm.export,v 1.9 2001-04-22 01:56:15 ivan Exp $
#
# Create and export config files for sendmail, qmail
#
# /var/spool/freeside/conf and sendmail updates ivan@sisd.com 98-aug-14
#
# $Log: svc_acct_sm.export,v $
-# Revision 1.8 2000-07-06 03:37:24 ivan
+# Revision 1.9 2001-04-22 01:56:15 ivan
+# get rid of FS::SSH.pm (became Net::SSH and Net::SCP on CPAN)
+#
+# Revision 1.8 2000/07/06 03:37:24 ivan
# don't error out on invalid svc_acct_sm.domuid's that can't be matched in
# svc_acct.uid - just warn.
#
use strict;
use vars qw($conf);
use Fcntl qw(:flock);
-use FS::SSH qw(ssh scp);
+use Net::SSH qw(ssh);
+use Net::SCP qw(scp);
use FS::UID qw(adminsuidsetup datasrc);
use FS::Record qw(qsearch qsearchs);
use FS::svc_acct;
#!/usr/bin/perl -Tw
#
-# $Id: svc_acct_sm.import,v 1.8 2000-12-03 15:14:00 ivan Exp $
+# $Id: svc_acct_sm.import,v 1.9 2001-04-22 01:56:15 ivan Exp $
#
# ivan@sisd.com 98-mar-9
#
# ivan@sisd.com 98-jul-13
#
# $Log: svc_acct_sm.import,v $
-# Revision 1.8 2000-12-03 15:14:00 ivan
+# Revision 1.9 2001-04-22 01:56:15 ivan
+# get rid of FS::SSH.pm (became Net::SSH and Net::SCP on CPAN)
+#
+# Revision 1.8 2000/12/03 15:14:00 ivan
# bugfixes from Jeff Finucane <jeff@cmh.net>, thanks!
#
# Revision 1.7 2000/06/29 10:51:52 ivan
use strict;
use vars qw(%d_part_svc %m_part_svc);
use Term::Query qw(query);
-use FS::SSH qw(iscp);
+use Net::SCP qw(iscp);
use FS::UID qw(adminsuidsetup datasrc);
use FS::Record qw(qsearch qsearchs);
use FS::svc_acct_sm;
#!/usr/bin/perl -w
#
-# $Id: svc_domain.import,v 1.1 2000-02-03 05:17:39 ivan Exp $
+# $Id: svc_domain.import,v 1.2 2001-04-22 01:56:15 ivan Exp $
use strict;
use vars qw( %d_part_svc );
use Term::Query qw(query);
-use FS::SSH qw(iscp);
+use Net::SCP qw(iscp);
use FS::UID qw(adminsuidsetup datasrc);
#use FS::Record qw(qsearch qsearchs);
#use FS::svc_acct_sm;
use strict;
use IO::Handle;
-use FS::SSH qw(sshopen2);
+use Net::SSH qw(sshopen2);
use FS::UID qw(adminsuidsetup);
use FS::Record qw(qsearchs);
use FS::svc_acct;
use strict;
use IO::Handle;
use Tie::RefHash;
-use FS::SSH qw(sshopen2);
+use Net::SSH qw(sshopen2);
use FS::UID qw(adminsuidsetup);
use FS::Record qw( qsearch qsearchs );
use FS::cust_main_county;
<li><a href="http://search.cpan.org/search?dist=Text-Template">Text-Template</a>
<li><a href="http://search.cpan.org/search?dist=DBI">DBI
<li><a href="http://search.cpan.org/search?mode=module&query=DBD">DBD for your database engine</a>
+ <li><a href="http://search.cpan.org/search?dist=DBIx-DBSchema">DBIx-DBSchema</a>
+ <li><a href="http://search.cpan.org/search?dist=Net-SSH">Net-SSH</a>
+ <li><a href="http://search.cpan.org/search?dist=Net-SCP">Net-SCP</a>
</ul>
</ul>
Install the Freeside distribution: