remove jeff's lib patch from freeside-apply-credits
add freeside-apply-credits to MANIFEST
README for pre3-4
$username_noperiod
$shellmachine $useradd $usermod $userdel $mydomain
$cyrus_server $cyrus_admin_user $cyrus_admin_pass
$username_noperiod
$shellmachine $useradd $usermod $userdel $mydomain
$cyrus_server $cyrus_admin_user $cyrus_admin_pass
$icradius_dbh
@saltset @pw_set);
use Carp;
$icradius_dbh
@saltset @pw_set);
use Carp;
} else {
$icradius_dbh = '';
}
} else {
$icradius_dbh = '';
}
+ $dirhash = $conf->config('dirhash') || 0;
};
@saltset = ( 'a'..'z' , 'A'..'Z' , '0'..'9' , '.' , '/' );
};
@saltset = ( 'a'..'z' , 'A'..'Z' , '0'..'9' , '.' , '/' );
$recref->{dir} =~ /^([\/\w\-]*)$/
or return "Illegal directory";
$recref->{dir} =~ /^([\/\w\-]*)$/
or return "Illegal directory";
- $recref->{dir} = $1 ||
- $dir_prefix . '/' . $recref->{username}
- #$dir_prefix . '/' . substr($recref->{username},0,1). '/' . $recref->{username}
+ $recref->{dir} = $1;
+ unless ( $recref->{dir} ) {
+ $recref->{dir} = $dir_prefix . '/';
+ if ( $dirhash > 0 ) {
+ for my $h ( 1 .. $dirhash ) {
+ $recref->{dir} .= substr($recref->{username}, $h-1, 1). '/';
+ }
+ } elsif ( $dirhash < 0 ) {
+ for my $h ( reverse $dirhash .. -1 ) {
+ $recref->{dir} .= substr($recref->{username}, $h, 1). '/';
+ }
+ }
+ $recref->{dir} .= $recref->{username};
unless ( $recref->{username} eq 'sync' ) {
if ( grep $_ eq $recref->{shell}, @shells ) {
unless ( $recref->{username} eq 'sync' ) {
if ( grep $_ eq $recref->{shell}, @shells ) {
my $output_stream = <$writer>;
my $error_stream = <$error>;
if ( length $error_stream ) {
my $output_stream = <$writer>;
my $error_stream = <$error>;
if ( length $error_stream ) {
- warn "[FS::svc_acct::ssh] STDERR $error_stream";
+ #warn "[FS::svc_acct::ssh] STDERR $error_stream";
+ die "[FS::svc_acct::ssh] STDERR $error_stream";
}
if ( length $output_stream ) {
warn "[FS::svc_acct::ssh] STDOUT $output_stream";
}
if ( length $output_stream ) {
warn "[FS::svc_acct::ssh] STDOUT $output_stream";
-$Id: svc_acct.pm,v 1.45 2001-09-19 19:41:28 ivan Exp $
+$Id: svc_acct.pm,v 1.46 2001-09-19 21:06:17 ivan Exp $
bin/freeside-email
bin/freeside-print-batch
bin/freeside-queued
bin/freeside-email
bin/freeside-print-batch
bin/freeside-queued
+fin/freeside-apply-credits
FS.pm
FS/CGI.pm
FS/Conf.pm
FS.pm
FS/CGI.pm
FS/Conf.pm
#!/usr/bin/perl -Tw
use strict;
#!/usr/bin/perl -Tw
use strict;
-use lib "/usr/lib/perl5/site_perl/5.005/FSTest2";
use vars qw( $user $cust_main @customers );
use FS::UID qw(adminsuidsetup);
use FS::Record qw(qsearch);
use vars qw( $user $cust_main @customers );
use FS::UID qw(adminsuidsetup);
use FS::Record qw(qsearch);
--- /dev/null
+the following is necessary to upgrade from 1.4.0pre3 to pre4 or later.
+
+install the perl modules and httemplate as per install.html or upgrade8.html
+
+Run bin/dbdef-create
+
<li>cybercash3.2 - <a href="http://www.cybercash.com/cybercash/services/technology.html">CyberCash v3.2</a> support. Two lines: the full path and name of your merchant_conf file, and the transaction type (`mauthonly' or `mauthcapture'). CCMckLib3_2.pm, CCMckDirectLib3_2.pm and CCMckErrno3_2 are required.
<li>cyrus</li> - Integration with <a href="http://asg.web.cmu.edu/cyrus/imapd/">Cyrus IMAP Server</a>, three lines: IMAP server, admin username, and admin password. Cyrus::IMAP::Admin should be installed locally and the connection to the server secured.
<li><a name="deletecustomers">deletecustomers</a> - The existance of this file will enable customer deletions. Be very careful! Deleting a customer will remove all traces that this customer ever existed! It should probably only be used when auditing a legacy database. Normally, you cancel all of a customers' packages if they cancel service.
<li>cybercash3.2 - <a href="http://www.cybercash.com/cybercash/services/technology.html">CyberCash v3.2</a> support. Two lines: the full path and name of your merchant_conf file, and the transaction type (`mauthonly' or `mauthcapture'). CCMckLib3_2.pm, CCMckDirectLib3_2.pm and CCMckErrno3_2 are required.
<li>cyrus</li> - Integration with <a href="http://asg.web.cmu.edu/cyrus/imapd/">Cyrus IMAP Server</a>, three lines: IMAP server, admin username, and admin password. Cyrus::IMAP::Admin should be installed locally and the connection to the server secured.
<li><a name="deletecustomers">deletecustomers</a> - The existance of this file will enable customer deletions. Be very careful! Deleting a customer will remove all traces that this customer ever existed! It should probably only be used when auditing a legacy database. Normally, you cancel all of a customers' packages if they cancel service.
+ <li><a name="dirhash">dirhash</a> - Optional numeric value to control director hashing. If positive, hashes directories for the specified number of levels from the front of the username. If negative, hashes directories for the specified number of levels from the end of the username. Some examples:
+ <ul>
+ <li>1: user -> <a href="#home">/home</a>/u/user
+ <li>2: user -> <a href="#home">/home</a>/u/s/user
+ <li>-1: user -> <a href="#home">/home</a>/r/user
+ <li>-2: user -> <a href="#home">home</a>/r/e/user
+ </ul>
<li><a name="disable_customer_referrals">disable_customer_referrals</a> - The existance of this file will disable new customer-to-customer referrals in the web interface.
<li><a name="domain"><font color="#ff0000">domain</font></a> - Your domain name.
<li><a name="editreferrals">editreferrals</a> - The existance of this file will allow you to change the referral of existing customers.
<li><a name="disable_customer_referrals">disable_customer_referrals</a> - The existance of this file will disable new customer-to-customer referrals in the web interface.
<li><a name="domain"><font color="#ff0000">domain</font></a> - Your domain name.
<li><a name="editreferrals">editreferrals</a> - The existance of this file will allow you to change the referral of existing customers.