Thread: Re: [REQADM-Users-L] REQADM moved to SourceForge
Brought to you by:
rcopeland101,
slw
From: Steve W. <st...@al...> - 2003-12-03 01:42:55
|
Ibrahim Khalifa wrote: > wouldn't it be nice to keep it as database independent as > possible? That way it would allow someone to come along in say 6 months > and write support for another RDBMS too, and it could be incorporated > into the main branch. Yes, that'll be the basic approach. The main thing up front will be moving it from a network-model DBMS + flat files to an RDBMS-only model. The actual database code will be in one source module, and that module (which I'm writing for MySQL) can be switched for another copy written for Oracle, or one for Sybase, or whatever people want to do. -- Steve Willoughby | "It is our choices... that show what we truly <st...@al...> | are, far more than our abilities." | --Albus Dumbledore, in Harry Potter and the | Chamber of Secrets, by J. K. Rowling |
From: Steve W. <st...@al...> - 2003-12-03 07:45:28
|
Tom Ivar Helbekkmo wrote: > It occurs to me that being able to load more than one database driver > might be a good thing. For instance, one could envisage keeping the > ticket system in one database, while accessing another one to fetch > existing information about users/customers/machines/whatever. It That's an interesting idea to keep in mind. I'd like to keep each iteration as simple as possible, but it would be a good way to develop the code into as we go on. > As soon as you have the API in place, I'd like to start writing a > PostgreSQL version of the database access module. Accepting the > limitations of a primitive database system like MySQL won't go down > well around here... :-) Sounds great! -- Steve Willoughby | "It is our choices... that show what we truly <st...@al...> | are, far more than our abilities." | --Albus Dumbledore, in Harry Potter and the | Chamber of Secrets, by J. K. Rowling |
From: Steve W. <st...@al...> - 2003-12-15 02:30:26
|
In message <86f...@at...>, Tom Ivar Helbekkmo writes: >It's taking me some time, actually. Christmas preparations have >started, and spare time is not copious. :-) I did manage to get the Yeah, for me as well, so we'll see how kind the holidays are to making more progress on the new REQADM database module. :) >whole thing compiled and linked under NetBSD-current, with GCC 3.3, >but not without a few tweaks¹. Some of the supporting software is >sufficiently non-obvious to install for those of us who haven't yet >studied the intricacies of TCL module management, that I believe the >REQADM installation instructions should cover the process in detail. We're trying, with each release, to both document the process better, and to make the process less daunting to begin with. We think that improved a bit in 1.3, but there's obviously more room for improvement. >The change to a relational data base for all configuration info and >tickets will be welcome. The number and opacity of the configuration >files to edit or create from scratch in order to get to where one can >see what REQADM looks like is downright scary. I tried to do it with >as few changes to the distributed files as possible, and really >thought I did everything, and did it right, but I guess I haven't, >because xreqadm gives me lots of "Unable to look up token" dialogs, >and dumps core during attempts to create or edit tickets. I'll just >have to go through the whole process again, I guess. Hm. The process is too hard, yes, but I was able to install the whole thing on FreeBSD without changing any of the config files (I think--or at least very little change) and got it to run. I wonder what else might be giving you that trouble, if you're not actually deleting any reqadm.conf records... >¹ For instance, c++ has to be called with "-Wno-deprecated -fpermissive" > to stop it complaining about old-fashioned code, and to make it let > the following gem be a warning, and not an error (in many places): Sigh. It seems like with every release of GCC there's a new idea about what's depricated, what's a warning, etc. I didn't get much, if any, complaints from the stock GCC on FreeBSD 4.8, so it's interesting what difference there is between those versions of GCC. > For those who, like me, find that message less than lucid, it means > that if you're going to access characters in String objects using > "something[n]", then 'n' must be a long, not an int. :-) I'll look at that. thanks for the feedback, steve |
From: Tom I. H. <ti...@eu...> - 2003-12-15 07:17:45
|
-tih -- Tom Ivar Helbekkmo, Senior System Administrator, EUnet Norway www.eunet.no T: +47-22092958 M: +47-93013940 F: +47-22092901 |
From: Steve W. <st...@al...> - 2003-12-15 08:21:45
Attachments:
reqadm-config.pl
|
> One needed change is the decoupling of the dependencies on scwoop and > stooop. I had the latter installed, as part of tcllib, but the REQADM > build insisted that I reinstall it in the same directory where I > installed scwoop. Yeah, they're better decoupled than they used to be, but we can make it so the configure script will look for them in separate directories as well. > OK -- I guess I'll give it another go, and this time change nothing. > You can't have gotten everything to work, though, as there's no sign > of a "reqadm-config.pl" in the distribution, and that's needed for the > cron jobs. ;-) Great. That did get left out of the distribution. Okay, sounds like we'll be seeing a 1.3.1 soon. Until then, it's attached to this mail (hopefully the attachment will survive the mail list system; I haven't tried that before). > Then, I run xreqadm, and try to create a new ticket. It suggest me as > the submitter, and when I press "Ok", I get a dialog saying "464C4723: That's FLG#, the REQADM main option flag variable. (46=F 4C=L 47=G 23=#) If your file is missing that, there's a lot of things that aren't going to\ work. The default that ships with REQADM is: FLG#=%000110011-000000000000011111--- > OK, I'm attaching three files: the first is what I did in the src > directory to get it to configure for NetBSD (really just a copy of the > FreeBSD setup). The next is the diff for the Makefiles in the build Thanks for the diffs. We'll start a "NetBSD" configure option with those. > directories, as needed to get things built. (What's libttf? I didn't > have one, so I just ripped it out of the link statement.) Finally, > my Makelog from the build, showing the warnings I mentioned. A true-type font library. It's not used directly by REQADM, but one of the other graphics libs used to complain if it wasn't included as well. If you get a clean compile without it, you don't need it. --steve |
From: Tom I. H. <ti...@eu...> - 2003-12-15 09:40:28
|
Steve Willoughby <st...@al...> writes: > That's FLG#, the REQADM main option flag variable. (46=F 4C=L 47=G 23=#) > If your file is missing that, there's a lot of things that aren't going to\ > work. The default that ships with REQADM is: > > FLG#=%000110011-000000000000011111--- ...and I've left it like that in reqadm.conf. All I've done in reqadm.conf is change a couple of paths, urls and email addresses, really: *** reqadm.conf.sample Sat Dec 6 18:11:27 2003 --- reqadm.conf Sat Dec 6 20:07:37 2003 *************** *** 124,140 **** # # What is the name of your computing support center? # ! SUPN=XYZ Engineering Computing # # What is the phone number of your support center where customers # should call your helpdesk? # ! SUPP=555-9999 # # To what E-mail address should customers write when escalating a # problem they don't feel is being adequately addressed? # ! ESCA=sup...@xy... # # ############################################################################## --- 124,140 ---- # # What is the name of your computing support center? # ! SUPN=Hamartun # # What is the phone number of your support center where customers # should call your helpdesk? # ! SUPP=93013940 # # To what E-mail address should customers write when escalating a # problem they don't feel is being adequately addressed? # ! ESCA=ti...@ha... # # ############################################################################## *************** *** 351,357 **** # # URLP: common prefix for all following URLs # ! URLP=http://www.mydomain.com # # UCRE, UFIN, UVIE, UPRE: URLs to REQADM CGI programs. URLP (above) is # prepended to these when necessary, but not whenever we can avoid --- 351,357 ---- # # URLP: common prefix for all following URLs # ! URLP=http://www.hamartun.priv.no # # UCRE, UFIN, UVIE, UPRE: URLs to REQADM CGI programs. URLP (above) is # prepended to these when necessary, but not whenever we can avoid *************** *** 370,376 **** # # What is the URL of the REQADM web homepage? # ! UHOM=http://www.mydomain.com/reqadm/ # # If you want to include your own text or hyperlinks in the # REQADM home page, include any HTML code you wish in the HIL@= --- 370,376 ---- # # What is the URL of the REQADM web homepage? # ! UHOM=http://www.hamartun.priv.no/reqadm/ # # If you want to include your own text or hyperlinks in the # REQADM home page, include any HTML code you wish in the HIL@= *************** *** 398,434 **** # # default domain to be added to "user@host" addresses # ! DDOM=xyz.com # # default hostname to be added to "user" addresses (no @host.domain). # ! DEFH=mydept.xyz.com # # mail hub REQADM should contact to send SMTP mail. # ! MHUB=mail.mydept.xyz.com # # Return address and full name for REQADM's mail. # There needs to be an alias for this which runs the # reqadm-mail-receiver program as explained in the installation # instructions. # ! RADR=re...@my... ! RNAM=XYZ Request Administration # # The address who should be notified of request resolutions and # commitments. # ! FOWN=ma...@my... # # Address to which users should send mail to submit a normal request # ! REQA=he...@my... # # Address to which users should send mail to submit test requests # (the on-line tutorial uses this to demonstrate mailed requests). # ! TSTA=tes...@my... # # What addresses are not allowed to send mail into REQADM? # This is to try to keep down automated mail, especially bounces, --- 398,434 ---- # # default domain to be added to "user@host" addresses # ! DDOM=hamartun.priv.no # # default hostname to be added to "user" addresses (no @host.domain). # ! DEFH=hamartun.priv.no # # mail hub REQADM should contact to send SMTP mail. # ! MHUB=smtp.hamartun.priv.no # # Return address and full name for REQADM's mail. # There needs to be an alias for this which runs the # reqadm-mail-receiver program as explained in the installation # instructions. # ! RADR=re...@ha... ! RNAM=Hamartun Request Administration # # The address who should be notified of request resolutions and # commitments. # ! FOWN=ti...@ha... # # Address to which users should send mail to submit a normal request # ! REQA=re...@ha... # # Address to which users should send mail to submit test requests # (the on-line tutorial uses this to demonstrate mailed requests). # ! TSTA=aut...@ha... # # What addresses are not allowed to send mail into REQADM? # This is to try to keep down automated mail, especially bounces, *************** *** 528,539 **** # Command to print to a PostScript printer # This will be run by the *client* so it needs to work on all your platforms. # ! LPRC=lpr # # Mail command. Must recognize "-s subject address..." syntax #XXX This only needs to be available on the server machine. # ! MAIL=/usr/ucb/mail # # Pager software. Invoked using this syntax: # <commandpath> [-q] <username> {<message> | -} --- 528,539 ---- # Command to print to a PostScript printer # This will be run by the *client* so it needs to work on all your platforms. # ! LPRC=/usr/local/bin/lpr # # Mail command. Must recognize "-s subject address..." syntax #XXX This only needs to be available on the server machine. # ! MAIL=/usr/bin/Mail # # Pager software. Invoked using this syntax: # <commandpath> [-q] <username> {<message> | -} *************** *** 589,595 **** # REQADM-USERINFO(5). For historical reasons, this field is # called "CDIS". # ! CDIS=/usr/local/adm/employees.tab # # Path to "usertable" file for your local users, including # computing staff members. This file has the format: --- 589,595 ---- # REQADM-USERINFO(5). For historical reasons, this field is # called "CDIS". # ! CDIS=/usr/local/reqadm/local/employees.tab # # Path to "usertable" file for your local users, including # computing staff members. This file has the format: *************** *** 597,609 **** # faceless accounts or group accounts have a non-numeric value # for id like "NOTAPRSN". These are ignored by REQADM. # ! USRT=/usr/local/adm/usertable # # Shell-style glob pattern for all the off-site usertable files # you want to include in your database of regular users. # Just leave as "USRG=" if you don't have any of these files. # ! USRG=/usr/local/adm/remote/usertable* # # Administrative and other "fake" users which should be defined # in the REQADM database, but will have IDs out of the RUID range --- 597,609 ---- # faceless accounts or group accounts have a non-numeric value # for id like "NOTAPRSN". These are ignored by REQADM. # ! USRT=/usr/local/reqadm/local/usertable # # Shell-style glob pattern for all the off-site usertable files # you want to include in your database of regular users. # Just leave as "USRG=" if you don't have any of these files. # ! USRG= # # Administrative and other "fake" users which should be defined # in the REQADM database, but will have IDs out of the RUID range *************** *** 618,624 **** # just put the path here, like: PASS=/etc/passwd # If you run a command, specify with | like: PASS=|ypcat passwd # ! PASS=|ypcat passwd # ############################################################################## # --- 618,624 ---- # just put the path here, like: PASS=/etc/passwd # If you run a command, specify with | like: PASS=|ypcat passwd # ! PASS=/etc/passwd # ############################################################################## # *************** *** 632,638 **** # # LDAP server hostname # ! LDAP=dataserver.xyz.com # # LDAP service port # --- 632,638 ---- # # LDAP server hostname # ! LDAP= # # LDAP service port # *************** *** 668,675 **** # REQADM sources include the file "extras/userinfod" which is a sample # userinfo server written in Perl. # ! CDL@=dataserver.xyz.com ! CDL@=dataserver2.xyz.com # # USERINFO service TCP port # --- 668,674 ---- # REQADM sources include the file "extras/userinfod" which is a sample # userinfo server written in Perl. # ! CDL@= # # USERINFO service TCP port # *************** *** 697,703 **** # area code are automatically stripped to a 7-digit phone number in # REQADM. # ! AREA=503 # ############################################################################## # --- 696,702 ---- # area code are automatically stripped to a 7-digit phone number in # REQADM. # ! AREA= # ############################################################################## # -tih -- Tom Ivar Helbekkmo, Senior System Administrator, EUnet Norway www.eunet.no T: +47-22092958 M: +47-93013940 F: +47-22092901 |
From: Steve W. <st...@al...> - 2003-12-15 15:09:37
|
> > FLG#=%000110011-000000000000011111--- > > ..and I've left it like that in reqadm.conf. All I've done in > reqadm.conf is change a couple of paths, urls and email addresses, > really: Okay, now that's strange then. Let me see if I can figure out how this could have happened. -- Steve Willoughby | "It is our choices... that show what we truly <st...@al...> | are, far more than our abilities." | --Albus Dumbledore, in Harry Potter and the | Chamber of Secrets, by J. K. Rowling |
From: Tom I. H. <ti...@eu...> - 2003-12-20 19:06:50
|
Steve Willoughby <st...@al...> writes: > Okay, now that's strange then. Let me see if I can figure out how > this could have happened. Looks like corruption of the malloc arena: #0 0x08061bdb in ConfigItemTable::findItem(unsigned long) (this=0x824fc20, id=1095258964) at config.cc:87 87 if (n->ID == id) return n; (gdb) print n $1 = (ConfigItemNode *) 0x1 (gdb) print id $2 = 1095258964 (gdb) print ConfigHashSize $42 = 32 (gdb) print id % ConfigHashSize $44 = 20 (gdb) print table[20] $45 = (ConfigItemNode *) 0x852d330 (gdb) print *table[20] $46 = {ID = 139026144, value = {number = 139584136, string = 0x851e288 "\002"}, next = 0x1} Since 'next' can, from inspection of the code, not be set to 1, something seems to have stomped on parts of the memory involved. I'll do some more digging. -tih -- Tom Ivar Helbekkmo, Senior System Administrator, EUnet Norway www.eunet.no T: +47-22092958 M: +47-93013940 F: +47-22092901 |
From: Tom I. H. <ti...@eu...> - 2003-12-21 07:25:26
|
Tom Ivar Helbekkmo <ti...@eu...> writes: > I'll do some more digging. Ha! I found it! :-) It's an error in the supplied reqadm.conf.sample, where there's a blank line accidentally inserted after the line setting a value for the AHQU parameter. This blank line causes reqadmd to silently ignore the rest of the config file, thus missing a lot of settings. After removing the blank line from my reqadm.conf, things work. :-) -tih -- Tom Ivar Helbekkmo, Senior System Administrator, EUnet Norway www.eunet.no T: +47-22092958 M: +47-93013940 F: +47-22092901 |
From: Steve W. <st...@al...> - 2003-12-21 09:48:05
|
Tom Ivar Helbekkmo wrote: > It's an error in the supplied reqadm.conf.sample, where there's a > blank line accidentally inserted after the line setting a value for > the AHQU parameter. This blank line causes reqadmd to silently ignore > the rest of the config file, thus missing a lot of settings. *blink* Good catch! 1.3.1 will contain a fixed reqadm.conf.sample file, and hopefully a fix to the config file scanning code so that it won't break on blank lines :) Thanks! steve -- Steve Willoughby | "It is our choices... that show what we truly <st...@al...> | are, far more than our abilities." | --Albus Dumbledore, in Harry Potter and the | Chamber of Secrets, by J. K. Rowling |
From: Tom I. H. <ti...@eu...> - 2003-12-03 07:31:06
|
Steve Willoughby <st...@al...> writes: > Yes, actually, I've already started writing a MySQL replacement for it. Great! :-) > Not only should this speed up REQADM and make it easier to set up, but > I'm considering ditching all the weird little support services and scripts > which keep REQADM in sync with your organization's user list, and just > document a couple of MySQL tables and say "Just do whatever you need to > do to keep these tables up to date on your end, and REQADM will read them." That seems like a very good idea. Depending on local needs, they could even be replaced by views that pull data from other databases. > The actual database code will be in one source module, and that module > (which I'm writing for MySQL) can be switched for another copy written > for Oracle, or one for Sybase, or whatever people want to do. It occurs to me that being able to load more than one database driver might be a good thing. For instance, one could envisage keeping the ticket system in one database, while accessing another one to fetch existing information about users/customers/machines/whatever. It would mean keeping some cross references out of actual queries, as in not JOINing ticket and user tables directly, but doing separate queries that expect a user ID to mean the same user in both databases. Not sure it's worth the complexity, though. As soon as you have the API in place, I'd like to start writing a PostgreSQL version of the database access module. Accepting the limitations of a primitive database system like MySQL won't go down well around here... :-) -tih -- Tom Ivar Helbekkmo, Senior System Administrator, EUnet Norway www.eunet.no T: +47-22092958 M: +47-93013940 F: +47-22092901 |