Closed Bug 17566 Opened 25 years ago Closed 23 years ago

Changes necessary to make bugzilla work on Win32 and bugs

Categories

(Bugzilla :: Bugzilla-General, enhancement, P2)

x86
Windows NT
enhancement

Tracking

()

RESOLVED FIXED
Bugzilla 2.12

People

(Reporter: johnnyp, Assigned: barnboy)

References

Details

(Whiteboard: docs)

Attachments

(2 files)

FYI:
Removed the crypted password checks.  Crypt and encrypt calls not functioning on
Win32 ? and currently a clear text version of the password is stored in the
database.  Also, a clear text version of the password is transmitted over the
network, suggest that non significant passwords be used, or switch to browser
authentication if this is undersireable.
Affected subs:
confirm_login - CGI.pl
PasswordForLogin - CGI.pl
quietly_check_login - CGI.pl
InsertNewUser - globals.pl

Fixed a bug in query.cgi $name list missing "changedin" key value for $default.

Fixed path bug on win32 in sub confirm_login, CGI.pl, where using $0 to get
the cgi filename.  Changed the slash in the pattern matching expression to a
backslash.

Changed the emailing method to use Net::SMTP rather than the external program
SENDMAIL.
Affected subs:
confirm_login - CGI.pl

Fixed win32 specific temp file bug in sub AppendComment, changed to use NT temp
directory.

Changed the emailing method in processmail and renamed the file to
processmail.pl.  Using Net::SMTP, and changed the system calls within
post_bug.cgi and process_bug.cgi that call processmail.pl.

Fixed bug in buglist.cgi where the $query started with a join on the version.
This caused the wrong query to happen when the versions between the version and
bug table are different.

Fixed unitialized value for %bugs_status in reports.cgi.  Initialized the hash
with keys new, assigned, and reopened and values zero.

Changed long_list_cgi to shut up misguided -w warnings about "used only once"
for @::usergroupset.

Changed createaccount.cgi, so that it would not say that it emails, because
there is no code to support that, never was!  Probably could use some though,
maybe later.
Status: NEW → ASSIGNED
Priority: P3 → P2
I should probably summarize this into a file in the "contrib" directory.
Also had to change
WriteParams -- defparams.pl
<b>rename</b> (as of 5.005_03 under MSWin32-x86) does not destroy the target 
file if it exists.  changed to copy (from File::Copy) to properly save param 
info.

re: crypt - seems to be a MySQL problem; fixed this by sending already crypted 
password with "insert into" in:
InsertNewUser -- globals.pl
Be aware that not using "rename" might cause a race condition.

If you are in the midst of copying the new version of the params file, and
another Bugzilla process shows up and tries to read that file, then it will see
a half-created file.

On UNIX, the rename trick is an atomic way of putting a new version of a file
up.  Other processes will see the old file or the new one, but can never get a
half-created one.

I don't know the details of how File::Copy works on Windows; maybe it has
similar behavior.
tara@tequilarista.org is the new owner of Bugzilla and Bonsai.  (For details,
see my posting in netscape.public.mozilla.webtools,
news://news.mozilla.org/38F5D90D.F40E8C1A%40geocast.com .)
Assignee: terry → tara
Status: ASSIGNED → NEW
Status: NEW → ASSIGNED
how much of this is still valid? we should get this in as a part of the 2.12 
docs.
Whiteboard: 2.12
I hacked an NT version together for my company. Used the Mail::sendmail package.
See the diff against 2.10

regards,
Rene
Matt--can you this thing into a doc somehow?
Assignee: tara → mbarnson
Status: ASSIGNED → NEW
Okies, this will go into the Guide.
Question, though: How should we handle diffs like this (against 2.10, release 2.12 nears)?  I don't want to include diffs in the docs because they are so quickly dated -- alternate ideas?
Status: NEW → ASSIGNED
FYI: barnboy@imall.com and mbarnson@excitehome.net are the same login... I'll try to use the excitehome.net address from this point on.
Hello,
I attached a new diff against 2.10 with a few more changes:
- handle attachments correctly (binmode)
- limit attachments size

Ps. the shebang changes (#!/Perl/bin/Perl) are not needed for IIS or Xitami 
webservers. Win32-Apache does require it. From the activeperl help:

>Although Win32 systems themselves don't use the shebang, the Apache webserver 
>does. If you are using the Apache webserver on your Win32 system you should 
>put the shebang line at the top of your CGI scripts.

>Your shebang line should look something like:
>
> #!perl
>
>For Windows NT 4.0, the coolest method is to use associated file types (see 
>How do I associate Perl scripts with perl?). If you've associated Perl scripts 
>with the .pl extension, you can just type the name of your file at the command 
>line and Windows NT will launch perl.exe for you. 
Sorry that I haven't updated this bug in a long time.
I'll try to include this information in the documentation I am updating right now.
It almost seems as if we need some kind of NT "fork" in the code base so we can
have a working NT setup out of the gate, but for now I will include this info in
the appendices.
The following section of the diff (effects CGI.PL)
@@ -702,7 +716,8 @@
         if (!defined $nexturl || $nexturl eq "") {
 	    # Sets nexturl to be argv0, stripping everything up to and
 	    # including the last slash.
-	    $0 =~ m:[^/]*$:;
+	    #$0 =~ m:[^/]*$:;
+            $0 =~ m:[^\\]*$:;
 	    $nexturl = $&;
         }
         my $method = "POST";

Seems to cause problems on apache for NT (as discovered on IRC today).  If you 
are having problems with logins and new passwords not working try uncommenting 
the original RegExp and commenting out the new one.

Approx. Line 843 in CGI.pl is the effected area.
Is this really needed for 2.12?  We could add something to the documentation
stating that Bugzilla still doesn't run easily on Windows.  Or put the attached
patch in the contrib directory.  But everything else should be planned for a
future release IMHO, to help getting 2.12 out soon.

See also
http://lxr.mozilla.org/mozilla/source/webtools/bugzilla/docs/FAQ.html#BZNT :

Q: What is the easiest way to run Bugzilla on NT?
A: Remove NT. Install Linux. Slap a label on the box that says "Windows NT."
   The boss will never know the difference, except perhaps wonder why the
   machine isn't crashing anymore.
Oops, a bug marked for 2.12 without QA contact?  Selecting default contact.
QA Contact: matty
The guide isn't going to be ready for 2.12. Can we add a few lines to the 

readme and tell people to install the patch in the contrib directory? 
QA Contact: matty
Setting the default QA because of our midair.
QA Contact: matty
This isn't the only windows bug.
Blocks: 29066
Whiteboard: 2.12 → 2.12 docs
moving to real milestones...
Whiteboard: 2.12 docs → docs
Target Milestone: --- → Bugzilla 2.12
Reassigning to the correct email address (finally!)
Assignee: mbarnson → barnboy
Status: ASSIGNED → NEW
I am checking in the latest version of the Bugzilla Guide (Version 2.11.1)
tonight or tomorrow morning into CVS.  It includes a detailed installation
instructions for Win32.  I have also modified the README in
$BUGZILLA_HOME/README to change the Windows NT note at the top of the file.  It
now refers them to the Guide in docs/.  Here is the changed note near the top of
the README:
   Bugzilla has been successfully installed under Solaris, Linux and
Windows NT.  The peculiarities of installing on Windows NT have not
been included in this README; please consult the Bugzilla Guide for
detailed Windows NT installation instructions in docs/html/README.windows.html
or docs/txt/README.windows.txt. 

Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Had to make a change to the way I phrased this, SGML compiling name setup
doesn't always cooperate with me.  It now reads like this:

   Bugzilla has been successfully installed under Solaris, Linux, and
Windows NT. The peculiarities of installing on Windows NT have not
been included in this README; please consult the Bugzilla Guide for
detailed Windows NT installation instructions.
 
  The Bugzilla Guide is contained in the "docs/" folder.  It is available
in plain text (docs/txt), HTML (docs/html), or SGML source (docs/sgml).
I have checked the README update into CVS; the rest of the Guide still needs
several hours of editorial time.
Status Whiteboard: +"Apache"? This is far from fixed. getgrname() needs to be 
fixed in checksetup.pl, and major overhauling in that same file for all that 
chmod stuff and using groups. Perhaps there should be a default login for 
master for the first time, and from then on, use people's bugzilla profile's 
group to see if they can run checksetup.pl. 

Also, encrypt should be replaced permanently with a generic encryption function.

<offtopic.security>Why is encrypt used when plain text passwords are used at 
the same time? Doesn't that defeat the purpose? The plain text password isn't 
necessary as someone can email himself his own password</offtopic.security>

The current dir slashes work in Apache - why not send the dir switches to the 
params?

Also, the sendmail path needs to be stored in a param for easy changing.

Can we please fix these for 2.12 or at least 2.14? Bugzilla still doesn't work 
immediately with Apache for win32 in current CVS.
Win32 installations of bugzilla still are not officially supported... and this
isn't likely to change anytime soon.  This is marked FIXED because the
documentation has been updated with instructions for running on Win32, not
because any work has gone into making the task simpler strait out of CVS (or the
tarball, for that matter).
Moving closed bugs to Bugzilla product
Component: Bugzilla → Bugzilla-General
Product: Webtools → Bugzilla
Version: other → unspecified
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: