Problem Adding a Service to a Customer

Mike Hayward hayward at loup.net
Wed Sep 22 10:11:01 PDT 1999


Hi Ivan,

> Does this happen when you are editing an existing, or adding a new
> account?
> 
> Are you using mod_perl?  (You should have sent a description of your
> platform and versions, as outlined in the message you received when you
> signed up to the mailng list)

I'm not using mod_perl for this... just the suid feature of perl.  I'm
using Perl 5.004_04, mysql 3.22.21, Apache 1.3.6, RedHat 5.0.  I
appologize for not including that, but I never received a signup
message from your mail server.

I tried subscribing to both mailing lists by sending blank messages to
what I assume is a majordomo server with no bounce and no response, so
I've been reading the messages via your web page.  You can probably
find those in the mail logs on your machine.  Perhaps you could add me
manually?

| Date: Tue, 21 Sep 1999 10:20:19 -0600
| From: Mike Hayward <hayward at loup.net>
| To: ivan-freeside-subscribe at sisd.com

| Date: Tue, 21 Sep 1999 10:20:31 -0600
| From: Mike Hayward <hayward at loup.net>
| To: ivan-freeside-devel-subscribe at sisd.com

----------------------------------------------------------------------
To Reproduce the Problem, install a fresh setup of fs 1.2.2, then:

  Add a Service (Service="Dialup", svc_acct, username="username", _password="changeme")
  Add a Package (Package="Unlimited", Comment="All You Can Eat", setup=20, recur=20, freq=1, service=(1,Dialup))
  Add an Agent Type ("Service Rep", Package Unlimited Enabled)
  Add an Agent ("Mike Hayward")
  Add a Referral ("Word of Mouth")
  New Customer (Last=Kohler, First=Ivan, Address=Somewhere, City=Holland, St=PA, Zip=18966, BillType=Billing)
  Add a Package to the Customer (1 Unlimited)
  Edit Unlimited Package
  Add Dialup (username=ivan, passwd="*HIDDEN*")

Error Occurs:
| Software error:
| 
| Can't call method "getfield" without a package or object reference
| at /home/httpd/FS/edit/process/svc_acct.cgi line 63. 

Changing edit/process/svc_acct.cgi to (# Revision 1.7 1999/08/27 00:26:33 ivan)
as you suggest results in a different error:

| Software error:
| 
| fatal: no previous account to recall hidden password from! at
| /home/httpd/FS/edit/process/svc_acct.cgi line 71. 

Leaving the passwd blank results in (even when the shells file exists
and contains one blank line):

| Error: Illegal shell `'; /usr/local/etc/freeside//conf.DBI:mysql:freeside/shells contains:

Setting the uid and shell fixed and emtpy in the service, then making
the password blank gives:

| Error: Can't have finger-name without uid

----------------------------------------------------------------------

> Does the `*HIDDEN*' show up when you are adding a new account?  It
> shouldn't - if it is, let me know.

Yes, it shows up first thing.

> > The fact is, I don't have a shells file because I do not want shell
> > access configured or tracked at all since there are no shell accounts
> > for customers in the setup I'm using.
> 
> Then you should put a single empty line in the shells configuration file,
> as specified by config.html: `A blank line specifies that an empty shell
> is permitted.'. 
> 
> In the service definition(s), you should also set the shell field to
> fixed and empty.

This 'shells' documentation is misleading for me.  I took this to mean
that a login could be created in /etc/passwd or /etc/shadow, etc. and
that the user could be assigned a blank shell.  I don't want freeside
to create any linux user accounts at all and so was hesitant to put a
blank line in this file.

I tried putting a blank line in shells after you suggested this but
still can't add a service entry.  Perhaps some other configuration
files are incorrect?

If you have trouble reproducing this, I can email you a 9k file
containing the contents of the database and /usr/local/etc/freeside.
The database backup of course requires mysql to test it.

- Mike



More information about the freeside-users mailing list