Compare commits

..

1341 Commits

Author SHA1 Message Date
alecf%netscape.com
e953a4ea87 C++ side of fix for bug 100212 - move consumers of nsIFile.URL into nsIIOService. r=dougt, sr=darin
git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@111529 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-08 01:31:25 +00:00
srilatha%netscape.com
22ea3cb16d checking in for rdayal. Files already on trunk.
git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@111225 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-02 00:08:30 +00:00
srilatha%netscape.com
e021985dac checking in for rdayal, fix for bug # 109101, r=ssu, sr=bienvenu.
git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@111224 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-02 00:01:48 +00:00
srilatha%netscape.com
37c7fe2cc1 checking in for rdayal. fix for bug # 116993 r=ssu, sr=sspitzer.
git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@111223 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-02 00:01:03 +00:00
srilatha%netscape.com
92449d5f2b checking in for rdayal. Fix for bug # 116993, r=ssu, sr=sspitzer
git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@111222 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-01 23:57:54 +00:00
srilatha%netscape.com
0f4c47bad2 checking in for rdayal. Fixes for bug #s 109101 and 115307. r=ducarroz, r=ssu, sr=bienvenu, sr=sspietzer
git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@111221 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-01 23:50:41 +00:00
cavin%netscape.com
66a09211ae Checking in for rdayal.
Bug # 106137, changes for trunk landing.
r=dougt, sr=alecf, sr=mscott.


git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@111093 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 23:15:27 +00:00
(no author)
4d276aa864 This commit was manufactured by cvs2svn to create branch
'MAPI_NEW_DIR_TRUNK'.

git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@110704 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-18 09:14:30 +00:00
alecf%netscape.com
9a9d38606a removing generated files
git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@110679 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-18 01:26:34 +00:00
alecf%netscape.com
7ef7f62f45 remove these files from the branch
git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@110676 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-18 01:16:53 +00:00
alecf%netscape.com
412bc70111 argh, I'll get this right yet.. this should be #if 1
git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@110674 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-18 01:09:41 +00:00
alecf%netscape.com
cf982c25ce oops put that #if back
git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@110672 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-18 01:08:22 +00:00
alecf%netscape.com
dfb5dde44f remove some files that are no longer on this branch
git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@110671 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-18 01:07:50 +00:00
alecf%netscape.com
5b5ddf1efb add new files for rajiv
git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@110670 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-18 01:06:04 +00:00
alecf%netscape.com
2765860524 land rajiv's latest patches for MAPI support - not reviewed yet, but on the way
git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@110668 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-18 01:03:35 +00:00
alecf%netscape.com
95560e128c remove obsolete files from branch
git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@110658 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-18 00:11:06 +00:00
srilatha%netscape.com
2c4edc911e Merging 094 with the private branch. Later this will be merged on to the trunk
bug #104672.


git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@107615 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-07 20:16:06 +00:00
(no author)
82d37c5f89 This commit was manufactured by cvs2svn to create branch
'MAPI_NEW_DIR_TRUNK'.

git-svn-id: svn://10.0.0.236/branches/MAPI_NEW_DIR_TRUNK@107204 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 04:06:55 +00:00
blakeross%telocity.com
1ec9c4480f 107642 - XUL syntax/cleanup landing. Fixes 94470, 96008, 96019, 76800, 102637, 80399, 108303, and removes over a thousand unnecessary or nonsensical attributes. Also fixes 108302, 102366, 102367, 105815. r=sspitzer,cmanske on appropriate parts sr=ben
git-svn-id: svn://10.0.0.236/trunk@107203 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 04:06:54 +00:00
seawood%netscape.com
c71e171653 Moved darwin section to proper platform location.
Added note about why -traditional-cpp is used for darwin.
Added Mac OSX linker options to be used in darwin builds.
Bug #106617


git-svn-id: svn://10.0.0.236/trunk@107202 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 03:57:36 +00:00
leaf%mozilla.org
f606f4f12d Automated update
git-svn-id: svn://10.0.0.236/trunk@107200 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 03:43:15 +00:00
seawood%netscape.com
76780820f4 Backing out fix for remote mach-o builds as it left mach-o builds fragile.
Add TK_CFLAGS back to default CFLAGS/CXXFLAGS.
Bug #107696


git-svn-id: svn://10.0.0.236/trunk@107199 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 03:29:05 +00:00
jst%netscape.com
d489aa86fc Fixing bug 108174. --disable-bidi build bustage. Patch from jkeiser@iname.com, r=sicking@bigfoot.com, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@107198 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 03:25:29 +00:00
ducarroz%netscape.com
33c0102484 Fix Mac bustage (again)
git-svn-id: svn://10.0.0.236/trunk@107195 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 03:11:44 +00:00
rjesup%wgate.com
1c72d387b9 Bug 107600: mCachedIndex isn't initialized for nsContentSubtreeIterators.
Also fixes problems in two spots where the content tree changing could mess
up the iterator.  patch by jfrancis, r=rjesup, sr=waterson


git-svn-id: svn://10.0.0.236/trunk@107194 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 03:05:05 +00:00
rjesup%wgate.com
ac6f3c6b18 Bug 107341: Xlib/xprint xcleanup. New file was missed on first checkin.
r=biesi, r=pocemit, sr=blizzard


git-svn-id: svn://10.0.0.236/trunk@107193 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 02:46:45 +00:00
rjesup%wgate.com
b40dd6ee1d Bug 107341: Xlib/xprint xcleanup. New file was missed on first checkin.
r=biesi, r=pocemit, sr=blizzard


git-svn-id: svn://10.0.0.236/trunk@107192 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 02:39:12 +00:00
sspitzer%netscape.com
bed0909b4d fix for #72458. don't use 'menu class="push"' r=hwaara, sr=sspitzer
fix by neil@parkwaycc.co.uk


git-svn-id: svn://10.0.0.236/trunk@107190 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 02:36:02 +00:00
waterson%netscape.com
3e3e226985 Remove unused variable (no bug). r=dbaron, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@107189 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 02:23:20 +00:00
pchen%netscape.com
8e4ab1ac6c bug 68329, r=jag, sr=sfraser, resurrected an old patch from sfraser which
cleans up a lot of the string stuff, had help from jag to clean string
stuff even more


git-svn-id: svn://10.0.0.236/trunk@107188 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 02:22:40 +00:00
bryner%netscape.com
d9f89d04a6 Removing obsolete/unused native menu code. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@107187 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 02:22:33 +00:00
leaf%mozilla.org
cf0d1e09c0 Automated update
git-svn-id: svn://10.0.0.236/trunk@107186 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 02:13:09 +00:00
tor%cs.brown.edu
f9724fd972 Update tree copy of libmng to 1.0.3. rs=blizzard
git-svn-id: svn://10.0.0.236/trunk@107185 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 02:11:26 +00:00
bryner%netscape.com
e83254e15e Removing obsolete remoteControl component. r=sspitzer, blizzard. (also adding new filepicker makefiles to allmakefiles.sh, this is not turned on yet).
git-svn-id: svn://10.0.0.236/trunk@107183 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 02:10:10 +00:00
mcafee%netscape.com
e8398c149a Adding multi-line support.
git-svn-id: svn://10.0.0.236/trunk@107182 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 02:10:05 +00:00
ducarroz%netscape.com
6f5f359e34 Fix Mac bustage. Sorry for the mistake!
git-svn-id: svn://10.0.0.236/trunk@107181 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 02:08:06 +00:00
jst%netscape.com
ab9c4205b6 Fixing leaks in the exception service. Bug 108213. r=dbradley@netscape.com, sr=jband@netscape.com
git-svn-id: svn://10.0.0.236/trunk@107180 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 02:07:20 +00:00
justdave%syndicomm.com
4aaa66afe8 Fix for bug 105773: Email addresses in the CC list are now sorted case-insensitively
Patch by Adam Kennedy <bugzilla@ali.as>
r= justdave x2


git-svn-id: svn://10.0.0.236/trunk@107178 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 02:05:43 +00:00
tor%cs.brown.edu
319437ece8 Bug 108005 - need to clear bits in alpha mirror for interlaced PNGs
and MNG.  r=rjesup, sr=blizzard


git-svn-id: svn://10.0.0.236/trunk@107177 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 02:03:51 +00:00
sspitzer%netscape.com
0994c4a250 fix for regression #108256 cancelling the auto-sub confirm dialog then running the same url again fails silently
fix for regression bug #108251 don't get the "remove group" dialog when there's msg window.
r=hwaara, sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@107176 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 01:56:19 +00:00
mitesh%netscape.com
6afb223e31 reverting back the mapi changes. Including mapi again. Checking in for kkhandrika@netspcae.com
git-svn-id: svn://10.0.0.236/trunk@107174 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 01:45:54 +00:00
rjesup%wgate.com
7d996ba297 Bug 107341: xlib/xprint xcleanup. Checking in for gisburn.
r=biesi, r=pocemit, sr=blizzard


git-svn-id: svn://10.0.0.236/trunk@107173 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 01:39:11 +00:00
hewitt%netscape.com
8ee5216dc9 bug 51314. classic skin has blue directory icons. images by shuehan liang <shliang@netscape.com> r=andreww, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107172 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 01:33:41 +00:00
sspitzer%netscape.com
fa78a71418 bulletproofing fix for #105183 to help us prevent the crash
and track this down.  r/sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@107171 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 01:32:30 +00:00
rjesup%wgate.com
c61dfd44d2 Bug 100069: XPrint infrastructure for dialog. Checkin for gisburn.
r=rjesup, sr=blizzard


git-svn-id: svn://10.0.0.236/trunk@107170 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 01:31:23 +00:00
hewitt%netscape.com
055960ef35 bug 53558. windows classic theme should not use threedface for borders. patch by shuehan liang <shliang@netscape.com> r=jag, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107169 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 01:29:26 +00:00
hewitt%netscape.com
1a6c5ae97f bug 29828. addmore space between menuitem text and keybinding hint. patch by shuehan liang <shliang@netscape.com> r=jag, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107168 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 01:25:22 +00:00
rjesup%wgate.com
1a798c2278 Bug 104260: Font LRU cache confused as to direction of the head. r=rbs,
sr=waterson (converted from r=waterson)


git-svn-id: svn://10.0.0.236/trunk@107167 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 01:23:28 +00:00
hewitt%netscape.com
67f9c6929b bug 67452. modern: server icon out of alignment with twisty. images by shuehan liang <shliang@netscape.com> r=jag, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107166 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 01:22:46 +00:00
mcafee%netscape.com
1b3bef0ad9 cut&paste bug
git-svn-id: svn://10.0.0.236/trunk@107165 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 01:18:39 +00:00
bryner%netscape.com
e2fdbd9b59 Removing unused native menu code. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@107164 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 01:11:22 +00:00
hewitt%netscape.com
625ead88b9 bug 54821. sidebar grippy too thick when collapsed. patch by shuehan liang <shliang@netscape.com> r=jag, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107163 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 01:04:33 +00:00
rangansen%netscape.com
08ac4958c4 r=ssaux ; sr = blizzard ; bug# 83392 ; Handling page info properly, in case of exceptions
git-svn-id: svn://10.0.0.236/trunk@107162 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 01:04:08 +00:00
hewitt%netscape.com
e0c245de1d bug 54821. sidebar grippy too thick when collapsed. patch by shuehan liang <shliang@netscape.com> r=jag, sr=hewittcommunicator/sidebar/win/sidebar.css
git-svn-id: svn://10.0.0.236/trunk@107161 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 01:02:23 +00:00
hewitt%netscape.com
949fedacde bug 67768. composer: active edit mode tab should not use hardcoded white. patch by shuehan liang <shliang@netscape.com> r=jag, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107160 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:59:23 +00:00
rangansen%netscape.com
318758bc6a r=javi ; sr = hewitt ; bug# 89827 ; adding serial number col to cert manager window
git-svn-id: svn://10.0.0.236/trunk@107159 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:56:20 +00:00
mscott%netscape.com
fb007dc1e8 packaging changes for the mac for smime
git-svn-id: svn://10.0.0.236/trunk@107158 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:54:00 +00:00
hewitt%netscape.com
42a66a2d26 bug 88523. autocomplete urls in classic shouldn't have titles in italics. patch by shuehan liang<shliang@netscape.com> r=jag, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107157 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:52:06 +00:00
ducarroz%netscape.com
b2973b1b34 fix for bug 107708. Look at the attachment real name to determine if possible the content-type before looking at the url. R=varada, SR=sspitzer
git-svn-id: svn://10.0.0.236/trunk@107156 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:51:53 +00:00
hewitt%netscape.com
c5fb21320f bug 99631. preview icon in composer tab (ship steering wheel) not entirely transparent. image by shuehan liang <shliang@netscape.com> r=jag, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107155 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:50:15 +00:00
mcafee%netscape.com
61b1f01bc3 Adding basic scrape functionality. Pick off TinderboxPrint: token and print the argument in the corresponding build box. Currently limited to one line, multi-line change coming next.
git-svn-id: svn://10.0.0.236/trunk@107154 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:50:13 +00:00
rangansen%netscape.com
8598aceb0b r=javi ; sr = hewitt ; bug# 89827 ; adding serial number col to cert manager window
git-svn-id: svn://10.0.0.236/trunk@107153 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:49:35 +00:00
mitesh%netscape.com
ba35aa810c Removing mapi from the normal build. Preparing simple MAPI to land on the trunk (bug 104672). Checking in for kkhandrika@netscape.com
git-svn-id: svn://10.0.0.236/trunk@107152 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:46:49 +00:00
ssu%netscape.com
a8c88e225f forgot to disable the creation of the mail shortcut in the quicklaunch bar as part of the fix to bug 28172
git-svn-id: svn://10.0.0.236/trunk@107151 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:45:41 +00:00
kaie%netscape.com
4dd6a65a89 Bug #106507 --> if BUILD_SMIME is defined in the build environment (which it isn't), build the smime extensions directory to add smime support
git-svn-id: svn://10.0.0.236/trunk@107150 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:42:03 +00:00
gordon%netscape.com
c79f4e05cd Fix bug 86474 "nsFileTransports won't truncate files", extends fix to other unix platforms besides linux. Checking in for lidl@pix.net, r=gordon, sr=darin.
git-svn-id: svn://10.0.0.236/trunk@107149 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:39:14 +00:00
mscott%netscape.com
1f3a527255 Bug #106507 --> add new files to the packaging lists for linux and windows.
git-svn-id: svn://10.0.0.236/trunk@107148 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:39:05 +00:00
javi%netscape.com
bf479f147c Part of Bug 106507. add the ability to build S/MIME as part of the client. Leaving off as default for now. But can be turned on with the build preferences.
git-svn-id: svn://10.0.0.236/trunk@107147 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:37:07 +00:00
ssu%netscape.com
2f006a401a fixing bug 28172 - Add shortcut to launch bar. r=sgehani, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@107146 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:34:17 +00:00
javi%netscape.com
5966735e03 Part of 106507 Land the mime project changes so the S/MIME compose can be built. Not turned on it official build though.
git-svn-id: svn://10.0.0.236/trunk@107145 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:34:13 +00:00
pchen%netscape.com
748331065e Not part of build. Update output of test to jive with new tinderbox test
stuff mcafee is doing.


git-svn-id: svn://10.0.0.236/trunk@107144 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:33:56 +00:00
ducarroz%netscape.com
ebfabe30ba Fix for bug 107660. Put back the bracket in front of Fwd: which has been removed by accident. R=varada, SR=bienvenu
git-svn-id: svn://10.0.0.236/trunk@107143 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:33:55 +00:00
mscott%netscape.com
368d1d900e build the extensions directory.
git-svn-id: svn://10.0.0.236/trunk@107142 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:33:28 +00:00
mscott%netscape.com
0dc1ed91df Bug #106507 --> if BUILD_SMIME is defined in the build environment (which it isn't), build
the smime extensions directory to add smime support

This code was contributed by mscott and ddrinan@netscape.com
r=ducarroz
sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@107141 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:32:44 +00:00
mscott%netscape.com
91794d36d7 Bug #106507 --> if BUILD_SMIME is defined in the build environment then don't build the smime
stub dll.

The mime changes have been contributed by ddrinan@netscape.com
r=ducarroz
sr=mscott


git-svn-id: svn://10.0.0.236/trunk@107140 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:31:45 +00:00
mscott%netscape.com
a0c8ea554b Bug #106507 --> if BUILD_SMIME is defined in the build environment (which it isn't), build the new smime
files.

The mime changes have been contributed by ddrinan@netscape.com
r=ducarroz
sr=mscott


git-svn-id: svn://10.0.0.236/trunk@107139 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:31:15 +00:00
hewitt%netscape.com
3fe59f450a bug 95385. classic: text on top of box border in debug preferences. patch by shuehan liang <shliang@netscape.com> r=jag, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107138 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:31:06 +00:00
hewitt%netscape.com
c485002a73 bug 68768. failure to fully specify colors in themes. patch by shuehan liang <shliang@netscape.com> r=jag, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107137 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:28:15 +00:00
sspitzer%netscape.com
1a4a8ffbca fix for #35691. addressing widget problems (no To: field) if the
user his new msg when on a news server, and they've got a reply to
address.  r=varada, sr=bienvenu,sspitzer

thanks to neil@parkwaycc.co.uk  for the fix


git-svn-id: svn://10.0.0.236/trunk@107136 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:25:02 +00:00
hewitt%netscape.com
0a98799487 bug 92019. modern mark button has extra arrow visible. patch by shuehan liang <shliang@netscape.com> r=andreww, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107135 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:23:07 +00:00
aaronl%netscape.com
7cc86dcab7 Bug 107858. Active Accessibility: Radio button and checkbox statechange events not working. r=timeless, sr=scc
git-svn-id: svn://10.0.0.236/trunk@107134 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:16:42 +00:00
alecf%netscape.com
ea0c37bf8f REQUIRES cleanup
git-svn-id: svn://10.0.0.236/trunk@107133 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:16:29 +00:00
javi%netscape.com
0d9a3fe6aa NOT PART OF BUILD.
Previous project file was corrupt.  Replace with one on tip of
OTIS_TEST_BRANCH

NOT PART OF BUILD.


git-svn-id: svn://10.0.0.236/trunk@107132 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:15:45 +00:00
rginda%netscape.com
db72e1cb29 bug 108257, "source notes broken for functions compiled via JS_CompileUCFunctionForPrincipals", sr=brendan, r=shaver
no need to emit the function body after calling FunctionBody


git-svn-id: svn://10.0.0.236/trunk@107131 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:10:47 +00:00
yokoyama%netscape.com
9e2820f301 Bug 105113
Read DefaultCharSet from nsPref
when DocumentViewerImpl::mDefaultCharacterSet is
not assigned
/r=bstell and /sr=alecf


git-svn-id: svn://10.0.0.236/trunk@107130 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:06:51 +00:00
mscott%netscape.com
9a2a443bb4 NOT PART OF THE BUILD
Make the security options menu match the spec --> add access keys, make the selection a radio
widget.
r/sr=sspitzer
NOT PART OF THE BUILD


git-svn-id: svn://10.0.0.236/trunk@107129 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:06:32 +00:00
dbradley%netscape.com
e924214090 Bug 94650 - Added warning for scriptable interfaces that inherit from non-scriptable interfaces. r=jst, sr=jband
git-svn-id: svn://10.0.0.236/trunk@107128 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:05:57 +00:00
dbradley%netscape.com
a8eb4888d7 Bug 33193 - Sanity check for typelib truncation. r=jst, sr=jband
git-svn-id: svn://10.0.0.236/trunk@107127 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 00:02:56 +00:00
bryner%netscape.com
c2f43529f5 libcmt.so is from psm1 and no longer exists, removing it. r=dveditz.
git-svn-id: svn://10.0.0.236/trunk@107126 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 23:58:10 +00:00
sonja.mirtitsch%sun.com
7a21403394 next try to gat all of the HP problems...
git-svn-id: svn://10.0.0.236/trunk@107125 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 23:47:47 +00:00
jst%netscape.com
c8d98665ac Checking in workaround for bug 108175, temporarily disable framestate storage on frame destruction. r=jkeiser@iname.com, sr=hyatt@netscape.com
git-svn-id: svn://10.0.0.236/trunk@107124 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 23:36:58 +00:00
mcafee%netscape.com
aaf1e15e02 Adding scrape.dat
git-svn-id: svn://10.0.0.236/trunk@107123 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 22:55:09 +00:00
mcafee%netscape.com
e8fea3931a Switching to TinderboxPrint:aaa,bbb,ccc format. r=pchen
git-svn-id: svn://10.0.0.236/trunk@107122 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 22:41:40 +00:00
ben%netscape.com
53ee2db3ec fix blocker 107568, add back accidentally removed function. I am a dumbass.
sr=spitzer,sfraser


git-svn-id: svn://10.0.0.236/trunk@107121 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 22:35:13 +00:00
relyea%netscape.com
1407e64cce Build OID hash table using PL_Hash rather then the dbm hash code.
git-svn-id: svn://10.0.0.236/trunk@107120 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 21:50:09 +00:00
pchen%netscape.com
c76be4ff30 Not part of build. Added jrgm's window open test files to tree to make
available to tinderboxen


git-svn-id: svn://10.0.0.236/trunk@107118 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 20:37:44 +00:00
darin%netscape.com
e61d7118d7 a=leaf, bustage fix!
git-svn-id: svn://10.0.0.236/trunk@107117 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 20:17:18 +00:00
sspitzer%netscape.com
d82ca4aee7 initial work for #73868. convert addressbook results pane to outliner.
NOT PART OF THE BUILD.


git-svn-id: svn://10.0.0.236/trunk@107116 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 20:17:14 +00:00
justdave%syndicomm.com
a0a44f7175 Fix for bug 95615: cosmetic change to clarify error message when trying to use too many votes
Patch by Adam Kennedy <bugzilla@ali.as>
r= justdave x2


git-svn-id: svn://10.0.0.236/trunk@107115 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 20:05:13 +00:00
dinglis%qnx.com
eb6d97c8d6 Not part of build
fixed lib deps.
change repeating precise timers to repeating slack for debug builds - make debuging easier


git-svn-id: svn://10.0.0.236/trunk@107114 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 19:12:36 +00:00
sonja.mirtitsch%sun.com
23fff4e9fa put a workaround in place, so client ands server will not write at the
same time
(to avoid lines like: ...Unable to find the certificate
authenticatfailedion...)


git-svn-id: svn://10.0.0.236/trunk@107113 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 19:09:11 +00:00
mscott%netscape.com
d051432049 NOT PART OF THE BUILD
Mac specific cpp files.
NOT PART OF THE BUILD


git-svn-id: svn://10.0.0.236/trunk@107112 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 19:06:30 +00:00
blizzard%redhat.com
1e43da8c6b add the js-debugger package. not part of the build.
git-svn-id: svn://10.0.0.236/trunk@107111 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 18:47:04 +00:00
bryner%netscape.com
a582ad6211 Removing some native widget cruft. rs=blizzard. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@107110 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 18:21:50 +00:00
loadrunner%betak.net
69ac321f4d bug 64146, Delay nsCharsetMenu initialization to avoid consuming ~2% of startup time, r=dp, sr=brendan, alecf
these files didn't make it the other day and caused this blocker:
bug 107786 - The subsets of Character coding menus are not working


git-svn-id: svn://10.0.0.236/trunk@107108 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 17:30:58 +00:00
ccarlen%netscape.com
e28da6febd Bug 105440 - directory service needs new keys and be able to support lists of directories. r=valeski/sr=jband
git-svn-id: svn://10.0.0.236/trunk@107106 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 15:29:57 +00:00
kin%netscape.com
9ec5334640 Fix for bug #99517: Text migrates past H. Line, loses formatting when converted to list
Modified WillMakeList() to clear prevListItem after adding a block
to a list item so that any inline nodes after the block are put
in a new list item.

r=jfrancis@netscape.com  sr=sfraser@netscape.com


git-svn-id: svn://10.0.0.236/trunk@107105 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 14:47:10 +00:00
jdunn%netscape.com
209ae4db09 HP-UX only
Only export NSGetModule for components.  This is
similar to what OS/2 & Linux are doing
r=cls@seawood.org
# 105324


git-svn-id: svn://10.0.0.236/trunk@107104 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 14:24:34 +00:00
jst%netscape.com
474e0aed63 Fix problem in the formrewrite changes, the new code ends up doing a flush on the document from within DemoteContainer() in the sink which ends up notifying the document about some peices of content more than once. This causes duplicated content on some pages. r=jkeiser@iname.com. sr=myself.
git-svn-id: svn://10.0.0.236/trunk@107100 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 11:28:20 +00:00
peterv%netscape.com
b295e6eab3 Add build option for the JS profiler on Mac. r=sfraser.
git-svn-id: svn://10.0.0.236/trunk@107099 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 10:29:25 +00:00
peterv%netscape.com
625023cc1d Add build option for the JS profiler on Mac. a=dbradley. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@107098 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 10:27:52 +00:00
peterv%netscape.com
7248b4eb16 Fix for bug 106844 (XSLT stylesheet of type text/xml not recognized; type text/xsl is recognized). r=heikki, sr=jst.
git-svn-id: svn://10.0.0.236/trunk@107097 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 10:13:05 +00:00
mcafee%netscape.com
414b31f322 Adding scrape scan.
git-svn-id: svn://10.0.0.236/trunk@107096 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 09:43:12 +00:00
mcafee%netscape.com
3c078a1233 Tinderbox,aaa,bbb,ccc,ddd format.
git-svn-id: svn://10.0.0.236/trunk@107095 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 09:37:35 +00:00
hyatt%netscape.com
f5c44e45af Fix whitespace handling in XBL. Bad regression. r=bryner, sr=jst
git-svn-id: svn://10.0.0.236/trunk@107094 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 09:29:33 +00:00
beard%netscape.com
9a1fddd6a3 [not part of build] Added MRJSession.java, removed MRJConsole.java. Added ProxyClassLoaderFactory.java.
git-svn-id: svn://10.0.0.236/trunk@107092 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 08:22:58 +00:00
beard%netscape.com
51310b2c8b [not part of build] configuration files for MRJPluginCarbon.
git-svn-id: svn://10.0.0.236/trunk@107091 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 08:18:52 +00:00
beard%netscape.com
32129d5816 [Not part of build] Bumped versions to 1.0d4.
git-svn-id: svn://10.0.0.236/trunk@107090 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 08:15:57 +00:00
beard%netscape.com
a4ff0a9ef0 [not part of build] Now reads in MRJPlugin.properties, sets up MRJPlugin.policy, and creates applet security manager.
git-svn-id: svn://10.0.0.236/trunk@107089 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 08:15:33 +00:00
beard%netscape.com
76a8627b94 [not part of build] Now defining system property, netscape.oji.plugin.home, so that classes in MRJPlugin.jar can find other files, such as MRJPlugin.properties & MRJPlugin.policy.
git-svn-id: svn://10.0.0.236/trunk@107088 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 08:13:46 +00:00
beard%netscape.com
e778011fc3 [not part of build] Added pending exception support, to deal with problem of not being able to enter monitors with a pending exception in the JNIEnv.
git-svn-id: svn://10.0.0.236/trunk@107087 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 08:11:37 +00:00
beard%netscape.com
2bb63018ed [not part of build] Added getSystemVersion() to ensure plugin only loads on Mac OS X 10.1 and later.
git-svn-id: svn://10.0.0.236/trunk@107086 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 08:07:31 +00:00
beard%netscape.com
a6c5c9d78e [not part of build] Make class uninstantiable except from native code.
git-svn-id: svn://10.0.0.236/trunk@107085 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 08:01:40 +00:00
jst%netscape.com
acafb94f92 added files: mozilla/content/html/content/src/nsFormSubmitter.cpp
git-svn-id: svn://10.0.0.236/trunk@107084 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 07:40:23 +00:00
jst%netscape.com
81bf1f1956 Checking in John Keiser's <jkeiser@iname.com> fix for *tons* of form submission and <select> related bugs, see tracking bug 34297 for details. r=rods@netscape.com, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@107083 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 07:40:01 +00:00
hewitt%netscape.com
cae7f892f5 Bug 96081. no picture/icons for 'align text to image' on modern. Patch, images by Shuehan Liang <shliang@netscape.com> r=sspitzer, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107082 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 06:57:15 +00:00
seawood%netscape.com
39fc8231a4 Fix the problem with using cygwin perl for REQUIRES path resolution.
Thanks to Daniel Nunes <leaf@mozilla.org> for the patch.
Bug #103460


git-svn-id: svn://10.0.0.236/trunk@107081 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 06:54:02 +00:00
seawood%netscape.com
12f471a465 Fix warnings by only defining _UINT16 & _UINT32 if they aren't already defined.
Thanks to Josh Soref <timeless@mac.com> for the patch.
Bug #107599


git-svn-id: svn://10.0.0.236/trunk@107080 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 06:50:12 +00:00
nicolson%netscape.com
2e6648b1e7 get test scripts working, add license.
git-svn-id: svn://10.0.0.236/trunk@107079 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 06:41:44 +00:00
jaggernaut%netscape.com
2bfaed0498 Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@107078 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 06:39:49 +00:00
nicolson%netscape.com
16c77d7089 Add a test target and some classes and scripts.
Now we can test with "gmake test".


git-svn-id: svn://10.0.0.236/trunk@107077 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 06:33:21 +00:00
alecf%netscape.com
86a7f7d224 REQUIRES cleanup
git-svn-id: svn://10.0.0.236/trunk@107076 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 06:30:34 +00:00
stephend%netscape.com
8119f139ba Bug 71843. Classic:mail compose:spell button is lower than other buttons. Images by Shuehan Liang <shliang@netscape.com> r=jag, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107075 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 05:35:05 +00:00
stephend%netscape.com
eeddbc5faa Bug 99514. arrow-right.gif vs. arrow-rit.gif. Patch by Shuehan Liang <shliang@netscape.com> r=andreww, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107074 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 05:29:37 +00:00
stephend%netscape.com
46d7d77177 Bug 52888. Classic skin: scrollbar should be at right edge of window. Patch by Shuehan Liang <shliang@netscape.com> r=jag, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107073 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 05:23:45 +00:00
mcafee%netscape.com
d313966c17 General purpose version of bloat.pl
git-svn-id: svn://10.0.0.236/trunk@107072 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 05:22:00 +00:00
mcafee%netscape.com
7a00491cb4 no warn.pl anymore
git-svn-id: svn://10.0.0.236/trunk@107071 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 05:20:25 +00:00
waterson%netscape.com
15276fbb6a More types. Remove JS stuff so we can account for it better.
git-svn-id: svn://10.0.0.236/trunk@107070 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 05:17:28 +00:00
dp%netscape.com
5fbbc564cf bug# 105509 inlining nsHashKey::nsHashKey
r=dougt, sr=jband


git-svn-id: svn://10.0.0.236/trunk@107069 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 04:58:30 +00:00
hewitt%netscape.com
d0fcf2295f Bug 96817. Menu item spacing is larger for bookmarks menu. Patch by Shuehan Liang <shliang@netscape.com> r=andreww, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107068 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 04:53:43 +00:00
jst%netscape.com
09b081e767 Fixing bug 52120. Make mozilla pass the expected arguments to window.onerror. r=jkeiser@iname.com, sr=jband@netscape.com
git-svn-id: svn://10.0.0.236/trunk@107067 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 04:49:07 +00:00
hewitt%netscape.com
9fb8da35ea Bug 90846. Navigation toolbar is one pixel thicker with Print button. Patch by Shuehan Liang <shliang@netscape.com> r=andreww, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107066 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 04:41:44 +00:00
jband%netscape.com
7357d5cf7c part of fix to bug 108045. gracefully handle the case where we can't get info about an interface. r=jst sr=brendan
git-svn-id: svn://10.0.0.236/trunk@107065 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 04:41:37 +00:00
jband%netscape.com
81edd25932 fix bug 108045. Don't crash on case where an xpt file is missing an interface info that was there when the manifest got built. Insead, fail gracefully and force the subsequent run to re-autoreg. r=jst sr=brendan
git-svn-id: svn://10.0.0.236/trunk@107064 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 04:40:13 +00:00
hewitt%netscape.com
475900baf5 Bug 95632. Account Central doesn't use system colors. Patch by Shuehan Liang <shliang@netscape.com> r=andreww, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107063 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 04:38:49 +00:00
hewitt%netscape.com
55b64b0b98 Bug 80349. Classic skin links in What's Related have dark highlighting. Patch by Shuehan Liang <shliang@netscape.com> r=andreww, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107062 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 04:36:29 +00:00
hewitt%netscape.com
40aa2a4a86 Bug 76171. Need minimum height/width for certain cases in classic theme. Patch by Shuehan Liang <shliang@netscape.com>. r=andreww, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@107061 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 04:33:00 +00:00
nelsonb%netscape.com
b91f3120f1 Reimplement SSL_GetChannelInfo. Add new function SSL_GetCipherSuiteInfo().
Also, implement new ciphersuite preference order.  Bug 78959.


git-svn-id: svn://10.0.0.236/trunk@107060 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 04:24:28 +00:00
dbaron%fas.harvard.edu
6a5015b10c Ensure that we don't re-resolve placeholders to the style context that should be on their out-of-flow frame. Fixes autocomplete popup. b=107744 r=waterson sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@107059 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 04:14:58 +00:00
nelsonb%netscape.com
5b7036cc69 Put better comments by the table of preconfigured policies.
git-svn-id: svn://10.0.0.236/trunk@107058 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 04:00:27 +00:00
kmcclusk%netscape.com
b2b179a8ba fix crash by removing DisplayZTreeNode's from the mMapPlaceholderViewToZTreeNode hashtable in DestroyZTreeNode. bug 78661. r=roc+moz sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@107057 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 03:59:28 +00:00
kmcclusk%netscape.com
c06f67e167 Wrap nsViewManager::ShowDisplayList in DEBUG #ifdef to reduce footprint a bit. bug 78661. r=karnaze sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@107056 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 03:53:22 +00:00
jpierre%netscape.com
01b9542be6 One more fix for 105271
git-svn-id: svn://10.0.0.236/trunk@107054 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 03:37:41 +00:00
loadrunner%betak.net
83765274c8 bug 103941, Unable to change utf-8 charset on the NS pb page, r=yokoyama, sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@107053 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 03:32:23 +00:00
loadrunner%betak.net
e8e956c67e bug 64146, Delay nsCharsetMenu initialization to avoid consuming ~2% of startup time, r=dp, sr=brendan, alecf
git-svn-id: svn://10.0.0.236/trunk@107052 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 03:29:30 +00:00
jpierre%netscape.com
8fbd37b3c5 Partial fix for 105271
git-svn-id: svn://10.0.0.236/trunk@107051 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 03:11:32 +00:00
jpierre%netscape.com
4ce6e3777c Fix for OS/2 build
git-svn-id: svn://10.0.0.236/trunk@107050 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 03:10:29 +00:00
cavin%netscape.com
d3c128006e Bug #101480: In ParseListOfMessageIds(), set 'm_fetchPartsOnDemand'
to true if we're asking for body only. r=sspitzer, sr=mscott.


git-svn-id: svn://10.0.0.236/trunk@107049 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 03:09:38 +00:00
pchen%netscape.com
e878fec99a 81762, r=jag, sr=sfraser, remove uses of nsCRT::strlen() with testing for null and non-empty string, also use IsEmpty() for nsXPIDLCStrings
git-svn-id: svn://10.0.0.236/trunk@107048 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 02:55:59 +00:00
pchen%netscape.com
28643e60a9 81762, r=jag, sr=sfraser, remove uses of PL_strlen with testing for null and non-empty string, also change const char* to static const char[] so that we can use sizeof-1 instead of PL_strlen
git-svn-id: svn://10.0.0.236/trunk@107047 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 02:55:56 +00:00
pchen%netscape.com
72681d9d8a 81762, r=jag, sr=sfraser, remove uses of PL_strlen with testing for null and non-empty string
git-svn-id: svn://10.0.0.236/trunk@107046 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 02:55:51 +00:00
jpierre%netscape.com
d04d25f44d Enable debug info in ASM code on OS/2
git-svn-id: svn://10.0.0.236/trunk@107045 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 02:41:33 +00:00
javi%netscape.com
de750414ad NOT PART OF BUILD
The project file that was previously checked in was somehow corrupted.
Updating to version on tip of OTIS_TEST_BRANCH

NOT PART OF BUILD


git-svn-id: svn://10.0.0.236/trunk@107044 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 02:22:04 +00:00
bzbarsky%mit.edu
357b320b0b Add a pref (layout.frames.force_resizability) to force frames to be
resizable.  Bug 105797, r=hyatt, sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@107043 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 02:19:49 +00:00
pschwartau%netscape.com
8bb6615f5a Improving readability.
git-svn-id: svn://10.0.0.236/trunk@107042 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 02:17:57 +00:00
nhotta%netscape.com
3bce18c334 Fixed a problem of a charset attribute for Script element is ignored,
request->mElement->GetCharset(charset) succeeded but the returned value 'charset' was ignored, fixed that problem,
bug 106360, r=ftang, sr=jst.


git-svn-id: svn://10.0.0.236/trunk@107041 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 02:07:08 +00:00
pschwartau%netscape.com
2e2a0c6b28 Initial add. Regression test for bug 107771.
git-svn-id: svn://10.0.0.236/trunk@107040 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 02:06:54 +00:00
jj%netscape.com
9df3922f7f fix for bug #106566: updated 'vers' 2 resource to 0.9.5+ (installer)
git-svn-id: svn://10.0.0.236/trunk@107039 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 02:00:16 +00:00
mscott%netscape.com
9ef7753eb0 NOT PART OF THE BUILD
new files for 106507

NOT PART OF THE BUILD


git-svn-id: svn://10.0.0.236/trunk@107038 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 01:59:55 +00:00
av%netscape.com
db71e9c87f Bug 96245 -- xp'zation of dir separator symbol in the spy plugin, not part of the build
git-svn-id: svn://10.0.0.236/trunk@107037 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 01:58:46 +00:00
jst%netscape.com
3aa44affb3 Fixing bug 35294. Speeding up insertion of (specifically appending) document fragments to an element. r=rjesup@wgate.com, sicking@bigfoot.com, sr=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@107036 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 01:55:49 +00:00
hyatt%netscape.com
01ac323a9f added files: mozilla/content/xbl/src/nsXBLContentSink.cpp, mozilla/content/xbl/src/nsXBLDocumentInfo.cpp
git-svn-id: svn://10.0.0.236/trunk@107035 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 01:54:58 +00:00
hyatt%netscape.com
0c09d8b4ed added files: mozilla/content/shared/src/nsXBLAtoms.cpp
git-svn-id: svn://10.0.0.236/trunk@107034 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 01:54:06 +00:00
hyatt%netscape.com
3646e122c1 Fix for 106153, avoid building a content model for XBL event handlers, r=bryner, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@107033 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 01:53:13 +00:00
waterson%netscape.com
95c15b741f Changes for the page loader test. r=mcafee
git-svn-id: svn://10.0.0.236/trunk@107032 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 01:35:13 +00:00
alecf%netscape.com
3179e52fd7 fix - why doesn't outlook build on my machine?
git-svn-id: svn://10.0.0.236/trunk@107031 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 01:03:07 +00:00
rangansen%netscape.com
0fc1cdbf40 Bug# 101760 ; r=javi ; sr = hewitt ; fixing window sizing issue
git-svn-id: svn://10.0.0.236/trunk@107030 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 00:34:15 +00:00
ddrinan%netscape.com
d7d2ef3a82 Bug 107375 - update localVersion to 0.9.6. r=jbetak, sr=dveditz
git-svn-id: svn://10.0.0.236/trunk@107029 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 00:27:05 +00:00
rangansen%netscape.com
155f4be4c1 Bug# 94203 ; r=javi ; sr = hewitt disabling backup all button when there is no cert
git-svn-id: svn://10.0.0.236/trunk@107028 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 00:25:02 +00:00
alecf%netscape.com
144ea77c58 argh, this was left over cruft from my tree
git-svn-id: svn://10.0.0.236/trunk@107027 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 00:17:29 +00:00
sspitzer%netscape.com
e53b3e1168 "Ingore Thread" mnemonic is "I", not "K". r/sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@107026 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 00:16:07 +00:00
ddrinan%netscape.com
ed895f9c12 Fix for decoding sequences. This was encountered when decoding the recipient info of a CMS strucure. Only the first recipient info was decoded, the others were not. Checkin approved by relyea
git-svn-id: svn://10.0.0.236/trunk@107025 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 00:10:55 +00:00
ddrinan%netscape.com
3f65823aa2 Allocate memory when setting digest vale. Checkin approved by relyea
git-svn-id: svn://10.0.0.236/trunk@107024 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 00:03:32 +00:00
blizzard%redhat.com
d5a6fdc729 Update patches to keep up with the trunk. Add patch for Red Hat 7.2 that will get postscript printing working with CJK locales. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@107023 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-02 00:00:36 +00:00
alecf%netscape.com
a7f0e54b8f *sigh* - I keep forgetting to pre-land these files. Someone shoot me. I'm sorry!
move to NS_LITERAL_STRING


git-svn-id: svn://10.0.0.236/trunk@107022 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 23:55:56 +00:00
despotdaemon%netscape.com
f53d62528c Pseudo-automatic update of changes made by bhart00@yahoo.com.
git-svn-id: svn://10.0.0.236/trunk@107021 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 23:55:07 +00:00
mkaply%us.ibm.com
628682adfe #102457
r=pedemont, sr=blizzard
Bulletproof OS Uconv code and default to 932 for Japanese rendering


git-svn-id: svn://10.0.0.236/trunk@107020 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 23:51:15 +00:00
dougt%netscape.com
6fa08f8d4d removing appshell from xpcom. 96524. r=valeski@netscape.com, sr=jband@netscape.com
git-svn-id: svn://10.0.0.236/trunk@107019 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 23:45:04 +00:00
sspitzer%netscape.com
f75352bafa fix for performance bug #108038, suppressing / skipping command updating when possible in the compose window.
fix for performance bug #98657, we don't need the composerSaveMenuItems command set (which get overlay from editor)
we do our own save foo.
r=varada, sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@107018 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 23:41:22 +00:00
alecf%netscape.com
9dcee8fc46 yank a bunch of junk from tests
r=jag, sr=scc


git-svn-id: svn://10.0.0.236/trunk@107017 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 23:40:10 +00:00
sonja.mirtitsch%sun.com
9e9cbbb7df removed killing of leftover selfservers, since multiple QAs need to
peacefully coexist... will file enhancement request against myself


git-svn-id: svn://10.0.0.236/trunk@107015 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 23:37:36 +00:00
javi%netscape.com
c88a37da60 Fix objdir builds.
NOT PART OF BUILD.


git-svn-id: svn://10.0.0.236/trunk@107014 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 23:18:36 +00:00
alecf%netscape.com
9cd6323563 fix unix bustage.. I can't keep up... :(
git-svn-id: svn://10.0.0.236/trunk@107013 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 23:15:15 +00:00
blakeross%telocity.com
aef3534707 update ui appropriately for helper apps (96939). r=hewitt sr=ben
git-svn-id: svn://10.0.0.236/trunk@107012 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 23:03:37 +00:00
leaf%mozilla.org
b9be88e724 Automated update
git-svn-id: svn://10.0.0.236/trunk@107011 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:58:12 +00:00
seawood%netscape.com
f8190d03e6 Do not set either of the logrefcnt defines unless given a specific --enable-logrefcnt option.
Bug #108044


git-svn-id: svn://10.0.0.236/trunk@107010 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:55:43 +00:00
alecf%netscape.com
c27b9240de bug 76944 - lazy loading of string bundles.
While I'm there, do massive cleanup of string usage to avoid excess copying
also remove ns*AcceptLang on recommendation of tao
r=tao, sr=dveditz


git-svn-id: svn://10.0.0.236/trunk@107009 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:46:39 +00:00
hwaara%chello.se
7a97207ee0 #40033, Pressing on a "news:" link should ask to add to newsgroup.
r=sspitzer, sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@107008 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:44:40 +00:00
sonja.mirtitsch%sun.com
e47248081b removed the "missing list" for tinderbox QA
git-svn-id: svn://10.0.0.236/trunk@107007 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:43:55 +00:00
leaf%mozilla.org
82e224d915 Automated update
git-svn-id: svn://10.0.0.236/trunk@107006 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:43:15 +00:00
alecf%netscape.com
6dd21662ef fix for bug 76944 - cleanup as a result of string bundle cleanup
r=tao, sr=dveditz


git-svn-id: svn://10.0.0.236/trunk@107005 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:42:28 +00:00
alecf%netscape.com
32ae7fff08 remove all unicharutil dependencies from xpcom (finally!)
bug 100214, r=jag, sr=scc


git-svn-id: svn://10.0.0.236/trunk@107004 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:40:03 +00:00
sonja.mirtitsch%sun.com
448889f5fc added -p port argument, so multiple tinderboxes can run on the same machine
git-svn-id: svn://10.0.0.236/trunk@107003 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:36:03 +00:00
bryner%netscape.com
baca245de6 Bug 107823 -- rename nsIFile lastModificationDate to lastModificationTime. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@107002 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:35:59 +00:00
mscott%netscape.com
b0a1ab6042 NOT PART OF THE BUILD
Adding new smime extension files.
NOT PART OF THE BUILD


git-svn-id: svn://10.0.0.236/trunk@107001 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:35:58 +00:00
wtc%netscape.com
a57b634175 Bugzilla bug 99072: fixed the bug that CPU_ARCH was always set to x86.
The patch was submitted by taya@netbsd.org (Shin'ichiro TAYA), edited
by wtc, and reviewed by cls.


git-svn-id: svn://10.0.0.236/trunk@107000 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:35:48 +00:00
akkana%netscape.com
11ad61a35d 106111: heed --enable-plaintext-editor-only for editor build.
r=cls sr=kin


git-svn-id: svn://10.0.0.236/trunk@106998 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:29:13 +00:00
seawood%netscape.com
ae70b73a4e Removing obsolete xslt makefile
git-svn-id: svn://10.0.0.236/trunk@106997 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:24:35 +00:00
bryner%netscape.com
f77980de82 Correcting the description of the third argument to NS_QuickSort. r=dbaron.
git-svn-id: svn://10.0.0.236/trunk@106996 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:21:34 +00:00
radha%netscape.com
adc5d6c010 Fix for bug # 103850. DocShell sets wrong cache key while loading pages with postdata. r=adamlock sr=darin
CVS: ----------------------------------------------------------------------


git-svn-id: svn://10.0.0.236/trunk@106995 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:21:31 +00:00
dougt%netscape.com
dd64c90d92 conditionally create nsIChromeRegistry. b=107346. r=dp@netscape.com, sr=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106993 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:18:22 +00:00
yokoyama%netscape.com
6d0ee0a53f Bug 104305
Convert the cmdline Profile name from
platform charset to Unicode instead of calling
AssignWithConversion()
/r=ccarlen, /sr=brendan


git-svn-id: svn://10.0.0.236/trunk@106992 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:17:10 +00:00
dougt%netscape.com
6b0afcb82a Fix for 104962. Using faster win api SHGetSpecialFolderPath. r=dveditz@netscape.com, sr=jband@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106991 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:16:56 +00:00
locka%iol.ie
1b28bb88de NOT PART OF BUILD. Add code to _OpenURL() to turn relative links into absolute ones for correct loading, using the base address of the browser. Patch provided by mirko@czesla.de. Thanks Mirko!
git-svn-id: svn://10.0.0.236/trunk@106990 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:15:34 +00:00
mscott%netscape.com
4c100f311c NOT PART OF THE BUILD.
Adding the new extensions/smime directory. Bug #106507

NOT PART OF THE BUILD


git-svn-id: svn://10.0.0.236/trunk@106989 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 22:14:28 +00:00
bryner%netscape.com
f92d11ff55 Fixing out param on QueryElementAt to be casted to (void**). Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@106983 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 20:28:20 +00:00
bryner%netscape.com
c92903067f Fixing several problems/optimizations that jag pointed out. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@106982 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 20:21:22 +00:00
harishd%netscape.com
887aaf1681 107994 - Backing out rpotts change ( bug 102737 ) to fix the smoketest blocker.
git-svn-id: svn://10.0.0.236/trunk@106981 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 19:40:48 +00:00
locka%iol.ie
2c64cf7242 Missing backslash causing build bustage on some ports platforms. r=brade@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106977 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 17:23:22 +00:00
brade%netscape.com
efde90d683 fix build bustage from #104883; r=adamlock/jag
git-svn-id: svn://10.0.0.236/trunk@106975 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 17:00:41 +00:00
karnaze%netscape.com
5d4ad94e7c fix crash in display reflow debugging.
git-svn-id: svn://10.0.0.236/trunk@106973 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:53:57 +00:00
dbradley%netscape.com
636bf8b5b0 Bug 83426 - Remove DOM exception hack. r=jst, r=dbradley, sr=jband
git-svn-id: svn://10.0.0.236/trunk@106972 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:52:53 +00:00
brade%netscape.com
3fd06aabc5 (not yet part of the build); add nsICODecoder.cpp for hyatt/biesi (bug #18502)
git-svn-id: svn://10.0.0.236/trunk@106970 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:46:10 +00:00
rjesup%wgate.com
ba5d380603 Bug 106509: SaveSelection() doesn't delete entries from range correctly;
the test was backwards and never executed.  r=jfrancis, sr=kin


git-svn-id: svn://10.0.0.236/trunk@106969 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:44:26 +00:00
ccarlen%netscape.com
c11a56bbb0 Bug 89465 - Infinite loop in PL_HashTableEnumerateEntries. Added code to use PL_HashTableLookupConst when enumerating the hash table. r=bnesse/sr=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@106968 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:41:53 +00:00
karnaze%netscape.com
b1771999ca bug 105166 - split images (except for image contro frames), round pixels down for printing. sr=attinasi,kin r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@106966 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:31:13 +00:00
brade%netscape.com
74f5fa0887 nsIFile->nsIURI in nsIDiskDocument; fix SaveDocument api (bug #104883)
git-svn-id: svn://10.0.0.236/trunk@106965 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:27:38 +00:00
brade%netscape.com
9b3010eb38 nsIFile->nsIURI in SaveDocument api (bug #104883)
git-svn-id: svn://10.0.0.236/trunk@106964 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:26:34 +00:00
brade%netscape.com
a56a9f16b8 factoring of SaveDocument and nsIFile->nsIURI (bug #104883)
git-svn-id: svn://10.0.0.236/trunk@106963 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:26:33 +00:00
brade%netscape.com
642c74ee59 nsIFile->nsIURI for SaveDocument; factoring of SaveDocument (bug #104883)
git-svn-id: svn://10.0.0.236/trunk@106962 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:26:28 +00:00
brade%netscape.com
1d3d0625bd remove fileSpec, remove tabs, and change api to use nsIURI instead of nsIFile (bug #104883)
git-svn-id: svn://10.0.0.236/trunk@106961 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:26:27 +00:00
brade%netscape.com
791621834d change mFileSpec to mDocumentURI (nsIURI) for bug #104883
git-svn-id: svn://10.0.0.236/trunk@106960 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:26:19 +00:00
brade%netscape.com
84c23e017d remove InitDiskDocument since it's no longer part of nsIDiskDocument.idl, change from nsIFile to nsIURI for SaveFile method (bug #104883)
git-svn-id: svn://10.0.0.236/trunk@106959 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:26:16 +00:00
brade%netscape.com
1a487c66d6 nsIFile->nsIURI in nsIDiskDocument r=adamlock (bug #104883)
git-svn-id: svn://10.0.0.236/trunk@106958 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:25:53 +00:00
brade%netscape.com
18ad0f0e55 nsIFile->nsIURI in nsIDiskDocument shows missing #include; now added (bug #104883)
git-svn-id: svn://10.0.0.236/trunk@106957 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:22:10 +00:00
brade%netscape.com
f7cc2deb3c add necko requires (makefile.win already has this); bug #104883
git-svn-id: svn://10.0.0.236/trunk@106956 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:09:56 +00:00
locka%iol.ie
23873585f0 Move webbrowserpersist code to components/ directory. b=106554 r=brade@netscape.com sr=sfraser@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106955 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 15:02:13 +00:00
locka%iol.ie
7e5625d2eb Mac changes to move webbrowserpersist object to components/ b=106554 r=brade@netscape.com sr=sfraser@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106954 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 14:41:02 +00:00
locka%iol.ie
78757538a1 Unix makefile changes to move webbrowserpersist to components/ b=106554 r=brade@netscape.com sr=sfraser@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106953 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 14:39:53 +00:00
locka%iol.ie
43ef9be61e Move webbrowserpersist code to components/ directory. b=106554 r=brade@netscape.com sr=sfraser@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106952 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 14:39:26 +00:00
sicking%bigfoot.com
a6127eabfa Move document-order logic from DOMHelper to the Nodes. Kill the DOMHelper class since it's no longer needed.
Also fix an off-by-one error in the documentorder sorting routine.

r=Pike, peterv sr=jst


git-svn-id: svn://10.0.0.236/trunk@106951 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 14:32:14 +00:00
brade%netscape.com
8540d3e788 remove DOMHelper.cpp for sicking (bug #94471)
git-svn-id: svn://10.0.0.236/trunk@106950 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 14:31:46 +00:00
locka%iol.ie
ccd6837018 Move webbrowserpersist code to components/ directory. b=106554 r=brade@netscape.com sr=sfraser@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106949 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 11:51:20 +00:00
locka%iol.ie
ffcd4bea83 Move webbrowserpersist code to components/ directory. b=106554 r=brade@netscape.com sr=sfraser@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106948 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 11:47:05 +00:00
sspitzer%netscape.com
d8d7ed4835 fix for #105835, move rules for empty tree twisties into tree.css, like in modern.
clean up and optimize the address book css. remove obsolete files
sr=hewitt, r/sr=bienvenu.


git-svn-id: svn://10.0.0.236/trunk@106947 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 09:10:45 +00:00
jaggernaut%netscape.com
640c7f02ab Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106946 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 09:09:57 +00:00
jaggernaut%netscape.com
4adbb712fc Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106945 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 08:47:44 +00:00
sspitzer%netscape.com
c8682236ef supplimental fix for #106507. we should not fail to send if the S/MIME extension is not
available.  r/sr=mscott


git-svn-id: svn://10.0.0.236/trunk@106944 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 08:36:23 +00:00
hyatt%netscape.com
edd388a429 Remove the wasteful undetermined mode from the browser progress meter. r=jag, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@106943 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 08:25:31 +00:00
sspitzer%netscape.com
ba0670094f fix for correctness bug #107865. location showing up in label column in search results.
r/sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@106942 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 08:18:32 +00:00
bryner%netscape.com
d59f059853 Adding new files for C++ rewrite of filepicker. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@106941 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 07:54:40 +00:00
sspitzer%netscape.com
d88afa5206 fix for crasher bug #107797. my old stand by when I can reproduce a bug:
bullet proof (to prevent the crash) and assert (so if it happens again to
someone with a debug build), we can debug it.
r/sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@106940 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 07:45:59 +00:00
seawood%netscape.com
0542162dad Removing obsolete MOZ_MONOLITHIC_TOOLKIT code.
git-svn-id: svn://10.0.0.236/trunk@106939 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 07:31:42 +00:00
aaronl%netscape.com
539f2b6e44 Bug 107703. Fixes some of the crashes in DOM inspector. r=timeless, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@106938 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 07:28:10 +00:00
sspitzer%netscape.com
28e8bb7bd5 checkin for mscott.
git-svn-id: svn://10.0.0.236/trunk@106937 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 07:01:22 +00:00
mscott%netscape.com
db645d2bf6 Backing out a corrupt mac project i think i checked in.
git-svn-id: svn://10.0.0.236/trunk@106936 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 06:58:37 +00:00
mscott%netscape.com
add14a798a Bug #106507 --> add an abstract interface for crypto modules to hook into the sending
of a message.Store an opaque nsISupports reference on nsIMsgComposefields which can be used by
extensions to mailnews to store security information for a send transaction.
r=ducarroz
sr=sspitzer

DAMM MISSed a file


git-svn-id: svn://10.0.0.236/trunk@106935 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 06:49:44 +00:00
wtc%netscape.com
a9af03654b Bugzilla bug 78978: removed obsolete files .cshrc and .profile.
git-svn-id: svn://10.0.0.236/trunk@106934 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 06:40:05 +00:00
mscott%netscape.com
a7804050ac Bug #106507 --> add an abstract interface for crypto modules to hook into the sending
of a message.Store an opaque nsISupports reference on nsIMsgComposefields which can be used by
extensions to mailnews to store security information for a send transaction.
r=ducarroz
sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106933 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 06:30:43 +00:00
mscott%netscape.com
c69463cb38 Bug #106507 --> add an abstract interface for crypto modules to hook into the sending
of a message.
r=ducarroz
sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106932 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 06:27:04 +00:00
mkaply%us.ibm.com
a5c93a02d6 #88100
r=simon@softel.co.il, sr=blizzard
Hookup Bidi preferences


git-svn-id: svn://10.0.0.236/trunk@106931 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 05:49:45 +00:00
mkaply%us.ibm.com
9c733170f9 #88100
r=simon@softel.co.il, sr=blizzard
Hookup Bidi preferences


git-svn-id: svn://10.0.0.236/trunk@106930 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 05:40:35 +00:00
mkaply%us.ibm.com
3ded5a8fee #95860
r=timeless, sr=blizzard
Add x-mac-hebrew and x-mac-arabic to charset lists so they actually work


git-svn-id: svn://10.0.0.236/trunk@106929 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 05:25:43 +00:00
wtc%netscape.com
d6e75ebac0 Bugzilla bug 103933: loader.c should not be compiled with -xchip=ultra2.
r=nelsonb.


git-svn-id: svn://10.0.0.236/trunk@106928 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 05:25:31 +00:00
jband%netscape.com
3b3d9f5aaf fixing warnings from recent landing and uncommenting test cases I did not mean to comment out for the checkin
git-svn-id: svn://10.0.0.236/trunk@106926 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 05:18:35 +00:00
darin%netscape.com
ebd4cb4576 fixes Darwin mach-o bustage (r=jband)
git-svn-id: svn://10.0.0.236/trunk@106925 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 05:06:41 +00:00
dbradley%netscape.com
acb500fb15 Bug 101696 - interface with no uuid shouldn't parse. Patch adds a warning, does not prohibit it, and cleans up interfaces that are missing id's r=rginda, sr=jband
git-svn-id: svn://10.0.0.236/trunk@106924 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 05:04:35 +00:00
cmanske%netscape.com
6c571e4756 Fixed error message when empty row or col input in Table Properties dialog, b=99306, r=akkana, sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@106923 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 04:59:34 +00:00
jst%netscape.com
8360b93aa5 Fixing bug 103904. Don't let pref change callbacks run wild on documents that are partially torn down already. r=bzbarsky@mit.edu, sr=rpotts@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106922 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 04:42:57 +00:00
jband%netscape.com
e65e0f6378 file had no newline at EOF. rs=jband
git-svn-id: svn://10.0.0.236/trunk@106921 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 04:42:19 +00:00
sspitzer%netscape.com
0492db1f5f supplimental fix for #102180. when closing the stand alone message window, we were
not unregistering the folder listener from the mail session, because the unload handler
was failing.  it was failing because GetSearchSession() has a js error, because
for the stand alone msg window, gSearchSession is undefined.  r/sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@106920 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 04:41:45 +00:00
karnaze%netscape.com
c0b185a870 bug 106158 - changed outer table fix up of nested inner table's computed width to consider if the min width fits.
removed tree specific code. sr=waterson, r=alexsavulov.


git-svn-id: svn://10.0.0.236/trunk@106919 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 04:17:30 +00:00
sspitzer%netscape.com
82db581e68 fix for performance bug #107481 (reduce mail-toolbar command updating)
fix for bug #102180 (close std alone msg window on delete if no more messages
in the folder).  also, fix spelling mistake, "supress" -> "suppress"
r=cavin, sr=bienvenu.


git-svn-id: svn://10.0.0.236/trunk@106918 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 04:05:41 +00:00
tao%netscape.com
2a916db5f1 107375: localeVersion 0.9.5 -> 0.9.6 (one more to go..)
git-svn-id: svn://10.0.0.236/trunk@106917 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 03:32:11 +00:00
brendan%mozilla.org
bd7ff6eb3b Fix nul-termination assumption hidden in lastIndexOf, broken by dependent strings fix for bug 56940 (107771, r=jag, sr=waterson).
git-svn-id: svn://10.0.0.236/trunk@106916 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 03:19:54 +00:00
jband%netscape.com
958b4e78e0 fix Mac bustage. I can't believe the Mac can't do this conversion without a cast!
git-svn-id: svn://10.0.0.236/trunk@106914 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 02:36:19 +00:00
mcafee%netscape.com
6675939165 Adding --start-module=module functionality. Grouped some code into functions. Moved main to the bottom. TrueType for linux comment.
git-svn-id: svn://10.0.0.236/trunk@106912 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 02:14:08 +00:00
jband%netscape.com
90b4a66a35 added files: mozilla/xpcom/ds/nsIPropertyBag.idl
git-svn-id: svn://10.0.0.236/trunk@106911 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 02:10:24 +00:00
jband%netscape.com
837a2c44eb ack! forgot one .idl file. Fix Mac bustage
git-svn-id: svn://10.0.0.236/trunk@106910 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 02:08:41 +00:00
jband%netscape.com
1c7f2a930e the HP compiler says that anonymous unions can't even have structs. So the union must be named. Fixing that bustage
git-svn-id: svn://10.0.0.236/trunk@106909 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 01:45:48 +00:00
jband%netscape.com
4246348236 fix Mac bustage (I hope). I think these names conflicted with other names
git-svn-id: svn://10.0.0.236/trunk@106908 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 01:15:53 +00:00
tao%netscape.com
9e7dcf2046 107375: localeVesion update: 0.9.4 -> 0.9.6 in the trunk.
(r=jbetak,sr=dveditz)


git-svn-id: svn://10.0.0.236/trunk@106907 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 01:11:57 +00:00
jst%netscape.com
639d748f26 Fixing bustage, this was lost in a patch...
git-svn-id: svn://10.0.0.236/trunk@106906 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:58:28 +00:00
leaf%mozilla.org
b8c8c7e3ad Automated update
git-svn-id: svn://10.0.0.236/trunk@106905 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:58:17 +00:00
seawood%netscape.com
acaf3004b5 Since '-framework Carbon' causes binaries to require console access to run, do not link using that flag by default. Otherwise, remote builds & non-console tinderboxes will break. Mac OSX Mach-O only.
Bug #107696 r=mozbot


git-svn-id: svn://10.0.0.236/trunk@106904 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:54:48 +00:00
jband%netscape.com
08cbbc76c9 fix bustage on compilers that don't like anonymouse structs in unions. who knew? sr=jst
git-svn-id: svn://10.0.0.236/trunk@106899 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:34:29 +00:00
sfraser%netscape.com
e8b50626a8 Adding strtok.c per bug 106372
git-svn-id: svn://10.0.0.236/trunk@106896 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:28:57 +00:00
bienvenu%netscape.com
8596b9672b better fix for problem reading imap messages with inline images 107436 r=jag, sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@106895 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:21:24 +00:00
bstell%netscape.com
50eb9d5753 checkin for fcrozat@mandrakesoft.com
bug 102516 recognize @euro locales
r=bstell@netscape.com, sr=blizzard


git-svn-id: svn://10.0.0.236/trunk@106894 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:21:01 +00:00
tor%cs.brown.edu
36289df1e0 Update to libmng 1.0.3. rs=blizzard
git-svn-id: svn://10.0.0.236/trunk@106893 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:19:53 +00:00
bienvenu%netscape.com
dbfea3bd03 fix toolbar flashing on deleting messages r=cavin, sr=sspitzer 100802
git-svn-id: svn://10.0.0.236/trunk@106892 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:19:46 +00:00
tor%cs.brown.edu
b82b10fcfc Update to tip. Not in build.
git-svn-id: svn://10.0.0.236/trunk@106891 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:18:39 +00:00
tor%cs.brown.edu
e1162335c3 Bug 64188 - don't round-trip the server for each tile when tiling an
8-bit alpha image.  r=rjesup, sr=blizzard


git-svn-id: svn://10.0.0.236/trunk@106890 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:15:46 +00:00
morse%netscape.com
6a0f7f2d85 bug 92398, minor wording changes, c=gemal, r=morse, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@106888 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:14:00 +00:00
pete%alphanumerica.com
3c4492f3e0 b=107823, r=ccarlen, sr=brendan
--pete


git-svn-id: svn://10.0.0.236/trunk@106886 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:11:15 +00:00
bnesse%netscape.com
63115dde46 Fix for bug 107798. Misc source cleanup and JS strict warning removal. r=sgehani, sr=alecf.
git-svn-id: svn://10.0.0.236/trunk@106885 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:07:06 +00:00
pavlov%netscape.com
6d74812810 fixing bug 107106 r=valeski sr=jst
git-svn-id: svn://10.0.0.236/trunk@106884 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:05:19 +00:00
wtc%netscape.com
81300aad37 Use PL_strcmp instead of strcmp to avoid having to include <string.h>.
git-svn-id: svn://10.0.0.236/trunk@106880 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-01 00:02:16 +00:00
jst%netscape.com
8d2569a64b Fixing topembed bug 106105. Clear our document.body cache when resetting a document, and make sure the right things are flushed when position and size related properties are accessed. r=heikki@netscape.com, sr=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106875 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:52:52 +00:00
gagan%netscape.com
86e1f7ce7b Fix for bug 100595. Resetting cursor after buffer has been prepended with the boundary string. r/sr=darin/dougt
git-svn-id: svn://10.0.0.236/trunk@106874 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:51:38 +00:00
wtc%netscape.com
8e384b8dbf Added lib/tests/Makefile to the list of makefiles to be generated by
configure.
Modified files: configure configure.in
Bugzilla bug 106372: added new function PL_strtok_r.  The function was
implemented by Roland Mainz <Roland.Mainz@informatik.med.uni-giessen.de>.
Modified files: lib/libc/include/plstr.h lib/libc/src/Makefile.in
    lib/tests/string.c
Added file: lib/libc/src/strtok.c


git-svn-id: svn://10.0.0.236/trunk@106872 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:49:52 +00:00
alecf%netscape.com
1115fa5f28 bug 100113, r=jag, sr=blizzard - remove some dumb dependencies on dom and gfx
git-svn-id: svn://10.0.0.236/trunk@106871 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:43:27 +00:00
jband%netscape.com
e9cb6fa375 added files: mozilla/js/src/xpconnect/src/xpcvariant.cpp
git-svn-id: svn://10.0.0.236/trunk@106869 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:36:34 +00:00
jband%netscape.com
2b7d2882d3 added files: mozilla/xpcom/ds/nsVariant.cpp
git-svn-id: svn://10.0.0.236/trunk@106868 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:36:08 +00:00
jband%netscape.com
57fc23094c add support for nsIVariant and nsIPropertyBag. bug 44675 and bug 98209. sr=vidur r=dbradley
git-svn-id: svn://10.0.0.236/trunk@106867 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:35:07 +00:00
rginda%netscape.com
01b5c4e4c1 venkman only
expose interface to the initAtStartup setting


git-svn-id: svn://10.0.0.236/trunk@106866 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:33:41 +00:00
sonja.mirtitsch%sun.com
71b3ea6dee removing the starting : fo`rom the SHLIB_PATH to avoid HP coredumps
git-svn-id: svn://10.0.0.236/trunk@106865 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:31:58 +00:00
racham%netscape.com
e0a2a7f645 Fixing bug 107779. This is a regression. Make messagepane link context menu items to work by using the global context menu var. r=ssu,ben sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@106864 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:29:53 +00:00
rginda%netscape.com
b8a26a402b venkman only
freeze stack outliner before restoring state


git-svn-id: svn://10.0.0.236/trunk@106863 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:29:20 +00:00
timeless%mac.com
2626790b7e Bug 102155 - javascript error in contentAreaUtils.js
whitespace fixes only
patch by caillon@returnzero.com r=stephend@netscape.com sr=alecf


git-svn-id: svn://10.0.0.236/trunk@106862 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:29:05 +00:00
bbaetz%cs.mcgill.ca
c3fe6e0f41 Bug 100843 - Add an explicit output filename option (-e) to xpidl
Patch by aegis@aegisknight.org, r=dbradley, sr=scc


git-svn-id: svn://10.0.0.236/trunk@106861 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:28:36 +00:00
jband%netscape.com
28d45091af added files: mozilla/xpcom/ds/nsIVariant.idl
git-svn-id: svn://10.0.0.236/trunk@106860 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:20:27 +00:00
timeless%mac.com
64073fe805 Bug 86217 - javascript strict warnings in sendProgress.js
patch by caillon@returnzero.com r=hwaara,varada sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106859 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:17:44 +00:00
rginda%netscape.com
a1b245255f Bug 104168, "xpcom-autoregistration notification never fires"
r=dougt, sr=brendan
notify category observers when xpcom registration occurs


git-svn-id: svn://10.0.0.236/trunk@106858 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:17:30 +00:00
rpotts%netscape.com
36740b6e82 bug #102737 (r=harishd@netscape.com, sr=jst@netscape.com) do not emit <html> ... </html> for empty text/plain documents.
git-svn-id: svn://10.0.0.236/trunk@106857 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:15:57 +00:00
nhotta%netscape.com
f5793e8c32 Changed MimeMultipart_parse_line for retrieving a charset of the original message,
added a special handling for "multipart/related",
also changed to check number of children first to avoid calling MimeObjectChildIsMessageBody if not needed.
bug 92957, r=ducarrroz, sr=bienvenu.


git-svn-id: svn://10.0.0.236/trunk@106856 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:14:09 +00:00
nhotta%netscape.com
14ce83238c Moved the hard coded reply header strings to pref so they can be editable, bug 70842, r=ducarroz, sr=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@106855 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:13:35 +00:00
rginda%netscape.com
4e00b5d217 bug 99601, don't install xpconnect debugger keyword handler if one is already there, r=jband, sr=brendan
git-svn-id: svn://10.0.0.236/trunk@106854 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 23:13:17 +00:00
rginda%netscape.com
bd4d815147 bug 107421, "--disable-mailnews build broken", r=andreww sr=smfr
comment out reference to chrome://messenger/content/mailOverlay.xul


git-svn-id: svn://10.0.0.236/trunk@106840 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 21:12:08 +00:00
jst%netscape.com
611fab96b0 Fixing blocker bug 107627. Put back the embed elements attribute mapping code that was lost when the embed element was combined with nsHTMLSharedLeafElement.cpp. r=bzbarsky@mit.edu, sr=sfraser@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106839 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 21:03:31 +00:00
relyea%netscape.com
6e5fb40196 Don't crash on SSL2 failures.
git-svn-id: svn://10.0.0.236/trunk@106837 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 20:03:29 +00:00
leaf%mozilla.org
91a693f37f Automated update
git-svn-id: svn://10.0.0.236/trunk@106836 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 19:28:13 +00:00
seawood%netscape.com
ecc465d95d Fixing IRIX bustage cause by grid2 landing (Removing hack from tinderbox)
git-svn-id: svn://10.0.0.236/trunk@106835 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 19:16:30 +00:00
kin%netscape.com
9673ca95ec Backout glazman's fix for bug 107567, pending investigation
on why it causes the tinderbox Leak count to go up.

a=beard@netscape.com,jj@netscape.com


git-svn-id: svn://10.0.0.236/trunk@106834 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 19:03:46 +00:00
glazman%netscape.com
8c9c7abf8d Remove useless mSheetMap table from nsCSSLoader; b=107567, r=peterv,rjesup@wgate.com; sr=kin
git-svn-id: svn://10.0.0.236/trunk@106832 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 15:53:25 +00:00
glazman%netscape.com
833d6a353e call to GetNodesForOperation() in GetAlignment() missed a parameter indicating it should not modify the tree; b=107372, r=brade, sr=kin
git-svn-id: svn://10.0.0.236/trunk@106831 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 15:30:49 +00:00
kin%netscape.com
0faffae415 Fix for bug 103539: Find does not always find strings containing spaces.
and bug 98730: Find/Replace not finding a string with more than one space

  - Reworked the whitespace ignoring code in FindInString() so that it actually
    ignores trailing whitespace and made that code conditional so that it can be
    toggled on and off in the future when the context of the text we are looking
    at is available.

  - We now treat &nbsp; as a space.

r=jfrancis@netscape.com  sr=sfraser@netscape.com


git-svn-id: svn://10.0.0.236/trunk@106830 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 15:19:47 +00:00
mkaply%us.ibm.com
f6af291238 #104874
r=rods, sr=watersin
Patch from simon montagu - cleanup combobox code in Bidi case


git-svn-id: svn://10.0.0.236/trunk@106828 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 14:49:15 +00:00
karnaze%netscape.com
b82075b237 bug 107403 - shannond's patch to cast debug code before deleting to satisfy HP-UX. r=karnaze
git-svn-id: svn://10.0.0.236/trunk@106827 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 14:45:12 +00:00
seawood%netscape.com
ac1a58893c Link libunicharutil_s before xpcom. Blind attempt to fix hpux bustage
git-svn-id: svn://10.0.0.236/trunk@106826 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 10:03:34 +00:00
jst%netscape.com
02e8ea3ff2 Fixing bug 90765. Hold a strong reference to the global object's wrapper to avoid users of that wrapper to cause rooting and unrooting of the global object every time the global object wrapper is addreffed. r=dbaron@fas.harvard.edu, sr=jband@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106824 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 08:39:09 +00:00
brendan%mozilla.org
b27e4fa386 Store FastLoad dependency mtimes, and invalidate if any changes (106021, r=dveditz, sr=shaver).
git-svn-id: svn://10.0.0.236/trunk@106823 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 08:29:25 +00:00
seawood%netscape.com
273df67dca Attempt to fix AIX bustage by linking in smime
git-svn-id: svn://10.0.0.236/trunk@106822 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 08:27:27 +00:00
naving%netscape.com
a054be7f55 107393 r/sr=bienvenu. make minor change to last checkin
git-svn-id: svn://10.0.0.236/trunk@106821 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 06:51:20 +00:00
seawood%netscape.com
9574b14a69 I don't know how this was missed but add nsMacUnicodeFontInfo.cpp to the build.
Should fix OSX macho tinderbox bustage


git-svn-id: svn://10.0.0.236/trunk@106820 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 06:32:04 +00:00
naving%netscape.com
27beaa6be8 107393. r/sr=bienvenu. Make the flag changes in QS view show up when you go back to folder
view.


git-svn-id: svn://10.0.0.236/trunk@106819 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 06:31:33 +00:00
darin%netscape.com
c7306462ea fixes bug 70519 "Select All (+ Copy) does not clobber the X primary selection"
patch=jwbaker@acm.org r=akkana sr=kin


git-svn-id: svn://10.0.0.236/trunk@106818 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 06:14:11 +00:00
aaronl%netscape.com
0c69b5d30d Bug 106533. Active Accessibility: Assert on startup in timer code. r=evaughan, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@106817 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 06:12:39 +00:00
aaronl%netscape.com
7b79d91de9 Bug 107196. Leave empty HTML text nodes and nameless XUL images out of accessible tree. r=evaughan, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@106816 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 06:10:44 +00:00
mkaply%us.ibm.com
e954f26d24 #104792
r=rods, sr==attinasi
patch from simon montagu - hebrew comboboxes go haywire


git-svn-id: svn://10.0.0.236/trunk@106815 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 05:17:34 +00:00
bryner%netscape.com
58bf936788 When creating the root view's widget, don't show it. This prevents full-page Invalidates during page load caused by showing and then hiding the widget. Bug 97895, r=blizzard, sr=hyatt.
git-svn-id: svn://10.0.0.236/trunk@106814 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 05:06:31 +00:00
bryner%netscape.com
d8f860b71e Bug 107500 -- clean up cruft in nsGtkEventHandler. r=jag,pavlov, sr=blizzard.
git-svn-id: svn://10.0.0.236/trunk@106813 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 05:00:17 +00:00
mkaply%us.ibm.com
7b37218070 #97235
r=mkaply,r=maha sr=blizzard
Code from Roozbeh Pournader - get extended Arabic letters to join so Persian works


git-svn-id: svn://10.0.0.236/trunk@106812 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 05:00:06 +00:00
leaf%mozilla.org
1b2e3f3045 Automated update
git-svn-id: svn://10.0.0.236/trunk@106811 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 04:58:14 +00:00
seawood%netscape.com
1def44681a Removing --disable-idlc option. It's a no-op.
Bug #107156


git-svn-id: svn://10.0.0.236/trunk@106810 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 04:55:30 +00:00
bryner%netscape.com
9f640c7836 Debug-only change to print out the img src when the frame tree is dumped. r=pavlov, sr=waterson.
git-svn-id: svn://10.0.0.236/trunk@106808 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 04:43:48 +00:00
tara%tequilarista.org
b0fdab4aac Checking in fix for bug #86920, fix from jake@acutex.net
git-svn-id: svn://10.0.0.236/trunk@106807 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 04:30:33 +00:00
tara%tequilarista.org
20acc203a8 Checking in patch for bug #44641, patch from Ian Wells
git-svn-id: svn://10.0.0.236/trunk@106806 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 04:20:28 +00:00
tara%tequilarista.org
fcdc069ec0 Checking in patch for bug#36597, patch from miri@punknet.cz
git-svn-id: svn://10.0.0.236/trunk@106805 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 04:07:25 +00:00
bienvenu%netscape.com
780270ed60 fix for empty local trash when you've not opened the trash or deleted a message in the session, r=naving, sr=sspitzer 107187
git-svn-id: svn://10.0.0.236/trunk@106804 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 03:56:15 +00:00
mscott%netscape.com
dcde2c8b00 Bug #107608 --> allow generic extensions to account manager,
nsIMsgIdentity and nsIMsgIncomingServer. checking in for Seth.
r=bhuvan
sr=mscott


git-svn-id: svn://10.0.0.236/trunk@106803 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 03:45:24 +00:00
dbaron%fas.harvard.edu
bf5d4ab91a Remove references to nsISimpleEnumerator.h from Makefile.in and MANIFEST as well. b=99136
git-svn-id: svn://10.0.0.236/trunk@106802 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 03:33:12 +00:00
jake%acutex.net
066f569e09 Fixing tinderbox bustage (removing <Tab>s and adding a "use vars" line)
git-svn-id: svn://10.0.0.236/trunk@106800 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 03:31:00 +00:00
javi%netscape.com
ed08a63afb Add the smime source files to the Mac project.
git-svn-id: svn://10.0.0.236/trunk@106799 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 03:24:32 +00:00
mkaply%us.ibm.com
87aa6ece0a #99136
r=dbaron
OS/2 bustage - removing H file that is now generated by IDL


git-svn-id: svn://10.0.0.236/trunk@106797 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 03:17:59 +00:00
brendan%mozilla.org
7c84ad604a Don't try to correct = to == if strict, do it only if downrev (106244, r=jband, sr=shaver).
git-svn-id: svn://10.0.0.236/trunk@106796 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 03:17:00 +00:00
despotdaemon%netscape.com
c7fd19df20 Pseudo-automatic update of changes made by endico@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@106795 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 03:09:28 +00:00
peterv%netscape.com
e5aa9b9c9a Sigh, commit failed. Bustage fix.
git-svn-id: svn://10.0.0.236/trunk@106794 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 03:09:00 +00:00
dbaron%fas.harvard.edu
851c51369f Additional cleanup after bug 56117: prevent :first-letter from leading to style resolution on text nodes and stop all style resolution for placeholder frames (formerly :placeholder-frame pseudo-element) and for text following a :first-line pseudo-element (formerly :-moz-letter-frame pseudo-element). b=107534 r=waterson, attinasi sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@106793 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 02:53:47 +00:00
dbaron%fas.harvard.edu
7115335ed6 Clean up un-needed string copying. r=jag sr=hyatt b=106108
git-svn-id: svn://10.0.0.236/trunk@106789 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 02:46:21 +00:00
pschwartau%netscape.com
974182fbf4 Initial add. Regression test for bug 94257.
git-svn-id: svn://10.0.0.236/trunk@106785 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 02:32:38 +00:00
mkaply%us.ibm.com
8c6d33b3ad HPUX bustage
git-svn-id: svn://10.0.0.236/trunk@106784 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 02:18:43 +00:00
endico%mozilla.org
fa65440ec2 initial checkin
git-svn-id: svn://10.0.0.236/trunk@106783 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 02:08:13 +00:00
sspitzer%netscape.com
3b9c2af032 fix for performance #107481. our FocusRingUpdate_Mail command set updates on
focus changes.  a blur from A to B does this:  sets focused element to null,
sets focused element to B.  by listening to focus, and not dropping null, our js would
update the mail-toolbar twice on a focus change.  now we do it once.

thanks to cavin for finding the problem.

r=cavin, sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@106782 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 02:05:40 +00:00
javi%netscape.com
903bd07e6c Adding new files to the mac project file. Should fix tbox bustage.
git-svn-id: svn://10.0.0.236/trunk@106781 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 02:01:40 +00:00
javi%netscape.com
6acdc56714 Back out ddrinan for now.
git-svn-id: svn://10.0.0.236/trunk@106780 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 01:58:54 +00:00
seawood%netscape.com
b22d1d092d Adding support for obj-c++ (.mm) files.
Thanks to Mike Pinkerton <pinkerton@netscape.com> for the patch.
Bug #107633 r=cls, sr=leaf


git-svn-id: svn://10.0.0.236/trunk@106776 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 01:20:39 +00:00
rbs%maths.uq.edu.au
73446bf2b6 bug 102088 - Cleanup transitory font APIs that were used as a bridge in bug 99010, r=waterson, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@106775 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 01:15:50 +00:00
zach%zachlipton.com
a96de0e001 Have the tests test .pm files as well, yes this creates bustage, this is
intentional!

No review needed for tests at this time.


git-svn-id: svn://10.0.0.236/trunk@106772 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 01:06:31 +00:00
racham%netscape.com
3eddfd72db Fixing addressbook bug 104468. Getting rid of goEditCardDialog routine in the process of fixing context menu items for sidebar addressbook panel. This routine is now placed under abCommon.js. r=ducarroz, sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@106768 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 00:47:58 +00:00
racham%netscape.com
63b589ecd9 Fixing addressbook bugs 102767, 102846, 104468. Fixing the name order problem in the addresbook results pane, making mobile the formal word in place of cellular and add context menu items for sidebar addressbook panel. r=ducarroz, sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@106765 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 00:42:55 +00:00
myk%mozilla.org
b5c6611091 Fix test bustage by removing tabs.
git-svn-id: svn://10.0.0.236/trunk@106762 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 00:21:28 +00:00
leaf%mozilla.org
b0a02e9d68 Automated update
git-svn-id: svn://10.0.0.236/trunk@106759 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 00:13:13 +00:00
bnesse%netscape.com
70427bb367 Fix for bug 106159. Force getComplexValue calls to return string values. r=sgehani, sr=alecf.
git-svn-id: svn://10.0.0.236/trunk@106758 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 00:13:06 +00:00
shanjian%netscape.com
cd89da1f32 #107084 View Character Coding for message display broken
r=nhotta, sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106757 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 00:12:38 +00:00
peterv%netscape.com
803c74667f Fixing bustage.
git-svn-id: svn://10.0.0.236/trunk@106756 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 00:11:57 +00:00
shanjian%netscape.com
4fad3e3ab2 #107514 Regression in the support of Symbol fonts
r=rbs sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@106755 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 00:08:21 +00:00
seawood%netscape.com
f442cf9747 Do not set MOZ_REORDER when giving --enable-reorder if not using GNU ld. The ldscript appears to only work with GNU ld.
Bug #107440


git-svn-id: svn://10.0.0.236/trunk@106752 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-31 00:00:41 +00:00
seawood%netscape.com
90ed8ea567 Replacing File::Basename with custom hack.
Thanks to Joe Hewitt <hewitt@netscape.com> for the patch.
Bug #107474 r=cls


git-svn-id: svn://10.0.0.236/trunk@106750 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 23:57:14 +00:00
nhotta%netscape.com
3351684d08 For unicode conversion, changed to proceed for decoder errors instead of stop the process, bug 103954, r=ftang, sr=jst.
git-svn-id: svn://10.0.0.236/trunk@106749 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 23:53:52 +00:00
ddrinan%netscape.com
bc18e5bd3c Bug 105526 - Initial landing of PSM S/MIME. Mailnews will land separately. See bug 106507 for that. r=javi, sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@106745 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 23:52:01 +00:00
cmanske%netscape.com
c55ae1b15e Remove unused nsNewEditorCommand, b=106728, r=hewitt, sr=kin
git-svn-id: svn://10.0.0.236/trunk@106744 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 23:49:33 +00:00
peterv%netscape.com
4cff2665ad Fix for bug 105808 (We need atomtables for all xslt elements and attributes). r=Pike, sicking, sr=jst.
git-svn-id: svn://10.0.0.236/trunk@106743 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 23:48:37 +00:00
cmanske%netscape.com
ea302ed58d Enable/disable 'Advanced Edit' button the same as 'Ok' button in dialogs. b=102046, r=hewitt, sr=kin
git-svn-id: svn://10.0.0.236/trunk@106741 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 23:46:25 +00:00
myk%mozilla.org
dc4c583cd4 Fix for bug 98602: re-implementation of "create attachment" page.
Patch by Myk Melez <myk@mozilla.org>.
r=gerv@mozilla.org,jake@acutex.net


git-svn-id: svn://10.0.0.236/trunk@106739 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 23:42:22 +00:00
evaughan%netscape.com
6c95010e5f fixes bug#107638
-r jag -sr hyatt


git-svn-id: svn://10.0.0.236/trunk@106738 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 23:41:30 +00:00
cmanske%netscape.com
ac836839de Fixed '% of cell' label in menulist, b=97826; also part of fix to disable Advanced Edit button along with Ok, b=102046; r=hewitt, sr=kin
git-svn-id: svn://10.0.0.236/trunk@106737 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 23:40:02 +00:00
ducarroz%netscape.com
2a09c41059 Fix for bug 86398. Display a different message when we cannot fetch an attachment depending if we are saving or sending the message. R=varada, SR=mscott
git-svn-id: svn://10.0.0.236/trunk@106735 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 23:28:51 +00:00
cmanske%netscape.com
6f8a23045c Fixed setting all attributes on an inserted link, b=97455, r=jfrancis, sr=kin
git-svn-id: svn://10.0.0.236/trunk@106733 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 23:24:44 +00:00
dougt%netscape.com
b3c5359358 107630 Removing C++ cruft from nsIWeakReference.idl. Adding nsIWeakReferenceUtils.h. r=alecf@netscape.com, sr=scc@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@106731 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 23:18:51 +00:00
locka%iol.ie
ca8a7aea9f NOT PART OF BUILD. Fix for memory leak in simple array
git-svn-id: svn://10.0.0.236/trunk@106730 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 23:06:50 +00:00
bnesse%netscape.com
73ff098797 Fix for bug 106941. Convert nsProfile from nsIPref to nsIPrefService/nsIPrefBranch. Checking in for chipc. r=bnesse, sr=alecf.
git-svn-id: svn://10.0.0.236/trunk@106729 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 22:59:12 +00:00
rbs%maths.uq.edu.au
410c9e51f2 bug 102088 - Cleanup transitory font APIs that were used as a bridge in bug 99010, r=waterson, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@106728 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 22:58:00 +00:00
bnesse%netscape.com
1f6755259d Fix for bug 177585. Don't request the observer service when shutting down. r=dougt, sr=alecf.
git-svn-id: svn://10.0.0.236/trunk@106727 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 22:57:44 +00:00
sspitzer%netscape.com
ac0c89244d fix for perf bug #103010. don't persist the "open" state of news servers.
(revert to 4.x behaviour).  persisting the open state of news servers
causes us to update the unread count on news servers if they are "open"
on startup, slowing us down.  r=ssu,varada sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@106726 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 22:57:12 +00:00
ducarroz%netscape.com
31deeb0fff Fix for bug 84081. We need to mark an attachment we cannot fetch as bogus in order to avoid generating an empty part. R=varada, SR=mscott
git-svn-id: svn://10.0.0.236/trunk@106725 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 22:49:50 +00:00
ducarroz%netscape.com
7933420766 Fix for bug 83752. Need to close the progress window is an error occurs during the send. R=varada, SR=bienvenu
git-svn-id: svn://10.0.0.236/trunk@106724 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 22:45:31 +00:00
ducarroz%netscape.com
54f06f2fa6 Fix for bug 83549. Add a new send mode in order to be able to display correct message when an error occurs while sending unsent messages. R=varada, SR=mscott
git-svn-id: svn://10.0.0.236/trunk@106723 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 22:36:57 +00:00
locka%iol.ie
081f664139 NOT PART OF BUILD. First working version of CAB file packaging and signing script, install file and docs.
git-svn-id: svn://10.0.0.236/trunk@106722 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 22:32:27 +00:00
andreas.otte%primus-online.de
24dbd2c12a fix bug 104876 [c:foo wrongly considered valid URL] this fixes a bug
in caching protocol handlers, scheme "c" was mixed up with scheme
"chrome" for example, c=darin@netscape.com, r=rjesup@wgate.com,
sr=dougt@netscape.com


git-svn-id: svn://10.0.0.236/trunk@106721 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 22:20:06 +00:00
dougt%netscape.com
8e551369e9 ugh. I did not mean to commit these changes. Backing out
git-svn-id: svn://10.0.0.236/trunk@106720 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 22:19:32 +00:00
alecf%netscape.com
e17afbe404 add initial files for bug 102043 - not part of build, to be reviewed for that bug
git-svn-id: svn://10.0.0.236/trunk@106719 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 22:17:39 +00:00
colin%theblakes.com
2bb2cc48a5 Turn Java back on by default. b=91271. sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@106718 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 22:14:02 +00:00
ian.mcgreer%sun.com
99366f469d patch to fix behavior on AIX's optimizing compiler. Shoul also improve performance on all platforms.
git-svn-id: svn://10.0.0.236/trunk@106717 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 22:11:49 +00:00
dougt%netscape.com
956ec6e34b Moving nsISimpleEnumerator interface to new idl file. 99136, r=alecf@netscape.com sr=rpotts@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106716 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 22:07:28 +00:00
dougt%netscape.com
3e064cf384 Moving nsISimpleEnumeratory interface into a seperate idl file. bug 99136. r=alecf@netscape.com, sr=rpotts@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106715 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 22:03:05 +00:00
ftang%netscape.com
fad8f3eb7f fix bug 90804. add nsMacUnicodeFontInfo.cpp into the mac sectoin and the nsCompressedCCmap.cpp to the src sectoin r=pinkerton sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@106714 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 21:59:57 +00:00
dougt%netscape.com
55e2803f98 Adding nsISimpleEnumerator.idl to project. 99136. r=alecf, sr=rpotts
git-svn-id: svn://10.0.0.236/trunk@106713 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 21:59:51 +00:00
ftang%netscape.com
5611f75355 fix 90804. enable more char by using atsui. r=pinkerton sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@106710 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 21:50:52 +00:00
ftang%netscape.com
39df769b40 fix bug 90804. r=pinkerton sr=sfraser. enable rendering of more characters by using atsui.
git-svn-id: svn://10.0.0.236/trunk@106709 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 21:50:07 +00:00
morse%netscape.com
ee49d0c6a1 bug 106570, prompt for master password when opening context menu, r=sgehani, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@106708 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 21:48:08 +00:00
mcafee%netscape.com
1a2e1cf413 unhardcoding hostname
git-svn-id: svn://10.0.0.236/trunk@106707 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 21:31:00 +00:00
nelsonb%netscape.com
845d4b22d8 Fix bug 107619. The new DHE_ ciphersuites were enabled by default.
Now they are disabled by default, for compatibility with NSS 2.0.


git-svn-id: svn://10.0.0.236/trunk@106706 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 21:09:47 +00:00
nicolson%netscape.com
35b7fde379 Fix 101609: JSS OSF fails, on the trunk this time.
git-svn-id: svn://10.0.0.236/trunk@106705 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 21:07:51 +00:00
despotdaemon%netscape.com
42a480d172 Pseudo-automatic update of changes made by smeredith@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@106704 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 19:32:58 +00:00
sspitzer%netscape.com
549449ba49 backing out a jag's change. mLength on returnString is not correct, so doing returnString.Length()
cause problems, but strlen() works.  bienvenu's looking into why our string foo is doing that to mLength,
but this gets the tree open. sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@106699 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 18:32:31 +00:00
mkaply%us.ibm.com
611a66c1c4 Stupid OS/2 breakage - bug has been opened with compiler folk
git-svn-id: svn://10.0.0.236/trunk@106697 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 17:39:31 +00:00
ian.mcgreer%sun.com
dce8a3b4fd fixes for testing word alignment
git-svn-id: svn://10.0.0.236/trunk@106696 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 16:03:43 +00:00
bzbarsky%mit.edu
a8a1992e09 Fix strict JS warnings in addressbook. Bug 107538, patch from James
Green <jg@cyberstorm.demon.co.uk>, r=hwaara, sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@106695 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 14:54:04 +00:00
ducarroz%netscape.com
38011f6783 Fix for bug 86089. Replace attachments string in message compose fields by an array of nsIMsgAttachment objects. This architecture change allow us to dissocie the attachment name from the attachment url. We can also now carry over extra information like the attachment content type or Mac file type. This check in contains also fix for related bug 52428, bug 80895, bug 87765 and bug 89090.
R=varada, SR=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106694 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 14:42:41 +00:00
rginda%netscape.com
157fee654b bug 99601, add filter support to js/jsd, r=jband sr=brendan
Use the new filtering api to allow users to safely debug with initAtStartup enabled.  Also adds highlighting to source view, saves stack view state, fixes selection problems in the outliners, cleans up some strict mode issues, and refactors menu and script tags out of venkman.xul


git-svn-id: svn://10.0.0.236/trunk@106693 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 14:27:10 +00:00
hwaara%chello.se
aeee16f55d #107094, "Error: mBlank is not defined".
Patch by Andrews <simm0@ii.net>

r=jag, sr=hyatt


git-svn-id: svn://10.0.0.236/trunk@106692 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 14:24:58 +00:00
nboyd%atg.com
8f7d722e97 Fix bug with test case:
var testArray = new Array(6);
testArray[1+1]+=2;


git-svn-id: svn://10.0.0.236/trunk@106691 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 14:06:58 +00:00
nboyd%atg.com
8d20f58b4f Hello Norris
The following test case case leads to a compilation error in Rhino. In this
script alert is an user defined
function in the global object and it shows the value of the specified
parameter in a popup window. Save the script as a html file and run it under
Netscape and IE. The output via their JS engines is that alert(1)
executes but the execution of line fails as blks variable is undefined. The
Fix bug:

Rhino engine fails at compilation time itself and cannot excute the script.
It doesn't like the syntax of line.


Steven


/// ****************  test case **************    ///
<script>
alert(1);
  blks[ 10 << 2 ] |= true;
  alert(2);
</script>


/// **********************  Error Message ************************** ////
evaluating script: null
java.lang.NullPointerException
  at org.mozilla.javascript.Interpreter.generateICode(Compiled Code)
  at org.mozilla.javascript.Interpreter.generateICode(Compiled Code)
  at org.mozilla.javascript.Interpreter.generateICode(Compiled Code)
  at org.mozilla.javascript.Interpreter.generateICode(Compiled Code)
  at org.mozilla.javascript.Interpreter.generateICode(Compiled Code)
  at org.mozilla.javascript.Interpreter.generateICodeFromTree(Compiled Code)
  at
org.mozilla.javascript.Interpreter.generateScriptICode(Interpreter.java)
  at org.mozilla.javascript.Interpreter.compile(Interpreter.java)
  at org.mozilla.javascript.Context.compile(Context.java)
  at org.mozilla.javascript.Context.compile(Context.java)


git-svn-id: svn://10.0.0.236/trunk@106690 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 13:55:26 +00:00
rginda%netscape.com
9dffd404bd bug 99601, add filter support to js/jsd, r=jband sr=brendan
large addition to the jsd_xpc component allows arbitrary filtering of debug hooks by url pattern, line range, and global object.  also adds ability to begin instrumenting jsscripts at app startup.


git-svn-id: svn://10.0.0.236/trunk@106689 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 13:41:32 +00:00
nboyd%atg.com
487a8a8072 Patch from Igor:
I must admit this is very subtitle, but still...

Here are the lines from
    public void defineProperty(String propertyName, Object delegateTo,
                               Method getter, Method setter, int attributes)


        GetterSlot slot = (GetterSlot)getSlotToSet(propertyName,
                                                   propertyName.hashCode(),
                                                   true);
        slot.delegateTo = delegateTo;
        slot.getter = getter;
        slot.setter = setter;
        slot.setterReturnsValue = setter != null && setter.getReturnType() != Void.TYPE;
        slot.value = null;
        slot.attributes = (short) attributes;
        slot.flags = (byte)flags;

Now suppose that after the new slot is added, another thread is accessing it. Then it would see not yet ready slot with all nasty consequences! For example,  SMP computer can re-arrange writes so the new value of slot.flags would be visible before slot.getter then another thread would generate null pointer exception.

race2_fix.diff fixes that by using the explicit Slot argument to addSlot instead of boolean flag so the new slot can be fully initialized and then inserted under synchronization to the table. I also call addSlot directly because it is supposed to be used with not-yet existed properties and split addSlot to addSlot and addSlotImpl so in case of table growth there is no need to re-enter already synchronized monitor.

This changes also allows to explicitly throw RuntimeException if defineProperty is called for the property that is already exists instead of either throwing cast exception in "GetterSlot slot = (GetterSlot)getSlotToSet(propertyName," or worth yet re-initializing already existed slot.

Regards, Igor


git-svn-id: svn://10.0.0.236/trunk@106688 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 13:07:00 +00:00
nboyd%atg.com
8d0d15ef9e Print either line or file name if either is present.
git-svn-id: svn://10.0.0.236/trunk@106687 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 12:59:30 +00:00
mkaply%us.ibm.com
cdde11a97a More reordering crap
git-svn-id: svn://10.0.0.236/trunk@106686 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 12:59:00 +00:00
ben%netscape.com
d51417dc21 add licenses. (not part of build)
git-svn-id: svn://10.0.0.236/trunk@106685 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 11:03:44 +00:00
ben%netscape.com
241c7e48ba 102477 - Download Manager
adding initial XUL & js files for window, basic listview/toolbar UI,
controllers etc.
NOT PART OF BUILD!


git-svn-id: svn://10.0.0.236/trunk@106684 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 11:02:56 +00:00
jst%netscape.com
e605f7d9da Fixing linux build bustage.
git-svn-id: svn://10.0.0.236/trunk@106683 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 10:24:55 +00:00
jst%netscape.com
76aa8c7050 added files: mozilla/content/html/content/src/nsHTMLSharedLeafElement.cpp, removed files: mozilla/content/html/content/src/nsHTMLBaseElement.cpp, mozilla/content/html/content/src/nsHTMLEmbedElement.cpp, mozilla/content/html/content/src/nsHTMLIsIndexElement.cpp, mozilla/content/html/content/src/nsHTMLParamElement.cpp, mozilla/content/html/content/src/nsHTMLSpacerElement.cpp, mozilla/content/html/content/src/nsHTMLTableColGroupElement.cpp, mozilla/content/html/content/src/nsHTMLWBRElement.cpp
git-svn-id: svn://10.0.0.236/trunk@106682 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 10:15:21 +00:00
jst%netscape.com
ac8fa2d5a5 Fixing part of bug 107453. Combine rarely used leaf element classes into one class to cut down on the amount of code we have for implementing all those dom interfaces. This makes using the combined elements (base, embed, isindex, param, spacer, colgroup, and wbr) a bit more expensive but since they're hardly ever used it's ok for them to take up a bit more heap space when used. r=dbaron@netscape.com, sr=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106681 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 10:14:06 +00:00
jst%netscape.com
4aad4d442d Make the signature of nsHTMLDocument::FlushPendingNotifications() match nsIDocument::FlushPendingNotifications() so that callers of the interface method actually call the correct method. No bug. r=peterv@netscape.com, sr=rpotts@netscape.com. Problem found by jkeiser@iname.com
git-svn-id: svn://10.0.0.236/trunk@106680 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 09:58:07 +00:00
alecf%netscape.com
1467e1e8bc bump max string bundles in cache up to 16 from 10, since thats how many are created on startup
git-svn-id: svn://10.0.0.236/trunk@106678 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 08:48:49 +00:00
dbaron%fas.harvard.edu
b572449775 Fix HP bustage, I hope, by adding -L$(DIST)/lib.
git-svn-id: svn://10.0.0.236/trunk@106677 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 08:46:43 +00:00
dbaron%fas.harvard.edu
5eb9b7f619 Fix BeOS bustage by doing what bryner meant to. b=106208.
git-svn-id: svn://10.0.0.236/trunk@106676 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 08:36:21 +00:00
alecf%netscape.com
a0092293be oops this should be getService not createInstance
git-svn-id: svn://10.0.0.236/trunk@106673 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 08:03:08 +00:00
dbaron%fas.harvard.edu
32b4e50cec Fixing double parens.
git-svn-id: svn://10.0.0.236/trunk@106672 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 08:01:14 +00:00
dbaron%fas.harvard.edu
ae08cf8dcb ... and fixing one other typo.
git-svn-id: svn://10.0.0.236/trunk@106671 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 07:59:16 +00:00
dbaron%fas.harvard.edu
8b7ef70268 ... and converting to double-parens.
git-svn-id: svn://10.0.0.236/trunk@106670 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 07:58:02 +00:00
dbaron%fas.harvard.edu
1f80feae7f Fixing bustage by converting this to use PR-logging. I should've done a Windows build...
git-svn-id: svn://10.0.0.236/trunk@106669 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 07:40:57 +00:00
mcafee%netscape.com
07d49c6343 Adding support startup logging to server. r=jrgm
git-svn-id: svn://10.0.0.236/trunk@106668 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 07:34:34 +00:00
dbaron%fas.harvard.edu
fb67053a26 Removing remnants of warren's s/printf/PRINTF/ landing from the tree. b=94480 r=pavlov sr=darin
git-svn-id: svn://10.0.0.236/trunk@106666 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:57:09 +00:00
dbaron%fas.harvard.edu
a191239181 Remove nsLogging.cpp and nsILoggingService.cpp from the build.
git-svn-id: svn://10.0.0.236/trunk@106665 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:50:57 +00:00
dbaron%fas.harvard.edu
8497468430 Removing remnants of warren's s/printf/PRINTF/ landing from the tree. b=94480 r=pavlov sr=darin
git-svn-id: svn://10.0.0.236/trunk@106664 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:49:37 +00:00
dp%netscape.com
88fbbf69b9 bug 105935 Caching of canUnload to get mac plugin bundles to
work. r=peterlubczynski sr=waterson


git-svn-id: svn://10.0.0.236/trunk@106663 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:46:40 +00:00
ben%netscape.com
699644c468 107311 - Add new overlay/js files to jar manifest
r=jst, sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106662 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:46:36 +00:00
ben%netscape.com
572c599966 107311 - Add new overlay for adding editor items to mail, split js into separate file to share between editor/navigator overlays.
r=jst, sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106661 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:46:14 +00:00
ben%netscape.com
dcb37f0029 107311 - Add mail overlay information to contents.rdf
r=jst, sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106660 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:45:41 +00:00
ben%netscape.com
2910d55d13 107311 - rename global variable for consistency & interoperability with other context menu clients.
r=jst, sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106659 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:45:17 +00:00
ben%netscape.com
0df8e4a2a8 107311 - insert accidentally removed <![CDATA[ and add a null check just in case
r=jst, sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106658 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:44:24 +00:00
ben%netscape.com
4cdbd0af0c 107311 - make Mail Message Pane context window code not rely on menuitem visibility specified via style attribute, since this is now specified with the hidden attribute. Also remove unused parameter to fillMessagePaneContextMenu
r=jst, sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106657 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:43:56 +00:00
ben%netscape.com
c35f184eac 107311 - add null check
r=jst, sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106656 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:42:41 +00:00
ben%netscape.com
3b6e234339 107311 - add separator to context menu for apps to hook in relative to
r=jst, sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106655 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:42:21 +00:00
dbaron%fas.harvard.edu
e3cadbb4ce Avoid attempting to do CSS selector matching on text nodes, comments, or processing instructions by adding a 'NonElement' style resolution method that assumes that no rules match (temporarily, until we don't have style contexts for text nodes) and by cleaning code that was using textPseudo (the usual case) or passing the text node directly (only a few unusual cases). b=56117 r=hyatt sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@106650 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:36:06 +00:00
dbaron%fas.harvard.edu
aeb1ab18e4 Removing remnants of warren's s/printf/PRINTF/ landing from the tree. b=94480 r=pavlov sr=darin
git-svn-id: svn://10.0.0.236/trunk@106647 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:33:52 +00:00
dbaron%fas.harvard.edu
9029efb2b0 Replace static constructor of EmptyEnumeratorImpl with new/delete. b=68092 r=jag sr=waterson
git-svn-id: svn://10.0.0.236/trunk@106644 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:10:21 +00:00
bryner%netscape.com
582656069e Bug 106208 - don't build nsBaseFilePicker on platforms where we don't have a native filepicker implementation. Also, don't build the XUL filepicker on platforms where we _do_ use a native filepicker implementation. r=cls.
git-svn-id: svn://10.0.0.236/trunk@106643 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:10:01 +00:00
dbaron%fas.harvard.edu
069522c79e Prevent unreable text with light-on-dark system colors by using hardcoded black foreground color when on top of a background image that is light. b=103498 r=jag sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@106642 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:05:58 +00:00
dbaron%fas.harvard.edu
39b72d7392 Make sure normal/bold weight distinction in thread pane works correctly when system fonts are bold. b=101981 r=jag sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@106641 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:04:18 +00:00
dbaron%fas.harvard.edu
9b135c4afe Avoid attempting to do CSS selector matching on text nodes, comments, or processing instructions by adding a 'NonElement' style resolution method that assumes that no rules match (temporarily, until we don't have style contexts for text nodes) and by cleaning code that was using textPseudo (the usual case) or passing the text node directly (only a few unusual cases). b=56117 r=hyatt sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@106640 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 06:02:05 +00:00
bryner%netscape.com
82f18832e5 Removing dead native filepicker implementation. r=pavlov, not part of the build.
git-svn-id: svn://10.0.0.236/trunk@106639 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 05:49:23 +00:00
sspitzer%netscape.com
6f7b555a51 fix for #106917. strict js warnings from msgHdrViewOverlay.js r/sr=mscott
git-svn-id: svn://10.0.0.236/trunk@106638 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 05:47:25 +00:00
alecf%netscape.com
6ebb917688 Back out my backout, now that mac seems to be fixed
git-svn-id: svn://10.0.0.236/trunk@106633 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 03:39:18 +00:00
timeless%mac.com
f09c6040bb QNX port; adding requires to make it work.
git-svn-id: svn://10.0.0.236/trunk@106632 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 03:31:00 +00:00
timeless%mac.com
73a6aca77d Bugzilla Bug 99627 Freeze nsIURIContentListener
caused bustage for the QNX Port.


git-svn-id: svn://10.0.0.236/trunk@106631 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 03:28:59 +00:00
pschwartau%netscape.com
92afc7b20b Adding reference to another Bugzilla bug this testcase covers.
git-svn-id: svn://10.0.0.236/trunk@106630 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 03:28:15 +00:00
alecf%netscape.com
921a7bcf81 added unicharutilsstatic*.o to build for bug 100214
git-svn-id: svn://10.0.0.236/trunk@106629 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 03:17:12 +00:00
alecf%netscape.com
d764923a0d Back out my checkin because !(*@3 PSM is screwed.
git-svn-id: svn://10.0.0.236/trunk@106627 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 02:41:48 +00:00
brendan%mozilla.org
4b80be2931 Ensure atom strings are immutable -- duh! (107138, r=jag, sr=jband).
git-svn-id: svn://10.0.0.236/trunk@106626 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 02:33:41 +00:00
dougt%netscape.com
cb69e3b965 not part of build
git-svn-id: svn://10.0.0.236/trunk@106625 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 02:11:57 +00:00
despotdaemon%netscape.com
3e40b31fcf Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@106613 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 01:14:45 +00:00
cls%seawood.org
8158d5c759 Removing xpcom dependency upon unicharutil.
Fixing tinderbox bustage.
Bug #100214 r=alecf


git-svn-id: svn://10.0.0.236/trunk@106611 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 01:11:04 +00:00
sspitzer%netscape.com
21e4531927 fix for #98559. implement sorting on about:config results, add color to about:config results,
clean up about:config xul and js.  r=chipc,sr=ben

wasting time on about:config is not a total waste, since it's an
implementation of nsIOutlinerView in js, and it's useful for QA (when debugging.)


git-svn-id: svn://10.0.0.236/trunk@106609 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 01:00:12 +00:00
despotdaemon%netscape.com
7df1016993 Pseudo-automatic update of changes made by curt@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@106606 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 00:38:04 +00:00
pschwartau%netscape.com
9d661386b7 Initial add. Regression test for bug 107138.
git-svn-id: svn://10.0.0.236/trunk@106604 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 00:20:03 +00:00
bienvenu%netscape.com
cd78059f57 check for null db folder info 107457 rs=sspitzer
git-svn-id: svn://10.0.0.236/trunk@106602 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 00:09:35 +00:00
jst%netscape.com
914be99eef Call into baseclass if there's nothing to be done for a given tag. Not part of the build yet.
git-svn-id: svn://10.0.0.236/trunk@106600 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 00:07:56 +00:00
hyatt%netscape.com
cd68d72f41 SetParent in nsIFrame should not be inlined. r=evaughan, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@106598 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 00:01:39 +00:00
hwaara%chello.se
f714992ade #106739, make Quick Search look better integrated into 3pane
Initial fix by Ben Ruppel <slate@gwu.edu>.

r=andreww, sr=hewitt


git-svn-id: svn://10.0.0.236/trunk@106597 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 00:00:02 +00:00
alecf%netscape.com
345e7b6e33 bug 100214 - Remove string dependency on XPCOM routines that depend on unicharutil, r=jag sr=scc
git-svn-id: svn://10.0.0.236/trunk@106596 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 23:16:23 +00:00
alecf%netscape.com
7beecfbd9e more straggelers from bug 100214 - just adding #includes
git-svn-id: svn://10.0.0.236/trunk@106595 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 23:14:05 +00:00
morse%netscape.com
d30f76d8f6 bug 106866, unable to close password manager dialog by pressing OK, r=jag, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@106594 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 23:10:50 +00:00
morse%netscape.com
de8d7471d5 bug 106914, unable to close cookie/image manager dialog by pressing OK, r=jag, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@106593 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 23:09:13 +00:00
seawood%netscape.com
579efebb0d Fixing internal MOZ_TWO_STRINGS_TEST macro so that it doesn't always use enableval to test option arguments
Bug #107055 r=jesup


git-svn-id: svn://10.0.0.236/trunk@106592 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 22:59:31 +00:00
gerv%gerv.net
476d18633b Change default license type. a=rginda. (Not part of the build.)
git-svn-id: svn://10.0.0.236/trunk@106591 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 22:48:07 +00:00
gerv%gerv.net
26caeefdf5 Removing deprecated license types. a=rginda. (Not part of the build.)
git-svn-id: svn://10.0.0.236/trunk@106590 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 22:46:46 +00:00
gerv%gerv.net
7c86934ac9 Add tri-license license type. a=rginda. (Not part of the build.)
git-svn-id: svn://10.0.0.236/trunk@106589 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 22:46:01 +00:00
bbaetz%cs.mcgill.ca
edb5d02fe0 Bug 107355 - fix crash when leaving root directory of an ftp server after
accessing another dir.
r=dougt, sr=scc.


git-svn-id: svn://10.0.0.236/trunk@106588 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 22:42:13 +00:00
jpierre%netscape.com
5a2f0d5fcb Fix for 105271
git-svn-id: svn://10.0.0.236/trunk@106587 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 22:42:12 +00:00
despotdaemon%netscape.com
63e8ac83b5 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@106586 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 22:23:35 +00:00
despotdaemon%netscape.com
298aaa42c6 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@106585 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 22:21:39 +00:00
dbradley%netscape.com
553ea0ca40 Bug 106671 - PLDHashTableEnumeratorImpl::IsDone will never return true, patch makes mCurrent == mCount the done condition. r=dougt, sr=jband
git-svn-id: svn://10.0.0.236/trunk@106584 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 22:08:42 +00:00
jpierre%netscape.com
d83e0ecde0 Fix for 105271 - rules.mk change for OS/2 build
git-svn-id: svn://10.0.0.236/trunk@106583 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 21:34:20 +00:00
colin%theblakes.com
5b956c24c7 This comment really goes with the last checkin whose comment I fat-fingered.
Add an initialiser to ImportCharSet::m_Ascii so that it becomes a strong
symbol and therefore visible to the OpenVMS linker.
b=90666  r/sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106574 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 21:14:11 +00:00
evaughan%netscape.com
001d863331 turning on grid
-r bryner -sr hyatt


git-svn-id: svn://10.0.0.236/trunk@106570 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 20:20:36 +00:00
evaughan%netscape.com
d204280000 Turning on new grid code
-r bryner -sr hyatt


git-svn-id: svn://10.0.0.236/trunk@106568 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 20:12:07 +00:00
colin%theblakes.com
8cd2779009 ImportCharSet::m_AsciiImportCharSet.cpp
git-svn-id: svn://10.0.0.236/trunk@106566 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 20:07:56 +00:00
locka%iol.ie
61fa21541f NOT PART OF BUILD. New test pages
git-svn-id: svn://10.0.0.236/trunk@106565 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 20:03:03 +00:00
locka%iol.ie
b511a68a02 NOT PART OF BUILD. Stop a crash when no content type is specified at all
git-svn-id: svn://10.0.0.236/trunk@106564 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 20:02:01 +00:00
locka%iol.ie
e2dc152e07 NOT PART OF BUILD. More updates to get a working CAB file packaging and signing working for control for hosting plugins
git-svn-id: svn://10.0.0.236/trunk@106563 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 19:50:36 +00:00
bernd.mielke%snafu.de
010f750f2f bug 97630 cut line-height inheritance for tables in quirks mode
r=hixie,karnaze sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@106562 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 19:44:05 +00:00
depstein%netscape.com
25e89b0967 per bugzilla 106523, set PR_TRUE in observerService->AddObserver() for initializing profiles
git-svn-id: svn://10.0.0.236/trunk@106561 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 19:43:32 +00:00
brendan%mozilla.org
bc470f1b6b Consolidate property cache flush under JS_ClearScope (107265, r=shaver, sr=jband).
git-svn-id: svn://10.0.0.236/trunk@106560 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 19:30:03 +00:00
locka%iol.ie
39bbba1dc0 NOT PART OF BUILD. More updates to get a working CAB file packaging and signing working for control for hosting plugins
git-svn-id: svn://10.0.0.236/trunk@106559 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 19:22:19 +00:00
bernd.mielke%snafu.de
8e23bfe8f8 bug 107103 enable regression output for table printing tests
r=karnaze sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@106558 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 19:19:06 +00:00
mkaply%us.ibm.com
8f4261a45d OS/2 TB bustage - accidentally checked in wrong version
git-svn-id: svn://10.0.0.236/trunk@106557 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 17:57:08 +00:00
sspitzer%netscape.com
b9cd88e27a fix blocker bug #107334. undefined entity causes mailnews to crash.
working on the broken contenxt menus next, but the tree could open with that.
sr=shaver.


git-svn-id: svn://10.0.0.236/trunk@106556 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 17:38:57 +00:00
despotdaemon%netscape.com
4a90db0573 Pseudo-automatic update of changes made by endico@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@106554 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 16:30:13 +00:00
kaie%netscape.com
083f50ec8e b=106794 r=kaie,javi sr=blizzard
Fix to make "delete certificate" work again.


git-svn-id: svn://10.0.0.236/trunk@106553 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 15:43:20 +00:00
leaf%mozilla.org
1304681475 Automated update
git-svn-id: svn://10.0.0.236/trunk@106552 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 15:43:11 +00:00
dinglis%qnx.com
ed7cdb8957 QNX6 configure update
r=cls


git-svn-id: svn://10.0.0.236/trunk@106551 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 15:35:44 +00:00
rods%netscape.com
9681a58c7e Make sure default printing for FrameSets is "AsIs" when printing silently
Bug 106015 r=kmcclusk sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@106550 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 15:28:45 +00:00
dinglis%qnx.com
c58eac94f2 fixed lib deps.
git-svn-id: svn://10.0.0.236/trunk@106549 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 15:17:44 +00:00
mkaply%us.ibm.com
b435496262 #107261
r=mkaply, sr=blizzard (Totally OS/2 only change)
OS/2 only - If creating the Unicode locale fails, just use en_US - this always works
Also fix a possible failure case only leak


git-svn-id: svn://10.0.0.236/trunk@106548 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 14:40:41 +00:00
mkaply%us.ibm.com
9591f00f2c #107261
r=mkaply, sr=blizzard
If creating the Unicode locale fails, just use en_US - this always works


git-svn-id: svn://10.0.0.236/trunk@106547 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 14:38:48 +00:00
mkaply%us.ibm.com
fa20cbc9e0 #107296
r=cls
Use SHARED_LIBRARY_LIBS so that dependent building works correctly


git-svn-id: svn://10.0.0.236/trunk@106546 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 14:31:33 +00:00
dinglis%qnx.com
17e3ef8259 Not part of build
Photon embedding update


git-svn-id: svn://10.0.0.236/trunk@106544 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 14:17:16 +00:00
ben%netscape.com
5c0e5bb51d 103064 - add Send Page/Link to browser context menu. Shifting XUL into this file
& parameterizing functions a little better so that they can be re-used more
efficiently. r=pchen, sr=hyatt


git-svn-id: svn://10.0.0.236/trunk@106541 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 10:15:18 +00:00
ben%netscape.com
e0bf4a1f56 103064 - hook up new dynamic overlay via contents.rdf r=pchen, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@106540 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 10:11:14 +00:00
ben%netscape.com
43b63d102d 103064 - add new dynamic overlay & string file to jar manifest. r=pchen, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@106539 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 10:10:47 +00:00
ben%netscape.com
76c01e7ced 103064 - add "Edit Page/Link" to Navigator context menu via new editor dynamic overlay. This is
the string file for the dynamic overlay. r=pchen, sr=hyatt


git-svn-id: svn://10.0.0.236/trunk@106538 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 10:10:12 +00:00
ben%netscape.com
c6c35465b4 103064 - add "Edit Page/Link" to Navigator context menu via dynamic overlay (this file is
the new editor dynamic overlay for adding UI to Navigator).
from Navigator. r=pchen, sr=hyatt


git-svn-id: svn://10.0.0.236/trunk@106537 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 10:09:41 +00:00
ben%netscape.com
18b4464e5f 103064 - add "Edit Page/Link" and "Send Page/Link" to Navigator context menu.
Also includes some code tidy up, simplify show/hide code, removing editor UI dependencies
from Navigator. r=pchen, sr=hyatt


git-svn-id: svn://10.0.0.236/trunk@106536 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 10:08:26 +00:00
jaggernaut%netscape.com
a1a8efe1c8 Bug 101896: check in "fix" for weird WS6 (static build) bustage. patch by gisburn <Roland.Mainz@informatik.med.uni-giessen.de>, r=jag
git-svn-id: svn://10.0.0.236/trunk@106535 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 09:32:03 +00:00
jaggernaut%netscape.com
e4b4c0231a Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106534 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 09:27:57 +00:00
jaggernaut%netscape.com
20333c98e2 Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106533 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 09:12:39 +00:00
leaf%mozilla.org
a1a1fd2080 Automated update
git-svn-id: svn://10.0.0.236/trunk@106531 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 07:43:12 +00:00
seawood%netscape.com
2f420d8afd Putting darwin platform section in proper place
git-svn-id: svn://10.0.0.236/trunk@106530 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 07:28:45 +00:00
seawood%netscape.com
d304c093d0 split xpidl into seperate module
git-svn-id: svn://10.0.0.236/trunk@106529 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 06:32:18 +00:00
rpotts%netscape.com
5befed23d6 bug #107097 - back/foward do not work!
git-svn-id: svn://10.0.0.236/trunk@106528 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 06:03:27 +00:00
gerv%gerv.net
87fff34258 Fix Hypertext -> HyperText. Bug 91077. Patch by evilbeaver@tekscode.com , r=gerv,dean_tessman. sr=brendan (string-only changes.)
git-svn-id: svn://10.0.0.236/trunk@106527 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 05:25:03 +00:00
seawood%netscape.com
f7364a1682 Do an exact match
git-svn-id: svn://10.0.0.236/trunk@106526 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 04:48:55 +00:00
bryner%netscape.com
73d57b769c Removing dead/obsolete file. r=pavlov, not part of the build.
git-svn-id: svn://10.0.0.236/trunk@106525 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 04:43:12 +00:00
karnaze%netscape.com
4ff0e5cecb bug 103925 - general reflow debugging capability. sr=attinasi, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@106524 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-29 01:43:59 +00:00
bbaetz%cs.mcgill.ca
05fc5ed6d6 bug 92892. Remove DOM Viewer from the debug menu, since its confusing
people, and isn't even in the tree any more.
r=bz, sr=darin


git-svn-id: svn://10.0.0.236/trunk@106523 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 23:46:17 +00:00
brendan%mozilla.org
f5e80ade8f Followup to bug 56940's big patch, tighten GC-mark case analysis, assume atom strings are immutable.
git-svn-id: svn://10.0.0.236/trunk@106522 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 22:37:25 +00:00
bryner%netscape.com
2b8302efc9 Fixing uninitialized variable. Bug 107262, r=bbaetz, sr=darin.
git-svn-id: svn://10.0.0.236/trunk@106521 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 22:30:30 +00:00
mkaply%us.ibm.com
fe491e5e88 More crap
git-svn-id: svn://10.0.0.236/trunk@106520 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 21:59:04 +00:00
mkaply%us.ibm.com
ca87d182ff Man I feel silly checking this crap in. Breaks on my machine, not the TB. Same problem
git-svn-id: svn://10.0.0.236/trunk@106519 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 21:55:32 +00:00
mkaply%us.ibm.com
88a869aeaf I don't know why this isn't breaking the tb. more reordering
git-svn-id: svn://10.0.0.236/trunk@106518 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 21:25:46 +00:00
dbaron%fas.harvard.edu
98e23443a4 Fix -O2 optimization crash with gcc 2.96 or 3.0.{1,2} by not inlining |#ifdef __GNUC__|. b=106891 r=pavlov sr=brendan
git-svn-id: svn://10.0.0.236/trunk@106517 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 21:02:05 +00:00
brendan%mozilla.org
8dc3d47fd7 Ensure proper pointer alignment in oversized arena footers (105726, r/sr=jband,shaver).
git-svn-id: svn://10.0.0.236/trunk@106516 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 20:41:53 +00:00
bienvenu%netscape.com
91836d1e86 add support for sorting by label r=bhuvan, sr=sspitzer 106717
git-svn-id: svn://10.0.0.236/trunk@106515 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 20:26:59 +00:00
bienvenu%netscape.com
35f98f686b fix for topcrash in morkRowObject::closerow r=naving, sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@106514 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 20:25:12 +00:00
mkaply%us.ibm.com
cb63f542c1 Strange - this one builds on the TB but fails locally, one more ugly link order change
git-svn-id: svn://10.0.0.236/trunk@106513 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 16:16:38 +00:00
locka%iol.ie
a44ab92537 NOT PART OF BUILD. First cut packaging script for creating a control for hosting plugins IE CAB file.
git-svn-id: svn://10.0.0.236/trunk@106512 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 15:50:09 +00:00
locka%iol.ie
52a165425a NOT PART OF BUILD. First cut packaging script for creating a control for hosting plugins IE CAB file.
git-svn-id: svn://10.0.0.236/trunk@106511 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 15:40:45 +00:00
beard%netscape.com
95bf572e60 Fixing Carbon bustage: peterv's fix wasn't correct, seawood's checkin shouldn't have turned off opening the resource fork on TARGET_CARBON, only on XP_MACOSX.
git-svn-id: svn://10.0.0.236/trunk@106510 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 15:15:32 +00:00
jaggernaut%netscape.com
14b3d540ed Bug 106622: create profile wizard's first page is blank. Some stuff was accidentily removed recently, putting it back in. sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@106509 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 10:38:28 +00:00
sspitzer%netscape.com
a784f63b5d fix for #75611. the Message | Mark menu item is supposed to have a seperator between it and the
"Ignore Thread" menu item when reading a news message.
fix by andreas.premstaller@uibk.ac.at, r/sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106508 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 10:00:56 +00:00
andreas.otte%primus-online.de
2bff3cee38 fix bug 84242 [FTP URL parsing broken] and bug 95277 [ftp: URL w/o path
should redirect to home dir] This will change the way we parse ftp
urls, a ftp url like ftp://user@host/path will go to path under
the users home directory not the root directory. With most anonymous
ftp servers there is no change since root is the home, but if you want
to access /path from a users directory you have to use
ftp://user@host//path instead. This will bring us closer to the ftp
urls outlined in rfc 1738. r=bbaetzcs.@mcgill.ca,
sr=darin@netscape.com


git-svn-id: svn://10.0.0.236/trunk@106507 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 08:58:18 +00:00
jaggernaut%netscape.com
ff4abec1dd Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106506 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 08:33:51 +00:00
jaggernaut%netscape.com
fbfa1c9edc Bug 70083: add nsASingleFragmentString to hierarchy. r=dbaron, sr=scc
git-svn-id: svn://10.0.0.236/trunk@106505 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 08:24:55 +00:00
jaggernaut%netscape.com
4e12eb6e14 Fix spelling of "isContentPrefered" parameter. sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@106504 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 07:36:09 +00:00
beard%netscape.com
5a7716207f fix mach-o bustage: to cope with header skew between Mac OS X headers and Universal headers, use explicit cast to AEEventHandlerProcPtr.
git-svn-id: svn://10.0.0.236/trunk@106503 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 04:30:35 +00:00
sspitzer%netscape.com
35cdb5ca19 fix for #57756. when clicking on a link in the addressbook card page, it should
open up a new window, or use and existing browser window.
also, the links should look and act like links.
initial patch by jessica blanco (jblanco@us.ibm.com), r=racham, sr=sspitzer,bienvenu


git-svn-id: svn://10.0.0.236/trunk@106502 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 04:21:46 +00:00
zach%zachlipton.com
87b667ee3b Fix for bug 96675: checksetup should require admin e-mail address satisfy emailregexp. This fix has
checksetup.pl use the emailregexp set in params if the params file exists, or ensures that it matches the
default emailregexp from defparams.pl.

r1=justdave, r2=bbaetz.


git-svn-id: svn://10.0.0.236/trunk@106499 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 03:40:59 +00:00
mkaply%us.ibm.com
71ed601f6d Trying to get nsDeviceContext to rebuild to fix test bustage
git-svn-id: svn://10.0.0.236/trunk@106498 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 02:46:30 +00:00
peterv%netscape.com
c3ced435c5 OS X bustage fix. AEEventHandlerProcPtr takes an unsigned long instead of a long.
git-svn-id: svn://10.0.0.236/trunk@106497 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 01:30:30 +00:00
peterv%netscape.com
402434aa2c Clean up. mozilla/modules/libimg/src got whacked a while back. rs=sfraser.
git-svn-id: svn://10.0.0.236/trunk@106496 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 00:47:23 +00:00
peterv%netscape.com
1c573efac9 Trying to fix OS X bustage by setting the entry points for Carbon targets to __NSInitialize and __NSTerminate as __initializeResources and __terminateResources were made #if !TARGET_CARBON.
git-svn-id: svn://10.0.0.236/trunk@106495 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-28 00:45:00 +00:00
sspitzer%netscape.com
ef5a93299a fix for #45084. add mnemonics to the mailing list dialog.
r=jag, sr=sspitzer.  thanks to james green (jg@cyberstorm.demon.co.uk) for the patch.


git-svn-id: svn://10.0.0.236/trunk@106494 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 23:01:59 +00:00
brendan%mozilla.org
788b8d31b2 Avoid stack overflow in js_EmitTree on long left-associative operator chains (98901, r=jband, sr=shaver).
git-svn-id: svn://10.0.0.236/trunk@106489 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 18:38:16 +00:00
sspitzer%netscape.com
3017557a5f fix for #90754 (return progress meter to inactive state) and #106763 (no items in subscribe tree until you do a search).
r/sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@106488 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 18:27:56 +00:00
peterv%netscape.com
38b6df0b56 Add DEBUG-only include of "prenv.h". Bustage fix.
git-svn-id: svn://10.0.0.236/trunk@106487 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 17:27:29 +00:00
gerv%gerv.net
e2267e9bac Fix broken comment. Bug 107043. Patch by cbiesinger@web.de, r=pavlov, sr=tor.
git-svn-id: svn://10.0.0.236/trunk@106486 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 17:24:19 +00:00
peterv%netscape.com
88c301555c Adding back file that I removed by accident. rev 1.4 with patch for bug 83589 applied.
git-svn-id: svn://10.0.0.236/trunk@106485 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 16:58:43 +00:00
peterv%netscape.com
e10435b4ce Clean up. mozilla/rdf/tests/domds got whacked a while back. rs=sfraser.
git-svn-id: svn://10.0.0.236/trunk@106484 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 16:16:54 +00:00
peterv%netscape.com
ac958fa88a ix for bug 83589 -- fix the mac build scripts so that a commercial tree doesn't clobber config files in the mozilla tree. Make a MoreFilesDebug.lib. r=peterv,sr=scc -- Removing files that sfraser forgot to remove.
git-svn-id: svn://10.0.0.236/trunk@106483 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 16:05:50 +00:00
peterv%netscape.com
8474b3d48e Fix for bug 83589 -- fix the mac build scripts so that a commercial tree doesn't clobber config files in the mozilla tree. Make a MoreFilesDebug.lib. r=peterv,sr=scc -- Part of patch that sfraser forgot to check in.
git-svn-id: svn://10.0.0.236/trunk@106482 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 15:54:47 +00:00
jake%acutex.net
be3ee559e5 A few enhancements to the template test:
* If there's a compilation error, report what it is
 * Don't try to compile a template if it doesn't exist
   - We already tested for that and issued an ERROR
 * Define the 'url' FILTER


git-svn-id: svn://10.0.0.236/trunk@106481 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 15:27:31 +00:00
mkaply%us.ibm.com
c8e3400160 More OS/2 bustage
git-svn-id: svn://10.0.0.236/trunk@106480 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 15:11:44 +00:00
mkaply%us.ibm.com
8b2ff76750 Putting these back the way they were in an attempt to fix the bustage
git-svn-id: svn://10.0.0.236/trunk@106479 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 15:11:07 +00:00
mkaply%us.ibm.com
90f5b9c725 OS/2 bustage - ugly I know - I'm opening a bug with the compiler folk
git-svn-id: svn://10.0.0.236/trunk@106478 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 14:47:08 +00:00
jaggernaut%netscape.com
71e30acb6e Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106477 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 14:30:31 +00:00
mkaply%us.ibm.com
09f3f995da Fix Os/2 build bustage - I don't know why, but we have seen this before
git-svn-id: svn://10.0.0.236/trunk@106476 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 13:41:47 +00:00
mkaply%us.ibm.com
7cb4579c59 Reverting cls attempt to fix Os/2 bustage as it busts us more :( - issue is that somehow unicharutil_s.lib is bad on OS/2 - it doesn't have to do with the length of the name - still looking
git-svn-id: svn://10.0.0.236/trunk@106475 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 11:54:03 +00:00
jaggernaut%netscape.com
9851f5a7fa Bug 70083: add nsASingleFragmentString to hierarchy. r=dbaron, sr=scc
git-svn-id: svn://10.0.0.236/trunk@106474 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 11:40:01 +00:00
jaggernaut%netscape.com
38717bd097 Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106473 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 11:28:06 +00:00
jaggernaut%netscape.com
e50f948785 Bug 105987: Clean up nsCharTraits.h, use slightly faster implementations where possible, r=dbaron, sr=scc.
git-svn-id: svn://10.0.0.236/trunk@106472 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 09:40:08 +00:00
seawood%netscape.com
f6ed45a7ff Fix for mac bustage. r=jag
git-svn-id: svn://10.0.0.236/trunk@106471 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 08:57:01 +00:00
stephend%netscape.com
7610fd0017 Bug 101647. Smileys missing in Message Display pref panel. Patch by Christopher Aillon <caillon@returnzero.com> r=glazou@netscape.com, sr=blakeross@telocity.com
git-svn-id: svn://10.0.0.236/trunk@106470 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 08:56:15 +00:00
jaggernaut%netscape.com
80fd1aa040 Bug 107104: ``Throbber busted; js error since complexvalue, not string, returned'', patch by jrgm, r=jag.
git-svn-id: svn://10.0.0.236/trunk@106469 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 08:42:22 +00:00
stephend%netscape.com
43e887075f Bug 83318 - Wording changes from 'Get Msg' to 'Get Msgs' and 'New Msg' to 'Compose'. 50865 - Removing the duplicated charset menu item for folders. Both bugs have r=jglick@netscape.com, sr=sspitzer@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106468 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 08:19:54 +00:00
jaggernaut%netscape.com
8af9e92f11 Fix js error caused by bnesse's checkin (which I reviewed, shame on me), r=mozbot.
git-svn-id: svn://10.0.0.236/trunk@106467 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 08:16:56 +00:00
jaggernaut%netscape.com
894154f57b Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106466 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 08:09:28 +00:00
seawood%netscape.com
2aa4dfe1f7 Set MOZ_UNICHARUTIL_LIBS & friends in config.mk so that we can test for USE_SHORT_LIBNAME as needed. Should get the OS/2 build further along.
git-svn-id: svn://10.0.0.236/trunk@106465 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 08:04:27 +00:00
bryner%netscape.com
2a49cc581f Adding a newline to the warning printf. r=jag.
git-svn-id: svn://10.0.0.236/trunk@106464 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 07:45:29 +00:00
jaggernaut%netscape.com
d2ae5f0ae2 Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106463 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 07:43:56 +00:00
leaf%mozilla.org
a56997b4bf Automated update
git-svn-id: svn://10.0.0.236/trunk@106462 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 07:43:13 +00:00
seawood%netscape.com
4551221bef Landing the rest of the mach-o OSX changes.
Bug #75653 r=cls sr=waterson


git-svn-id: svn://10.0.0.236/trunk@106461 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 07:38:18 +00:00
jaggernaut%netscape.com
9e8f600926 Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106460 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 06:44:19 +00:00
leaf%mozilla.org
6a3dcf88cd Automated update
git-svn-id: svn://10.0.0.236/trunk@106459 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 06:28:11 +00:00
bernd.mielke%snafu.de
6f1d485fdf new regression test, not affecting the build.
git-svn-id: svn://10.0.0.236/trunk@106458 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 06:27:12 +00:00
seawood%netscape.com
f42d2a8c9e Remove MOZ_MONOLITHIC_TOOLKIT
git-svn-id: svn://10.0.0.236/trunk@106457 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 06:16:57 +00:00
seawood%netscape.com
cb86bca7b6 Replace hardcoded -L/usr/X11R6/lib with $(XLDFLAGS). Fixes cross-compiling among other things.
git-svn-id: svn://10.0.0.236/trunk@106456 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 06:02:57 +00:00
seawood%netscape.com
67a0c889a0 Followup to removal of --enable-monolithic-toolkit..remove MOZ_MONOLITHIC_TOOLKIT ifdefs
git-svn-id: svn://10.0.0.236/trunk@106453 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 05:49:30 +00:00
bnesse%netscape.com
91728ad88b Bug 106159. Switch remaining js and xul files from nsIPref interface to nsIPrefService/nsIPrefBranch interfaces to eliminate conflicts. r=jag, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@106452 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 05:39:25 +00:00
seawood%netscape.com
dbe0d5e888 Removing unused nsIAppShellComponentImpl reference
git-svn-id: svn://10.0.0.236/trunk@106451 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 05:26:42 +00:00
cls%seawood.org
95f0069751 Freezing nsIURIContentListener class. Fixing PSM bustage
Thanks to Rick Potts <rpotts@netscape.com> for the patch.
Bug #99627


git-svn-id: svn://10.0.0.236/trunk@106450 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 04:15:42 +00:00
rpotts%netscape.com
12190db124 bug #99627 (r=valeski@netscape.com, sr=mscott@netscpae.com). Freeze the nsIURIContentListener interface...
git-svn-id: svn://10.0.0.236/trunk@106449 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 03:59:37 +00:00
seawood%netscape.com
90f90500cd Adding type specifier for functions to fix bustage.
git-svn-id: svn://10.0.0.236/trunk@106448 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 03:24:15 +00:00
dougt%netscape.com
b4b3776b8d check for null. if the reference ever goes away, we crash
git-svn-id: svn://10.0.0.236/trunk@106447 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 03:06:09 +00:00
rpotts%netscape.com
9c186d4664 bug #99627 (r=valeski@netscape.com, sr=mscott@netscpae.com). Freeze the nsIURIContentListener interface...
git-svn-id: svn://10.0.0.236/trunk@106446 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 02:52:39 +00:00
waldemar%netscape.com
ae15a26e18 Substantive semantic changes. Implemented prototype instances and property reading and writing.
git-svn-id: svn://10.0.0.236/trunk@106445 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 02:41:20 +00:00
waldemar%netscape.com
0c42855af1 Fixed comment
git-svn-id: svn://10.0.0.236/trunk@106444 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 02:40:41 +00:00
waldemar%netscape.com
5b5ee3c5e6 Added :uninitialized variables
git-svn-id: svn://10.0.0.236/trunk@106443 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 02:40:13 +00:00
seawood%netscape.com
1890419f7f Apparently, the ANSI C++ standard no longer assumes int for functions that are mssing their type specifier. And the HP-UX & Sun Forte compilers catch this.
Fixing tinderbox bustage.


git-svn-id: svn://10.0.0.236/trunk@106442 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 01:49:12 +00:00
pschwartau%netscape.com
2f61347057 Fixing a typo
git-svn-id: svn://10.0.0.236/trunk@106440 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 00:48:14 +00:00
wtc%netscape.com
ec801c6a75 Bugzilla bug 106379: support building under ARM Linux.
git-svn-id: svn://10.0.0.236/trunk@106434 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 00:27:06 +00:00
ftang%netscape.com
59811867eb fix 100868. Forget to include this part from previous check in.
git-svn-id: svn://10.0.0.236/trunk@106433 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 00:08:13 +00:00
shanjian%netscape.com
0c69bf8d46 #106650 Crash viewing some mails
r=ducarroz, sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106432 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 23:59:30 +00:00
law%netscape.com
251fc07d93 Bug 95572; patch from Roland (Roland.Tepp@mail.ee); close dialog after launch/reveal; r=law, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@106431 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 23:52:21 +00:00
aaronl%netscape.com
dbf9d79500 Bug 106710. Expose anonymous content via accessibility API's. r=jgaunt, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@106430 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 23:47:52 +00:00
sfraser%netscape.com
457115228d Clean up static linkage with unichar utils (bug 100214) for alecf. r=fm, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@106429 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 23:34:53 +00:00
alecf%netscape.com
5e1263108a finally remove this file once and for all - turns out I removed this from the mac build yesterday (by accident, but the file is obsolete anyway)
git-svn-id: svn://10.0.0.236/trunk@106428 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 23:09:16 +00:00
alecf%netscape.com
1eeef02f8b remove nsIAppShellComponent, not used anywhere
(not part of build)


git-svn-id: svn://10.0.0.236/trunk@106427 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 23:07:48 +00:00
mstoltz%netscape.com
47226a17a2 bug 104495 - don't allow unprivileged scripts to create a window without
a close box, or to disable key shortcuts. r=danm, sr=jst.


git-svn-id: svn://10.0.0.236/trunk@106426 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 23:02:49 +00:00
mstoltz%netscape.com
2eb513fdbc bug 106535, adding the ability to enable codebase principals for a single host
instead of for all hosts. r=vidur, sr=jst.


git-svn-id: svn://10.0.0.236/trunk@106425 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 23:00:48 +00:00
sfraser%netscape.com
c01879c1fd Fix for bug 83589 -- fix the mac build scripts so that a commercial tree doesn't clobber config files in the mozilla tree. Make a MoreFilesDebug.lib. r=peterv,sr=scc
git-svn-id: svn://10.0.0.236/trunk@106424 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 22:36:56 +00:00
sfraser%netscape.com
cf430037b7 Fix for bug 83589 -- fix the mac build scripts so that a commercial tree doesn't clobber config files in the mozilla tree. r=peterv,sr=scc
git-svn-id: svn://10.0.0.236/trunk@106423 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 22:36:28 +00:00
naving%netscape.com
740d1bab43 106819 r=suresh sr=mscott. Do not steal focus after search textbox is cleared.
git-svn-id: svn://10.0.0.236/trunk@106422 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 22:33:27 +00:00
naving%netscape.com
34bc6bfc3f 94968. r/sr=mscott. fix the folder-picker to not show bogus folders.
git-svn-id: svn://10.0.0.236/trunk@106420 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 22:08:21 +00:00
hewitt%netscape.com
10836e9a6f 106826 - can't drag into folders on the personal toolbar, r=hyatt, sr=blake
git-svn-id: svn://10.0.0.236/trunk@106419 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 21:54:36 +00:00
rginda%netscape.com
593c0075c3 check in jband's fix for command paths on win2k, whitespace nits.
git-svn-id: svn://10.0.0.236/trunk@106411 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 21:37:51 +00:00
pchen%netscape.com
27d3893fc3 bug 104367, r=jag, sr=ben, add bookmark dialog changed id from
newBookmarkDialog to newBookmarkWindow but this getElementByID() call
wasn't updated, ooops


git-svn-id: svn://10.0.0.236/trunk@106410 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 21:37:08 +00:00
jaggernaut%netscape.com
1001076524 Bug 106967: fix crash (doh me)
git-svn-id: svn://10.0.0.236/trunk@106409 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 21:37:07 +00:00
wtc%netscape.com
41c5ea6d57 Bugzilla bug 106836: fixed misspelled "Privilege". The patch is
contributed by timeless@mac.com.


git-svn-id: svn://10.0.0.236/trunk@106408 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 21:30:58 +00:00
naving%netscape.com
a5d41c30d2 106875 r=stephend sr=mscott. Remove tooltip for the searchBar.
git-svn-id: svn://10.0.0.236/trunk@106407 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 21:28:46 +00:00
sspitzer%netscape.com
e651048da1 fix for #106269. reply wasn't quoting the message body.
r/sr=kin


git-svn-id: svn://10.0.0.236/trunk@106402 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 21:21:04 +00:00
wtc%netscape.com
3c91b36b0b Bugzilla bug 106771: support building on HP-UX 11.11.
git-svn-id: svn://10.0.0.236/trunk@106400 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 21:20:12 +00:00
wtc%netscape.com
475fd5527a Bugzilla bug 106771: support building on HP-UX 11.11. The patch is from
Jim Dunn <jdunn@netscape.com>.
Modified files: configure configure.in


git-svn-id: svn://10.0.0.236/trunk@106399 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 21:13:06 +00:00
ftang%netscape.com
a2a8241f07 fix bug 100868. implement the real GetTextDimension code in Mac GFX. r=pierre sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@106390 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 20:54:09 +00:00
leaf%mozilla.org
896597e85e Automated update
git-svn-id: svn://10.0.0.236/trunk@106388 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 20:43:13 +00:00
ftang%netscape.com
81039f969c fix bug 106488. improve window cmap parsing code readability
change PR_Alloc / PR_Free to nsMemory:: version
r=shanjian, sr=sfraser


git-svn-id: svn://10.0.0.236/trunk@106387 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 20:40:43 +00:00
seawood%netscape.com
4c0227d9b5 Save the value of AS as we need it later tests.
git-svn-id: svn://10.0.0.236/trunk@106385 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 20:29:02 +00:00
shanjian%netscape.com
87da0a49bd #97343 annot display middot(Unicode 00B7)in the UI under W95/W98
r=ftang, sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@106383 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 20:14:58 +00:00
alecf%netscape.com
78f795437c attempt to fix static build bustage
git-svn-id: svn://10.0.0.236/trunk@106382 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 20:10:44 +00:00
hwaara%chello.se
d5e77a84a1 #72667, get custom quoted colors working again; obey the pref.
r=ducarroz, mcafee, sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106381 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 19:25:19 +00:00
hwaara%chello.se
c7211a20f0 #47981, link to newsgroups launches new mail window. Make our window handling in news a lot better, reuse whatever 3pane is already open. r/sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@106380 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 19:19:35 +00:00
radha%netscape.com
1120ee9abe Fix for bug # 103978. Problems with back/forward at cnn.com, mainly due to expired subframes and clicking back/forward fast. r=adamlock sr=rpotts
git-svn-id: svn://10.0.0.236/trunk@106379 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 19:04:11 +00:00
cmanske%netscape.com
f9487fb1bd Fixed lots of problems because getAttribute now returns null if no attribute, b=106822, r=bzbarsky, sr=kin
git-svn-id: svn://10.0.0.236/trunk@106378 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 18:51:37 +00:00
jake%acutex.net
d377a74d28 Bug 105879 - Footer links have an extra | by Sanity Check
Patch by Matthew Tuck <matty@chariot.net.au>
r= dkl@redhat.com, jake@acutex.net


git-svn-id: svn://10.0.0.236/trunk@106377 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 18:49:33 +00:00
cmanske%netscape.com
b4c7b8322a Fixed null return from getAttribute that killed toolbar, b=106733, r=hwaara,sr=kin; fix for JS warning by Neil, b=106224, r=cmanske, sr=kin
git-svn-id: svn://10.0.0.236/trunk@106376 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 18:43:25 +00:00
jake%acutex.net
6786208022 Bug 81594 - SQL error after editing user entry when changing numerous things at once (including the login name).
Patch by Matthew Tuck <matty@chariot.net.au>
r= dkl@redhat.com, jake@acutex.net


git-svn-id: svn://10.0.0.236/trunk@106375 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 18:35:04 +00:00
sonja.mirtitsch%sun.com
34c5fe4d5a took out 64 bit HP builds
git-svn-id: svn://10.0.0.236/trunk@106374 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 18:10:37 +00:00
sonja.mirtitsch%sun.com
61f2d1f6c2 increased # of tests to 133
git-svn-id: svn://10.0.0.236/trunk@106373 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 18:08:18 +00:00
sonja.mirtitsch%sun.com
6daeb62f3d adder HP as tinderboxplatform
git-svn-id: svn://10.0.0.236/trunk@106372 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 18:07:58 +00:00
bnesse%netscape.com
177926b975 Fix for bug 103883/106273. Bad JS broke theme switching. r=jag, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@106371 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 18:03:49 +00:00
alecf%netscape.com
210111498e two more nsUnicharUtils.h stragglers, I think I got r=jag, sr=scc on these in a previous patch - again for bug 100214
git-svn-id: svn://10.0.0.236/trunk@106370 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 17:51:22 +00:00
timeless%mac.com
aa4a03ef45 Bug 106832 seperatorUri is misspelled, separatorUri => SEPARATOR_URI
r=dbradley sr=brendan


git-svn-id: svn://10.0.0.236/trunk@106369 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 17:39:36 +00:00
nhotta%netscape.com
6180c0fa39 Replace nsTextFormatter by NS_ConvertUTF8toUCS2, bug 105527, r=ducarroz, sr=bienvenu.
git-svn-id: svn://10.0.0.236/trunk@106367 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 17:24:18 +00:00
alecf%netscape.com
c96e504eb3 Convert users of nsCRT::ToUpper(PRUnichar) to ToUpper(PRUnichar) for bug 100214, r=jag, sr=scc
git-svn-id: svn://10.0.0.236/trunk@106366 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 17:18:35 +00:00
bernd.mielke%snafu.de
c9d2fbad18 adding a table-layout:fixed regression testcase not part of the build
git-svn-id: svn://10.0.0.236/trunk@106364 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 14:38:50 +00:00
kin%netscape.com
6fcaeaf88c Fix for bug #104692: Edit field line break didn't updated
Modified WillInsertText() so that it adds a mozbr if
the last char in the plaintext string is a newline,
and we are inserting at the end of the doc. This gives
the blank line people expect to see.

r=jfrancis@netscape.com  sr=sfraser@netscape.com


git-svn-id: svn://10.0.0.236/trunk@106363 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 14:22:31 +00:00
leaf%mozilla.org
22b036f939 Automated update
git-svn-id: svn://10.0.0.236/trunk@106362 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 14:13:18 +00:00
seawood%netscape.com
40fb07c08d Fixing --disable-optimize again.
git-svn-id: svn://10.0.0.236/trunk@106361 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 14:06:39 +00:00
glazman%netscape.com
3ac6ff707a table alignment was not visible in AllTags mode; b=102147, r=brade, cmanske; sr=kin
git-svn-id: svn://10.0.0.236/trunk@106360 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 13:53:53 +00:00
ccarlen%netscape.com
4fe6243416 Bug 101684 - Assertions on startup on Unix from resprotocolhandler's use of directories which don't always exist. r=dougt/sr=darin
git-svn-id: svn://10.0.0.236/trunk@106359 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 13:28:07 +00:00
jake%acutex.net
e8bbc7ef2a Check templates for tabs, also.
git-svn-id: svn://10.0.0.236/trunk@106358 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 13:21:38 +00:00
seawood%netscape.com
bc1876daed Add MOZ_POST_*_COMMAND back in hopes of fixing hpux orangeness.
git-svn-id: svn://10.0.0.236/trunk@106354 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 12:39:30 +00:00
locka%iol.ie
0497fefc20 NOT PART OF BUILD. Make IE plugin dir lookup able to cope with trailing backslashes in the registry key.
git-svn-id: svn://10.0.0.236/trunk@106353 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 12:30:49 +00:00
leaf%mozilla.org
40fd2bac35 Automated update
git-svn-id: svn://10.0.0.236/trunk@106352 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 11:13:14 +00:00
seawood%netscape.com
b376c94271 Fix --disable-optimize
git-svn-id: svn://10.0.0.236/trunk@106351 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 11:04:28 +00:00
timeless%mac.com
f65d10305d Bugzilla Bug 106839 amTargettedCorrectly should be isTargetedCorrectly
r=bbaetz,glazou sr=brendan


git-svn-id: svn://10.0.0.236/trunk@106350 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 10:54:15 +00:00
mike+mozilla%meer.net
cf412012ae Initial checkin of build file for Darwin1.4.mk. It just includes Darwin1.3.mk. Because I happened to be fooling around with an OS X system.
git-svn-id: svn://10.0.0.236/trunk@106349 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 09:38:43 +00:00
jst%netscape.com
cfd25660ab New file for rarely used leaf elements that share the same implementation. Not part of the build yet.
git-svn-id: svn://10.0.0.236/trunk@106348 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 09:31:32 +00:00
hyatt%netscape.com
3332a352f8 Fix for tabbrowser not being localizable as well as fixes to expose Closing of tabs via CTRL+W and the top-level menus. r=jag, sr=jst
git-svn-id: svn://10.0.0.236/trunk@106347 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 09:26:13 +00:00
hyatt%netscape.com
1f83f62b60 Fix for tabbrowser not being localizable as well as fixes to expose Closing of tabs via CTRL+W and the top-level menus. r=jag, sr=jst
git-svn-id: svn://10.0.0.236/trunk@106346 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 09:26:03 +00:00
jst%netscape.com
b2088df0d0 Fixing bug 100944, making a.search and area.search settable for backwards compatibility. Patch by Fabian Guisset <hidday@geocities.com>, r=bzbarsky@mit.edu, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106345 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 08:54:45 +00:00
seawood%netscape.com
0e38f5c374 Massive reorganization of configure options into logical groups.
The following options were renamed:

--with-jpeg                --with-system-jpeg
--with-zlib                --with-system-zlib
--with-png                 --with-system-png
--with-mng                 --with-system-mng
--enable-toolkit           --enable-default-toolkit
--with-gtk                 --enable-toolkit-gtk
--with-xlib                --enable-toolkit-xlib
--with-qt                  --enable-toolkit-qt
--enable-gle               --enable-gle-support
--with-extensions          --enable-extensions
--enable-modules           --enable-standalone-modules
--enable-lea               --enable-xpcom-lea
--enable-ultrasparc        --enable-js-ultrasparc
--enable-strip-libs        --enable-strip
--with-debug-modules       --enable-debug-modules
--with-dbgrinfo-modules    --enable-debugger-info-modules
--with-profile-modules     --enable-profile-modules
--enable-eazel-profiler    --enable-eazel-profiler-support
--enable-homedir           --with-user-appdir
--enable-static-components --enable-meta-component-modules

The following options were removed:
--enable-monolithic-toolkit
--disable-jar-packaging

zip is now required to build since NSS unconditionally requires it.

Bug #61907


git-svn-id: svn://10.0.0.236/trunk@106344 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 08:36:28 +00:00
dbaron%fas.harvard.edu
1b78c37c5d Make it almost compile on MSVC++. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@106343 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 08:30:41 +00:00
hyatt%netscape.com
42261230c8 Add support for CTRL+w closing the curren tab in multi-tabbedm ode. sr=ben, r=hewitt
git-svn-id: svn://10.0.0.236/trunk@106342 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 07:49:28 +00:00
dbaron%fas.harvard.edu
d279829b0f Undoing accidental changes.
git-svn-id: svn://10.0.0.236/trunk@106341 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 07:17:41 +00:00
jband%netscape.com
f5d51737eb fix bug 106541. Do a rename rather than a copy to create the new xpti.dat. And don't leave behind xptitemp.dat. r=valeski sr=jst.
git-svn-id: svn://10.0.0.236/trunk@106340 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 07:15:56 +00:00
dbaron%fas.harvard.edu
49d26fea47 Add |release| and corresponding |operator=| and add equality operators that gcc3 doesn't need but MSVC does. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@106339 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 07:15:55 +00:00
waterson%netscape.com
658ba2a763 Change %f to %d for page load times.
git-svn-id: svn://10.0.0.236/trunk@106338 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 06:37:31 +00:00
waterson%netscape.com
d1625c5b92 Use ms instead of s for pageloader time.
git-svn-id: svn://10.0.0.236/trunk@106337 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 06:32:58 +00:00
bryner%netscape.com
32a5c28ad9 Bug 103796 -- implement ctrl+pgup/pgdn to switch tabs (these will work in tabbrowser where ctrl+tab is reversed for switching frames). r=pchen, sr=hyatt.
git-svn-id: svn://10.0.0.236/trunk@106336 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 06:28:37 +00:00
alecf%netscape.com
dd98f34a2c Added files:
mozilla/intl/unicharutil/util/nsUnicharUtils.cpp


git-svn-id: svn://10.0.0.236/trunk@106335 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 06:19:51 +00:00
hyatt%netscape.com
38dae353d7 Make middle-click close a tab in tab browser, r=bryner, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@106334 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 06:17:08 +00:00
alecf%netscape.com
b779335f44 Added files:
mozilla/intl/unicharutil/util/nsUnicharUtils.cpp


git-svn-id: svn://10.0.0.236/trunk@106333 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 05:23:36 +00:00
dbaron%fas.harvard.edu
2847aa0f3d Remove unnecessary XPCOM interface around nsSpaceManager. b=102453 r=jag sr=waterson
git-svn-id: svn://10.0.0.236/trunk@106332 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 05:12:25 +00:00
dbaron%fas.harvard.edu
7ddeb79974 Remove unnecessary XPCOM interface around nsSpaceManager. b=102453 r=jag sr=waterson
git-svn-id: svn://10.0.0.236/trunk@106331 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 05:06:07 +00:00
seawood%netscape.com
f42774dccc Convert all rhapsody (pre-beta-macosx) references to darwin.
Bug #106617 r=wtc


git-svn-id: svn://10.0.0.236/trunk@106330 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 04:55:58 +00:00
rbs%maths.uq.edu.au
a5068b1a4a Add look-ahead in the case of the substitute fallback font to handle several adjacent missing characters at once rather than one by one. b=104153 r=shanjian sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@106329 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 04:54:15 +00:00
rpotts%netscape.com
f2e49dbf9c bug #85831 (r=hewitt@netscape.com, sr=jst@netscape.com) Javascript console hangs with the error this.Console.appendIten(...) not a function
git-svn-id: svn://10.0.0.236/trunk@106328 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 04:51:08 +00:00
jaggernaut%netscape.com
5f0668cf9d Bug 105904, bug 105971, bug 105889, bug 105906: NS_ConvertUTF8toUCS2 hangs / segfaults. r=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106327 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 04:42:57 +00:00
bryner%netscape.com
ba8e42551b Bug 93970 -- filepicker can't open symlinked directories. Patch from simm0@ii.net, r=bryner/timeless, sr=ben.
git-svn-id: svn://10.0.0.236/trunk@106326 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 04:34:56 +00:00
jaggernaut%netscape.com
173b301199 Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106325 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 04:24:06 +00:00
naving%netscape.com
02e1a52c53 102735 r/sr=bienvenu. Save the sort info etc, when doing empty trash(imap).
git-svn-id: svn://10.0.0.236/trunk@106324 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 04:22:17 +00:00
alecf%netscape.com
91e99a93f5 Added files:
mozilla/intl/unicharutils/util/nsUnicharUtils.cpp


git-svn-id: svn://10.0.0.236/trunk@106322 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 03:37:38 +00:00
jst%netscape.com
6f8619cfba No need to be this paranoid, checking for pointers being null once is enough! Checking twise in a row is just overkill.
git-svn-id: svn://10.0.0.236/trunk@106321 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 03:31:49 +00:00
alecf%netscape.com
6dc7d8d1e8 final makefile.win changes for bug 100214, just adding some REQUIRES to be used soon
git-svn-id: svn://10.0.0.236/trunk@106320 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 03:18:09 +00:00
bienvenu%netscape.com
80b0e9f309 fix crash with move mail by using an nsCOMPtr to hold the ref r=naving, sr=sspitzer 104398
git-svn-id: svn://10.0.0.236/trunk@106319 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 03:13:41 +00:00
alecf%netscape.com
58b7676c67 other part of bug 106130, remove unicharutil dependency and linking (just requires updates)
git-svn-id: svn://10.0.0.236/trunk@106318 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 03:06:04 +00:00
evaughan%netscape.com
eafb5e780d A little renaming. NOT IN BUILD
git-svn-id: svn://10.0.0.236/trunk@106315 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 02:41:06 +00:00
jst%netscape.com
b97c01a6d7 Fixing bug 106769. Document.prototype was not on the prototype chain for XMLDocument objects. sr=jband@netscape.com, r=bzbarsky@mit.edu
git-svn-id: svn://10.0.0.236/trunk@106314 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 02:39:56 +00:00
alecf%netscape.com
820a14b2cb other changes for bug 100214, r=jag, sr=scc
include nsUnicharUtils.h for useful stuf


git-svn-id: svn://10.0.0.236/trunk@106313 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 02:38:29 +00:00
brendan%mozilla.org
d33cfeae5d epstein@tellme.com's patch implementing JS_ClearNewbornRoots (106790, r=brendan, sr=jband).
git-svn-id: svn://10.0.0.236/trunk@106312 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 02:38:10 +00:00
brendan%mozilla.org
8b45204d8c khanson@netscape.com's fix for silent ValueIsLength failure (101488, r=rogerl, sr=me).
git-svn-id: svn://10.0.0.236/trunk@106311 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 02:35:01 +00:00
karnaze%netscape.com
eab9d0baff new regression test, not affecting the build.
git-svn-id: svn://10.0.0.236/trunk@106310 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 02:34:16 +00:00
alecf%netscape.com
f13ae072f9 fix some more stuff for bug 100214, sr=scc, r=jag
get rid of ToUpper() call, since it just calls into mCaseConversion anyway


git-svn-id: svn://10.0.0.236/trunk@106309 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 02:32:46 +00:00
karnaze%netscape.com
6c1a4b003e bug 60816 use correct cell when rowspan and colspan overlap. Fix pixel rounding errors. sr=attiansi, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@106308 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 02:30:38 +00:00
jst%netscape.com
3cd16cc0ad Fixing bug 106769. Document.prototype was not on the prototype chain for XMLDocument objects. sr=jband@netscape.com, r=bzbarsky@mit.edu
git-svn-id: svn://10.0.0.236/trunk@106307 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 02:23:56 +00:00
stephend%netscape.com
e8af69c41f Bug 106668. JS strict warnings in the new Search widget. r=naving@netscape.com, sr=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@106306 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 02:20:53 +00:00
racham%netscape.com
1b034e64d6 Fixing crasher bug 105670. Adding null check on incoming server in the process of getting default account. r=racham, sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@106305 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 02:19:43 +00:00
jst%netscape.com
d3611e95e0 Fixing bug 106823. Pass the length to nsAString::Assign() to make sure we don't loose embedded null characters in strings, and also to speed things up a bit. Also trunkate strings before 'voiding' them to make sure old string data is deleted from the string before it's reused. r=bzbarsky@mit.edu, rs=jband@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106304 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 02:18:16 +00:00
sspitzer%netscape.com
697a58798d hack fix for #106674. the non ASCII character in hwaara's name was
causing us to fail to convert the style sheet into UTF-8.
this was regression was caused by a checkin by bzbarsky@mit.edu.
he's working on a proper fix, and then we'll restore hwaara's name.

r=bzbarsky@mit.edu, sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@106303 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 02:07:57 +00:00
cavin%netscape.com
7691ed6826 Bug #74955: When loading folders, preset the msg hdr cache table size to eliminate
the need of allocating and de-allocating tables. Same thing for users of nsUInt32Array
and nsUInt8Array. r=bienvenu, sr=sspitzer.


git-svn-id: svn://10.0.0.236/trunk@106302 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 02:02:58 +00:00
dbaron%fas.harvard.edu
fbccbc22c2 Properly initialize out parameters to prevent the frame constructor from thinking it has to handle insertion points when it really doesn't. r=bryner sr=hyatt b=106802
git-svn-id: svn://10.0.0.236/trunk@106301 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 00:24:49 +00:00
bienvenu%netscape.com
186e3bfb3d fix abr caused by removing charset conversion code r=naving, sr=sspitzer 106725
git-svn-id: svn://10.0.0.236/trunk@106300 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 00:24:01 +00:00
bienvenu%netscape.com
c67da0a1c3 remove bunch of unused code after charset conversion code that needed it was removed r=naving, sr=sspitzer 106725
git-svn-id: svn://10.0.0.236/trunk@106299 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 00:22:07 +00:00
bienvenu%netscape.com
aada61e1f8 fix problem with 64 bit sorts, r=bienvenu, sr=sspitzer 101011 patch by shanmu@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106298 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 00:19:13 +00:00
dougt%netscape.com
68c5c2edc1 fixes spelling error in interface comment
git-svn-id: svn://10.0.0.236/trunk@106297 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 00:11:18 +00:00
dougt%netscape.com
4e8521b5c8 fixes 106736 and 106523. Regressions caused by nsIObserverService changes. r=chak@netscape.com r=morse@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106296 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 00:10:54 +00:00
dougt%netscape.com
83b67a7071 Freeze nsIMemory interface bug 99151 r=rpotts@netscape.com, sr=brendan@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106295 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 00:09:22 +00:00
hewitt%netscape.com
1365704b17 105751 - splitter should set orient attribute on itself based on parent orientation, r=jag, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@106294 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 00:09:12 +00:00
hewitt%netscape.com
608f7314a8 99235 - Bogus URL's added to urlbar history will corrupt localstore.rdf (patch by jrgm), r=jag, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@106293 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 00:05:55 +00:00
nhotta%netscape.com
7a95d5c5a6 Fixed to pass char* to PR_smprintf() instead of PRUnichar* which is not recognized, bug 105704, r=naving, sr=alecf.
git-svn-id: svn://10.0.0.236/trunk@106292 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 00:03:59 +00:00
morse%netscape.com
4a0d003d29 bug 105602, fix flawed alorithm for checking for secure cookies, r=jag, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@106291 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 23:58:03 +00:00
evaughan%netscape.com
5bdcdca3fa Make file fixes NOT IN BUILD
git-svn-id: svn://10.0.0.236/trunk@106289 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 23:05:23 +00:00
seawood%netscape.com
ca14d69eee Rename rhapsody to darwin
bug #106617


git-svn-id: svn://10.0.0.236/trunk@106287 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 21:34:51 +00:00
neeti%netscape.com
4543813726 Fix for bug 106585 - crash in XPCOMM.DLL during shutdown when mail-news window was open, r=shaver, sr=dougt
git-svn-id: svn://10.0.0.236/trunk@106284 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 21:03:35 +00:00
sspitzer%netscape.com
0af440900d fix (again) for blocker bug #106646.
for ContentInserted() and ContentAppended(), we need to go forward through the observers.
for ContentRemoved() and ContentReplaced(), we need to go backward.

sr=hyatt


git-svn-id: svn://10.0.0.236/trunk@106283 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 21:01:43 +00:00
sspitzer%netscape.com
fe5a90ed8e fix for blocker bug #106646. hyatt's hack applied to the ContentReplaced() case.
sr=hyatt.


git-svn-id: svn://10.0.0.236/trunk@106282 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 20:39:40 +00:00
myk%mozilla.org
becbccb87b Fix for bug 98602: re-implementation of "create attachment" page.
Patch by Myk Melez <myk@mozilla.org>.
r=gerv@mozilla.org,jake@acutex.net


git-svn-id: svn://10.0.0.236/trunk@106281 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 20:37:53 +00:00
dbaron%fas.harvard.edu
e1c9429f4f Fix Mac debug build bustage. (Why don't we have a mac debug tinderbox?) b=86947
git-svn-id: svn://10.0.0.236/trunk@106280 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 20:19:32 +00:00
depstein%netscape.com
3e91940e85 Included SimpleEnumerator.h, added maxLength check for sHistory index, updated Observe() in TestEmbed.cpp to handle profile switching changes.
git-svn-id: svn://10.0.0.236/trunk@106278 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 18:32:34 +00:00
sspitzer%netscape.com
361b0285b1 fix for blocker bug #106646, crash opening addressbook, compose, chatzilla, etc.
patch by hyatt.  r=sspitzer, sr=alecf


git-svn-id: svn://10.0.0.236/trunk@106277 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 18:27:25 +00:00
mkaply%us.ibm.com
463193f245 OS/2 test bustage - need LIB_SUFFIX for gkbase and need EXTRA_DSO_LIBS for gkgfx - note that I don't think gkgfx even needs to be linked for this test but I'm putting it in anyway
git-svn-id: svn://10.0.0.236/trunk@106276 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 16:36:33 +00:00
pinkerton%netscape.com
b5ced1c4cc adding nsIMenuCommandDispatcher.idl
git-svn-id: svn://10.0.0.236/trunk@106274 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 15:00:45 +00:00
jake%acutex.net
e6f2627084 Bug 104065 - Stop uninitilized string warnings from getting into the error log when the login cookie doesn't exist.
Patch by Dave Miller <justdave@syndicomm.com>
r= gerv@mozilla.org, jake@acutex.net


git-svn-id: svn://10.0.0.236/trunk@106273 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 14:46:58 +00:00
pinkerton%netscape.com
a82e6af042 new file
git-svn-id: svn://10.0.0.236/trunk@106272 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 14:29:14 +00:00
bzbarsky%mit.edu
24e640b57b Workaround for RealPlayer abusing mime.types files and fix for broken
behavior if an absolute nonexistent path is listed for a helper in
mailcap.  Bugs 106380, 106381. r=law, sr=mscott


git-svn-id: svn://10.0.0.236/trunk@106271 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 14:26:07 +00:00
pinkerton%netscape.com
d3777355aa rewrite osx menus to use carbon command events to work around all MenuSelect problems on carbon on 9. r=beard/sr=sfraser, bug#58227
git-svn-id: svn://10.0.0.236/trunk@106270 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 13:58:13 +00:00
mkaply%us.ibm.com
3fb7e38337 Attempt to fix OS/2 bustage
git-svn-id: svn://10.0.0.236/trunk@106269 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 13:13:28 +00:00
dbradley%netscape.com
759a8eb6b7 Bug 106130 - Remove dependancy of xpconnect on intl. r=alecf, sr=shaver, patch=jband
git-svn-id: svn://10.0.0.236/trunk@106268 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 12:07:23 +00:00
locka%iol.ie
51339aca45 Use do_GetService instead of nsServiceManager::GetService plus some re-indentation. b=105458 r=dougt@netscape.com sr=blizzard@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@106267 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 11:37:18 +00:00
jaggernaut%netscape.com
14371ff51c Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106266 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 10:37:41 +00:00
jaggernaut%netscape.com
afb834012b Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106265 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 09:44:29 +00:00
hyatt%netscape.com
6931cb1c9a Support for basic drag and drop in tabbrowser, r=ben, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@106264 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 09:43:23 +00:00
jaggernaut%netscape.com
1c972d7317 Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106263 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 09:16:56 +00:00
pavlov%netscape.com
3bc1b9f124 new image code for windows. not part of build. bug 104999
git-svn-id: svn://10.0.0.236/trunk@106262 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 09:01:32 +00:00
seawood%netscape.com
25c089864b Land the simple OSX Mach-O build changes.
Bug #75653 r=cls


git-svn-id: svn://10.0.0.236/trunk@106261 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 08:55:53 +00:00
peterv%netscape.com
18694f65c4 Fix buster for null-strings in the dom. r=Pike. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@106260 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 08:40:57 +00:00
hyatt%netscape.com
11d35ef86c Fix for 105587, tabs should support autohide, also other tabbrowser fixes. r=bryner, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@106259 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 08:33:12 +00:00
hyatt%netscape.com
3836372f62 Fix for 105587, tabs should support autohide, also other tabbrowser fixes. r=bryner, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@106258 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 08:22:43 +00:00
jaggernaut%netscape.com
5835031439 Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106257 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 07:45:52 +00:00
pavlov%netscape.com
8bdd562d78 fixing bug 106623 r=bryner sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@106256 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 07:44:55 +00:00
hyatt%netscape.com
b4376d8910 Fix for 106212, make ContentAppended work right with XBL insertion points. r=brendan, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@106255 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 07:31:18 +00:00
jaggernaut%netscape.com
453cb11f55 Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106254 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 06:42:23 +00:00
dbaron%fas.harvard.edu
be48c3eb66 Fixing AIX and OS/2 bustage by passing by value instead of by reference to operator== and operator!=.
git-svn-id: svn://10.0.0.236/trunk@106253 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 06:34:10 +00:00
matt%netscape.com
28257bacaf Adding tooltip to sidebar for search. r=samir sr=hewitt bug 77624
git-svn-id: svn://10.0.0.236/trunk@106252 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 06:29:13 +00:00
jaggernaut%netscape.com
9dba49d0db Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106250 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 06:13:52 +00:00
naving%netscape.com
05a1c4d2ea 103734 r=sspitzer sr=bienvenu. landing Quick Search feature for mail 3 pane.
git-svn-id: svn://10.0.0.236/trunk@106249 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 05:34:49 +00:00
jaggernaut%netscape.com
adf0bd9e66 Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106248 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 05:10:08 +00:00
jst%netscape.com
18b8171d1a Fixing bug 106181. When a window object is asked for the numeric property n, we return the n:th frame in the window, but if there is no n:th frame we should let the JS engine do its thing w/o forsing it to return null. r=jag@netscape.com, sr=rpotts@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106247 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 05:09:03 +00:00
stephend%netscape.com
c70f31b748 Bug 94022. Copies and Folders -> Copies & Folders. r=timeless, sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@106246 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 04:58:07 +00:00
dbaron%fas.harvard.edu
d71c613a49 Adding work in progress for new auto pointers in order to test easily on many compilers. b=104346
git-svn-id: svn://10.0.0.236/trunk@106245 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 04:09:38 +00:00
jst%netscape.com
450353a0af Fixing bug 106571. We can live w/o storing a nsINameSpace pointer in our XUL and XML elements (which saves us 4 bytes for every XML (read XBL) element and for the XUL slots), also remove the accessors from the interface nsIXMLContent, and remove some unused code in nsXULContentUtils. r=dbaron@netscape.com, sr=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106244 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 04:08:29 +00:00
despotdaemon%netscape.com
013e193d41 Pseudo-automatic update of changes made by lordpixel@mac.com.
git-svn-id: svn://10.0.0.236/trunk@106243 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 04:07:20 +00:00
dbaron%fas.harvard.edu
b6abdf1de4 Remove nsViewManager2.cpp for roc. b=73382
git-svn-id: svn://10.0.0.236/trunk@106242 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 03:52:07 +00:00
jaggernaut%netscape.com
ab31de16ae Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106241 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 03:49:28 +00:00
roc+%cs.cmu.edu
72aa716fbe Bug 73382. Cleaning up view manager; remove nsViewManager2 from build. r=kmcclusk,sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@106240 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 03:43:28 +00:00
roc+%cs.cmu.edu
ce8322ef4c Bug 73382. Cleaning up view manager; remove nsViewManager2, it's ueless. r=kmcclusk,sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@106239 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 03:42:39 +00:00
roc+%cs.cmu.edu
19217a44fb Bug 106355. Regression where paint requests entirely outside the widge area caused copying of bogus bits from the backbuffer. r=kmcclusk,sr=waterson
git-svn-id: svn://10.0.0.236/trunk@106237 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 03:36:01 +00:00
seawood%netscape.com
f66607494f Don't explicitly add $(srcdir) and let VPATH do its thing. Fixes packages built in objdirs.
git-svn-id: svn://10.0.0.236/trunk@106236 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 03:35:01 +00:00
dbaron%fas.harvard.edu
9ef49bf676 Fix member initializer re-ordered warnings by re-ordering member initializers. r=jag rs=waterson b=105974
git-svn-id: svn://10.0.0.236/trunk@106235 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 03:21:53 +00:00
naving%netscape.com
e9de645cd0 102467 r/sr=bienvenu. fix a small memory leak
git-svn-id: svn://10.0.0.236/trunk@106234 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 03:14:33 +00:00
timeless%mac.com
78140762fb Bugzilla Bug 97136 Unable to load filter on space characters
patch by alexey@ihug.com.au r=naving, sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@106233 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 03:11:40 +00:00
dbaron%fas.harvard.edu
9d2cde6f2f Fix HP bustage. Why did I ever add this to the build on Unix?
git-svn-id: svn://10.0.0.236/trunk@106231 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 03:05:37 +00:00
andreww%netscape.com
0c87d3d7fc bugzilla 81196 r=shliang sr=hewitt - vertical spacing and alignment of checkboxes and radio buttons in mac classic.
git-svn-id: svn://10.0.0.236/trunk@106230 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 02:57:31 +00:00
dbaron%fas.harvard.edu
bd39ad7ef4 Remove unneeded include with the wrong case.
git-svn-id: svn://10.0.0.236/trunk@106229 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 02:47:55 +00:00
bienvenu%netscape.com
a6941f6c6d bulletproof for crash with filters and movemail r=adam@gimp.org, sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@106228 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 02:26:16 +00:00
bienvenu%netscape.com
b1f0ea4be4 add ui for label feature, r=ssu, sr=sspitzer, fix problem with command enabling for local mail, r=varada, sr=sspitzer 106067 106504
git-svn-id: svn://10.0.0.236/trunk@106227 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 02:25:08 +00:00
dbaron%fas.harvard.edu
8b3489a026 Bug 86947:
Make the line list doubly linked and access it through a list class and iterators.
Stop recomputing margins on all of the children of each block in the reflow chain (which causes O(N^2) state recovery during incremental reflow).  Instead, add a second dirty bit to the lines and walk backwards through the line list to recompute vertical margins only when either dirty bit is set and the previous line was not reflowed.  Add nsIFrame::IsEmpty to identify frames through which margins collapse.
Fix O(N^2) propagation of float damage by maintaining a set of intervals damaged by floats (bug 61962) and be sure to damage the correct areas (bug 48138).
Introduce nsCollapsingMargin to do correct collapsing of combinations of positive and negative margins (bug 50142).
Clean up some odds and ends and fix another smaller O(N^2) problem in nsBlockFrame::AddFrames.
r=attinasi, rbs  sr=waterson


git-svn-id: svn://10.0.0.236/trunk@106224 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 01:08:40 +00:00
dbaron%fas.harvard.edu
0b3593b0fc Add nsIntervalSet.cpp to the build. b=86947
git-svn-id: svn://10.0.0.236/trunk@106223 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 01:08:35 +00:00
timeless%mac.com
a140bc5473 Bug 104540 LXR updates for .idl collaboration diagrams
by mozilla@elemental.com (Brian Bramlett)
r=endico


git-svn-id: svn://10.0.0.236/trunk@106222 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 01:05:07 +00:00
despotdaemon%netscape.com
048c5eb918 Pseudo-automatic update of changes made by samuel@sieb.net.
git-svn-id: svn://10.0.0.236/trunk@106219 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 00:40:23 +00:00
bzbarsky%mit.edu
c180e28886 Improve how we get our charset for stylesheets. Look at HTTP header,
charset attribute on <link> or <?xml-stylesheet?> and at the document's
charset.  Bugs 57164, 72658, 83207.  r=pierre, sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@106217 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 00:34:20 +00:00
bzbarsky%mit.edu
1057cb4190 Make pasting from remote apps on X time out independently of processor
speed.  Bug 87207, patch by Rickard Westman <riw@swipnet.se>, r=pavlov,
sr=blizzard CVS:
----------------------------------------------------------------------
nsClipboard.cpp CVS:
----------------------------------------------------------------------


git-svn-id: svn://10.0.0.236/trunk@106216 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 00:30:30 +00:00
bzbarsky%mit.edu
1dbc9647e5 Make SetDocument() get a new nodeinfo if the old one does not match the
new document.  Bug 106393, r=peterv, sr=jst


git-svn-id: svn://10.0.0.236/trunk@106215 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 00:28:08 +00:00
morse%netscape.com
0232749fd5 bug 106304, bad wording in dialog, r=bryner, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@106214 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 00:26:50 +00:00
brendan%mozilla.org
2163e55b8e Add mutable (growable or dependent, two subtypes) strings to solve O(n^2) and O(n^3) growth rates (56940, r=rogerl, sr=jband&shaver).
git-svn-id: svn://10.0.0.236/trunk@106213 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 00:26:38 +00:00
karnaze%netscape.com
fad3ac250f new regression test, not affecting the build.
git-svn-id: svn://10.0.0.236/trunk@106212 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 00:26:16 +00:00
karnaze%netscape.com
54f2a7e5c0 bug 106336 - treat % cellspacing, cellpadding as pixel. sr=attinasi, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@106211 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 00:24:08 +00:00
ducarroz%netscape.com
de141f84d8 Fix for bug 106560. Crash in StyleSetImp::ShutDown when mRuleTree is null. Need to check mRuleTree before using it. R=bienvenu, SR=hyatt
git-svn-id: svn://10.0.0.236/trunk@106210 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 00:19:21 +00:00
nhotta%netscape.com
09b1885365 Changes for JA conversion tables, bug 54135, rs=ftang, rs=blizzard.
git-svn-id: svn://10.0.0.236/trunk@106209 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 23:57:50 +00:00
nhotta%netscape.com
6a84cf5086 For mail body charset conversion, if charset is "us-ascii" then use "ISO-8859-1", bug 82591, r=ducarroz, sr=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@106208 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 23:54:07 +00:00
timeless%mac.com
1ecaa7f3b1 Bugzilla Bug 104244 [RFE] add reload this/all tab(s) to context menu
patch by simm0@ii.net r=hyatt sr=blake


git-svn-id: svn://10.0.0.236/trunk@106207 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 23:49:54 +00:00
jaggernaut%netscape.com
5e2a1a7476 Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106206 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 23:47:43 +00:00
jst%netscape.com
d2bf33af2a Fixing blocker bug 106527 (as part of bug 69468), allow creation of atoms for empty strings but don't crash when creating atoms for strings that have no internal buffer. r=dbaron@netscape.com, sr=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@106203 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 23:36:58 +00:00
nelsonb%netscape.com
d8d2f0e62b Explanation of the files in this directory.
git-svn-id: svn://10.0.0.236/trunk@106200 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 22:17:30 +00:00
karnaze%netscape.com
d0cead0255 new regression test, not affecting the build.
git-svn-id: svn://10.0.0.236/trunk@106199 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 21:55:52 +00:00
mkaply%us.ibm.com
bf92a698d1 This should be the other AIX bustage
git-svn-id: svn://10.0.0.236/trunk@106198 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 21:40:27 +00:00
bbaetz%cs.mcgill.ca
59af65fd2f Fixed "used only once" warning coming from my patch for bug 97469. The
warning was hidden from the tests by bug 106424.

r=Jake, no 2nd review needed.


git-svn-id: svn://10.0.0.236/trunk@106195 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 20:33:49 +00:00
jpierre%netscape.com
fc33ccb04d Fix debug symbols in OS/2 build of NSPR by using absolute paths. Bug 105271
git-svn-id: svn://10.0.0.236/trunk@106194 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 20:19:05 +00:00
jst%netscape.com
cd19286dfb Fixing blocker bug 106474. Make nsAFlatString::GetReadableFragment() deal with a null buffer handles correctly. r=kin@netscape.com, sr=scc@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@106189 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 19:29:42 +00:00
mkaply%us.ibm.com
0b0e2dd7c9 Fix for OS/2 and AIX bustage
git-svn-id: svn://10.0.0.236/trunk@106188 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 19:12:02 +00:00
beard%netscape.com
0a9bd3f85d [Not part of build] Bumped versions to 1.0d3.
git-svn-id: svn://10.0.0.236/trunk@106187 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 19:02:51 +00:00
beard%netscape.com
99ea75333f [not part of build] Renamed JavaConsole.log to "Java Console.log". Implemented UnwrapJavaWrapper().
git-svn-id: svn://10.0.0.236/trunk@106186 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 19:02:32 +00:00
dsirnapalli%netscape.com
44bf7478bc modified the title.
git-svn-id: svn://10.0.0.236/trunk@106185 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 18:59:15 +00:00
beard%netscape.com
61dfa132a1 [not part of build] Fixed hang when starting JNIThread triggers a security exception. Removed obsolete NSAGG stuff.
git-svn-id: svn://10.0.0.236/trunk@106184 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 18:58:20 +00:00
dsirnapalli%netscape.com
d2e133d7ec modified title.
git-svn-id: svn://10.0.0.236/trunk@106183 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 18:55:47 +00:00
jake%acutex.net
f6426c6f03 Don't rely on the TEST_VERBOSE environment variable (no longer exported from runtests.sh) and instead print to the TESTOUT file handle pulled in from Test::More. This will allow the testing backend to check for verbosity rather than having to handle it in the .t files.
git-svn-id: svn://10.0.0.236/trunk@106182 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 18:41:53 +00:00
dsirnapalli%netscape.com
97a2ef3389 modified the title.
git-svn-id: svn://10.0.0.236/trunk@106181 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 18:40:57 +00:00
dougt%netscape.com
9e7d4bff37 Fixes bug 106313 (smoketest blocker). Allowing notification of weak references, regression caused by my nsIObserverService landing. sr=alecf@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@106179 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 18:02:46 +00:00
jpierre%netscape.com
0db6c405c6 Better way of calling assembler on OS/2
git-svn-id: svn://10.0.0.236/trunk@106177 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 17:35:18 +00:00
mkaply%us.ibm.com
2b0ee4554e #106000
r=pedemont, a=blizzard
Wrong coordinates for stretching 24bit images


git-svn-id: svn://10.0.0.236/trunk@106169 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 14:46:26 +00:00
bernd.mielke%snafu.de
ac43e7d583 bug 104898 the borderpadding should not influence the inner table margin relative to the
outertable frame r=karnaze sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@106168 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 14:36:33 +00:00
wtc%netscape.com
5b76abc737 Bugzilla bug 103892: include <stdlib.h> rather than <malloc.h> for the
malloc functions.  r=cls.


git-svn-id: svn://10.0.0.236/trunk@106167 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 14:33:28 +00:00
jake%acutex.net
5f73a3f4db Bug 106424 - We weren't going orange on warnings such as "used only once". This script now properly outputs the --WARNING and fails on such a condition.
git-svn-id: svn://10.0.0.236/trunk@106166 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 13:29:49 +00:00
simon%softel.co.il
ec64a2b0c8 Fix for bug 75034: Selection highlight on some Bidi pages was displayed in the opposite position to the actual selection. r=kin@netscape.com, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@106165 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 11:12:31 +00:00
jaggernaut%netscape.com
bc36e83f58 Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106162 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 09:43:59 +00:00
jaggernaut%netscape.com
56e20f9b60 Replace goto with if.
git-svn-id: svn://10.0.0.236/trunk@106159 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 09:29:54 +00:00
jaggernaut%netscape.com
94c710fdc4 Bug 53057: Fixing up users of implicit |CharT*| conversion operators for nsCString to use |.get()| instead, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106158 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 09:22:08 +00:00
jaggernaut%netscape.com
238eb280fb Bug 53057: [API] turn off implicit |CharT*| conversion operators for nsCString, rr=dbaron, rs=scc
git-svn-id: svn://10.0.0.236/trunk@106157 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 09:06:49 +00:00
dbaron%fas.harvard.edu
2f1eb6d907 My guess at AIX and OS/2 bustage was wrong -- backing it out. Someone with access to a machine with one of those compilers will have to try various things here.
git-svn-id: svn://10.0.0.236/trunk@106156 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 09:03:46 +00:00
jaggernaut%netscape.com
be692fb779 Attempt at fixing bustage for Mac OS X
git-svn-id: svn://10.0.0.236/trunk@106155 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 09:03:09 +00:00
axel%pike.org
257248e5d0 bug 104042, more leaked exprResults. r=peterv, sr=jst
git-svn-id: svn://10.0.0.236/trunk@106154 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 09:00:32 +00:00
jst%netscape.com
22a7f4c158 Fixing bug 106421. Now that we support null strings in the DOM node.localName can be null so we must check for that before calling methods on localName. r=jaggernaut@netscape.com, peterv@netscape.com, sr=me (trivial changes).
git-svn-id: svn://10.0.0.236/trunk@106153 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 08:57:17 +00:00
axel%pike.org
4196f98412 bug 104042, fix leak in standalone namespacemanager, r=sicking,peterv, sr=jst
git-svn-id: svn://10.0.0.236/trunk@106152 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 08:45:32 +00:00
jaggernaut%netscape.com
5e8d984878 BUg 103222: Spiff up nsICollation::CompareStrings string-fu, r=dbaron, sr=brendan
git-svn-id: svn://10.0.0.236/trunk@106151 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 08:15:57 +00:00
glazman%netscape.com
ddcf3462dc STYLE attribute should not expand CSS shorthand property assignment to equivalent longhand assignments; b=18894, r=peterv, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@106150 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 08:08:30 +00:00
dbaron%fas.harvard.edu
14bbe2fc1a Moving nsRuleNode.cpp back to content/base/src from content/shared/src and inlining GetRule to fix linker errors on BeOS and probably also AIX, and since it doesn't need to be in content/shared and cvs won't like re-adding to content/html/style/src. b=104336
git-svn-id: svn://10.0.0.236/trunk@106149 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 07:48:01 +00:00
jst%netscape.com
51e4831f64 Fixing bug 69468. Finally adding support for string nullness to XPConnect. r=jaggernaut@netscape.com, shaver@mozilla.org, sr=jband@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106148 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 07:15:06 +00:00
jst%netscape.com
27f42d5eb2 Fixing bug 90143. Crash in DOM timeout code on Win2k due to OS timers firing early and out of order. r=peterv@netscape.com, sr=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106147 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 06:58:11 +00:00
dbaron%fas.harvard.edu
ae6bbca773 Wild guess at fixing AIX and OS/2 bustage.
git-svn-id: svn://10.0.0.236/trunk@106146 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 06:53:39 +00:00
dbaron%fas.harvard.edu
8de595e1a9 Move nsRuleNode.cpp from content/shared/src/ to content/base/src/. b=104336
git-svn-id: svn://10.0.0.236/trunk@106145 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 06:36:09 +00:00
dbaron%fas.harvard.edu
a222daa57a Moving nsRuleNode.cpp back to content/base/src from content/shared/src and inlining GetRule to fix linker errors on BeOS and probably also AIX, and since it doesn't need to be in content/shared and cvs won't like re-adding to content/html/style/src. b=104336
git-svn-id: svn://10.0.0.236/trunk@106143 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 06:25:08 +00:00
stephend%netscape.com
c7c063af59 Bug 106172. Enabling tooltips for Venkman. Patch by Bradley Hart <bhart00@yahoo.com> r=rginda, sr=brendan
git-svn-id: svn://10.0.0.236/trunk@106142 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 06:23:24 +00:00
attinasi%netscape.com
b1c02980eb Fixed crash when positioned applet has to show the alt text. b=99776 r=dbaron sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@106140 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 06:13:10 +00:00
jaggernaut%netscape.com
de17e83dc1 This nsAString& really deserves to be const. r=dbaron
git-svn-id: svn://10.0.0.236/trunk@106139 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 06:11:02 +00:00
wtc%netscape.com
3796851050 Bugzilla bug 106388: made the release_export rule work with VPATH.
git-svn-id: svn://10.0.0.236/trunk@106137 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 05:43:07 +00:00
bryner%netscape.com
d674a46902 fixing crash on exit. r=attinasi, sr=hyatt.
git-svn-id: svn://10.0.0.236/trunk@106135 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 05:20:11 +00:00
attinasi%netscape.com
cbf1f7522f Checkin for tingley@sundell.net - Blinking text optional via pref 'browser.blink_enabled' b=19258 r=dbaron sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@106134 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 04:52:39 +00:00
attinasi%netscape.com
739f7f8dad Checkin for tingley@sundell.net - Blinking text optional via pref b=19258 r=dbaron sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@106133 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 04:51:34 +00:00
bernd.mielke%snafu.de
f7141b99f6 bug 103443 remove the last two occurences of rv?rv:NS_ERROR_FAILURE
r=kin sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@106132 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 04:50:37 +00:00
pavlov%netscape.com
5737de4aba fix for bug 105964. r=timeless sr=waterson
git-svn-id: svn://10.0.0.236/trunk@106131 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 04:25:40 +00:00
shanjian%netscape.com
95ef4f3a82 fix mac bustage,
r=jelwell


git-svn-id: svn://10.0.0.236/trunk@106129 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 03:17:44 +00:00
hyatt%netscape.com
9d81f5d9f9 Fix leaks. r=dbaron, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@106127 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 02:22:40 +00:00
pschwartau%netscape.com
34e3cda14f Adding two more cases to the test.
git-svn-id: svn://10.0.0.236/trunk@106125 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 02:01:59 +00:00
hyatt%netscape.com
1503f1b4bb Fix mac bustage.
git-svn-id: svn://10.0.0.236/trunk@106124 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 02:00:15 +00:00
shrutiv%netscape.com
a916e5adef Fix for bug 105735: CD Autorun option with existing Windows configuration
(r=tao)


git-svn-id: svn://10.0.0.236/trunk@106123 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 01:56:16 +00:00
shrutiv%netscape.com
4b65b3a8d1 Fix for bug 106298: Without the CD Autorun option, creating a Windows
installer from an existing Linux configuration tarball doesn't get
removed (r=tao)


git-svn-id: svn://10.0.0.236/trunk@106122 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 01:44:05 +00:00
myk%mozilla.org
90cb92a74d Fix for bug 106315: Link on bug list for emailing QA contacts.
Patch by Dave Miller <justdave@syndicomm.com>.
r=myk@mozilla.org, no second review needed.


git-svn-id: svn://10.0.0.236/trunk@106119 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 01:31:09 +00:00
hyatt%netscape.com
38c3c6561e Fix inspector bustage.
git-svn-id: svn://10.0.0.236/trunk@106118 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 01:18:24 +00:00
cathleen%netscape.com
1dc76a53f2 Fix static build bustage.
git-svn-id: svn://10.0.0.236/trunk@106117 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 01:13:51 +00:00
hyatt%netscape.com
be43b483ee Put nsRuleNode.cpp in the shared folder inside contentshared.mcp
git-svn-id: svn://10.0.0.236/trunk@106116 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:59:52 +00:00
hyatt%netscape.com
e28637a19a added files: mozilla/content/shared/src/nsRuleNode.cpp
git-svn-id: svn://10.0.0.236/trunk@106115 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:58:36 +00:00
relyea%netscape.com
dab0dff719 CKT_ Trust values are "enums" not flags.
git-svn-id: svn://10.0.0.236/trunk@106113 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:57:06 +00:00
hyatt%netscape.com
b083be58b2 Fix linux bustage.
git-svn-id: svn://10.0.0.236/trunk@106111 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:33:17 +00:00
mscott%netscape.com
e262944a1e Bug #105553 --> convert message display to use some new XBL widgets.
r=sspitzer
sr=hewitt


git-svn-id: svn://10.0.0.236/trunk@106110 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:28:02 +00:00
mscott%netscape.com
9e9b89d430 Bug #105553 --> convert message header display to use new XBL widget
Bug #73413 --> hook up a first pass at view all headers
Bug #51616 --> don't let long subjects (with no spaces) reak havoc on the message pane.
r=ducarroz
sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106109 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:27:03 +00:00
mscott%netscape.com
13122df7bb Bug #105553 --> add XBL widgets for use in message display
r=sspitzer
sr=hewitt


git-svn-id: svn://10.0.0.236/trunk@106108 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:26:09 +00:00
av%netscape.com
a92955ba63 Reflecting changes to the server manager in the plugin SDK -- not part of the build yet.
git-svn-id: svn://10.0.0.236/trunk@106107 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:23:28 +00:00
shanjian%netscape.com
5f1bfe137e #97176 startup perf- remove the need of loading of fontEncoding.properties files at startup time to speed up
This is part of patch for 97176, it was mistakenly removed when I checked in for 102706.
r=rbs, sr=waterson


git-svn-id: svn://10.0.0.236/trunk@106106 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:21:48 +00:00
dsirnapalli%netscape.com
68dcb1767a *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@106105 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:16:44 +00:00
shanjian%netscape.com
1fd6667027 #12481 libmime to feed more characters for charset detection
r=naoki, r=ducarroz, sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106104 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:16:01 +00:00
seawood%netscape.com
97ffe4d6de Fix xpcom standalone build
git-svn-id: svn://10.0.0.236/trunk@106103 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:12:06 +00:00
hyatt%netscape.com
3f41247742 added files: mozilla/content/shared/src/nsRuleNode.cpp, removed files: mozilla/content/html/style/src/nsRuleWalker.cpp, mozilla/content/html/style/src/nsRuleNode.cpp
git-svn-id: svn://10.0.0.236/trunk@106102 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:01:50 +00:00
hyatt%netscape.com
ab0e4e56d4 Fix for 104336, deCOMtaminate rulenode, rulewalker, frames, r=dbaron, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@106100 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:01:09 +00:00
varada%netscape.com
d06349b965 fix for 65761 - prefill filters using email address;r=ducarroz;sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@106099 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:00:32 +00:00
sspitzer%netscape.com
7d0572e219 fix for #55473. "View" | "Sort by" and "Messages" should be radio buttons, not checkboxes.
thanks to andreas.premstaller@uibk.ac.at for the patch.  r/sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@106098 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 23:54:54 +00:00
tor%cs.brown.edu
dde00832b1 Update to tip - not in build.
git-svn-id: svn://10.0.0.236/trunk@106097 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 23:53:49 +00:00
hewitt%netscape.com
451fe96bf9 106132 - DOM Inspector broken by changes to Pref API, r=jag, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@106096 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 23:53:44 +00:00
hewitt%netscape.com
3e3d0c87ce 86551 - First show of autocomplete is blank or something or other, r=jag, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@106095 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 23:48:35 +00:00
naving%netscape.com
ee1695d3e8 106160. r=sspitzer sr=bienvenu fix a crash on reading local messages, the fix is not to loadURL if we cannot
get a msgHdr for the message.


git-svn-id: svn://10.0.0.236/trunk@106093 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 23:41:47 +00:00
nhotta%netscape.com
abfeddfb7c Fix the window close problem for saveAs in .js, enable the charset alert in .cpp and some clean up,
bug 89655, r=ducarroz, sr=bienvenu.


git-svn-id: svn://10.0.0.236/trunk@106092 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 23:25:02 +00:00
morse%netscape.com
bea286690a bug 106216, remove bogus js warning messages, r=sgehani, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@106091 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 23:12:18 +00:00
dsirnapalli%netscape.com
1c375c8b65 Modified the testcase to report the results in tabular form.
git-svn-id: svn://10.0.0.236/trunk@106090 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 23:10:08 +00:00
seawood%netscape.com
6b9389f5a3 Fix typo
git-svn-id: svn://10.0.0.236/trunk@106089 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 23:10:02 +00:00
hewitt%netscape.com
7a0a367e92 101876 - polish wizard implementation, r=blake, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@106088 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 23:04:49 +00:00
pschwartau%netscape.com
9a0f2bf19c Improving comments.
git-svn-id: svn://10.0.0.236/trunk@106087 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 23:02:25 +00:00
darin%netscape.com
283b8d757e NOT PART OF THE BUILD: adding Makefile.in for MachO build
git-svn-id: svn://10.0.0.236/trunk@106086 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:51:09 +00:00
darin%netscape.com
ad7578a214 NOT PART OF THE BUILD: adding Makefile.in for the MachO build
git-svn-id: svn://10.0.0.236/trunk@106085 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:49:42 +00:00
waldemar%netscape.com
fac2660668 Reordered sections to match E4 draft. Added prototype semantic domain.
git-svn-id: svn://10.0.0.236/trunk@106084 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:47:20 +00:00
waldemar%netscape.com
e96301fd24 Added dump-lexer
git-svn-id: svn://10.0.0.236/trunk@106083 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:46:26 +00:00
waldemar%netscape.com
a21269cce0 Fixed handling of unions containing forward-defined types
git-svn-id: svn://10.0.0.236/trunk@106082 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:46:01 +00:00
waldemar%netscape.com
0e3af4d9d9 Added :nbsp
git-svn-id: svn://10.0.0.236/trunk@106081 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:45:31 +00:00
waldemar%netscape.com
35f6333ba5 Added :global-call and support for styled text inside %heading
git-svn-id: svn://10.0.0.236/trunk@106080 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:45:20 +00:00
sspitzer%netscape.com
04c67a04a7 fix for #106308. fix duplicate resource ids. r=hwaara, rs=bienvenu
git-svn-id: svn://10.0.0.236/trunk@106079 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:40:12 +00:00
dprice%netscape.com
3ab4deae63 fix 42433 r=dveditz sr=mscott
File.DirCreate now returns success if dir already exists


git-svn-id: svn://10.0.0.236/trunk@106076 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:35:11 +00:00
pschwartau%netscape.com
eb6bee857f Initial add. Test for regexps with global flag set.
git-svn-id: svn://10.0.0.236/trunk@106074 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:29:01 +00:00
wtc%netscape.com
f76ce3deba DBM (mcom_db.h) is no longer testing for the HAVE_COMPAT_H macro.
git-svn-id: svn://10.0.0.236/trunk@106073 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:24:34 +00:00
bienvenu%netscape.com
4034b315d1 some front end for labels r=ssu, sr=sspitzer 106067
git-svn-id: svn://10.0.0.236/trunk@106072 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:22:32 +00:00
bienvenu%netscape.com
69c36af800 some front end for label filters r=naving, sr=sspitzer 106067
git-svn-id: svn://10.0.0.236/trunk@106071 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:21:38 +00:00
bzbarsky%mit.edu
66a5cec532 Make setting body.style.background invalidate the whole canvas so the
background is repainted correctly. r=kmcclusk@netscape.com, sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@106067 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:08:30 +00:00
alecf%netscape.com
96cefc42e2 NS_LITERAL_STRING cruft that's needed for 100214, got left over from dougt's patch
git-svn-id: svn://10.0.0.236/trunk@106066 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:07:29 +00:00
bienvenu%netscape.com
428644ad1a add backend support for filter labels r=ssu, sr=sspitzer 106067
git-svn-id: svn://10.0.0.236/trunk@106065 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:07:24 +00:00
bienvenu%netscape.com
ada632adf4 add backend support for labels r=ssu, sr=sspitzer 106067
git-svn-id: svn://10.0.0.236/trunk@106064 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:06:03 +00:00
wtc%netscape.com
196a987032 Bugzilla bug 105173: test the compiler-defined __SVR4 macro instead of
SVR4 for Solaris.
Modified Files:
        include/mcom_db.h include/ncompat.h src/memmove.c


git-svn-id: svn://10.0.0.236/trunk@106063 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:05:06 +00:00
bienvenu%netscape.com
0a13aa1bb1 add label type r=ssu, sr=sspitzer 106067
git-svn-id: svn://10.0.0.236/trunk@106062 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 22:04:03 +00:00
pschwartau%netscape.com
7545f7e70b More accurate comment.
git-svn-id: svn://10.0.0.236/trunk@106058 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 19:28:40 +00:00
pschwartau%netscape.com
539afa39e5 Correcting an error in comments.
git-svn-id: svn://10.0.0.236/trunk@106057 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 19:12:42 +00:00
pschwartau%netscape.com
31d2084e5c Minor changes in style.
git-svn-id: svn://10.0.0.236/trunk@106056 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 17:39:31 +00:00
shrutiv%netscape.com
34e8a6ea4a Changing flag parameter from int to boolean (r=tao)
git-svn-id: svn://10.0.0.236/trunk@106055 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 17:11:52 +00:00
relyea%netscape.com
c3da362afd We lookup C_Initialize for non-db functions, not dbOnly functions (this should
get tokens working again.


git-svn-id: svn://10.0.0.236/trunk@106054 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 16:54:58 +00:00
shrutiv%netscape.com
90430ba110 Fix for bug 105588: linux installer cores if the config is cloned from
window's (r=tao)


git-svn-id: svn://10.0.0.236/trunk@106053 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 16:49:12 +00:00
bbaetz%cs.mcgill.ca
cced8d8047 Bug 97469 - Assignee/QA/Reporter/CC don't get email on restricted bugs.
Also fixes seeing bugs in the buglist (bug 95024), dependancy lists,
tooltips, duplicates, and everywhere else I could see which checked group
bugs.groupset == 0.

Also fxed bug 101560, by clearing BASH_ENV

r=myk,justdave


git-svn-id: svn://10.0.0.236/trunk@106051 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 15:44:53 +00:00
bzbarsky%mit.edu
3ce2e1eabc Convert nsXMLProcessingInstruction::GetAttrValue to iterators. Bug
106163, r=jag, sr=jst


git-svn-id: svn://10.0.0.236/trunk@106050 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 15:32:52 +00:00
jake%acutex.net
251ac470d6 Bug 63249 - The Bug Counts report was running very slowly due to unneeded fields/joins in the SQL query.
Patch by Matthew Tuck <matty@chariot.net.au>
r= gerv@mozilla.org, jake@acutex.net


git-svn-id: svn://10.0.0.236/trunk@106049 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 14:45:45 +00:00
locka%iol.ie
62254b2afe NOT PART OF BUILD. Removed implementation of the "new" Moz plugin APIs in favour of the NS API
git-svn-id: svn://10.0.0.236/trunk@106046 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 12:41:56 +00:00
locka%iol.ie
05d84b3211 NOT PART OF BUILD. Added framework to support XPConnect scripting of plugin
git-svn-id: svn://10.0.0.236/trunk@106045 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 12:39:46 +00:00
locka%iol.ie
01ef22731f NOT PART OF BUILD. Added framework to support XPConnect scripting of plugin
git-svn-id: svn://10.0.0.236/trunk@106043 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 11:50:22 +00:00
locka%iol.ie
3fbc0115c6 Disable ActiveX control registration during build by default. sr=kin@netscape.com b=105285
git-svn-id: svn://10.0.0.236/trunk@106041 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 11:39:06 +00:00
pavlov%netscape.com
71fb6121f8 fixing windows build bustage
git-svn-id: svn://10.0.0.236/trunk@106039 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 08:38:14 +00:00
leaf%mozilla.org
0cabdf2b22 Automated update
git-svn-id: svn://10.0.0.236/trunk@106038 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 08:28:16 +00:00
cls%seawood.org
2bd5f6543a Since the purpose of --enable-ultrasparc is to just flip on the ultrasparc-specific js compare & swap code, move the asflags/defines to turn it on back into js/src/Makefile.in rather than causing the entire project to be built with those flags.
git-svn-id: svn://10.0.0.236/trunk@106037 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 08:17:16 +00:00
seawood%netscape.com
a904a27013 Add PR_CALLBACK to declaration of PLDHashTableEnumeratorImpl::Enumerator as well.
git-svn-id: svn://10.0.0.236/trunk@106036 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 08:09:56 +00:00
pavlov%netscape.com
0c94ba945f fixing bug 106199. r=ben sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@106035 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 08:07:03 +00:00
hyatt%netscape.com
ccc139d4b1 Someone didn't convert GetBoolPref in this file, sigh. r=pav, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@106034 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 07:35:02 +00:00
axel%pike.org
137be36b91 bug 104042, fix leaks in main (ifstream) and UnionExpr::evaluate (adding a null check and some iteratorlove, too), r=sicking@bigfoot.com,peterv, sr=jst
git-svn-id: svn://10.0.0.236/trunk@106033 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 07:34:27 +00:00
axel%pike.org
03728af7e3 bug 104042, plug leaks in variable code and import frames. checking in for sicking@bigfoot.com, r=me, peterv, sr=jst.
git-svn-id: svn://10.0.0.236/trunk@106032 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 07:32:19 +00:00
seawood%netscape.com
b6934d8ae1 Declare PLDHashTableEnumeratorImpl::Enumerator as a callback function.
Blind fix for OS/2 bustage


git-svn-id: svn://10.0.0.236/trunk@106031 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 06:52:07 +00:00
seawood%netscape.com
3e4295eb82 Spit out error if given -d without argument.
Bug #74067


git-svn-id: svn://10.0.0.236/trunk@106030 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 06:25:59 +00:00
kaie%netscape.com
9161f336a5 b=79153 r=javi sr=blizzard
Crypto key generation feedback, prevent crash, cleanup code, add a call from second code path.


git-svn-id: svn://10.0.0.236/trunk@106028 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 06:11:57 +00:00
curt%scruznet.com
b700abec04 Enables Okay button so dialog can be closed.
Fixes bug #53224.


git-svn-id: svn://10.0.0.236/trunk@106027 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 06:00:37 +00:00
curt%scruznet.com
52eb9190f4 Enables the pause button. Fixes bug #84595.
git-svn-id: svn://10.0.0.236/trunk@106026 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 05:49:20 +00:00
hewitt%netscape.com
cca57d897e 106178 - need a 'plain' class for removing all margin/border/padding, r=blake, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@106025 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 05:23:43 +00:00
dougt%netscape.com
337217beaa backing out changes to 104172. r=ccarlen@netscape.com
git-svn-id: svn://10.0.0.236/trunk@106023 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 03:50:24 +00:00
waterson%netscape.com
31173aade4 Fix egcs-1.1.2.
git-svn-id: svn://10.0.0.236/trunk@106022 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 03:44:09 +00:00
waterson%netscape.com
28843d2d15 Need a tab, not a space.
git-svn-id: svn://10.0.0.236/trunk@106020 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 03:12:28 +00:00
seawood%netscape.com
7f55ca9be7 Convert MyService test component into an "generic" module
Bug #71601 r=dougt


git-svn-id: svn://10.0.0.236/trunk@106019 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 02:56:35 +00:00
waterson%netscape.com
39c3e8852d Bug 26104. Move broadcaster maintenance out of XUL element and into the document. r=shaver, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@106018 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 02:44:44 +00:00
gerv%gerv.net
539683a461 Bug 101431 - making chromelist.txt happen again. Enable it on Unix, and add it to the relevant packaging manifests. r=cls.
git-svn-id: svn://10.0.0.236/trunk@106017 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 02:40:24 +00:00
dougt%netscape.com
de82c62b03 removing nslayout from MANIFEST
git-svn-id: svn://10.0.0.236/trunk@106015 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 02:28:29 +00:00
neeti%netscape.com
b5893430a8 fix for bug 96461 - using PLDHash for ComponentManager,r=shaver@mozilla.org, sr=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@106014 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 02:28:12 +00:00
sspitzer%netscape.com
3d6cb28d32 fix for #106165. fix js warning when psm not built or installed. r/sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@106013 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 02:11:08 +00:00
waterson%netscape.com
80a4b96cfc moving Mac OS X mach-o packaging to trunk.
git-svn-id: svn://10.0.0.236/trunk@106012 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 02:02:57 +00:00
roc+%cs.cmu.edu
9f4555ddb6 Bug 73382. Add important documentation comment. r=kmcclusk,rs=attinasi
git-svn-id: svn://10.0.0.236/trunk@106010 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 01:37:29 +00:00
dougt%netscape.com
62a8215278 Extraneous Symbol Removal. Patch by Jon Smirl jonsmirl@mediaone.net. r=dougt@netscape.com, sr=alecf@netscape.com. Bug 104172 , 104316 , 104420 , 104426 , 104461 , 104511 , 104527
git-svn-id: svn://10.0.0.236/trunk@106009 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 01:37:21 +00:00
roc+%cs.cmu.edu
44f839f120 Bug 73382. View manager cleanup: eliminate Refresh(nsRect) path in favour of Refresh(nsIRegion), plus other minor cleanups. r=kmcclusk,rs=attinasi
git-svn-id: svn://10.0.0.236/trunk@106008 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 01:35:50 +00:00
leif%netscape.com
372229eb99 Bug 103084 and Bug 103085: Memory leaks in LDAP code. r=mitesh, sr=bienvenu.
git-svn-id: svn://10.0.0.236/trunk@106007 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 01:19:12 +00:00
shrutiv%netscape.com
f04c87495a Fic for bug 105588: linux installer cores if the config is cloned from
window's (r=tao)


git-svn-id: svn://10.0.0.236/trunk@106006 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 01:04:40 +00:00
bbaetz%cs.mcgill.ca
c33a71657f Bug 103737 - reenable "go up a directory" stuff which got accidentally
removed during my rewrite.
Bug 106114 - Don't assume that ftp directory listing dates are in GMT;
rather just leave them in the server's timezone.

Both r=dougt, sr=darin


git-svn-id: svn://10.0.0.236/trunk@106005 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 00:56:41 +00:00
shrutiv%netscape.com
01812022f0 Fix for bug 105588: linux installer cores if the config is cloned from
window's. Providing ability to create Linux or Windows build using same
configuration. (r=tao)


git-svn-id: svn://10.0.0.236/trunk@106004 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 00:50:49 +00:00
hewitt%netscape.com
61874ec44f 106155 - disabled color problems in modern theme, r=blake, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@106003 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 00:40:20 +00:00
dsirnapalli%netscape.com
bc9b15068a *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@106002 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 00:36:37 +00:00
jj%netscape.com
6a9d5de113 landing fix for bugscape 10608 (added oji.shlb in [browser] module) on the trunk.
git-svn-id: svn://10.0.0.236/trunk@106001 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 00:35:45 +00:00
av%netscape.com
b7c70d3c8e Updating the list of header files needed for the plugin SDK -- not part of the build
git-svn-id: svn://10.0.0.236/trunk@106000 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 00:23:12 +00:00
hewitt%netscape.com
52f6d011ff 106131 - hitting enter on focused OK button in dialog fires onaccept 2x, r=blake, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@105999 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 00:16:15 +00:00
karnaze%netscape.com
53af4f4999 new regression tests, not affecting the build.
git-svn-id: svn://10.0.0.236/trunk@105998 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 00:15:55 +00:00
bryner%netscape.com
64cc22396c Bug 105668 - make gtk embedding widget properly implement FocusNextElement and FocusPrevElement. r=jag, r/sr=blizzard.
git-svn-id: svn://10.0.0.236/trunk@105997 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 00:14:09 +00:00
cmanske%netscape.com
9d37c05073 Fixed busted HTML attribute setting in Composer Advanced Edit dialog, b=106047, r=brade, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@105996 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 00:00:37 +00:00
pschwartau%netscape.com
a144c89afb Adding comments.
git-svn-id: svn://10.0.0.236/trunk@105995 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 23:59:20 +00:00
pchen%netscape.com
ff3d4991fe *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@105994 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 23:59:10 +00:00
kaie%netscape.com
87d4b27a7e b=105016 r=kaie sr=ben
Update to 88553, polish layout of dialog and clicking on radio button text to select a radio button.


git-svn-id: svn://10.0.0.236/trunk@105993 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 23:57:39 +00:00
cmanske%netscape.com
fbde2b6c63 Image dialog should should use 'middle', not 'center' for align attribute, b=102036, r=brade, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@105991 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 23:55:58 +00:00
hyatt%netscape.com
ea462eacb6 Fix for 101554. r=dbaron, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@105989 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 23:37:33 +00:00
mcafee%netscape.com
52a6dc4ece Adding --list-only option, Getopt functionality. r=akkana
git-svn-id: svn://10.0.0.236/trunk@105988 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 23:33:02 +00:00
mcafee%netscape.com
d393357e6a Adding --list-only option. Added Getopt library capability. r=akkana, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@105987 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 23:32:11 +00:00
darin%netscape.com
c51eb85860 fixes bug 105478 "nsHttpHandler::mLastUniqueID not initialized!!"
r=gordon, sr=mscott


git-svn-id: svn://10.0.0.236/trunk@105985 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 23:24:26 +00:00
shanjian%netscape.com
d2a8215d9e #102706 change nsFontMetricsWin.cpp to use nsCompressedCharMap
r=rbs sr=attinasi

Most of the charmap were replaced by compressed charmap, only very few
left for direct operation. Some optimization also get in as problem
found when testing this patch.


git-svn-id: svn://10.0.0.236/trunk@105984 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 23:20:24 +00:00
alecf%netscape.com
3991a0512b temporarily fix bustage by moving intl earlier in the build cycle
git-svn-id: svn://10.0.0.236/trunk@105983 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 23:14:19 +00:00
nhotta%netscape.com
3a858bfd54 For charset menupopup, make sure to set selectedItem and removed unnecessary code, bug 87691, r=jbetak, sr=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@105982 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 22:47:48 +00:00
bryner%netscape.com
73a2cc7db6 Bug 104977 -- landing tabbing rewrite. Fixes bugs 78256, 83575, 85602, 96273, 103980, and 105224. r=saari, sr=hyatt.
git-svn-id: svn://10.0.0.236/trunk@105981 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 22:43:52 +00:00
dsirnapalli%netscape.com
5a4001e187 This file is used by ComponentListTest.html
git-svn-id: svn://10.0.0.236/trunk@105980 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 22:38:27 +00:00
dsirnapalli%netscape.com
d917b61c75 Test case to list the components available for mfcEmbed.
git-svn-id: svn://10.0.0.236/trunk@105979 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 22:37:49 +00:00
dsirnapalli%netscape.com
9bf85d1959 will rename it to .txt and check in again.
git-svn-id: svn://10.0.0.236/trunk@105978 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 22:36:39 +00:00
dsirnapalli%netscape.com
dbc1283d66 Will rename it to .txt and check it again.
git-svn-id: svn://10.0.0.236/trunk@105977 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 22:35:59 +00:00
javi%netscape.com
8faaf72005 Fix for Bug 99163, Checking in for dougt@netscape.com,r=shaver, sr=jband
git-svn-id: svn://10.0.0.236/trunk@105976 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 22:30:18 +00:00
karnaze%netscape.com
2f5ef17932 bug 105268 - set NS_FRAME_OUTSIDE_CHILDREN on row when cells have rowspan>1 so that painting will not clip to row. sr=attinasi, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@105975 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 22:21:19 +00:00
danm%netscape.com
8f2c0dd67c rework zoomed window size to use structure region bounds; looks beter on OS X. bug 105657 code=lordpixel r=pinkerton,sfraser,me
git-svn-id: svn://10.0.0.236/trunk@105974 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 22:07:14 +00:00
dougt%netscape.com
fa2d0b7e98 99163 - removing nsObserverService.h includes. Also fixing 106090, extra methods on nsObserverService. r=shaver@mozilla.org, sr=jband@netscape.com
git-svn-id: svn://10.0.0.236/trunk@105973 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 22:01:27 +00:00
loadrunner%betak.net
1403ab79f6 bug 97174 startup perf- remove the need of loading of wincharset.properties files at startup time to speed up, r=nhotta, sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@105969 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 21:52:16 +00:00
morse%netscape.com
256f214fea bug 105874, minor wording changes in p3p dialog, r=harishd, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@105968 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 21:49:55 +00:00
dsirnapalli%netscape.com
f8c4a30307 this file is used by ComponentListTest.html
git-svn-id: svn://10.0.0.236/trunk@105967 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 21:36:41 +00:00
dsirnapalli%netscape.com
ef22a6c851 Test case to list the available components for mfcEmbed.
git-svn-id: svn://10.0.0.236/trunk@105966 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 21:36:03 +00:00
alecf%netscape.com
bd77c1a09d ack! how'd that get yanked? backing out part of my previous checkin, never should have landed
git-svn-id: svn://10.0.0.236/trunk@105965 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 21:25:14 +00:00
alecf%netscape.com
cb8cce8ae8 add ToUpperCase/ToLowerCase for PRUnichar - not used yet.. for bug 100214
git-svn-id: svn://10.0.0.236/trunk@105964 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 21:23:01 +00:00
harishd%netscape.com
63ecc27e89 105896 - CharsetAlias is a COMPtr and therefore no need for ReleaseService(). This isa regression caused by the fix to bug 88363. r=heikki, sr=waterson.
git-svn-id: svn://10.0.0.236/trunk@105963 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 21:09:20 +00:00
hewitt%netscape.com
8d31e78071 105995 - Tabs don't work in first window., sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@105962 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 20:59:14 +00:00
nhotta%netscape.com
e8996e27ad In MIME encoder, replace nsTextFormatter by NS_ConvertUTF8toUCS2, bug 105527, r=ducarroz, sr=bienvenu.
git-svn-id: svn://10.0.0.236/trunk@105961 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 20:59:03 +00:00
bnesse%netscape.com
7f9fa9521d Fix for bug 103883. Add weak ref support for prefs observers to help reduce MLK cycles with preferences. r=ccarlen, darin, gordon, hewitt, mstoltz, srilatha, sspitzer. sr=alecf.
git-svn-id: svn://10.0.0.236/trunk@105960 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 20:54:48 +00:00
harishd%netscape.com
7423f3c016 Backing out fix for bug 100397 since it caused the relow numbers and the page load time to shoot up.
git-svn-id: svn://10.0.0.236/trunk@105959 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 20:51:09 +00:00
mkaply%us.ibm.com
47020cc834 No bug
r=mkaply, sr=blizzard
OS/2 only - removing lots of cruft, general cleanup of widget


git-svn-id: svn://10.0.0.236/trunk@105958 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 20:49:50 +00:00
waterson%netscape.com
1de1aeabae Bug 68871. Permit partial sharing of XUL attributes, remove unused fields from nsXULElement and nsXULElement::Slots. Tag teamed with shaver@mozilla.org, r=shaver; sr=hyatt.
git-svn-id: svn://10.0.0.236/trunk@105957 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 20:48:52 +00:00
alecf%netscape.com
93701a7f68 bug 100214 - add libunicharutil_s to all unix projects that require it, r=cls
git-svn-id: svn://10.0.0.236/trunk@105956 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 20:44:02 +00:00
alecf%netscape.com
be219fb68c bug 100214 - add makefile define for MOZ_UNICHAR_LIBS for unichar case support
r=cls (build-system only)


git-svn-id: svn://10.0.0.236/trunk@105955 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 20:42:39 +00:00
pschwartau%netscape.com
cd5cb1cd26 Improving readability.
git-svn-id: svn://10.0.0.236/trunk@105954 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 20:09:12 +00:00
pschwartau%netscape.com
e01d0c22d0 Initial add. Regression test for Bugzilla bug 105972.
git-svn-id: svn://10.0.0.236/trunk@105953 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 20:06:52 +00:00
waterson%netscape.com
bf277e8274 More types!
git-svn-id: svn://10.0.0.236/trunk@105951 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 18:25:37 +00:00
hewitt%netscape.com
4f23ec5d79 102241 - [XUL 1.0] use selectedIndex on deck and tabpanels, r=blake, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@105944 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 17:37:59 +00:00
karnaze%netscape.com
2f9729e913 new regression tests not affecting the build.
git-svn-id: svn://10.0.0.236/trunk@105938 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 15:07:12 +00:00
karnaze%netscape.com
a317d22083 bug 96343 - skip cellspacing logic when child is not a row. sr=attinasi, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@105936 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 14:37:03 +00:00
karnaze%netscape.com
f5419762fd bug 52531 - treate style change reflow like initial when positioning cell block.
git-svn-id: svn://10.0.0.236/trunk@105935 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 14:31:18 +00:00
karnaze%netscape.com
9c91a2a8e3 bug 86314 - invalidate properly when the inner table changes width. sr=attinasi, r=kmcclusk.
git-svn-id: svn://10.0.0.236/trunk@105934 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 14:24:54 +00:00
bienvenu%netscape.com
c1e9482e55 speed up loading of newsgroups by avoiding second db commit, r/sr =sspitzer 74955
git-svn-id: svn://10.0.0.236/trunk@105933 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 14:07:44 +00:00
bienvenu%netscape.com
cf0079914f correct fix for 103703 loading message leaks url spec, r/sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@105932 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 13:25:54 +00:00
peterv%netscape.com
796087a7db Fix for bug 81506 (JS error on browser startup). r=glazman@netscape.com, sr=ben@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@105931 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 11:39:02 +00:00
rods%netscape.com
8612bf6bb6 Make labels inline !important
Bug 100801 r=rods sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@105930 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 10:39:35 +00:00
jfrancis%netscape.com
c64143d012 fixes following bugs:
77902: toggling from normal to source view and back in composer can leave source in normal view.
101645: big/small tags get seperately wrapped around br nodes
81315: drag and drop doesn't behave same as copy paste
90759: ascii spaces don't behave in IME mode
96328: cant outdent certain indented text
58629: some mail messages cannot be accurately quoted on reply
93088/93477: forward deletion broken
46290: relative font size controls dont play nice with absolute font size
r=various; sr=kin


git-svn-id: svn://10.0.0.236/trunk@105922 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 06:22:52 +00:00
leaf%mozilla.org
00fcc38140 Automated update
git-svn-id: svn://10.0.0.236/trunk@105921 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 04:43:16 +00:00
seawood%netscape.com
7b09be9ef1 Remove unused MOZ_ENDER_LITE & -DENDER_LITE from the tree.
git-svn-id: svn://10.0.0.236/trunk@105920 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 04:34:31 +00:00
jaggernaut%netscape.com
68b1430692 Bug 105973: s/Observe/observe/
git-svn-id: svn://10.0.0.236/trunk@105919 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 04:26:04 +00:00
jaggernaut%netscape.com
32692449ba Bug 105973: s/Observe/observe/
git-svn-id: svn://10.0.0.236/trunk@105918 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 04:16:33 +00:00
bernd.mielke%snafu.de
b287b54fc9 bug 97027 restrict the use of multilength parsing to cols and colgroups
r=karnaze sr= attinasi


git-svn-id: svn://10.0.0.236/trunk@105917 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 04:05:34 +00:00
dbaron%fas.harvard.edu
a0052ea3a7 Fix assertion from dougt's nsIObserver / nsIObserverService changes. b=99163
git-svn-id: svn://10.0.0.236/trunk@105916 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 04:00:02 +00:00
rangansen%netscape.com
35bc93c7c9 Checking in for morse@netscape.combug# 87334, r=rangansen r=jag sr=Alect Flettenforcing ask everytime option for passwords ...
git-svn-id: svn://10.0.0.236/trunk@105915 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 03:01:53 +00:00
matt%netscape.com
e22fa0aca9 bug 104119 r=samir sr=blake double escaping sherlock file fixed for netscape search
git-svn-id: svn://10.0.0.236/trunk@105910 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 01:13:04 +00:00
av%netscape.com
461ab0ebf1 The tester plugin -- first check in, not part of the build, bug 105959
git-svn-id: svn://10.0.0.236/trunk@105908 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 00:25:25 +00:00
waterson%netscape.com
8241b8d2c9 Types, types! More types!
git-svn-id: svn://10.0.0.236/trunk@105907 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-22 00:07:26 +00:00
seawood%netscape.com
65d28de970 Fix missing description problem for options that required multiple lines for the description.
git-svn-id: svn://10.0.0.236/trunk@105903 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-21 19:11:25 +00:00
waterson%netscape.com
734c20f22b Add coverage and floating width.
git-svn-id: svn://10.0.0.236/trunk@105902 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-21 16:46:37 +00:00
jaggernaut%netscape.com
e29e1bd829 Bug 89998: Some minor wording clean-up (title -> caption) in nsGroupBoxFrame.cpp. r=mozbot. Much thanks to FrodoB for his help (he did most of the work on my previous checkins for this bug).
git-svn-id: svn://10.0.0.236/trunk@105901 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-21 09:30:22 +00:00
jaggernaut%netscape.com
a7768607f4 Bug 98889: move nsTitledBoxFrame.cpp to nsGroupBoxFrame.cpp as the final step in this XUL 1.0 bug. r=me,FrodoB.
git-svn-id: svn://10.0.0.236/trunk@105900 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-21 08:37:10 +00:00
jaggernaut%netscape.com
5847886c93 Bug 89998: move nsTitledBoxFrame.cpp to nsGroupBoxFrame.cpp (and the classnames in it) as the final step in this XUL 1.0 bug. r=jag,FrodoB.
git-svn-id: svn://10.0.0.236/trunk@105899 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-21 08:35:34 +00:00
jaggernaut%netscape.com
237e5134e7 Bug 89998: bring nsGroupBoxFrame.cpp in line with nsTitledBoxFrame.cpp. r=FrodoB.
git-svn-id: svn://10.0.0.236/trunk@105898 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-21 07:03:02 +00:00
hewitt%netscape.com
c561a40b01 70751 - [XUL Syntax] XUL docs loaded in iframes should use <page>, r=blake, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@105896 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-21 04:16:03 +00:00
hewitt%netscape.com
fd27581a34 102241 - [XUL 1.0] use selectedIndex on deck and tabpanels, r=blake, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@105895 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-21 03:59:20 +00:00
hewitt%netscape.com
50b7982d00 102239 - [XUL 1.0] implement new control element methods, r=blake, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@105894 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-21 03:58:21 +00:00
pavlov%netscape.com
1022d4d44a fix for bug 105555. r=pavlov sr=darin. patch from sfraser
git-svn-id: svn://10.0.0.236/trunk@105893 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-21 00:58:36 +00:00
pavlov%netscape.com
513d1ed1ba fix FMW in gtk timer code. bug 83163 r=dbaron sr=mscott
git-svn-id: svn://10.0.0.236/trunk@105892 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-21 00:44:46 +00:00
pavlov%netscape.com
3fb5ffef03 fix for bug 105257 r=dbaron sr=mscott
git-svn-id: svn://10.0.0.236/trunk@105890 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-21 00:12:53 +00:00
dbaron%fas.harvard.edu
85c206679a Reduce the performance cost of (threadsafely) refcounting many atoms by creating a second implementation of nsIAtom (derived from the first) that does not refcount and gets destroyed at XPCOM shutdown. Normal atoms are converted to permanent ones without loss of pointer identity when a permanent atom is requested and a normal one already exists. b=92141 r=waterson sr=brendan
git-svn-id: svn://10.0.0.236/trunk@105889 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 23:19:07 +00:00
bienvenu%netscape.com
eabf63d1eb fix crash after renaming local folder while it's being reparsed r=naving, sr=sspitzer 105108
git-svn-id: svn://10.0.0.236/trunk@105888 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 23:11:02 +00:00
bienvenu%netscape.com
195e90d040 add error message for folder rename failed r=naving, sr=sspitzer part of fix for 105108
git-svn-id: svn://10.0.0.236/trunk@105887 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 23:08:24 +00:00
jake%acutex.net
6556ad04b0 Bug 71840 - Make comments referenceable using a #c4 to get the fourth comment.
Patch by Gerv <gerv@mozilla.org> and Myself.
r= jake@acutex.net, gerv@mozilla.org, justdave@syndicomm.com


git-svn-id: svn://10.0.0.236/trunk@105883 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 13:03:14 +00:00
jake%acutex.net
5fcb9d6a75 Backing out previous change, the wrong patch got checked in.
git-svn-id: svn://10.0.0.236/trunk@105882 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 12:59:57 +00:00
locka%iol.ie
c66ddad77e New NameEquals method on nsIDocShellTreeItem to reduce unnecessary strdup'ing as FindChildWithName walks through its children looking for a matching item. b=102576 r=radha@netscape.com sr=rpotts@netscape.com
git-svn-id: svn://10.0.0.236/trunk@105881 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 11:42:35 +00:00
locka%iol.ie
0f15b9fef1 Add res/entityTables to embedding dist to stop assertions. b=101605 r=chak@netscape.com sr=blizzard@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@105880 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 11:36:37 +00:00
ben%netscape.com
e033344fbc 80150 - bookmark gets deleted if dropped on column picker. Prevent drops from being accepted on the head row. r=pchen, sr=hyatt. Also remove an unused obsolete file and add some ids.
git-svn-id: svn://10.0.0.236/trunk@105879 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 11:13:44 +00:00
ben%netscape.com
63aeaaa676 75825 - View|Show Columns menuitem is always disabled in bookmarks view menu.
Prevent the disabling code from disabling any items outside its range of intended
operation.
r=pchen, sr=hyatt


git-svn-id: svn://10.0.0.236/trunk@105878 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 11:11:58 +00:00
ben%netscape.com
4d4d63338d Best fix for 87864, prevent duplicate bookmarks from being processed when loading a bookmarks file.
This code was originally removed from 6.1 because performance issues with IndexOf, which have recently been addressed. r=pchen, sr=waterson


git-svn-id: svn://10.0.0.236/trunk@105877 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 09:26:40 +00:00
seawood%netscape.com
e098085005 Create common base (nsDeviceContextX) for nsDeviceContextXlib & nsDeviceContextXp to partially remove xprint dependency upon xlib. Also fixes static builds.
Thanks to Roland.Mainz@informatik.med.uni-giessen.de for the patch.
Bug #103371 r=cls sr=waterson


git-svn-id: svn://10.0.0.236/trunk@105876 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 08:51:57 +00:00
sspitzer%netscape.com
97b7dec85e fix for #105659. fix js warnings when there isn't a mapiregistry service.
r=srilatha, sr=mscott


git-svn-id: svn://10.0.0.236/trunk@105874 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 06:24:07 +00:00
seawood%netscape.com
5adbaf8c2f Purging removed Makefiles
git-svn-id: svn://10.0.0.236/trunk@105873 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 06:08:57 +00:00
loadrunner%betak.net
cc65a886d1 99186 Remove acceptlanguage.properties from the build, r=tao, sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@105872 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 04:55:21 +00:00
mkaply%us.ibm.com
44a544457b #71601
r=cls
since this is now a generic module, it no longer needs HAS_EXTRAEXPORTS hack


git-svn-id: svn://10.0.0.236/trunk@105871 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 04:13:54 +00:00
kmcclusk%netscape.com
0104aafb7e Ignore case when comparing default named anchor (top) 80784 sr=kin@netscape.com r=rods@netscape.com
git-svn-id: svn://10.0.0.236/trunk@105870 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 03:12:33 +00:00
kmcclusk%netscape.com
0c68b26d29 Added code to UpdateCoveringWidgets to take into account hidden views when considering whether a view completely covers the invalidated rect. bug 100652 r=roc+moz@mozilla.org sr=attinasi@netscape.com
git-svn-id: svn://10.0.0.236/trunk@105869 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 03:09:36 +00:00
dougt%netscape.com
badd4f48a2 fixed regression in mailnews caused by my last change. Need to support weak references both while adding AND while notifying... d'oh! a=pchen@netscape.com
git-svn-id: svn://10.0.0.236/trunk@105868 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 02:07:33 +00:00
dbaron%fas.harvard.edu
f86234616d Fix build bustage from dougt's nsIObserver / nsIObserverService changes. b=99163
git-svn-id: svn://10.0.0.236/trunk@105866 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 01:29:45 +00:00
dbaron%fas.harvard.edu
65ab76f65b Fix build bustage from dougt's nsIObserver / nsIObserverService changes. b=99163
git-svn-id: svn://10.0.0.236/trunk@105864 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 01:17:08 +00:00
gerv%gerv.net
ffb874519d Bug 71840 - make comments referenceable. Patch by gerv/jake. r=justdave, jake/gerv.
git-svn-id: svn://10.0.0.236/trunk@105863 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 01:06:59 +00:00
dbaron%fas.harvard.edu
48e3256eb5 Fix build bustage from dougt's nsIObserver / nsIObserverService changes. b=99163
git-svn-id: svn://10.0.0.236/trunk@105862 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 01:01:27 +00:00
jake%acutex.net
71b60e4071 Bug 105480 - Use the friendly name from the fielddefs table when reporting strictvalue errors if it's available.
Patch by James A. Laska <jlaska@us.ibm.com>
r= justdave@syndicomm.com, jake@acutex.net


git-svn-id: svn://10.0.0.236/trunk@105860 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 00:50:27 +00:00
dougt%netscape.com
9070a71c49 fixing major regression caused by my change to nsIObserverService
git-svn-id: svn://10.0.0.236/trunk@105859 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 00:33:02 +00:00
jake%acutex.net
d3926a124b Bug 104340 - Changing the UI of the toolbar for hiding bugs in the dependency tree.
Patch by Christian Reis <kiko@async.com.br>
r= justdave@syndicomm.com, gerv@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@105858 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-20 00:22:52 +00:00
dbaron%fas.harvard.edu
263c995ad7 Fix page cycler orange from dougt's nsIObserver / nsIObserverService changes. b=99163 r=dougt
git-svn-id: svn://10.0.0.236/trunk@105857 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 23:51:04 +00:00
jake%acutex.net
692e3604f8 Bug 73180 - We now put a notice at the top of the versioncache file saying that it should not be edited.
Patch by Matthew Tuck <matty@chariot.net.au>
r= gerv@mozilla.org, jake@acutex.net


git-svn-id: svn://10.0.0.236/trunk@105856 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 23:49:37 +00:00
dbaron%fas.harvard.edu
91e5381554 Fix build bustage from dougt's nsIObserver / nsIObserverService changes. b=99163
git-svn-id: svn://10.0.0.236/trunk@105855 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 23:28:44 +00:00
loadrunner%betak.net
ece111f5c3 bug 99186, Remove acceptlanguage.properties from the build, r=tao, sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@105854 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 23:18:32 +00:00
waldemar%netscape.com
a7c1ec03f5 Replaced %section and %subsection by %heading with an adjustable level number
git-svn-id: svn://10.0.0.236/trunk@105853 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 23:18:03 +00:00
dbaron%fas.harvard.edu
2287b3a42a Fix build bustage from dougt's nsIObserver / nsIObserverService changes. b=99163
git-svn-id: svn://10.0.0.236/trunk@105852 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 23:15:51 +00:00
sgehani%netscape.com
1a563a741d Fix typo that caused sorting to fail.
b = 104622
r = matt
sr = alecf


git-svn-id: svn://10.0.0.236/trunk@105851 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 23:05:04 +00:00
dougt%netscape.com
a9081d6d49 fixing build bustage cause by nsIObserver changes
git-svn-id: svn://10.0.0.236/trunk@105850 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 22:56:19 +00:00
alecf%netscape.com
60f63abb98 for bug 100214, add some PRUnichar case routines, #if 0'ed out
git-svn-id: svn://10.0.0.236/trunk@105849 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 22:51:11 +00:00
loadrunner%betak.net
e46a9cdc11 bug 99186, Remove acceptlanguage.properties from the build, r=tao, sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@105848 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 22:49:37 +00:00
javi%netscape.com
376b3dbdc4 Missed this file in dougt's last patch.
git-svn-id: svn://10.0.0.236/trunk@105847 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 22:48:01 +00:00
loadrunner%betak.net
15260d9453 bug 99186, Remove acceptlanguage.properties from the build, r=tao, sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@105846 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 22:41:59 +00:00
sgehani%netscape.com
6c6c6e9afa Fix typo.
b = 103215
r = morse
sr = alecf


git-svn-id: svn://10.0.0.236/trunk@105845 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 22:40:11 +00:00
jake%acutex.net
457d72aeff Bug 103664 - Tests should "use strict;" and not contain any tabs. We should also use the TEST_VERBOSE environment variable instead of VERBOSE.
Patch by David D. Kilzer <ddkilzer@theracingworld.com>
Additional edits by myself to add the emacs mode line.  Also, the change to runtests.sh was done by me.


git-svn-id: svn://10.0.0.236/trunk@105842 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 22:39:51 +00:00
relyea%netscape.com
adc610c9bf NSS specific PKCS 11 mechanisms, collected in one single header file.
git-svn-id: svn://10.0.0.236/trunk@105840 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 22:37:14 +00:00
dougt%netscape.com
55f600e4ec missed a few changes in my nsIObserver landing
git-svn-id: svn://10.0.0.236/trunk@105839 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 22:30:02 +00:00
dougt%netscape.com
ebe79ca4e9 Fixing build bustage. removing nsIObserverService.idl from MANIFEST
git-svn-id: svn://10.0.0.236/trunk@105838 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 22:26:37 +00:00
shrutiv%netscape.com
842a601d98 Fix for bug 105279: CCK customized linux installer contains unselected
xpi's. Removing xpi's that are not selected. (r=tao)


git-svn-id: svn://10.0.0.236/trunk@105837 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 22:12:15 +00:00
akkana%netscape.com
4d4b1e1f39 98546: Fix Unix too, and make mac prefs the default. r=pink, sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@105836 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 22:07:17 +00:00
alecf%netscape.com
7348edaaeb change a print line to show the number of directories being updated
not part of the default build


git-svn-id: svn://10.0.0.236/trunk@105835 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 22:05:57 +00:00
mkaply%us.ibm.com
955f3d7d08 No bug
r=mkaply, sr=blizzard
OS/2 only - reworking OS/2 widget/window parentage


git-svn-id: svn://10.0.0.236/trunk@105834 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:57:02 +00:00
javi%netscape.com
a06329f695 Checking in for dougt.
git-svn-id: svn://10.0.0.236/trunk@105833 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:53:39 +00:00
loadrunner%betak.net
368f1c75e3 bug 99186, Remove acceptlanguage.properties from the build, r=tao, sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@105832 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:53:14 +00:00
cmanske%netscape.com
8719459de0 Don't allow inserting symbols and foreign chars while in HTML source mode, b=104267, r=brade, sr=kin
git-svn-id: svn://10.0.0.236/trunk@105831 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:49:36 +00:00
cmanske%netscape.com
397c9d52bc Restrict separator character input to 1 char in Convert Selection to Table, b=101772, r=brade, sr=kin
git-svn-id: svn://10.0.0.236/trunk@105830 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:47:04 +00:00
mkaply%us.ibm.com
b89f880876 No bug
r=mkaply, sr=blizzard
OS/2 only - reworking OS/2 widget/window parentage


git-svn-id: svn://10.0.0.236/trunk@105829 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:45:34 +00:00
cmanske%netscape.com
dcc381bbd8 Finish HTML source mode before loading a new document (forgot 2nd part of fix), b=102684, r=brade, sr=kin
git-svn-id: svn://10.0.0.236/trunk@105828 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:42:43 +00:00
dougt%netscape.com
7f4ce8acb7 backing out my backout from nsIOService. Merge conficts with bnesse
git-svn-id: svn://10.0.0.236/trunk@105827 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:38:24 +00:00
cmanske%netscape.com
36402f49d3 Fixed table editing hang when spliting cell (b=102967, r=brade, sr=kin) and don't copy empty cell's <br> when joining cells (b=102930, r=brade, sr=hewitt)
git-svn-id: svn://10.0.0.236/trunk@105825 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:33:20 +00:00
rjc%netscape.com
fc55228451 Fix bug # 49142: speed up bookmarks menu creation on Mac. r=pink, sr=sfraser.
git-svn-id: svn://10.0.0.236/trunk@105824 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:32:07 +00:00
dougt%netscape.com
8e7ae51ba9 fixing build bustage in nsIOService.cpp
git-svn-id: svn://10.0.0.236/trunk@105823 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:28:58 +00:00
radha%netscape.com
b9befe5a2d Fix for bug #101682. history.back() history.go(-1) misbehave on repeated usage and does notrestore scrollbar position. r=mcafee, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@105822 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:28:57 +00:00
cmanske%netscape.com
2a9dc4f8aa Finish HTML source mode before loading a new document, b=102684, r=brade, sr=kin
git-svn-id: svn://10.0.0.236/trunk@105821 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:28:04 +00:00
pchen%netscape.com
624f45ff80 backing out bnesse at his request since he found conflicts with dougt's
checkin


git-svn-id: svn://10.0.0.236/trunk@105820 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:24:03 +00:00
pierre%netscape.com
8767ccc025 105576 "Unicode fallback characters don't zoom". Apply zoom before calling ATSUIFallbackDrawChar(). r=ftang/sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@105819 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:23:37 +00:00
pchen%netscape.com
4793cb6b95 cking out bnesse at his request since he found conflicts with dougt's
checkin


git-svn-id: svn://10.0.0.236/trunk@105818 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:15:11 +00:00
pchen%netscape.com
62ec4050a1 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@105817 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:09:11 +00:00
despotdaemon%netscape.com
f6393045af Pseudo-automatic update of changes made by endico@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@105816 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:08:22 +00:00
andreww%netscape.com
faea34bd7c fixed bug 95482 r=shliang sr=hewitt and bug 103760 r=shliang sr=sfraser (1 px space at bottom of mac classic status bar)
git-svn-id: svn://10.0.0.236/trunk@105815 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:07:12 +00:00
andreww%netscape.com
0953179444 fixed bug 95482 r=shliang sr=hewitt toolbar loses thumb when collapsed - mac classic skin
git-svn-id: svn://10.0.0.236/trunk@105814 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:05:04 +00:00
dougt%netscape.com
b7714209d4 Remove extra exports. patch by Jon Smirl jonsmirl@mediaone.net. r=dougt@netscape.com, sr=alecf@netscape.com
git-svn-id: svn://10.0.0.236/trunk@105813 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:02:39 +00:00
akkana%netscape.com
9534d5b783 66345, the editor directory reorganization:
Remove all files in now obsolete directory editor/base.
  r=cmanske,jfrancis,brade sr=sfraser,kin


git-svn-id: svn://10.0.0.236/trunk@105812 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:01:39 +00:00
alecf%netscape.com
0ffec2590a next part of bug 100214, add nsUnicharUtils to consumers of ToLowerCase/ToUpperCase
git-svn-id: svn://10.0.0.236/trunk@105811 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 21:00:02 +00:00
dougt%netscape.com
1f7520e927 Extraneous Symbol Removal. Patch by Jon Smirl jonsmirl@mediaone.net. r=dougt@netscape.com, sr=alecf@netscape.com. Bug 104172, 104316, 104420, 104426, 104461, 104511, 104527
git-svn-id: svn://10.0.0.236/trunk@105810 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:59:33 +00:00
andreww%netscape.com
42d8c6e781 fixed bug 90274 r=shliang sr=hewitt selected folder name in mac classic not showing up
git-svn-id: svn://10.0.0.236/trunk@105809 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:59:08 +00:00
ftang%netscape.com
15b3ae1f9e fix bug 93343 so we can display UTF-16 and UTF-32.
r=harishd sr=vidur.


git-svn-id: svn://10.0.0.236/trunk@105808 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:58:22 +00:00
andreww%netscape.com
ca02d587e3 fixed bug 105132 r=shliang sr=hewitt mac classic composer tabs cleanup
git-svn-id: svn://10.0.0.236/trunk@105807 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:57:49 +00:00
ftang%netscape.com
1338859af4 fix bug 93025. delay the checking of access key pref
so we will use the user's pref instead of the default vaule in the pref.
r=jbetak sr=kin


git-svn-id: svn://10.0.0.236/trunk@105806 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:56:29 +00:00
bnesse%netscape.com
84f393ac02 Fix for bug 103883. Add weak ref support for prefs observers to help reduce MLK cycles with preferences. r=ccarlen, darin, gordon, hewitt, mstoltz, srilatha, sspitzer. sr=alecf.
git-svn-id: svn://10.0.0.236/trunk@105805 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:55:54 +00:00
andreww%netscape.com
c65102f7fc fix bug 60010 r=shliang sr=hewitt - editor status bar in mac classic cleanup.
git-svn-id: svn://10.0.0.236/trunk@105804 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:55:14 +00:00
ducarroz%netscape.com
838a68c9af Fix for bug 105092. Patch provided by bienvenu@netscape.com. Fix crash due to freeing of memory we should not! R=ducarroz, SR=sspitzer
git-svn-id: svn://10.0.0.236/trunk@105803 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:55:08 +00:00
ftang%netscape.com
d0f2e0aa05 fix 48231. Change the default Korean font for window
r=jshin, sr/rs=waterson


git-svn-id: svn://10.0.0.236/trunk@105802 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:54:36 +00:00
dougt%netscape.com
cf60fc042e nsIObserver and nsIObserverService API freeze. r=rpotts@netscape.com, alecf@netscape.com. bug 99163
git-svn-id: svn://10.0.0.236/trunk@105800 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:52:59 +00:00
ftang%netscape.com
14658e7a61 fix bug 23363. Implement TSM1.5
r=brade
sr=sfraser


git-svn-id: svn://10.0.0.236/trunk@105799 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:51:26 +00:00
ftang%netscape.com
6619d56ed6 fix 23363. add nsTSMStrategy.cpp to the build
This is part of implement TSM1.5
r=brade
sr=sfraser


git-svn-id: svn://10.0.0.236/trunk@105798 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:50:48 +00:00
nhotta%netscape.com
865f862d68 Indentation change in folder property dialog, bug 94560, sr=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@105797 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:50:17 +00:00
nhotta%netscape.com
e871d91d1f Wording change for folder property dialog, bug 94560, sr=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@105796 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:49:56 +00:00
alecf%netscape.com
44ffdedad3 for bug 100214 - make nsStr routines stop depending on nsCRT:: routines, to further reduce our dependency on unicharutil
r=jag, sr=scc


git-svn-id: svn://10.0.0.236/trunk@105795 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:49:39 +00:00
nhotta%netscape.com
8850710011 Added a call SetOutputErrorBehavior to replace unmapped character by '?' for a window title string,
bug 96875, r=ftang, sr=blizzard.


git-svn-id: svn://10.0.0.236/trunk@105794 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:49:08 +00:00
evaughan%netscape.com
7fcc0352c2 bug 77357
r=bryner sr=hyatt


git-svn-id: svn://10.0.0.236/trunk@105793 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:48:35 +00:00
harishd%netscape.com
eeeb1c2290 97769 - Replace nsITagStack with a simple nsVoidArray. Also, nuked nsITagStack since it is not of a big help.r=heikki, sr=jst.
99282  - Make sure only HEAD attributes get added to the attribute list in ::OpenHead(). r=heikki, sr=jst.
100466 - Stop DT from containing DL.r=heikki,sr=jst.
102370 - DT should not close DD and vice versa.r=heikki,sr=jst.
100397 - In order for residual style to kick in...disable the check for wellformedness in quirks mode.r=alexandru,sr=attinasi.
102376 - Release nsIRequest in nsParser::DidBuildModel() since nsIRequest is not required past DidBuildModel.r=heikki,sr=darin.


git-svn-id: svn://10.0.0.236/trunk@105792 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:48:18 +00:00
evaughan%netscape.com
c0b4c73271 More grid stuff: NOT IN BUILD
git-svn-id: svn://10.0.0.236/trunk@105791 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:47:36 +00:00
ian.mcgreer%sun.com
cecf9dcde1 add pkim.h, needed by some cert calls
git-svn-id: svn://10.0.0.236/trunk@105790 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:10:51 +00:00
ian.mcgreer%sun.com
7e23b3bf65 fix loop; time from PRTime
git-svn-id: svn://10.0.0.236/trunk@105789 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:06:28 +00:00
ian.mcgreer%sun.com
244e76bc39 fix possible NULL deref
git-svn-id: svn://10.0.0.236/trunk@105788 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:04:58 +00:00
ian.mcgreer%sun.com
500f291b64 implement FindCertIssuer through Stan
git-svn-id: svn://10.0.0.236/trunk@105787 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 20:04:27 +00:00
shrutiv%netscape.com
af0fd38218 Fix for bug 102923: Error message for insufficient disk space should
provide more details (r=bobj)


git-svn-id: svn://10.0.0.236/trunk@105784 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 18:44:44 +00:00
ian.mcgreer%sun.com
669f5eab1e get/set cert trust through PKCS#11; traversal methods for CERT_ calls; define usage for 3.4
git-svn-id: svn://10.0.0.236/trunk@105783 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 18:16:45 +00:00
ian.mcgreer%sun.com
eeb7d27f13 add usage to find best parameters
git-svn-id: svn://10.0.0.236/trunk@105782 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 18:11:31 +00:00
ian.mcgreer%sun.com
23691f4bd8 set attributes function; rename find to traverse; return object handle on import
git-svn-id: svn://10.0.0.236/trunk@105781 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 18:10:58 +00:00
ian.mcgreer%sun.com
ef6a1afb48 prepare certdb for removal of pcertdb.c; reimplement functions using Stan
git-svn-id: svn://10.0.0.236/trunk@105780 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 18:05:38 +00:00
pinkerton%netscape.com
aed93678e4 Keep stack aligned on 16-byte boundary. from bug 98290, r=beard/sr=sfraser. Not part of any build, a=pchen.
git-svn-id: svn://10.0.0.236/trunk@105779 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 17:33:06 +00:00
jake%acutex.net
eec9d51c7c Fix for bug 105365 - Hacker's Guide should be in SGML. This will make it easier to do other additions to the hacker's guide.
git-svn-id: svn://10.0.0.236/trunk@105776 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 16:18:10 +00:00
pinkerton%netscape.com
8fa7dc85e1 use contract id instead of cid now that alecf fixed it. r=lordpixel,sr=sfraser. bug#98504
git-svn-id: svn://10.0.0.236/trunk@105775 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 14:29:14 +00:00
pinkerton%netscape.com
7c205014e5 allow a hidden pref to reuse browser windows when we get a GURL event. r=lordpixel,sr=sfraser. bug#98504
git-svn-id: svn://10.0.0.236/trunk@105774 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 14:14:15 +00:00
pinkerton%netscape.com
7d96e85f1c remove prefs and quit from edit/file menus on osx (they're in the app menu now). r=sdagley/sr=blake,smfr. bug#68098
git-svn-id: svn://10.0.0.236/trunk@105773 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 14:13:20 +00:00
pinkerton%netscape.com
a23e69e10e adding a couple of prefs to make word selection better on mac. doesn't eat whitespace to next word and stops at punctuation. r=mjudge/sr=sfraser. bug# 98546
git-svn-id: svn://10.0.0.236/trunk@105772 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 14:10:22 +00:00
wtc%netscape.com
a64bfb9e66 Bugzilla bug 105173: restored the test for HAVE_COMPAT_H because we
no longer define SVR4 on Solaris.  I may use __SVR4 instead after verifying
that all Solaris compilers define it.


git-svn-id: svn://10.0.0.236/trunk@105771 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 14:06:28 +00:00
bzbarsky%mit.edu
c17db72087 Last checkin was r=pierre, sr=jst
git-svn-id: svn://10.0.0.236/trunk@105770 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 14:02:36 +00:00
bzbarsky%mit.edu
ee4bb498aa Clean up handling of quirk doctypes and case-sensitivity in the CSSOM.
Mostly just uses the nodeinfo more and combines some redundant code into
helpers. Bug 95336, bug 10622, bug 102815


git-svn-id: svn://10.0.0.236/trunk@105769 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 13:50:30 +00:00
kin%netscape.com
b343a978fe Fix for bug 101690: Delete key at end of line deletes a line then caret freezes
Modified WillDeleteSelection() to make sure that
sibling is a TextNode before trying to join it
with startNode (which is guaranteed to be a text node).

r=jfrancis@netscape.com   sr=sfraser@netscape.com


git-svn-id: svn://10.0.0.236/trunk@105768 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 13:48:43 +00:00
justdave%syndicomm.com
faaffb8eec yet another meaningless whitespace change to test tinderbox with
git-svn-id: svn://10.0.0.236/trunk@105767 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 13:03:52 +00:00
locka%iol.ie
9320e8b6d1 Removed chrome registry code from embedding API to improve startup performance. r=ccarlen@netscape.com sr=hyatt@netscape.com r=105462
git-svn-id: svn://10.0.0.236/trunk@105766 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 12:43:05 +00:00
axel%pike.org
e67a7d706e bug 76070, namespace and localName atom support for transformiix. original work by Jonas Sicking, alot of work by me. r=peterv, sicking@bigfoot.com, sr=jst
git-svn-id: svn://10.0.0.236/trunk@105765 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 12:09:42 +00:00
mcafee%netscape.com
1ae6e85144 Removing gtkEmbed from the build (90526). r=adamlock, sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@105763 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 08:28:51 +00:00
rbs%maths.uq.edu.au
2055e5722c re-instate null check for crasher bug 102900, r=rods, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@105762 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 07:30:08 +00:00
seawood%netscape.com
b3956bf8ed Rebuild all *.exe one final time after license change and check them in so that others stop accidentally doing so.
Do not try to rebuild makedep.exe if NO_MFC is set.
Bug #100757


git-svn-id: svn://10.0.0.236/trunk@105761 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 07:02:54 +00:00
bryner%netscape.com
0f26101b92 Bug 104141 - context menu doesn't appear on the first attempt. r=evaughan, sr=hyatt.
git-svn-id: svn://10.0.0.236/trunk@105760 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 06:27:07 +00:00
mcafee%netscape.com
0e994ebb7b Adding AliveTestReturnToken(), extract_token_from_file() and supporting glue to iterate through the startup test and report an average time instead of just one time.
git-svn-id: svn://10.0.0.236/trunk@105759 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 06:23:23 +00:00
justdave%syndicomm.com
ed3ed56299 another useless whitespace change to test tinderbox with
git-svn-id: svn://10.0.0.236/trunk@105758 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 06:19:52 +00:00
mcafee%netscape.com
1bd09f90f9 Adding one more sig fig for startup time.
git-svn-id: svn://10.0.0.236/trunk@105757 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 06:15:24 +00:00
mcafee%netscape.com
8411165431 switching search token to __avg_startuptime, we are going to iterate the test now and report an average time.
git-svn-id: svn://10.0.0.236/trunk@105756 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 05:56:38 +00:00
wtc%netscape.com
9b7416bb2f Bugzilla bug 105173: in mcom_db.h, put the tests for HAVE_XXX_H inside
#ifdef __DBINTERFACE_PRIVATE so that users of this exported header don't
have to define these HAVE_XXX_H macros.  Define __DBINTERFACE_PRIVATE
in dbm/macbuild/DBMConfig.h and dbm/src/Makefile.win. r=brendan@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@105755 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 05:45:51 +00:00
justdave%syndicomm.com
ad30940b5e whitespace change to test tinderbox again.
git-svn-id: svn://10.0.0.236/trunk@105754 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 05:33:23 +00:00
naving%netscape.com
3006157fc5 105328 r/sr=sspitzer. Throw duplicate folder alert when trying to create new folder from filter
editor.


git-svn-id: svn://10.0.0.236/trunk@105753 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 05:24:18 +00:00
hewitt%netscape.com
1173c75ca5 84602 - when a button has focus, enter key doesn't fire oncommand (from blake), r=hyatt, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@105752 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 05:02:56 +00:00
mscott%netscape.com
8dd08a6349 Bug #97497-- hopefully fix a random crash when compacting folders. I'm backing out part of
a previous change by bienvenu.
r=naving
sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@105751 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 04:38:00 +00:00
justdave%syndicomm.com
d8d8ecf9f8 whitespace change to do a test checkin to see how tinderbox reacts
git-svn-id: svn://10.0.0.236/trunk@105750 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 04:36:19 +00:00
pavlov%netscape.com
eb044b402b part of fix for bug 104999. r=jag sr=jst
git-svn-id: svn://10.0.0.236/trunk@105749 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 04:16:50 +00:00
jst%netscape.com
19215022f1 Fixing bug 105572. Don't bother GC'ing on context destruction when we're tearing down a frame in a frameset (or an iframe). r=jband@netscape.com, sr=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@105748 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 04:13:37 +00:00
mkaply%us.ibm.com
d4b444c57d #105075
r=av, sr=dougt, rpotts
Change 4xplugin APIs to use NS_4XPLUGIN_CALLBACK rather than NS_CALLBACK_ so that the calling convention can be different than XPCOM


git-svn-id: svn://10.0.0.236/trunk@105747 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 04:10:49 +00:00
waterson%netscape.com
0df59780dd Bug 105068. Move mLazyState to nsXULElement::Slots since it's rarely used. r=shaver, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@105746 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 04:01:01 +00:00
jaggernaut%netscape.com
687f37442a Bug 95786: ``about: services should be converted to XHTML 1.1'', patch by Delicates (Alexey Chernyak <alexey@ihug.com.au>), r=cbiesinger@web.de, sr=jst
git-svn-id: svn://10.0.0.236/trunk@105745 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 03:16:16 +00:00
jst%netscape.com
88e0143203 Remove bugs assertion, r=syd, sr=me (part of bug 105008).
git-svn-id: svn://10.0.0.236/trunk@105744 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 03:11:44 +00:00
bbaetz%cs.mcgill.ca
366550af4b Bug 82439 - html direcotry listings not localisable. r=sfraser, sr=darin
git-svn-id: svn://10.0.0.236/trunk@105743 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 03:03:30 +00:00
brendan%mozilla.org
f51a743f35 Avoid converting lock-free to lock-full scope from GC mark call-outs (105571, r=jst, sr=jband).
git-svn-id: svn://10.0.0.236/trunk@105742 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 03:02:41 +00:00
jj%netscape.com
cb9a393317 landing fix for bug 101608 on the trunk (keeping traceback option on for optimized Carbon build). r=sdagley, sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@105741 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 02:46:02 +00:00
morse%netscape.com
d4ee3f7955 bug 47437, nscookie.cpp is duplicationg URL parsing logic, c=andreas.otte, r=morse, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@105740 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 02:28:06 +00:00
gordon%netscape.com
285787e8e4 Fix bug 92908 and bug 101857. Change nsCacheService::CreateSession() to
return a new session even if there are no cache devices currently enabled.
Also, changed DeactivateEntry() to bind non-doomed entries if necessary to
allow the storage of meta-data-only entries, such as HTTP redirects. 
r=sfraser, sr=darin.


git-svn-id: svn://10.0.0.236/trunk@105739 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 02:05:12 +00:00
alecf%netscape.com
7429f7e3dd fix for some bug where I forgot a contract id.. if bugzilla was responding I might actually know the bug #
r=mkaply, sr=dveditz


git-svn-id: svn://10.0.0.236/trunk@105738 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 02:02:05 +00:00
gordon%netscape.com
c4aa2d1bb8 Fix for bug 101651, nsStdURL::SetSpec can trash memory. r=sfraser, sr=darin.
git-svn-id: svn://10.0.0.236/trunk@105737 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 01:59:57 +00:00
gordon%netscape.com
849c01eacd Fix for bug 103991, removing obsolete IsAsciiString() function from nsHttpChannel and nsDnsService. r=nhotta, sr=darin.
git-svn-id: svn://10.0.0.236/trunk@105736 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 01:58:32 +00:00
mcafee%netscape.com
e237d5a1b1 Retiring gtkEmbed in favor of TestGtkEmbed (90526). r=adamlock, sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@105735 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 01:55:07 +00:00
gordon%netscape.com
d48149f01d Fix for bug 103167, removing old cache interfaces. r=sfraser, sr=darin.
git-svn-id: svn://10.0.0.236/trunk@105734 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 01:54:42 +00:00
gordon%netscape.com
ad914da4c4 Fix for bug 103167, removing obsolete MANIFEST file from Mac build script. r=sfraser, sr=darin.
git-svn-id: svn://10.0.0.236/trunk@105733 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 01:52:31 +00:00
mcafee%netscape.com
57cf136779 Removing gtkEmbed (obsolete, bug 90526). r=adamlock, sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@105732 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 01:51:09 +00:00
mcafee%netscape.com
e8cca5c51e Retiring gtkEmbed in favor of TestGtkEmbed (90526). r=adamlock, sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@105731 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 01:45:12 +00:00
sspitzer%netscape.com
e4b9f5a4c4 more clean up the string foo in mailnews. r=cavin, rs=bienvenu. #103412.
git-svn-id: svn://10.0.0.236/trunk@105730 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 01:44:53 +00:00
sspitzer%netscape.com
b5cf407ab5 bulletproofing fix for topcrasher #104878.
r/sr=hyatt,sfraser.


git-svn-id: svn://10.0.0.236/trunk@105729 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 01:32:46 +00:00
morse%netscape.com
eeda91f125 bug 103576 cookie expiration time is wrong on mac, c=pchen, r=morse, sr=alecf && bug 105039 max-age cookie attribute is ignored, r=sgehani, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@105728 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 01:32:06 +00:00
hyatt%netscape.com
c2c3d3ba1c Fix for 102120, ability to load tabs in background, r=bryner, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@105727 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 01:25:51 +00:00
waldemar%netscape.com
feaec77ead Renamed type to domain
git-svn-id: svn://10.0.0.236/trunk@105726 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 00:50:40 +00:00
rogerl%netscape.com
e8967a2184 Added Array.sort. Fixed toNumber(String) for trailing whitespace. Fixed
Date.SetXXX for date values. Fixed scopechain growth bug. Fixed empty
array literals. Fixed empty type casts for built-ins.


git-svn-id: svn://10.0.0.236/trunk@105725 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 00:25:28 +00:00
jband%netscape.com
dc2c9d5087 fix Mac installer crash. bug 105437. r/sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@105724 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 00:15:43 +00:00
mcafee%netscape.com
c94b15e486 script to install tinderbox links for a tinderbox client.
git-svn-id: svn://10.0.0.236/trunk@105723 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-19 00:04:48 +00:00
mcafee%netscape.com
bf3bd231b1 cvsroot comments, update
git-svn-id: svn://10.0.0.236/trunk@105722 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 23:36:57 +00:00
cltbld%netscape.com
fb42e0d8d0 Fixing build busted in --enable-bohem builds
git-svn-id: svn://10.0.0.236/trunk@105721 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 21:45:52 +00:00
gerv%gerv.net
4831a02806 Bug 72177 - reword checkbox to make it consistent with the others on the page.
git-svn-id: svn://10.0.0.236/trunk@105719 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 21:41:25 +00:00
gerv%gerv.net
9090a5fafb Bug 60818 - make Bugzilla cope with MIME types with parameters. Patch by gerv, r=myk.
git-svn-id: svn://10.0.0.236/trunk@105718 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 21:28:06 +00:00
beard%netscape.com
76596e112b [not part of build] Added MRJPlugin.java and CarbonFrameWorkLib (for launch services).
git-svn-id: svn://10.0.0.236/trunk@105717 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 20:34:22 +00:00
beard%netscape.com
7689c3991e [not part of build] Added USE_SYSTEM_CONSOLE to turn off old Java based console.
git-svn-id: svn://10.0.0.236/trunk@105716 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 20:29:40 +00:00
beard%netscape.com
a41c7a978c [not part of build] Poor man's Java console implementation, redirects Java output to ~/Library/Logs/JavaConsole.log, displays with /Applications/Utilities/Console.app.
git-svn-id: svn://10.0.0.236/trunk@105715 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 20:28:48 +00:00
beard%netscape.com
ccbc3f8e9b [not part of build] Added redirection of Java output to a specified log file.
git-svn-id: svn://10.0.0.236/trunk@105714 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 20:24:13 +00:00
beard%netscape.com
cf366fd6c4 [not part of build] Simple class that redirects System.out/err to a specified file path.
git-svn-id: svn://10.0.0.236/trunk@105713 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 20:19:48 +00:00
rangansen%netscape.com
4799d6c886 Rolling back last changes
git-svn-id: svn://10.0.0.236/trunk@105712 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 19:09:03 +00:00
nboyd%atg.com
44143d1064 Patch from Igor:
Unsynchronized ScriptableObject.getSlotToSet contains references/modifications
to the slots array which is no go under multithreading. The attached patch
replaces references to slots by references to its local copy and moves code
to allocate the initial array to synchronized addSlot.

The patch also replace throwing of RuntimeException in case of broken code by
if (Context.check && badCondition) Context.codeBug();

Regards, Igor


git-svn-id: svn://10.0.0.236/trunk@105711 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 18:16:28 +00:00
rangansen%netscape.com
d6a588054c Checking in for morse@netscape.com
bug# 87334, r=rangansen r=jag sr=Alect Flett
enforcing ask everytime option for passwords ...


git-svn-id: svn://10.0.0.236/trunk@105710 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 18:06:39 +00:00
kestes%walrus.com
78809a5b97 Remove the /var/run/ stuff. I need to think this through more carefully.
This only needs to happen on the build script.  This needs to happen as
the user root but currently I do not run the build script ever as root.


git-svn-id: svn://10.0.0.236/trunk@105709 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 16:19:59 +00:00
kestes%walrus.com
019bfba186 bug fixes to get the /var/run stuff to work.
git-svn-id: svn://10.0.0.236/trunk@105708 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 16:17:24 +00:00
kestes%walrus.com
1376081eb8 separate the packge output into client and server packages.
git-svn-id: svn://10.0.0.236/trunk@105707 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 15:59:20 +00:00
kestes%walrus.com
e2db7a1ad9 Add support for /var/run/ directory.
git-svn-id: svn://10.0.0.236/trunk@105706 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 15:05:57 +00:00
dinglis%qnx.com
39736cc757 Not part of build
convert text to UTF8 instead of ascii


git-svn-id: svn://10.0.0.236/trunk@105705 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 14:19:00 +00:00
ian.mcgreer%sun.com
41646505d2 fix AIX build
git-svn-id: svn://10.0.0.236/trunk@105704 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 13:58:28 +00:00
dinglis%qnx.com
d481e567e4 fixed bug#91955
default preferences for photon
r=bnesse sr=jst


git-svn-id: svn://10.0.0.236/trunk@105703 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 13:46:18 +00:00
timeless%mac.com
ed0a9ab9a9 Bugzilla Bug 76339 get rid of nsIAppShellComponent
(QNX changes)
r=dbradley sr=jst


git-svn-id: svn://10.0.0.236/trunk@105702 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 13:25:10 +00:00
markh%activestate.com
7e17f52da2 Fix build bustage on Windows, caused by recent #include dir changes.
Not part of the build (hence not noticed)


git-svn-id: svn://10.0.0.236/trunk@105701 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 13:20:30 +00:00
dp%netscape.com
455aa66d39 bug# 101769 Stop loading plugins on startup r=av,sr=waterson
git-svn-id: svn://10.0.0.236/trunk@105700 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 12:26:23 +00:00
dp%netscape.com
df89cc2c43 Fixing warning r=av sr=waterson
git-svn-id: svn://10.0.0.236/trunk@105699 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 12:22:31 +00:00
dp%netscape.com
31c1a00c8b Fixing warnings
git-svn-id: svn://10.0.0.236/trunk@105698 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 12:21:33 +00:00
rginda%netscape.com
ebc2ff24f9 venkman only
s/doCommand.stepOut/doCommandStepOut/ for "finish" command


git-svn-id: svn://10.0.0.236/trunk@105697 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 11:12:37 +00:00
rginda%netscape.com
c0b2b24d8c venkman only
move from "checked" attribute to "willStop" for stop button to avoid classic skin issues.


git-svn-id: svn://10.0.0.236/trunk@105696 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 11:05:15 +00:00
rginda%netscape.com
3d8116b314 venkman only
add homepage to hello message.


git-svn-id: svn://10.0.0.236/trunk@105695 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 11:04:26 +00:00
rginda%netscape.com
ce46c52740 venkman only
remove bogus classes from outliner columns
make line number column wider by default
add splitter to source view


git-svn-id: svn://10.0.0.236/trunk@105694 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 11:03:58 +00:00
rginda%netscape.com
2f45778e17 venkman only
move from "checked" attribute to "willStop" on the stop button because the classic skin does silly things for "checked".


git-svn-id: svn://10.0.0.236/trunk@105693 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 11:02:59 +00:00
rginda%netscape.com
19a3ad4c26 venkman only
invalidate outliner after continuing so the yellow bar goes away
strict mode fix


git-svn-id: svn://10.0.0.236/trunk@105692 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 11:00:33 +00:00
rginda%netscape.com
f46de207fd venkman only
remove extra braces and return


git-svn-id: svn://10.0.0.236/trunk@105691 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 10:59:47 +00:00
darin%netscape.com
2a4326a282 fixes bug 102743 "Crash pressing Back or Forward on O'Reilly website"
r=gagan, sr=rpotts


git-svn-id: svn://10.0.0.236/trunk@105690 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 10:37:04 +00:00
timeless%mac.com
e57298ae78 QNX bustage fixes
git-svn-id: svn://10.0.0.236/trunk@105689 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 10:33:08 +00:00
timeless%mac.com
736e5d4a5c Requires changes to get QNX building, r=cls
git-svn-id: svn://10.0.0.236/trunk@105688 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 10:23:55 +00:00
pavlov%netscape.com
ac8fe24c94 first of many patches to come for bug 104999 r=timeless sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@105687 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 09:43:22 +00:00
seawood%netscape.com
50647dd9c6 perldoc.com lied to me. File::Spec isn't in 5.004 so we need to up the minimum requirement or change the script to not use it. Disabling the script again.
Bug 101431


git-svn-id: svn://10.0.0.236/trunk@105686 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 07:58:01 +00:00
jband%netscape.com
f40de0e3d3 fix warning (and perhaps wrong behavior) by restoring new-style C++ cast of nsInt64 reference into a PRInt64 when passing to PR_fprintf. This was inadvertantly removed in the recent checkin. rs=jband
git-svn-id: svn://10.0.0.236/trunk@105685 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 07:55:38 +00:00
beard%netscape.com
068503fa96 [not part of build] Stop using non-existent plugin methods.
git-svn-id: svn://10.0.0.236/trunk@105684 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 07:36:32 +00:00
beard%netscape.com
39b7565ced [not part of build] Major cleanup, removal of unnecessary methods, correct implementation of nsIPlugin/nsIJVMPlugin interfaces.
git-svn-id: svn://10.0.0.236/trunk@105683 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 07:34:20 +00:00
beard%netscape.com
43494c69a7 [not part of build] Keep vector<FSRef> instead of vector<FSSpec> as class path.
git-svn-id: svn://10.0.0.236/trunk@105682 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 07:29:44 +00:00
beard%netscape.com
09e1695bc6 [not part of build] Added operators new[] and delete[].
git-svn-id: svn://10.0.0.236/trunk@105681 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 07:28:33 +00:00
waterson%netscape.com
5a57247e65 Bug 105063. Drop support for storing content ID since we'll never realistically have XUL frames requiring state restoration. r=brendan, sr=jst.
git-svn-id: svn://10.0.0.236/trunk@105680 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 07:25:40 +00:00
timeless%mac.com
1529a36380 a=cls (not part of the build/build bustage -- by pavlov)
git-svn-id: svn://10.0.0.236/trunk@105679 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 07:03:05 +00:00
seawood%netscape.com
77e7322f02 Re-enabling chromelist generation now that bad perl installation on tinderbox has been fixed.
Bug #101431


git-svn-id: svn://10.0.0.236/trunk@105677 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 06:47:36 +00:00
seawood%netscape.com
783a8d60d2 Creating Makefiles in cvs removed dirs is causing problems again
git-svn-id: svn://10.0.0.236/trunk@105676 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 06:45:40 +00:00
stephend%netscape.com
807453efa2 Bug 105245. Spelling typo in an error msg. r=stuartp@netscape.com, sr=mozbot
git-svn-id: svn://10.0.0.236/trunk@105675 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 06:40:41 +00:00
seawood%netscape.com
70f79b7833 Fixing typo
git-svn-id: svn://10.0.0.236/trunk@105674 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 06:23:36 +00:00
pchen%netscape.com
7c31a815dd 91074, r=gerv, rs=ben, fix typo of Hypertext to HyperText
git-svn-id: svn://10.0.0.236/trunk@105669 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 05:53:25 +00:00
jst%netscape.com
3cb461effc Adding new file for John Keiser, not part of the build yet.
git-svn-id: svn://10.0.0.236/trunk@105666 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 05:52:57 +00:00
pchen%netscape.com
22370c7b3b 93195, r=jag, rs=ben, fix comment about minimum supported macos version to match code
git-svn-id: svn://10.0.0.236/trunk@105665 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 05:48:41 +00:00
jband%netscape.com
77718ac1ef Add support for loading typelibs from multiple directories and correctly tracking that in xpti.dat. Also speedup xpti.dat reading by getting rid of PR_sscanf. This fixes bug 104191 and bug 105042. r=ccarlen sr=jst.
git-svn-id: svn://10.0.0.236/trunk@105661 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 04:23:25 +00:00
waterson%netscape.com
a8057d6717 Bug 100231. Use nsCheapVoidArray to save a word in nsXULElement. r=brendan,rjesup; sr=jst
git-svn-id: svn://10.0.0.236/trunk@105658 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 03:47:32 +00:00
bzbarsky%mit.edu
3ed1fa3422 Fixing extension matching for mime.types files so "c" won't match
"doc".  bug 103489, r=jag, sr=scc


git-svn-id: svn://10.0.0.236/trunk@105657 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 03:38:52 +00:00
mcafee%netscape.com
42227c38a5 Stop building gtkEmbed, replacing this with TestGtkEmbed (part 2 of bug 90526). r=blizzard, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@105656 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 03:29:44 +00:00
mcafee%netscape.com
0f6946839a script to map module names to directory names. sr=alecf
git-svn-id: svn://10.0.0.236/trunk@105655 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 03:27:04 +00:00
dbaron%fas.harvard.edu
984385d28c Fix shutdown leaks of static regions. r=jag sr=blizzard b=103006
git-svn-id: svn://10.0.0.236/trunk@105654 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 03:24:09 +00:00
dbaron%fas.harvard.edu
7ac5c84051 Correct incorrect bustage fix that was causing some odd text substitutions in mail messages. r=jag sr=alecf, hyatt b=104693
git-svn-id: svn://10.0.0.236/trunk@105653 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 03:21:31 +00:00
timeless%mac.com
6fdb7a5e81 Bugzilla Bug 102762 Cancel does nothing in find dialog when no search text is provided
patch by simm0@ii.net r=hyatt sr=hewitt


git-svn-id: svn://10.0.0.236/trunk@105652 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 03:07:25 +00:00
shrutiv%netscape.com
db3abdd601 Fix for bug 105150: Include automatic proxy configuration in UI (r=bobj)
git-svn-id: svn://10.0.0.236/trunk@105651 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-18 02:17:14 +00:00
peterlubczynski%netscape.com
e97395ee57 Plugin SDK basic plugin port for Mac initial check-in. not part of the build
git-svn-id: svn://10.0.0.236/trunk@105650 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 23:37:52 +00:00
wtc%netscape.com
53585b3dd1 Bugzilla bug 71179: Neutrino needs the RTLD_GROUP flag to load Netscape
plugins.  The fix is contributed by timeless@bemail.org.


git-svn-id: svn://10.0.0.236/trunk@105649 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 23:34:50 +00:00
peterlubczynski%netscape.com
3525407e34 Plugin SDK changes for Mac. not part of the build
git-svn-id: svn://10.0.0.236/trunk@105648 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 23:34:31 +00:00
wtc%netscape.com
f94b003c2e Bugzilla bug 77197: use spawn in Neutrino because fork & exec does not
work in multithreaded programs in Neutrino.  The patch is contributed
by dinglis@qnx.com (Dave Inglis), reviewed and modified by wtc.


git-svn-id: svn://10.0.0.236/trunk@105647 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 23:11:25 +00:00
wtc%netscape.com
3c26e67cfc Bugzilla bug 92085: checked in a Neutrino patch from
briane@qnx.com (Brian Edmond).  r=wtc.
Modified files: _nto.h protypes.h


git-svn-id: svn://10.0.0.236/trunk@105644 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 22:28:29 +00:00
jpierre%netscape.com
dd770d60a7 Fix NT comment in OS/2 Makefile
git-svn-id: svn://10.0.0.236/trunk@105642 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 22:15:26 +00:00
wtc%netscape.com
c4dd8d142a Bugzilla bug 77188: checked in a configure patch for Neutrino from
dinglis@qnx.com (Dave Inglis).  r=wtc.
Modified files: configure configure.in


git-svn-id: svn://10.0.0.236/trunk@105641 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 20:50:51 +00:00
jpierre%netscape.com
224f9b47dc Fix for 104740 - build bignum library on OS/2 with mpi_x86 assembly code . reviewed by nelsonb
git-svn-id: svn://10.0.0.236/trunk@105640 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 20:35:37 +00:00
nelsonb%netscape.com
cbcf5e174c Fix bug 105185, which sometimes caused the result to be greater than n.
Fix suggested by Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>


git-svn-id: svn://10.0.0.236/trunk@105639 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 20:35:04 +00:00
beard%netscape.com
7706032a1e [not part of build] Removed global thePlugin, now closing plugin's resource fork in termination routine.
git-svn-id: svn://10.0.0.236/trunk@105638 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 19:59:10 +00:00
beard%netscape.com
e2bdab0acd [not part of build] Added PROXY_JNI_CALLS define, and added proxy messages for ALL essential calls. This enables LiveConnect on Mac OS X.
git-svn-id: svn://10.0.0.236/trunk@105637 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 19:57:28 +00:00
dougt%netscape.com
f7097e84eb reverting to the old way to get windows directories since the function I am using does not work on windows systems without IE4. a=nhotta@netscape.com
git-svn-id: svn://10.0.0.236/trunk@105636 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 19:38:58 +00:00
wtc%netscape.com
2bd3aec57a A better way to define the HAVE_SNPRINTF macro.
git-svn-id: svn://10.0.0.236/trunk@105632 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 17:53:16 +00:00
ian.mcgreer%sun.com
40e21c8720 add ability to notify user that chain is incomplete
git-svn-id: svn://10.0.0.236/trunk@105630 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 15:48:09 +00:00
ian.mcgreer%sun.com
ba36bf7bc6 some more cert lookup methods; find cert issuer/chain; mimic nickname as "token name:nickname"
git-svn-id: svn://10.0.0.236/trunk@105629 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 14:40:27 +00:00
ian.mcgreer%sun.com
7ec77de1f4 get token name function; change cert function name
git-svn-id: svn://10.0.0.236/trunk@105628 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 14:39:11 +00:00
ian.mcgreer%sun.com
4577fd5dbb fix iteration for empty list
git-svn-id: svn://10.0.0.236/trunk@105627 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 14:37:48 +00:00
ian.mcgreer%sun.com
6d98369750 add back pointer to Stan cert from CERTCertificate
git-svn-id: svn://10.0.0.236/trunk@105626 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 14:37:10 +00:00
ian.mcgreer%sun.com
be3a45a33d implement several more PKCS#11 methods with Stan counterparts
git-svn-id: svn://10.0.0.236/trunk@105625 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 14:36:06 +00:00
ian.mcgreer%sun.com
85e9ed13f0 implement CERT_CertChainFromCert using Stan
git-svn-id: svn://10.0.0.236/trunk@105624 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 14:35:01 +00:00
bernd.mielke%snafu.de
67e3a6751d bug 103443 - remove the return rv?rv: NS_ERROR_FAILURE pattern from the editor files.
the editor/base remain untouched r=cmanske sr=kin


git-svn-id: svn://10.0.0.236/trunk@105623 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 14:33:50 +00:00
dinglis%qnx.com
b0bee04e64 Not part of build
update of Photon port


git-svn-id: svn://10.0.0.236/trunk@105622 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 14:13:47 +00:00
dinglis%qnx.com
e4137224be Not part of build
update of photon port


git-svn-id: svn://10.0.0.236/trunk@105621 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 14:11:53 +00:00
dinglis%qnx.com
8495dea380 Not part of build
fixed up requires


git-svn-id: svn://10.0.0.236/trunk@105620 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 14:09:52 +00:00
mkaply%us.ibm.com
8277ca276b OS/2 bustage
git-svn-id: svn://10.0.0.236/trunk@105619 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 13:14:22 +00:00
nboyd%atg.com
b57e670e00 Apparently the "classic" compiler is not only deprecated in JDK 1.4, but it
also has a significant regression introduced in it.   The default compiler
not only works, but also is noticably faster.  Ant takes care of the
selection of the compiler automatically based on the JDK level, so the
following patch should make things better all around.


git-svn-id: svn://10.0.0.236/trunk@105618 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 12:59:48 +00:00
nboyd%atg.com
acea3a7499 Remove deprecated class.
git-svn-id: svn://10.0.0.236/trunk@105617 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 12:59:18 +00:00
nboyd%atg.com
61d5d439d6 Remove deprecated FlattenedObject.
Patch from Igor:
The 2 attached patches allow to avoid wrapping of array indexes to Double object
when Interpreter knows that the index is an integer number. It speed up array
benchmark by 5-10%

array_access.diff adds to ScriptRuntime getStrIdElem and setStrIdElem to get/set
properties which known to be strings plus it modifies NativeArray to use these methods.

interpreter.diff contains the Interpreter modifications to call get/setElem for
integer or string properties when the property type is known for sure.


git-svn-id: svn://10.0.0.236/trunk@105616 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 12:59:02 +00:00
nboyd%atg.com
bd420d060b Backslashes don't work.
git-svn-id: svn://10.0.0.236/trunk@105615 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 12:53:39 +00:00
dbradley%netscape.com
9bc41bcde1 bug 103649 - Crash when rendering a page with hundreds of iframes - This reduces the number of calls to JS_ContextIterator from XPCJSRuntime::SyncXPCContextList. It is only the first step in addressing this bug. r=jband, sr=jst
git-svn-id: svn://10.0.0.236/trunk@105614 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 11:52:55 +00:00
seawood%netscape.com
3ffa4b1dba Partial backout of Gerv's checkin until we can work out the perl dependency.
git-svn-id: svn://10.0.0.236/trunk@105613 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 09:34:47 +00:00
hyatt%netscape.com
17d94d5a2b Fix for 105214. r=jag, sr=ben
git-svn-id: svn://10.0.0.236/trunk@105612 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 09:02:02 +00:00
brendan%mozilla.org
0fcd3e9626 Checking in scole@planetweb.com's patch to prefix str_escape with js_ (96084, r=rogerl, sr=brendan).
git-svn-id: svn://10.0.0.236/trunk@105611 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 08:16:53 +00:00
seawood%netscape.com
af26dff1db Really remove extra VPATH
Bug #105005


git-svn-id: svn://10.0.0.236/trunk@105610 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 07:25:24 +00:00
seawood%netscape.com
6b5be4cbcb Oops forgot local include path.
Bug #105005


git-svn-id: svn://10.0.0.236/trunk@105609 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 06:40:48 +00:00
seawood%netscape.com
f2559aab90 Use LOCAL_INCLUDES to make sure that our ldap.h gets used before any system copy.
Bug #103281


git-svn-id: svn://10.0.0.236/trunk@105608 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 06:20:42 +00:00
rbs%maths.uq.edu.au
4050ab700c More bullet-proofing of glyph resolution. b=103777 r=shanjian sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@105607 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 06:06:09 +00:00
seawood%netscape.com
a5686224c1 Remove use of additional dirs in VPATH as it causes problems in srcdir builds and the previous workarounds do not always work due to a bug in gcc's -MD.
Bug #105005 r=jag


git-svn-id: svn://10.0.0.236/trunk@105606 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 06:00:18 +00:00
rpotts%netscape.com
3db15629d1 bug #104769 (r=pavlov@netscape.com, sr=jst@netscape.com) Opening new windows sometimes stalls...
git-svn-id: svn://10.0.0.236/trunk@105605 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 05:57:29 +00:00
waterson%netscape.com
e1d5f4d759 Bug 104658. Ignore AttributeChanged notifications before the initial reflow has occurred. r=dbaron, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@105603 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 05:34:35 +00:00
gerv%gerv.net
22f4f719e8 Bug 101431 - create chromelist.txt for use with Patch Maker. r=cls, leaf.
git-svn-id: svn://10.0.0.236/trunk@105602 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 05:27:42 +00:00
jaggernaut%netscape.com
7421efac1f Bug 73292: Add const nsACString& constructor to NS_Convert(ASCII|UTF8)toUCS2. r=dbaron, sr=scc.
git-svn-id: svn://10.0.0.236/trunk@105601 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 05:17:53 +00:00
mkaply%us.ibm.com
2460fe3a97 OS/2 bustage
git-svn-id: svn://10.0.0.236/trunk@105600 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 05:01:54 +00:00
naving%netscape.com
1e17e4ef59 105162 r=racham sr=mscott. Remove unused prefs
git-svn-id: svn://10.0.0.236/trunk@105599 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 04:53:25 +00:00
naving%netscape.com
5d71096783 105162 r=racham sr=mscott. Make download message size pref work for pop3 again. Remove unused pref.
git-svn-id: svn://10.0.0.236/trunk@105597 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 04:53:23 +00:00
leaf%mozilla.org
35a5aa446b Automated update
git-svn-id: svn://10.0.0.236/trunk@105595 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 04:28:20 +00:00
blizzard%redhat.com
c5726e9c99 Update gtk2 link flags. r=cls
git-svn-id: svn://10.0.0.236/trunk@105594 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 04:25:45 +00:00
waldemar%netscape.com
671b3acf59 Added support for writable actions
git-svn-id: svn://10.0.0.236/trunk@105593 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 03:57:51 +00:00
waldemar%netscape.com
93633d4a47 Enhanced list*-bind and added tree-member
git-svn-id: svn://10.0.0.236/trunk@105592 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 03:57:32 +00:00
waldemar%netscape.com
b252b660c4 Fixes from October 1 ECMA meeting
git-svn-id: svn://10.0.0.236/trunk@105591 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 03:57:06 +00:00
waldemar%netscape.com
b55d66715b Test of writable actions
git-svn-id: svn://10.0.0.236/trunk@105590 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 03:55:46 +00:00
waldemar%netscape.com
65c89ecbb4 Updated for new syntax
git-svn-id: svn://10.0.0.236/trunk@105589 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 03:55:25 +00:00
brendan%mozilla.org
69d4fd60de Fixes for bug 80981 (``Need extended jump bytecode to avoid "script too large"
errors, etc.''):

We now ReportStatementTooLarge only if
- a jump offset overflows 32 bits, signed;
- there are 2**32 or more span dependencies in a script;
- a backpatch chain link is more than (2**30 - 1) bytecodes long;
- a source note's distance from the last note, or from script main entry
  point, is > 0x7fffff bytes.

Narrative of the patch, by file:

- js.c
  The js_SrcNoteName array of const char * is now a js_SrcNoteSpec array of
  "specifiers", structs that include a const char *name member.  Also, due to
  span-dependent jumps at the ends of basic blocks where the decompiler knows
  the basic block length, but not the jump format, we need an offset operand
  for SRC_COND, SRC_IF_ELSE, and SRC_WHILE (to tell the distance from the
  branch bytecode after the condition expression to the span-dependent jump).

- jsarena.[ch]
  JS arenas are used mainly for last-in-first-out allocation with _en masse_
  release to the malloc pool (or, optionally, to a private freelist).  But
  the code generator needs to allocate and grow (by doubling, to avoid O(n^2)
  growth) allocations that hold bytecode, source notes, and span-dependency
  records.  This exception to LIFO allocation works by claiming an entire
  arena from the pool and realloc'ing it, as soon as the allocation size
  reaches the pool's default arena size.  Call such an allocation a "large
  single allocation".

  This patch adds a new arena API, JS_ArenaFreeAllocation, which can be used
  to free a large single allocation.  If called with an allocation that's not
  a large single allocation, it will nevertheless attempt to retract the arena
  containing that allocation, if the allocation is last within its arena.
  Thus JS_ArenaFreeAllocation adds a non-LIFO "free" special case to match the
  non-LIFO "grow" special case already implemented under JS_ARENA_GROW for
  large single allocations.

  The code generator still benefits via this extension to arenas, over purely
  manual malloc/realloc/free, by virtue of _en masse_ free (JS_ARENA_RELEASE
  after code generation has completed, successfully or not).

  To avoid searching for the previous arena, in order to update its next
  member upon reallocation of the arena containing a large single allocation,
  the oversized arena has a back-pointer to that next member stored (but not
  as allocable space within the arena) in a (JSArena **) footer at its end.

- jscntxt.c
  I've observed for many scripts that the bytes of source notes and bytecode
  are of comparable lengths, but only now am I fixing the default arena size
  for cx->notePool to match the size for cx->codePool (1024 instead of 256).

- jsemit.c
  Span-dependent instructions in JS bytecode consist of the jump (JOF_JUMP)
  and switch (JOF_LOOKUPSWITCH, JOF_TABLESWITCH) format opcodes, subdivided
  into unconditional (gotos and gosubs), and conditional jumps or branches
  (which pop a value, test it, and jump depending on its value).  Most jumps
  have just one immediate operand, a signed offset from the jump opcode's pc
  to the target bytecode.  The lookup and table switch opcodes may contain
  many jump offsets.

  This patch adds "X" counterparts to the opcodes/formats (X is suffixed, btw,
  to prefer JSOP_ORX and thereby to avoid colliding on the JSOP_XOR name for
  the extended form of the JSOP_OR branch opcode).  The unextended or short
  formats have 16-bit signed immediate offset operands, the extended or long
  formats have 32-bit signed immediates.  The span-dependency problem consists
  of selecting as few long instructions as possible, or about as few -- since
  jumps can span other jumps, extending one jump may cause another to need to
  be extended.

  Most JS scripts are short, so need no extended jumps.  We optimize for this
  case by generating short jumps until we know a long jump is needed.  After
  that point, we keep generating short jumps, but each jump's 16-bit immediate
  offset operand is actually an unsigned index into cg->spanDeps, an array of
  JSSpanDep structs.  Each struct tells the top offset in the script of the
  opcode, the "before" offset of the jump (which will be the same as top for
  simplex jumps, but which will index further into the bytecode array for a
  non-initial jump offset in a lookup or table switch), the after "offset"
  adjusted during span-dependent instruction selection (initially the same
  value as the "before" offset), and the jump target (more below).

  Since we generate cg->spanDeps lazily, from within js_SetJumpOffset, we must
  ensure that all bytecode generated so far can be inspected to discover where
  the jump offset immediate operands lie within CG_CODE(cg).  But the bonus is
  that we generate span-dependency records sorted by their offsets, so we can
  binary-search when trying to find a JSSpanDep for a given bytecode offset,
  or the nearest JSSpanDep at or above a given pc.

  To avoid limiting scripts to 64K jumps, if the cg->spanDeps index overflows
  65534, we store SPANDEP_INDEX_HUGE in the jump's immediate operand.  This
  tells us that we need to binary-search for the cg->spanDeps entry by the
  jump opcode's bytecode offset (sd->before).

  Jump targets need to be maintained in a data structure that lets us look
  up an already-known target by its address (jumps may have a common target),
  and that also lets us update the addresses (script-relative, a.k.a. absolute
  offsets) of targets that come after a jump target (for when a jump below
  that target needs to be extended).  We use an AVL tree, implemented using
  recursion, but with some tricky optimizations to its height-balancing code
  (see http://www.enteract.com/~bradapp/ftp/src/libs/C++/AvlTrees.html).

  A final wrinkle: backpatch chains are linked by jump-to-jump offsets with
  positive sign, even though they link "backward" (i.e., toward lower bytecode
  address).  We don't want to waste space and search time in the AVL tree for
  such temporary backpatch deltas, so we use a single-bit wildcard scheme to
  tag true JSJumpTarget pointers and encode untagged, signed (positive) deltas
  in JSSpanDep.target pointers, depending on whether the JSSpanDep has a known
  target, or is still awaiting backpatching.

  Note that backpatch chains would present a problem for BuildSpanDepTable,
  which inspects bytecode to build cg->spanDeps on demand, when the first
  short jump offset overflows.  To solve this temporary problem, we emit a
  proxy bytecode (JSOP_BACKPATCH; JSOP_BACKPATCH_PUSH for jumps that push a
  result on the interpreter's stack, namely JSOP_GOSUB; or JSOP_BACKPATCH_POP
  for branch ops) whose nuses/ndefs counts help keep the stack balanced, but
  whose opcode format distinguishes its backpatch delta immediate operand from
  a normal jump offset.

  The cg->spanDeps array and JSJumpTarget structs are allocated from the
  cx->tempPool arena-pool.  This created a LIFO vs. non-LIFO conflict: there
  were two places under the TOK_SWITCH case in js_EmitTree that used tempPool
  to allocate and release a chunk of memory, during whose lifetime JSSpanDep
  and/or JSJumpTarget structs might also be allocated from tempPool -- the
  ensuing release would prove disastrous.  These bitmap and table temporaries
  are now allocated from the malloc heap.

- jsinterp.c
  Straightforward cloning and JUMP => JUMPX mutating of the jump and switch
  format bytecode cases.

- jsobj.c
  Silence warnings about %p used without (void *) casts.

- jsopcode.c
  Massive and scary decompiler whackage to cope with extended jumps, using
  source note offsets to help find jumps whose format (short or long) can't
  be discovered from properties of prior instructions in the script.

  One cute hack here: long || and && expressions are broken up to wrap before
  the 80th column, with the operator at the end of each non-terminal line.

- jsopcode.h, jsopcode.tbl
  The new extended jump opcodes, formats, and fundamental parameterization
  macros.  Also, more comments.

- jsparse.c
  Random and probably only aesthetic fix to avoid decorating a foo[i]++ or
  --foo[i] parse tree node with JSOP_SETCALL, wrongly (only foo(i)++ or
  --foo(i), or the other post- or prefix form operator, should have such an
  opcode decoration on its parse tree).

- jsscript.h
  Random macro naming sanity: use trailing _ rather than leading _ for macro
  local variables in order to avoid invading the standard C global namespace.


git-svn-id: svn://10.0.0.236/trunk@105588 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 03:16:48 +00:00
blizzard%redhat.com
164f60d537 Work with versions of bash older than version 2. Not part of the default build. Bug #104768.
git-svn-id: svn://10.0.0.236/trunk@105587 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 02:57:00 +00:00
hyatt%netscape.com
aab94a1cb2 Fix for 97805, r=sfraser, sr=waterson, also fixing event prioritization problems on Win32, r=jag, sr=brendan
git-svn-id: svn://10.0.0.236/trunk@105586 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 02:14:43 +00:00
jst%netscape.com
a698aafccd Fixing most of bug 62536. Adding support for the properties scrollTop, scrollLeft, scrollHeight, scrollWidth, clientHeight, clientWidth and the method scrollIntoView() to elements for compatibility with IE. Patch by Fabian <hidday@geocities.com> and myself, r=peterv@netscape.com, sr=jband@netscape.com
git-svn-id: svn://10.0.0.236/trunk@105584 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 01:17:47 +00:00
beard%netscape.com
f2a983d650 [Not part of build] Reset versions to 1.0d1.
git-svn-id: svn://10.0.0.236/trunk@105583 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 01:16:48 +00:00
beard%netscape.com
9ad655f30b [not part of build] Removed redundant bundle loading code, #if DEBUG kprintf, etc.
git-svn-id: svn://10.0.0.236/trunk@105582 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 01:16:13 +00:00
wtc%netscape.com
70ee1142a6 Rewrote #ifndef #else #endif by the equivalent #ifdef #else #endif.
git-svn-id: svn://10.0.0.236/trunk@105579 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 01:10:16 +00:00
kmcclusk%netscape.com
2a7864f0bc Scroll browser window to top-left if anchor can not be found (quirks only) bug 80784. r=kin@netscape.com sr=attinasi@netscape.com
git-svn-id: svn://10.0.0.236/trunk@105578 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 01:06:19 +00:00
law%netscape.com
4c669fff49 Fixes for bugs:
74445  - Add call to DdeUnaccessData (r=pchen, sr=blake)
103849 - Use ::IsIconic to check if window is minimized before restoring (r=matt, sr=blake)


git-svn-id: svn://10.0.0.236/trunk@105576 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 00:42:12 +00:00
av%netscape.com
28337089e7 Correction to the fix to bug 104940 (r=peterl, sr=waterson) -- memory leak avoided
git-svn-id: svn://10.0.0.236/trunk@105575 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 00:39:21 +00:00
law%netscape.com
07eebcccfc Fix for bug 104910; change default for Don't ask me this again checkbox on Quick Launch dialog; r=pchen, sr=blake
git-svn-id: svn://10.0.0.236/trunk@105572 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 00:36:10 +00:00
blakeross%telocity.com
cfea4e44b9 Removing unused file.
git-svn-id: svn://10.0.0.236/trunk@105571 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 00:32:35 +00:00
pierre%netscape.com
e0c5a0727b 91665 "Dump Style Contexts doesn't work anymore". Fixed nsStyleContext::List(). r=attinasi/sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@105570 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 00:25:26 +00:00
blakeross%telocity.com
208d60fb50 Removing unused file.
git-svn-id: svn://10.0.0.236/trunk@105569 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 00:21:06 +00:00
seawood%netscape.com
e999279eab Backing out previous change as it's screwing up --disable-auto-deps builds.
Bug #105005


git-svn-id: svn://10.0.0.236/trunk@105568 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 00:14:25 +00:00
pierre%netscape.com
e21200cd23 97052 "getComputedStyle returns default value for border width when there is no border". GetBorderWidthFor() now returns 0 if NS_STYLE_BORDER_STYLE_NONE. r=bzbarsky / sr=jst
git-svn-id: svn://10.0.0.236/trunk@105567 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-17 00:05:05 +00:00
pierre%netscape.com
54f09f85f4 97534 "classic: after changing text color, text [labels] in dialogs/chrome also changed in color". Added GetDocumentColorPreferences() and call it when we set the container (chrome/content) on the presContext. r=dbaron / sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@105566 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:59:25 +00:00
wtc%netscape.com
88fa081a13 Bugzilla bug 105154: fixed a timing problem in OS/2's implementation of
condition variables.  Thanks to Aaron Read <aaronr@us.ibm.com> for the
patch.  r=wtc.


git-svn-id: svn://10.0.0.236/trunk@105565 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:54:24 +00:00
seawood%netscape.com
30239478f9 Check for makefiles before running make to avoid needless errors. sr=alecf
git-svn-id: svn://10.0.0.236/trunk@105561 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:44:12 +00:00
dougt%netscape.com
7afa8ce1d2 Allows a QI from nsIServiceManager to nsIServiceManagerObsolete. b=105136, r=beard, sr=darin
git-svn-id: svn://10.0.0.236/trunk@105560 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:39:20 +00:00
seawood%netscape.com
31b5169a1b Removing modules/plugin/tools/mpdk at av's request.
Bug #104941


git-svn-id: svn://10.0.0.236/trunk@105559 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:38:40 +00:00
wtc%netscape.com
7f6484b0b8 We don't assert on invalid arguments now.
git-svn-id: svn://10.0.0.236/trunk@105558 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:36:44 +00:00
tao%netscape.com
4077c4cab0 bug 72496: How to get all platform files w/o downloading 3 Browsers?
r=ssu,sr=dveditz


git-svn-id: svn://10.0.0.236/trunk@105557 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:36:03 +00:00
dougt%netscape.com
28d5971198 Improvements to GetWindowsFolder. bug 104962, r=dveditz@netscape.com, sr=darin@netscape.com
git-svn-id: svn://10.0.0.236/trunk@105556 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:33:08 +00:00
beard%netscape.com
811eb2e35d [Not part of build] Removed extraneous targets, simplified access paths.
git-svn-id: svn://10.0.0.236/trunk@105555 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:32:50 +00:00
wtc%netscape.com
ef741ab75b Bugzilla bug 104269: allow one to specify an includedir or dist_includedir
that doesn't end in "/nspr".  This patch is due to cls.  r=wtc.
The only problem with this solution is that the default value for
--includedir shown in the --help output is wrong.
Modified files: configure.in configure config/autoconf.mk.in


git-svn-id: svn://10.0.0.236/trunk@105554 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:31:02 +00:00
beard%netscape.com
111e19ef60 [not part of build] Removed dependencies on MRJNetworking, which is unavailable in OS X.
git-svn-id: svn://10.0.0.236/trunk@105553 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:29:54 +00:00
beard%netscape.com
d7faa1f8f5 [not part of build] Added MRJPlugin::GetService() static methods. Added support for using both new service manager, and obsolete service manager, for backwards compatibility.
git-svn-id: svn://10.0.0.236/trunk@105552 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:29:15 +00:00
beard%netscape.com
edc0f4a971 [not part of build] Added MRJPlugin::GetService() static methods.
git-svn-id: svn://10.0.0.236/trunk@105551 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:27:47 +00:00
beard%netscape.com
0ecbf3b3ee [not part of build] Removed all uses of raw nsIServiceManager, in favor of MRJPlugin::GetService().
git-svn-id: svn://10.0.0.236/trunk@105550 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:27:15 +00:00
aaronl%netscape.com
a02d72b41b Bug 57192. Alt+Down for combo boxes in HTML. r=rods, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@105547 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:00:12 +00:00
matt%netscape.com
34d29b64ff Adding context menu with search. Bug 15176. r=law sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@105546 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 22:56:52 +00:00
ftang%netscape.com
9385592d3b add new files to the build. Not part of the build yet. Won't impact the tree.
fix bug 23363 r=brade sr=sfraser


git-svn-id: svn://10.0.0.236/trunk@105545 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 22:32:39 +00:00
ftang%netscape.com
a8316b2299 fix bug 97176. delay loading of fontEncoding.properties untill we need it. Build in some common pair
r=rbs sr=waterson


git-svn-id: svn://10.0.0.236/trunk@105544 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 22:29:29 +00:00
alecf%netscape.com
ae461f1992 argh, add this file back to prevent further fizilla bustage
git-svn-id: svn://10.0.0.236/trunk@105543 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 22:23:45 +00:00
av%netscape.com
3652a1446d Fixing bug 104866 -- null chech before using nsCRT::strlen avoiding crash, r=nhotta, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@105542 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 22:14:52 +00:00
av%netscape.com
2f106e6979 Fixing bug 104940 -- ignore plugins that do not show mime type, r=peterl, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@105541 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 22:12:27 +00:00
jaggernaut%netscape.com
56fd5dbc91 More REQUIRES clean-up.
git-svn-id: svn://10.0.0.236/trunk@105540 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 22:08:55 +00:00
alecf%netscape.com
0dd5094436 ack, what is this doing calling shutdown? :(
shutdown is gone


git-svn-id: svn://10.0.0.236/trunk@105539 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 21:54:11 +00:00
waterson%netscape.com
9c712ccd4f Bug 104328. Re-use fast code from nsIRDFContainerUtils to implement nsRDFContainer::IndexOf; fix infinite loop in nsRDFContainerUtils::IndexOf. Patch from tingley@sundell.net, r=waterson, sr=shaver.
git-svn-id: svn://10.0.0.236/trunk@105538 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 21:52:01 +00:00
cmanske%netscape.com
1687edd775 Don't add new attribute if value is empty in Composer Advanced Edit dialog, r=96906, r=brade, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@105537 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 21:51:12 +00:00
cmanske%netscape.com
3c6edcc3a7 Cleaned up imageMap objects in Composer Image Dialog, b=94749, r=brade, sr=kin
git-svn-id: svn://10.0.0.236/trunk@105536 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 21:45:37 +00:00
kin%netscape.com
ffde4a4364 Fix for bug 97674: Parts of Mail composition/Composer window left blank after deleting text
If a paint event is received while refresh is disabled,
DispatchEvent() will now call UpdateView() to add the
area specified by the paint event, to the dirty region of
the view. This will insure that the area will get painted
properly when refresh is enabled.

r=kmcclusk@netscape.com  sr=sfraser@netscape.com


git-svn-id: svn://10.0.0.236/trunk@105535 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 21:41:42 +00:00
alecf%netscape.com
ed5a290fe5 remove everything from this dir, no longer part of build
git-svn-id: svn://10.0.0.236/trunk@105534 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 21:38:36 +00:00
cmanske%netscape.com
a1112551b8 Fixed not clearing 'value' menulist when 'name' was changed in Composer Advanced Edit dialog, b=100653, r=brade, sr=kin
git-svn-id: svn://10.0.0.236/trunk@105533 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 21:36:52 +00:00
wtc%netscape.com
8229641d24 Removed memmove.c, snprintf.c, and strerror.c from CSRCS and added a
comment explaining why.


git-svn-id: svn://10.0.0.236/trunk@105532 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 21:32:16 +00:00
sspitzer%netscape.com
706c8349a1 fix for #105126. define a default height for the thread pane when using the
normal 3 pane layout.  without a default, the splitter between the thread pane and the
message pane jumps when we switch folders, which looks bad and causes a repaint,
which is bad for folder loading performance.  r=cavin, sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@105531 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 21:28:34 +00:00
jst%netscape.com
1219d2d2b7 Fixing bug 101492. Making self.close() do nothing when called from within a frame in a frameset (or from an iframe) for backwards compatibility. r=peterv@netscape.com, sr=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@105530 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 21:19:05 +00:00
pinkerton%netscape.com
ff4273d2c4 for carbon, use the simple defproc to avoid window borders by the OS. also, remove invisible windows from the OS window lists (hidden window is one example). bugs 76990 and 102525. r=sdagley/sr=sfraser.
git-svn-id: svn://10.0.0.236/trunk@105529 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 21:10:51 +00:00
alecf%netscape.com
445fa78680 bug 76339 - kill nsIAppShellComponent, finally. sr=sfraser, r=dveditz
git-svn-id: svn://10.0.0.236/trunk@105528 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 21:10:35 +00:00
dougt%netscape.com
b01e0f7cd7 backing out dbarons change to the nsIPluginClassicModule interface. Attempting to fix the fizilla bustage. r=beard, b=105072
git-svn-id: svn://10.0.0.236/trunk@105527 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 21:03:54 +00:00
dougt%netscape.com
47cea5ecc3 Fixing bustage caused yesterday. b=105102, r=neeti
git-svn-id: svn://10.0.0.236/trunk@105526 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 21:00:39 +00:00
alecf%netscape.com
7299bc6fc4 bug 101761 - MODULE= cleanup on windows: gkplugin is really just plugin, r=cls
git-svn-id: svn://10.0.0.236/trunk@105525 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 20:56:51 +00:00
sspitzer%netscape.com
6f35191147 remove my silly printf. rs=no one
git-svn-id: svn://10.0.0.236/trunk@105524 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 20:53:54 +00:00
mcafee%netscape.com
5cec9cd36c Adding a normal perl header. r=alecf
git-svn-id: svn://10.0.0.236/trunk@105523 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 20:52:53 +00:00
alecf%netscape.com
8784307580 add some rules for module-graph.pl r=cls
git-svn-id: svn://10.0.0.236/trunk@105522 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 20:52:33 +00:00
nhotta%netscape.com
100bed33a5 Added support for MIME encoded headers in mailtoURL, changed to decode MIME encoded headers for mailto URL,
bug 12851, r=ducarroz, sr=sspitzer.


git-svn-id: svn://10.0.0.236/trunk@105521 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 20:38:59 +00:00
morse%netscape.com
1eda82eb05 bug 97409, add unblocking images to context menu, r=law, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@105520 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 20:38:57 +00:00
cavin%netscape.com
2e04f29b58 Bug #104975: Check if 'accountValues[type]' is NULL in checkUserServerChanges(). r=racham, sr=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@105519 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 20:35:46 +00:00
pschwartau%netscape.com
e8a1b17f30 Comment fix.
git-svn-id: svn://10.0.0.236/trunk@105518 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 19:22:47 +00:00
rogerl%netscape.com
17454e3c6d warning fix.
git-svn-id: svn://10.0.0.236/trunk@105517 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 19:14:16 +00:00
rogerl%netscape.com
cf85a41674 Fixed length fields for various functions, behavioiur of string functions
to match tests. Added missing virtuals to BoundFunction. Fixed eval access
to parameters and locals.


git-svn-id: svn://10.0.0.236/trunk@105516 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 18:58:42 +00:00
270 changed files with 5119 additions and 101460 deletions

View File

@@ -0,0 +1,70 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Srilatha Moturi <srilatha@netscape.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsISupports.idl"
interface nsIDOMWindow;
/**
* This interface provides support for registering Mozilla as the default
* Mail Client. This interface can also be used to get/set the user preference
* for the default Mail Client.
*
*/
[scriptable, uuid(c5be14ba-4e0a-4eec-a1b8-04363761d63c)]
interface nsIMapiRegistry: nsISupports {
/** This is set to TRUE if Mozilla is the default Application
*/
attribute boolean isDefaultMailClient;
/** This is set TRUE only once per session.
*/
readonly attribute boolean showDialog;
/** This will bring the dialog asking the user if he/she wants to set
* Mozilla as default Mail Client.
* Call this only if Mozilla is not the default Mail client
*/
void showMailIntegrationDialog(in nsIDOMWindow parentWindow);
};
%{C++
#define NS_IMAPIREGISTRY_CONTRACTID "@mozilla.org/mapiregistry;1"
#define NS_IMAPIREGISTRY_CLASSNAME "Mozilla MAPI Registry"
%}

View File

@@ -0,0 +1,27 @@
#!nmake
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Srilatha Moturi <srilatha@netscape.com>
# Krishna Mohan Khandrika <kkhandrika@netscape.com>
DEPTH=..\..
DIRS=mapihook resources mapiDll
include <$(DEPTH)\config\rules.mak>

View File

@@ -0,0 +1,54 @@
; ***** BEGIN LICENSE BLOCK *****
; Version: MPL 1.1/GPL 2.0/LGPL 2.1
;
; The contents of this file are subject to the Mozilla Public License Version
; 1.1 (the "License"); you may not use this file except in compliance with
; the License. You may obtain a copy of the License at
; http://www.mozilla.org/MPL/
;
; Software distributed under the License is distributed on an "AS IS" basis,
; WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
; for the specific language governing rights and limitations under the
; License.
;
; The Original Code is Mozilla.
;
; The Initial Developer of the Original Code is
; Netscape Communications Corp.
; Portions created by the Initial Developer are Copyright (C) 2001
; the Initial Developer. All Rights Reserved.
;
; Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
;
; Alternatively, the contents of this file may be used under the terms of
; either the GNU General Public License Version 2 or later (the "GPL"), or
; the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
; in which case the provisions of the GPL or the LGPL are applicable instead
; of those above. If you wish to allow use of your version of this file only
; under the terms of either the GPL or the LGPL, and not to allow others to
; use your version of this file under the terms of the MPL, indicate your
; decision by deleting the provisions above and replace them with the notice
; and other provisions required by the GPL or the LGPL. If you do not delete
; the provisions above, a recipient may use your version of this file under
; the terms of any one of the MPL, the GPL or the LGPL.
;
; ***** END LICENSE BLOCK *****
LIBRARY mozMapi32.dll
DESCRIPTION 'Mozilla Simple MAPI Support'
EXPORTS
MAPILogon
MAPILogoff
MAPISendMail
MAPISendDocuments
MAPIFindNext
MAPIReadMail
MAPISaveMail
MAPIDeleteMail
MAPIAddress
MAPIDetails
MAPIResolveName
MAPIFreeBuffer
GetMapiDllVersion

View File

@@ -0,0 +1,346 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla
*
* The Initial Developer of the Original Code is
* Netscape Communications Corp.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
* Contributor(s): Rajiv Dayal (rdayal@netscape.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include <windows.h>
#include <tchar.h>
#include <mapidefs.h>
#include <mapi.h>
#include "msgMapi.h"
#include "msgMapiMain.h"
#define MAX_RECIPS 100
#define MAX_FILES 100
const CLSID CLSID_CMapiImp = {0x29f458be, 0x8866, 0x11d5,
{0xa3, 0xdd, 0x0, 0xb0, 0xd0, 0xf3, 0xba, 0xa7}};
const IID IID_nsIMapi = {0x6EDCD38E,0x8861,0x11d5,
{0xA3,0xDD,0x00,0xB0,0xD0,0xF3,0xBA,0xA7}};
DWORD tId = 0;
BOOL WINAPI DllMain(HINSTANCE aInstance, DWORD aReason, LPVOID aReserved)
{
switch (aReason)
{
case DLL_PROCESS_ATTACH : tId = TlsAlloc();
if (tId == 0xFFFFFFFF)
return FALSE;
break;
case DLL_PROCESS_DETACH : TlsFree(tId);
break;
}
return TRUE;
}
BOOL InitMozillaReference(nsIMapi **aRetValue)
{
// Check wehther this thread has a valid Interface
// by looking into thread-specific-data variable
*aRetValue = (nsIMapi *)TlsGetValue(tId);
// Check whether the pointer actually resolves to
// a valid method call; otherwise mozilla is not running
if ((*aRetValue) && (*aRetValue)->IsValid() == S_OK)
return TRUE;
HRESULT hRes = ::CoInitialize(nsnull) ;
hRes = ::CoCreateInstance(CLSID_CMapiImp, NULL, CLSCTX_LOCAL_SERVER,
IID_nsIMapi, (LPVOID *)aRetValue);
if (hRes == S_OK && (*aRetValue)->Initialize() == S_OK)
if (TlsSetValue(tId, (LPVOID)(*aRetValue)))
return TRUE;
// Either CoCreate or TlsSetValue failed; so return FALSE
if ((*aRetValue))
(*aRetValue)->Release();
::CoUninitialize();
return FALSE;
}
////////////////////////////////////////////////////////////////////////////////////////
// The MAPILogon function begins a Simple MAPI session, loading the default message ////
// store and address book providers ////
////////////////////////////////////////////////////////////////////////////////////////
ULONG FAR PASCAL MAPILogon(ULONG aUIParam, LPTSTR aProfileName,
LPTSTR aPassword, FLAGS aFlags,
ULONG aReserved, LPLHANDLE aSession)
{
HRESULT hr = 0;
ULONG nSessionId = 0;
nsIMapi *pNsMapi = NULL;
if (!InitMozillaReference(&pNsMapi))
return MAPI_E_FAILURE;
if (!(aFlags & MAPI_UNICODE))
{
// Need to convert the parameters to Unicode.
char *pUserName = (char *) aProfileName;
char *pPassWord = (char *) aPassword;
TCHAR ProfileName[MAX_NAME_LEN] = {0};
TCHAR PassWord[MAX_PW_LEN] = {0};
if (pUserName != NULL)
{
if (!MultiByteToWideChar(CP_ACP, 0, pUserName, -1, ProfileName,
MAX_NAME_LEN))
return MAPI_E_FAILURE;
}
if (pPassWord != NULL)
{
if (!MultiByteToWideChar(CP_ACP, 0, pPassWord, -1, PassWord,
MAX_NAME_LEN))
return MAPI_E_FAILURE;
}
hr = pNsMapi->Login(aUIParam, ProfileName, PassWord, aFlags,
&nSessionId);
}
else
hr = pNsMapi->Login(aUIParam, aProfileName, aPassword,
aFlags, &nSessionId);
if (hr == S_OK)
(*aSession) = (LHANDLE) nSessionId;
else
return nSessionId;
return SUCCESS_SUCCESS;
}
ULONG FAR PASCAL MAPILogoff (LHANDLE aSession, ULONG aUIParam,
FLAGS aFlags, ULONG aReserved)
{
nsIMapi *pNsMapi = (nsIMapi *)TlsGetValue(tId);
if (pNsMapi != NULL)
{
if (pNsMapi->Logoff((ULONG) aSession) == S_OK)
pNsMapi->Release();
pNsMapi = NULL;
}
TlsSetValue(tId, NULL);
::CoUninitialize();
return SUCCESS_SUCCESS;
}
ULONG FAR PASCAL MAPISendMail (LHANDLE lhSession, ULONG ulUIParam, lpnsMapiMessage lpMessage,
FLAGS flFlags, ULONG ulReserved )
{
HRESULT hr = 0;
BOOL bTempSession = FALSE ;
nsIMapi *pNsMapi = NULL;
if (!InitMozillaReference(&pNsMapi))
return MAPI_E_FAILURE;
if (lpMessage->nRecipCount > MAX_RECIPS)
return MAPI_E_TOO_MANY_RECIPIENTS ;
if (lpMessage->nFileCount > MAX_FILES)
return MAPI_E_TOO_MANY_FILES ;
if ( (!(flFlags & MAPI_DIALOG)) && (lpMessage->lpRecips == NULL) )
return MAPI_E_UNKNOWN_RECIPIENT ;
if (!lhSession || pNsMapi->IsValidSession(lhSession) != S_OK)
{
FLAGS LoginFlag ;
if ( (flFlags & MAPI_LOGON_UI) && (flFlags & MAPI_NEW_SESSION) )
LoginFlag = MAPI_LOGON_UI | MAPI_NEW_SESSION ;
else if (flFlags & MAPI_LOGON_UI)
LoginFlag = MAPI_LOGON_UI ;
hr = MAPILogon (ulUIParam, (LPTSTR) NULL, (LPTSTR) NULL, LoginFlag, 0, &lhSession) ;
if (hr != SUCCESS_SUCCESS)
return MAPI_E_LOGIN_FAILURE ;
bTempSession = TRUE ;
}
// we need to deal with null data passed in by MAPI clients, specially when MAPI_DIALOG is set.
// The MS COM type lib code generated by MIDL for the MS COM interfaces checks for these parameters
// to be non null, although null is a valid value for them here.
nsMapiRecipDesc * lpRecips ;
nsMapiFileDesc * lpFiles ;
nsMapiMessage Message ;
memset (&Message, 0, sizeof (nsMapiMessage) ) ;
nsMapiRecipDesc Recipient ;
memset (&Recipient, 0, sizeof (nsMapiRecipDesc) );
nsMapiFileDesc Files ;
memset (&Files, 0, sizeof (nsMapiFileDesc) ) ;
if(!lpMessage)
{
lpMessage = &Message ;
}
if(!lpMessage->lpRecips)
{
lpRecips = &Recipient ;
}
else
lpRecips = lpMessage->lpRecips ;
if(!lpMessage->lpFiles)
{
lpFiles = &Files ;
}
else
lpFiles = lpMessage->lpFiles ;
HANDLE hEvent = CreateEvent (NULL, FALSE, FALSE, (LPCTSTR) MAPI_SENDCOMPLETE_EVENT) ;
hr = pNsMapi->SendMail (lhSession, lpMessage,
(short) lpMessage->nRecipCount, lpRecips,
(short) lpMessage->nFileCount, lpFiles,
flFlags, ulReserved);
// we are seeing a problem when using Word, although we return success from the MAPI support
// MS COM interface in mozilla, we are getting this error here. This is a temporary hack !!
if (hr == 0x800703e6)
hr = SUCCESS_SUCCESS;
if (hr == SUCCESS_SUCCESS)
WaitForSingleObject (hEvent, INFINITE) ;
CloseHandle (hEvent) ;
if (bTempSession)
MAPILogoff (lhSession, ulUIParam, 0,0) ;
return hr ;
}
ULONG FAR PASCAL MAPISendDocuments(ULONG ulUIParam, LPTSTR lpszDelimChar, LPTSTR lpszFilePaths,
LPTSTR lpszFileNames, ULONG ulReserved)
{
LHANDLE lhSession ;
nsIMapi *pNsMapi = NULL;
if (!InitMozillaReference(&pNsMapi))
return MAPI_E_FAILURE;
unsigned long result = MAPILogon (ulUIParam, (LPTSTR) NULL, (LPTSTR) NULL, MAPI_LOGON_UI, 0, &lhSession) ;
if (result != SUCCESS_SUCCESS)
return MAPI_E_LOGIN_FAILURE ;
HRESULT hr;
HANDLE hEvent = CreateEvent (NULL, FALSE, FALSE, (LPCTSTR) MAPI_SENDCOMPLETE_EVENT) ;
hr = pNsMapi->SendDocuments(lhSession, (LPTSTR) lpszDelimChar, (LPTSTR) lpszFilePaths,
(LPTSTR) lpszFileNames, ulReserved) ;
if (hr == SUCCESS_SUCCESS)
WaitForSingleObject (hEvent, INFINITE) ;
CloseHandle (hEvent) ;
MAPILogoff (lhSession, ulUIParam, 0,0) ;
return hr ;
}
ULONG FAR PASCAL MAPIFindNext(LHANDLE lhSession, ULONG ulUIParam, LPTSTR lpszMessageType,
LPTSTR lpszSeedMessageID, FLAGS flFlags, ULONG ulReserved,
LPTSTR lpszMessageID)
{
return MAPI_E_FAILURE;
}
ULONG FAR PASCAL MAPIReadMail(LHANDLE lhSession, ULONG ulUIParam, LPTSTR lpszMessageID,
FLAGS flFlags, ULONG ulReserved, lpMapiMessage FAR *lppMessage)
{
return MAPI_E_FAILURE;
}
ULONG FAR PASCAL MAPISaveMail(LHANDLE lhSession, ULONG ulUIParam, lpMapiMessage lpMessage,
FLAGS flFlags, ULONG ulReserved, LPTSTR lpszMessageID)
{
return MAPI_E_FAILURE;
}
ULONG FAR PASCAL MAPIDeleteMail(LHANDLE lhSession, ULONG ulUIParam, LPTSTR lpszMessageID,
FLAGS flFlags, ULONG ulReserved)
{
return MAPI_E_FAILURE;
}
ULONG FAR PASCAL MAPIAddress(LHANDLE lhSession, ULONG ulUIParam, LPTSTR lpszCaption,
ULONG nEditFields, LPTSTR lpszLabels, ULONG nRecips,
lpMapiRecipDesc lpRecips, FLAGS flFlags,
ULONG ulReserved, LPULONG lpnNewRecips,
lpMapiRecipDesc FAR *lppNewRecips)
{
return MAPI_E_FAILURE;
}
ULONG FAR PASCAL MAPIDetails(LHANDLE lhSession, ULONG ulUIParam, lpMapiRecipDesc lpRecip,
FLAGS flFlags, ULONG ulReserved)
{
return MAPI_E_FAILURE;
}
ULONG FAR PASCAL MAPIResolveName(LHANDLE lhSession, ULONG ulUIParam, LPTSTR lpszName,
FLAGS flFlags, ULONG ulReserved, lpMapiRecipDesc FAR *lppRecip)
{
return MAPI_E_FAILURE;
}
ULONG FAR PASCAL MAPIFreeBuffer(LPVOID pv)
{
return MAPI_E_FAILURE;
}
ULONG FAR PASCAL GetMapiDllVersion()
{
return 94;
}

View File

@@ -0,0 +1,62 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corp.
# Portions created by the Initial Developer are Copyright (C) 2001
# the Initial Developer. All Rights Reserved.
#
# Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
DEPTH=..\..\..
MODULE = mozMapi32
EXPORT_LIBRARY = $(MODULE)
LIBRARY_NAME = $(MODULE)
DEFFILE = Mapi32.def
REQUIRES = MapiProxy \
msgMapi \
xpcom \
string \
$(NULL)
include <$(DEPTH)\config\config.mak>
###############################################################
LCFLAGS=-DUNICODE -D_UNICODE
OBJS= .\$(OBJDIR)\MapiDll.obj \
$(NULL)
WIN_LIBS= ole32.lib \
$(NULL)
include <$(DEPTH)\config\rules.mak>

View File

@@ -0,0 +1,47 @@
; ***** BEGIN LICENSE BLOCK *****
; Version: MPL 1.1/GPL 2.0/LGPL 2.1
;
; The contents of this file are subject to the Mozilla Public License Version
; 1.1 (the "License"); you may not use this file except in compliance with
; the License. You may obtain a copy of the License at
; http://www.mozilla.org/MPL/
;
; Software distributed under the License is distributed on an "AS IS" basis,
; WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
; for the specific language governing rights and limitations under the
; License.
;
; The Original Code is Mozilla.
;
; The Initial Developer of the Original Code is
; Netscape Communications Corp.
; Portions created by the Initial Developer are Copyright (C) 2001
; the Initial Developer. All Rights Reserved.
;
; Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
;
; Alternatively, the contents of this file may be used under the terms of
; either the GNU General Public License Version 2 or later (the "GPL"), or
; the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
; in which case the provisions of the GPL or the LGPL are applicable instead
; of those above. If you wish to allow use of your version of this file only
; under the terms of either the GPL or the LGPL, and not to allow others to
; use your version of this file under the terms of the MPL, indicate your
; decision by deleting the provisions above and replace them with the notice
; and other provisions required by the GPL or the LGPL. If you do not delete
; the provisions above, a recipient may use your version of this file under
; the terms of any one of the MPL, the GPL or the LGPL.
;
; ***** END LICENSE BLOCK *****
LIBRARY MapiProxy.dll
DESCRIPTION 'Proxy/Stub DLL'
EXPORTS
DllGetClassObject @1 PRIVATE
DllCanUnloadNow @2 PRIVATE
GetProxyDllInfo @3 PRIVATE
DllRegisterServer @4 PRIVATE
DllUnregisterServer @5 PRIVATE

View File

@@ -0,0 +1,68 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corp.
# Portions created by the Initial Developer are Copyright (C) 2001
# the Initial Developer. All Rights Reserved.
#
# Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
DEPTH=..\..\..\..
MODULE = MapiProxy
EXPORT_LIBRARY = $(MODULE)
LIBRARY_NAME = $(MODULE)
DEFFILE = MapiProxy.def
include <$(DEPTH)\config\config.mak>
##################################################################
LCFLAGS=-DREGISTER_PROXY_DLL -DUNICODE -D_UNICODE
OBJS= .\$(OBJDIR)\dlldata.obj \
.\$(OBJDIR)\msgMapi_p.obj \
.\$(OBJDIR)\msgMapi_i.obj \
$(NULL)
WIN_LIBS= rpcrt4.lib
EXPORTS= msgMapi.h \
$(NULL)
include <$(DEPTH)\config\rules.mak>
msgMapi.h msgMapi_p.c msgMapi_i.c dlldata.c : msgMapi.idl
midl $(UNICODE_FLAGS) msgMapi.idl
clobber::
rm -f dlldata.c msgMapi_i.c msgMapi_p.c msgMapi.h

View File

@@ -0,0 +1,114 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla
*
* The Initial Developer of the Original Code is
* Netscape Communications Corp.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
* Contributor(s): Rajiv Dayal (rdayal@netscape.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
// This idl will be compiled by MIDL. MS-COM is used
// as brdige between MAPI clients and the Mozilla.
import "unknwn.idl";
typedef wchar_t LOGIN_PW_TYPE[256];
typedef struct
{
unsigned long ulReserved;
unsigned long flFlags; /* Flags */
unsigned long nPosition_NotUsed; /* character in text to be replaced by attachment */
LPTSTR lpszPathName; /* Full path name including file name */
LPTSTR lpszFileName; /* Real (original) file name */
unsigned char * lpFileType_NotUsed ;
} nsMapiFileDesc, * lpnsMapiFileDesc;
typedef struct
{
unsigned long ulReserved;
unsigned long ulRecipClass; /* MAPI_TO, MAPI_CC, MAPI_BCC, MAPI_ORIG */
LPTSTR lpszName; /* Recipient name to display */
LPTSTR lpszAddress; /* Recipient email address */
unsigned long ulEIDSize_NotUsed;
unsigned char * lpEntryID_NotUsed ;
} nsMapiRecipDesc, * lpnsMapiRecipDesc;
typedef struct
{
unsigned long ulReserved;
LPTSTR lpszSubject; /* Message Subject */
LPTSTR lpszNoteText; /* Message Text */
LPTSTR lpszMessageType_NotUsed;
LPTSTR lpszDateReceived_notUsed; /* in YYYY/MM/DD HH:MM format */
LPTSTR lpszConversationID_NotUsed; /* conversation thread ID */
unsigned long flFlags; /* unread,return receipt */
lpnsMapiRecipDesc lpOriginator; /* Originator descriptor */
unsigned long nRecipCount; /* Number of recipients */
lpnsMapiRecipDesc lpRecips; /* Recipient descriptors */
unsigned long nFileCount; /* # of file attachments */
lpnsMapiFileDesc lpFiles; /* Attachment descriptors */
} nsMapiMessage, * lpnsMapiMessage;
[
object,
uuid(6EDCD38E-8861-11d5-A3DD-00B0D0F3BAA7),
helpstring("nsIMapi Inteface"),
pointer_default(unique)
]
interface nsIMapi : IUnknown
{
HRESULT Login(unsigned long aUIArg, LOGIN_PW_TYPE aLogin,
LOGIN_PW_TYPE aPassWord, unsigned long aFlags,
[out] unsigned long *aSessionId);
HRESULT Initialize();
HRESULT IsValid();
HRESULT IsValidSession([in] unsigned long aSession);
HRESULT SendMail([in] unsigned long aSession, [in] lpnsMapiMessage aMessage,
[in] short aRecipCount, [in, size_is(aRecipCount)] lpnsMapiRecipDesc aRecips,
[in] short aFileCount, [in, size_is(aFileCount)] lpnsMapiFileDesc aFiles,
[in] unsigned long aFlags, [in] unsigned long aReserved) ;
HRESULT SendDocuments( [in] unsigned long aSession,
[in] LPTSTR aDelimChar, [in] LPTSTR aFilePaths,
[in] LPTSTR aFileNames, [in] ULONG aFlags ) ;
HRESULT Logoff (unsigned long aSession);
HRESULT CleanUp();
};

View File

@@ -0,0 +1,41 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corp.
# Portions created by the Initial Developer are Copyright (C) 2001
# the Initial Developer. All Rights Reserved.
#
# Contributor(s): Srilatha Moturi (srilatha@netscape.com)
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
DEPTH=..\..\..
DIRS= build public src
include <$(DEPTH)\config\rules.mak>

View File

@@ -0,0 +1,49 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 2001
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Srilatha Moturi <srilatha@netscape.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
DEPTH=..\..\..\..
MODULE=msgMapi
XPIDL_MODULE=mapihook
XPIDLSRCS = \
.\nsIMapiRegistry.idl \
.\nsIMapiSupport.idl \
$(NULL)
include <$(DEPTH)\config\rules.mak>

View File

@@ -0,0 +1,70 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Srilatha Moturi <srilatha@netscape.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsISupports.idl"
interface nsIDOMWindow;
/**
* This interface provides support for registering Mozilla as the default
* Mail Client. This interface can also be used to get/set the user preference
* for the default Mail Client.
*
*/
[scriptable, uuid(c5be14ba-4e0a-4eec-a1b8-04363761d63c)]
interface nsIMapiRegistry: nsISupports {
/** This is set to TRUE if Mozilla is the default Application
*/
attribute boolean isDefaultMailClient;
/** This is set TRUE only once per session.
*/
readonly attribute boolean showDialog;
/** This will bring the dialog asking the user if he/she wants to set
* Mozilla as default Mail Client.
* Call this only if Mozilla is not the default Mail client
*/
void showMailIntegrationDialog(in nsIDOMWindow parentWindow);
};
%{C++
#define NS_IMAPIREGISTRY_CONTRACTID "@mozilla.org/mapiregistry;1"
#define NS_IMAPIREGISTRY_CLASSNAME "Mozilla MAPI Registry"
%}

View File

@@ -0,0 +1,64 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsISupports.idl"
/**
* This interface provides support for registering Mozilla as a COM component
* for extending the use of Mail/News through Simple MAPI.
*
*/
[noscript, uuid(8967fed2-c8bb-11d5-a3e9-00b0d0f3baa7)]
interface nsIMapiSupport : nsISupports {
/** Initiates MAPI support
*/
void initializeMAPISupport();
/** Shuts down the MAPI support
*/
void shutdownMAPISupport();
};
%{C++
#define NS_IMAPISUPPORT_CONTRACTID "@mozilla.org/mapisupport;1"
#define NS_IMAPISUPPORT_CLASSNAME "Mozilla MAPI Support"
%}

View File

@@ -0,0 +1,323 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla
*
* The Initial Developer of the Original Code is
* Netscape Communications Corp.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Krishna Mohan Khandrika <kkhandrika@netscape.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#undef _UNICODE
#undef UNICODE
#include <objbase.h>
#include "nsString.h"
#include "Registry.h"
#define MAPI_PROXY_DLL_NAME "MapiProxy.dll"
#define MAPI_STARTUP_ARG " /MAPIStartUp"
#define MAX_SIZE 2048
// Size of a CLSID as a string
const int CLSID_STRING_SIZE = 39;
// Proxy/Stub Dll Routines
typedef HRESULT (__stdcall ProxyServer)();
// Convert a CLSID to a char string.
BOOL CLSIDtochar(const CLSID& clsid, char* szCLSID,
int length)
{
LPOLESTR wszCLSID = NULL;
// Get CLSID
HRESULT hr = StringFromCLSID(clsid, &wszCLSID);
if (FAILED(hr))
return FALSE;
// Covert from wide characters to non-wide.
wcstombs(szCLSID, wszCLSID, length);
// Free memory.
CoTaskMemFree(wszCLSID);
return TRUE;
}
// Create a key and set its value.
BOOL setKeyAndValue(nsCAutoString keyName, const char* subKey,
const char* theValue)
{
HKEY hKey;
BOOL retValue = TRUE;
nsCAutoString theKey(keyName);
if (subKey != NULL)
{
theKey += "\\";
theKey += subKey;
}
// Create and open key and subkey.
long lResult = RegCreateKeyEx(HKEY_CLASSES_ROOT, theKey.get(),
0, NULL, REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS, NULL, &hKey, NULL);
if (lResult != ERROR_SUCCESS)
return FALSE ;
// Set the Value.
if (theValue != NULL)
{
lResult = RegSetValueEx(hKey, NULL, 0, REG_SZ, (BYTE *)theValue,
strlen(theValue)+1);
if (lResult != ERROR_SUCCESS)
retValue = FALSE;
}
RegCloseKey(hKey);
return TRUE;
}
// Delete a key and all of its descendents.
LONG recursiveDeleteKey(HKEY hKeyParent, // Parent of key to delete
const char* lpszKeyChild) // Key to delete
{
// Open the child.
HKEY hKeyChild ;
LONG lRes = RegOpenKeyEx(hKeyParent, lpszKeyChild, 0,
KEY_ALL_ACCESS, &hKeyChild) ;
if (lRes != ERROR_SUCCESS)
{
return lRes ;
}
// Enumerate all of the decendents of this child.
FILETIME time ;
char szBuffer[MAX_SIZE] ;
DWORD dwSize = MAX_SIZE ;
while (RegEnumKeyEx(hKeyChild, 0, szBuffer, &dwSize, NULL,
NULL, NULL, &time) == S_OK)
{
// Delete the decendents of this child.
lRes = recursiveDeleteKey(hKeyChild, szBuffer) ;
if (lRes != ERROR_SUCCESS)
{
// Cleanup before exiting.
RegCloseKey(hKeyChild) ;
return lRes;
}
dwSize = MAX_SIZE;
}
// Close the child.
RegCloseKey(hKeyChild) ;
// Delete this child.
return RegDeleteKey(hKeyParent, lpszKeyChild) ;
}
void RegisterProxy()
{
HINSTANCE h = NULL;
ProxyServer *RegisterFunc = NULL;
char szModule[MAX_SIZE];
char *pTemp = NULL;
HMODULE hModule = GetModuleHandle(NULL);
DWORD dwResult = ::GetModuleFileName(hModule, szModule,
sizeof(szModule)/sizeof(char));
if (dwResult == 0)
return;
pTemp = strrchr(szModule, '\\');
if (pTemp == NULL)
return;
*pTemp = '\0';
nsCAutoString proxyPath(szModule);
proxyPath += "\\";
proxyPath += MAPI_PROXY_DLL_NAME;
h = LoadLibrary(proxyPath.get());
if (h == NULL)
return;
RegisterFunc = (ProxyServer *) GetProcAddress(h, "DllRegisterServer");
if (RegisterFunc)
RegisterFunc();
FreeLibrary(h);
}
void UnRegisterProxy()
{
HINSTANCE h = NULL;
ProxyServer *UnRegisterFunc = NULL;
char szModule[MAX_SIZE];
char *pTemp = NULL;
HMODULE hModule = GetModuleHandle(NULL);
DWORD dwResult = ::GetModuleFileName(hModule, szModule,
sizeof(szModule)/sizeof(char));
if (dwResult == 0)
return;
pTemp = strrchr(szModule, '\\');
if (pTemp == NULL)
return;
*pTemp = '\0';
nsCAutoString proxyPath(szModule);
proxyPath += "\\";
proxyPath += MAPI_PROXY_DLL_NAME;
h = LoadLibrary(proxyPath.get());
if (h == NULL)
return;
UnRegisterFunc = (ProxyServer *) GetProcAddress(h, "DllUnregisterServer");
if (UnRegisterFunc)
UnRegisterFunc();
FreeLibrary(h);
}
// Register the component in the registry.
HRESULT RegisterServer(const CLSID& clsid, // Class ID
const char* szFriendlyName, // Friendly Name
const char* szVerIndProgID, // Programmatic
const char* szProgID) // IDs
{
HMODULE hModule = GetModuleHandle(NULL);
char szModuleName[MAX_SIZE];
char szCLSID[CLSID_STRING_SIZE];
nsCAutoString independentProgId(szVerIndProgID);
nsCAutoString progId(szProgID);
DWORD dwResult = ::GetModuleFileName(hModule, szModuleName,
sizeof(szModuleName)/sizeof(char));
if (dwResult == 0)
return S_FALSE;
nsCAutoString moduleName(szModuleName);
nsCAutoString registryKey("CLSID\\");
moduleName += MAPI_STARTUP_ARG;
// Convert the CLSID into a char.
if (!CLSIDtochar(clsid, szCLSID, sizeof(szCLSID)))
return S_FALSE;
registryKey += szCLSID;
// Add the CLSID to the registry.
if (!setKeyAndValue(registryKey, NULL, szFriendlyName))
return S_FALSE;
if (!setKeyAndValue(registryKey, "LocalServer32", moduleName.get()))
return S_FALSE;
// Add the ProgID subkey under the CLSID key.
if (!setKeyAndValue(registryKey, "ProgID", szProgID))
return S_FALSE;
// Add the version-independent ProgID subkey under CLSID key.
if (!setKeyAndValue(registryKey, "VersionIndependentProgID", szVerIndProgID))
return S_FALSE;
// Add the version-independent ProgID subkey under HKEY_CLASSES_ROOT.
if (!setKeyAndValue(independentProgId, NULL, szFriendlyName))
return S_FALSE;
if (!setKeyAndValue(independentProgId, "CLSID", szCLSID))
return S_FALSE;
if (!setKeyAndValue(independentProgId, "CurVer", szProgID))
return S_FALSE;
// Add the versioned ProgID subkey under HKEY_CLASSES_ROOT.
if (!setKeyAndValue(progId, NULL, szFriendlyName))
return S_FALSE;
if (!setKeyAndValue(progId, "CLSID", szCLSID))
return S_FALSE;
RegisterProxy();
return S_OK;
}
LONG UnregisterServer(const CLSID& clsid, // Class ID
const char* szVerIndProgID, // Programmatic
const char* szProgID) // IDs
{
LONG lResult = S_OK;
// Convert the CLSID into a char.
char szCLSID[CLSID_STRING_SIZE];
if (!CLSIDtochar(clsid, szCLSID, sizeof(szCLSID)))
return S_FALSE;
UnRegisterProxy();
nsCAutoString registryKey("CLSID\\");
registryKey += szCLSID;
lResult = recursiveDeleteKey(HKEY_CLASSES_ROOT, registryKey.get());
if (lResult == ERROR_SUCCESS || lResult == ERROR_FILE_NOT_FOUND)
return lResult;
registryKey += "\\LocalServer32";
// Delete only the path for this server.
lResult = recursiveDeleteKey(HKEY_CLASSES_ROOT, registryKey.get());
if (lResult != ERROR_SUCCESS && lResult != ERROR_FILE_NOT_FOUND)
return lResult;
// Delete the version-independent ProgID Key.
lResult = recursiveDeleteKey(HKEY_CLASSES_ROOT, szVerIndProgID);
if (lResult != ERROR_SUCCESS && lResult != ERROR_FILE_NOT_FOUND)
return lResult;
lResult = recursiveDeleteKey(HKEY_CLASSES_ROOT, szProgID);
return lResult;
}

View File

@@ -0,0 +1,56 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Krishna Mohan Khandrika <kkhandrika@netscape.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef _REGISTRY_H_
#define _REGISTRY_H_
#include <objbase.h>
// This function will register a component in the Registry.
HRESULT RegisterServer(const CLSID& clsid,
const char* szFriendlyName,
const char* szVerIndProgID,
const char* szProgID) ;
// This function will unregister a component.
HRESULT UnregisterServer(const CLSID& clsid,
const char* szVerIndProgID,
const char* szProgID) ;
#endif

View File

@@ -0,0 +1,107 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 2001
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Srilatha Moturi <srilatha@netscape.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
DEPTH=..\..\..\..
MODULE = msgMapi
MAKE_OBJ_TYPE = DLL
LIBRARY_NAME=$(MODULE)
MODULE_NAME = $(MODULE)
REQUIRES = xpcom \
string \
MapiProxy \
appshell \
windowwatcher \
dom \
profile \
msgbase \
pref \
msgbaseutil \
msgcompo \
mailnews \
necko \
intl \
editor \
msgdb \
uriloader \
appstartup \
$(NULL)
include <$(DEPTH)\config\config.mak>
############################################################################
LCFLAGS=-DUNICODE -D_UNICODE
OBJS= \
..\build\$(OBJDIR)\msgMapi_i.obj \
.\$(OBJDIR)\msgMapiFactory.obj \
.\$(OBJDIR)\msgMapiHook.obj \
.\$(OBJDIR)\msgMapiImp.obj \
.\$(OBJDIR)\msgMapiMain.obj \
.\$(OBJDIR)\msgMapiSupport.obj \
.\$(OBJDIR)\nsMapiRegistry.obj \
.\$(OBJDIR)\nsMapiRegistryUtils.obj \
.\$(OBJDIR)\Registry.obj \
$(NULL)
LLIBS= \
$(DIST)\lib\xpcom.lib \
$(DIST)\lib\msgbsutl.lib \
$(LIBNSPR) \
$(NULL)
WIN_LIBS= \
ole32.lib \
$(NULL)
EXPORTS= \
msgMapiFactory.h \
msgMapiHook.h \
msgMapiImp.h \
msgMapiMain.h \
msgMapiSupport.h \
nsMapiRegistry.h \
nsMapiRegistryUtils.h \
Registry.h \
$(NULL)
include <$(DEPTH)\config\rules.mak>

View File

@@ -0,0 +1,118 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla
*
* The Initial Developer of the Original Code is
* Netscape Communications Corp.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#undef UNICODE
#undef _UNICODE
#include "msgMapiFactory.h"
#include "msgMapiImp.h"
#include "msgMapi.h"
CMapiFactory ::CMapiFactory()
: m_cRef(1)
{
}
CMapiFactory::~CMapiFactory()
{
}
STDMETHODIMP CMapiFactory::QueryInterface(const IID& aIid, void** aPpv)
{
if ((aIid == IID_IUnknown) || (aIid == IID_IClassFactory))
{
*aPpv = static_cast<IClassFactory*>(this);
}
else
{
*aPpv = nsnull;
return E_NOINTERFACE;
}
reinterpret_cast<IUnknown*>(*aPpv)->AddRef();
return S_OK;
}
STDMETHODIMP_(ULONG) CMapiFactory::AddRef()
{
return (PR_AtomicIncrement(&m_cRef));
}
STDMETHODIMP_(ULONG) CMapiFactory::Release()
{
PRInt32 temp;
temp = PR_AtomicDecrement(&m_cRef);
if (m_cRef == 0)
{
delete this;
return 0;
}
return temp;
}
STDMETHODIMP CMapiFactory::CreateInstance(IUnknown* aUnknownOuter,
const IID& aIid,
void** aPpv)
{
// Cannot aggregate.
if (aUnknownOuter != nsnull)
{
return CLASS_E_NOAGGREGATION ;
}
// Create component.
CMapiImp* pImp = new CMapiImp();
if (pImp == nsnull)
{
return E_OUTOFMEMORY ;
}
// Get the requested interface.
HRESULT hr = pImp->QueryInterface(aIid, aPpv);
// Release the IUnknown pointer.
// (If QueryInterface failed, component will delete itself.)
pImp->Release();
return hr;
}
STDMETHODIMP CMapiFactory::LockServer(PRBool aLock)
{
return S_OK ;
}

View File

@@ -0,0 +1,69 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla
*
* The Initial Developer of the Original Code is
* Netscape Communications Corp.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef MSG_MAPI_FACTORY_H
#define MSG_MAPI_FACTORY_H
#include <windows.h>
#include <objbase.h>
#include "nspr.h"
class CMapiFactory : public IClassFactory
{
public :
// IUnknown
STDMETHODIMP QueryInterface (REFIID aIid, void** aPpv);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
// IClassFactory
STDMETHODIMP CreateInstance (LPUNKNOWN aUnkOuter, REFIID aIid, void **aPpv);
STDMETHODIMP LockServer (BOOL aLock);
CMapiFactory ();
~CMapiFactory ();
private :
PRInt32 m_cRef;
};
#endif // MSG_MAPI_FACTORY_H

View File

@@ -0,0 +1,777 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla
*
* The Initial Developer of the Original Code is
* Netscape Communications Corp.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
* Contributor(s): Srilatha Moturi (srilatha@netscape.com)
* Contributor(s): Rajiv Dayal (rdayal@netscape.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#define MAPI_STARTUP_ARG "/MAPIStartUp"
#define MAPI_STARTUP_ARG "/MAPIStartUp"
#include <mapidefs.h>
#include <mapi.h>
#include <tchar.h>
#include "nsCOMPtr.h"
#include "nsIComponentManager.h"
#include "nsIServiceManager.h"
#include "nsISupports.h"
#include "nsIPromptService.h"
#include "nsAppShellCIDs.h"
#include "nsIDOMWindowInternal.h"
#include "nsIAppShellService.h"
#include "nsINativeAppSupport.h"
#include "nsICmdLineService.h"
#include "nsIProfileInternal.h"
#include "nsIMsgAccountManager.h"
#include "nsIDOMWindowInternal.h"
#include "nsXPIDLString.h"
#include "nsReadableUtils.h"
#include "nsMsgBaseCID.h"
#include "nsIStringBundle.h"
#include "nsIPref.h"
#include "nsString.h"
#include "nsIMsgAttachment.h"
#include "nsIMsgCompFields.h"
#include "nsIMsgComposeParams.h"
#include "nsIMsgCompose.h"
#include "nsMsgCompCID.h"
#include "nsIMsgSend.h"
#include "nsIProxyObjectManager.h"
#include "nsIMsgComposeService.h"
#include "nsProxiedService.h"
#include "nsSpecialSystemDirectory.h"
#include "nsMsgI18N.h"
#include "msgMapi.h"
#include "msgMapiHook.h"
#include "msgMapiSupport.h"
#include "msgMapiMain.h"
#include "nsNetUtil.h"
static NS_DEFINE_CID(kCmdLineServiceCID, NS_COMMANDLINE_SERVICE_CID);
class nsMAPISendListener : public nsIMsgSendListener
{
public:
virtual ~nsMAPISendListener() { }
// nsISupports interface
NS_DECL_ISUPPORTS
/* void OnStartSending (in string aMsgID, in PRUint32 aMsgSize); */
NS_IMETHOD OnStartSending(const char *aMsgID, PRUint32 aMsgSize) { return NS_OK; }
/* void OnProgress (in string aMsgID, in PRUint32 aProgress, in PRUint32 aProgressMax); */
NS_IMETHOD OnProgress(const char *aMsgID, PRUint32 aProgress, PRUint32 aProgressMax) { return NS_OK;}
/* void OnStatus (in string aMsgID, in wstring aMsg); */
NS_IMETHOD OnStatus(const char *aMsgID, const PRUnichar *aMsg) { return NS_OK;}
/* void OnStopSending (in string aMsgID, in nsresult aStatus, in wstring aMsg, in nsIFileSpec returnFileSpec); */
NS_IMETHOD OnStopSending(const char *aMsgID, nsresult aStatus, const PRUnichar *aMsg,
nsIFileSpec *returnFileSpec) {
m_done = PR_TRUE;
HANDLE hEvent = CreateEvent (NULL, FALSE, FALSE, (LPCTSTR) MAPI_SENDCOMPLETE_EVENT) ;
SetEvent (hEvent) ;
CloseHandle (hEvent) ;
return NS_OK ;
}
/* void OnSendNotPerformed */
NS_IMETHOD OnSendNotPerformed(const char *aMsgID, nsresult aStatus)
{
return OnStopSending(aMsgID, aStatus, nsnull, nsnull) ;
}
/* void OnGetDraftFolderURI (); */
NS_IMETHOD OnGetDraftFolderURI(const char *aFolderURI) {return NS_OK;}
static nsresult CreateMAPISendListener( nsIMsgSendListener **ppListener);
PRBool IsDone() { return m_done ; }
protected :
nsMAPISendListener() {
NS_INIT_REFCNT();
m_done = PR_FALSE;
}
PRBool m_done;
};
NS_IMPL_THREADSAFE_ISUPPORTS1(nsMAPISendListener, nsIMsgSendListener)
nsresult nsMAPISendListener::CreateMAPISendListener( nsIMsgSendListener **ppListener)
{
NS_ENSURE_ARG_POINTER(ppListener) ;
*ppListener = new nsMAPISendListener();
if (! *ppListener)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*ppListener);
return NS_OK;
}
PRBool nsMapiHook::isMapiService = PR_FALSE;
PRBool nsMapiHook::Initialize()
{
nsresult rv;
nsCOMPtr<nsINativeAppSupport> native;
nsCOMPtr<nsICmdLineService> cmdLineArgs(do_GetService(kCmdLineServiceCID, &rv));
if (NS_FAILED(rv)) return PR_FALSE;
nsCOMPtr<nsIAppShellService> appShell (do_GetService( "@mozilla.org/appshell/appShellService;1", &rv));
if (NS_FAILED(rv)) return PR_FALSE;
rv = appShell->GetNativeAppSupport( getter_AddRefs( native ));
if (NS_FAILED(rv)) return PR_FALSE;
rv = native->EnsureProfile(cmdLineArgs);
if (NS_FAILED(rv)) return PR_FALSE;
return PR_TRUE;
}
void nsMapiHook::CleanUp()
{
// This routine will be fully implemented in future
// to cleanup mapi related stuff inside mozilla code.
}
PRBool nsMapiHook::DisplayLoginDialog(PRBool aLogin, PRUnichar **aUsername, \
PRUnichar **aPassword)
{
nsresult rv;
PRBool btnResult = PR_FALSE;
nsCOMPtr<nsIAppShellService> appShell(do_GetService( "@mozilla.org/appshell/appShellService;1", &rv));
if (NS_FAILED(rv) || !appShell) return PR_FALSE;
nsCOMPtr<nsIPromptService> dlgService(do_GetService("@mozilla.org/embedcomp/prompt-service;1", &rv));
if (NS_SUCCEEDED(rv) && dlgService)
{
nsCOMPtr<nsIStringBundleService> bundleService(do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv));
if (NS_FAILED(rv) || !bundleService) return PR_FALSE;
nsCOMPtr<nsIStringBundle> bundle;
rv = bundleService->CreateBundle(MAPI_PROPERTIES_CHROME, getter_AddRefs(bundle));
if (NS_FAILED(rv) || !bundle) return PR_FALSE;
nsCOMPtr<nsIStringBundle> brandBundle;
rv = bundleService->CreateBundle(
"chrome://global/locale/brand.properties",
getter_AddRefs(brandBundle));
if (NS_FAILED(rv)) return PR_FALSE;
nsXPIDLString brandName;
rv = brandBundle->GetStringFromName(
NS_LITERAL_STRING("brandShortName").get(),
getter_Copies(brandName));
if (NS_FAILED(rv)) return PR_FALSE;
nsXPIDLString loginTitle;
const PRUnichar *brandStrings[] = { brandName.get() };
NS_NAMED_LITERAL_STRING(loginTitlePropertyTag, "loginTitle");
const PRUnichar *dTitlePropertyTag = loginTitlePropertyTag.get();
rv = bundle->FormatStringFromName(dTitlePropertyTag, brandStrings, 1,
getter_Copies(loginTitle));
if (NS_FAILED(rv)) return PR_FALSE;
if (aLogin)
{
nsXPIDLString loginText;
rv = bundle->GetStringFromName(NS_LITERAL_STRING("loginTextwithName").get(),
getter_Copies(loginText));
if (NS_FAILED(rv) || !loginText) return PR_FALSE;
rv = dlgService->PromptUsernameAndPassword(nsnull, loginTitle,
loginText, aUsername, aPassword,
nsnull, PR_FALSE, &btnResult);
}
else
{
//nsString loginString;
nsXPIDLString loginText;
const PRUnichar *userNameStrings[] = { *aUsername };
NS_NAMED_LITERAL_STRING(loginTextPropertyTag, "loginText");
const PRUnichar *dpropertyTag = loginTextPropertyTag.get();
rv = bundle->FormatStringFromName(dpropertyTag, userNameStrings, 1,
getter_Copies(loginText));
if (NS_FAILED(rv)) return PR_FALSE;
rv = dlgService->PromptPassword(nsnull, loginTitle, loginText,
aPassword, nsnull, PR_FALSE, &btnResult);
}
}
return btnResult;
}
PRBool nsMapiHook::VerifyUserName(const PRUnichar *aUsername, char **aIdKey)
{
nsresult rv;
if (aUsername == nsnull)
return PR_FALSE;
nsCOMPtr<nsIMsgAccountManager> accountManager(do_GetService(NS_MSGACCOUNTMANAGER_CONTRACTID, &rv));
if (NS_FAILED(rv)) return PR_FALSE;
nsCOMPtr<nsISupportsArray> identities;
rv = accountManager->GetAllIdentities(getter_AddRefs(identities));
if (NS_FAILED(rv)) return PR_FALSE;
PRUint32 numIndentities;
identities->Count(&numIndentities);
for (PRUint32 i = 0; i < numIndentities; i++)
{
// convert supports->Identity
nsCOMPtr<nsISupports> thisSupports;
rv = identities->GetElementAt(i, getter_AddRefs(thisSupports));
if (NS_FAILED(rv)) continue;
nsCOMPtr<nsIMsgIdentity> thisIdentity(do_QueryInterface(thisSupports, &rv));
if (NS_SUCCEEDED(rv) && thisIdentity)
{
nsXPIDLCString email;
rv = thisIdentity->GetEmail(getter_Copies(email));
if (NS_FAILED(rv)) continue;
// get the username from the email and compare with the username
nsCAutoString aEmail(email.get());
PRInt32 index = aEmail.FindChar('@');
if (index != -1)
aEmail.Truncate(index);
if (nsDependentString(aUsername) == NS_ConvertASCIItoUCS2(aEmail)) // == overloaded
return NS_SUCCEEDED(thisIdentity->GetKey(aIdKey));
}
}
return PR_FALSE;
}
PRBool
nsMapiHook::IsBlindSendAllowed()
{
PRBool enabled = PR_FALSE;
PRBool warn = PR_TRUE;
nsCOMPtr<nsIPref> prefs = do_GetService(NS_PREF_CONTRACTID);
if (prefs) {
prefs->GetBoolPref(PREF_MAPI_WARN_PRIOR_TO_BLIND_SEND,&warn);
prefs->GetBoolPref(PREF_MAPI_BLIND_SEND_ENABLED,&enabled);
}
if (!enabled)
return PR_FALSE;
if (!warn)
return PR_TRUE; // Everything is okay.
nsresult rv;
nsCOMPtr<nsIStringBundleService> bundleService(do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv));
if (NS_FAILED(rv) || !bundleService) return PR_FALSE;
nsCOMPtr<nsIStringBundle> bundle;
rv = bundleService->CreateBundle(MAPI_PROPERTIES_CHROME, getter_AddRefs(bundle));
if (NS_FAILED(rv) || !bundle) return PR_FALSE;
nsXPIDLString warningMsg;
rv = bundle->GetStringFromName(NS_LITERAL_STRING("mapiBlindSendWarning").get(),
getter_Copies(warningMsg));
if (NS_FAILED(rv)) return PR_FALSE;
nsXPIDLString dontShowAgainMessage;
rv = bundle->GetStringFromName(NS_LITERAL_STRING("mapiBlindSendDontShowAgain").get(),
getter_Copies(dontShowAgainMessage));
if (NS_FAILED(rv)) return PR_FALSE;
nsCOMPtr<nsIPromptService> dlgService(do_GetService("@mozilla.org/embedcomp/prompt-service;1", &rv));
if (NS_FAILED(rv) || !dlgService) return PR_FALSE;
PRBool continueToWarn = PR_TRUE;
PRBool okayToContinue = PR_FALSE;
dlgService->ConfirmCheck(nsnull, nsnull, warningMsg, dontShowAgainMessage, &continueToWarn, &okayToContinue);
if (!continueToWarn && okayToContinue && prefs)
prefs->SetBoolPref(PREF_MAPI_WARN_PRIOR_TO_BLIND_SEND,PR_FALSE);
return okayToContinue;
}
// this is used for Send without UI
nsresult nsMapiHook::BlindSendMail (unsigned long aSession, nsIMsgCompFields * aCompFields)
{
nsresult rv = NS_OK ;
if (!IsBlindSendAllowed())
return NS_ERROR_FAILURE;
/** create nsIMsgComposeParams obj and other fields to populate it **/
// get parent window
nsCOMPtr<nsIAppShellService> appService = do_GetService( "@mozilla.org/appshell/appShellService;1", &rv);
if (NS_FAILED(rv)|| (!appService) ) return rv ;
nsCOMPtr<nsIDOMWindowInternal> hiddenWindow;
rv = appService->GetHiddenDOMWindow(getter_AddRefs(hiddenWindow));
if ( NS_FAILED(rv) ) return rv ;
// smtp password and Logged in used IdKey from MapiConfig (session obj)
nsMAPIConfiguration * pMapiConfig = nsMAPIConfiguration::GetMAPIConfiguration() ;
if (!pMapiConfig) return NS_ERROR_FAILURE ; // get the singelton obj
PRUnichar * password = pMapiConfig->GetPassword(aSession) ;
// password
nsCAutoString smtpPassword ;
smtpPassword.AssignWithConversion (password) ;
// Id key
char * MsgIdKey = pMapiConfig->GetIdKey(aSession) ;
// get the MsgIdentity for the above key using AccountManager
nsCOMPtr <nsIMsgAccountManager> accountManager = do_GetService (NS_MSGACCOUNTMANAGER_CONTRACTID) ;
if (NS_FAILED(rv) || (!accountManager) ) return rv ;
nsCOMPtr <nsIMsgIdentity> pMsgId ;
rv = accountManager->GetIdentity (MsgIdKey, getter_AddRefs(pMsgId)) ;
if (NS_FAILED(rv) ) return rv ;
// create a send listener to get back the send status
nsCOMPtr <nsIMsgSendListener> sendListener ;
rv = nsMAPISendListener::CreateMAPISendListener(getter_AddRefs(sendListener)) ;
if (NS_FAILED(rv) || (!sendListener) ) return rv;
// create the compose params object
nsCOMPtr<nsIMsgComposeParams> pMsgComposeParams (do_CreateInstance(NS_MSGCOMPOSEPARAMS_CONTRACTID, &rv));
if (NS_FAILED(rv) || (!pMsgComposeParams) ) return rv ;
// populate the compose params
pMsgComposeParams->SetType(nsIMsgCompType::New);
pMsgComposeParams->SetFormat(nsIMsgCompFormat::Default);
pMsgComposeParams->SetIdentity(pMsgId);
pMsgComposeParams->SetComposeFields(aCompFields);
pMsgComposeParams->SetSendListener(sendListener) ;
pMsgComposeParams->SetSmtpPassword(smtpPassword.get());
// create the nsIMsgCompose object to send the object
nsCOMPtr<nsIMsgCompose> pMsgCompose (do_CreateInstance(NS_MSGCOMPOSE_CONTRACTID, &rv));
if (NS_FAILED(rv) || (!pMsgCompose) ) return rv ;
/** initialize nsIMsgCompose, Send the message, wait for send completion response **/
rv = pMsgCompose->Initialize(hiddenWindow, pMsgComposeParams) ;
if (NS_FAILED(rv)) return rv ;
pMsgCompose->SendMsg(nsIMsgSend::nsMsgDeliverNow, pMsgId, nsnull) ;
if (NS_FAILED(rv)) return rv ;
// assign to interface pointer from nsCOMPtr to facilitate typecast below
nsIMsgSendListener * pSendListener = sendListener ;
// we need to wait here to make sure that we return only after send is completed
// so we will have a event loop here which will process the events till the Send IsDone.
nsCOMPtr<nsIEventQueueService> pEventQService = do_GetService(NS_EVENTQUEUESERVICE_CONTRACTID, &rv);
nsCOMPtr<nsIEventQueue> eventQueue;
pEventQService->GetThreadEventQueue(NS_CURRENT_THREAD,getter_AddRefs(eventQueue));
while ( !((nsMAPISendListener *) pSendListener)->IsDone() )
eventQueue->ProcessPendingEvents();
return rv ;
}
// this is used to populate comp fields with Unicode data
nsresult nsMapiHook::PopulateCompFields(lpnsMapiMessage aMessage,
nsIMsgCompFields * aCompFields)
{
nsresult rv = NS_OK ;
if (aMessage->lpOriginator)
{
PRUnichar * From = aMessage->lpOriginator->lpszAddress ;
aCompFields->SetFrom (From) ;
}
nsAutoString To ;
nsAutoString Cc ;
nsAutoString Bcc ;
nsAutoString Comma ;
Comma.AssignWithConversion(",");
if (aMessage->lpRecips)
{
for (int i=0 ; i < (int) aMessage->nRecipCount ; i++)
{
if (aMessage->lpRecips[i].lpszAddress)
{
switch (aMessage->lpRecips[i].ulRecipClass)
{
case MAPI_TO :
if (To.Length() > 0)
To += Comma ;
To += (PRUnichar *) aMessage->lpRecips[i].lpszAddress ;
break ;
case MAPI_CC :
if (Cc.Length() > 0)
Cc += Comma ;
Cc += (PRUnichar *) aMessage->lpRecips[i].lpszAddress ;
break ;
case MAPI_BCC :
if (Bcc.Length() > 0)
Bcc += Comma ;
Bcc += (PRUnichar *) aMessage->lpRecips[i].lpszAddress ;
break ;
}
}
}
}
// set To, Cc, Bcc
aCompFields->SetTo (To.get()) ;
aCompFields->SetCc (Cc.get()) ;
aCompFields->SetBcc (Bcc.get()) ;
// set subject
if (aMessage->lpszSubject)
{
PRUnichar * Subject = aMessage->lpszSubject ;
aCompFields->SetSubject(Subject) ;
}
// handle attachments as File URL
rv = HandleAttachments (aCompFields, aMessage->nFileCount, aMessage->lpFiles, PR_TRUE) ;
if (NS_FAILED(rv)) return rv ;
// set body
if (aMessage->lpszNoteText)
{
PRUnichar * Body = aMessage->lpszNoteText ;
rv = aCompFields->SetBody(Body) ;
}
#ifdef RAJIV_DEBUG
// testing what all was set in CompFields
printf ("To : %S \n", To.get()) ;
printf ("CC : %S \n", Cc.get() ) ;
printf ("BCC : %S \n", Bcc.get() ) ;
#endif
return rv ;
}
nsresult nsMapiHook::HandleAttachments (nsIMsgCompFields * aCompFields, PRInt32 aFileCount,
lpnsMapiFileDesc aFiles, BOOL aIsUnicode)
{
nsresult rv = NS_OK ;
nsCAutoString Attachments ;
nsCAutoString TempFiles ;
nsCOMPtr <nsILocalFile> pFile = do_CreateInstance (NS_LOCAL_FILE_CONTRACTID, &rv) ;
if (NS_FAILED(rv) || (!pFile) ) return rv ;
for (int i=0 ; i < aFileCount ; i++)
{
if (aFiles[i].lpszPathName)
{
// check if attachment exists
if (aIsUnicode)
pFile->InitWithUnicodePath (aFiles[i].lpszPathName) ;
else
pFile->InitWithPath ((char *) aFiles[i].lpszPathName) ;
PRBool bExist ;
rv = pFile->Exists(&bExist) ;
if (NS_FAILED(rv) || (!bExist) ) return NS_ERROR_FILE_TARGET_DOES_NOT_EXIST ;
// create Msg attachment object
nsCOMPtr<nsIMsgAttachment> attachment = do_CreateInstance(NS_MSGATTACHMENT_CONTRACTID, &rv);
if (NS_FAILED(rv) || (!attachment) ) return rv ;
// set url
nsXPIDLCString pURL ;
NS_GetURLSpecFromFile(pFile, getter_Copies(pURL));
attachment->SetUrl(pURL) ;
if (aFiles[i].lpszFileName)
{
if (! aIsUnicode)
{
nsAutoString realFileName ;
realFileName.AssignWithConversion ((char *) aFiles[i].lpszFileName) ;
attachment->SetName(realFileName.get()) ;
// attachment->SetName( (nsDependentString(aFiles[i].lpszFileName)).get() );
}
else
attachment->SetName(aFiles[i].lpszFileName) ;
}
attachment->SetTemporary(PR_FALSE) ;
rv = aCompFields->AddAttachment (attachment);
}
}
return rv ;
}
// this is used to convert non Unicode data and then populate comp fields
nsresult nsMapiHook::PopulateCompFieldsWithConversion(lpnsMapiMessage aMessage,
nsIMsgCompFields * aCompFields)
{
nsresult rv = NS_OK ;
if (aMessage->lpOriginator)
{
nsAutoString From ;
From.AssignWithConversion((char *) aMessage->lpOriginator->lpszAddress);
aCompFields->SetFrom (From.get()) ;
}
nsAutoString To ;
nsAutoString Cc ;
nsAutoString Bcc ;
nsAutoString Comma ;
Comma.AssignWithConversion(",");
if (aMessage->lpRecips)
{
for (int i=0 ; i < (int) aMessage->nRecipCount ; i++)
{
if (aMessage->lpRecips[i].lpszAddress)
{
switch (aMessage->lpRecips[i].ulRecipClass)
{
case MAPI_TO :
if (To.Length() > 0)
To += Comma ;
To.AppendWithConversion ((char *) aMessage->lpRecips[i].lpszAddress);
break ;
case MAPI_CC :
if (Cc.Length() > 0)
Cc += Comma ;
Cc.AppendWithConversion ((char *) aMessage->lpRecips[i].lpszAddress);
break ;
case MAPI_BCC :
if (Bcc.Length() > 0)
Bcc += Comma ;
Bcc.AppendWithConversion ((char *) aMessage->lpRecips[i].lpszAddress) ;
break ;
}
}
}
}
// set To, Cc, Bcc
aCompFields->SetTo (To.get()) ;
aCompFields->SetCc (Cc.get()) ;
aCompFields->SetBcc (Bcc.get()) ;
nsCAutoString platformCharSet;
// set subject
if (aMessage->lpszSubject)
{
nsAutoString Subject ;
if (platformCharSet.IsEmpty())
platformCharSet.Assign(nsMsgI18NFileSystemCharset());
rv = ConvertToUnicode(platformCharSet.get(), (char *) aMessage->lpszSubject, Subject);
if (NS_FAILED(rv)) return rv ;
aCompFields->SetSubject(Subject.get()) ;
}
// handle attachments as File URL
rv = HandleAttachments (aCompFields, aMessage->nFileCount, aMessage->lpFiles, PR_FALSE) ;
if (NS_FAILED(rv)) return rv ;
// set body
if (aMessage->lpszNoteText)
{
nsAutoString Body ;
if (platformCharSet.IsEmpty())
platformCharSet.Assign(nsMsgI18NFileSystemCharset());
rv = ConvertToUnicode(platformCharSet.get(), (char *) aMessage->lpszNoteText, Body);
if (NS_FAILED(rv)) return rv ;
rv = aCompFields->SetBody(Body.get()) ;
}
#ifdef RAJIV_DEBUG
// testing what all was set in CompFields
printf ("To : %S \n", To.get()) ;
printf ("CC : %S \n", Cc.get() ) ;
printf ("BCC : %S \n", Bcc.get() ) ;
#endif
return rv ;
}
// this is used to populate the docs as attachments in the Comp fields for Send Documents
nsresult nsMapiHook::PopulateCompFieldsForSendDocs(nsIMsgCompFields * aCompFields, ULONG aFlags,
PRUnichar * aDelimChar, PRUnichar * aFilePaths)
{
nsAutoString strDelimChars ;
nsString strFilePaths;
nsresult rv = NS_OK ;
if (aFlags & MAPI_UNICODE)
{
if (aDelimChar)
strDelimChars.Assign (aDelimChar) ;
if (aFilePaths)
strFilePaths.Assign (aFilePaths) ;
}
else
{
if (aDelimChar)
strDelimChars.AssignWithConversion ((char*) aDelimChar) ;
if (aFilePaths)
strFilePaths.AssignWithConversion ((char *) aFilePaths) ;
}
// check for comma in filename
if (strDelimChars.Find (",") == kNotFound) // if comma is not in the delimiter specified by user
{
if (strFilePaths.Find(",") != kNotFound) // if comma found in filenames return error
return NS_ERROR_FILE_INVALID_PATH ;
}
nsCString Attachments ;
// only 1 file is to be sent, no delim specified
if ((!strDelimChars.Length()) && (strFilePaths.Length()>0))
{
nsCOMPtr <nsILocalFile> pFile = do_CreateInstance (NS_LOCAL_FILE_CONTRACTID, &rv) ;
if (NS_FAILED(rv) || (!pFile) ) return rv ;
pFile->InitWithUnicodePath (strFilePaths.get()) ;
PRBool bExist ;
rv = pFile->Exists(&bExist) ;
if (NS_FAILED(rv) || (!bExist) ) return NS_ERROR_FILE_TARGET_DOES_NOT_EXIST ;
nsXPIDLCString pURL ;
NS_GetURLSpecFromFile(pFile, getter_Copies(pURL));
if (pURL)
Attachments.Assign(pURL) ;
// set attachments for comp field and return
rv = aCompFields->SetAttachments (Attachments.get());
return rv ;
}
// multiple files to be sent, delim specified
nsCOMPtr <nsILocalFile> pFile = do_CreateInstance (NS_LOCAL_FILE_CONTRACTID, &rv) ;
if (NS_FAILED(rv) || (!pFile) ) return rv ;
PRInt32 offset = 0 ;
PRInt32 FilePathsLen = strFilePaths.Length() ;
if (FilePathsLen)
{
PRUnichar * newFilePaths = (PRUnichar *) strFilePaths.get() ;
while (offset != kNotFound)
{
nsString RemainingPaths ;
RemainingPaths.Assign(newFilePaths) ;
offset = RemainingPaths.Find (strDelimChars) ;
if (offset != kNotFound)
{
RemainingPaths.SetLength (offset) ;
if ((offset + strDelimChars.Length()) < FilePathsLen)
newFilePaths += offset + strDelimChars.Length() ;
}
pFile->InitWithUnicodePath (RemainingPaths.get()) ;
#ifdef RAJIV_DEBUG
printf ("File : %S \n", RemainingPaths.get()) ;
#endif
PRBool bExist ;
rv = pFile->Exists(&bExist) ;
if (NS_FAILED(rv) || (!bExist) ) return NS_ERROR_FILE_TARGET_DOES_NOT_EXIST ;
nsXPIDLCString pURL ;
NS_GetURLSpecFromFile(pFile, getter_Copies(pURL));
if (pURL)
{
if (Attachments.Length() > 0)
Attachments.Append(",") ;
Attachments.Append(pURL) ;
}
}
rv = aCompFields->SetAttachments (Attachments.get());
}
return rv ;
}
// this used for Send with UI
nsresult nsMapiHook::ShowComposerWindow (unsigned long aSession, nsIMsgCompFields * aCompFields)
{
nsresult rv = NS_OK ;
// create a send listener to get back the send status
nsCOMPtr <nsIMsgSendListener> sendListener ;
rv = nsMAPISendListener::CreateMAPISendListener(getter_AddRefs(sendListener)) ;
if (NS_FAILED(rv) || (!sendListener) ) return rv ;
// create the compose params object
nsCOMPtr<nsIMsgComposeParams> pMsgComposeParams (do_CreateInstance(NS_MSGCOMPOSEPARAMS_CONTRACTID, &rv));
if (NS_FAILED(rv) || (!pMsgComposeParams) ) return rv ;
// populate the compose params
pMsgComposeParams->SetType(nsIMsgCompType::New);
pMsgComposeParams->SetFormat(nsIMsgCompFormat::Default);
pMsgComposeParams->SetComposeFields(aCompFields);
pMsgComposeParams->SetSendListener(sendListener) ;
/** get the nsIMsgComposeService object to open the compose window **/
nsCOMPtr <nsIMsgComposeService> compService = do_GetService (NS_MSGCOMPOSESERVICE_CONTRACTID) ;
if (NS_FAILED(rv)|| (!compService) ) return rv ;
rv = compService->OpenComposeWindowWithParams(nsnull, pMsgComposeParams) ;
if (NS_FAILED(rv)) return rv ;
return rv ;
}

View File

@@ -0,0 +1,66 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla
*
* The Initial Developer of the Original Code is
* Netscape Communications Corp.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef MSG_MAPI_HOOK_H_
#define MSG_MAPI_HOOK_H_
#include "prtypes.h"
class nsMapiHook
{
public :
static PRBool Initialize();
static PRBool DisplayLoginDialog(PRBool aLogin, PRUnichar **aUsername,
PRUnichar **aPassword);
static PRBool VerifyUserName(const PRUnichar *aUsername, char **aIdKey);
static PRBool IsBlindSendAllowed () ;
static nsresult BlindSendMail (unsigned long aSession, nsIMsgCompFields * aCompFields) ;
static nsresult ShowComposerWindow (unsigned long aSession, nsIMsgCompFields * aCompFields) ;
static nsresult PopulateCompFields(lpnsMapiMessage aMessage, nsIMsgCompFields * aCompFields) ;
static nsresult PopulateCompFieldsWithConversion(lpnsMapiMessage aMessage,
nsIMsgCompFields * aCompFields) ;
static nsresult PopulateCompFieldsForSendDocs(nsIMsgCompFields * aCompFields,
ULONG aFlags, LPTSTR aDelimChar, LPTSTR aFilePaths) ;
static nsresult HandleAttachments (nsIMsgCompFields * aCompFields, PRInt32 aFileCount,
lpnsMapiFileDesc aFiles, BOOL aIsUnicode) ;
static void CleanUp();
static PRBool isMapiService;
};
#endif // MSG_MAPI_HOOK_H_

View File

@@ -0,0 +1,266 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla
*
* The Initial Developer of the Original Code is
* Netscape Communications Corp.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
* Contributor(s): Rajiv Dayal (rdayal@netscape.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include <mapidefs.h>
#include <mapi.h>
#include "msgMapi.h"
#include "msgMapiImp.h"
#include "msgMapiFactory.h"
#include "msgMapiMain.h"
#include "nsMsgCompFields.h"
#include "msgMapiHook.h"
#include "nsString.h"
#include "nsCOMPtr.h"
#include "nsISupports.h"
#include "nsMsgCompCID.h"
CMapiImp::CMapiImp()
: m_cRef(1)
{
m_Lock = PR_NewLock();
}
CMapiImp::~CMapiImp()
{
if (m_Lock)
PR_DestroyLock(m_Lock);
}
STDMETHODIMP CMapiImp::QueryInterface(const IID& aIid, void** aPpv)
{
if (aIid == IID_IUnknown)
{
*aPpv = static_cast<nsIMapi*>(this);
}
else if (aIid == IID_nsIMapi)
{
*aPpv = static_cast<nsIMapi*>(this);
}
else
{
*aPpv = nsnull;
return E_NOINTERFACE;
}
reinterpret_cast<IUnknown*>(*aPpv)->AddRef();
return S_OK;
}
STDMETHODIMP_(ULONG) CMapiImp::AddRef()
{
return PR_AtomicIncrement(&m_cRef);
}
STDMETHODIMP_(ULONG) CMapiImp::Release()
{
PRInt32 temp;
temp = PR_AtomicDecrement(&m_cRef);
if (m_cRef == 0)
{
delete this;
return 0;
}
return temp;
}
STDMETHODIMP CMapiImp::IsValid()
{
return S_OK;
}
STDMETHODIMP CMapiImp::IsValidSession(unsigned long aSession)
{
nsMAPIConfiguration *pConfig = nsMAPIConfiguration::GetMAPIConfiguration();
if (pConfig && pConfig->IsSessionValid(aSession))
return S_OK;
return E_FAIL;
}
STDMETHODIMP CMapiImp::Initialize()
{
HRESULT hr = E_FAIL;
if (!m_Lock)
return E_FAIL;
PR_Lock(m_Lock);
// Initialize MAPI Configuration
nsMAPIConfiguration *pConfig = nsMAPIConfiguration::GetMAPIConfiguration();
if (pConfig != nsnull)
if (nsMapiHook::Initialize())
hr = S_OK;
PR_Unlock(m_Lock);
return hr;
}
STDMETHODIMP CMapiImp::Login(unsigned long aUIArg, LOGIN_PW_TYPE aLogin, LOGIN_PW_TYPE aPassWord,
unsigned long aFlags, unsigned long *aSessionId)
{
HRESULT hr = E_FAIL;
PRBool bNewSession = PR_FALSE;
char *id_key = nsnull;
if (aFlags & MAPI_NEW_SESSION)
bNewSession = PR_TRUE;
// Check For Profile Name
if (aLogin != nsnull && aLogin[0] != '\0')
{
if (nsMapiHook::VerifyUserName(aLogin, &id_key) == PR_FALSE)
{
*aSessionId = MAPI_E_LOGIN_FAILURE;
return hr;
}
}
// finally register(create) the session.
PRUint32 nSession_Id;
PRInt16 nResult = 0;
nsMAPIConfiguration *pConfig = nsMAPIConfiguration::GetMAPIConfiguration();
if (pConfig != nsnull)
nResult = pConfig->RegisterSession(aUIArg, aLogin, aPassWord,
(aFlags & MAPI_FORCE_DOWNLOAD), bNewSession,
&nSession_Id, id_key);
switch (nResult)
{
case -1 :
{
*aSessionId = MAPI_E_TOO_MANY_SESSIONS;
return hr;
}
case 0 :
{
*aSessionId = MAPI_E_INSUFFICIENT_MEMORY;
return hr;
}
default :
{
*aSessionId = nSession_Id;
break;
}
}
return S_OK;
}
STDMETHODIMP CMapiImp::SendMail( unsigned long aSession, lpnsMapiMessage aMessage,
short aRecipCount, lpnsMapiRecipDesc aRecips , short aFileCount, lpnsMapiFileDesc aFiles ,
unsigned long aFlags, unsigned long aReserved)
{
nsresult rv = NS_OK ;
// Assign the pointers in the aMessage struct to the array of Recips and Files
// recieved here from MS COM. These are used in BlindSendMail and ShowCompWin fns
aMessage->lpRecips = aRecips ;
aMessage->lpFiles = aFiles ;
/** create nsIMsgCompFields obj and populate it **/
nsCOMPtr<nsIMsgCompFields> pCompFields = do_CreateInstance(NS_MSGCOMPFIELDS_CONTRACTID, &rv) ;
if (NS_FAILED(rv) || (!pCompFields) ) return MAPI_E_INSUFFICIENT_MEMORY ;
if (aFlags & MAPI_UNICODE)
rv = nsMapiHook::PopulateCompFields(aMessage, pCompFields) ;
else
rv = nsMapiHook::PopulateCompFieldsWithConversion(aMessage, pCompFields) ;
if (NS_SUCCEEDED (rv))
{
// see flag to see if UI needs to be brought up
if (!(aFlags & MAPI_DIALOG))
{
rv = nsMapiHook::BlindSendMail(aSession, pCompFields);
}
else
{
rv = nsMapiHook::ShowComposerWindow(aSession, pCompFields);
}
}
return nsMAPIConfiguration::GetMAPIErrorFromNSError (rv) ;
}
STDMETHODIMP CMapiImp::SendDocuments( unsigned long aSession, LPTSTR aDelimChar,
LPTSTR aFilePaths, LPTSTR aFileNames, ULONG aFlags)
{
nsresult rv = NS_OK ;
/** create nsIMsgCompFields obj and populate it **/
nsCOMPtr<nsIMsgCompFields> pCompFields = do_CreateInstance(NS_MSGCOMPFIELDS_CONTRACTID, &rv) ;
if (NS_FAILED(rv) || (!pCompFields) ) return MAPI_E_INSUFFICIENT_MEMORY ;
if (aFilePaths)
{
rv = nsMapiHook::PopulateCompFieldsForSendDocs(pCompFields, aFlags, aDelimChar, aFilePaths) ;
}
if (NS_SUCCEEDED (rv))
rv = nsMapiHook::ShowComposerWindow(aSession, pCompFields);
return nsMAPIConfiguration::GetMAPIErrorFromNSError (rv) ;
}
STDMETHODIMP CMapiImp::Logoff (unsigned long aSession)
{
nsMAPIConfiguration *pConfig = nsMAPIConfiguration::GetMAPIConfiguration();
if (pConfig->UnRegisterSession((PRUint32)aSession))
return S_OK;
return E_FAIL;
}
STDMETHODIMP CMapiImp::CleanUp()
{
nsMapiHook::CleanUp();
return S_OK;
}

View File

@@ -0,0 +1,92 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla
*
* The Initial Developer of the Original Code is
* Netscape Communications Corp.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef MSG_MAPI_IMP_H
#define MSG_MAPI_IMP_H
#include <windows.h>
#include <mapi.h>
#include "msgMapi.h"
#include "nsXPIDLString.h"
#include "nspr.h"
const CLSID CLSID_CMapiImp = {0x29f458be, 0x8866, 0x11d5, {0xa3, 0xdd, 0x0, 0xb0, 0xd0, 0xf3, 0xba, 0xa7}};
// this class implements the MS COM interface nsIMapi that provides the methods
// called by mapi32.dll to perform the mail operations as specified by MAPI.
// These class methods in turn use the Mozilla Mail XPCOM interfaces to do so.
class CMapiImp : public nsIMapi
{
public :
// IUnknown
STDMETHODIMP QueryInterface(const IID& aIid, void** aPpv);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
// Interface INsMapi
STDMETHODIMP Login(unsigned long aUIArg, LOGIN_PW_TYPE aLogin,
LOGIN_PW_TYPE aPassWord, unsigned long aFlags,
unsigned long *aSessionId);
STDMETHODIMP SendMail( unsigned long aSession, lpnsMapiMessage aMessage,
short aRecipCount, lpnsMapiRecipDesc aRecips ,
short aFileCount, lpnsMapiFileDesc aFiles ,
unsigned long aFlags, unsigned long aReserved) ;
STDMETHODIMP SendDocuments( unsigned long aSession, LPTSTR aDelimChar,
LPTSTR aFilePaths, LPTSTR aFileNames, ULONG aFlags);
STDMETHODIMP Initialize();
STDMETHODIMP IsValid();
STDMETHODIMP IsValidSession(unsigned long aSession);
STDMETHODIMP Logoff (unsigned long aSession);
STDMETHODIMP CleanUp();
CMapiImp();
~CMapiImp();
private :
PRLock *m_Lock;
PRInt32 m_cRef;
};
#endif // MSG_MAPI_IMP_H

View File

@@ -0,0 +1,376 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla
*
* The Initial Developer of the Original Code is
* Netscape Communications Corp.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include <mapidefs.h>
#include <mapi.h>
#include "msgCore.h"
#include "nsMsgComposeStringBundle.h"
#include "msgMapiMain.h"
#include "nsIServiceManager.h"
#include "nsCOMPtr.h"
// move to xpcom bug 81956.
class nsPRUintKey : public nsHashKey {
protected:
PRUint32 mKey;
public:
nsPRUintKey(PRUint32 key) : mKey(key) {}
PRUint32 HashCode(void) const {
return mKey;
}
PRBool Equals(const nsHashKey *aKey) const {
return mKey == ((const nsPRUintKey *) aKey)->mKey;
}
nsHashKey *Clone() const {
return new nsPRUintKey(mKey);
}
PRUint32 GetValue() { return mKey; }
};
//
nsMAPIConfiguration *nsMAPIConfiguration::m_pSelfRef = nsnull;
PRUint32 nsMAPIConfiguration::session_generator = 0;
PRUint32 nsMAPIConfiguration::sessionCount = 0;
nsMAPIConfiguration *nsMAPIConfiguration::GetMAPIConfiguration()
{
if (m_pSelfRef == nsnull)
m_pSelfRef = new nsMAPIConfiguration();
return m_pSelfRef;
}
nsMAPIConfiguration::nsMAPIConfiguration()
: m_nMaxSessions(MAX_SESSIONS)
{
m_Lock = PR_NewLock();
}
static PRBool
FreeSessionMapEntries(nsHashKey *aKey, void *aData, void* aClosure)
{
nsMAPISession *pTemp = (nsMAPISession*) aData;
if (pTemp)
{
delete pTemp;
pTemp = nsnull;
}
return PR_TRUE;
}
static PRBool
FreeProfileMapEntries(nsHashKey *aKey, void *aData, void* aClosure)
{
return PR_TRUE;
}
nsMAPIConfiguration::~nsMAPIConfiguration()
{
if (m_Lock)
PR_DestroyLock(m_Lock);
m_SessionMap.Reset(FreeSessionMapEntries);
m_ProfileMap.Reset(FreeProfileMapEntries);
}
void nsMAPIConfiguration::OpenConfiguration()
{
// No. of max. sessions is set to MAX_SESSIONS. In future
// if it is decided to have configuration (registry)
// parameter, this function can be used to set the
// max sessions;
return;
}
PRInt16 nsMAPIConfiguration::RegisterSession(PRUint32 aHwnd,
const PRUnichar *aUserName, const PRUnichar *aPassword,
PRBool aForceDownLoad, PRBool aNewSession,
PRUint32 *aSession, char *aIdKey)
{
PRInt16 nResult = 0;
PRUint32 n_SessionId = 0;
PR_Lock(m_Lock);
// Check whether max sessions is exceeded
if (sessionCount >= m_nMaxSessions)
{
PR_Unlock(m_Lock);
return -1;
}
if (aUserName != nsnull && aUserName[0] != '\0')
{
nsStringKey usernameKey(aUserName);
n_SessionId = (PRUint32) m_ProfileMap.Get(&usernameKey);
}
// try to share a session; if not create a session
if (n_SessionId > 0)
{
nsPRUintKey sessionKey(n_SessionId);
nsMAPISession *pTemp = (nsMAPISession *)m_SessionMap.Get(&sessionKey);
if (pTemp != nsnull)
{
pTemp->IncrementSession();
*aSession = n_SessionId;
nResult = 1;
}
}
else if (aNewSession || n_SessionId == 0) // checking for n_SessionId is a concession
{
// create a new session ; if new session is specified OR there is no session
nsMAPISession *pTemp = nsnull;
pTemp = new nsMAPISession(aHwnd, aUserName,
aPassword, aForceDownLoad, aIdKey);
if (pTemp != nsnull)
{
session_generator++;
// I don't think there will be (2 power 32) sessions alive
// in a cycle. This is an assumption
if (session_generator == 0)
session_generator++;
nsPRUintKey sessionKey(session_generator);
m_SessionMap.Put(&sessionKey, pTemp);
if (aUserName != nsnull && aUserName[0] != '\0')
{
nsStringKey usernameKey(aUserName);
m_ProfileMap.Put(&usernameKey, (void*)session_generator);
}
*aSession = session_generator;
sessionCount++;
nResult = 1;
}
}
PR_Unlock(m_Lock);
return nResult;
}
PRBool nsMAPIConfiguration::UnRegisterSession(PRUint32 aSessionID)
{
PRBool bResult = PR_FALSE;
PR_Lock(m_Lock);
if (aSessionID != 0)
{
nsPRUintKey sessionKey(aSessionID);
nsMAPISession *pTemp = (nsMAPISession *)m_SessionMap.Get(&sessionKey);
if (pTemp != nsnull)
{
if (pTemp->DecrementSession() == 0)
{
if (pTemp->m_pProfileName.get() != nsnull)
{
nsStringKey stringKey(pTemp->m_pProfileName.get());
m_ProfileMap.Remove(&stringKey);
}
m_SessionMap.Remove(&sessionKey);
sessionCount--;
bResult = PR_TRUE;
}
}
}
PR_Unlock(m_Lock);
return bResult;
}
PRBool nsMAPIConfiguration::IsSessionValid(PRUint32 aSessionID)
{
if (aSessionID == 0)
return PR_FALSE;
PRBool retValue = PR_FALSE;
nsPRUintKey sessionKey(aSessionID);
PR_Lock(m_Lock);
retValue = m_SessionMap.Exists(&sessionKey);
PR_Unlock(m_Lock);
return retValue;
}
PRUnichar *nsMAPIConfiguration::GetPassword(PRUint32 aSessionID)
{
PRUnichar *pResult = nsnull;
PR_Lock(m_Lock);
if (aSessionID != 0)
{
nsPRUintKey sessionKey(aSessionID);
nsMAPISession *pTemp = (nsMAPISession *)m_SessionMap.Get(&sessionKey);
if (pTemp)
{
pResult = pTemp->GetPassword();
}
}
PR_Unlock(m_Lock);
return pResult;
}
char *nsMAPIConfiguration::GetIdKey(PRUint32 aSessionID)
{
char *pResult = nsnull;
PR_Lock(m_Lock);
if (aSessionID != 0)
{
nsPRUintKey sessionKey(aSessionID);
nsMAPISession *pTemp = (nsMAPISession *)m_SessionMap.Get(&sessionKey);
if (pTemp)
{
pResult = pTemp->GetIdKey();
}
}
PR_Unlock(m_Lock);
return pResult;
}
// util func
HRESULT nsMAPIConfiguration::GetMAPIErrorFromNSError (nsresult res)
{
HRESULT hr = SUCCESS_SUCCESS ;
if (NS_SUCCEEDED (hr)) return hr ;
// if failure return the related MAPI failure code
switch (res)
{
case NS_MSG_NO_RECIPIENTS :
hr = MAPI_E_BAD_RECIPTYPE ;
break ;
case NS_ERROR_COULD_NOT_GET_USERS_MAIL_ADDRESS :
hr = MAPI_E_INVALID_RECIPS ;
break ;
case NS_ERROR_COULD_NOT_LOGIN_TO_SMTP_SERVER :
hr = MAPI_E_LOGIN_FAILURE ;
break ;
case NS_MSG_UNABLE_TO_OPEN_FILE :
case NS_MSG_UNABLE_TO_OPEN_TMP_FILE :
case NS_MSG_COULDNT_OPEN_FCC_FOLDER :
case NS_ERROR_FILE_INVALID_PATH :
hr = MAPI_E_ATTACHMENT_OPEN_FAILURE ;
break ;
case NS_ERROR_FILE_TARGET_DOES_NOT_EXIST :
hr = MAPI_E_ATTACHMENT_NOT_FOUND ;
break ;
case NS_MSG_CANCELLING :
hr = MAPI_E_USER_ABORT ;
break ;
case NS_MSG_ERROR_WRITING_FILE :
case NS_MSG_UNABLE_TO_SAVE_TEMPLATE :
case NS_MSG_UNABLE_TO_SAVE_DRAFT :
hr = MAPI_E_ATTACHMENT_WRITE_FAILURE ;
break ;
default :
hr = MAPI_E_FAILURE ;
break ;
}
return hr ;
}
nsMAPISession::nsMAPISession(PRUint32 aHwnd, const PRUnichar *aUserName,\
const PRUnichar *aPassword, \
PRBool aForceDownLoad, char *aKey)
: m_bIsForcedDownLoad(aForceDownLoad),
m_hAppHandle(aHwnd),
m_nShared(1),
m_pIdKey(aKey)
{
m_pProfileName.Assign(aUserName);
m_pPassword.Assign(aPassword);
}
nsMAPISession::~nsMAPISession()
{
if (m_pIdKey != nsnull)
{
delete [] m_pIdKey;
m_pIdKey = nsnull;
}
}
PRUint32 nsMAPISession::IncrementSession()
{
return ++m_nShared;
}
PRUint32 nsMAPISession::DecrementSession()
{
return --m_nShared;
}
PRUint32 nsMAPISession::GetSessionCount()
{
return m_nShared;
}
PRUnichar *nsMAPISession::GetPassword()
{
return (PRUnichar *)m_pPassword.get();
}
char *nsMAPISession::GetIdKey()
{
return m_pIdKey;
}

View File

@@ -0,0 +1,112 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla
*
* The Initial Developer of the Original Code is
* Netscape Communications Corp.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef MSG_MAPI_MAIN_H_
#define NSG_MAPI_MAIN_H_
#define MAX_NAME_LEN 256
#define MAX_PW_LEN 256
#define MAX_SESSIONS 50
#define MAPI_SENDCOMPLETE_EVENT "SendCompletionEvent"
#define MAPI_PROPERTIES_CHROME "chrome://messenger-mapi/locale/mapi.properties"
#define PREF_MAPI_WARN_PRIOR_TO_BLIND_SEND "mapi.blind-send.warn"
#define PREF_MAPI_BLIND_SEND_ENABLED "mapi.blind-send.enabled"
#include "nsXPIDLString.h"
#include "nspr.h"
#include "nsString.h"
#include "nsHashtable.h"
class nsMAPIConfiguration
{
private :
static PRUint32 session_generator;
static PRUint32 sessionCount;
static nsMAPIConfiguration *m_pSelfRef;
PRLock *m_Lock;
PRUint32 m_nMaxSessions;
nsHashtable m_ProfileMap;
nsHashtable m_SessionMap;
nsMAPIConfiguration();
public :
static nsMAPIConfiguration *GetMAPIConfiguration();
void OpenConfiguration();
PRInt16 RegisterSession(PRUint32 aHwnd, const PRUnichar *aUserName, \
const PRUnichar *aPassword, PRBool aForceDownLoad, \
PRBool aNewSession, PRUint32 *aSession, char *aIdKey);
PRBool IsSessionValid(PRUint32 aSessionID);
PRBool UnRegisterSession(PRUint32 aSessionID);
PRUnichar *GetPassword(PRUint32 aSessionID);
char *GetIdKey(PRUint32 aSessionID);
~nsMAPIConfiguration();
// a util func
static HRESULT GetMAPIErrorFromNSError (nsresult res) ;
};
class nsMAPISession
{
friend class nsMAPIConfiguration;
private :
PRBool m_bIsForcedDownLoad;
PRBool m_bApp_or_Service;
PRUint32 m_hAppHandle;
PRUint32 m_nShared;
char *m_pIdKey;
nsString m_pProfileName;
nsString m_pPassword;
public :
nsMAPISession(PRUint32 aHwnd, const PRUnichar *aUserName, \
const PRUnichar *aPassword, \
PRBool aForceDownLoad, char *aKey);
PRUint32 IncrementSession();
PRUint32 DecrementSession();
PRUint32 GetSessionCount();
PRUnichar *nsMAPISession::GetPassword();
char *nsMAPISession::GetIdKey();
~nsMAPISession();
};
#endif // MSG_MAPI_MAIN_H_

View File

@@ -0,0 +1,209 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla
*
* The Initial Developer of the Original Code is
* Netscape Communications Corp.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsCOMPtr.h"
#include "objbase.h"
#include "nsISupports.h"
#include "nsIGenericFactory.h"
#include "nsIObserverService.h"
#include "nsIAppStartupNotifier.h"
#include "nsIServiceManager.h"
#include "nsIComponentManager.h"
#include "nsICategoryManager.h"
#include "nsIPrefService.h"
#include "nsIPrefBranch.h"
#include "nsIPrefBranchInternal.h"
#include "msgMapiSupport.h"
#include "nsMapiRegistryUtils.h"
#include "nsMapiRegistry.h"
#include "msgMapiImp.h"
/** Implementation of the nsIMapiSupport interface.
* Use standard implementation of nsISupports stuff.
*/
NS_IMPL_THREADSAFE_ISUPPORTS2(nsMapiSupport, nsIMapiSupport, nsIObserver);
static NS_METHOD nsMapiRegistrationProc(nsIComponentManager *aCompMgr,
nsIFile *aPath, const char *registryLocation, const char *componentType,
const nsModuleComponentInfo *info)
{
nsresult rv;
nsCOMPtr<nsICategoryManager> categoryManager(do_GetService(NS_CATEGORYMANAGER_CONTRACTID, &rv));
if (NS_SUCCEEDED(rv))
rv = categoryManager->AddCategoryEntry(APPSTARTUP_CATEGORY, "Mapi Support",
"service," NS_IMAPISUPPORT_CONTRACTID, PR_TRUE, PR_TRUE, nsnull);
return rv ;
}
NS_IMETHODIMP
nsMapiSupport::Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *aData)
{
nsresult rv = NS_OK ;
if (!nsCRT::strcmp(aTopic, "profile-after-change"))
return InitializeMAPISupport();
if (!nsCRT::strcmp(aTopic, NS_XPCOM_SHUTDOWN_OBSERVER_ID))
return ShutdownMAPISupport();
if (!nsCRT::strcmp(aTopic, NS_PREFBRANCH_PREFCHANGE_TOPIC_ID))
{
nsCOMPtr<nsIPrefBranch> prefs = do_QueryInterface(aSubject, &rv);
if (NS_FAILED(rv)) return rv;
// which preference changed?
if (!nsCRT::strcmp(MAILNEWS_ALLOW_DEFAULT_MAIL_CLIENT, NS_ConvertUCS2toUTF8(aData).get()))
{
PRBool bIsDefault = PR_FALSE ;
rv = prefs->GetBoolPref(MAILNEWS_ALLOW_DEFAULT_MAIL_CLIENT, &bIsDefault);
if (NS_FAILED(rv)) return rv;
nsCOMPtr <nsIMapiRegistry> mapiRegistry = do_CreateInstance(NS_IMAPIREGISTRY_CONTRACTID, &rv) ;
if (NS_FAILED(rv)) return rv;
return mapiRegistry->SetIsDefaultMailClient(bIsDefault) ;
}
return rv ;
}
nsCOMPtr<nsIObserverService> observerService(do_GetService("@mozilla.org/observer-service;1", &rv));
if (NS_FAILED(rv)) return rv;
rv = observerService->AddObserver(this,"profile-after-change", PR_FALSE);
if (NS_FAILED(rv)) return rv;
rv = observerService->AddObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID, PR_FALSE);
if (NS_FAILED(rv)) return rv;
nsCOMPtr<nsIPrefService> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID, &rv);
if (NS_FAILED(rv)) return rv;
nsCOMPtr<nsIPrefBranchInternal> prefInternal = do_QueryInterface(prefs, &rv);
if (NS_FAILED(rv)) return rv;
rv = prefInternal->AddObserver(MAILNEWS_ALLOW_DEFAULT_MAIL_CLIENT, this, PR_FALSE);
if (NS_FAILED(rv)) return rv;
return rv;
}
nsMapiSupport::nsMapiSupport()
: m_dwRegister(0),
m_nsMapiFactory(nsnull)
{
NS_INIT_ISUPPORTS();
}
nsMapiSupport::~nsMapiSupport()
{
}
NS_IMETHODIMP
nsMapiSupport::InitializeMAPISupport()
{
::CoInitialize(nsnull) ;
if (m_nsMapiFactory == nsnull) // No Registering if already done. Sanity Check!!
{
m_nsMapiFactory = new CMapiFactory();
if (m_nsMapiFactory != nsnull)
{
HRESULT hr = ::CoRegisterClassObject(CLSID_CMapiImp, \
m_nsMapiFactory, \
CLSCTX_LOCAL_SERVER, \
REGCLS_MULTIPLEUSE, \
&m_dwRegister);
if (FAILED(hr))
{
m_nsMapiFactory->Release() ;
m_nsMapiFactory = nsnull;
return NS_ERROR_FAILURE;
}
}
}
return NS_OK;
}
NS_IMETHODIMP
nsMapiSupport::ShutdownMAPISupport()
{
if (m_dwRegister != 0)
::CoRevokeClassObject(m_dwRegister);
if (m_nsMapiFactory != nsnull)
{
m_nsMapiFactory->Release();
m_nsMapiFactory = nsnull;
}
::CoUninitialize();
return NS_OK ;
}
NS_GENERIC_FACTORY_CONSTRUCTOR(nsMapiRegistry);
NS_GENERIC_FACTORY_CONSTRUCTOR(nsMapiSupport);
// The list of components we register
static nsModuleComponentInfo components[] =
{
{
NS_IMAPIREGISTRY_CLASSNAME,
NS_IMAPIREGISTRY_CID,
NS_IMAPIREGISTRY_CONTRACTID,
nsMapiRegistryConstructor
},
{
NS_IMAPISUPPORT_CLASSNAME,
NS_IMAPISUPPORT_CID,
NS_IMAPISUPPORT_CONTRACTID,
nsMapiSupportConstructor,
nsMapiRegistrationProc,
nsnull
}
};
NS_IMPL_NSGETMODULE(msgMapiModule, components);

View File

@@ -0,0 +1,66 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla
*
* The Initial Developer of the Original Code is
# Netscape Communications Corp.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Krishna Mohan Khandrika (kkhandrika@netscape.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef MSG_MAPI_SUPPORT_H_
#define MSG_MAPI_SUPPORT_H_
#include "nsIObserver.h"
#include "nsIMapiSupport.h"
#include "msgMapiFactory.h"
#define NS_IMAPISUPPORT_CID \
{0x8967fed2, 0xc8bb, 0x11d5, \
{ 0xa3, 0xe9, 0x00, 0xb0, 0xd0, 0xf3, 0xba, 0xa7 }}
class nsMapiSupport : public nsIMapiSupport,
public nsIObserver
{
public :
nsMapiSupport();
~nsMapiSupport();
// Declare all interface methods we must implement.
NS_DECL_ISUPPORTS
NS_DECL_NSIOBSERVER
NS_DECL_NSIMAPISUPPORT
private :
DWORD m_dwRegister;
CMapiFactory *m_nsMapiFactory;
};
#endif // MSG_MAPI_SUPPORT_H_

View File

@@ -0,0 +1,167 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Srilatha Moturi <srilatha@netscape.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsIServiceManager.h"
#include "nsXPIDLString.h"
#include "nsIPromptService.h"
#include "nsIProxyObjectManager.h"
#include "nsProxiedService.h"
#include "nsMapiRegistryUtils.h"
#include "nsMapiRegistry.h"
static NS_DEFINE_CID(kStringBundleServiceCID, NS_STRINGBUNDLESERVICE_CID);
/** Implementation of the nsIMapiRegistry interface.
* Use standard implementation of nsISupports stuff.
*/
NS_IMPL_ISUPPORTS1(nsMapiRegistry, nsIMapiRegistry);
nsMapiRegistry::nsMapiRegistry() {
NS_INIT_ISUPPORTS();
m_ShowDialog = ! m_registryUtils.verifyRestrictedAccess();
m_DefaultMailClient = m_registryUtils.IsDefaultMailClient();
}
nsMapiRegistry::~nsMapiRegistry() {
}
NS_IMETHODIMP
nsMapiRegistry::GetIsDefaultMailClient(PRBool * retval) {
// we need to get the value from registry everytime
// because the registry settings can be changed from
// other mail applications.
*retval = m_registryUtils.IsDefaultMailClient();
return NS_OK;
}
NS_IMETHODIMP
nsMapiRegistry::GetShowDialog(PRBool * retval) {
*retval = m_ShowDialog;
return NS_OK;
}
NS_IMETHODIMP
nsMapiRegistry::SetIsDefaultMailClient(PRBool aIsDefaultMailClient)
{
nsresult rv = NS_OK ;
if (aIsDefaultMailClient)
{
rv = m_registryUtils.setDefaultMailClient();
if (NS_SUCCEEDED(rv))
m_DefaultMailClient = PR_TRUE;
else
m_registryUtils.ShowMapiErrorDialog();
}
else
{
rv = m_registryUtils.unsetDefaultMailClient();
if (NS_SUCCEEDED(rv))
m_DefaultMailClient = PR_FALSE;
else
m_registryUtils.ShowMapiErrorDialog();
}
return rv ;
}
/** This will bring up the dialog box only once per session and
* only if the current app is not default Mail Client.
* This also checks the registry if the registry key
* showMapiDialog is set
*/
NS_IMETHODIMP
nsMapiRegistry::ShowMailIntegrationDialog(nsIDOMWindow *aParentWindow) {
nsresult rv;
if (!m_ShowDialog || !m_registryUtils.getShowDialog()) return NS_OK;
nsCOMPtr<nsIPromptService> promptService(do_GetService(
"@mozilla.org/embedcomp/prompt-service;1", &rv));
if (NS_SUCCEEDED(rv) && promptService)
{
nsCOMPtr<nsIStringBundle> bundle;
rv = m_registryUtils.MakeMapiStringBundle (getter_AddRefs (bundle)) ;
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
nsXPIDLString dialogTitle;
const PRUnichar *brandStrings[] = { m_registryUtils.brandName() };
NS_NAMED_LITERAL_STRING(dialogTitlePropertyTag, "dialogTitle");
rv = bundle->FormatStringFromName(dialogTitlePropertyTag.get(),
brandStrings, 1,
getter_Copies(dialogTitle));
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
nsXPIDLString dialogText;
NS_NAMED_LITERAL_STRING(dialogTextPropertyTag, "dialogText");
rv = bundle->FormatStringFromName(dialogTextPropertyTag.get(),
brandStrings, 1,
getter_Copies(dialogText));
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
nsXPIDLString checkboxText;
rv = bundle->GetStringFromName(
NS_LITERAL_STRING("checkboxText").get(),
getter_Copies(checkboxText));
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
PRBool checkValue = PR_FALSE;
PRInt32 buttonPressed = 0;
rv = promptService->ConfirmEx(aParentWindow,
dialogTitle,
dialogText.get(),
(nsIPromptService::BUTTON_TITLE_YES *
nsIPromptService::BUTTON_POS_0) +
(nsIPromptService::BUTTON_TITLE_NO *
nsIPromptService::BUTTON_POS_1),
nsnull,
nsnull,
nsnull,
checkboxText,
&checkValue,
&buttonPressed);
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
rv = m_registryUtils.SetRegistryKey(HKEY_LOCAL_MACHINE, "Software\\Mozilla\\Desktop",
"showMapiDialog", (checkValue) ? "0" : "1");
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
m_ShowDialog = PR_FALSE;
if (!buttonPressed)
rv = SetIsDefaultMailClient(PR_TRUE) ; // SetDefaultMailClient();
}
return rv;
}

View File

@@ -0,0 +1,76 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Srilatha Moturi <srilatha@netscape.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef nsmapiregistry_h____
#define nsmapiregistry_h____
#include "nsIMapiRegistry.h"
#ifndef MAX_BUF
#define MAX_BUF 4096
#endif
/* c5be14ba-4e0a-4eec-a1b8-04363761d63c */
#define NS_IMAPIREGISTRY_CID \
{ 0xc5be14ba, 0x4e0a, 0x4eec, {0xa1, 0xb8, 0x04, 0x36, 0x37, 0x61, 0xd6, 0x3c} }
#define NS_IMAPIREGISTRY_CONTRACTID "@mozilla.org/mapiregistry;1"
#define NS_IMAPIREGISTRY_CLASSNAME "Mozilla MAPI Registry"
#define MAILNEWS_ALLOW_DEFAULT_MAIL_CLIENT "mailnews.default_mail_client"
class nsMapiRegistry : public nsIMapiRegistry {
public:
// ctor/dtor
nsMapiRegistry();
virtual ~nsMapiRegistry();
// Declare all interface methods we must implement.
NS_DECL_ISUPPORTS
NS_DECL_NSIMAPIREGISTRY
protected:
PRBool m_DefaultMailClient;
PRBool m_ShowDialog;
nsMapiRegistryUtils m_registryUtils ;
private:
// Special member to handle initialization.
PRBool mHaveBeenSet;
}; // nsMapiRegistry
#endif // nsmapiregistry_h____

View File

@@ -0,0 +1,743 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Srilatha Moturi <srilatha@netscape.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#undef UNICODE
#undef _UNICODE
#include "nsIServiceManager.h"
#include "msgMapiImp.h"
#include "msgMapiMain.h"
#include "nsMapiRegistryUtils.h"
#include "nsString.h"
#include "nsIStringBundle.h"
#include "nsIPromptService.h"
#include "nsXPIDLString.h"
#include "nsSpecialSystemDirectory.h"
#include "nsDirectoryService.h"
#include "nsDirectoryServiceDefs.h"
#include "nsAppDirectoryServiceDefs.h"
#include "nsIPref.h"
static NS_DEFINE_CID(kStringBundleServiceCID, NS_STRINGBUNDLESERVICE_CID);
#define EXE_EXTENSION ".exe"
#define USERAGENT_VERSION_PREF "general.useragent.misc"
#define USERAGENT_VERSION_NS_PREF "general.useragent.vendorSub"
#define USERAGENT_PREF_PREFIX "rv:"
nsMapiRegistryUtils::nsMapiRegistryUtils()
{
m_mapiStringBundle = nsnull ;
}
const char * nsMapiRegistryUtils::thisApplication()
{
if (m_thisApp.IsEmpty()) {
char buffer[MAX_PATH] = {0};
DWORD len = ::GetModuleFileName(NULL, buffer, MAX_PATH);
if (!len) return nsnull ;
char shortPathBuf[MAX_PATH] = {0};
len = ::GetShortPathName(buffer, shortPathBuf, MAX_PATH);
if (!len) return nsnull ;
m_thisApp = buffer;
m_thisApp.ToUpperCase();
}
return m_thisApp.get() ;
}
const PRUnichar * nsMapiRegistryUtils::brandName()
{
nsresult rv;
if (m_brand.IsEmpty()) {
nsCOMPtr<nsIStringBundleService> bundleService(do_GetService(
kStringBundleServiceCID, &rv));
if (NS_SUCCEEDED(rv) && bundleService) {
nsCOMPtr<nsIStringBundle> brandBundle;
rv = bundleService->CreateBundle(
"chrome://global/locale/brand.properties",
getter_AddRefs(brandBundle));
if (NS_SUCCEEDED(rv)) {
nsXPIDLString brandName;
rv = brandBundle->GetStringFromName(
NS_LITERAL_STRING("brandShortName").get(),
getter_Copies(brandName));
if (NS_SUCCEEDED(rv)) {
m_brand = brandName ;
}
}
}
}
return m_brand.get() ;
}
const PRUnichar * nsMapiRegistryUtils::versionNo()
{
if (!m_versionNo.IsEmpty())
return m_versionNo.get() ;
nsCOMPtr<nsIPref> prefs = do_GetService(NS_PREF_CONTRACTID);
if (prefs) {
nsXPIDLCString versionStr ;
nsresult rv = prefs->GetCharPref(USERAGENT_VERSION_NS_PREF, getter_Copies(versionStr));
if (NS_SUCCEEDED(rv) && versionStr)
m_versionNo.AssignWithConversion (versionStr.get()) ;
else {
rv = prefs->GetCharPref(USERAGENT_VERSION_PREF, getter_Copies(versionStr));
if (NS_SUCCEEDED(rv) && versionStr) {
m_versionNo.AssignWithConversion (versionStr.get()) ;
m_versionNo.StripChars (USERAGENT_PREF_PREFIX) ;
}
}
}
return m_versionNo.get() ;
}
PRBool nsMapiRegistryUtils::verifyRestrictedAccess() {
char subKey[] = "Software\\Mozilla - Test Key";
PRBool result = PR_FALSE;
DWORD dwDisp = 0;
HKEY key;
// Try to create/open a subkey under HKLM.
DWORD rc = ::RegCreateKeyEx(HKEY_LOCAL_MACHINE,
subKey,
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_WRITE,
NULL,
&key,
&dwDisp);
if (rc == ERROR_SUCCESS) {
// Key was opened; first close it.
::RegCloseKey(key);
// Delete it if we just created it.
switch(dwDisp) {
case REG_CREATED_NEW_KEY:
::RegDeleteKey(HKEY_LOCAL_MACHINE, subKey);
break;
case REG_OPENED_EXISTING_KEY:
break;
}
} else {
// Can't create/open it; we don't have access.
result = PR_TRUE;
}
return result;
}
nsresult nsMapiRegistryUtils::SetRegistryKey(HKEY baseKey, const char * keyName,
const char * valueName, char * value)
{
nsresult result = NS_ERROR_FAILURE;
HKEY key;
LONG rc = ::RegCreateKey(baseKey, keyName, &key);
if (rc == ERROR_SUCCESS) {
rc = ::RegSetValueEx(key, valueName, NULL, REG_SZ,
(LPBYTE)(const char*)value, strlen(value));
if (rc == ERROR_SUCCESS) {
result = NS_OK;
}
::RegCloseKey(key);
}
return result;
}
nsresult nsMapiRegistryUtils::DeleteRegistryValue(HKEY baseKey, const char * keyName,
const char * valueName)
{
nsresult result = NS_ERROR_FAILURE;
HKEY key;
LONG rc = ::RegOpenKey(baseKey, keyName, &key);
if (rc == ERROR_SUCCESS) {
rc = ::RegDeleteValue(key, valueName);
if (rc == ERROR_SUCCESS)
result = NS_OK;
::RegCloseKey(key);
}
return result;
}
void nsMapiRegistryUtils::GetRegistryKey(HKEY baseKey, const char * keyName,
const char * valueName, nsCAutoString & value)
{
HKEY key;
LONG rc = ::RegOpenKey(baseKey, keyName, &key);
if (rc == ERROR_SUCCESS) {
char buffer[MAX_PATH] = {0};
DWORD len = sizeof buffer;
rc = ::RegQueryValueEx(key, valueName, NULL, NULL,
(LPBYTE)buffer, &len);
if (rc == ERROR_SUCCESS) {
if (len)
value = buffer;
}
::RegCloseKey(key);
}
}
PRBool nsMapiRegistryUtils::IsDefaultMailClient()
{
if (!isSmartDll() && !isMozDll())
return PR_FALSE;
nsCAutoString name;
GetRegistryKey(HKEY_LOCAL_MACHINE, "Software\\Clients\\Mail", "", name);
if (!name.IsEmpty()) {
nsCAutoString keyName("Software\\Clients\\Mail\\");
keyName += name.get();
keyName += "\\protocols\\mailto\\shell\\open\\command";
nsCAutoString result;
GetRegistryKey(HKEY_LOCAL_MACHINE, keyName.get(), "", result);
if (!result.IsEmpty()) {
nsCAutoString strExtension;
strExtension.Assign(EXE_EXTENSION);
result.ToUpperCase();
strExtension.ToUpperCase();
PRInt32 index = result.RFind(strExtension.get());
if (index != kNotFound) {
result.Truncate(index + strExtension.Length());
}
nsCAutoString thisApp (thisApplication()) ;
return (result == thisApp);
}
}
return PR_FALSE;
}
nsresult nsMapiRegistryUtils::saveDefaultMailClient()
{
nsresult rv;
nsCAutoString name ;
GetRegistryKey(HKEY_LOCAL_MACHINE,"Software\\Clients\\Mail", "", name);
if (!name.IsEmpty()) {
rv = SetRegistryKey(HKEY_LOCAL_MACHINE,
"Software\\Mozilla\\Desktop",
"HKEY_LOCAL_MACHINE\\Software\\Clients\\Mail",
(char *)name.get());
if (NS_SUCCEEDED(rv)) {
nsCAutoString keyName("Software\\Clients\\Mail\\");
keyName += name.get();
keyName += "\\protocols\\mailto\\shell\\open\\command";
nsCAutoString appPath ;
GetRegistryKey(HKEY_LOCAL_MACHINE, keyName.get(), "", appPath);
if (!appPath.IsEmpty()) {
nsCAutoString stringName("HKEY_LOCAL_MACHINE\\");
stringName += keyName.get();
rv = SetRegistryKey(HKEY_LOCAL_MACHINE,
"Software\\Mozilla\\Desktop",
stringName.get(), (char *)appPath.get());
}
}
}
else
rv = SetRegistryKey(HKEY_LOCAL_MACHINE,
"Software\\Mozilla\\Desktop",
"HKEY_LOCAL_MACHINE\\Software\\Clients\\Mail",
"");
return rv;
}
nsresult nsMapiRegistryUtils::saveUserDefaultMailClient()
{
nsresult rv;
nsCAutoString name ;
GetRegistryKey(HKEY_CURRENT_USER,"Software\\Clients\\Mail", "", name);
if (!name.IsEmpty()) {
rv = SetRegistryKey(HKEY_LOCAL_MACHINE,
"Software\\Mozilla\\Desktop",
"HKEY_CURRENT_USER\\Software\\Clients\\Mail",
(char *)name.get());
}
else {
rv = SetRegistryKey(HKEY_LOCAL_MACHINE,
"Software\\Mozilla\\Desktop",
"HKEY_CURRENT_USER\\Software\\Clients\\Mail",
"");
}
return rv;
}
/**
* Check whether it is a smart dll or not. Smart dll is the one installed by
* IE5 or Outlook Express which forwards the MAPI calls to the dll based on the
* registry key setttings.
* Returns TRUE if is a smart dll.
*/
typedef HRESULT (FAR PASCAL GetOutlookVersionFunc)();
PRBool nsMapiRegistryUtils::isSmartDll()
{
char buffer[MAX_PATH] = {0};
if (GetSystemDirectory(buffer, sizeof(buffer)) == 0)
return PR_FALSE;
PL_strcatn(buffer, sizeof(buffer), "\\Mapi32.dll");
HINSTANCE hInst;
GetOutlookVersionFunc *doesExist = nsnull;
hInst = LoadLibrary(buffer);
if (hInst == nsnull)
return PR_FALSE;
doesExist = (GetOutlookVersionFunc *) GetProcAddress (hInst, "GetOutlookVersion");
FreeLibrary(hInst);
return (doesExist != nsnull);
}
typedef HRESULT (FAR PASCAL GetMapiDllVersion)();
/**
* Checks whether mapi32.dll is installed by this app.
* Returns TRUE if it is.
*/
PRBool nsMapiRegistryUtils::isMozDll()
{
char buffer[MAX_PATH] = {0};
if (GetSystemDirectory(buffer, sizeof(buffer)) == 0)
return PR_FALSE;
PL_strcatn(buffer, sizeof(buffer), "\\Mapi32.dll");
HINSTANCE hInst;
GetMapiDllVersion *doesExist = nsnull;
hInst = LoadLibrary(buffer);
if (hInst == nsnull)
return PR_FALSE;
doesExist = (GetMapiDllVersion *) GetProcAddress (hInst, "GetMapiDllVersion");
FreeLibrary(hInst);
return (doesExist != nsnull);
}
/** Renames Mapi32.dl in system directory to Mapi32_moz_bak.dll
* copies the mozMapi32.dll from bin directory to the system directory
*/
nsresult nsMapiRegistryUtils::CopyMozMapiToWinSysDir()
{
nsresult rv;
char buffer[MAX_PATH] = {0};
if (GetSystemDirectory(buffer, sizeof(buffer)) == 0)
return NS_ERROR_FAILURE;
nsCAutoString filePath(buffer);
filePath.Append("\\Mapi32_moz_bak.dll");
nsCOMPtr<nsILocalFile> pCurrentMapiFile = do_CreateInstance (NS_LOCAL_FILE_CONTRACTID, &rv);
if (NS_FAILED(rv) || !pCurrentMapiFile) return rv;
pCurrentMapiFile->InitWithPath(filePath.get());
nsCOMPtr<nsIFile> pMozMapiFile;
nsCOMPtr<nsIProperties> directoryService =
do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv);
if (!directoryService) return NS_ERROR_FAILURE;
rv = directoryService->Get(NS_OS_CURRENT_PROCESS_DIR,
NS_GET_IID(nsIFile),
getter_AddRefs(pMozMapiFile));
if (NS_FAILED(rv)) return rv;
pMozMapiFile->Append("mozMapi32.dll");
PRBool bExist;
rv = pMozMapiFile->Exists(&bExist);
if (NS_FAILED(rv) || !bExist) return rv;
rv = pCurrentMapiFile->Exists(&bExist);
if (NS_SUCCEEDED(rv) && bExist)
{
rv = pCurrentMapiFile->Remove(PR_FALSE);
}
if (NS_FAILED(rv)) return rv;
filePath.Assign(buffer);
filePath.Append("\\Mapi32.dll");
pCurrentMapiFile->InitWithPath(filePath.get());
rv = pCurrentMapiFile->Exists(&bExist);
if (NS_SUCCEEDED(rv) && bExist)
{
rv = pCurrentMapiFile->MoveTo(nsnull, "Mapi32_moz_bak.dll");
if (NS_FAILED(rv)) return rv;
nsCAutoString fullFilePath(buffer);
fullFilePath.Append("\\Mapi32_moz_bak.dll");
rv = SetRegistryKey(HKEY_LOCAL_MACHINE,
"Software\\Mozilla\\Desktop",
"Mapi_backup_dll",
(char *)fullFilePath.get());
if (NS_FAILED(rv)) {
RestoreBackedUpMapiDll();
return rv;
}
}
NS_NAMED_LITERAL_STRING(fileName, "Mapi32.dll");
filePath.Assign(buffer);
pCurrentMapiFile->InitWithPath(filePath.get());
rv = pMozMapiFile->CopyToUnicode(pCurrentMapiFile, fileName.get());
if (NS_FAILED(rv))
RestoreBackedUpMapiDll();
return rv;
}
/** deletes the Mapi32.dll in system directory and renames Mapi32_moz_bak.dll
* to Mapi32.dll
*/
nsresult nsMapiRegistryUtils::RestoreBackedUpMapiDll()
{
nsresult rv;
char buffer[MAX_PATH] = {0};
if (GetSystemDirectory(buffer, sizeof(buffer)) == 0)
return NS_ERROR_FAILURE;
nsCAutoString filePath(buffer);
nsCAutoString previousFileName(buffer);
filePath.Append("\\Mapi32.dll");
previousFileName.Append("\\Mapi32_moz_bak.dll");
nsCOMPtr <nsILocalFile> pCurrentMapiFile = do_CreateInstance(NS_LOCAL_FILE_CONTRACTID, &rv);
if (NS_FAILED(rv) || !pCurrentMapiFile) return NS_ERROR_FAILURE;
pCurrentMapiFile->InitWithPath(filePath.get());
nsCOMPtr<nsILocalFile> pPreviousMapiFile = do_CreateInstance (NS_LOCAL_FILE_CONTRACTID, &rv);
if (NS_FAILED(rv) || !pPreviousMapiFile) return NS_ERROR_FAILURE;
pPreviousMapiFile->InitWithPath(previousFileName.get());
PRBool bExist;
rv = pCurrentMapiFile->Exists(&bExist);
if (NS_SUCCEEDED(rv) && bExist) {
rv = pCurrentMapiFile->Remove(PR_FALSE);
if (NS_FAILED(rv)) return rv;
}
rv = pPreviousMapiFile->Exists(&bExist);
if (NS_SUCCEEDED(rv) && bExist)
rv = pPreviousMapiFile->MoveTo(nsnull, "Mapi32.dll");
if (NS_SUCCEEDED(rv))
DeleteRegistryValue(HKEY_LOCAL_MACHINE,
"Software\\Mozilla\\Desktop",
"Mapi_backup_dll");
return rv;
}
/** Sets Mozilla as default Mail Client
*/
nsresult nsMapiRegistryUtils::setDefaultMailClient()
{
nsresult rv;
nsresult mailKeySet=NS_ERROR_FAILURE;
if (verifyRestrictedAccess()) return NS_ERROR_FAILURE;
if (!isSmartDll()) {
if (NS_FAILED(CopyMozMapiToWinSysDir())) return NS_ERROR_FAILURE;
}
rv = saveDefaultMailClient();
if (NS_FAILED(saveUserDefaultMailClient()) ||
NS_FAILED(rv)) return NS_ERROR_FAILURE;
nsCAutoString keyName("Software\\Clients\\Mail\\");
nsCAutoString appName (NS_ConvertUCS2toUTF8(brandName()).get());
if (!appName.IsEmpty()) {
keyName.Append(appName.get());
nsCOMPtr<nsIStringBundle> bundle;
rv = MakeMapiStringBundle (getter_AddRefs (bundle)) ;
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
nsXPIDLString defaultMailTitle;
const PRUnichar *keyValuePrefixStr[] = { brandName(), versionNo() };
NS_NAMED_LITERAL_STRING(defaultMailTitleTag, "defaultMailDisplayTitle");
rv = bundle->FormatStringFromName(defaultMailTitleTag.get(),
keyValuePrefixStr, 2,
getter_Copies(defaultMailTitle));
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
rv = SetRegistryKey(HKEY_LOCAL_MACHINE,
keyName.get(),
"", NS_CONST_CAST(char *, NS_ConvertUCS2toUTF8(defaultMailTitle).get()) ) ;
}
else
rv = NS_ERROR_FAILURE;
if (NS_SUCCEEDED(rv)) {
nsCAutoString thisApp (thisApplication()) ;
if (NS_FAILED(rv)) return rv ;
nsCAutoString dllPath (thisApp) ;
PRInt32 index = dllPath.RFind("\\");
if (index != kNotFound)
dllPath.Truncate(index + 1);
dllPath += "mozMapi32.dll";
rv = SetRegistryKey(HKEY_LOCAL_MACHINE,
keyName.get(), "DLLPath",
(char *)dllPath.get());
if (NS_SUCCEEDED(rv)) {
keyName.Append("\\protocols\\mailto");
rv = SetRegistryKey(HKEY_LOCAL_MACHINE,
keyName.get(),
"", "URL:MailTo Protocol");
if (NS_SUCCEEDED(rv)) {
nsCAutoString appPath (thisApp);
appPath += " \"%1\"";
keyName.Append("\\shell\\open\\command");
rv = SetRegistryKey(HKEY_LOCAL_MACHINE,
keyName.get(),
"", (char *)appPath.get());
if (NS_SUCCEEDED(rv)) {
rv = SetRegistryKey(HKEY_LOCAL_MACHINE,
"Software\\Clients\\Mail",
"", (char *)appName.get());
}
if (NS_SUCCEEDED(rv)) {
nsCAutoString mailAppPath(thisApp);
mailAppPath += " -mail";
nsCAutoString appKeyName ("Software\\Clients\\Mail\\");
appKeyName.Append(appName.get());
appKeyName.Append("\\shell\\open\\command");
rv = SetRegistryKey(HKEY_LOCAL_MACHINE,
appKeyName.get(),
"", (char *)mailAppPath.get());
}
if (NS_SUCCEEDED(rv)) {
nsCAutoString iconPath(thisApp);
iconPath += ",0";
nsCAutoString iconKeyName ("Software\\Clients\\Mail\\");
iconKeyName.Append(appName.get());
iconKeyName.Append("\\DefaultIcon");
mailKeySet = SetRegistryKey(HKEY_LOCAL_MACHINE,
iconKeyName.get(),
"", (char *)iconPath.get());
}
}
}
}
if (NS_SUCCEEDED(mailKeySet)) {
nsresult desktopKeySet = SetRegistryKey(HKEY_CURRENT_USER,
"Software\\Clients\\Mail",
"", (char *)appName.get());
if (NS_SUCCEEDED(desktopKeySet)) {
desktopKeySet = SetRegistryKey(HKEY_LOCAL_MACHINE,
"Software\\Mozilla\\Desktop",
"defaultMailHasBeenSet", "1");
}
::SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0,
(LPARAM)"Software\\Clients\\Mail");
RegisterServer(CLSID_CMapiImp, "Mozilla MAPI", "mozMapi", "mozMapi.1");
return desktopKeySet;
}
return mailKeySet;
}
/** Removes Mozilla as the default Mail client and restores the previous setting
*/
nsresult nsMapiRegistryUtils::unsetDefaultMailClient() {
nsresult result = NS_OK;
nsresult mailKeySet = NS_ERROR_FAILURE;
if (verifyRestrictedAccess()) return NS_ERROR_FAILURE;
if (!isSmartDll()) {
if (NS_FAILED(RestoreBackedUpMapiDll())) return NS_ERROR_FAILURE;
}
nsCAutoString name ;
GetRegistryKey(HKEY_LOCAL_MACHINE, "Software\\Mozilla\\Desktop",
"HKEY_LOCAL_MACHINE\\Software\\Clients\\Mail", name);
nsCAutoString appName (NS_ConvertUCS2toUTF8(brandName()).get());
if (!name.IsEmpty() && !appName.IsEmpty() && name.Equals(appName)) {
nsCAutoString keyName("HKEY_LOCAL_MACHINE\\Software\\Clients\\Mail\\");
keyName.Append(appName.get());
keyName.Append("\\protocols\\mailto\\shell\\open\\command");
nsCAutoString appPath ;
GetRegistryKey(HKEY_LOCAL_MACHINE, "Software\\Mozilla\\Desktop",
keyName.get(), appPath);
if (!appPath.IsEmpty()) {
keyName.Assign("Software\\Clients\\Mail\\");
keyName.Append(appName.get());
keyName.Append("\\protocols\\mailto\\shell\\open\\command");
result = SetRegistryKey(HKEY_LOCAL_MACHINE,
keyName.get(),
"", (char *)appPath.get());
if (NS_SUCCEEDED(result)) {
PRInt32 index = appPath.RFind("\\");
if (index != kNotFound)
appPath.Truncate(index + 1);
appPath += "mozMapi32.dll";
keyName.Assign("Software\\Clients\\Mail\\");
keyName.Append(appName.get());
result = SetRegistryKey(HKEY_LOCAL_MACHINE,
keyName.get(),
"DLLPath", (char *) appPath.get());
}
}
}
if (!name.IsEmpty()) {
if (NS_SUCCEEDED(result)) {
mailKeySet = SetRegistryKey(HKEY_LOCAL_MACHINE,
"Software\\Clients\\Mail",
"", (char *)name.get());
}
}
else
mailKeySet = SetRegistryKey(HKEY_LOCAL_MACHINE,
"Software\\Clients\\Mail",
"", "");
if (NS_SUCCEEDED(mailKeySet)) {
nsCAutoString userAppName ;
GetRegistryKey(HKEY_LOCAL_MACHINE,
"Software\\Mozilla\\Desktop",
"HKEY_CURRENT_USER\\Software\\Clients\\Mail", userAppName);
nsresult desktopKeySet = NS_OK;
if (!userAppName.IsEmpty()) {
desktopKeySet = SetRegistryKey(HKEY_CURRENT_USER,
"Software\\Clients\\Mail",
"", (char *)userAppName.get());
}
else {
DeleteRegistryValue(HKEY_CURRENT_USER, "Software\\Clients\\Mail", "");
}
if (NS_SUCCEEDED(desktopKeySet)) {
desktopKeySet = SetRegistryKey(HKEY_LOCAL_MACHINE,
"Software\\Mozilla\\Desktop",
"defaultMailHasBeenSet", "0");
}
::SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0,
(LPARAM)"Software\\Clients\\Mail");
UnregisterServer(CLSID_CMapiImp, "mozMapi", "mozMapi.1");
return desktopKeySet;
}
return mailKeySet;
}
/** Returns FALSE if showMapiDialog is set to 0.
* Returns TRUE otherwise
* Also returns TRUE if the Mozilla has been set as the default mail client
* and some other application has changed that setting.
* This function gets called only if the current app is not the default mail
* client
*/
PRBool nsMapiRegistryUtils::getShowDialog() {
PRBool rv = PR_FALSE;
nsCAutoString showDialog ;
GetRegistryKey(HKEY_LOCAL_MACHINE, "Software\\Mozilla\\Desktop",
"showMapiDialog", showDialog);
// if the user has not selected the checkbox, show dialog
if (showDialog.IsEmpty() || showDialog.Equals("1"))
rv = PR_TRUE;
if (!rv) {
// even if the user has selected the checkbox
// show it if some other application has changed the
// default setting.
nsCAutoString setMailDefault ;
GetRegistryKey(HKEY_LOCAL_MACHINE,"Software\\Mozilla\\Desktop",
"defaultMailHasBeenSet", setMailDefault);
if (setMailDefault.Equals("1")) {
// need to reset the defaultMailHasBeenSet to "0"
// so that after the dialog is displayed once,
// we do not keep displaying this dialog after the user has
// selected the checkbox
rv = SetRegistryKey(HKEY_LOCAL_MACHINE,
"Software\\Mozilla\\Desktop",
"defaultMailHasBeenSet", "0");
rv = PR_TRUE;
}
}
return rv;
}
nsresult nsMapiRegistryUtils::MakeMapiStringBundle(nsIStringBundle ** aMapiStringBundle)
{
nsresult rv = NS_OK ;
if (m_mapiStringBundle)
{
*aMapiStringBundle = m_mapiStringBundle ;
NS_ADDREF(*aMapiStringBundle);
return rv ;
}
nsCOMPtr<nsIStringBundleService> bundleService(do_GetService(
kStringBundleServiceCID, &rv));
if (NS_FAILED(rv) || !bundleService) return NS_ERROR_FAILURE;
rv = bundleService->CreateBundle(
MAPI_PROPERTIES_CHROME,
getter_AddRefs(m_mapiStringBundle));
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
NS_ADDREF(*aMapiStringBundle = m_mapiStringBundle) ;
return rv ;
}
nsresult nsMapiRegistryUtils::ShowMapiErrorDialog()
{
nsresult rv;
nsCOMPtr<nsIPromptService> promptService(do_GetService(
"@mozilla.org/embedcomp/prompt-service;1", &rv));
if (NS_SUCCEEDED(rv) && promptService)
{
nsCOMPtr<nsIStringBundle> bundle;
rv = MakeMapiStringBundle (getter_AddRefs (bundle)) ;
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
nsXPIDLString dialogTitle;
const PRUnichar *brandStrings[] = { brandName() };
NS_NAMED_LITERAL_STRING(dialogTitlePropertyTag, "errorMessageTitle");
rv = bundle->FormatStringFromName(dialogTitlePropertyTag.get(),
brandStrings, 1,
getter_Copies(dialogTitle));
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
nsXPIDLString dialogText;
NS_NAMED_LITERAL_STRING(dialogTextPropertyTag, "errorMessage");
rv = bundle->FormatStringFromName(dialogTextPropertyTag.get(),
brandStrings, 1,
getter_Copies(dialogText));
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
rv = promptService->Alert(nsnull, dialogTitle,
dialogText);
}
return rv;
}

View File

@@ -0,0 +1,112 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Srilatha Moturi <srilatha@netscape.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef nsmapiregistryutils_h____
#define nsmapiregistryutils_h____
#include <windows.h>
#include <string.h>
#include <winreg.h>
#include "Registry.h"
#include "nsString.h"
#include "nsIStringBundle.h"
class nsMapiRegistryUtils
{
private :
nsCAutoString m_thisApp ;
nsAutoString m_brand ;
nsAutoString m_versionNo ;
nsCOMPtr<nsIStringBundle> m_mapiStringBundle ;
public :
nsMapiRegistryUtils() ;
// returns TRUE if the Mapi32.dll is smart dll.
PRBool isSmartDll();
// returns TRUE if the Mapi32.dll is a Mozilla dll.
PRBool isMozDll();
// Returns the (fully-qualified) name of this executable.
const char * thisApplication() ;
// This returns the brand name for this application
const PRUnichar * brandName() ;
// This returns the version no for this application
const PRUnichar * versionNo() ;
// verifyRestrictedAccess - Returns PR_TRUE if this user only has restricted access
// to the registry keys we need to modify.
PRBool verifyRestrictedAccess() ;
// set the Windows registry key
nsresult SetRegistryKey(HKEY baseKey, const char * keyName,
const char * valueName, char * value);
// delete a registry key
nsresult DeleteRegistryValue(HKEY baseKey, const char * keyName,
const char * valueName);
// get a Windows registry key
void GetRegistryKey(HKEY baseKey, const char * keyName,
const char * valueName, nsCAutoString & value) ;
// Returns TRUE if the current application is default mail client.
PRBool IsDefaultMailClient();
// Sets Mozilla as default Mail Client
nsresult setDefaultMailClient() ;
// Removes Mozilla as the default Mail client and restores the previous setting
nsresult unsetDefaultMailClient() ;
// Saves the current setting of the default Mail Client in
// HKEY_LOCAL_MACHINE\\Software\\Mozilla\\Desktop
nsresult saveDefaultMailClient();
// Saves the current user setting of the default Mail Client in
// HKEY_LOCAL_MACHINE\\Software\\Mozilla\\Desktop
nsresult saveUserDefaultMailClient();
nsresult CopyMozMapiToWinSysDir();
nsresult RestoreBackedUpMapiDll();
// Returns FALSE if showMapiDialog is set to 0.
PRBool getShowDialog() ;
// create a string bundle for MAPI messages
nsresult MakeMapiStringBundle(nsIStringBundle ** aMapiStringBundle) ;
// display an error dialog for MAPI messages
nsresult ShowMapiErrorDialog() ;
} ;
#endif

View File

@@ -0,0 +1,30 @@
<?xml version="1.0"?>
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:chrome="http://www.mozilla.org/rdf/chrome#">
<!-- list all the packages being supplied by this jar -->
<RDF:Seq about="urn:mozilla:package:root">
<RDF:li resource="urn:mozilla:package:messenger-mapi"/>
</RDF:Seq>
<!-- package information -->
<RDF:Description about="urn:mozilla:package:messenger-mapi"
chrome:displayName="Messenger"
chrome:author="mozilla.org"
chrome:name="messenger-mapi"
chrome:localeVersion="0.9.7"
chrome:skinVersion="0.9.4">
</RDF:Description>
<!-- overlay information -->
<RDF:Seq about="urn:mozilla:overlays">
<RDF:li resource="chrome://messenger/content/pref-mailnews.xul"/>
</RDF:Seq>
<!-- mapi items for Mail And Newsgroups preferences pane -->
<RDF:Seq about="chrome://messenger/content/pref-mailnews.xul">
<RDF:li>chrome://messenger-mapi/content/pref-mailnewsOverlay.xul</RDF:li>
</RDF:Seq>
</RDF:RDF>

View File

@@ -0,0 +1,3 @@
messenger.jar:
content/messenger-mapi/pref-mailnewsOverlay.xul
content/messenger-mapi/contents.rdf

View File

@@ -0,0 +1,29 @@
#!nmake
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 2001 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
# Srilatha Moturi <srilatha@netscape.com>
#
DEPTH=..\..\..\..
include <$(DEPTH)\config\rules.mak>
chrome::
$(REGCHROME) content messenger-mapi messenger.jar

View File

@@ -0,0 +1,14 @@
<?xml version="1.0"?>
<RDF:RDF xmlns:chrome="http://www.mozilla.org/rdf/chrome#"
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<!-- mapi items for mailnews preferences -->
<RDF:Seq about="urn:mozilla:overlays">
<RDF:li resource="chrome://messenger/content/pref-mailnews.xul"/>
</RDF:Seq>
<RDF:Seq about="chrome://messenger/content/pref-mailnews.xul">
<RDF:li>chrome://messenger/content/pref-mailnewsOverlay.xul</RDF:li>
</RDF:Seq>
</RDF:RDF>

View File

@@ -0,0 +1,104 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 2001 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Srilatha Moturi <srilatha@netscape.com>
*/
function mailnewsOverlayStartup() {
mailnewsOverlayInit();
parent.hPrefWindow.registerOKCallbackFunc(onOK);
if (!("mapiPref" in parent)) {
parent.mapiPref = new Object;
parent.mapiPref.isDefaultMailClient =
document.getElementById("mailnewsEnableMapi").checked;
}
else {
// when we switch between different panes
// set the checkbox based on the saved state
var mailnewsEnableMapi = document.getElementById("mailnewsEnableMapi");
if (parent.mapiPref.isDefaultMailClient)
mailnewsEnableMapi.setAttribute("checked", "true");
else
mailnewsEnableMapi.setAttribute("checked", "false");
}
}
function mailnewsOverlayInit() {
try {
var mapiRegistry = Components.classes[ "@mozilla.org/mapiregistry;1" ].
getService( Components.interfaces.nsIMapiRegistry );
}
catch(ex){
mapiRegistry = null;
}
const prefbase = "system.windows.lock_ui.";
var mailnewsEnableMapi = document.getElementById("mailnewsEnableMapi");
if (mapiRegistry) {
// initialise preference component.
// While the data is coming from the system registry, we use a set
// of parallel preferences to indicate if the ui should be locked.
try {
var prefService = Components.classes["@mozilla.org/preferences-service;1"]
.getService()
.QueryInterface(Components.interfaces.nsIPrefService);
var prefBranch = prefService.getBranch(prefbase);
if (prefBranch && prefBranch.prefIsLocked("default_mail_client")) {
if (prefBranch.getBoolPref("default_mail_client"))
mapiRegistry.setDefaultMailClient();
else
mapiRegistry.unsetDefaultMailClient();
mailnewsEnableMapi.setAttribute("disabled", "true");
}
}
catch(ex) {}
if (mapiRegistry.isDefaultMailClient)
mailnewsEnableMapi.setAttribute("checked", "true");
else
mailnewsEnableMapi.setAttribute("checked", "false");
}
else
mailnewsEnableMapi.setAttribute("disabled", "true");
}
function onEnableMapi() {
// save the state of the checkbox
if ("mapiPref" in parent)
parent.mapiPref.isDefaultMailClient =
document.getElementById("mailnewsEnableMapi").checked;
}
function onOK()
{
try {
var mapiRegistry = Components.classes[ "@mozilla.org/mapiregistry;1" ].
getService( Components.interfaces.nsIMapiRegistry );
}
catch(ex){
mapiRegistry = null;
}
if (mapiRegistry &&
("mapiPref" in parent) &&
(mapiRegistry.isDefaultMailClient != parent.mapiPref.isDefaultMailClient)) {
if (parent.mapiPref.isDefaultMailClient)
mapiRegistry.setDefaultMailClient();
else
mapiRegistry.unsetDefaultMailClient();
}
}

View File

@@ -0,0 +1,44 @@
<?xml version="1.0"?>
<!--
The contents of this file are subject to the Mozilla Public
License Version 1.1 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of
the License at http://www.mozilla.org/MPL/
oftware distributed under the License is distributed on an "AS
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing
rights and limitations under the License.
The Original Code is mozilla.org code.
The Initial Developer of the Original Code is Netscape
Communications Corporation. Portions created by Netscape are
Copyright (C) 2001 Netscape Communications Corporation. All
Rights Reserved.
Contributor(s):
Srilatha Moturi <srilatha@netscape.com>
-->
<!DOCTYPE window [
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd" >
%brandDTD;
<!ENTITY % prefMailnewsOverlayDTD SYSTEM "chrome://messenger-mapi/locale/pref-mailnewsOverlay.dtd" >
%prefMailnewsOverlayDTD;
]>
<overlay id="prefMailnewsOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript">
<![CDATA[
_elementIDs.push("mailnewsEnableMapi");
]]>
</script>
<script type="application/x-javascript" src="chrome://messenger-mapi/content/pref-mailnewsOverlay.js"/>
<hbox autostretch="never" id="mapi">
<checkbox id="mailnewsEnableMapi" label="&enableMapi.label;"
accesskey="&enableMapi.accesskey;"
preftype="bool" prefstring="mailnews.default_mail_client" prefattribute="checked"/>
</hbox>
</overlay>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0"?>
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:chrome="http://www.mozilla.org/rdf/chrome#">
<!-- list all the skins being supplied by this package -->
<RDF:Seq about="urn:mozilla:locale:root">
<RDF:li resource="urn:mozilla:locale:en-US"/>
</RDF:Seq>
<!-- locale information -->
<RDF:Description about="urn:mozilla:locale:en-US">
<chrome:packages>
<RDF:Seq about="urn:mozilla:locale:en-US:packages">
<RDF:li resource="urn:mozilla:locale:en-US:messenger-mapi"/>
</RDF:Seq>
</chrome:packages>
</RDF:Description>
<!-- Version Information. State that we work only with major version of this
package. -->
<RDF:Description about="urn:mozilla:locale:en-US:messenger-mapi"
chrome:localeVersion="0.9.7"/>
</RDF:RDF>

View File

@@ -0,0 +1,4 @@
en-US.jar:
locale/en-US/messenger-mapi/pref-mailnewsOverlay.dtd
locale/en-US/messenger-mapi/mapi.properties
locale/en-US/messenger-mapi/contents.rdf

View File

@@ -0,0 +1,40 @@
#!nmake
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 2001 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
# Srilatha Moturi <srilatha@netscape.com>
#
DEPTH=..\..\..\..\..
CHROME_DIR=locales\en-US
CHROME_L10N_DIR=messenger\locale
CHROME_L10N = \
.\pref-mailnewsOverlay.dtd \
.\mapi.properties \
.\contents.rdf \
$(NULL)
include <$(DEPTH)\config\rules.mak>
chrome::
$(REGCHROME) locale en-US/messenger-mapi en-US.jar

View File

@@ -0,0 +1,23 @@
# Mail Integration Dialog
dialogTitle=%S Mail
dialogText=Do you want to use %S as the default mail application?
checkboxText=Do not display this dialog again
# MAPI Messages
loginText=Please enter your password for %S:
loginTextwithName=Please enter your username and password
loginTitle=%S Mail
PasswordTitle=%S Mail
# MAPI Error Messages
errorMessage=%S Mail could not be set as the default mail application because a registry key could not be updated. Verify with your system administrator that you have write access to your system registry, and then try again.
errorMessageTitle=%S Mail
# MAPI Security Messages
mapiBlindSendWarning=Another application is attempting to send mail using your user profile. Are you sure you want to send mail?
mapiBlindSendDontShowAgain=Warn me whenever other applications try to send mail from me
#Default Mail Display String
# localization note, $1%S is the app name, $2%S is the version
defaultMailDisplayTitle=%S %S Mail

View File

@@ -0,0 +1,3 @@
<!ENTITY enableMapiTitle.label "When sending mail from other applications">
<!ENTITY enableMapi.label "Use &vendorShortName; Mail as the default mail application.">
<!ENTITY enableMapi.accesskey "u">

View File

@@ -0,0 +1,28 @@
#!nmake
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 2001 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
# Srilatha Moturi <srilatha@netscape.com>
#
DEPTH=..\..\..\..
DIRS=en-US
include <$(DEPTH)\config\rules.mak>

View File

@@ -0,0 +1,27 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 2001 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
# Srilatha Moturi <srilatha@netscape.com>
#
DEPTH=..\..\..
DIRS=content locale
include <$(DEPTH)\config\rules.mak>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 B

View File

@@ -1,114 +0,0 @@
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
# Myk Melez <myk@mozilla.org>
############################################################################
# Module Initialization
############################################################################
use diagnostics;
use strict;
package Attachment;
# Use the template toolkit (http://www.template-toolkit.org/) to generate
# the user interface (HTML pages and mail messages) using templates in the
# "templates/" subdirectory.
use Template;
# This is the global template object that gets used one or more times by
# the script when it needs to process a template and return the results.
# Configuration parameters can be specified here that apply to all templates
# processed in this file.
my $template = Template->new(
{
# Colon-separated list of directories containing templates.
INCLUDE_PATH => 'template/custom:template/default' ,
# Allow templates to be specified with relative paths.
RELATIVE => 1
}
);
# This module requires that its caller have said "require CGI.pl" to import
# relevant functions from that script and its companion globals.pl.
############################################################################
# Functions
############################################################################
sub list
{
# Displays a table of attachments for a given bug along with links for
# viewing, editing, or making requests for each attachment.
my ($bugid) = @_;
# Retrieve a list of attachments for this bug and write them into an array
# of hashes in which each hash represents a single attachment.
&::SendSQL("
SELECT attach_id, creation_ts, mimetype, description, ispatch, isobsolete
FROM attachments WHERE bug_id = $bugid ORDER BY attach_id
");
my @attachments = ();
while (&::MoreSQLData()) {
my %a;
($a{'attachid'}, $a{'date'}, $a{'contenttype'}, $a{'description'}, $a{'ispatch'}, $a{'isobsolete'}) = &::FetchSQLData();
# Format the attachment's creation/modification date into a standard
# format (YYYY-MM-DD HH:MM)
if ($a{'date'} =~ /^(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/) {
$a{'date'} = "$1-$2-$3 $4:$5";
}
# Retrieve a list of status flags that have been set on the attachment.
&::PushGlobalSQLState();
&::SendSQL("
SELECT name
FROM attachstatuses, attachstatusdefs
WHERE attach_id = $a{'attachid'}
AND attachstatuses.statusid = attachstatusdefs.id
ORDER BY sortkey
");
my @statuses = ();
while (&::MoreSQLData()) {
my ($status) = &::FetchSQLData();
push @statuses , $status;
}
$a{'statuses'} = \@statuses;
&::PopGlobalSQLState();
push @attachments, \%a;
}
my $vars =
{
'bugid' => $bugid ,
'attachments' => \@attachments ,
'Param' => \&::Param , # for retrieving global parameters
'PerformSubsts' => \&::PerformSubsts # for processing global parameters
};
$template->process("attachment/list.atml", $vars)
|| &::DisplayError("Template process failed: " . $template->error())
&& exit;
}

View File

@@ -1,517 +0,0 @@
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Dawn Endico <endico@mozilla.org>
# Terry Weissman <terry@mozilla.org>
# Chris Yeh <cyeh@bluemartini.com>
use diagnostics;
use strict;
use DBI;
use RelationSet;
use vars qw($unconfirmedstate $legal_keywords);
require "globals.pl";
require "CGI.pl";
package Bug;
use CGI::Carp qw(fatalsToBrowser);
my %ok_field;
for my $key (qw (bug_id product version rep_platform op_sys bug_status
resolution_id priority bug_severity component assigned_to
reporter bug_file_loc short_desc target_milestone
qa_contact status_whiteboard creation_ts groupset
delta_ts votes whoid usergroupset comment query error) ){
$ok_field{$key}++;
}
# create a new empty bug
#
sub new {
my $type = shift();
my %bug;
# create a ref to an empty hash and bless it
#
my $self = {%bug};
bless $self, $type;
# construct from a hash containing a bug's info
#
if ($#_ == 1) {
$self->initBug(@_);
} else {
confess("invalid number of arguments \($#_\)($_)");
}
# bless as a Bug
#
return $self;
}
# dump info about bug into hash unless user doesn't have permission
# user_id 0 is used when person is not logged in.
#
sub initBug {
my $self = shift();
my ($bug_id, $user_id) = (@_);
my $old_bug_id = $bug_id;
if ((! defined $bug_id) || (!$bug_id) || (!&::detaint_natural($bug_id))) {
# no bug number given
$self->{'bug_id'} = $old_bug_id;
$self->{'error'} = "InvalidBugId";
return $self;
}
# default userid 0, or get DBID if you used an email address
unless (defined $user_id) {
$user_id = 0;
}
else {
if ($user_id =~ /^\@/) {
$user_id = &::DBname_to_id($user_id);
}
}
&::ConnectToDatabase();
&::GetVersionTable();
# this verification should already have been done by caller
# my $loginok = quietly_check_login();
$self->{'whoid'} = $user_id;
&::SendSQL("SELECT groupset FROM profiles WHERE userid=$self->{'whoid'}");
my $usergroupset = &::FetchOneColumn();
if (!$usergroupset) { $usergroupset = '0' }
$self->{'usergroupset'} = $usergroupset;
my $query = "
select
bugs.bug_id, product, version, rep_platform, op_sys, bug_status,
resolution_id, priority, bug_severity, component, assigned_to, reporter,
bug_file_loc, short_desc, target_milestone, qa_contact,
status_whiteboard, date_format(creation_ts,'%Y-%m-%d %H:%i'),
groupset, delta_ts, sum(votes.count)
from bugs left join votes using(bug_id)
where bugs.bug_id = $bug_id
group by bugs.bug_id";
&::SendSQL(&::SelectVisible($query, $user_id, $usergroupset));
my @row;
if (@row = &::FetchSQLData()) {
my $count = 0;
my %fields;
foreach my $field ("bug_id", "product", "version", "rep_platform",
"op_sys", "bug_status", "resolution_id", "priority",
"bug_severity", "component", "assigned_to", "reporter",
"bug_file_loc", "short_desc", "target_milestone",
"qa_contact", "status_whiteboard", "creation_ts",
"groupset", "delta_ts", "votes") {
$fields{$field} = shift @row;
if ($fields{$field}) {
$self->{$field} = $fields{$field};
}
$count++;
}
} else {
&::SendSQL("select groupset from bugs where bug_id = $bug_id");
if (@row = &::FetchSQLData()) {
$self->{'bug_id'} = $bug_id;
$self->{'error'} = "NotPermitted";
return $self;
} else {
$self->{'bug_id'} = $bug_id;
$self->{'error'} = "NotFound";
return $self;
}
}
$self->{'assigned_to'} = &::DBID_to_name($self->{'assigned_to'});
$self->{'reporter'} = &::DBID_to_name($self->{'reporter'});
my $ccSet = new RelationSet;
$ccSet->mergeFromDB("select who from cc where bug_id=$bug_id");
my @cc = $ccSet->toArrayOfStrings();
if (@cc) {
$self->{'cc'} = \@cc;
}
if (&::Param("useqacontact") && (defined $self->{'qa_contact'}) ) {
my $name = $self->{'qa_contact'} > 0 ? &::DBID_to_name($self->{'qa_contact'}) :"";
if ($name) {
$self->{'qa_contact'} = $name;
}
}
if (@::legal_keywords) {
&::SendSQL("SELECT keyworddefs.name
FROM keyworddefs, keywords
WHERE keywords.bug_id = $bug_id
AND keyworddefs.id = keywords.keywordid
ORDER BY keyworddefs.name");
my @list;
while (&::MoreSQLData()) {
push(@list, &::FetchOneColumn());
}
if (@list) {
$self->{'keywords'} = join(', ', @list);
}
}
&::SendSQL("select attach_id, creation_ts, description
from attachments
where bug_id = $bug_id");
my @attachments;
while (&::MoreSQLData()) {
my ($attachid, $date, $desc) = (&::FetchSQLData());
if ($date =~ /^(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/) {
$date = "$3/$4/$2 $5:$6";
my %attach;
$attach{'attachid'} = $attachid;
$attach{'date'} = $date;
$attach{'desc'} = $desc;
push @attachments, \%attach;
}
}
if (@attachments) {
$self->{'attachments'} = \@attachments;
}
&::SendSQL("select bug_id, who, bug_when, thetext
from longdescs
where bug_id = $bug_id");
my @longdescs;
while (&::MoreSQLData()) {
my ($bug_id, $who, $bug_when, $thetext) = (&::FetchSQLData());
my %longdesc;
$longdesc{'who'} = $who;
$longdesc{'bug_when'} = $bug_when;
$longdesc{'thetext'} = $thetext;
push @longdescs, \%longdesc;
}
if (@longdescs) {
$self->{'longdescs'} = \@longdescs;
}
if (&::Param("usedependencies")) {
my @depends = EmitDependList("blocked", "dependson", $bug_id);
if ( @depends ) {
$self->{'dependson'} = \@depends;
}
my @blocks = EmitDependList("dependson", "blocked", $bug_id);
if ( @blocks ) {
$self->{'blocks'} = \@blocks;
}
}
return $self;
}
# given a bug hash, emit xml for it. with file header provided by caller
#
sub emitXML {
( $#_ == 0 ) || confess("invalid number of arguments");
my $self = shift();
my $xml;
if (exists $self->{'error'}) {
$xml .= "<bug error=\"$self->{'error'}\">\n";
$xml .= " <bug_id>$self->{'bug_id'}</bug_id>\n";
$xml .= "</bug>\n";
return $xml;
}
$xml .= "<bug>\n";
foreach my $field ("bug_id", "urlbase", "bug_status", "product",
"priority", "version", "rep_platform", "assigned_to", "delta_ts",
"component", "reporter", "target_milestone", "bug_severity",
"creation_ts", "qa_contact", "op_sys", "resolution_id", "bug_file_loc",
"short_desc", "keywords", "status_whiteboard") {
if ($self->{$field}) {
$xml .= " <$field>" . QuoteXMLChars($self->{$field}) . "</$field>\n";
}
}
foreach my $field ("dependson", "blocks", "cc") {
if (defined $self->{$field}) {
for (my $i=0 ; $i < @{$self->{$field}} ; $i++) {
$xml .= " <$field>" . $self->{$field}[$i] . "</$field>\n";
}
}
}
if (defined $self->{'longdescs'}) {
for (my $i=0 ; $i < @{$self->{'longdescs'}} ; $i++) {
$xml .= " <long_desc>\n";
$xml .= " <who>" . &::DBID_to_name($self->{'longdescs'}[$i]->{'who'})
. "</who>\n";
$xml .= " <bug_when>" . $self->{'longdescs'}[$i]->{'bug_when'}
. "</bug_when>\n";
$xml .= " <thetext>" . QuoteXMLChars($self->{'longdescs'}[$i]->{'thetext'})
. "</thetext>\n";
$xml .= " </long_desc>\n";
}
}
if (defined $self->{'attachments'}) {
for (my $i=0 ; $i < @{$self->{'attachments'}} ; $i++) {
$xml .= " <attachment>\n";
$xml .= " <attachid>" . $self->{'attachments'}[$i]->{'attachid'}
. "</attachid>\n";
$xml .= " <date>" . $self->{'attachments'}[$i]->{'date'} . "</date>\n";
$xml .= " <desc>" . QuoteXMLChars($self->{'attachments'}[$i]->{'desc'}) . "</desc>\n";
# $xml .= " <type>" . $self->{'attachments'}[$i]->{'type'} . "</type>\n";
# $xml .= " <data>" . $self->{'attachments'}[$i]->{'data'} . "</data>\n";
$xml .= " </attachment>\n";
}
}
$xml .= "</bug>\n";
return $xml;
}
sub EmitDependList {
my ($myfield, $targetfield, $bug_id) = (@_);
my @list;
&::SendSQL("select dependencies.$targetfield, bugs.bug_status
from dependencies, bugs
where dependencies.$myfield = $bug_id
and bugs.bug_id = dependencies.$targetfield
order by dependencies.$targetfield");
while (&::MoreSQLData()) {
my ($i, $stat) = (&::FetchSQLData());
push @list, $i;
}
return @list;
}
sub QuoteXMLChars {
$_[0] =~ s/&/&amp;/g;
$_[0] =~ s/</&lt;/g;
$_[0] =~ s/>/&gt;/g;
$_[0] =~ s/'/&apos;/g;
$_[0] =~ s/"/&quot;/g;
# $_[0] =~ s/([\x80-\xFF])/&XmlUtf8Encode(ord($1))/ge;
return($_[0]);
}
sub XML_Header {
my ($urlbase, $version, $maintainer, $exporter) = (@_);
my $xml;
$xml = "<?xml version=\"1.0\" standalone=\"no\"?>\n";
$xml .= "<!DOCTYPE bugzilla SYSTEM \"$urlbase";
if (! ($urlbase =~ /.+\/$/)) {
$xml .= "/";
}
$xml .= "bugzilla.dtd\">\n";
$xml .= "<bugzilla";
if (defined $exporter) {
$xml .= " exporter=\"$exporter\"";
}
$xml .= " version=\"$version\"";
$xml .= " urlbase=\"$urlbase\"";
$xml .= " maintainer=\"$maintainer\">\n";
return ($xml);
}
sub XML_Footer {
return ("</bugzilla>\n");
}
sub UserInGroup {
my $self = shift();
my ($groupname) = (@_);
if ($self->{'usergroupset'} eq "0") {
return 0;
}
&::ConnectToDatabase();
&::SendSQL("select (bit & $self->{'usergroupset'}) != 0 from groups where name = "
. &::SqlQuote($groupname));
my $bit = &::FetchOneColumn();
if ($bit) {
return 1;
}
return 0;
}
sub CanChangeField {
my $self = shift();
my ($f, $oldvalue, $newvalue) = (@_);
my $UserInEditGroupSet = -1;
my $UserInCanConfirmGroupSet = -1;
my $ownerid;
my $reporterid;
my $qacontactid;
if ($f eq "assigned_to" || $f eq "reporter" || $f eq "qa_contact") {
if ($oldvalue =~ /^\d+$/) {
if ($oldvalue == 0) {
$oldvalue = "";
} else {
$oldvalue = &::DBID_to_name($oldvalue);
}
}
}
if ($oldvalue eq $newvalue) {
return 1;
}
if (&::trim($oldvalue) eq &::trim($newvalue)) {
return 1;
}
if ($f =~ /^longdesc/) {
return 1;
}
if ($UserInEditGroupSet < 0) {
$UserInEditGroupSet = UserInGroup($self, "editbugs");
}
if ($UserInEditGroupSet) {
return 1;
}
&::SendSQL("SELECT reporter, assigned_to, qa_contact FROM bugs " .
"WHERE bug_id = $self->{'bug_id'}");
($reporterid, $ownerid, $qacontactid) = (&::FetchSQLData());
# Let reporter change bug status, even if they can't edit bugs.
# If reporter can't re-open their bug they will just file a duplicate.
# While we're at it, let them close their own bugs as well.
if ( ($f eq "bug_status") && ($self->{'whoid'} eq $reporterid) ) {
return 1;
}
if ($f eq "bug_status" && $newvalue ne $::unconfirmedstate &&
&::IsOpenedState($newvalue)) {
# Hmm. They are trying to set this bug to some opened state
# that isn't the UNCONFIRMED state. Are they in the right
# group? Or, has it ever been confirmed? If not, then this
# isn't legal.
if ($UserInCanConfirmGroupSet < 0) {
$UserInCanConfirmGroupSet = &::UserInGroup("canconfirm");
}
if ($UserInCanConfirmGroupSet) {
return 1;
}
&::SendSQL("SELECT everconfirmed FROM bugs WHERE bug_id = $self->{'bug_id'}");
my $everconfirmed = FetchOneColumn();
if ($everconfirmed) {
return 1;
}
} elsif ($reporterid eq $self->{'whoid'} || $ownerid eq $self->{'whoid'} ||
$qacontactid eq $self->{'whoid'}) {
return 1;
}
$self->{'error'} = "
Only the owner or submitter of the bug, or a sufficiently
empowered user, may make that change to the $f field."
}
sub Collision {
my $self = shift();
my $write = "WRITE"; # Might want to make a param to control
# whether we do LOW_PRIORITY ...
&::SendSQL("LOCK TABLES bugs $write, bugs_activity $write, cc $write, " .
"cc AS selectVisible_cc $write, " .
"profiles $write, dependencies $write, votes $write, " .
"keywords $write, longdescs $write, fielddefs $write, " .
"keyworddefs READ, groups READ, attachments READ, products READ");
&::SendSQL("SELECT delta_ts FROM bugs where bug_id=$self->{'bug_id'}");
my $delta_ts = &::FetchOneColumn();
&::SendSQL("unlock tables");
if ($self->{'delta_ts'} ne $delta_ts) {
return 1;
}
else {
return 0;
}
}
sub AppendComment {
my $self = shift();
my ($comment) = (@_);
$comment =~ s/\r\n/\n/g; # Get rid of windows-style line endings.
$comment =~ s/\r/\n/g; # Get rid of mac-style line endings.
if ($comment =~ /^\s*$/) { # Nothin' but whitespace.
return;
}
&::SendSQL("INSERT INTO longdescs (bug_id, who, bug_when, thetext) " .
"VALUES($self->{'bug_id'}, $self->{'whoid'}, now(), " . &::SqlQuote($comment) . ")");
&::SendSQL("UPDATE bugs SET delta_ts = now() WHERE bug_id = $self->{'bug_id'}");
}
#from o'reilley's Programming Perl
sub display {
my $self = shift;
my @keys;
if (@_ == 0) { # no further arguments
@keys = sort keys(%$self);
} else {
@keys = @_; # use the ones given
}
foreach my $key (@keys) {
print "\t$key => $self->{$key}\n";
}
}
sub CommitChanges {
#snapshot bug
#snapshot dependencies
#check can change fields
#check collision
#lock and change fields
#notify through mail
}
sub AUTOLOAD {
use vars qw($AUTOLOAD);
my $self = shift;
my $type = ref($self) || $self;
my $attr = $AUTOLOAD;
$attr =~ s/.*:://;
return unless $attr=~ /[^A-Z]/;
if (@_) {
$self->{$attr} = shift;
return;
}
confess ("invalid bug attribute $attr") unless $ok_field{$attr};
if (defined $self->{$attr}) {
return $self->{$attr};
} else {
return '';
}
}
1;

File diff suppressed because it is too large Load Diff

View File

@@ -1,16 +0,0 @@
* This README is no longer used to house installation instructions. Instead,
it contains pointers to where you may find the information you need.
* Installation instructions are now found in docs/, with a variety of document
types available. Please refer to these documents when installing, configuring,
and maintaining your Bugzilla installation. A helpful starting point is
docs/txt/Bugzilla-Guide.txt, or with a web browser at docs/html/index.html.
* Release notes for people upgrading to a new version of Bugzilla are
available at docs/rel_notes.txt.
* If you wish to contribute to the documentation, please read docs/README.docs.
* The Bugzilla web site is at "http://www.mozilla.org/projects/bugzilla/".
This site will contain the latest Bugzilla information, including how to
report bugs and how to get help with Bugzilla.

View File

@@ -1,268 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Dan Mosedale <dmose@mozilla.org>
# Terry Weissman <terry@mozilla.org>
# Dave Miller <justdave@syndicomm.com>
# This object models a set of relations between one item and a group
# of other items. An example is the set of relations between one bug
# and the users CCed on that bug. Currently, the relation objects are
# expected to be bugzilla userids. However, this could and perhaps
# should be generalized to work with non userid objects, such as
# keywords associated with a bug. That shouldn't be hard to do; it
# might involve turning this into a virtual base class, and having
# UserSet and KeywordSet types that inherit from it.
use diagnostics;
use strict;
# Everything that uses RelationSet should already have globals.pl loaded
# so we don't want to load it here. Doing so causes a loop in Perl because
# globals.pl turns around and does a 'use RelationSet'
# See http://bugzilla.mozilla.org/show_bug.cgi?id=72862
#require "globals.pl";
package RelationSet;
use CGI::Carp qw(fatalsToBrowser);
# create a new empty RelationSet
#
sub new {
my $type = shift();
# create a ref to an empty hash and bless it
#
my $self = {};
bless $self, $type;
# construct from a comma-delimited string
#
if ($#_ == 0) {
$self->mergeFromString($_[0]);
}
# unless this was a constructor for an empty list, somebody screwed up.
#
elsif ( $#_ != -1 ) {
confess("invalid number of arguments");
}
# bless as a RelationSet
#
return $self;
}
# Assumes that the set of relations "FROM $table WHERE $constantSql and
# $column = $value" is currently represented by $self, and this set should
# be updated to look like $other.
#
# Returns an array of two strings, one INSERT and one DELETE, which will
# make this change. Either or both strings may be the empty string,
# meaning that no INSERT or DELETE or both (respectively) need to be done.
#
# THE CALLER IS RESPONSIBLE FOR ANY DESIRED LOCKING AND/OR CONSISTENCY
# CHECKS (not to mention doing the SendSQL() calls).
#
sub generateSqlDeltas {
($#_ == 5) || confess("invalid number of arguments");
my ( $self, # instance ptr to set representing the existing state
$endState, # instance ptr to set representing the desired state
$table, # table where these relations are kept
$invariantName, # column held const for a RelationSet (often "bug_id")
$invariantValue, # what to hold the above column constant at
$columnName # the column which varies (often a userid)
) = @_;
# construct the insert list by finding relations which exist in the
# end state but not the current state.
#
my @endStateRelations = keys(%$endState);
my @insertList = ();
foreach ( @endStateRelations ) {
push ( @insertList, $_ ) if ( ! exists $$self{"$_"} );
}
# we've built the list. If it's non-null, add required sql chrome.
#
my $sqlInsert="";
if ( $#insertList > -1 ) {
$sqlInsert = "INSERT INTO $table ($invariantName, $columnName) VALUES " .
join (",",
map ( "($invariantValue, $_)" , @insertList )
);
}
# construct the delete list by seeing which relations exist in the
# current state but not the end state
#
my @selfRelations = keys(%$self);
my @deleteList = ();
foreach ( @selfRelations ) {
push (@deleteList, $_) if ( ! exists $$endState{"$_"} );
}
# we've built the list. if it's non-empty, add required sql chrome.
#
my $sqlDelete = "";
if ( $#deleteList > -1 ) {
$sqlDelete = "DELETE FROM $table WHERE $invariantName = $invariantValue " .
"AND $columnName IN ( " . join (",", @deleteList) . " )";
}
return ($sqlInsert, $sqlDelete);
}
# compare the current object with another.
#
sub isEqual {
($#_ == 1) || confess("invalid number of arguments");
my $self = shift();
my $other = shift();
# get arrays of the keys for faster processing
#
my @selfRelations = keys(%$self);
my @otherRelations = keys(%$other);
# make sure the arrays are the same size
#
return 0 if ( $#selfRelations != $#otherRelations );
# bail out if any of the elements are different
#
foreach my $relation ( @selfRelations ) {
return 0 if ( !exists $$other{$relation})
}
# we made it!
#
return 1;
}
# merge the results of a SQL command into this set
#
sub mergeFromDB {
( $#_ == 1 ) || confess("invalid number of arguments");
my $self = shift();
&::SendSQL(shift());
while (my @row = &::FetchSQLData()) {
$$self{$row[0]} = 1;
}
return;
}
# merge a set in string form into this set
#
sub mergeFromString {
($#_ == 1) || confess("invalid number of arguments");
my $self = shift();
# do the merge
#
foreach my $person (split(/[ ,]/, shift())) {
if ($person ne "") {
$$self{&::DBNameToIdAndCheck($person)} = 1;
}
}
}
# remove a set in string form from this set
#
sub removeItemsInString {
($#_ == 1) || confess("invalid number of arguments");
my $self = shift();
# do the merge
#
foreach my $person (split(/[ ,]/, shift())) {
if ($person ne "") {
my $dbid = &::DBNameToIdAndCheck($person);
if (exists $$self{$dbid}) {
delete $$self{$dbid};
}
}
}
}
# remove a set in array form from this set
#
sub removeItemsInArray {
($#_ > 0) || confess("invalid number of arguments");
my $self = shift();
# do the merge
#
while (my $person = shift()) {
if ($person ne "") {
my $dbid = &::DBNameToIdAndCheck($person);
if (exists $$self{$dbid}) {
delete $$self{$dbid};
}
}
}
}
# return the number of elements in this set
#
sub size {
my $self = shift();
my @k = keys(%$self);
return $#k++;
}
# return this set in array form
#
sub toArray {
my $self= shift();
return keys(%$self);
}
# return this set as an array of strings
#
sub toArrayOfStrings {
($#_ == 0) || confess("invalid number of arguments");
my $self = shift();
my @result = ();
foreach my $i ( keys %$self ) {
push @result, &::DBID_to_name($i);
}
return sort { lc($a) cmp lc($b) } @result;
}
# return this set in string form (comma-separated and sorted)
#
sub toString {
($#_ == 0) || confess("invalid number of arguments");
my $self = shift();
my @result = ();
foreach my $i ( keys %$self ) {
push @result, &::DBID_to_name($i);
}
return join(',', sort(@result));
}
1;

View File

@@ -1,184 +0,0 @@
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Myk Melez <myk@mozilla.org>
################################################################################
# Module Initialization
################################################################################
# Make it harder for us to do dangerous things in Perl.
use diagnostics;
use strict;
# Bundle the functions in this file together into the "Token" package.
package Token;
# This module requires that its caller have said "require CGI.pl" to import
# relevant functions from that script and its companion globals.pl.
################################################################################
# Functions
################################################################################
sub IssuePasswordToken {
# Generates a random token, adds it to the tokens table, and sends it
# to the user with instructions for using it to change their password.
my ($loginname) = @_;
# Retrieve the user's ID from the database.
my $quotedloginname = &::SqlQuote($loginname);
&::SendSQL("SELECT userid FROM profiles WHERE login_name = $quotedloginname");
my ($userid) = &::FetchSQLData();
# Generate a unique token and insert it into the tokens table.
# We have to lock the tokens table before generating the token,
# since the database must be queried for token uniqueness.
&::SendSQL("LOCK TABLES tokens WRITE");
my $token = GenerateUniqueToken();
my $quotedtoken = &::SqlQuote($token);
my $quotedipaddr = &::SqlQuote($::ENV{'REMOTE_ADDR'});
&::SendSQL("INSERT INTO tokens ( userid , issuedate , token , tokentype , eventdata )
VALUES ( $userid , NOW() , $quotedtoken , 'password' , $quotedipaddr )");
&::SendSQL("UNLOCK TABLES");
# Mail the user the token along with instructions for using it.
MailPasswordToken($loginname, $token);
}
sub GenerateUniqueToken {
# Generates a unique random token. Uses &GenerateRandomPassword
# for the tokens themselves and checks uniqueness by searching for
# the token in the "tokens" table. Gives up if it can't come up
# with a token after about one hundred tries.
my $token;
my $duplicate = 1;
my $tries = 0;
while ($duplicate) {
++$tries;
if ($tries > 100) {
&::DisplayError("Something is seriously wrong with the token generation system.");
exit;
}
$token = &::GenerateRandomPassword();
&::SendSQL("SELECT userid FROM tokens WHERE token = " . &::SqlQuote($token));
$duplicate = &::FetchSQLData();
}
return $token;
}
sub MailPasswordToken {
# Emails a password token to a user along with instructions for its use.
# Called exclusively from &IssuePasswordToken.
my ($emailaddress, $token) = @_;
my $urlbase = &::Param("urlbase");
my $emailsuffix = &::Param('emailsuffix');
$token = &::url_quote($token);
open SENDMAIL, "|/usr/lib/sendmail -ti";
print SENDMAIL qq|From: bugzilla-daemon
To: $emailaddress$emailsuffix
Subject: Bugzilla Change Password Request
You or someone impersonating you has requested to change your Bugzilla
password. To change your password, visit the following link:
${urlbase}token.cgi?a=cfmpw&t=$token
If you are not the person who made this request, or you wish to cancel
this request, visit the following link:
${urlbase}token.cgi?a=cxlpw&t=$token
|;
close SENDMAIL;
}
sub Cancel {
# Cancels a previously issued token and notifies the system administrator.
# This should only happen when the user accidentally makes a token request
# or when a malicious hacker makes a token request on behalf of a user.
my ($token, $cancelaction) = @_;
# Quote the token for inclusion in SQL statements.
my $quotedtoken = &::SqlQuote($token);
# Get information about the token being cancelled.
&::SendSQL("SELECT issuedate , tokentype , eventdata , login_name , realname
FROM tokens, profiles
WHERE tokens.userid = profiles.userid
AND token = $quotedtoken");
my ($issuedate, $tokentype, $eventdata, $loginname, $realname) = &::FetchSQLData();
# Get the email address of the Bugzilla maintainer.
my $maintainer = &::Param('maintainer');
# Format the user's real name and email address into a single string.
my $username = $realname ? $realname . " <" . $loginname . ">" : $loginname;
# Notify the user via email about the cancellation.
open SENDMAIL, "|/usr/lib/sendmail -ti";
print SENDMAIL qq|From: bugzilla-daemon
To: $username
Subject: "$tokentype" token cancelled
A token was cancelled from $::ENV{'REMOTE_ADDR'}. This is either
an honest mistake or the result of a malicious hack attempt.
Take a look at the information below and forward this email
to $maintainer if you suspect foul play.
Token: $token
Token Type: $tokentype
User: $username
Issue Date: $issuedate
Event Data: $eventdata
Cancelled Because: $cancelaction
|;
close SENDMAIL;
# Delete the token from the database.
&::SendSQL("LOCK TABLES tokens WRITE");
&::SendSQL("DELETE FROM tokens WHERE token = $quotedtoken");
&::SendSQL("UNLOCK TABLES");
}
sub HasPasswordToken {
# Returns a password token if the user has one. Otherwise returns 0 (false).
my ($userid) = @_;
&::SendSQL("SELECT token FROM tokens WHERE userid = $userid LIMIT 1");
my ($token) = &::FetchSQLData();
return $token;
}
1;

View File

@@ -1,3 +0,0 @@
Please consult The Bugzilla Guide for instructions on how to upgrade
Bugzilla from an older version. The Guide can be found with this
distribution, in docs/html, docs/txt, and docs/sgml.

View File

@@ -1,407 +0,0 @@
This file contains only important changes made to Bugzilla before release
2.8. If you are upgrading from version older than 2.8, please read this file.
If you are upgrading from 2.8 or newer, please read the Installation and
Upgrade instructions in The Bugzilla Guide, found with this distribution in
docs/html, docs/txt, and docs/sgml.
For a complete list of what changes, use Bonsai
(http://cvs-mirror.mozilla.org/webtools/bonsai/cvsqueryform.cgi) to
query the CVS tree. For example,
http://cvs-mirror.mozilla.org/webtools/bonsai/cvsquery.cgi?module=all&branch=HEAD&branchtype=match&dir=mozilla%2Fwebtools%2Fbugzilla&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=week&mindate=&maxdate=&cvsroot=%2Fcvsroot
will tell you what has been changed in the last week.
10/12/99 The CHANGES file is now obsolete! There is a new file called
checksetup.pl. You should get in the habit of running that file every time
you update your installation of Bugzilla. That file will be constantly
updated to automatically update your installation to match any code changes.
If you're curious as to what is going on, changes are commented in that file,
at the end.
Many thanks to Holger Schurig <holgerschurig@nikocity.de> for writing this
script!
10/11/99 Restructured voting database to add a cached value in each
bug recording how many total votes that bug has. While I'm at it, I
removed the unused "area" field from the bugs database. It is
distressing to realize that the bugs table has reached the maximum
number of indices allowed by MySQL (16), which may make future
enhancements awkward.
You must feed the following to MySQL:
alter table bugs drop column area;
alter table bugs add column votes mediumint not null, add index (votes);
You then *must* delete the data/versioncache file when you make this
change, as it contains references to the "area" field. Deleting it is safe,
bugzilla will correctly regenerate it.
If you have been using the voting feature at all, then you will then
need to update the voting cache. You can do this by visiting the
sanitycheck.cgi page, and taking it up on its offer to rebuild the
votes stuff.
10/7/99 Added voting ability. You must run the new script
"makevotestable.sh". You must also feed the following to mysql:
alter table products add column votesperuser smallint not null;
9/15/99 Apparently, newer alphas of MySQL won't allow you to have
"when" as a column name. So, I have had to rename a column in the
bugs_activity table. You must feed the below to mysql or you won't
work at all.
alter table bugs_activity change column when bug_when datetime not null;
8/16/99 Added "OpenVMS" to the list of OS's. Feed this to mysql:
alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.6.1", "Mac System 8.0", "Mac System 8.5", "Mac System 8.6", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "FreeBSD", "OSF/1", "Solaris", "SunOS", "Neutrino", "OS/2", "BeOS", "OpenVMS", "other") not null;
6/22/99 Added an entry to the attachments table to record who the submitter
was. Nothing uses this yet, but it still should be recorded.
alter table attachments add column submitter_id mediumint not null;
You should also run this script to populate the new field:
#!/usr/bonsaitools/bin/perl -w
use diagnostics;
use strict;
require "globals.pl";
$|=1;
ConnectToDatabase();
SendSQL("select bug_id, attach_id from attachments order by bug_id");
my @list;
while (MoreSQLData()) {
my @row = FetchSQLData();
push(@list, \@row);
}
foreach my $ref (@list) {
my ($bug, $attach) = (@$ref);
SendSQL("select long_desc from bugs where bug_id = $bug");
my $comment = FetchOneColumn() . "Created an attachment (id=$attach)";
if ($comment =~ m@-* Additional Comments From ([^ ]*)[- 0-9/:]*\nCreated an attachment \(id=$attach\)@) {
print "Found $1\n";
SendSQL("select userid from profiles where login_name=" .
SqlQuote($1));
my $userid = FetchOneColumn();
if (defined $userid && $userid > 0) {
SendSQL("update attachments set submitter_id=$userid where attach_id = $attach");
}
} else {
print "Bug $bug can't find comment for attachment $attach\n";
}
}
6/14/99 Added "BeOS" to the list of OS's. Feed this to mysql:
alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.6.1", "Mac System 8.0", "Mac System 8.5", "Mac System 8.6", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "FreeBSD", "OSF/1", "Solaris", "SunOS", "Neutrino", "OS/2", "BeOS", "other") not null;
5/27/99 Added support for dependency information. You must run the new
"makedependenciestable.sh" script. You can turn off dependencies with the new
"usedependencies" param, but it defaults to being on. Also, read very
carefully the description for the new "webdotbase" param; you will almost
certainly need to tweak it.
5/24/99 Added "Mac System 8.6" and "Neutrino" to the list of OS's.
Feed this to mysql:
alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.6.1", "Mac System 8.0", "Mac System 8.5", "Mac System 8.6", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "FreeBSD", "OSF/1", "Solaris", "SunOS", "Neutrino", "OS/2", "other") not null;
5/12/99 Added a pref to control how much email you get. This needs a new
column in the profiles table, so feed the following to mysql:
alter table profiles add column emailnotification enum("ExcludeSelfChanges", "CConly", "All") not null default "ExcludeSelfChanges";
5/5/99 Added the ability to search by creation date. To make this perform
well, you ought to do the following:
alter table bugs change column creation_ts creation_ts datetime not null, add index (creation_ts);
4/30/99 Added a new severity, "blocker". To get this into your running
Bugzilla, do the following:
alter table bugs change column bug_severity bug_severity enum("blocker", "critical", "major", "normal", "minor", "trivial", "enhancement") not null;
4/22/99 There was a bug where the long descriptions of bugs had a variety of
newline characters at the end, depending on the operating system of the browser
that submitted the text. This bug has been fixed, so that no further changes
like that will happen. But to fix problems that have already crept into your
database, you can run the following perl script (which is slow and ugly, but
does work:)
#!/usr/bonsaitools/bin/perl -w
use diagnostics;
use strict;
require "globals.pl";
$|=1;
ConnectToDatabase();
SendSQL("select bug_id from bugs order by bug_id");
my @list;
while (MoreSQLData()) {
push(@list, FetchOneColumn());
}
foreach my $id (@list) {
if ($id % 50 == 0) {
print "\n$id ";
}
SendSQL("select long_desc from bugs where bug_id = $id");
my $comment = FetchOneColumn();
my $orig = $comment;
$comment =~ s/\r\n/\n/g; # Get rid of windows-style line endings.
$comment =~ s/\r/\n/g; # Get rid of mac-style line endings.
if ($comment ne $orig) {
SendSQL("update bugs set long_desc = " . SqlQuote($comment) .
" where bug_id = $id");
print ".";
} else {
print "-";
}
}
4/8/99 Added ability to store patches with bugs. This requires a new table
to store the data, so you will need to run the "makeattachmenttable.sh" script.
3/25/99 Unfortunately, the HTML::FromText CPAN module had too many bugs, and
so I had to roll my own. We no longer use the HTML::FromText CPAN module.
3/24/99 (This entry has been removed. It used to say that we required the
HTML::FromText CPAN module, but that's no longer true.)
3/22/99 Added the ability to query by fields which have changed within a date
range. To make this perform a bit better, we need a new index:
alter table bugs_activity add index (field);
3/10/99 Added 'groups' stuff, where we have different group bits that we can
put on a person or on a bug. Some of the group bits control access to bugzilla
features. And a person can't access a bug unless he has every group bit set
that is also set on the bug. See the comments in makegroupstable.sh for a bit
more info.
The 'maintainer' param is now used only as an email address for people to send
complaints to. The groups table is what is now used to determine permissions.
You will need to run the new script "makegroupstable.sh". And then you need to
feed the following lines to MySQL (replace XXX with the login name of the
maintainer, the person you wish to be all-powerful).
alter table bugs add column groupset bigint not null;
alter table profiles add column groupset bigint not null;
update profiles set groupset=0x7fffffffffffffff where login_name = XXX;
3/8/99 Added params to control how priorities are set in a new bug. You can
now choose whether to let submitters of new bugs choose a priority, or whether
they should just accept the default priority (which is now no longer hardcoded
to "P2", but is instead a param.) The default value of the params will cause
the same behavior as before.
3/3/99 Added a "disallownew" field to the products table. If non-zero, then
don't let people file new bugs against this product. (This is for when a
product is retired, but you want to keep the bug reports around for posterity.)
Feed this to MySQL:
alter table products add column disallownew tinyint not null;
2/8/99 Added FreeBSD to the list of OS's. Feed this to MySQL:
alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.6.1", "Mac System 8.0", "Mac System 8.5", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "FreeBSD", "OSF/1", "Solaris", "SunOS", "OS/2", "other") not null;
2/4/99 Added a new column "description" to the components table, and added
links to a new page which will use this to describe the components of a
given product. Feed this to MySQL:
alter table components add column description mediumtext not null;
2/3/99 Added a new column "initialqacontact" to the components table that gives
an initial QA contact field. It may be empty if you wish the initial qa
contact to be empty. If you're not using the QA contact field, you don't need
to add this column, but you might as well be safe and add it anyway:
alter table components add column initialqacontact tinytext not null;
2/2/99 Added a new column "milestoneurl" to the products table that gives a URL
which is to describe the currently defined milestones for a product. If you
don't use target milestone, you might be able to get away without adding this
column, but you might as well be safe and add it anyway:
alter table products add column milestoneurl tinytext not null;
1/29/99 Whoops; had a misspelled op_sys. It was "Mac System 7.1.6"; it should
be "Mac System 7.6.1". It turns out I had no bugs with this value set, so I
could just do the below simple command. If you have bugs with this value, you
may need to do something more complicated.
alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.6.1", "Mac System 8.0", "Mac System 8.5", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "OSF/1", "Solaris", "SunOS", "OS/2", "other") not null;
1/20/99 Added new fields: Target Milestone, QA Contact, and Status Whiteboard.
These fields are all optional in the UI; there are parameters to turn them on.
However, whether or not you use them, the fields need to be in the DB. There
is some code that needs them, even if you don't.
To update your DB to have these fields, send the following to MySQL:
alter table bugs add column target_milestone varchar(20) not null,
add column qa_contact mediumint not null,
add column status_whiteboard mediumtext not null,
add index (target_milestone), add index (qa_contact);
1/18/99 You can now query by CC. To make this perform reasonably, the CC table
needs some indices. The following MySQL does the necessary stuff:
alter table cc add index (bug_id), add index (who);
1/15/99 The op_sys field can now be queried by (and more easily tweaked).
To make this perform reasonably, it needs an index. The following MySQL
command will create the necessary index:
alter table bugs add index (op_sys);
12/2/98 The op_sys and rep_platform fields have been tweaked. op_sys
is now an enum, rather than having the legal values all hard-coded in
perl. rep_platform now no longer allows a value of "X-Windows".
Here's how I ported to the new world. This ought to work for you too.
Actually, it's probably overkill. I had a lot of illegal values for op_sys
in my tables, from importing bugs from strange places. If you haven't done
anything funky, then much of the below will be a no-op.
First, send the following commands to MySQL to make sure all your values for
rep_platform and op_sys are legal in the new world..
update bugs set rep_platform="Sun" where rep_platform="X-Windows" and op_sys like "Solaris%";
update bugs set rep_platform="SGI" where rep_platform="X-Windows" and op_sys = "IRIX";
update bugs set rep_platform="SGI" where rep_platform="X-Windows" and op_sys = "HP-UX";
update bugs set rep_platform="DEC" where rep_platform="X-Windows" and op_sys = "OSF/1";
update bugs set rep_platform="PC" where rep_platform="X-Windows" and op_sys = "Linux";
update bugs set rep_platform="other" where rep_platform="X-Windows";
update bugs set rep_platform="other" where rep_platform="";
update bugs set op_sys="Mac System 7" where op_sys="System 7";
update bugs set op_sys="Mac System 7.5" where op_sys="System 7.5";
update bugs set op_sys="Mac System 8.0" where op_sys="8.0";
update bugs set op_sys="OSF/1" where op_sys="Digital Unix 4.0";
update bugs set op_sys="IRIX" where op_sys like "IRIX %";
update bugs set op_sys="HP-UX" where op_sys like "HP-UX %";
update bugs set op_sys="Windows NT" where op_sys like "NT %";
update bugs set op_sys="OSF/1" where op_sys like "OSF/1 %";
update bugs set op_sys="Solaris" where op_sys like "Solaris %";
update bugs set op_sys="SunOS" where op_sys like "SunOS%";
update bugs set op_sys="other" where op_sys = "Motif";
update bugs set op_sys="other" where op_sys = "Other";
Next, send the following commands to make sure you now have only legal
entries in your table. If either of the queries do not come up empty, then
you have to do more stuff like the above.
select bug_id,op_sys,rep_platform from bugs where rep_platform not regexp "^(All|DEC|HP|Macintosh|PC|SGI|Sun|X-Windows|Other)$";
select bug_id,op_sys,rep_platform from bugs where op_sys not regexp "^(All|Windows 3.1|Windows 95|Windows 98|Windows NT|Mac System 7|Mac System 7.5|Mac System 7.1.6|Mac System 8.0|AIX|BSDI|HP-UX|IRIX|Linux|OSF/1|Solaris|SunOS|other)$";
Finally, once that's all clear, alter the table to make enforce the new legal
entries:
alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.1.6", "Mac System 8.0", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "OSF/1", "Solaris", "SunOS", "other") not null, change column rep_platform rep_platform enum("All", "DEC", "HP", "Macintosh", "PC", "SGI", "Sun", "Other");
11/20/98 Added searching of CC field. To better support this, added
some indexes to the CC table. You probably want to execute the following
mysql commands:
alter table cc add index (bug_id);
alter table cc add index (who);
10/27/98 security check for legal products in place. bug charts are not
available as an option if collectstats.pl has never been run. all products
get daily stats collected now. README updated: Chart::Base is listed as
a requirement, instructions for using collectstats.pl included as
an optional step. also got silly and added optional quips to bug
reports.
10/17/98 modified README installation instructions slightly.
10/7/98 Added a new table called "products". Right now, this is used
only to have a description for each product, and that description is
only used when initially adding a new bug. Anyway, you *must* create
the new table (which you can do by running the new makeproducttable.sh
script). If you just leave it empty, things will work much as they
did before, or you can add descriptions for some or all of your
products.
9/15/98 Everything has been ported to Perl. NO MORE TCL. This
transition should be relatively painless, except for the "params"
file. This is the file that contains parameters you've set up on the
editparams.cgi page. Before changing to Perl, this was a tcl-syntax
file, stored in the same directory as the code; after the change to
Perl, it becomes a perl-syntax file, stored in a subdirectory named
"data". See the README file for more details on what version of Perl
you need.
So, if updating from an older version of Bugzilla, you will need to
edit data/param, change the email address listed for
$::param{'maintainer'}, and then go revisit the editparams.cgi page
and reset all the parameters to your taste. Fortunately, your old
params file will still be around, and so you ought to be able to
cut&paste important bits from there.
Also, note that the "whineatnews" script has changed name (it now has
an extension of .pl instead of .tcl), so you'll need to change your
cron job.
And the "comments" file has been moved to the data directory. Just do
"cat comments >> data/comments" to restore any old comments that may
have been lost.
9/2/98 Changed the way password validation works. We now keep a
crypt'd version of the password in the database, and check against
that. (This is silly, because we're also keeping the plaintext
version there, but I have plans...) Stop passing the plaintext
password around as a cookie; instead, we have a cookie that references
a record in a new database table, logincookies.
IMPORTANT: if updating from an older version of Bugzilla, you must run
the following commands to keep things working:
./makelogincookiestable.sh
echo "alter table profiles add column cryptpassword varchar(64);" | mysql bugs
echo "update profiles set cryptpassword = encrypt(password,substring(rand(),3, 4));" | mysql bugs

View File

@@ -1,581 +0,0 @@
#!/usr/bonsaitools/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Terry Weissman.
# Portions created by Terry Weissman are
# Copyright (C) 2000 Terry Weissman. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
# Matthew Tuck <matty@chariot.net.au>
# Myk Melez <myk@mozilla.org>
# Make it harder for us to do dangerous things in Perl.
use diagnostics;
use strict;
use lib ".";
use vars qw(
$template
$vars
);
# Include the Bugzilla CGI and general utility library.
require "CGI.pl";
################################################################################
# Some constants callers might want to use
################################################################################
$::tryagain = 'Please press <b>Back</b> and try again.';
$::wentwrong = 'Something went wrong.';
################################################################################
# The following must be set up by the caller.
################################################################################
# What we're editing eg ('resolution', 'Resolution', 'resolutions').
($::valuetype, $::valuetypeicap, $::valuetypeplural) = ();
# What group you have to be in to edit these.
$::grouprestrict = undef;
# The name of the CGI calling the editor.
$::thiscgi = undef;
# The name of the table that stores what we're editing.
$::tablename = undef;
# The name of the table that has references to what we're editing.
# This currently doesn't support multiple references.
$::bugsreftablename = undef;
# The full field name of the field that has references to what we're editing,
# eg 'bugs.resolution_id'.
$::bugsreffieldref = undef;
# The maximum number of characters allowed in the name of what we're editing.
# Get this information from the schema.
$::maxnamesize = undef;
# Whether to use sortkeys.
$::usesortkeys = undef;
################################################################################
# The following may be changed by the caller.
################################################################################
# Whether we can delete this thing when it is referred to in the DB.
$::candeleterefsref = sub ($) { return 0; };
# If so, a subroutine to do it.
$::deleterefsref = sub ($) { die 'Shouldn\'t be here! (admineditor.pl/deleterefsref)'; };
# This allows us to add extra vars to the template, which is passed in as a hashref.
$::extravarsref = sub ($) {};
# "Rest" allows us to extend the code in this file to handle extra things, called
# "the rest".
# These check extra errors and warnings.
$::extraerrorsref = sub ($) {};
$::extrawarningsref = sub ($) { return (); };
# This takes the rest, and does anything necessary for use in SQL, eg
# SqlQuoting strings.
$::preparerestforsqlref = sub ($) {};
# This is the default rest.
%::defaultrest = ();
################################################################################
# Begin admin editor code
################################################################################
sub ValidateName ($) {
my ($fieldsref) = @_;
my $name = $::FORM{name};
my $id = $$fieldsref{id};
if (!defined($name)) {
ThatDoesntValidate("name");
exit;
}
$name = trim($name);
if ($name eq "") {
DisplayError("You must enter a non-blank name for the $::valuetype. $::tryagain");
exit;
}
if ($name =~ /[\s,]/) {
DisplayError("You may not use commas or whitespace in a $::valuetype name. $::tryagain");
exit;
}
if ($::maxnamesize < length($name)) {
DisplayError("Names can't have more than $::maxnamesize characters. $::tryagain");
exit;
}
my $sqlcondition;
my $sqlname = SqlQuote($name);
if (defined $id) {
$sqlcondition = "name = $sqlname AND id != $id";
}
else {
$sqlcondition = "name = $sqlname";
}
if (RecordExists($::tablename, $sqlcondition)) {
DisplayError("The $::valuetype $name already exists. $::tryagain");
exit;
}
$$fieldsref{name} = $name;
}
sub ValidateDesc ($) {
my ($fieldsref) = @_;
my $description = $::FORM{description};
if (!defined($description)) {
ThatDoesntValidate("description");
exit;
}
$description = trim($description);
if ($description eq "") {
DisplayError("You must enter a non-blank description of the $::valuetype. $::tryagain");
exit;
}
$$fieldsref{description} = $description;
}
sub ValidateID ($) {
my ($fieldsref) = @_;
$::FORM{id} = trim($::FORM{id});
if (detaint_natural($::FORM{id})) {
$$fieldsref{id} = $::FORM{id};
}
else {
ThatDoesntValidate("id");
exit;
}
}
sub ValidateIsActive ($) {
my ($fieldsref) = @_;
if (!defined $::FORM{isactive}) {
$$fieldsref{isactive} = 0;
}
elsif ($::FORM{isactive} eq "1") {
$$fieldsref{isactive} = 1;
}
else {
ThatDoesntValidate("isactive");
exit;
}
}
sub ValidateSortKey ($) {
my ($fieldsref) = @_;
$::FORM{sortkey} = trim($::FORM{sortkey});
if (detaint_natural($::FORM{sortkey})) {
$$fieldsref{sortkey} = $::FORM{sortkey};
}
else {
ThatDoesntValidate('sortkey');
exit;
}
}
sub CheckWarnings (%) {
my (%fields) = @_;
my @warnings = &$::extrawarningsref(%fields);
if (@warnings && !$::FORM{reallychange}) {
$vars->{warnings} = @warnings;
EmitTemplate("admin/$::valuetypeplural/warnings.atml");
exit;
}
}
sub EmitTemplate($) {
my ($templatename) = @_;
# Return the appropriate HTTP response headers.
print "Content-type: text/html\n\n";
# Generate and return the UI (HTML page) from the appropriate template.
$template->process($templatename, $vars)
|| DisplayError("Template process failed: " . $template->error())
&& exit;
}
sub ExtraFields() {
my %defaults = %::defaultrest;
return keys %defaults;
}
################################################################################
# Main Body Execution
################################################################################
sub AdminEditor() {
# Preliminary checks.
confirm_login();
unless (UserInGroup($::grouprestrict)) {
DisplayError("Sorry, you aren't a member of the $::grouprestrict group. " .
"And so, you aren't allowed to add, modify or delete $::valuetypeplural.",
"Not allowed");
exit;
}
$vars->{'thiscgi'} = $::thiscgi;
$vars->{'valuetype'} = $::valuetype;
$vars->{'valuetypeicap'} = $::valuetypeicap;
$vars->{'maxnamesize'} = $::maxnamesize;
$vars->{'usesortkeys'} = $::usesortkeys;
&$::extravarsref($vars);
# All calls to this script should contain an "action" variable whose value
# determines what the user wants to do. The code below checks the value of
# that variable and runs the appropriate code.
# Determine whether to use the action specified by the user or the default.
my $action = $::FORM{'action'} || 'list';
my %fields;
if ($action eq "list") {
ListScreen("");
}
elsif ($action eq "add") {
CreateScreen();
}
elsif ($action eq "new") {
ValidateName(\%fields);
ValidateDesc(\%fields);
ValidateSortKey(\%fields) if ($::usesortkeys);
&$::extraerrorsref(\%fields);
CheckWarnings(%fields);
InsertNew(%fields);
}
elsif ($action eq "edit") {
ValidateID(\%fields);
EditScreen(%fields);
}
elsif ($action eq "update") {
ValidateID(\%fields);
ValidateName(\%fields);
ValidateDesc(\%fields);
ValidateIsActive(\%fields);
ValidateSortKey(\%fields) if ($::usesortkeys);
&$::extraerrorsref(\%fields);
CheckWarnings(%fields);
UpdateExisting(%fields);
}
elsif ($action eq "delete") {
ValidateID(\%fields);
DeleteExisting(%fields);
}
else {
print "Content-type: text/html\n\n";
ThatDoesntValidate("action");
}
}
################################################################################
# The Actions
################################################################################
# Screen to present values to user to determine what to do.
# Next action would be CreateScreen, EditScreen or DeleteExisting.
sub ListScreen ($) {
my ($message) = (@_);
my $ordering = $::usesortkeys
? "$::tablename.sortkey, $::tablename.name"
: "$::tablename.name";
SendSQL("SELECT $::tablename.id, $::tablename.name, " .
"$::tablename.description, $::tablename.isactive, " .
"COUNT($::bugsreffieldref) " .
"FROM $::tablename LEFT JOIN $::bugsreftablename ON " .
"$::tablename.id = $::bugsreffieldref " .
"GROUP BY $::tablename.id " .
"ORDER BY $ordering");
my @values;
while (MoreSQLData()) {
my ($id, $name, $description, $isactive, $bugcount) =
FetchSQLData();
$bugcount ||= 0;
push( @values, { 'id' => $id, 'name' => $name, 'description' => $description,
'isactive' => $isactive, 'bugcount' => $bugcount } );
}
# Define the variables and functions that will be passed to the UI template.
$vars->{'values'} = \@values;
$vars->{'message'} = $message;
# Generate the template.
EmitTemplate("admin/$::valuetypeplural/list.atml");
}
# Screen to create a new value.
# Next action would be InsertNew.
sub CreateScreen() {
$vars->{name} = '';
$vars->{description} = '';
$vars->{sortkey} = 0;
# Defaults for the rest
%$vars = ( %$vars, %::defaultrest );
# Generate the template.
EmitTemplate("admin/$::valuetypeplural/create.atml");
}
# Add value entered on the creation screen.
sub InsertNew(%) {
my (%fields) = @_;
my $htmlname = html_quote($fields{name});
my $sqlname = SqlQuote($fields{name});
my $sqldescription = SqlQuote($fields{description});
# Pick an unused number. Be sure to recycle numbers that may have been
# deleted in the past. This code is potentially slow, but it happens
# rarely enough.
SendSQL("SELECT id FROM $::tablename ORDER BY id");
my $newid = 1;
while (MoreSQLData()) {
my $oldid = FetchOneColumn();
detaint_natural($oldid) || die "Failed to detaint next seqnum.";
if ($oldid > $newid) {
last;
}
$newid = $oldid + 1;
}
# Do proper conversion for inclusion in SQL
$fields{id} = $newid;
$fields{name} = $sqlname;
$fields{description} = SqlQuote($fields{description});
&$::preparerestforsqlref(\%fields);
# Add the new record.
my $fieldnames = join(', ', keys(%fields));
my $fieldvalues = join(', ', values(%fields));
SendSQL("INSERT INTO $::tablename ($fieldnames) VALUES ($fieldvalues)");
# Make versioncache flush
unlink "data/versioncache";
# Display list with message.
ListScreen( "$::valuetypeicap $htmlname added." );
}
# Screen to edit existing value.
# Next action would be UpdateExisting.
sub EditScreen (%) {
my (%fields) = @_;
my $id = $fields{id};
my %defaults = %::defaultrest;
my @fieldnames = ('name', 'description', 'isactive', keys %defaults);
@fieldnames = (@fieldnames, 'sortkey') if ($::usesortkeys);
my $fieldnames = join(', ', @fieldnames);
# get data of record
SendSQL("SELECT $fieldnames FROM $::tablename WHERE id = $id");
if (!MoreSQLData()) {
DisplayError("$::wentwrong I can't find the $::valuetype ID $id.");
exit;
}
my @data = FetchSQLData();
my $bugcount = GetCount( $::bugsreftablename, "$::bugsreffieldref = $id" );
# Define the variables and functions that will be passed to the UI template.
$vars->{'id'} = $id;
$vars->{'bugcount'} = $bugcount;
foreach my $fieldname (@fieldnames) {
my $datum = shift @data;
$vars->{$fieldname} = $datum;
}
# Generate the template.
EmitTemplate("admin/$::valuetypeplural/edit.atml");
}
# Update the value edited on the edit screen.
sub UpdateExisting (%) {
my (%fields) = @_;
my $id = $fields{id};
my $htmlname = html_quote($fields{name});
my $sqlname = SqlQuote($fields{name});
# Do proper conversion for inclusion in SQL
delete $fields{id};
$fields{name} = $sqlname;
$fields{description} = SqlQuote($fields{description});
&$::preparerestforsqlref(\%fields);
# Generate the SET SQL
my $assignments = GenerateUpdateSQL(%fields);
# Send the SQL
SendSQL("UPDATE $::tablename SET $assignments WHERE id = $id");
# Make versioncache flush
unlink "data/versioncache";
# Display list with message.
ListScreen( "$::valuetypeicap $htmlname updated." );
}
# Delete the value selected on the list screen.
sub DeleteExisting (%) {
my (%fields) = @_;
my $id = $fields{id};
SendSQL("SELECT name FROM $::tablename WHERE id = $id");
if (!MoreSQLData()) {
DisplayError("$::wentwrong That $::valuetype does not exist!");
exit;
}
my $name = FetchOneColumn();
my $htmlname = html_quote($name);
my $bugcount = GetCount($::bugsreftablename, "$::bugsreffieldref = $id");
if (!$::FORM{reallydelete} or !(&$::candeleterefsref($id))) {
if (0 < $bugcount) {
if (&$::candeleterefsref($id)) {
$vars->{id} = $id;
$vars->{name} = $name;
$vars->{bugcount} = $bugcount;
EmitTemplate("admin/$::valuetypeplural/confirmdelete.atml");
exit;
}
else {
DisplayError("There are $bugcount bug(s) which have " .
"the $::valuetype $htmlname. You " .
"can't delete the $::valuetype while " .
"it is on one or more bugs.");
exit;
}
}
}
if ($bugcount > 0) {
&$::deleterefsref($id);
}
SendSQL("DELETE FROM $::tablename WHERE id = $id");
# Make versioncache flush
unlink "data/versioncache";
# Display list with message.
ListScreen( "$::valuetypeicap $htmlname deleted." );
}
1;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

View File

@@ -1,798 +0,0 @@
#!/usr/bonsaitools/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
# Myk Melez <myk@mozilla.org>
################################################################################
# Script Initialization
################################################################################
# Make it harder for us to do dangerous things in Perl.
use diagnostics;
use strict;
use lib qw(.);
# Include the Bugzilla CGI and general utility library.
require "CGI.pl";
# Establish a connection to the database backend.
ConnectToDatabase();
# Use the template toolkit (http://www.template-toolkit.org/) to generate
# the user interface (HTML pages and mail messages) using templates in the
# "template/" subdirectory.
use Template;
# Create the global template object that processes templates and specify
# configuration parameters that apply to all templates processed in this script.
my $template = Template->new(
{
# Colon-separated list of directories containing templates.
INCLUDE_PATH => "template/custom:template/default" ,
# Allow templates to be specified with relative paths.
RELATIVE => 1
}
);
# Define the global variables and functions that will be passed to the UI
# template. Individual functions add their own values to this hash before
# sending them to the templates they process.
my $vars =
{
# Function for retrieving global parameters.
'Param' => \&Param ,
# Function for processing global parameters that contain references
# to other global parameters.
'PerformSubsts' => \&PerformSubsts
};
# Check whether or not the user is logged in and, if so, set the $::userid
# and $::usergroupset variables.
quietly_check_login();
################################################################################
# Main Body Execution
################################################################################
# All calls to this script should contain an "action" variable whose value
# determines what the user wants to do. The code below checks the value of
# that variable and runs the appropriate code.
# Determine whether to use the action specified by the user or the default.
my $action = $::FORM{'action'} || 'view';
if ($action eq "view")
{
validateID();
view();
}
elsif ($action eq "viewall")
{
ValidateBugID($::FORM{'bugid'});
viewall();
}
elsif ($action eq "enter")
{
confirm_login();
ValidateBugID($::FORM{'bugid'});
enter();
}
elsif ($action eq "insert")
{
confirm_login();
ValidateBugID($::FORM{'bugid'});
validateFilename();
validateData();
validateDescription();
validateIsPatch();
validateContentType() unless $::FORM{'ispatch'};
validateObsolete() if $::FORM{'obsolete'};
insert();
}
elsif ($action eq "edit")
{
validateID();
edit();
}
elsif ($action eq "update")
{
confirm_login();
UserInGroup("editbugs")
|| DisplayError("You are not authorized to edit attachments.")
&& exit;
validateID();
validateDescription();
validateIsPatch();
validateContentType() unless $::FORM{'ispatch'};
validateIsObsolete();
validateStatuses();
update();
}
else
{
DisplayError("I could not figure out what you wanted to do.")
}
exit;
################################################################################
# Data Validation / Security Authorization
################################################################################
sub validateID
{
# Validate the value of the "id" form field, which must contain an
# integer that is the ID of an existing attachment.
detaint_natural($::FORM{'id'})
|| DisplayError("You did not enter a valid attachment number.")
&& exit;
# Make sure the attachment exists in the database.
SendSQL("SELECT bug_id FROM attachments WHERE attach_id = $::FORM{'id'}");
MoreSQLData()
|| DisplayError("Attachment #$::FORM{'id'} does not exist.")
&& exit;
# Make sure the user is authorized to access this attachment's bug.
my ($bugid) = FetchSQLData();
ValidateBugID($bugid);
}
sub validateDescription
{
$::FORM{'description'}
|| DisplayError("You must enter a description for the attachment.")
&& exit;
}
sub validateIsPatch
{
# Set the ispatch flag to zero if it is undefined, since the UI uses
# an HTML checkbox to represent this flag, and unchecked HTML checkboxes
# do not get sent in HTML requests.
$::FORM{'ispatch'} = $::FORM{'ispatch'} ? 1 : 0;
# Set the content type to text/plain if the attachment is a patch.
$::FORM{'contenttype'} = "text/plain" if $::FORM{'ispatch'};
}
sub validateContentType
{
if (!$::FORM{'contenttypemethod'})
{
DisplayError("You must choose a method for determining the content type,
either <em>auto-detect</em>, <em>select from list</em>, or <em>enter
manually</em>.");
exit;
}
elsif ($::FORM{'contenttypemethod'} eq 'autodetect')
{
# The user asked us to auto-detect the content type, so use the type
# specified in the HTTP request headers.
if ( !$::FILE{'data'}->{'contenttype'} )
{
DisplayError("You asked Bugzilla to auto-detect the content type, but
your browser did not specify a content type when uploading the file,
so you must enter a content type manually.");
exit;
}
$::FORM{'contenttype'} = $::FILE{'data'}->{'contenttype'};
}
elsif ($::FORM{'contenttypemethod'} eq 'list')
{
# The user selected a content type from the list, so use their selection.
$::FORM{'contenttype'} = $::FORM{'contenttypeselection'};
}
elsif ($::FORM{'contenttypemethod'} eq 'manual')
{
# The user entered a content type manually, so use their entry.
$::FORM{'contenttype'} = $::FORM{'contenttypeentry'};
}
else
{
my $htmlcontenttypemethod = html_quote($::FORM{'contenttypemethod'});
DisplayError("Your form submission got corrupted somehow. The <em>content
method</em> field, which specifies how the content type gets determined,
should have been either <em>autodetect</em>, <em>list</em>,
or <em>manual</em>, but was instead <em>$htmlcontenttypemethod</em>.");
exit;
}
if ( $::FORM{'contenttype'} !~ /^(application|audio|image|message|model|multipart|text|video)\/.+$/ )
{
my $htmlcontenttype = html_quote($::FORM{'contenttype'});
DisplayError("The content type <em>$htmlcontenttype</em> is invalid.
Valid types must be of the form <em>foo/bar</em> where <em>foo</em>
is either <em>application, audio, image, message, model, multipart,
text,</em> or <em>video</em>.");
exit;
}
}
sub validateIsObsolete
{
# Set the isobsolete flag to zero if it is undefined, since the UI uses
# an HTML checkbox to represent this flag, and unchecked HTML checkboxes
# do not get sent in HTML requests.
$::FORM{'isobsolete'} = $::FORM{'isobsolete'} ? 1 : 0;
}
sub validateStatuses
{
# Get a list of attachment statuses that are valid for this attachment.
PushGlobalSQLState();
SendSQL("SELECT attachstatusdefs.id
FROM attachments, bugs, attachstatusdefs
WHERE attachments.attach_id = $::FORM{'id'}
AND attachments.bug_id = bugs.bug_id
AND attachstatusdefs.product = bugs.product");
my @statusdefs;
push(@statusdefs, FetchSQLData()) while MoreSQLData();
PopGlobalSQLState();
foreach my $status (@{$::MFORM{'status'}})
{
grep($_ == $status, @statusdefs)
|| DisplayError("One of the statuses you entered is not a valid status
for this attachment.")
&& exit;
# We have tested that the status is valid, so it can be detainted
detaint_natural($status);
}
}
sub validateData
{
$::FORM{'data'}
|| DisplayError("The file you are trying to attach is empty!")
&& exit;
my $len = length($::FORM{'data'});
my $maxpatchsize = Param('maxpatchsize');
my $maxattachmentsize = Param('maxattachmentsize');
# Makes sure the attachment does not exceed either the "maxpatchsize" or
# the "maxattachmentsize" parameter.
if ( $::FORM{'ispatch'} && $maxpatchsize && $len > $maxpatchsize*1024 )
{
my $lenkb = sprintf("%.0f", $len/1024);
DisplayError("The file you are trying to attach is ${lenkb} kilobytes (KB) in size.
Patches cannot be more than ${maxpatchsize}KB in size.
Try breaking your patch into several pieces.");
exit;
} elsif ( !$::FORM{'ispatch'} && $maxattachmentsize && $len > $maxattachmentsize*1024 ) {
my $lenkb = sprintf("%.0f", $len/1024);
DisplayError("The file you are trying to attach is ${lenkb} kilobytes (KB) in size.
Non-patch attachments cannot be more than ${maxattachmentsize}KB.
If your attachment is an image, try converting it to a compressable
format like JPG or PNG, or put it elsewhere on the web and
link to it from the bug's URL field or in a comment on the bug.");
exit;
}
}
sub validateFilename
{
defined $::FILE{'data'}
|| DisplayError("You did not specify a file to attach.")
&& exit;
}
sub validateObsolete
{
# When a user creates an attachment, they can request that one or more
# existing attachments be made obsolete. This function makes sure they
# are authorized to make changes to attachments and that the IDs of the
# attachments they selected for obsoletion are all valid.
UserInGroup("editbugs")
|| DisplayError("You must be authorized to make changes to attachments
to make attachments obsolete when creating a new attachment.")
&& exit;
# Make sure the attachment id is valid and the user has permissions to view
# the bug to which it is attached.
foreach my $attachid (@{$::MFORM{'obsolete'}}) {
detaint_natural($attachid)
|| DisplayError("The attachment number of one of the attachments
you wanted to obsolete is invalid.")
&& exit;
SendSQL("SELECT bug_id, isobsolete, description
FROM attachments WHERE attach_id = $attachid");
# Make sure the attachment exists in the database.
MoreSQLData()
|| DisplayError("Attachment #$attachid does not exist.")
&& exit;
my ($bugid, $isobsolete, $description) = FetchSQLData();
# Make sure the user is authorized to access this attachment's bug.
ValidateBugID($bugid);
if ($bugid != $::FORM{'bugid'})
{
$description = html_quote($description);
DisplayError("Attachment #$attachid ($description) is attached
to bug #$bugid, but you tried to flag it as obsolete while
creating a new attachment to bug #$::FORM{'bugid'}.");
exit;
}
if ( $isobsolete )
{
$description = html_quote($description);
DisplayError("Attachment #$attachid ($description) is already obsolete.");
exit;
}
}
}
################################################################################
# Functions
################################################################################
sub view
{
# Display an attachment.
# Retrieve the attachment content and its content type from the database.
SendSQL("SELECT mimetype, thedata FROM attachments WHERE attach_id = $::FORM{'id'}");
my ($contenttype, $thedata) = FetchSQLData();
# Return the appropriate HTTP response headers.
print "Content-Type: $contenttype\n\n";
print $thedata;
}
sub viewall
{
# Display all attachments for a given bug in a series of IFRAMEs within one HTML page.
# Retrieve the attachments from the database and write them into an array
# of hashes where each hash represents one attachment.
SendSQL("SELECT attach_id, creation_ts, mimetype, description, ispatch, isobsolete
FROM attachments WHERE bug_id = $::FORM{'bugid'} ORDER BY attach_id");
my @attachments; # the attachments array
while (MoreSQLData())
{
my %a; # the attachment hash
($a{'attachid'}, $a{'date'}, $a{'contenttype'},
$a{'description'}, $a{'ispatch'}, $a{'isobsolete'}) = FetchSQLData();
# Format the attachment's creation/modification date into something readable.
if ($a{'date'} =~ /^(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/) {
$a{'date'} = "$3/$4/$2&nbsp;$5:$6";
}
# Flag attachments as to whether or not they can be viewed (as opposed to
# being downloaded). Currently I decide they are viewable if their MIME type
# is either text/*, image/*, or application/vnd.mozilla.*.
# !!! Yuck, what an ugly hack. Fix it!
$a{'isviewable'} = ( $a{'contenttype'} =~ /^(text|image|application\/vnd\.mozilla\.)/ );
# Retrieve a list of status flags that have been set on the attachment.
PushGlobalSQLState();
SendSQL("SELECT name
FROM attachstatuses, attachstatusdefs
WHERE attach_id = $a{'attachid'}
AND attachstatuses.statusid = attachstatusdefs.id
ORDER BY sortkey");
my @statuses;
push(@statuses, FetchSQLData()) while MoreSQLData();
$a{'statuses'} = \@statuses;
PopGlobalSQLState();
# Add the hash representing the attachment to the array of attachments.
push @attachments, \%a;
}
# Retrieve the bug summary for displaying on screen.
SendSQL("SELECT short_desc FROM bugs WHERE bug_id = $::FORM{'bugid'}");
my ($bugsummary) = FetchSQLData();
# Define the variables and functions that will be passed to the UI template.
$vars->{'bugid'} = $::FORM{'bugid'};
$vars->{'bugsummary'} = $bugsummary;
$vars->{'attachments'} = \@attachments;
# Return the appropriate HTTP response headers.
print "Content-Type: text/html\n\n";
# Generate and return the UI (HTML page) from the appropriate template.
$template->process("attachment/viewall.atml", $vars)
|| DisplayError("Template process failed: " . $template->error())
&& exit;
}
sub enter
{
# Display a form for entering a new attachment.
# Retrieve the attachments from the database and write them into an array
# of hashes where each hash represents one attachment.
SendSQL("SELECT attach_id, description
FROM attachments
WHERE bug_id = $::FORM{'bugid'}
AND isobsolete = 0
ORDER BY attach_id");
my @attachments; # the attachments array
while ( MoreSQLData() ) {
my %a; # the attachment hash
($a{'id'}, $a{'description'}) = FetchSQLData();
# Add the hash representing the attachment to the array of attachments.
push @attachments, \%a;
}
# Retrieve the bug summary for displaying on screen.
SendSQL("SELECT short_desc FROM bugs WHERE bug_id = $::FORM{'bugid'}");
my ($bugsummary) = FetchSQLData();
# Define the variables and functions that will be passed to the UI template.
$vars->{'bugid'} = $::FORM{'bugid'};
$vars->{'bugsummary'} = $bugsummary;
$vars->{'attachments'} = \@attachments;
# Return the appropriate HTTP response headers.
print "Content-Type: text/html\n\n";
# Generate and return the UI (HTML page) from the appropriate template.
$template->process("attachment/enter.atml", $vars)
|| DisplayError("Template process failed: " . $template->error())
&& exit;
}
sub insert
{
# Insert a new attachment into the database.
# Escape characters in strings that will be used in SQL statements.
my $filename = SqlQuote($::FILE{'data'}->{'filename'});
my $description = SqlQuote($::FORM{'description'});
my $contenttype = SqlQuote($::FORM{'contenttype'});
my $thedata = SqlQuote($::FORM{'data'});
# Insert the attachment into the database.
SendSQL("INSERT INTO attachments (bug_id, filename, description, mimetype, ispatch, submitter_id, thedata)
VALUES ($::FORM{'bugid'}, $filename, $description, $contenttype, $::FORM{'ispatch'}, $::userid, $thedata)");
# Retrieve the ID of the newly created attachment record.
SendSQL("SELECT LAST_INSERT_ID()");
my $attachid = FetchOneColumn();
# Insert a comment about the new attachment into the database.
my $comment = "Created an attachment (id=$attachid)\n$::FORM{'description'}\n";
$comment .= ("\n" . $::FORM{'comment'}) if $::FORM{'comment'};
use Text::Wrap;
$Text::Wrap::columns = 80;
$Text::Wrap::huge = 'overflow';
$comment = Text::Wrap::wrap('', '', $comment);
AppendComment($::FORM{'bugid'},
$::COOKIE{"Bugzilla_login"},
$comment);
# Make existing attachments obsolete.
my $fieldid = GetFieldID('attachments.isobsolete');
foreach my $attachid (@{$::MFORM{'obsolete'}}) {
SendSQL("UPDATE attachments SET isobsolete = 1 WHERE attach_id = $attachid");
SendSQL("INSERT INTO bugs_activity (bug_id, attach_id, who, bug_when, fieldid, removed, added)
VALUES ($::FORM{'bugid'}, $attachid, $::userid, NOW(), $fieldid, '0', '1')");
}
# Send mail to let people know the attachment has been created. Uses a
# special syntax of the "open" and "exec" commands to capture the output of
# "processmail", which "system" doesn't allow, without running the command
# through a shell, which backticks (``) do.
#system ("./processmail", $bugid , $::userid);
#my $mailresults = `./processmail $bugid $::userid`;
my $mailresults = '';
open(PMAIL, "-|") or exec('./processmail', $::FORM{'bugid'}, $::COOKIE{'Bugzilla_login'});
$mailresults .= $_ while <PMAIL>;
close(PMAIL);
# Define the variables and functions that will be passed to the UI template.
$vars->{'bugid'} = $::FORM{'bugid'};
$vars->{'attachid'} = $attachid;
$vars->{'description'} = $description;
$vars->{'mailresults'} = $mailresults;
$vars->{'contenttypemethod'} = $::FORM{'contenttypemethod'};
$vars->{'contenttype'} = $::FORM{'contenttype'};
# Return the appropriate HTTP response headers.
print "Content-Type: text/html\n\n";
# Generate and return the UI (HTML page) from the appropriate template.
$template->process("attachment/created.atml", $vars)
|| DisplayError("Template process failed: " . $template->error())
&& exit;
}
sub edit
{
# Edit an attachment record. Users with "editbugs" privileges can edit the
# attachment's description, content type, ispatch and isobsolete flags, and
# statuses, and they can also submit a comment that appears in the bug.
# Users cannot edit the content of the attachment itself.
# Retrieve the attachment from the database.
SendSQL("SELECT description, mimetype, bug_id, ispatch, isobsolete
FROM attachments WHERE attach_id = $::FORM{'id'}");
my ($description, $contenttype, $bugid, $ispatch, $isobsolete) = FetchSQLData();
# Flag attachment as to whether or not it can be viewed (as opposed to
# being downloaded). Currently I decide it is viewable if its content
# type is either text/.* or application/vnd.mozilla.*.
# !!! Yuck, what an ugly hack. Fix it!
my $isviewable = ( $contenttype =~ /^(text|image|application\/vnd\.mozilla\.)/ );
# Retrieve a list of status flags that have been set on the attachment.
my %statuses;
SendSQL("SELECT id, name
FROM attachstatuses JOIN attachstatusdefs
WHERE attachstatuses.statusid = attachstatusdefs.id
AND attach_id = $::FORM{'id'}");
while ( my ($id, $name) = FetchSQLData() )
{
$statuses{$id} = $name;
}
# Retrieve a list of statuses for this bug's product, and build an array
# of hashes in which each hash is a status flag record.
# ???: Move this into versioncache or its own routine?
my @statusdefs;
SendSQL("SELECT id, name
FROM attachstatusdefs, bugs
WHERE bug_id = $bugid
AND attachstatusdefs.product = bugs.product
ORDER BY sortkey");
while ( MoreSQLData() )
{
my ($id, $name) = FetchSQLData();
push @statusdefs, { 'id' => $id , 'name' => $name };
}
# Retrieve a list of attachments for this bug as well as a summary of the bug
# to use in a navigation bar across the top of the screen.
SendSQL("SELECT attach_id FROM attachments WHERE bug_id = $bugid ORDER BY attach_id");
my @bugattachments;
push(@bugattachments, FetchSQLData()) while (MoreSQLData());
SendSQL("SELECT short_desc FROM bugs WHERE bug_id = $bugid");
my ($bugsummary) = FetchSQLData();
# Define the variables and functions that will be passed to the UI template.
$vars->{'attachid'} = $::FORM{'id'};
$vars->{'description'} = $description;
$vars->{'contenttype'} = $contenttype;
$vars->{'bugid'} = $bugid;
$vars->{'bugsummary'} = $bugsummary;
$vars->{'ispatch'} = $ispatch;
$vars->{'isobsolete'} = $isobsolete;
$vars->{'isviewable'} = $isviewable;
$vars->{'statuses'} = \%statuses;
$vars->{'statusdefs'} = \@statusdefs;
$vars->{'attachments'} = \@bugattachments;
# Return the appropriate HTTP response headers.
print "Content-Type: text/html\n\n";
# Generate and return the UI (HTML page) from the appropriate template.
$template->process("attachment/edit.atml", $vars)
|| DisplayError("Template process failed: " . $template->error())
&& exit;
}
sub update
{
# Update an attachment record.
# Get the bug ID for the bug to which this attachment is attached.
SendSQL("SELECT bug_id FROM attachments WHERE attach_id = $::FORM{'id'}");
my $bugid = FetchSQLData()
|| DisplayError("Cannot figure out bug number.")
&& exit;
# Lock database tables in preparation for updating the attachment.
SendSQL("LOCK TABLES attachments WRITE , attachstatuses WRITE ,
attachstatusdefs READ , fielddefs READ , bugs_activity WRITE");
# Get a copy of the attachment record before we make changes
# so we can record those changes in the activity table.
SendSQL("SELECT description, mimetype, ispatch, isobsolete
FROM attachments WHERE attach_id = $::FORM{'id'}");
my ($olddescription, $oldcontenttype, $oldispatch, $oldisobsolete) = FetchSQLData();
# Get the list of old status flags.
SendSQL("SELECT attachstatusdefs.name
FROM attachments, attachstatuses, attachstatusdefs
WHERE attachments.attach_id = $::FORM{'id'}
AND attachments.attach_id = attachstatuses.attach_id
AND attachstatuses.statusid = attachstatusdefs.id
ORDER BY attachstatusdefs.sortkey
");
my @oldstatuses;
while (MoreSQLData()) {
push(@oldstatuses, FetchSQLData());
}
my $oldstatuslist = join(', ', @oldstatuses);
# Update the database with the new status flags.
SendSQL("DELETE FROM attachstatuses WHERE attach_id = $::FORM{'id'}");
foreach my $statusid (@{$::MFORM{'status'}})
{
SendSQL("INSERT INTO attachstatuses (attach_id, statusid) VALUES ($::FORM{'id'}, $statusid)");
}
# Get the list of new status flags.
SendSQL("SELECT attachstatusdefs.name
FROM attachments, attachstatuses, attachstatusdefs
WHERE attachments.attach_id = $::FORM{'id'}
AND attachments.attach_id = attachstatuses.attach_id
AND attachstatuses.statusid = attachstatusdefs.id
ORDER BY attachstatusdefs.sortkey
");
my @newstatuses;
while (MoreSQLData()) {
push(@newstatuses, FetchSQLData());
}
my $newstatuslist = join(', ', @newstatuses);
# Quote the description and content type for use in the SQL UPDATE statement.
my $quoteddescription = SqlQuote($::FORM{'description'});
my $quotedcontenttype = SqlQuote($::FORM{'contenttype'});
# Update the attachment record in the database.
# Sets the creation timestamp to itself to avoid it being updated automatically.
SendSQL("UPDATE attachments
SET description = $quoteddescription ,
mimetype = $quotedcontenttype ,
ispatch = $::FORM{'ispatch'} ,
isobsolete = $::FORM{'isobsolete'} ,
creation_ts = creation_ts
WHERE attach_id = $::FORM{'id'}
");
# Record changes in the activity table.
if ($olddescription ne $::FORM{'description'}) {
my $quotedolddescription = SqlQuote($olddescription);
my $fieldid = GetFieldID('attachments.description');
SendSQL("INSERT INTO bugs_activity (bug_id, attach_id, who, bug_when, fieldid, removed, added)
VALUES ($bugid, $::FORM{'id'}, $::userid, NOW(), $fieldid, $quotedolddescription, $quoteddescription)");
}
if ($oldcontenttype ne $::FORM{'contenttype'}) {
my $quotedoldcontenttype = SqlQuote($oldcontenttype);
my $fieldid = GetFieldID('attachments.mimetype');
SendSQL("INSERT INTO bugs_activity (bug_id, attach_id, who, bug_when, fieldid, removed, added)
VALUES ($bugid, $::FORM{'id'}, $::userid, NOW(), $fieldid, $quotedoldcontenttype, $quotedcontenttype)");
}
if ($oldispatch ne $::FORM{'ispatch'}) {
my $fieldid = GetFieldID('attachments.ispatch');
SendSQL("INSERT INTO bugs_activity (bug_id, attach_id, who, bug_when, fieldid, removed, added)
VALUES ($bugid, $::FORM{'id'}, $::userid, NOW(), $fieldid, $oldispatch, $::FORM{'ispatch'})");
}
if ($oldisobsolete ne $::FORM{'isobsolete'}) {
my $fieldid = GetFieldID('attachments.isobsolete');
SendSQL("INSERT INTO bugs_activity (bug_id, attach_id, who, bug_when, fieldid, removed, added)
VALUES ($bugid, $::FORM{'id'}, $::userid, NOW(), $fieldid, $oldisobsolete, $::FORM{'isobsolete'})");
}
if ($oldstatuslist ne $newstatuslist) {
my ($removed, $added) = DiffStrings($oldstatuslist, $newstatuslist);
my $quotedremoved = SqlQuote($removed);
my $quotedadded = SqlQuote($added);
my $fieldid = GetFieldID('attachstatusdefs.name');
SendSQL("INSERT INTO bugs_activity (bug_id, attach_id, who, bug_when, fieldid, removed, added)
VALUES ($bugid, $::FORM{'id'}, $::userid, NOW(), $fieldid, $quotedremoved, $quotedadded)");
}
# Unlock all database tables now that we are finished updating the database.
SendSQL("UNLOCK TABLES");
# If this installation has enabled the request manager, let the manager know
# an attachment was updated so it can check for requests on that attachment
# and fulfill them. The request manager allows users to request database
# changes of other users and tracks the fulfillment of those requests. When
# an attachment record is updated and the request manager is called, it will
# fulfill those requests that were requested of the user performing the update
# which are requests for the attachment being updated.
#my $requests;
#if (Param('userequestmanager'))
#{
# use Request;
# # Specify the fieldnames that have been updated.
# my @fieldnames = ('description', 'mimetype', 'status', 'ispatch', 'isobsolete');
# # Fulfill pending requests.
# $requests = Request::fulfillRequest('attachment', $::FORM{'id'}, @fieldnames);
# $vars->{'requests'} = $requests;
#}
# If the user submitted a comment while editing the attachment,
# add the comment to the bug.
if ( $::FORM{'comment'} )
{
use Text::Wrap;
$Text::Wrap::columns = 80;
$Text::Wrap::huge = 'wrap';
# Append a string to the comment to let users know that the comment came from
# the "edit attachment" screen.
my $comment = qq|(From update of attachment $::FORM{'id'})\n| . $::FORM{'comment'};
my $wrappedcomment = "";
foreach my $line (split(/\r\n|\r|\n/, $comment))
{
if ( $line =~ /^>/ )
{
$wrappedcomment .= $line . "\n";
}
else
{
$wrappedcomment .= wrap('', '', $line) . "\n";
}
}
# Get the user's login name since the AppendComment function needs it.
my $who = DBID_to_name($::userid);
# Mention $::userid again so Perl doesn't give me a warning about it.
my $neverused = $::userid;
# Append the comment to the list of comments in the database.
AppendComment($bugid, $who, $wrappedcomment);
}
# Send mail to let people know the bug has changed. Uses a special syntax
# of the "open" and "exec" commands to capture the output of "processmail",
# which "system" doesn't allow, without running the command through a shell,
# which backticks (``) do.
#system ("./processmail", $bugid , $::userid);
#my $mailresults = `./processmail $bugid $::userid`;
my $mailresults = '';
open(PMAIL, "-|") or exec('./processmail', $bugid, DBID_to_name($::userid));
$mailresults .= $_ while <PMAIL>;
close(PMAIL);
# Define the variables and functions that will be passed to the UI template.
$vars->{'attachid'} = $::FORM{'id'};
$vars->{'bugid'} = $bugid;
$vars->{'mailresults'} = $mailresults;
# Return the appropriate HTTP response headers.
print "Content-Type: text/html\n\n";
# Generate and return the UI (HTML page) from the appropriate template.
$template->process("attachment/updated.atml", $vars)
|| DisplayError("Template process failed: " . $template->error())
&& exit;
}

View File

@@ -1,79 +0,0 @@
<html> <head>
<title>The "boolean chart" section of the query page</title>
</head>
<body>
<h1>The "boolean chart" section of the query page</h1>
("Boolean chart" is a terrible term; anyone got a better one I can use
instead?)
<p>
The Bugzilla query page is designed to be reasonably easy to use.
But, with such ease of use always comes some lack of power. The
"boolean chart" section is designed to let you do very powerful
queries, but it's not the easiest thing to learn (or explain).
<p>
So.
<p>
The boolean chart starts with a single "term". A term is a
combination of two pulldown menus and a text field.
You choose items from the menus, specifying "what kind of thing
am I searching for" and "what kind of matching do I want", and type in
a value on the text field, specifying "what should it match".
<p>
The real fun starts when you click on the "Or" or "And" buttons. If
you bonk on the "Or" button, then you get a second term to the right
of the first one. You can then configure that term, and the result of
the query will be anything that matches either of the terms.
<p>
Or, you can bonk the "And" button, and get a new term below the
original one, and now the result of the query will be anything that
matches both of the terms.
<p>
And you can keep clicking "And" and "Or", and get a page with tons of
terms. "Or" has higher precedence than "And". (In other words, you
can think of each line of "Or" stuff as having parenthesis around it.)
<p>
The most subtle thing is this "Add another boolean chart" button.
This is almost the same thing as the "And" button. The difference is
if you use one of the fields where several items can be associated
with a single bug. This includes "Comments", "CC", and all the
"changed [something]" entries. Now, if you have multiple terms that
all talk about one of these fields, it's ambiguous whether they are
allowed to be talking about different instances of that field. So,
to let you have it both ways, they always mean the same instance,
unless the terms appear on different charts.
<p>
For example: if you search for "priority changed to P5" and
"priority changed by person@addr", it will only find bugs where the
given person at some time changed the priority to P5. However, if
what you really want is to find all bugs where the milestone was
changed at some time by the person, and someone (possibly someone
else) at some time changed the milestone to P5, then you would put
the two terms in two different charts.
<p>
Clear as mud? Please, I beg you, rewrite this document to make
everything crystal clear, and send the improved version to <a
href="mailto:tara@tequilarista.org">Tara</a>.
<hr>
<!-- hhmts start -->
Last modified: Wed Aug 16 16:06:36 2000
<!-- hhmts end -->
</body> </html>

View File

@@ -1,649 +0,0 @@
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
# Dave Miller <justdave@syndicomm.com>
use diagnostics;
use strict;
use RelationSet;
# Use the Attachment module to display attachments for the bug.
use Attachment;
# Shut up misguided -w warnings about "used only once". For some reason,
# "use vars" chokes on me when I try it here.
sub bug_form_pl_sillyness {
my $zz;
$zz = %::FORM;
$zz = %::components;
$zz = %::proddesc;
$zz = %::prodmaxvotes;
$zz = %::versions;
$zz = @::legal_keywords;
$zz = @::legal_opsys;
$zz = @::legal_platform;
$zz = @::legal_priority;
$zz = @::settable_normal_resolution;
$zz = @::settable_dupe_resolution;
$zz = @::settable_moved_resolution;
$zz = @::legal_severity;
$zz = %::target_milestone;
}
my $loginok = quietly_check_login();
my $id = $::FORM{'id'};
my $query = "
select
bugs.bug_id,
product,
version,
rep_platform,
op_sys,
bug_status,
resolution_id,
priority,
bug_severity,
component,
assigned_to,
reporter,
bug_file_loc,
short_desc,
target_milestone,
qa_contact,
status_whiteboard,
date_format(creation_ts,'%Y-%m-%d %H:%i'),
groupset,
delta_ts,
sum(votes.count)
from bugs left join votes using(bug_id)
where bugs.bug_id = $id
group by bugs.bug_id";
SendSQL($query);
my %bug;
my @row;
@row = FetchSQLData();
my $count = 0;
foreach my $field ("bug_id", "product", "version", "rep_platform",
"op_sys", "bug_status", "resolution_id", "priority",
"bug_severity", "component", "assigned_to", "reporter",
"bug_file_loc", "short_desc", "target_milestone",
"qa_contact", "status_whiteboard", "creation_ts",
"groupset", "delta_ts", "votes") {
$bug{$field} = shift @row;
if (!defined $bug{$field}) {
$bug{$field} = "";
}
$count++;
}
$bug{'resolution'} = ResolutionIDToName($bug{'resolution_id'});
my $assignedtoid = $bug{'assigned_to'};
my $reporterid = $bug{'reporter'};
my $qacontactid = $bug{'qa_contact'};
$bug{'assigned_to_email'} = DBID_to_name($assignedtoid);
$bug{'assigned_to'} = DBID_to_real_or_loginname($bug{'assigned_to'});
$bug{'reporter'} = DBID_to_real_or_loginname($bug{'reporter'});
print qq{<FORM NAME="changeform" METHOD="POST" ACTION="process_bug.cgi">\n};
# foreach my $i (sort(keys(%bug))) {
# my $q = value_quote($bug{$i});
# print qq{<INPUT TYPE="HIDDEN" NAME="orig-$i" VALUE="$q">\n};
# }
$bug{'long_desc'} = GetLongDescriptionAsHTML($id);
my $longdesclength = length($bug{'long_desc'});
GetVersionTable();
#
# These should be read from the database ...
#
my $platform_popup = make_options(\@::legal_platform, $bug{'rep_platform'});
my $priority_popup = make_options(\@::legal_priority, $bug{'priority'});
my $sev_popup = make_options(\@::legal_severity, $bug{'bug_severity'});
my $component_popup = make_options($::components{$bug{'product'}},
$bug{'component'});
my $ccSet = new RelationSet;
$ccSet->mergeFromDB("select who from cc where bug_id=$id");
my @ccList = $ccSet->toArrayOfStrings();
my $cc_element = "<INPUT TYPE=HIDDEN NAME=cc VALUE=\"\">";
if (scalar(@ccList) > 0) {
$cc_element = "<SELECT NAME=cc MULTIPLE SIZE=5>\n";
foreach my $ccName ( @ccList ) {
$cc_element .= "<OPTION VALUE=\"$ccName\">$ccName\n";
}
$cc_element .= "</SELECT><BR>\n" .
"<INPUT TYPE=CHECKBOX NAME=removecc>Remove selected CCs<br>\n";
}
my $URL = value_quote($bug{'bug_file_loc'});
if (defined $URL && $URL ne "none" && $URL ne "NULL" && $URL ne "") {
$URL = "<B><A HREF=\"$URL\">URL:</A></B>";
} else {
$URL = "<B>URL:</B>";
}
#
# Make a list of products the user has access to
#
my (@prodlist, $product_popup);
foreach my $p (sort(keys %::versions)) {
if ($p eq $bug{'product'}) {
# if it's the product the bug is already in, it's ALWAYS in
# the popup, period, whether the user can see it or not, and
# regardless of the disallownew setting.
push(@prodlist, $p);
next;
}
if (defined $::proddesc{$p} && $::proddesc{$p} eq '0') {
# Special hack. If we stuffed a "0" into proddesc, that means
# that disallownew was set for this bug, and so we don't want
# to allow people to specify that product here.
next;
}
if(Param("usebuggroupsentry")
&& GroupExists($p)
&& !UserInGroup($p))
{
# If we're using bug groups to restrict entry on products, and
# this product has a bug group, and the user is not in that
# group, we don't want to include that product in this list.
next;
}
push(@prodlist, $p);
}
# If the user has access to multiple products, display a popup, otherwise
# display the current product.
if (1 < @prodlist) {
$product_popup = "<SELECT NAME=product>" .
make_options(\@prodlist, $bug{'product'}) .
"</SELECT>";
}
else {
$product_popup = $bug{'product'} .
"<INPUT TYPE=\"HIDDEN\" NAME=\"product\" VALUE=\"$bug{'product'}\">";
}
print "
<INPUT TYPE=HIDDEN NAME=\"delta_ts\" VALUE=\"$bug{'delta_ts'}\">
<INPUT TYPE=HIDDEN NAME=\"longdesclength\" VALUE=\"$longdesclength\">
<INPUT TYPE=HIDDEN NAME=\"id\" VALUE=$id>
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0><TR>
<TD ALIGN=RIGHT><B>Bug#:</B></TD><TD><A HREF=\"" . Param('urlbase') . "show_bug.cgi?id=$bug{'bug_id'}\">$bug{'bug_id'}</A></TD>
<TD>&nbsp;</TD>
<TD ALIGN=RIGHT><B><A HREF=\"bug_status.cgi#rep_platform\">Platform:</A></B></TD>
<TD><SELECT NAME=rep_platform>$platform_popup</SELECT></TD>
<TD>&nbsp;</TD>
<TD ALIGN=RIGHT><B>Reporter:</B></TD><TD>$bug{'reporter'}</TD>
</TR><TR>
<TD ALIGN=RIGHT><B>Product:</B></TD>
<TD>$product_popup</TD>
<TD>&nbsp;</TD>
<TD ALIGN=RIGHT><B>OS:</B></TD>
<TD><SELECT NAME=op_sys>" .
make_options(\@::legal_opsys, $bug{'op_sys'}) .
"</SELECT></TD>
<TD>&nbsp;</TD>
<TD ALIGN=RIGHT NOWRAP><b>Add CC:</b></TD>
<TD><INPUT NAME=newcc SIZE=30 VALUE=\"\"></TD>
</TR><TR>
<TD ALIGN=RIGHT><B><A HREF=\"describecomponents.cgi?product=" .
url_quote($bug{'product'}) . "\">Component:</A></B></TD>
<TD><SELECT NAME=component>$component_popup</SELECT></TD>
<TD>&nbsp;</TD>
<TD ALIGN=RIGHT><B>Version:</B></TD>
<TD><SELECT NAME=version>" .
make_options($::versions{$bug{'product'}}, $bug{'version'}) .
"</SELECT></TD>
<TD>&nbsp;</TD>
<TD ROWSPAN=4 ALIGN=RIGHT VALIGN=TOP><B>CC:</B></TD>
<TD ROWSPAN=4 VALIGN=TOP> $cc_element </TD>
</TR><TR>
<TD ALIGN=RIGHT><B><A HREF=\"bug_status.cgi\">Status:</A></B></TD>
<TD>$bug{'bug_status'}</TD>
<TD>&nbsp;</TD>
<TD ALIGN=RIGHT><B><A HREF=\"bug_status.cgi#priority\">Priority:</A></B></TD>
<TD><SELECT NAME=priority>$priority_popup</SELECT></TD>
<TD>&nbsp;</TD>
</TR><TR>
<TD ALIGN=RIGHT><B><A HREF=\"bug_status.cgi\">Resolution:</A></B></TD>
<TD>$bug{'resolution'}</TD>
<TD>&nbsp;</TD>
<TD ALIGN=RIGHT><B><A HREF=\"bug_status.cgi#severity\">Severity:</A></B></TD>
<TD><SELECT NAME=bug_severity>$sev_popup</SELECT></TD>
<TD>&nbsp;</TD>
</TR><TR>
<TD ALIGN=RIGHT><B><A HREF=\"bug_status.cgi#assigned_to\">Assigned&nbsp;To:
</A></B></TD>
<TD>$bug{'assigned_to'}</TD>
<TD>&nbsp;</TD>";
if (Param("usetargetmilestone")) {
my $url = "";
if (defined $::milestoneurl{$bug{'product'}}) {
$url = $::milestoneurl{$bug{'product'}};
}
if ($url eq "") {
$url = "notargetmilestone.html";
}
if ($bug{'target_milestone'} eq "") {
$bug{'target_milestone'} = " ";
}
print "
<TD ALIGN=RIGHT><A href=\"$url\"><B>Target Milestone:</B></A></TD>
<TD><SELECT NAME=target_milestone>" .
make_options($::target_milestone{$bug{'product'}},
$bug{'target_milestone'}) .
"</SELECT></TD>
<TD>&nbsp;</TD>";
} else { print "<TD></TD><TD></TD><TD>&nbsp;</TD>"; }
print "
</TR>";
if (Param("useqacontact")) {
my $name = $bug{'qa_contact'} > 0 ? DBID_to_name($bug{'qa_contact'}) : "";
print "
<TR>
<TD ALIGN=\"RIGHT\"><B>QA Contact:</B>
<TD COLSPAN=7>
<INPUT NAME=qa_contact VALUE=\"" .
value_quote($name) .
"\" SIZE=60></TD>
</TR>";
}
print "
<TR>
<TD ALIGN=\"RIGHT\">$URL
<TD COLSPAN=7>
<INPUT NAME=bug_file_loc VALUE=\"" . value_quote($bug{'bug_file_loc'}) . "\" SIZE=60></TD>
</TR><TR>
<TD ALIGN=\"RIGHT\"><B>Summary:</B>
<TD COLSPAN=7>
<INPUT NAME=short_desc VALUE=\"" .
value_quote($bug{'short_desc'}) .
"\" SIZE=60></TD>
</TR>";
if (Param("usestatuswhiteboard")) {
print "
<TR>
<TD ALIGN=\"RIGHT\"><B>Status Whiteboard:</B>
<TD COLSPAN=7>
<INPUT NAME=status_whiteboard VALUE=\"" .
value_quote($bug{'status_whiteboard'}) .
"\" SIZE=60></TD>
</TR>";
}
if (@::legal_keywords) {
SendSQL("SELECT keyworddefs.name
FROM keyworddefs, keywords
WHERE keywords.bug_id = $id AND keyworddefs.id = keywords.keywordid
ORDER BY keyworddefs.name");
my @list;
while (MoreSQLData()) {
push(@list, FetchOneColumn());
}
my $value = value_quote(join(', ', @list));
print qq{
<TR>
<TD ALIGN=right><B><A HREF="describekeywords.cgi">Keywords:</A></B>
<TD COLSPAN=7><INPUT NAME="keywords" VALUE="$value" SIZE=60></TD>
</TR>
};
}
print "</TABLE>\n";
# Display attachments for this bug (if any).
&Attachment::list($id);
sub EmitDependList {
my ($desc, $myfield, $targetfield) = (@_);
print "<th align=right>$desc:</th><td>";
my @list;
SendSQL("select $targetfield from dependencies where
$myfield = $id order by $targetfield");
while (MoreSQLData()) {
my ($i) = (FetchSQLData());
push(@list, $i);
print GetBugLink($i, $i);
print " ";
}
print "</td><td><input name=$targetfield value=\"" .
join(',', @list) . "\"></td>\n";
}
if (Param("usedependencies")) {
print "<table><tr>\n";
EmitDependList("Bug $id depends on", "blocked", "dependson");
print qq{
<td rowspan=2><a href="showdependencytree.cgi?id=$id">Show dependency tree</a>
};
if (Param("webdotbase") ne "") {
print qq{
<br><a href="showdependencygraph.cgi?id=$id">Show dependency graph</a>
};
}
print "</td></tr><tr>";
EmitDependList("Bug $id blocks", "dependson", "blocked");
print "</tr></table>\n";
}
if ($::prodmaxvotes{$bug{'product'}}) {
print qq{
<table><tr>
<th><a href="votehelp.html">Votes:</a></th>
<td>
$bug{'votes'}&nbsp;&nbsp;&nbsp;
<a href="showvotes.cgi?bug_id=$id">Show votes for this bug</a>&nbsp;&nbsp;&nbsp;
<a href="showvotes.cgi?voteon=$id">Vote for this bug</a>
</td>
</tr></table>
};
}
print "
<br>
<B>Additional Comments:</B>
<BR>
<TEXTAREA WRAP=HARD NAME=comment ROWS=10 COLS=80></TEXTAREA><BR>";
if ($::usergroupset ne '0' || $bug{'groupset'} ne '0') {
SendSQL("select bit, name, description, (bit & $bug{'groupset'} != 0), " .
"(bit & $::usergroupset != 0) from groups where isbuggroup != 0 " .
# Include active groups as well as inactive groups to which
# the bug already belongs. This way the bug can be removed
# from an inactive group but can only be added to active ones.
"and ((isactive = 1 and (bit & $::usergroupset != 0)) or " .
"(bit & $bug{'groupset'} != 0)) " .
"order by description");
# We only print out a header bit for this section if there are any
# results.
my $groupFound = 0;
my $inAllGroups = 1;
while (MoreSQLData()) {
my ($bit, $name, $description, $ison, $ingroup) = (FetchSQLData());
# For product groups, we only want to display the checkbox if either
# (1) The bit is already set, or
# (2) The user is in the group, but either:
# (a) The group is a product group for the current product, or
# (b) The group name isn't a product name
# This measns that all product groups will be skipped, but non-product
# bug groups will still be displayed.
if($ison || ($ingroup && (($name eq $bug{'product'}) ||
(!defined $::proddesc{$name})))) {
if(!$groupFound) {
print "<br><b>Only users in the selected groups can view this bug:</b><br>\n";
print "<font size=\"-1\">(Unchecking all boxes makes this a public bug.)</font><br><br>\n";
$groupFound = 1;
}
if(!$ingroup) {
$inAllGroups = 0;
}
# Modifying this to use checkboxes instead
my $checked = $ison ? " CHECKED" : "";
my $disabled = $ingroup ? "" : " DISABLED=\"disabled\"";
# indent these a bit
print "&nbsp;&nbsp;&nbsp;&nbsp;";
print "<input type=checkbox name=\"bit-$bit\" value=1$checked$disabled>\n";
print "$description<br>\n";
}
}
if (!$inAllGroups) {
print "<b>Only members of a group can change the visibility of a bug for that group</b><br>";
}
# If the bug is restricted to a group, display checkboxes that allow
# the user to set whether or not the reporter, assignee, QA contact,
# and cc list can see the bug even if they are not members of all
# groups to which the bug is restricted.
if ( $bug{'groupset'} != 0 ) {
# Determine whether or not the bug is always accessible by the reporter,
# QA contact, and/or users on the cc: list.
SendSQL("SELECT reporter_accessible , assignee_accessible ,
qacontact_accessible , cclist_accessible
FROM bugs
WHERE bug_id = $id
");
my ($reporter_accessible, $assignee_accessible, $qacontact_accessible, $cclist_accessible) = FetchSQLData();
# Convert boolean data about which roles always have access to the bug
# into "checked" attributes for the HTML checkboxes by which users
# set and change these values.
my $reporter_checked = $reporter_accessible ? " checked" : "";
my $assignee_checked = $assignee_accessible ? " checked" : "";
my $qacontact_checked = $qacontact_accessible ? " checked" : "";
my $cclist_checked = $cclist_accessible ? " checked" : "";
# Display interface for changing the values.
print qq|
<p>
<b>But users in the roles selected below can always view this bug:</b><br>
<small>(Does not take effect unless the bug is restricted to at least one group.)</small>
</p>
<p>
<input type="checkbox" name="reporter_accessible" value="1" $reporter_checked>Reporter
<input type="checkbox" name="assignee_accessible" value="1" $assignee_checked>Assignee
<input type="checkbox" name="qacontact_accessible" value="1" $qacontact_checked>QA Contact
<input type="checkbox" name="cclist_accessible" value="1" $cclist_checked>CC List
</p>
|;
}
}
print "<br>
<INPUT TYPE=radio NAME=knob VALUE=none CHECKED>
Leave as <b>$bug{'bug_status'} $bug{'resolution'}</b><br>";
# knum is which knob number we're generating, in javascript terms.
my $knum = 1;
my $status = $bug{'bug_status'};
# In the below, if the person hasn't logged in ($::userid == 0), then
# we treat them as if they can do anything. That's because we don't
# know why they haven't logged in; it may just be because they don't
# use cookies. Display everything as if they have all the permissions
# in the world; their permissions will get checked when they log in
# and actually try to make the change.
my $canedit = UserInGroup("editbugs") || ($::userid == 0);
my $canconfirm;
if ($status eq $::unconfirmedstate) {
$canconfirm = UserInGroup("canconfirm") || ($::userid == 0);
if ($canedit || $canconfirm) {
print "<INPUT TYPE=radio NAME=knob VALUE=confirm>";
print "Confirm bug (change status to <b>NEW</b>)<br>";
$knum++;
}
}
my $movers = Param("movers");
$movers =~ s/\s?,\s?/|/g;
$movers =~ s/@/\@/g;
if ($canedit || $::userid == $assignedtoid ||
$::userid == $reporterid || $::userid == $qacontactid) {
if (IsOpenedState($status)) {
if ($status ne "ASSIGNED") {
print "<INPUT TYPE=radio NAME=knob VALUE=accept>";
my $extra = "";
if ($status eq $::unconfirmedstate && ($canconfirm || $canedit)) {
$extra = "confirm bug, ";
}
print "Accept bug (${extra}change status to <b>ASSIGNED</b>)<br>";
$knum++;
}
if ($bug{'resolution'} ne "") {
print "<INPUT TYPE=radio NAME=knob VALUE=clearresolution>\n";
print "Clear the resolution (remove the current resolution of\n";
print "<b>$bug{'resolution'}</b>)<br>\n";
$knum++;
}
my $resolution_popup = make_options(\@::settable_normal_resolution,
$bug{'resolution'});
print "<INPUT TYPE=radio NAME=knob VALUE=resolve>
Resolve bug, changing <A HREF=\"bug_status.cgi\">resolution</A> to
<SELECT NAME=resolution
ONCHANGE=\"document.changeform.knob\[$knum\].checked=true\">
$resolution_popup</SELECT><br>\n";
$knum++;
print "<INPUT TYPE=radio NAME=knob VALUE=duplicate>
Resolve bug, mark it as ";
if (@::settable_dupe_resolution == 1) {
print $::settable_dupe_resolution[0] . " ";
} else {
my $resolution_popup = make_options(\@::settable_dupe_resolution);
print "<select name=\"dupe_resolution\" onchange=\"if (this.value != '') {document.changeform.knob\[$knum\].checked=true}\">" .
"$resolution_popup</select>";
}
print "of bug #
<INPUT NAME=dup_id SIZE=6 ONCHANGE=\"if (this.value != '') {document.changeform.knob\[$knum\].checked=true}\"><br>\n";
$knum++;
my $assign_element = "<INPUT NAME=\"assigned_to\" SIZE=32 ONCHANGE=\"if ((this.value != ".SqlQuote($bug{'assigned_to_email'}) .") && (this.value != '')) { document.changeform.knob\[$knum\].checked=true; }\" VALUE=\"$bug{'assigned_to_email'}\">";
print "<INPUT TYPE=radio NAME=knob VALUE=reassign>
<A HREF=\"bug_status.cgi#assigned_to\">Reassign</A> bug to
$assign_element
<br>\n";
if ($status eq $::unconfirmedstate && ($canconfirm || $canedit)) {
print "&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=checkbox NAME=andconfirm> and confirm bug (change status to <b>NEW</b>)<BR>";
}
$knum++;
print "<INPUT TYPE=radio NAME=knob VALUE=reassignbycomponent>
Reassign bug to owner ";
if (Param("useqacontact")) { print "and QA contact "; }
print "of selected component<br>\n";
if ($status eq $::unconfirmedstate && ($canconfirm || $canedit)) {
print "&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=checkbox NAME=compconfirm> and confirm bug (change status to <b>NEW</b>)<BR>";
}
$knum++;
} elsif ( Param("move-enabled") && lsearch(\@::settable_moved_resolution, $bug{'resolution'}) != -1) {
if ( (defined $::COOKIE{"Bugzilla_login"})
&& ($::COOKIE{"Bugzilla_login"} =~ /($movers)/) ){
print "<INPUT TYPE=radio NAME=knob VALUE=reopen> Reopen bug<br>\n";
$knum++;
if ($status eq "RESOLVED") {
print "<INPUT TYPE=radio NAME=knob VALUE=verify>
Mark bug as <b>VERIFIED</b><br>\n";
$knum++;
}
if ($status ne "CLOSED") {
print "<INPUT TYPE=radio NAME=knob VALUE=close>
Mark bug as <b>CLOSED</b><br>\n";
$knum++;
}
}
} else {
print "<INPUT TYPE=radio NAME=knob VALUE=reopen> Reopen bug<br>\n";
$knum++;
if ($status eq "RESOLVED") {
print "<INPUT TYPE=radio NAME=knob VALUE=verify>
Mark bug as <b>VERIFIED</b><br>\n";
$knum++;
}
if ($status ne "CLOSED") {
print "<INPUT TYPE=radio NAME=knob VALUE=close>
Mark bug as <b>CLOSED</b><br>\n";
$knum++;
}
}
}
print "
<INPUT TYPE=\"submit\" VALUE=\"Commit\">
<INPUT TYPE=\"reset\" VALUE=\"Reset\">
<INPUT TYPE=\"hidden\" name=\"form_name\" VALUE=\"process_bug\">
<P>
<FONT size=\"+1\"><B>
<A HREF=\"show_activity.cgi?id=$id\">View Bug Activity</A>
&nbsp; | &nbsp;
<A HREF=\"long_list.cgi?buglist=$id\">Format For Printing</A>
</B></FONT>
";
if ( Param("move-enabled") && (defined $::COOKIE{"Bugzilla_login"}) && ($::COOKIE{"Bugzilla_login"} =~ /($movers)/) ){
print qq{&nbsp; <font size="+1"><B> | </B></font> &nbsp;
<input type="submit" name="action" value="} .
Param("move-button-text") . qq{">\n};
if (@::settable_moved_resolution == 1) {
print qq{<input type="hidden" name="move_resolution" value="$::settable_moved_resolution[0]">};
}
else {
my $resolution_popup = make_options(\@::settable_moved_resolution);
print qq{Resolution: <select name="move_resolution">$resolution_popup</select>};
}
}
print "<BR></FORM>";
print qq|
<table><tr><td align=left><B><a name="c0" href="#c0">Description:</a></B></td>
<td align=right width=100%>Opened: $bug{'creation_ts'}</td></tr></table>
<HR>
|;
print $bug{'long_desc'};
print "
<HR>\n";
# To add back option of editing the long description, insert after the above
# long_list.cgi line:
# <A HREF=\"edit_desc.cgi?id=$id\">Edit Long Description</A>
navigation_header();
PutFooter();
1;

View File

@@ -1,202 +0,0 @@
#!/usr/bonsaitools/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
# Matthew Tuck <matty@chariot.net.au>
use diagnostics;
use strict;
use lib ".";
require "CGI.pl";
# Silliness
my $silly = $::queryable_resolution;
ConnectToDatabase();
GetVersionTable();
print "Content-type: text/html\n\n";
PutHeader("A Bug's Life Cycle");
print qq{The <B>status</B> and <B>resolution</B> field define and track the
life cycle of a bug.
<a name="status"></a>
<p>
<TABLE BORDER=1 CELLPADDING=4>
<TR ALIGN=CENTER VALIGN=TOP>
<TD WIDTH="50%"><H1>STATUS</H1> <TD><H1>RESOLUTION</H1>
<TR VALIGN=TOP>
<TD>The <B>status</B> field indicates the general health of a bug. Only
certain status transitions are allowed.
<TD>The <b>resolution</b> field indicates what happened to this bug.
<TR VALIGN=TOP><TD>
<DL><DT><B>
<A HREF="confirmhelp.html">UNCONFIRMED</A></B>
<DD> This bug has recently been added to the database. Nobody has
validated that this bug is true. Users who have the "canconfirm"
permission set may confirm this bug, changing its state to NEW.
Or, it may be directly resolved and marked RESOLVED.
<DT><B>NEW</B>
<DD> This bug has recently been added to the assignee's list of bugs
and must be processed. Bugs in this state may be accepted, and
become <B>ASSIGNED</B>, passed on to someone else, and remain
<B>NEW</B>, or resolved and marked <B>RESOLVED</B>.
<DT><B>ASSIGNED</B>
<DD> This bug is not yet resolved, but is assigned to the proper
person. From here bugs can be given to another person and become
<B>NEW</B>, or resolved and become <B>RESOLVED</B>.
<DT><B>REOPENED</B>
<DD>This bug was once resolved, but the resolution was deemed
incorrect. For example, a <B>WORKSFORME</B> bug is
<B>REOPENED</B> when more information shows up and the bug is now
reproducible. From here bugs are either marked <B>ASSIGNED</B>
or <B>RESOLVED</B>.
</DL>
<TD>
<DL>
<DD> No resolution yet. All bugs which are in one of these "open" states
have the resolution set to blank. All other bugs
will be marked with one of the following resolutions.
</DL>
<TR VALIGN=TOP><TD>
<DL>
<DT><B>RESOLVED</B>
<DD> A resolution has been taken, and it is awaiting verification by
QA. From here bugs are either re-opened and become
<B>REOPENED</B>, are marked <B>VERIFIED</B>, or are closed for good
and marked <B>CLOSED</B>.
<DT><B>VERIFIED</B>
<DD> QA has looked at the bug and the resolution and agrees that the
appropriate resolution has been taken. Bugs remain in this state
until the product they were reported against actually ships, at
which point they become <B>CLOSED</B>.
<DT><B>CLOSED</B>
<DD> The bug is considered dead, the resolution is correct. Any zombie
bugs who choose to walk the earth again must do so by becoming
<B>REOPENED</B>.
</DL>
<TD>
<DL>};
SendSQL("SELECT name, description FROM resolutions ORDER BY sortkey, name");
while (MoreSQLData()) {
my ($name, $description) = FetchSQLData();
if (lsearch(\@::queryable_resolution, $name) != -1) {
$name = html_quote($name);
$description = html_quote($description);
print "<dt><b>$name</b>\n";
print "<dd> $description\n";
}
}
print qq{</DL>
</TABLE>
<H1>Other Fields</H1>
<table border=1 cellpadding=4><tr><td>
<h2><a name="severity">Severity</a></h2>
This field describes the impact of a bug.
<p>
<p>
<table>
<tr><th>Blocker</th><td>Blocks development and/or testing work
<tr><th>Critical</th><td>crashes, loss of data, severe memory leak
<tr><th>Major</th><td>major loss of function
<tr><th>Minor</th><td>minor loss of function, or other problem where easy workaround is present
<tr><th>Trivial</th><td>cosmetic problem like misspelled words or misaligned text
<tr><th>Enhancement</th><td>Request for enhancement
</table>
</td><td>
<h2><a name="priority">Priority</a></h2>
This field describes the importance and order in which a bug should be
fixed. This field is utilized by the programmers/engineers to
prioritize their work to be done. The available priorities are:
<p>
<p>
<table>
<tr><th>P1</th><td>Most important
<tr><th>P2</th><td>
<tr><th>P3</th><td>
<tr><th>P4</th><td>
<tr><th>P5</th><td>Least important
</table>
</tr></table>
<h2><a name="rep_platform">Platform</a></h2>
This is the hardware platform against which the bug was reported. Legal
platforms include:
<UL>
<LI> All (happens on all platform; cross-platform bug)
<LI> Macintosh
<LI> PC
<LI> Sun
<LI> HP
</UL>
<b>Note:</b> Selecting the option "All" does not select bugs assigned against all platforms. It
merely selects bugs that <b>occur</b> on all platforms.
<h2><a name="op_sys">Operating System</a></h2>
This is the operating system against which the bug was reported. Legal
operating systems include:
<UL>
<LI> All (happens on all operating systems; cross-platform bug)
<LI> Windows 95
<LI> Mac System 8.0
<LI> Linux
</UL>
<p>Note that the operating system implies the platform, but not always.
For example, Linux can run on PC and Macintosh and others.</p>
<h2><a name="assigned_to">Assigned To</a></h2>
<p>This is the person in charge of resolving the bug. Every time this
field changes, the status changes to <b>NEW</b> to make it easy to see
which new bugs have appeared on a person's list.</p>
<p>The default status for queries is set to NEW, ASSIGNED and REOPENED. When
searching for bugs that have been resolved or verified, remember to set the
status field appropriately.</p>
};
PutFooter();

File diff suppressed because it is too large Load Diff

View File

@@ -1,281 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Symantec Visual Page 1.0">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
<TITLE>Bug Writing Guidelines</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H1 ALIGN="CENTER">bug writing guidelines</H1>
<P ALIGN="CENTER"><FONT SIZE="2"><B>(Please send feedback/update requests to </B></FONT><A
HREF="mailto:eli@prometheus-music.com"><FONT SIZE="2"><B>Eli Goldberg</B></FONT></A><FONT
SIZE="2"><B>)</B></FONT></P>
<P><FONT SIZE="4"><B><BR>
Why You Should Read This</B></FONT>
<BLOCKQUOTE>
<P>Simply put, the more effectively you report a bug, the more likely an engineer
will actually fix it. <BR>
<A HREF="http://bugzilla.mozilla.org"><BR>
</A>These bug writing guidelines are an attempt at a general tutorial on writing
effective bug reports for novice bug writers; not every sentence may precisely apply
to your software project.
</BLOCKQUOTE>
<P><FONT SIZE="4"><B><BR>
How to Write a Useful Bug Report</B></FONT>
<BLOCKQUOTE>
<P>Useful bug reports are ones that get bugs fixed. A useful bug report normally
has two qualities:
<OL>
<LI><B>Reproducible.</B> If an engineer can't see it or conclusively prove that it
exists, the engineer will probably stamp it &quot;WORKSFORME&quot; or &quot;INVALID&quot;,
and move on to the next bug. Every detail you can provide helps. <BR>
<BR>
<LI><B>Specific.</B> The quicker the engineer can isolate the issue to a specific
problem, the more likely it'll be expediently fixed.<B> </B>(If a programmer or tester
has to decypher a bug, they spend more time cursing the submitter than fixing or
testing the problem.)
</OL>
<P>Let's say the application you're testing is a web browser. You crash at foo.com,
and want to write up a bug report:
<BLOCKQUOTE>
<P><B>BAD:</B> &quot;My browser crashed. I think I was on foo.com. My computer uses
Windows. I think that this is a really bad problem and you should fix it now. By
the way, your icons really suck. Nobody will use your software if you keep those
ugly icons. Oh, and my grandmother's home page doesn't look right, either, it's all
messed up. Good luck.&quot;<BR>
<BR>
<B>GOOD: </B>&quot;I crashed each time when I went to foo.com, using the 10.28.99
build on a Win NT 4.0 (Service Pack 5) system. I also rebooted into Linux, and reproduced
this problem using the 10.28.99 Linux build.<BR>
<BR>
It again crashed each time upon drawing the Foo banner at the top of the page. I
broke apart the page, and discovered that the following image link will crash the
application reproducibly, unless you remove the &quot;border=0&quot; attribute:<BR>
<BR>
<FONT SIZE="2"><TT>&lt;IMG SRC=&quot;http://foo.com/images/topics/topicfoos.gif&quot;
width=34 height=44 border=0 alt=&quot;News&quot;&gt;</TT>&quot;</FONT>
</BLOCKQUOTE>
</BLOCKQUOTE>
<P><FONT SIZE="4"><B><BR>
<BR>
How to Enter your Useful Bug Report into Bugzilla</B>:</FONT>
<BLOCKQUOTE>
<P>Before you enter your bug, use the Bugzilla Query Page to determine whether the
defect you've discovered is a known bug, and has already been reported. (If your
bug is the 37th duplicate of a known issue, you're more likely to annoy the engineer.
Annoyed engineers fix fewer bugs.)<BR>
<BR>
Next, be sure that you've reproduced your bug using a recent build. (Engineers tend
to be most interested in problems afflicting the code base that they're actively
working on, rather than those in a code base that's hundreds of bug fixes obsolete.)<BR>
<BR>
If you've discovered a new bug using a current build, report it in Bugzilla:
</BLOCKQUOTE>
<OL>
<OL>
<LI>From your Bugzilla main page, choose &quot;Enter a new bug&quot;.
<LI>Select the product that you've found a bug in.
<LI>Enter your E-mail address, Password, and press the &quot;Login&quot; button.
(If you don't yet have a password, leave the password text box empty, and press the
&quot;E-mail me a password&quot; button instead. You'll receive an E-mail message
with your password shortly.)
</OL>
<P>Now, fill out the form. Here's what it all means:
</OL>
<BLOCKQUOTE>
<P><B>Where did you find the bug?</B>
<BLOCKQUOTE>
<P><B>Product: In which product did you find the bug?</B><BR>
You just filled this out on the last page.</P>
<P><B>Version: In which product version did you find the bug?</B><BR>
If applicable.</P>
<P><B>Component: In which component does the bug exist?</B><BR>
Bugzilla requires that you select a component to enter a bug. (If they all look meaningless,
click on the Component link, which links to descriptions of each component, to help
you make the best choice.)</P>
<P><B>Platform:&#160;On which hardware platform did you find this bug?</B><FONT SIZE="2"><B>
</B>(e.g. Macintosh, SGI, Sun, PC.) </FONT><BR>
If you know the bug happens on all hardware platforms, choose 'All'. Otherwise, select
the platform that you found the bug on, or &quot;Other&quot; if your platform isn't
listed.</P>
<P><B>OS: On which Operating System (OS) did you find this bug?</B> <FONT SIZE="2">(e.g.
Linux, Windows NT, Mac OS 8.5.)</FONT><BR>
If you know the bug happens on all OSs, choose 'All'. Otherwise, select the OS that
you found the bug on, or &quot;Other&quot; if your OS isn't listed.</P>
</BLOCKQUOTE>
<P><B><BR>
How important is the bug?</B>
<BLOCKQUOTE>
<P><B>Severity: How damaging is the bug?</B><BR>
This item defaults to 'normal'. (To determine the most appropriate severity for a
particular bug, click on the Severity link for a full explanation of each choice,
from Critical to Enhancement.)
</BLOCKQUOTE>
<P><B><BR>
Who will be following up on the bug?</B>
<BLOCKQUOTE>
<P><B>Assigned To: Which engineer should be responsible for fixing this bug?</B><BR>
Bugzilla will automatically assign the bug to a default engineer upon submitting
a bug report; the text box exists to allow you to manually assign it to a different
engineer. (To see the list of default engineers for each component, click on the
Component link.)</P>
<P><B>Cc: Who else should receive e-mail updates on changes to this bug? </B><BR>
List the full e-mail addresses of other individuals who should receive an e-mail
update upon every change to the bug report. You can enter as many e-mail addresses
as you'd like; e-mail addresses must be separated by commas, with no spaces between
the addresses.
</BLOCKQUOTE>
<P><B><BR>
What else can you tell the engineer about the bug?</B></P>
<BLOCKQUOTE>
<P><B>URL: On what URL did you discover this bug?</B><BR>
If you encountered the bug on a particular URL, please provide it (or, them) here.
If you've isolated the bug to a specific HTML snippet, please also provide a URL
for that, too.</P>
<P><B>Summary:</B> <B>How would you describe the bug, in approximately 60 or fewer
characters?</B><BR>
A good summary should <U>quickly and uniquely identify a bug report</U>. Otherwise,
developers cannot meaningfully query by bug summary, and will often fail to pay attention
to your bug report when reviewing a 10 page bug list.<BR>
<BR>
A summary of &quot;PCMCIA install fails on Tosh Tecra 780DVD w/ 3c589C&quot; is a
useful title. &quot;Software fails&quot; or &quot;install problem&quot; would be
examples of a bad title.</P>
<P><BR>
<B>Description: What else can you tell the engineer about this bug? </B><BR>
Please provide as detailed of a problem diagnosis in this field as possible. <BR>
<BR>
Where applicable, using the following bug report template will help ensure that all
relevant information comes through:
<BLOCKQUOTE>
<P><B>Overview Description:</B> More detailed expansion of summary.
<BLOCKQUOTE>
<PRE><FONT SIZE="2">Drag-selecting any page crashes Mac builds in NSGetFactory</FONT></PRE>
</BLOCKQUOTE>
<P><B>Steps to Reproduce: </B>The minimal set of steps necessary to trigger the bug.
Include any special setup steps.
<BLOCKQUOTE>
<PRE><FONT SIZE="2">1) View any web page. (I used the default sample page,
resource:/res/samples/test0.html)
2) Drag-select the page. (Specifically, while holding down the
mouse button, drag the mouse pointer downwards from any point in
the browser's content region to the bottom of the browser's
content region.)</FONT></PRE>
</BLOCKQUOTE>
<P><B>Actual Results:</B> What the application did after performing the above steps.
<BLOCKQUOTE>
<PRE><FONT SIZE="2">The application crashed. Stack crawl appended below from MacsBug.</FONT></PRE>
</BLOCKQUOTE>
<P><B>Expected Results:</B> What the application should have done, were the bug not
present.
<BLOCKQUOTE>
<PRE><FONT SIZE="2">The window should scroll downwards. Scrolled content should
be selected. (Or, at least, the application should not crash.)</FONT></PRE>
</BLOCKQUOTE>
<P><B>Build Date &amp; Platform:</B> Date and platform of the build that you first
encountered the bug in.
<BLOCKQUOTE>
<PRE><FONT SIZE="2">11/2/99 build on Mac OS (Checked Viewer &amp; Apprunner)</FONT></PRE>
</BLOCKQUOTE>
<P><B>Additional Builds and Platforms:</B> Whether or not the bug takes place on
other platforms or browsers.
<BLOCKQUOTE>
<PRE><FONT SIZE="2"> - Occurs On
Seamonkey (11/2/99 build on Windows NT 4.0)
- Doesn't Occur On
Seamonkey (11/4/99 build on Red Hat Linux; feature not supported)
Internet Explorer 5.0 (RTM build on Windows NT 4.0)
Netscape Communicator 4.5 (RTM build on Mac OS)</FONT>
</PRE>
</BLOCKQUOTE>
<P><B>Additional Information:</B> Any other debugging information. For crashing bugs:
<UL>
<LI><B>Win32:</B> if you receive a Dr. Watson error, please note the type of the
crash, and the module that the application crashed in. (e.g. access violation in
apprunner.exe)
<LI><B>Mac OS:</B> if you're running MacsBug, please provide the results of a <B><TT>how</TT></B>
and an <B><TT>sc</TT></B>.
<LI><B>Unix: </B>please provide a minimized stack trace, which can be generated by
typing <B><TT>gdb apprunner core</TT></B> into a shell prompt.
</UL>
<BLOCKQUOTE>
<P>
<PRE><FONT SIZE="2">*** MACSBUG STACK CRAWL OF CRASH (Mac OS)
Calling chain using A6/R1 links
Back chain ISA Caller
00000000 PPC 0BA85E74
03AEFD80 PPC 0B742248
03AEFD30 PPC 0B50FDDC NSGetFactory+027FC
PowerPC unmapped memory exception at 0B512BD0 NSGetFactory+055F0</FONT></PRE>
</BLOCKQUOTE>
</BLOCKQUOTE>
</BLOCKQUOTE>
<P>You're done! <BR>
<BR>
After double-checking your entries for any possible errors, press the &quot;Commit&quot;
button, and your bug report will now be in the Bugzilla database.<BR>
<I><BR>
<BR>
</I><FONT SIZE="2">(Thanks to Claudius Gayle, Peter Mock, Chris Pratt, Tom Schutter,
and Chris Yeh for contributing to this document. Constructive </FONT><A HREF="mailto:eli@prometheus-music.com"><FONT
SIZE="2">suggestions</FONT></A><FONT SIZE="2"> welcome.)</FONT>
</BLOCKQUOTE>
</BODY>
</HTML>

View File

@@ -1,46 +0,0 @@
<!ELEMENT bugzilla (bug+)>
<!ATTLIST bugzilla
version CDATA #REQUIRED
urlbase CDATA #REQUIRED
maintainer CDATA #REQUIRED
exporter CDATA #IMPLIED
>
<!ELEMENT bug (bug_id, (exporter?, urlbase?, bug_status, product, priority, version, rep_platform, assigned_to, delta_ts, component, reporter, target_milestone?, bug_severity, creation_ts, qa_contact?, op_sys, resolution?, bug_file_loc?, short_desc?, keywords*, status_whiteboard?, dependson*, blocks*, cc*, long_desc*, attachment*)?)>
<!ATTLIST bug
error (NotFound | NotPermitted | InvalidBugId) #IMPLIED
>
<!ELEMENT bug_id (#PCDATA)>
<!ELEMENT exporter (#PCDATA)>
<!ELEMENT urlbase (#PCDATA)>
<!ELEMENT bug_status (#PCDATA)>
<!ELEMENT product (#PCDATA)>
<!ELEMENT priority (#PCDATA)>
<!ELEMENT version (#PCDATA)>
<!ELEMENT rep_platform (#PCDATA)>
<!ELEMENT assigned_to (#PCDATA)>
<!ELEMENT delta_ts (#PCDATA)>
<!ELEMENT component (#PCDATA)>
<!ELEMENT reporter (#PCDATA)>
<!ELEMENT target_milestone (#PCDATA)>
<!ELEMENT bug_severity (#PCDATA)>
<!ELEMENT creation_ts (#PCDATA)>
<!ELEMENT qa_contact (#PCDATA)>
<!ELEMENT status_whiteboard (#PCDATA)>
<!ELEMENT op_sys (#PCDATA)>
<!ELEMENT resolution (#PCDATA)>
<!ELEMENT bug_file_loc (#PCDATA)>
<!ELEMENT short_desc (#PCDATA)>
<!ELEMENT keywords (#PCDATA)>
<!ELEMENT dependson (#PCDATA)>
<!ELEMENT blocks (#PCDATA)>
<!ELEMENT cc (#PCDATA)>
<!ELEMENT long_desc (who, bug_when, thetext)>
<!ELEMENT who (#PCDATA)>
<!ELEMENT bug_when (#PCDATA)>
<!ELEMENT thetext (#PCDATA)>
<!ELEMENT attachment (attachid, date, desc, type?, data?)>
<!ELEMENT attachid (#PCDATA)>
<!ELEMENT date (#PCDATA)>
<!ELEMENT desc (#PCDATA)>
<!ELEMENT type (#PCDATA)>
<!ELEMENT data (#PCDATA)>

View File

@@ -1,39 +0,0 @@
#!/usr/bonsaitools/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
use strict;
print q{Content-type: text/html
<HTML>
<HEAD>
<META HTTP-EQUIV="Refresh"
CONTENT="0; URL=userprefs.cgi">
</HEAD>
<BODY>
This URL is obsolete. Forwarding you to the correct one.
<P>
Going to <A HREF="userprefs.cgi">userprefs.cgi</A>
<BR>
</BODY>
</HTML>
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,155 +0,0 @@
#!/usr/bonsaitools/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
use diagnostics;
use strict;
use lib qw(.);
sub sillyness { # shut up "used only once" warnings
my $zz = @::legal_keywords;
$zz = $::buffer;
}
require "CGI.pl";
# Use the template toolkit (http://www.template-toolkit.org/) to generate
# the user interface (HTML pages and mail messages) using templates in the
# "template/" subdirectory.
use Template;
# Create the global template object that processes templates and specify
# configuration parameters that apply to all templates processed in this script.
my $template = Template->new(
{
# Colon-separated list of directories containing templates.
INCLUDE_PATH => "template/custom:template/default",
# Allow templates to be specified with relative paths.
RELATIVE => 1,
PRE_CHOMP => 1,
});
# Define the global variables and functions that will be passed to the UI
# template. Individual functions add their own values to this hash before
# sending them to the templates they process.
my $vars =
{
# Function for retrieving global parameters.
'Param' => \&Param,
# Function for processing global parameters that contain references
# to other global parameters.
'PerformSubsts' => \&PerformSubsts,
# Function to search an array for a value
'lsearch' => \&lsearch,
};
print "Content-type: text/html\n";
# The master list not only says what fields are possible, but what order
# they get displayed in.
ConnectToDatabase();
GetVersionTable();
my @masterlist = ("opendate", "changeddate", "severity", "priority",
"platform", "owner", "reporter", "status", "resolution",
"product", "component", "version", "os", "votes");
if (Param("usetargetmilestone")) {
push(@masterlist, "target_milestone");
}
if (Param("useqacontact")) {
push(@masterlist, "qa_contact");
}
if (Param("usestatuswhiteboard")) {
push(@masterlist, "status_whiteboard");
}
if (@::legal_keywords) {
push(@masterlist, "keywords");
}
push(@masterlist, ("summary", "summaryfull"));
$vars->{masterlist} = \@masterlist;
my @collist;
if (defined $::FORM{'rememberedquery'}) {
my $splitheader = 0;
if (defined $::FORM{'resetit'}) {
@collist = @::default_column_list;
} else {
foreach my $i (@masterlist) {
if (defined $::FORM{"column_$i"}) {
push @collist, $i;
}
}
if (exists $::FORM{'splitheader'}) {
$splitheader = $::FORM{'splitheader'};
}
}
my $list = join(" ", @collist);
my $urlbase = Param("urlbase");
my $cookiepath = Param("cookiepath");
print "Set-Cookie: COLUMNLIST=$list ; path=$cookiepath ; expires=Sun, 30-Jun-2029 00:00:00 GMT\n";
print "Set-Cookie: SPLITHEADER=$::FORM{'splitheader'} ; path=$cookiepath ; expires=Sun, 30-Jun-2029 00:00:00 GMT\n";
print "Refresh: 0; URL=buglist.cgi?$::FORM{'rememberedquery'}\n";
print "\n";
print "<META HTTP-EQUIV=Refresh CONTENT=\"1; URL=$urlbase"."buglist.cgi?$::FORM{'rememberedquery'}\">\n";
print "<TITLE>What a hack.</TITLE>\n";
PutHeader ("Change columns");
print "Resubmitting your query with new columns...\n";
exit;
}
if (defined $::COOKIE{'COLUMNLIST'}) {
@collist = split(/ /, $::COOKIE{'COLUMNLIST'});
} else {
@collist = @::default_column_list;
}
$vars->{collist} = \@collist;
$vars->{splitheader} = 0;
if ($::COOKIE{'SPLITHEADER'}) {
$vars->{splitheader} = 1;
}
my %desc = ();
foreach my $i (@masterlist) {
$desc{$i} = $i;
}
$desc{'summary'} = "Summary (first 60 characters)";
$desc{'summaryfull'} = "Full Summary";
$vars->{desc} = \%desc;
$vars->{buffer} = $::buffer;
# Generate and return the UI (HTML page) from the appropriate template.
print "Content-type: text/html\n\n";
$template->process("buglist/colchange.tmpl", $vars)
|| DisplayError("Template process failed: " . $template->error())
&& exit;

View File

@@ -1,209 +0,0 @@
#!/usr/bonsaitools/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>,
# Harrison Page <harrison@netscape.com>
# Gervase Markham <gerv@gerv.net>
# Run me out of cron at midnight to collect Bugzilla statistics.
use AnyDBM_File;
use diagnostics;
use strict;
use vars @::legal_product;
require "globals.pl";
# tidy up after graphing module
if (chdir("graphs")) {
unlink <./*.gif>;
unlink <./*.png>;
chdir("..");
}
ConnectToDatabase(1);
GetVersionTable();
my @myproducts;
push( @myproducts, "-All-", @::legal_product );
foreach (@myproducts) {
my $dir = "data/mining";
&check_data_dir ($dir);
&collect_stats ($dir, $_);
}
&calculate_dupes();
sub check_data_dir {
my $dir = shift;
if (! -d) {
mkdir $dir, 0777;
chmod 0777, $dir;
}
}
sub collect_stats {
my $dir = shift;
my $product = shift;
my $when = localtime (time);
# NB: Need to mangle the product for the filename, but use the real
# product name in the query
my $file_product = $product;
$file_product =~ s/\//-/gs;
my $file = join '/', $dir, $file_product;
my $exists = -f $file;
if (open DATA, ">>$file") {
push my @row, &today;
foreach my $status ('NEW', 'ASSIGNED', 'REOPENED', 'UNCONFIRMED', 'RESOLVED', 'VERIFIED', 'CLOSED') {
if( $product eq "-All-" ) {
SendSQL("select count(bug_status) from bugs where bug_status='$status'");
} else {
SendSQL("select count(bug_status) from bugs where bug_status='$status' and product='$product'");
}
push @row, FetchOneColumn();
}
foreach my $resolution (@::queryable_resolution) {
if( $product eq "-All-" ) {
SendSQL("select count(resolution_id) from bugs, resolutions " .
"where bugs.resolution_id = resolutions.id " .
"and resolutions.name='$resolution'");
} else {
SendSQL("select count(resolution_id) from bugs, resolutions " .
"where bugs.resolution_id = resolutions.id " .
"and resolutions.name='$resolution' " .
"and product='$product'");
}
push @row, FetchOneColumn();
}
if (! $exists) {
print DATA <<FIN;
# Bugzilla Daily Bug Stats
#
# Do not edit me! This file is generated.
#
FIN
print DATA "# fields: DATE|NEW|ASSIGNED|REOPENED|UNCONFIRMED|RESOLVED|VERIFIED|CLOSED|" . join('|', @::queryable_resolution);
print DATA <<FIN;
# Product: $product
# Created: $when
FIN
}
print DATA (join '|', @row) . "\n";
close DATA;
} else {
print "$0: $file, $!";
}
}
sub calculate_dupes {
SendSQL("SELECT * FROM duplicates");
my %dupes;
my %count;
my @row;
my $key;
my $changed = 1;
my $today = &today_dash;
# Save % count here in a date-named file
# so we can read it back in to do changed counters
# First, delete it if it exists, so we don't add to the contents of an old file
if (my @files = <data/duplicates/dupes$today*>) {
unlink @files;
}
dbmopen(%count, "data/duplicates/dupes$today", 0644) || die "Can't open DBM dupes file: $!";
# Create a hash with key "a bug number", value "bug which that bug is a
# direct dupe of" - straight from the duplicates table.
while (@row = FetchSQLData()) {
my $dupe_of = shift @row;
my $dupe = shift @row;
$dupes{$dupe} = $dupe_of;
}
# Total up the number of bugs which are dupes of a given bug
# count will then have key = "bug number",
# value = "number of immediate dupes of that bug".
foreach $key (keys(%dupes))
{
my $dupe_of = $dupes{$key};
if (!defined($count{$dupe_of})) {
$count{$dupe_of} = 0;
}
$count{$dupe_of}++;
}
# Now we collapse the dupe tree by iterating over %count until
# there is no further change.
while ($changed == 1)
{
$changed = 0;
foreach $key (keys(%count)) {
# if this bug is actually itself a dupe, and has a count...
if (defined($dupes{$key}) && $count{$key} > 0) {
# add that count onto the bug it is a dupe of,
# and zero the count; the check is to avoid
# loops
if ($count{$dupes{$key}} != 0) {
$count{$dupes{$key}} += $count{$key};
$count{$key} = 0;
$changed = 1;
}
}
}
}
# Remove the values for which the count is zero
foreach $key (keys(%count))
{
if ($count{$key} == 0) {
delete $count{$key};
}
}
dbmclose(%count);
}
sub today {
my ($dom, $mon, $year) = (localtime(time))[3, 4, 5];
return sprintf "%04d%02d%02d", 1900 + $year, ++$mon, $dom;
}
sub today_dash {
my ($dom, $mon, $year) = (localtime(time))[3, 4, 5];
return sprintf "%04d-%02d-%02d", 1900 + $year, ++$mon, $dom;
}

View File

@@ -1,153 +0,0 @@
<HTML><head>
<!--
The contents of this file are subject to the Mozilla Public
License Version 1.1 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of
the License at http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing
rights and limitations under the License.
The Original Code is the Bugzilla Bug Tracking System.
The Initial Developer of the Original Code is Netscape Communications
Corporation. Portions created by Netscape are
Copyright (C) 2000 Netscape Communications Corporation. All
Rights Reserved.
Contributor(s): Terry Weissman <terry@mozilla.org>
-->
<title>Understanding the UNCONFIRMED state, and other recent changes</title>
</head>
<body>
<h1>Understanding the UNCONFIRMED state, and other recent changes</h1>
[This document is aimed primarily at people who have used Bugzilla
before the UNCONFIRMED state was implemented. It might be helpful for
newer users as well.]
<p>
New bugs in some products will now show up in a new state,
UNCONFIRMED. This means that we have nobody has confirmed that the
bug is real. Very busy engineers will probably generally ignore
UNCONFIRMED that have been assigned to them, until they have been
confirmed in one way or another. (Engineers with more time will
hopefully glance over their UNCONFIRMED bugs regularly.)
<p>
The <a href="bug_status.cgi">page describing bug fields</a> has been
updated to include UNCONFIRMED.
<p>
There are two basic ways that a bug can become confirmed (and enter
the NEW) state.
<ul>
<li> A user with the appropriate permissions (see below for more on
permissions) decides that the bug is a valid one, and confirms
it. We hope to gather a small army of responsible volunteers
to regularly go through bugs for us.
<li> The bug gathers a certain number of votes. <B>Any</B> valid Bugzilla user may vote for
bugs (each user gets a certain number of bugs); any UNCONFIRMED bug which
gets enough votes becomes automatically confirmed, and enters the NEW state.
</ul>
One implication of this is that it is worth your time to search the
bug system for duplicates of your bug to vote on them, before
submitting your own bug. If we can spread around knowledge of this
fact, it ought to help cut down the number of duplicate bugs in the
system.
<h2>Permissions.</h2>
Users now have a certain set of permissions. To see your permissions,
check out the
<a href="userprefs.cgi?bank=permissions">user preferences</a> page.
<p>
If you have the "Can confirm a bug" permission, then you will be able
to move UNCONFIRMED bugs into the NEW state.
<p>
If you have the "Can edit all aspects of any bug" permission, then you
can tweak anything about any bug. If not, you may only edit those
bugs that you have submitted, or that you have assigned to you (or
qa-assigned to you). However, anyone may add a comment to any bug.
<p>
Some people (initially, the initial owners and initial qa-contacts for
components in the system) have the ability to give the above two
permissions to other people. So, if you really feel that you ought to
have one of these permissions, a good person to ask (via private
email, please!) is the person who is assigned a relevant bug.
<h2>Other details.</h2>
An initial stab was taken to decide who would be given which of the
above permissions. This was determined by some simple heurstics of
who was assigned bugs, and who the default owners of bugs were, and a
look at people who seem to have submitted several bugs that appear to
have been interesting and valid. Inevitably, we have failed to give
someone the permissions they deserve. Please don't take it
personally; just bear with us as we shake out the new system.
<p>
People with one of the two bits above can easily confirm their own
bugs, so bugs they submit will actually start out in the NEW state.
They can override this when submitting a bug.
<p>
People can ACCEPT or RESOLVE a bug assigned to them, even if they
aren't allowed to confirm it. However, the system remembers, and if
the bug gets REOPENED or reassigned to someone else, it will revert
back to the UNCONFIRMED state. If the bug has ever been confirmed,
then REOPENing or reassigning will cause it to go to the NEW or
REOPENED state.
<p>
Note that only some products support the UNCONFIRMED state. In other
products, all new bugs will automatically start in the NEW state.
<h2>Things still to be done.</h2>
There probably ought to be a way to get a bug back into the
UNCONFIRMED state, but there isn't yet.
<p>
If a person has submitted several bugs that get confirmed, then this
is probably a person who understands the system well, and deserves the
"Can confirm a bug" permission. This kind of person should be
detected and promoted automatically.
<p>
There should also be a way to automatically promote people to get the
"Can edit all aspects of any bug" permission.
<p>
The "enter a new bug" page needs to be revamped with easy ways for new
people to educate themselves on the benefit of searching for a bug
like the one they're about to submit and voting on it, rather than
adding a new useless duplicate.
<hr>
<!-- hhmts start -->
Last modified: Wed Feb 16 21:04:56 2000
<!-- hhmts end -->
</body> </html>

View File

@@ -1,79 +0,0 @@
# -*- Mode: perl; indent-tabs-mode: nil -*-
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# This code is based on code found in bug_email.pl from the bugzilla
# email tracker. Initial contributors are ::
# Terry Weissman <terry@mozilla.org>
# Gregor Fischer <fischer@suse.de>
# Klaas Freitag <freitag@suse.de>
# Seth Landsman <seth@dworkin.net>
# The purpose of this module is to abstract out a bunch of the code
# that is central to email interfaces to bugzilla and its database
# Contributor : Seth Landsman <seth@dworkin.net>
# Initial checkin : 03/15/00 (SML)
# findUser() function moved from bug_email.pl to here
push @INC, "../."; # this script now lives in contrib
require "globals.pl";
use diagnostics;
use strict;
my $EMAIL_TRANSFORM_NONE = "email_transform_none";
my $EMAIL_TRANSFORM_BASE_DOMAIN = "email_transform_base_domain";
my $EMAIL_TRANSFORM_NAME_ONLY = "email_transform_name_only";
# change to do incoming email address fuzzy matching
my $email_transform = $EMAIL_TRANSFORM_NAME_ONLY;
# findUser()
# This function takes an email address and returns the user email.
# matching is sloppy based on the $email_transform parameter
sub findUser($) {
my ($address) = @_;
# if $email_transform is $EMAIL_TRANSFORM_NONE, return the address, otherwise, return undef
if ($email_transform eq $EMAIL_TRANSFORM_NONE) {
my $stmt = "SELECT login_name FROM profiles WHERE profiles.login_name = \'$address\';";
SendSQL($stmt);
my $found_address = FetchOneColumn();
return $found_address;
} elsif ($email_transform eq $EMAIL_TRANSFORM_BASE_DOMAIN) {
my ($username) = ($address =~ /(.+)@/);
my $stmt = "SELECT login_name FROM profiles WHERE profiles.login_name RLIKE \'$username\';";
SendSQL($stmt);
my $domain;
my $found = undef;
my $found_address;
my $new_address = undef;
while ((!$found) && ($found_address = FetchOneColumn())) {
($domain) = ($found_address =~ /.+@(.+)/);
if ($address =~ /$domain/) {
$found = 1;
$new_address = $found_address;
}
}
return $new_address;
} elsif ($email_transform eq $EMAIL_TRANSFORM_NAME_ONLY) {
my ($username) = ($address =~ /(.+)@/);
my $stmt = "SELECT login_name FROM profiles WHERE profiles.login_name RLIKE \'$username\';";
SendSQL($stmt);
my $found_address = FetchOneColumn();
return $found_address;
}
}
1;

View File

@@ -1,22 +0,0 @@
This directory contains contributed software related to Bugzilla.
Things in here have not necessarily been tested or tried by anyone
except the original contributor, so tred carefully. But it may still
be useful to you.
This directory includes:
mysqld-watcher.pl -- This script can be installed as a frequent cron
job to clean up stalled/dead queries.
gnats2bz.pl -- A perl script to help import bugs from a GNATS
database into a Bugzilla database. Contributed by
Tom Schutter <tom@platte.com>
bug_email.pl -- A perl script that can receive email containing
bug reports (email-interface). Contributed by
Klaas Freitag <freitag@SuSE.de>
README.Mailif -- Readme describing the mail interface.
bugmail_help.html -- User help page for the mail interface.
yp_nomail.sh -- Script you can run via cron that regularly updates
the nomail file for terminated employees

View File

@@ -1,80 +0,0 @@
The Bugzilla Mail interface
===========================
(UPDATE 03/14/00 to better reflect reality by SML)
The Bugzilla Mail interface allows to submit bugs to Bugzilla by email.
The Mail Interface Contribution consists of three files:
README.Mailif - this readme.
bug_email.pl - the script
bugmail_help.html - a user help html site
Installation:
Next is to add a user who receives the bugmails, e. g. bugmail. Create a
mail account and a home directory for the user.
The mailinterface script bug_email.pl needs to get the mail through stdin.
I use procmail for that, with the following line in the .procmailrc:
BUGZILLA_HOME=/usr/local/httpd/htdocs/bugzilla
:0 c
|(cd $BUGZILLA_HOME/contrib; ./bug_email.pl)
This defines the Bugzilla directory as the variable BUGZILLA_HOME and passes
all incoming mail to the script after cd'ing into the bugzilla home.
In some cases, it is necessary to alter the headers of incoming email. The
additional line to procmail :
:0 fhw
| formail -I "From " -a "From "
fixes many problems.
See bugzilla.procmailrc for a sample procmailrc that works for me (SML) and
also deals with bugzilla_email_append.pl
Customation:
There are some values inside the script which need to be customized for your
needs:
1. In sub-routine Reply (search 'sub Reply':
there is the line
print MAIL "From: Bugzilla Mailinterface<yourmail\@here.com>\n";
^^^^^^^^^^^^^^^^^^^^
Fill in your correct mail here. That will make it easy for people to reply
to the mail.
2. check, if your sendmail resides in /usr/sbin/sendmail, change the path if neccessary.
Search the script after 'default' - you find some default-Settings for bug
reports, which are used, if the sender did not send a field for it. The defaults
should be checked and changed.
Thats hopefully all, we will come up with any configuration file or something.
If your mail works, your script will insert mails from now on.
The mailinterface supports two commandline switches:
There are two command line switches :
-t: Testmode
The mailinterface does not really insert the bug into the database, but
writes some debug output to stdout and writes the mail into the file
bug_email_test.log in the data-dir.
-r: restricted mode
All lines before the first line with a keyword character are skipped.
In not restricted, default mode, these lines are added to the long
description of the bug.
02/2000 - Klaas Freitag, SuSE GmbH <freitag@suse.de>
03/2000 - Seth M. Landsman <seth@cs.brandeis.edu>
bug_email.pl now lives out of bugzilla/contrib
added line about formail

File diff suppressed because it is too large Load Diff

View File

@@ -1,223 +0,0 @@
<HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--
The contents of this file are subject to the Mozilla Public
License Version 1.1 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of
the License at http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing
rights and limitations under the License.
The Original Code is the Bugzilla Bug Tracking System.
Contributor(s): Klaas Freitag <Freitag@SuSE.de>
-->
<HEAD> <TITLE>Bugzilla Mail Interface</TITLE> </HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER><H1>The Bugzilla Mail Interface</H1>
Contributor: <A HREF="mailto:freitag@suse.de">Klaas Freitag</A>, SuSE GmbH
</CENTER>
<P>
The bugzilla Mail interface allows the registered bugzilla users to submit bugs by
sending email with a bug description. This is usefull for people, who do not work
inhouse and want to submitt bugs to the bugzilla system.
<p>
I know, show me the <A HREF="#examplemail">example-mail !</A>
<H2>What do you need to do to submitt a bug by mail ?</H2>
You need to send a email in the described format to the bugmail-user of the
bugzilla-system. This is <A HREF="mailto:our_bugzilla@xyz.com">yourbugzilla@here.com</A>
You receive a reply mail with the new bug-ID if your request was ok.
If not, you get a mail with
some help on the bugmail system and a specific analysis of your request.
<P>
Please dont refuse to send one or two wrong mails, you will get all the information
you need in the replies, and <I>only</I> in the mail replies. The information on this
page, concerning available products, versions and so on, is not dynamicly generated and
may be old therefore.
<H1>The Mail Format</H1>
The bugmail needs a special format , which consists of some keywords and suitable
values for them and a description text. Note that the keyword block needs to be
above of the description text.
<H2>Keywords</H2>
You need to tell bugzilla some properties of the bugs. This is done by keywords, which
start on a new line with a @, followed by the keyword and and equal-sign, followed by a
hopefully valid value.
<TABLE BORDER=4 FRAME=box CELLSPACING="5" width=95%> <COLGROUP> <col width="2*">
<col width="5*"> <col width="1*"> </COLGROUP>
<TR>
<TH>Keyword</TH>
<TH>Value description</TH>
<TH>required and default value</TH>
</TR>
<TR>
<TD>@product</TD>
<TD>The product which has a bug</TD>
<TD>yes. <br> This is the most important information. Many other
fields depend on the product.</TD>
</TR>
<TR>
<TD>@component</TD>
<TD>the desired component which is affected by the bug</TD>
<TD>yes. <br> As the @product, this is a very important
field.</TD>
</TR>
<TR>
<TD>@version</TD>
<TD>The version of the product</TD>
<TD>yes. <br>See @product and @component</TD>
</TR>
<TR>
<TD>@short_desc</TD>
<TD>A summary of your bug report</TD>
<TD>yes. <br>This summary of the error you want to report
describes what happen. You may skip the long description,
but not this summary.<br>
<b>Note:</b>The short description may be given in the mail subject
instead of using the keyword !</TD>
</TR>
<TR>
<TD>@rep_platform</TD>
<TD>The desired platform</TD>
<TD>no.<br>If you dont give a value, this field is set to <I>All</I>.</TD>
</TR>
<TR>
<TD>@bug_severity</TD>
<TD>The severity of the bug</TD>
<TD>no. <br> If you dont give a value, this field is set to
<I>normal</I></TD>
</TR>
<TR>
<TD>@priority</TD>
<TD>The priority of the bug</TD>
<TD>no.<br>If you dont give a value, this field is set to <I>P3</I></TD>
</TR>
<TR>
<TD>@op_sys</TD>
<TD>The operating system</TD>
<TD>no.<br>If you dont give a value, this field is set to <I>Linux</I>.</TD>
</TR>
<TR>
<TD>@assigned_to</TD>
<TD>The one to whom the bug is assigned to</TD>
<TD>no. <br>There is an initial owner for every product/version/component.
He owns the bug by default. The initial owner can only be found if
product, version and component are valid.</TD>
</TR>
<TR>
<TD>@bug_file_loc</TD>
<TD>?</TD>
<TD>no.</TD>
</TR>
<TR>
<TD>@status_whiteboard</TD>
<TD>?</TD>
<TD>no.</TD>
</TR>
<TR>
<TD>@target_milestone</TD>
<TD>?</TD>
<TD>no.</TD>
</TR>
<TR>
<TD>@groupset</TD>
<TD>rules the visibility of the bug.</TD>
<TD>no.<br>This value defaults to the smallest of the available groups,
which is <I>readInternal</I>.</TD>
</TR>
<TR>
<TD>@qa_contact</TD>
<TD>the quality manager for the product</TD>
<TD>no.<br>This value can be retrieved from product, component and
version</TD>
</TR>
</TABLE>
<H2>Valid values</H2>
Give string values for the most keys above. Some keywords require special values:<br>
<ol>
<li>E-Mail adresses: If you want to set the qa-contact, specify a email-adress for @qa_contact. The email must be known by bugzilla of course.</li>
<li>Listvalues: Most of the values have to be one of a list of valid values. Try by sending
a mail and read the reply. Skip fields if you dont get help for them unless you dont know
which values you may choose.</li>
<li>free Text: The descriptions may be free text. </li>
<li>Special: The field groupset may be specified in different in three different kinds:
<ol>
<li> A plain numeric way, which is one usually huge number, e. g. <I>65536</I></li>
<li> a string with added numbers e.g. <I>65536+131072</I></li>
<li> a string list, e.g. <I>ReadInternal, ReadBeta </I></li>
</ol>
</li>
</ol>
<p>
But most of them need <b>valid</b> values.
<p>
Sorry, you will not find lists of valid products, components and the other stuff
here. Send a mail to with any text, and you will get a list of valid keywords in the reply.
<p>
Some of the values must be choosen from a list:<br>
<ol>
<li>bug_severity: blocker, critical, major, normal, minor, trivial, enhancement</li>
<li>op_sys: Linux </li>
<li>priority: P1, P2, P3, P4, P5</li>
<li>rep_platform: All, i386, AXP, i686, Other</li></ol>
<p>
After you have specified the required keywords and maybe some other value, you may
describe your bug. You dont need a keyword for starting your bug description. All
text which follows the keyword block is handled as long description of the bug.
<p>
The bugmail interface is able to find required information by itself. E.g. if you specify
a product which has exactly one component, this component will be found by the interface
automatically.
<H1>Attachments</H1>
The mail interface is able to cope with MIME-attachments.
People could for example add a logfile as a mail attachment, and it will appear in
bugzilla as attachment. A comment for the attachment should be added, it will describe
the attachment in bugzilla.
<H1><A NAME="examplemail">Example Mail</A></H1>
See the example of the mail <b>body</b> (Dont forget to specify the short description
in the mail subject):<hr><pre>
@product = Bugzilla
@component = general
@version = All
@groupset = ReadWorld ReadPartners
@op_sys = Linux
@priority = P3
@rep_platform = i386
This is the description of the bug I found. It is not neccessary to start
it with a keyword.
Note: The short_description is neccessary and may be given with the keyword
@short_description or will be retrieved from the mail subject.
</pre><hr>
</BODY>
</HTML>

View File

@@ -1,30 +0,0 @@
:0 fhw
| formail -I "From " -a "From "
BUGZILLA_HOME=/home/bugzilla/WEB/bugzilla/contrib
:0
* ^Subject: .*\[Bug .*\]
RESULT=|(cd $BUGZILLA_HOME && ./bugzilla_email_append.pl)
# Feed mail to stdin of bug_email.pl
:0 Ec
#* !^Subject: .*[Bug .*]
RESULT=|(cd $BUGZILLA_HOME && ./bug_email.pl )
# write result to a logfile
:0 c
|echo `date '+%d.%m.%y %H:%M: '` $RESULT >> $HOME/bug_email.log
:0 c
|echo "----------------------------------" >> $HOME/bug_email.log
:0 c
$HOME/bug_email.log
# Move mail to the inbox
:0
$HOME/Mail/INBOX

View File

@@ -1,189 +0,0 @@
#!/usr/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
# The purpose of this script is to take an email message, which
# specifies a bugid and append it to the bug as part of the longdesc
# table
# Contributor : Seth M. Landsman <seth@dworkin.net>
# 03/15/00 : Initial version by SML
# 03/15/00 : processmail gets called
# Email subject must be of format :
# .* Bug ### .*
# replying to a typical bugzilla email should be valid
# TODO :
# 1. better way to get the body text (I don't know what dump_entity() is
# actually doing
use diagnostics;
use strict;
use MIME::Parser;
push @INC, "../."; # this script lives in contrib
require "globals.pl";
require "BugzillaEmail.pm";
# Create a new MIME parser:
my $parser = new MIME::Parser;
my $Comment = "";
# Create and set the output directory:
# FIXME: There should be a $BUGZILLA_HOME variable (SML)
(-d "../data/mimedump-tmp") or mkdir "../data/mimedump-tmp",0755 or die "mkdir: $!";
(-w "../data/mimedump-tmp") or die "can't write to directory";
$parser->output_dir("../data/mimedump-tmp");
# Read the MIME message:
my $entity = $parser->read(\*STDIN) or die "couldn't parse MIME stream";
$entity->remove_sig(10); # Removes the signature in the last 10 lines
# Getting values from parsed mail
my $Sender = $entity->get( 'From' );
$Sender ||= $entity->get( 'Reply-To' );
my $Message_ID = $entity->get( 'Message-Id' );
die (" *** Cant find Sender-adress in sent mail ! ***\n" ) unless defined( $Sender );
chomp( $Sender );
chomp( $Message_ID );
print "Dealing with the sender $Sender\n";
ConnectToDatabase();
my $SenderShort = $Sender;
$SenderShort =~ s/^.*?([a-zA-Z0-9_.-]+?\@[a-zA-Z0-9_.-]+\.[a-zA-Z0-9_.-]+).*$/$1/;
$SenderShort = findUser($SenderShort);
print "SenderShort is $SenderShort\n";
if (!defined($SenderShort)) {
$SenderShort = $Sender;
$SenderShort =~ s/^.*?([a-zA-Z0-9_.-]+?\@[a-zA-Z0-9_.-]+\.[a-zA-Z0-9_.-]+).*$/$1/;
}
print "The sendershort is now $SenderShort\n";
if (!defined($SenderShort)) {
DealWithError("No such user $SenderShort exists.");
}
my $Subject = $entity->get('Subject');
print "The subject is $Subject\n";
my ($bugid) = ($Subject =~ /\[Bug ([\d]+)\]/);
print "The bugid is $bugid\n";
# make sure the bug exists
SendSQL("SELECT bug_id FROM bugs WHERE bug_id = $bugid;");
my $found_id = FetchOneColumn();
print "Did we find the bug? $found_id-\n";
if (!defined($found_id)) {
DealWithError("Bug $bugid does not exist");
}
# get the user id
SendSQL("SELECT userid FROM profiles WHERE login_name = \'$SenderShort\';");
my $userid = FetchOneColumn();
if (!defined($userid)) {
DealWithError("Userid not found for $SenderShort");
}
# parse out the text of the message
dump_entity($entity);
# Get rid of the bug id
$Subject =~ s/\[Bug [\d]+\]//;
#my $Comment = "This is only a test ...";
my $Body = "Subject: " . $Subject . "\n" . $Comment;
# shove it in the table
my $long_desc_query = "INSERT INTO longdescs SET bug_id=$found_id, who=$userid, bug_when=NOW(), thetext=" . SqlQuote($Body) . ";";
SendSQL($long_desc_query);
system("cd .. ; ./processmail $found_id '$SenderShort'");
sub DealWithError {
my ($reason) = @_;
print $reason . "\n";
}
# Yanking this wholesale from bug_email, 'cause I know this works. I'll
# figure out what it really does later
#------------------------------
#
# dump_entity ENTITY, NAME
#
# Recursive routine for parsing a mime coded mail.
# One mail may contain more than one mime blocks, which need to be
# handled. Therefore, this function is called recursively.
#
# It gets the for bugzilla important information from the mailbody and
# stores them into the global attachment-list @attachments. The attachment-list
# is needed in storeAttachments.
#
sub dump_entity {
my ($entity, $name) = @_;
defined($name) or $name = "'anonymous'";
my $IO;
# Output the body:
my @parts = $entity->parts;
if (@parts) { # multipart...
my $i;
foreach $i (0 .. $#parts) { # dump each part...
dump_entity($parts[$i], ("$name, part ".(1+$i)));
}
} else { # single part...
# Get MIME type, and display accordingly...
my $msg_part = $entity->head->get( 'Content-Disposition' );
$msg_part ||= "";
my ($type, $subtype) = split('/', $entity->head->mime_type);
my $body = $entity->bodyhandle;
my ($data, $on_disk );
if( $msg_part =~ /^attachment/ ) {
# Attached File
my $des = $entity->head->get('Content-Description');
$des ||= "";
if( defined( $body->path )) { # Data is on disk
$on_disk = 1;
$data = $body->path;
} else { # Data is in core
$on_disk = 0;
$data = $body->as_string;
}
# push ( @attachments, [ $data, $entity->head->mime_type, $on_disk, $des ] );
} else {
# Real Message
if ($type =~ /^(text|message)$/) { # text: display it...
if ($IO = $body->open("r")) {
$Comment .= $_ while (defined($_ = $IO->getline));
$IO->close;
} else { # d'oh!
print "$0: couldn't find/open '$name': $!";
}
} else { print "Oooops - no Body !\n"; }
}
}
}

View File

@@ -1,94 +0,0 @@
#!/bin/sh
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is
# Andreas Franke <afranke@ags.uni-sb.de>.
# Corporation. Portions created by Andreas Franke are
# Copyright (C) 2001 Andreas Franke. All
# Rights Reserved.
#
# Contributor(s):
conf="`dirname $0`/query.conf"
query="http://bugzilla.mozilla.org/buglist.cgi?cmd=doit"
defaultcolumnlist="severity priority platform status resolution target_milestone status_whiteboard keywords summaryfull"
chart=0
and=0
while test "$1" != ""; do
arg=$1
arg_len=`expr length ${arg}`
if test `expr substr "${arg}" 1 2` == "--"; then
eq_pos=`expr match ${arg} '--.*='`
if test "${eq_pos}" == "0"; then
echo 'Missing value for long option '"${arg}"' ("=" not found)' 1>&2
exit 1;
fi
# extract option name
let name_len=${eq_pos}-3
name=`expr substr ${arg} 3 ${name_len}`
# extract option value
let val_start=${eq_pos}+1
let val_len=${arg_len}-${eq_pos}
val=`expr substr ${arg} ${val_start} ${val_len}`
elif test `expr substr ${arg} 1 1` == "-" &&
test "`expr substr ${arg} 2 1`" != ""; then
# extract
name=`expr substr ${arg} 2 1`
let val_len=${arg_len}-2
val=`expr substr ${arg} 3 ${val_len}`
else
name="default"
val="${arg}"
#echo "Unrecognized option ${arg}" 1>&2
#exit 1
fi
# find field and comparison type for option ${name}
field=`grep '"'${name}'"' ${conf} | awk '{printf $1}'`
type=`grep '"'${name}'"' ${conf} | awk '{printf $2}'`
if test "${field}" == "" || test "${type}" == ""; then
echo "Field name & comparison type not found for option ${name}." 1>&2
exit 1;
fi
or=0
while test "${val}" != ""; do
comma_idx=`expr index ${val} ,`
if test ${comma_idx} == "0"; then
val1="${val}"
val=""
else
let val1_len=${comma_idx}-1
val1=`expr substr ${val} 1 ${val1_len}`
val_len=`expr length ${val}`
let rest_start=${comma_idx}+1
let rest_len=${val_len}-${comma_idx}
val=`expr substr ${val} ${rest_start} ${rest_len}`
fi
query="${query}&field${chart}-${and}-${or}=${field}"
query="${query}&type${chart}-${and}-${or}=${type}"
query="${query}&value${chart}-${and}-${or}=${val1}"
#echo "----- ${name} : ${field} : ${type} : ${val1} -----" 1>&2
let or=${or}+1
done
let chart=${chart}+1
shift
done
outputfile="/dev/stdout"
#outputfile="buglist.html"
#\rm -f ${outputfile}
wget -q -O ${outputfile} --header="Cookie: COLUMNLIST=${COLUMNLIST-${defaultcolumnlist}}" "${query}"

View File

@@ -1,31 +0,0 @@
#!/bin/sh
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is
# Andreas Franke <afranke@ags.uni-sb.de>.
# Corporation. Portions created by Andreas Franke are
# Copyright (C) 2001 Andreas Franke. All
# Rights Reserved.
#
# Contributor(s):
buglist="`dirname $0`/buglist"
htmlfile="`dirname $0`/buglist.html"
${buglist} "$@" 2>&1 1>${htmlfile}
if test ${?} == "0"; then
echo `grep 'TR VALIGN=TOP ALIGN=LEFT CLASS=' ${htmlfile} | sed -e 's/<TR.*id=//' | sed -e 's/".*//'` | sed -e 's/ /\,/g'
else
cat ${htmlfile} 1>&2
exit 1
fi

View File

@@ -1,49 +0,0 @@
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is
# Andreas Franke <afranke@ags.uni-sb.de>.
# Corporation. Portions created by Andreas Franke are
# Copyright (C) 2001 Andreas Franke. All
# Rights Reserved.
#
# Contributor(s):
#
# This is `query.conf', the config file for `buglist'.
#
# Columns: 1: field_name, 2: comparison_type, 3: cmd-line options
#
bug_status substring "s","status"
resolution substring "r","resolution"
rep_platform substring "p","platform"
op_sys substring "o","os","opsys"
priority substring "p","priority"
bug_severity substring "S","severity"
assigned_to substring "A","O","owner","assignedto"
reporter substring "R","reporter"
qa_contact substring "Q","qa","qacontact"
cc substring "C","cc"
product substring "product"
version substring "V","version"
component substring "c","component"
target_milestone substring "M","milestone"
short_desc substring "default","summary"
longdesc substring "d","description","longdesc"
bug_file_loc substring "u","url"
status_whiteboard substring "w","whiteboard"
keywords substring "k","K","keywords"
attachments.description substring "attachdesc"
attachments.thedata substring "attachdata"
attachments.mimetype substring "attachmime"
dependson substring # bug 30823
blocked substring # bug 30823

View File

@@ -1,40 +0,0 @@
#!/bin/sh
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Dawn Endico <endico@mozilla.org>
# Keep a record of all cvs updates made from a given directory.
#
# Later, if changes need to be backed out, look at the log file
# and run the cvs command with the date that you want to back
# out to. (Probably the second to last entry).
#DATE=`date +%e/%m/%Y\ %k:%M:%S\ %Z`
DATE=`date`
COMMAND="cvs update -d -P -D"
echo $COMMAND \"$DATE\" >> cvs-update.log
$COMMAND "$DATE"
# sample log file
#cvs update -P -D "11/04/2000 20:22:08 PDT"
#cvs update -P -D "11/05/2000 20:22:22 PDT"
#cvs update -P -D "11/07/2000 20:26:29 PDT"
#cvs update -P -D "11/08/2000 20:27:10 PDT"

File diff suppressed because it is too large Load Diff

View File

@@ -1,102 +0,0 @@
#!/usr/bonsaitools/bin/perl -w
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Dan Mosedale <dmose@mozilla.org>
#
# mysqld-watcher.pl - a script that watches the running instance of
# mysqld and kills off any long-running SELECTs against the shadow_db
#
use diagnostics;
use strict;
require "globals.pl";
# some configurables:
# length of time before a thread is eligible to be killed, in seconds
#
my $long_query_time = 600;
#
# the From header for any messages sent out
#
my $mail_from = "root\@lounge.mozilla.org";
#
# mail transfer agent. this should probably really be converted to a Param().
#
my $mta_program = "/usr/lib/sendmail -t -ODeliveryMode=deferred";
# and STDIN is where we get the info about running threads
#
close(STDIN);
open(STDIN, "/usr/bonsaitools/bin/mysqladmin processlist |");
# iterate through the running threads
#
my @LONGEST = (0,0,0,0,0,0,0,0,0);
while ( <STDIN> ) {
my @F = split(/\|/);
# if this line is not the correct number of fields, or if the thread-id
# field contains Id, skip this line. both these cases indicate that this
# line contains pretty-printing gunk and not thread info.
#
next if ( $#F != 9 || $F[1] =~ /Id/);
if ( $F[4] =~ /shadow_bugs/ # shadowbugs database in use
&& $F[5] =~ /Query/ # this is actually a query
&& $F[6] > $long_query_time # this query has taken too long
&& $F[8] =~ /(select|SELECT)/ # only kill a select
&& $F[6] > $LONGEST[6] ) { # the longest running query seen
@LONGEST = @F;
}
}
# send an email message
#
# should perhaps be moved to somewhere more global for use in bugzilla as a
# whole; should also do more error-checking
#
sub sendEmail($$$$) {
($#_ == 3) || die("sendEmail: invalid number of arguments");
my ($from, $to, $subject, $body) = @_;
open(MTA, "|$mta_program");
print MTA "From: $from\n";
print MTA "To: $to\n";
print MTA "Subject: $subject\n";
print MTA "\n";
print MTA $body;
print MTA "\n";
close(MTA);
}
# if we found anything, kill the database thread and send mail about it
#
if ($LONGEST[6] != 0) {
system ("/usr/bonsaitools/bin/mysqladmin", "kill", $LONGEST[1]);
# fire off an email telling the maintainer that we had to kill a thread
#
sendEmail($mail_from, Param("maintainer"),
"long running MySQL thread killed",
join(" ", @LONGEST) . "\n");
}

View File

@@ -1,78 +0,0 @@
#!/bin/sh
# -*- Mode: ksh -*-
##############################################################################
# $Id: yp_nomail.sh,v 1.1 2000-09-12 23:50:31 cyeh%bluemartini.com Exp $
# yp_nomail
#
# Our mail admins got annoyed when bugzilla kept sending email
# to people who'd had bugzilla entries and left the company. They
# were no longer in the list of valid email users so it'd bounce.
# Maintaining the 'data/nomail' file was a pain. Luckily, our UNIX
# admins list all the users that ever were, but the people who've left
# have a distinct marker in their password file. For example:
#
# fired:*LK*:2053:1010:You're Fired Dude:/home/loser:/bin/false
#
# This script takes advantage of the "*LK*" convention seen via
# ypcat passwd and dumps those people into the nomail file. Any
# manual additions are kept in a "nomail.(domainname)" file and
# appended to the list of yp lockouts every night via Cron
#
# 58 23 * * * /export/bugzilla/contrib/yp_nomail.sh > /dev/null 2>&1
#
# Tak ( Mark Takacs ) 08/2000
#
# XXX: Maybe should crosscheck w/bugzilla users?
##############################################################################
####
# Configure this section to suite yer installation
####
DOMAIN=`domainname`
MOZILLA_HOME="/export/mozilla"
BUGZILLA_HOME="${MOZILLA_HOME}/bugzilla"
NOMAIL_DIR="${BUGZILLA_HOME}/data"
NOMAIL="${NOMAIL_DIR}/nomail"
NOMAIL_ETIME="${NOMAIL}.${DOMAIN}"
NOMAIL_YP="${NOMAIL}.yp"
FIRED_FLAG="\*LK\*"
YPCAT="/usr/bin/ypcat"
GREP="/usr/bin/grep"
SORT="/usr/bin/sort"
########################## no more config needed #################
# This dir comes w/Bugzilla. WAY too paranoid
if [ ! -d ${NOMAIL_DIR} ] ; then
echo "Creating $date_dir"
mkdir -p ${NOMAIL_DIR}
fi
#
# Do some (more) paranoid checking
#
touch ${NOMAIL}
if [ ! -w ${NOMAIL} ] ; then
echo "Can't write nomail file: ${NOMAIL} -- exiting"
exit
fi
if [ ! -r ${NOMAIL_ETIME} ] ; then
echo "Can't access custom nomail file: ${NOMAIL_ETIME} -- skipping"
NOMAIL_ETIME=""
fi
#
# add all the people with '*LK*' password to the nomail list
# XXX: maybe I should customize the *LK* string. Doh.
#
LOCKOUT=`$YPCAT passwd | $GREP "${FIRED_FLAG}" | cut -d: -f1 | sort > ${NOMAIL_YP}`
`cat ${NOMAIL_YP} ${NOMAIL_ETIME} > ${NOMAIL}`
exit
# end

View File

@@ -1,103 +0,0 @@
#!/usr/bonsaitools/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
# David Gardiner <david.gardiner@unisa.edu.au>
# Joe Robins <jmrobins@tgix.com>
# Christopher Aillon <christopher@aillon.com>
# Gervase Markham <gerv@gerv.net>
use diagnostics;
use strict;
use lib qw(.);
require "CGI.pl";
# Shut up misguided -w warnings about "used only once":
use vars %::FORM;
# Use the template toolkit (http://www.template-toolkit.org/)
use Template;
# Create the global template object that processes templates
my $template = Template->new(
{
# Colon-separated list of directories containing templates.
INCLUDE_PATH => "template/custom:template/default",
RELATIVE => 1,
PRE_CHOMP => 1,
});
# Define the global variables and functions that will be passed to the UI
# template.
my $vars =
{
'Param' => \&Param,
'PerformSubsts' => \&PerformSubsts,
};
ConnectToDatabase();
# If we're using LDAP for login, then we can't create a new account here.
if(Param('useLDAP')) {
DisplayError("This site is using LDAP for authentication. Please contact
an LDAP administrator to get a new account created.",
"Can't create LDAP accounts");
PutFooter();
exit;
}
# Clear out the login cookies. Make people log in again if they create an
# account; otherwise, they'll probably get confused.
my $cookiepath = Param("cookiepath");
print "Set-Cookie: Bugzilla_login= ; path=$cookiepath; expires=Sun, 30-Jun-80 00:00:00 GMT
Set-Cookie: Bugzilla_logincookie= ; path=$cookiepath; expires=Sun, 30-Jun-80 00:00:00 GMT\n";
print "Content-Type: text/html\n\n";
my $login = $::FORM{'login'};
my $realname = trim($::FORM{'realname'});
if (defined($login)) {
# We've been asked to create an account.
CheckEmailSyntax($login);
$vars->{'login'} = $login;
if (DBname_to_id($login) != 0) {
# Account already exists
$template->process("admin/account_exists.tmpl", $vars)
|| DisplayError("Template process failed: " . $template->error());
exit;
}
# Create account
my $password = InsertNewUser($login, $realname);
MailPassword($login, $password);
$template->process("admin/account_created.tmpl", $vars)
|| DisplayError("Template process failed: " . $template->error());
exit;
}
# Show the standard "would you like to create an account?" form.
$template->process("admin/create_account.tmpl", $vars)
|| DisplayError("Template process failed: " . $template->error())
&& exit;

View File

@@ -1,37 +0,0 @@
body
{
font-family: sans-serif;
font-size: 10pt;
background-color: white;
}
ul
{
padding-left: 12px;
}
radio
{
-moz-user-select: ignore;
}
.text-link
{
margin-left: 3px;
}
.text-link:hover
{
text-decoration: underline;
cursor: pointer;
}
.descriptive-content
{
color: #AAAAAA;
}
.descriptive-content[focused=true]
{
color: black;
}

View File

@@ -1,704 +0,0 @@
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
# Dawn Endico <endico@mozilla.org>
# Dan Mosedale <dmose@mozilla.org>
# Joe Robins <jmrobins@tgix.com>
# Jake <jake@acutex.net>
#
# This file defines all the parameters that we have a GUI to edit within
# Bugzilla.
# ATTENTION!!!! THIS FILE ONLY CONTAINS THE DEFAULTS.
# You cannot change your live settings by editing this file.
# Only adding new parameters is done here. Once the parameter exists, you
# must use %baseurl%/editparams.cgi from the web to edit the settings.
use diagnostics;
use strict;
# Shut up misguided -w warnings about "used only once". For some reason,
# "use vars" chokes on me when I try it here.
sub defparams_pl_sillyness {
my $zz;
$zz = %::param_checker;
$zz = %::param_desc;
$zz = %::param_type;
}
sub WriteParams {
foreach my $i (@::param_list) {
if (!defined $::param{$i}) {
$::param{$i} = $::param_default{$i};
if (!defined $::param{$i}) {
die "No default parameter ever specified for $i";
}
}
}
# If Bugzilla has been upgraded since the last time parameters were edited,
# and some parameters have been removed in the new version of Bugzilla,
# remove them from the parameters file.
foreach my $item (keys %::param) {
if (!grep($_ eq $item, @::param_list) && $item ne "version") {
print "The <em>$item</em> parameter is no longer used in Bugzilla
and has been removed from your parameters file.<br>";
delete $::param{$item};
}
}
mkdir("data", 0777);
chmod 0777, "data";
my $tmpname = "data/params.$$";
open(FID, ">$tmpname") || die "Can't create $tmpname";
my $v = $::param{'version'};
delete $::param{'version'}; # Don't write the version number out to
# the params file.
print FID GenerateCode('%::param');
$::param{'version'} = $v;
print FID "1;\n";
close FID;
rename $tmpname, "data/params" || die "Can't rename $tmpname to data/params";
chmod 0666, "data/params";
}
sub DefParam {
my ($id, $desc, $type, $default, $checker) = (@_);
push @::param_list, $id;
$::param_desc{$id} = $desc;
$::param_type{$id} = $type;
$::param_default{$id} = $default;
if (defined $checker) {
$::param_checker{$id} = $checker;
}
}
sub check_numeric {
my ($value) = (@_);
if ($value !~ /^[0-9]+$/) {
return "must be a numeric value";
}
return "";
}
sub check_shadowdb {
my ($value) = (@_);
$value = trim($value);
if ($value eq "") {
return "";
}
SendSQL("SHOW DATABASES");
while (MoreSQLData()) {
my $n = FetchOneColumn();
if (lc($n) eq lc($value)) {
return "The $n database already exists. If that's really the name you want to use for the backup, please CAREFULLY make the existing database go away somehow, and then try again.";
}
}
SendSQL("CREATE DATABASE $value");
SendSQL("INSERT INTO shadowlog (command) VALUES ('SYNCUP')", 1);
return "";
}
@::param_list = ();
# OK, here are the definitions themselves.
#
# The type of parameters (the third parameter to DefParam) can be one
# of the following:
#
# t -- A short text entry field (suitable for a single line)
# l -- A long text field (suitable for many lines)
# b -- A boolean value (either 1 or 0)
DefParam("maintainer",
"The email address of the person who maintains this installation of Bugzilla.",
"t",
'THE MAINTAINER HAS NOT YET BEEN SET');
DefParam("urlbase",
"The URL that is the common initial leading part of all Bugzilla URLs.",
"t",
"http://cvs-mirror.mozilla.org/webtools/bugzilla/",
\&check_urlbase);
sub check_urlbase {
my ($url) = (@_);
if ($url !~ m:^http.*/$:) {
return "must be a legal URL, that starts with http and ends with a slash.";
}
return "";
}
DefParam("cookiepath",
"Directory path under your document root that holds your Bugzilla installation. Make sure to begin with a /.",
"t",
"/");
DefParam("preferlists",
"If this is on, Bugzilla will display most selection options as selection lists. If this is off, Bugzilla will use radio buttons and checkboxes instead.",
"b",
1);
DefParam("capitalizelists",
"If this is on, Bugzilla will capitalize list entries, checkboxes, and radio buttons. If this is off, Bugzilla will leave these items untouched.",
"b",
0);
DefParam("usequip",
"If this is on, Bugzilla displays a silly quip at the beginning of buglists, and lets users add to the list of quips.",
"b",
1);
# Added parameter - JMR, 2/16/00
DefParam("usebuggroups",
"If this is on, Bugzilla will associate a bug group with each product in the database, and use it for querying bugs.",
"b",
0);
# Added parameter - JMR, 2/16/00
DefParam("usebuggroupsentry",
"If this is on, Bugzilla will use product bug groups to restrict who can enter bugs. Requires usebuggroups to be on as well.",
"b",
0);
DefParam("shadowdb",
"If non-empty, then this is the name of another database in which Bugzilla will keep a shadow read-only copy of everything. This is done so that long slow read-only operations can be used against this db, and not lock up things for everyone else. Turning on this parameter will create the given database; be careful not to use the name of an existing database with useful data in it!",
"t",
"",
\&check_shadowdb);
DefParam("queryagainstshadowdb",
"If this is on, and the shadowdb is set, then queries will happen against the shadow database.",
"b",
0);
DefParam("usedespot",
"If this is on, then we are using the Despot system to control our database of users. Bugzilla won't ever write into the user database, it will let the Despot code maintain that. And Bugzilla will send the user over to Despot URLs if they need to change their password. Also, in that case, Bugzilla will treat the passwords stored in the database as being crypt'd, not plaintext.",
"b",
0);
DefParam("despotbaseurl",
"The base URL for despot. Used only if <b>usedespot</b> is turned on, above.",
"t",
"http://cvs-mirror.mozilla.org/webtools/despot/despot.cgi",
\&check_despotbaseurl);
sub check_despotbaseurl {
my ($url) = (@_);
if ($url !~ /^http.*cgi$/) {
return "must be a legal URL, that starts with http and ends with .cgi";
}
return "";
}
# Adding in four parameters for LDAP authentication. -JMR, 7/28/00
DefParam("useLDAP",
"Turn this on to use an LDAP directory for user authentication ".
"instead of the Bugzilla database. (User profiles will still be ".
"stored in the database, and will match against the LDAP user by ".
"email address.)",
"b",
0);
DefParam("LDAPserver",
"The name (and optionally port) of your LDAP server. (e.g. ldap.company.com, or ldap.company.com:portnum)",
"t",
"");
DefParam("LDAPBaseDN",
"The BaseDN for authenticating users against. (e.g. \"ou=People,o=Company\")",
"t",
"");
DefParam("LDAPmailattribute",
"The name of the attribute of a user in your directory that ".
"contains the email address.",
"t",
"mail");
#End of LDAP parameters
DefParam("headerhtml",
"Additional HTML to add to the HEAD area of documents, eg. links to stylesheets.",
"l",
'');
DefParam("bodyhtml",
"Additional parameters to add to the BODY tag at the beginning of documents, eg. background image/colors, link colors, etc",
"l",
'BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000"');
DefParam("footerhtml",
"HTML to add to the bottom of every page. By default it displays the blurbhtml, and %commandmenu%, a menu of useful commands. You probably really want either bannerhtml or footerhtml to include %commandmenu%.",
"l",
'<TABLE BORDER="0"><TR><TD BGCOLOR="#000000" VALIGN="TOP">
<TABLE BORDER="0" CELLPADDING="10" CELLSPACING="0" WIDTH="100%" BGCOLOR="lightyellow">
<TR><TD>
%blurbhtml%
<BR>
%commandmenu%
</TD></TR></TABLE></TD></TR></TABLE>');
DefParam("errorhtml",
"This is what is printed out when a form is improperly filled out. %errormsg% is replaced by the actual error itself; %<i>anythingelse</i>% gets replaced by the definition of that parameter (as defined on this page).",
"l",
qq{<TABLE CELLPADDING=20><TR><TD BGCOLOR="#ff0000">
<FONT SIZE="+2">%errormsg%</FONT></TD></TR></TABLE>
<P>Please press <B>Back</B> and try again.<P>});
DefParam("bannerhtml",
"The html that gets emitted at the head of every Bugzilla page.
Anything of the form %<i>word</i>% gets replaced by the defintion of that
word (as defined on this page).",
"l",
q{<TABLE BGCOLOR="#000000" WIDTH="100%" BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR><TD><A HREF="http://www.mozilla.org/"><IMG
SRC="http://www.mozilla.org/images/mozilla-banner.gif" ALT=""
BORDER=0 WIDTH=600 HEIGHT=58></A></TD></TR></TABLE>
<CENTER><FONT SIZE=-1>Bugzilla version %version%
</FONT></CENTER>});
DefParam("blurbhtml",
"A blurb that appears as part of the header of every Bugzilla page. This is a place to put brief warnings, pointers to one or two related pages, etc.",
"l",
"This is <B>Bugzilla</B>: the Mozilla bug system. For more
information about what Bugzilla is and what it can do, see
<A HREF=\"http://www.mozilla.org/\">mozilla.org</A>'s
<A HREF=\"http://www.mozilla.org/bugs/\"><B>bug pages</B></A>.");
DefParam("mostfreqhtml",
"The HTML which appears at the top of the list of most-frequently-reported bugs. Use it to explain the page, set a maintainer etc.",
"l",
q{
<br><p>
<b>What are "most frequent bugs"?</b>
<blockquote>The Most Frequent Bugs page lists the known open bugs which
are reported most frequently in recent builds of Mozilla. It is automatically
generated from the Bugzilla database every 24 hours, by counting the number
of direct and indirect duplicates of bugs.
This information is provided in order to assist in minimizing
the amount of duplicate bugs entered into Bugzilla which in turn cuts down
on development time.
</blockquote>
<b>How do I use this list?</b>
<ul>
<li>Review the most frequent bugs list.</li>
<li>If problem is listed:</li>
<ul>
<li>Click on Bug # link to confirm that you have found the same bug and comment
if you have additional information. Or move on with your testing
of the product.</li>
</ul>
<li>If problem not listed:</li>
<ul>
<li>Go to the <a href="query.cgi">Bugzilla Query/Search</a>
page to try and locate a similar bug that has already been written.</li>
<li>If you find your bug in Bugzilla, feel free to comment with any new or
additional data you may have.</li>
<li>If you cannot find your problem already documented in Bugzilla, go to the
<a href="http://www.mozilla.org/quality/help/bug-form.html">Bugzilla Helper</a> and post a new bug.</li>
</ul>
</ul>
<br>
});
DefParam("mostfreqthreshold",
"The minimum number of duplicates a bug needs to show up on the <A HREF=\"duplicates.cgi\">most frequently reported bugs page</a>. If you have a large database and this page takes a long time to load, try increasing this number.",
"t",
"2");
DefParam("mybugstemplate",
"This is the URL to use to bring up a simple 'all of my bugs' list for a user. %userid% will get replaced with the login name of a user.",
"t",
"buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=%userid%&emailtype1=exact&emailassigned_to1=1&emailreporter1=1");
DefParam("shutdownhtml",
"If this field is non-empty, then Bugzilla will be completely disabled and this text will be displayed instead of all the Bugzilla pages.",
"l",
"");
DefParam("sendmailnow",
"If this is on, Bugzilla will tell sendmail to send any e-mail immediately. If you have a large number of users with a large amount of e-mail traffic, enabling this option may dramatically slow down Bugzilla. Best used for smaller installations of Bugzilla.",
"b",
0);
DefParam("passwordmail",
q{The email that gets sent to people to tell them their password. Within
this text, %mailaddress% gets replaced by the person's email address,
%login% gets replaced by the person's login (usually the same thing), and
%password% gets replaced by their password. %<i>anythingelse</i>% gets
replaced by the definition of that parameter (as defined on this page).},
"l",
q{From: bugzilla-daemon
To: %mailaddress%
Subject: Your Bugzilla password.
To use the wonders of Bugzilla, you can use the following:
E-mail address: %login%
Password: %password%
To change your password, go to:
%urlbase%userprefs.cgi
});
DefParam("newchangedmail",
q{The email that gets sent to people when a bug changes. Within this
text, %to% gets replaced with the e-mail address of the person recieving
the mail. %bugid% gets replaced by the bug number. %diffs% gets
replaced with what's changed. %neworchanged% is "New:" if this mail is
reporting a new bug or empty if changes were made to an existing one.
%summary% gets replaced by the summary of this bug. %reasonsheader%
is replaced by an abbreviated list of reasons why the user is getting the email,
suitable for use in an email header (such as X-Bugzilla-Reason).
%reasonsbody% is replaced by text that explains why the user is getting the email
in more user friendly text than %reasonsheader%.
%<i>anythingelse</i>% gets replaced by the definition of
that parameter (as defined on this
page).},
"l",
"From: bugzilla-daemon
To: %to%
Subject: [Bug %bugid%] %neworchanged%%summary%
X-Bugzilla-Reason: %reasonsheader%
%urlbase%show_bug.cgi?id=%bugid%
%diffs%
%reasonsbody%");
DefParam("whinedays",
"The number of days that we'll let a bug sit untouched in a NEW state before our cronjob will whine at the owner.",
"t",
7,
\&check_numeric);
DefParam("whinemail",
"The email that gets sent to anyone who has a NEW bug that hasn't been touched for more than <b>whinedays</b>. Within this text, %email% gets replaced by the offender's email address. %userid% gets replaced by the offender's bugzilla login (which, in most installations, is the same as the email address.) %<i>anythingelse</i>% gets replaced by the definition of that parameter (as defined on this page).<p> It is a good idea to make sure this message has a valid From: address, so that if the mail bounces, a real person can know that there are bugs assigned to an invalid address.",
"l",
q{From: %maintainer%
To: %email%
Subject: Your Bugzilla buglist needs attention.
[This e-mail has been automatically generated.]
You have one or more bugs assigned to you in the Bugzilla
bugsystem (%urlbase%) that require
attention.
All of these bugs are in the NEW state, and have not been touched
in %whinedays% days or more. You need to take a look at them, and
decide on an initial action.
Generally, this means one of three things:
(1) You decide this bug is really quick to deal with (like, it's INVALID),
and so you get rid of it immediately.
(2) You decide the bug doesn't belong to you, and you reassign it to someone
else. (Hint: if you don't know who to reassign it to, make sure that
the Component field seems reasonable, and then use the "Reassign bug to
owner of selected component" option.)
(3) You decide the bug belongs to you, but you can't solve it this moment.
Just use the "Accept bug" command.
To get a list of all NEW bugs, you can use this URL (bookmark it if you like!):
%urlbase%buglist.cgi?bug_status=NEW&assigned_to=%userid%
Or, you can use the general query page, at
%urlbase%query.cgi.
Appended below are the individual URLs to get to all of your NEW bugs that
haven't been touched for a week or more.
You will get this message once a day until you've dealt with these bugs!
});
DefParam("defaultquery",
"This is the default query that initially comes up when you submit a bug. It's in URL parameter format, which makes it hard to read. Sorry!",
"t",
"bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=%22Importance%22");
DefParam("letsubmitterchoosepriority",
"If this is on, then people submitting bugs can choose an initial priority for that bug. If off, then all bugs initially have the default priority selected below.",
"b",
1);
sub check_priority {
my ($value) = (@_);
GetVersionTable();
if (lsearch(\@::legal_priority, $value) < 0) {
return "Must be a legal priority value: one of " .
join(", ", @::legal_priority);
}
return "";
}
DefParam("defaultpriority",
"This is the priority that newly entered bugs are set to.",
"t",
"P2",
\&check_priority);
DefParam("usetargetmilestone",
"Do you wish to use the Target Milestone field?",
"b",
0);
DefParam("nummilestones",
"If using Target Milestone, how many milestones do you wish to
appear?",
"t",
10,
\&check_numeric);
DefParam("curmilestone",
"If using Target Milestone, Which milestone are we working toward right now?",
"t",
1,
\&check_numeric);
DefParam("musthavemilestoneonaccept",
"If you are using Target Milestone, do you want to require that the milestone be set in order for a user to ACCEPT a bug?",
"b",
0);
DefParam("useqacontact",
"Do you wish to use the QA Contact field?",
"b",
0);
DefParam("usestatuswhiteboard",
"Do you wish to use the Status Whiteboard field?",
"b",
0);
DefParam("usebrowserinfo",
"Do you want bug reports to be assigned an OS & Platform based on the browser
the user makes the report from?",
"b",
1);
DefParam("usedependencies",
"Do you wish to use dependencies (allowing you to mark which bugs depend on which other ones)?",
"b",
1);
DefParam("webdotbase",
"This is the URL prefix that is common to all requests for webdot. The <a href=\"http://www.research.att.com/~north/cgi-bin/webdot.cgi\">webdot package</a> is a very swell thing that generates pictures of graphs. If you have an installation of bugsplat that hides behind a firewall, then to get graphs to work, you will have to install a copy of webdot behind your firewall, and change this path to match. Also, webdot has some trouble with software domain names, so you may have to play games and hack the %urlbase% part of this. If this all seems like too much trouble, you can set this paramater to be the empty string, which will cause the graphing feature to be disabled entirely.",
"t",
"http://www.research.att.com/~north/cgi-bin/webdot.cgi/%urlbase%");
DefParam("entryheaderhtml",
"This is a special header for the bug entry page. The text will be printed after the page header, before the bug entry form. It is meant to be a place to put pointers to intructions on how to enter bugs.",
"l",
'<A HREF="bugwritinghelp.html">Bug writing guidelines</A>');
DefParam("expectbigqueries",
"If this is on, then we will tell mysql to <tt>set option SQL_BIG_TABLES=1</tt> before doing queries on bugs. This will be a little slower, but one will not get the error <tt>The table ### is full</tt> for big queries that require a big temporary table.",
"b",
0);
DefParam("emailregexp",
'This defines the regexp to use for legal email addresses. The default tries to match fully qualified email addresses. Another popular value to put here is <tt>^[^@]+$</tt>, which means "local usernames, no @ allowed."',
"t",
q:^[^@]+@[^@]+\\.[^@]+$:);
DefParam("emailregexpdesc",
"This describes in english words what kinds of legal addresses are allowed by the <tt>emailregexp</tt> param.",
"l",
"A legal address must contain exactly one '\@', and at least one '.' after the \@.");
DefParam("emailsuffix",
"This is a string to append to any email addresses when actually sending mail to that address. It is useful if you have changed the <tt>emailregexp</tt> param to only allow local usernames, but you want the mail to be delivered to username\@my.local.hostname.",
"t",
"");
DefParam("voteremovedmail",
q{This is a mail message to send to anyone who gets a vote removed from a bug for any reason. %to% gets replaced by the person who used to be voting for this bug. %bugid% gets replaced by the bug number. %reason% gets replaced by a short reason describing why the vote(s) were removed. %votesremoved%, %votesold% and %votesnew% is the number of votes removed, before and after respectively. %votesremovedtext%, %votesoldtext% and %votesnewtext% are these as sentences, eg "You had 2 votes on this bug." %count% is also supported for backwards compatibility. %<i>anythingelse</i>% gets replaced by the definition of that parameter (as defined on this page).},
"l",
"From: bugzilla-daemon
To: %to%
Subject: [Bug %bugid%] Some or all of your votes have been removed.
Some or all of your votes have been removed from bug %bugid%.
%votesoldtext%
%votesnewtext%
Reason: %reason%
%urlbase%show_bug.cgi?id=%bugid%
");
DefParam("allowbugdeletion",
q{The pages to edit products and components and versions can delete all associated bugs when you delete a product (or component or version). Since that is a pretty scary idea, you have to turn on this option before any such deletions will ever happen.},
"b",
0);
DefParam("allowuserdeletion",
q{The pages to edit users can also let you delete a user. But there is no code that goes and cleans up any references to that user in other tables, so such deletions are kinda scary. So, you have to turn on this option before any such deletions will ever happen.},
"b",
0);
DefParam("browserbugmessage",
"If bugzilla gets unexpected data from the browser, in addition to displaying the cause of the problem, it will output this HTML as well.",
"l",
"this may indicate a bug in your browser.\n");
#
# Parameters to force users to comment their changes for different actions.
DefParam("commentonaccept",
"If this option is on, the user needs to enter a short comment if he accepts the bug",
"b", 0 );
DefParam("commentonclearresolution",
"If this option is on, the user needs to enter a short comment if the bugs resolution is cleared",
"b", 0 );
DefParam("commentonconfirm",
"If this option is on, the user needs to enter a short comment when confirming a bug",
"b", 0 );
DefParam("commentonresolve",
"If this option is on, the user needs to enter a short comment if the bug is resolved",
"b", 0 );
DefParam("commentonreassign",
"If this option is on, the user needs to enter a short comment if the bug is reassigned",
"b", 0 );
DefParam("commentonreassignbycomponent",
"If this option is on, the user needs to enter a short comment if the bug is reassigned by component",
"b", 0 );
DefParam("commentonreopen",
"If this option is on, the user needs to enter a short comment if the bug is reopened",
"b", 0 );
DefParam("commentonverify",
"If this option is on, the user needs to enter a short comment if the bug is verified",
"b", 0 );
DefParam("commentonclose",
"If this option is on, the user needs to enter a short comment if the bug is closed",
"b", 0 );
DefParam("commentonduplicate",
"If this option is on, the user needs to enter a short comment if the bug is marked as duplicate",
"b", 0 );
DefParam("supportwatchers",
"Support one user watching (ie getting copies of all related email" .
" about) another's bugs. Useful for people going on vacation, and" .
" QA folks watching particular developers' bugs",
"b", 0 );
DefParam("move-enabled",
"If this is on, Bugzilla will allow certain people to move bugs to the defined database.",
"b",
0);
DefParam("move-button-text",
"The text written on the Move button. Explain where the bug is being moved to.",
"t",
'Move To Bugscape');
DefParam("move-to-url",
"The URL of the database we allow some of our bugs to be moved to.",
"t",
'');
DefParam("move-to-address",
"To move bugs, an email is sent to the target database. This is the email address that database
uses to listen for incoming bugs.",
"t",
'bugzilla-import');
DefParam("moved-from-address",
"To move bugs, an email is sent to the target database. This is the email address from which
this mail, and error messages are sent.",
"t",
'bugzilla-admin');
DefParam("movers",
"A list of people with permission to move bugs and reopen moved bugs (in case the move operation fails).",
"t",
'');
DefParam("moved-default-product",
"Bugs moved from other databases to here are assigned to this product.",
"t",
'');
DefParam("moved-default-component",
"Bugs moved from other databases to here are assigned to this component.",
"t",
'');
# The maximum size (in bytes) for patches and non-patch attachments.
# The default limit is 1000KB, which is 24KB less than mysql's default
# maximum packet size (which determines how much data can be sent in a
# single mysql packet and thus how much data can be inserted into the
# database) to provide breathing space for the data in other fields of
# the attachment record as well as any mysql packet overhead (I don't
# know of any, but I suspect there may be some.)
DefParam("maxpatchsize",
"The maximum size (in kilobytes) of patches. Bugzilla will not
accept patches greater than this number of kilobytes in size.
To accept patches of any size (subject to the limitations of
your server software), set this value to zero." ,
"t",
'1000');
DefParam("maxattachmentsize" ,
"The maximum size (in kilobytes) of non-patch attachments. Bugzilla
will not accept attachments greater than this number of kilobytes
in size. To accept attachments of any size (subject to the
limitations of your server software), set this value to zero." ,
"t" ,
'1000');
1;

View File

@@ -1,151 +0,0 @@
#!/usr/bonsaitools/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
use vars %::FORM;
use diagnostics;
use strict;
use lib qw(.);
require "CGI.pl";
ConnectToDatabase();
GetVersionTable();
quietly_check_login();
######################################################################
# Begin Data/Security Validation
######################################################################
# If this installation uses bug groups to restrict access to products,
# only show the user products that don't have their own bug group or
# those whose bug group the user is a member of. Otherwise, if this
# installation doesn't use bug groups, show the user all legal products.
my @products;
if ( Param("usebuggroups") ) {
@products = grep( !GroupExists($_) || UserInGroup($_) , @::legal_product );
} else {
@products = @::legal_product;
}
if ( defined $::FORM{'product'} ) {
# Make sure the user specified a valid product name. Note that
# if the user specifies a valid product name but is not authorized
# to access that product, they will receive a different error message
# which could enable people guessing product names to determine
# whether or not certain products exist in Bugzilla, even if they
# cannot get any other information about that product.
grep( $::FORM{'product'} eq $_ , @::legal_product )
|| DisplayError("The product name is invalid.")
&& exit;
# Make sure the user is authorized to access this product.
if ( Param("usebuggroups") && GroupExists($::FORM{'product'}) ) {
UserInGroup($::FORM{'product'})
|| DisplayError("You are not authorized to access that product.")
&& exit;
}
}
######################################################################
# End Data/Security Validation
######################################################################
print "Content-type: text/html\n\n";
my $product = $::FORM{'product'};
if (!defined $product || lsearch(\@products, $product) < 0) {
PutHeader("Bugzilla component description");
print "
<FORM>
Please specify the product whose components you want described.
<P>
Product: <SELECT NAME=product>
";
print make_options(\@products);
print "
</SELECT>
<P>
<INPUT TYPE=\"submit\" VALUE=\"Submit\">
</FORM>
";
PutFooter();
exit;
}
PutHeader("Bugzilla component description", "Bugzilla component description",
$product);
print "
<TABLE>
<tr>
<th align=left>Component</th>
<th align=left>Default owner</th>
";
my $emailsuffix = Param("emailsuffix");
my $useqacontact = Param("useqacontact");
my $cols = 2;
if ($useqacontact) {
print "<th align=left>Default qa contact</th>";
$cols++;
}
my $colbut1 = $cols - 1;
print "</tr>";
SendSQL("select value, initialowner, initialqacontact, description from components where program = " . SqlQuote($product) . " order by value");
my @data;
while (MoreSQLData()) {
push @data, [FetchSQLData()];
}
foreach (@data) {
my ($component, $initialownerid, $initialqacontactid, $description) = @$_;
my ($initialowner, $initialqacontact) = ($initialownerid ? DBID_to_name ($initialownerid) : '',
$initialqacontactid ? DBID_to_name ($initialqacontactid) : '');
print qq|
<tr><td colspan=$cols><hr></td></tr>
<tr><td rowspan=2><a name="|
.value_quote($component).
qq|">$component</a></td>
<td><a href="mailto:$initialowner$emailsuffix">$initialowner</a></td>
|;
if ($useqacontact) {
print qq|
<td><a href="mailto:$initialqacontact$emailsuffix">$initialqacontact</a></td>
|;
}
print "</tr><tr><td colspan=$colbut1>$description</td></tr>\n";
}
print "<tr><td colspan=$cols><hr></td></tr></table>\n";
PutFooter();

View File

@@ -1,92 +0,0 @@
#!/usr/bonsaitools/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Terry Weissman.
# Portions created by Terry Weissman are
# Copyright (C) 2000 Terry Weissman. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
use diagnostics;
use strict;
use lib qw(.);
require "CGI.pl";
ConnectToDatabase();
print "Content-type: text/html\n\n";
PutHeader("Bugzilla keyword description");
my $tableheader = qq{
<TABLE BORDER=1 CELLPADDING=4 CELLSPACING=0>
<TR BGCOLOR="#6666FF">
<TH ALIGN="left">Name</TH>
<TH ALIGN="left">Description</TH>
<TH ALIGN="left">Bugs</TH>
</TR>
};
print $tableheader;
my $line_count = 0;
my $max_table_size = 50;
SendSQL("SELECT keyworddefs.name, keyworddefs.description,
COUNT(keywords.bug_id), keywords.bug_id
FROM keyworddefs LEFT JOIN keywords ON keyworddefs.id=keywords.keywordid
GROUP BY keyworddefs.id
ORDER BY keyworddefs.name");
while (MoreSQLData()) {
my ($name, $description, $bugs, $onebug) = FetchSQLData();
if ($bugs && $onebug) {
# This 'onebug' stuff is silly hackery for old versions of
# MySQL that seem to return a count() of 1 even if there are
# no matching. So, we ask for an actual bug number. If it
# can't find any bugs that match the keyword, then we set the
# count to be zero, ignoring what it had responded.
my $q = url_quote($name);
$bugs = qq{<A HREF="buglist.cgi?keywords=$q">$bugs</A>};
} else {
$bugs = "none";
}
if ($line_count == $max_table_size) {
print "</table>\n$tableheader";
$line_count = 0;
}
$line_count++;
print qq{
<TR>
<TH><a name="}
.value_quote($name).
qq{">$name</A></TH>
<TD>$description</TD>
<TD ALIGN="right">$bugs</TD>
</TR>
};
}
print "</TABLE><P>\n";
quietly_check_login();
if (UserInGroup("editkeywords")) {
print "<p><a href=editkeywords.cgi>Edit keywords</a><p>\n";
}
PutFooter();

View File

@@ -1,141 +0,0 @@
Welcome to the Bugzilla documentation project!
You'll find these directories and files here:
README.docs # This README file
html/ # The compiled HTML docs from SGML sources (do not edit)
sgml/ # The original SGML doc sources (edit these)
txt/ # The compiled text docs from SGML sources
ps/ # The compiled PostScript docs from SGML sources
pdf/ # The compiled Adobe PDF docs from SGML sources
A note about SGML:
The documentation is written in DocBook 3.1/4.1 SGML, and attempts to adhere
to the LinuxDoc standards everywhere applicable (http://www.linuxdoc.org).
Please consult "The LDP Author Guide" at linuxdoc.org for details on how
to set up your personal environment for compiling SGML files.
If you need to make corrections to typographical errors, or other minor
editing duties, feel free to use any text editor to make the changes. SGML
is not rocket science -- simply make sure your text appears between
appropriate tags (like <para>This is a paragraph</para>) and we'll be fine.
If you are making more extensive changes, please ensure you at least validate
your SGML before checking it in with something like:
nsgmls -s Bugzilla-Guide.sgml
When you validate, please validate the master document (Bugzilla-Guide.sgml)
as well as the document you edited to ensure there are no critical errors.
The following errors are considered "normal" when validating with nsgmls:
DTDDECL catalog entries are not supported
"DOCTYPE" declaration not allowed in instance
The reason these occur is that free sgml validators do not yet support
the DTDDECL catalog entries, and I've included DOCTYPE declarations in
entities referenced from Bugzilla-Guide.sgml so these entities can compile
individually, if necessary. I suppose I ought to comment them out at some
point, but for now they are convenient and don't hurt anything.
Thanks for taking the time to read these notes and consulting the
documentation. Please address comments and questions to the newsgroup:
news://news.mozilla.org/netscape/public/mozilla/webtools .
==========
HOW TO SET UP YOUR OWN SGML EDITING ENVIRONMENT:
==========
Trying to set up an SGML/XML Docbook editing environment the
first time can be a daunting task.
I use Linux-Mandrake, in part, because it has a fully-functional
SGML/XML Docbook editing environment included as part of the
distribution CD's. If you have easier instructions for how to
do this for a particular Linux distribution or platform, please
let the team know at the mailing list: mozilla-webtools@mozilla.org.
The following text is taken nearly verbatim from
http://bugzilla.mozilla.org/show_bug.cgi?id=95970, where I gave
these instructions to someone who wanted the greater manageability
maintaining a document in Docbook brings:
This is just off the top of my head, but here goes. Note some of these may
NOT be necessary, but I don't think they hurt anything by being installed.
rpms:
openjade
jadetex
docbook-dtd41-sgml
docbook-style-dsssl
docbook-dtd31-sgml
docbook-style-dsssl-doc
xemacs
psgml
sgml-tools
sgml-common
Set up environment:
in your .bashrc add this line (after installing above RPMS):
export SGML_CATALOG_FILES=/etc/sgml/catalog
Download "ldp.dsl" from the Resources page on linuxdoc.org. This is the
stylesheet I use to get the HTML and text output. It works well, and has a
nice, consistent look with the rest of the linuxdoc documents. You'll have to
adjust the paths in ldp.dsl at the top of the file to reflect the actual
locations of your docbook catalog files. I created a directory,
/usr/share/sgml/docbook/ldp, and put the ldp.dsl file there. I then edited
ldp.dsl and changed two lines near the top:
<!ENTITY docbook.dsl SYSTEM "../dsssl-stylesheets-1.62/html/docbook.dsl" CDATA
dsssl>
...and...
<!ENTITY docbook.dsl SYSTEM "../dsssl-stylesheets-1.62/print/docbook.dsl" CDATA
dsssl>
Note the difference is the top one points to the HTML docbook stylesheet,
and the next one points to the PRINT docbook stylesheet.
You know, this sure looks awful involved. Anyway, once you have this in
place, add to your .bashrc:
export LDP_HOME=/usr/share/sgml/docbook/ldp
I suggest xemacs for editing your SGML/XML Docbook documents. The darn
thing just works, and generally includes PSGML mode by default. You can
download psgml at http://www.sourceforge.net/projects/psgml.
==========
NOTES:
==========
Here are the commands I use to maintain this documentation.
You MUST have DocBook 4.1 set up correctly in order for this to work.
Substitute your own path to "ldp.dsl" for "$LDP_HOME". Additionally,
there is now a dependency on "xml.dcl" since we converted the Guide
to XML. Note that below, it is hard-coded to
/usr/share/doc/openjade-1.3/pubtext/xml.dcl. Modify it to point to
openjade's xml.dcl on your system.
To create HTML documentation:
bash$ cd html
bash$ jade -t sgml -i html -d $LDP_HOME/ldp.dsl\#html \
/usr/share/doc/openjade-1.3/pubtext/xml.dcl ../sgml/Bugzilla-Guide.sgml
To create HTML documentation as a single big HTML file:
bash$ cd html
bash$ jade -V nochunks -t sgml -i html -d $LDP_HOME/ldp.dsl\#html \
/usr/share/doc/openjade-1.3/pubtext/xml.dcl ../sgml/Bugzilla-Guide.sgml
To create TXT documentation as a single big TXT file:
bash$ cd txt
bash$ lynx -dump -nolist ../html/Bugzilla-Guide.html >Bugzilla-Guide.txt
## Change for XML
There's a small change in how you use Jade now that we've converted the
Bugzilla Guide to XML from SGML. Now call Jade this way to compile HTML
documentation:
(I need to remove the hard-coded path to xml.dcl for openjade)
Sincerely,
Matthew P. Barnson
The Bugzilla "Doc Knight"
barnboy@trilobyte.net

File diff suppressed because it is too large Load Diff

View File

@@ -1,183 +0,0 @@
<HTML
><HEAD
><TITLE
>About This Guide</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="NEXT"
TITLE="Purpose and Scope of this Guide"
HREF="aboutthisguide.html"></HEAD
><BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="index.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="aboutthisguide.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="chapter"
><H1
><A
NAME="about"
>Chapter 1. About This Guide</A
></H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>1.1. <A
HREF="aboutthisguide.html"
>Purpose and Scope of this Guide</A
></DT
><DT
>1.2. <A
HREF="copyright.html"
>Copyright Information</A
></DT
><DT
>1.3. <A
HREF="disclaimer.html"
>Disclaimer</A
></DT
><DT
>1.4. <A
HREF="newversions.html"
>New Versions</A
></DT
><DT
>1.5. <A
HREF="credits.html"
>Credits</A
></DT
><DT
>1.6. <A
HREF="contributors.html"
>Contributors</A
></DT
><DT
>1.7. <A
HREF="feedback.html"
>Feedback</A
></DT
><DT
>1.8. <A
HREF="translations.html"
>Translations</A
></DT
><DT
>1.9. <A
HREF="conventions.html"
>Document Conventions</A
></DT
></DL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="index.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="aboutthisguide.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>The Bugzilla Guide</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Purpose and Scope of this Guide</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,199 +0,0 @@
<HTML
><HEAD
><TITLE
>Purpose and Scope of this Guide</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="PREVIOUS"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="NEXT"
TITLE="Copyright Information"
HREF="copyright.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="about.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 1. About This Guide</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="copyright.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="aboutthisguide"
>1.1. Purpose and Scope of this Guide</A
></H1
><P
>&#13; This document was started on September 17, 2000 by Matthew P.
Barnson after a great deal of procrastination updating the
Bugzilla FAQ, which I left untouched for nearly half a year.
After numerous complete rewrites and reformatting, it is the
document you see today.
</P
><P
>&#13; Bugzilla is simply the best piece of bug-tracking software the
world has ever seen. This document is intended to be the
comprehensive guide to the installation, administration,
maintenance, and use of the Bugzilla bug-tracking system.
</P
><P
>&#13; This release of the Bugzilla Guide is the
<EM
>2.14</EM
> release. It is so named that it
may match the current version of Bugzilla. The numbering
tradition stems from that used for many free software projects,
in which <EM
>even-numbered</EM
> point releases (1.2,
1.14, etc.) are considered "stable releases", intended for
public consumption; on the other hand,
<EM
>odd-numbered</EM
> point releases (1.3, 2.09,
etc.) are considered unstable <EM
>development</EM
>
releases intended for advanced users, systems administrators,
developers, and those who enjoy a lot of pain.
</P
><P
>&#13; Newer revisions of the Bugzilla Guide follow the numbering
conventions of the main-tree Bugzilla releases, available at
<A
HREF="http://www.mozilla.org/projects/bugzilla"
TARGET="_top"
>http://www.mozilla.org/projects/bugzilla</A
>. Intermediate releases will have
a minor revision number following a period. The current version
of Bugzilla, as of this writing (August 10, 2001) is 2.14; if
something were seriously wrong with that edition of the Guide,
subsequent releases would receive an additional dotted-decimal
digit to indicate the update (2.14.1, 2.14.2, etc.).
Got it? Good.
</P
><P
>&#13; I wrote this in response to the enormous demand for decent
Bugzilla documentation. I have incorporated instructions from
the Bugzilla README, Frequently Asked Questions, Database Schema
Document, and various mailing lists to create it. Chances are,
there are glaring errors in this documentation; please contact
<TT
CLASS="email"
>&#60;<A
HREF="mailto:barnboy@trilobyte.net"
>barnboy@trilobyte.net</A
>&#62;</TT
> to correct them.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="about.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="copyright.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>About This Guide</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="about.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Copyright Information</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,252 +0,0 @@
<HTML
><HEAD
><TITLE
>Administering Bugzilla</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Win32 Installation Notes"
HREF="win32.html"><LINK
REL="NEXT"
TITLE="Post-Installation Checklist"
HREF="postinstall-check.html"></HEAD
><BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="win32.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="postinstall-check.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="chapter"
><H1
><A
NAME="administration"
>Chapter 4. Administering Bugzilla</A
></H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>4.1. <A
HREF="postinstall-check.html"
>Post-Installation Checklist</A
></DT
><DT
>4.2. <A
HREF="useradmin.html"
>User Administration</A
></DT
><DD
><DL
><DT
>4.2.1. <A
HREF="useradmin.html#defaultuser"
>Creating the Default User</A
></DT
><DT
>4.2.2. <A
HREF="useradmin.html#manageusers"
>Managing Other Users</A
></DT
><DD
><DL
><DT
>4.2.2.1. <A
HREF="useradmin.html#login"
>Logging In</A
></DT
><DT
>4.2.2.2. <A
HREF="useradmin.html#createnewusers"
>Creating new users</A
></DT
><DT
>4.2.2.3. <A
HREF="useradmin.html#disableusers"
>Disabling Users</A
></DT
><DT
>4.2.2.4. <A
HREF="useradmin.html#modifyusers"
>Modifying Users</A
></DT
></DL
></DD
></DL
></DD
><DT
>4.3. <A
HREF="programadmin.html"
>Product, Component, Milestone, and Version
Administration</A
></DT
><DD
><DL
><DT
>4.3.1. <A
HREF="programadmin.html#products"
>Products</A
></DT
><DT
>4.3.2. <A
HREF="programadmin.html#components"
>Components</A
></DT
><DT
>4.3.3. <A
HREF="programadmin.html#versions"
>Versions</A
></DT
><DT
>4.3.4. <A
HREF="programadmin.html#milestones"
>Milestones</A
></DT
><DT
>4.3.5. <A
HREF="programadmin.html#voting"
>Voting</A
></DT
><DT
>4.3.6. <A
HREF="programadmin.html#groups"
>Groups and Group Security</A
></DT
></DL
></DD
><DT
>4.4. <A
HREF="security.html"
>Bugzilla Security</A
></DT
></DL
></DIV
><FONT
COLOR="RED"
>&#13; Or, I just got this cool thing installed. Now what the heck do I
do with it?
</FONT
><P
>&#13; So you followed <SPAN
CLASS="QUOTE"
>"<A
HREF="installation.html"
>Bugzilla Installation</A
>"</SPAN
> to the
letter, and logged into Bugzilla for the very first time with your
super-duper god account. You sit, contentedly staring at the
Bugzilla Query Screen, the worst of the whole mad business of
installing this terrific program behind you. It seems, though, you
have nothing yet to query! Your first act of business should be to
setup the operating parameters for Bugzilla so you can get busy
getting data into your bug tracker.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="win32.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="postinstall-check.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Win32 Installation Notes</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Post-Installation Checklist</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,154 +0,0 @@
<HTML
><HEAD
><TITLE
>Bonsai</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Integrating Bugzilla with Third-Party Tools"
HREF="integration.html"><LINK
REL="PREVIOUS"
TITLE="Integrating Bugzilla with Third-Party Tools"
HREF="integration.html"><LINK
REL="NEXT"
TITLE="CVS"
HREF="cvs.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="integration.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 5. Integrating Bugzilla with Third-Party Tools</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="cvs.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="bonsai"
>5.1. Bonsai</A
></H1
><P
>Bonsai is a web-based tool for managing <A
HREF="cvs.html"
>CVS, the Concurrent Versioning System</A
>
. Using Bonsai, administrators can control open/closed status
of trees, query a fast relational database back-end for change,
branch, and comment information, and view changes made since the
last time the tree was closed. These kinds of changes cause the
engineer responsible to be <SPAN
CLASS="QUOTE"
>"on the hook"</SPAN
> (include
cool URL link here for Hook policies at mozilla.org). Bonsai
also includes gateways to <A
HREF="tinderbox.html"
>Tinderbox, the Mozilla automated build management system</A
> and Bugzilla </P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="integration.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="cvs.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Integrating Bugzilla with Third-Party Tools</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="integration.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>CVS</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,143 +0,0 @@
<HTML
><HEAD
><TITLE
>BSD Installation Notes</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Installation"
HREF="installation.html"><LINK
REL="PREVIOUS"
TITLE="Mac OS X Installation Notes"
HREF="osx.html"><LINK
REL="NEXT"
TITLE="Installation General Notes"
HREF="geninstall.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="osx.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 3. Installation</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="geninstall.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="bsdinstall"
>3.4. BSD Installation Notes</A
></H1
><P
>&#13; For instructions on how to set up Bugzilla on FreeBSD, NetBSD, OpenBSD, BSDi, etc. please
consult <A
HREF="osx.html"
>Section 3.3</A
>.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="osx.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="geninstall.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Mac OS X Installation Notes</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="installation.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Installation General Notes</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,490 +0,0 @@
<HTML
><HEAD
><TITLE
>Hacking Bugzilla</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Useful Patches and Utilities for Bugzilla"
HREF="patches.html"><LINK
REL="PREVIOUS"
TITLE="The Quicksearch Utility"
HREF="quicksearch.html"><LINK
REL="NEXT"
TITLE="GNU Free Documentation License"
HREF="gfdl.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="quicksearch.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix D. Useful Patches and Utilities for Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="gfdl.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="bzhacking"
>D.5. Hacking Bugzilla</A
></H1
><P
>&#13; The following is a guide for reviewers when checking code into Bugzilla's
CVS repostory at mozilla.org. If you wish to submit patches to Bugzilla,
you should follow the rules and style conventions below. Any code that
does not adhere to these basic rules will not be added to Bugzilla's
codebase.
</P
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN2504"
>D.5.1. Things that have caused problems and should be avoided</A
></H2
><P
></P
><OL
TYPE="1"
><LI
><P
>&#13; Usage of variables in Regular Expressions
</P
><P
>&#13; It is very important that you don't use a variable in a regular
expression unless that variable is supposed to contain an expression.
This especially applies when using grep. You should use:
</P
><P
>&#13; <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;grep ($_ eq $value, @array);
</PRE
></FONT
></TD
></TR
></TABLE
>
</P
><P
>&#13; -- NOT THIS --
</P
><P
>&#13; <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;grep (/$value/, @array);
</PRE
></FONT
></TD
></TR
></TABLE
>
</P
><DIV
CLASS="note"
><P
></P
><TABLE
CLASS="note"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/note.gif"
HSPACE="5"
ALT="Note"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>&#13; If you need to use a non-expression variable inside of an expression, be
sure to quote it properly (using <TT
CLASS="function"
>\Q..\E</TT
>).
</P
></TD
></TR
></TABLE
></DIV
></LI
></OL
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN2518"
>D.5.2. Coding Style for Bugzilla</A
></H2
><P
>&#13; While it's true that not all of the code currently in Bugzilla adheres to
this (or any) styleguide, it is something that is being worked toward. Therefore,
we ask that all new code (submitted patches and new files) follow this guide
as closely as possible (if you're only changing 1 or 2 lines, you don't have
to reformat the entire file :).
</P
><P
>&#13; The Bugzilla development team has decided to adopt the perl style guide as
published by Larry Wall. This giude can be found in <SPAN
CLASS="QUOTE"
>"Programming
Perl"</SPAN
> (the camel book) or by typing <B
CLASS="command"
>man perlstyle</B
> at
your favorite shell prompt.
</P
><P
>&#13; What appears below if a brief summary, please refer to the perl style
guide if you don't see your question covered here. It is much better to submit
a patch which fails these criteria than no patch at all, but please try to meet
these minimum standards when submitting code to Bugzilla.
</P
><P
></P
><UL
><LI
><P
>&#13; Whitespace
</P
><P
>&#13; Bugzilla's prefered indentation is 4 spaces (no tabs, please).
</P
></LI
><LI
><P
>&#13; Curly braces.
</P
><P
>&#13; The opening brace of a block should be on the same line as the statement
that is causing the block and the closing brace should be at the same
indentation level as that statement, for example:
</P
><P
>&#13; <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;if ($var) {
print "The variable is true";
}
else {
print "Try again";
}
</PRE
></FONT
></TD
></TR
></TABLE
>
</P
><P
>&#13; -- NOT THIS --
</P
><P
>&#13; <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;if ($var)
{
print "The variable is true";
}
else
{
print "Try again";
}
</PRE
></FONT
></TD
></TR
></TABLE
>
</P
></LI
><LI
><P
>&#13; Cookies
</P
><P
>&#13; Bugzilla uses cookies to ease the user experience, but no new patches
should <EM
>require</EM
> user-side cookies.
</P
></LI
><LI
><P
>&#13; File Names
</P
><P
>&#13; File names for bugzilla code and support documention should be legal across
multiple platforms. <TT
CLASS="computeroutput"
>\ / : * ? " &#60; &#62;</TT
>
and <TT
CLASS="computeroutput"
>|</TT
> are all illegal characters for filenames
on various platforms. Also, file names should not have spaces in them as they
can cause confusion in CVS and other mozilla.org utilities.
</P
></LI
><LI
><P
>&#13; Javascript dependencies
</P
><P
>&#13; While Bugzilla uses Javascript to make the user experience easier, no patch
to Bugzilla should <EM
>require</EM
> Javascript.
</P
></LI
><LI
><P
>&#13; Patch Format
</P
><P
>&#13; All patches submitted for inclusion into Bugzilla should be in the form of a
<SPAN
CLASS="QUOTE"
>"unified diff"</SPAN
>. This comes from using <SPAN
CLASS="QUOTE"
>"diff -u"</SPAN
>
instead of simply <SPAN
CLASS="QUOTE"
>"diff"</SPAN
> when creating your patch. This will
result in quicker acceptance of the patch.
</P
></LI
><LI
><P
>&#13; Schema Changes
</P
><P
>&#13; If you make schema changes, you should modify <TT
CLASS="filename"
>sanitycheck.cgi</TT
>
to support the new schema. All referential columns should be checked.
</P
></LI
><LI
><P
>&#13; Taint Mode
</P
><P
>&#13; All new cgis must run in Taint mode (Perl taint and DBI taint), and existing cgi's
which run in taint mode must not have taint mode turned off.
</P
></LI
><LI
><P
>&#13; Templatization
</P
><P
>&#13; Patches to Bugzilla need to support templates so they do not force user interface choices
on Bugzilla administrators.
</P
></LI
><LI
><P
>&#13; Variable Names
</P
><P
>&#13; If a variable is scoped globally (<TT
CLASS="computeroutput"
>$::variable</TT
>)
its name should be descriptive of what it contains. Local variables can be named
a bit looser, provided the context makes their content obvious. For example,
<TT
CLASS="computeroutput"
>$ret</TT
> could be used as a staging variable for a
routine's return value as the line <TT
CLASS="computeroutput"
>return $ret;</TT
>
will make it blatantly obvious what the variable holds and most likely be shown
on the same screen as <TT
CLASS="computeroutput"
>my $ret = "";</TT
>.
</P
></LI
><LI
><P
>&#13; Cross Database Compatability
</P
><P
>&#13; Bugzilla was originally written to work with MySQL and therefore took advantage
of some of its features that aren't contained in other RDBMS software. These
should be avoided in all new code. Examples of these features are enums and
<TT
CLASS="function"
>encrypt()</TT
>.
</P
></LI
><LI
><P
>&#13; Cross Platform Compatability
</P
><P
>&#13; While Bugzilla was written to be used on Unix based systems (and Unix/Linux is
still the only officially supported platform) there are many who desire/need to
run Bugzilla on Microsoft Windows boxes. Whenever possible, we should strive
not to make the lives of these people any more complicated and avoid doing things
that break Bugzilla's ability to run on multiple operating systems.
</P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="quicksearch.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="gfdl.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>The Quicksearch Utility</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="patches.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>GNU Free Documentation License</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,263 +0,0 @@
<HTML
><HEAD
><TITLE
>Command-line Bugzilla Queries</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Useful Patches and Utilities for Bugzilla"
HREF="patches.html"><LINK
REL="PREVIOUS"
TITLE="The setperl.csh Utility"
HREF="setperl.html"><LINK
REL="NEXT"
TITLE="The Quicksearch Utility"
HREF="quicksearch.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="setperl.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix D. Useful Patches and Utilities for Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="quicksearch.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="cmdline"
>D.3. Command-line Bugzilla Queries</A
></H1
><P
>&#13; Users can query Bugzilla from the command line using this suite
of utilities.
</P
><P
>&#13; The query.conf file contains the mapping from options to field
names and comparison types. Quoted option names are "grepped"
for, so it should be easy to edit this file. Comments (#) have
no effect; you must make sure these lines do not contain any
quoted "option"
</P
><P
>&#13; buglist is a shell script which submits a Bugzilla query and
writes the resulting HTML page to stdout. It supports both
short options, (such as "-Afoo" or "-Rbar") and long options
(such as "--assignedto=foo" or "--reporter=bar"). If the first
character of an option is not "-", it is treated as if it were
prefixed with "--default=".
</P
><P
>&#13; The columlist is taken from the COLUMNLIST environment variable.
This is equivalent to the "Change Columns" option when you list
bugs in buglist.cgi. If you have already used Bugzilla, use
<B
CLASS="command"
>grep COLUMLIST ~/.netscape/cookies</B
> to see
your current COLUMNLIST setting.
</P
><P
>&#13; bugs is a simple shell script which calls buglist and extracts
the bug numbers from the output. Adding the prefix
"http://bugzilla.mozilla.org/buglist.cgi?bug_id=" turns the bug
list into a working link if any bugs are found. Counting bugs is
easy. Pipe the results through <B
CLASS="command"
>sed -e 's/,/ /g' | wc |
awk '{printf $2 "\n"}'</B
>
</P
><P
>&#13; Akkana says she has good results piping buglist output through
<B
CLASS="command"
>w3m -T text/html -dump</B
>
</P
><DIV
CLASS="procedure"
><OL
TYPE="1"
><LI
><P
>&#13; Download three files:
</P
><OL
CLASS="SUBSTEPS"
TYPE="a"
><LI
><P
>&#13; <TT
CLASS="computeroutput"
> <TT
CLASS="prompt"
>bash$</TT
> <B
CLASS="command"
>wget -O
query.conf
'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=26157'</B
> </TT
>
</P
></LI
><LI
><P
>&#13; <TT
CLASS="computeroutput"
> <TT
CLASS="prompt"
>bash$</TT
> <B
CLASS="command"
>wget -O
buglist
'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=26944'</B
> </TT
>
</P
></LI
><LI
><P
>&#13; <TT
CLASS="computeroutput"
> <TT
CLASS="prompt"
>bash#</TT
> <B
CLASS="command"
>wget -O
bugs
'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=26215'</B
> </TT
>
</P
></LI
></OL
></LI
><LI
><P
>&#13; Make your utilities executable:
<TT
CLASS="computeroutput"
>&#13; <TT
CLASS="prompt"
>bash$</TT
>
<B
CLASS="command"
>chmod u+x buglist bugs</B
>
</TT
>
</P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="setperl.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="quicksearch.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>The setperl.csh Utility</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="patches.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>The Quicksearch Utility</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,144 +0,0 @@
<HTML
><HEAD
><TITLE
>Contributors</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="PREVIOUS"
TITLE="Credits"
HREF="credits.html"><LINK
REL="NEXT"
TITLE="Feedback"
HREF="feedback.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="credits.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 1. About This Guide</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="feedback.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="contributors"
>1.6. Contributors</A
></H1
><P
>&#13; Thanks go to these people for significant contributions to this
documentation (in no particular order):
</P
><P
>&#13; Andrew Pearson, Spencer Smith, Eric Hanson, Kevin Brannen, Ron
Teitelbaum, Jacob Steenhagen, Joe Robins
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="credits.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="feedback.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Credits</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="about.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Feedback</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,458 +0,0 @@
<HTML
><HEAD
><TITLE
>Document Conventions</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="PREVIOUS"
TITLE="Translations"
HREF="translations.html"><LINK
REL="NEXT"
TITLE="Using Bugzilla"
HREF="using.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="translations.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 1. About This Guide</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="using.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="conventions"
>1.9. Document Conventions</A
></H1
><P
>&#13; This document uses the following conventions
</P
><DIV
CLASS="informaltable"
><A
NAME="AEN129"
></A
><P
></P
><TABLE
BORDER="0"
CLASS="CALSTABLE"
><THEAD
><TR
><TH
ALIGN="LEFT"
VALIGN="MIDDLE"
>Descriptions</TH
><TH
ALIGN="LEFT"
VALIGN="MIDDLE"
>Appearance</TH
></TR
></THEAD
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
>Warnings</TD
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
><DIV
CLASS="caution"
><P
></P
><TABLE
CLASS="caution"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/caution.gif"
HSPACE="5"
ALT="Caution"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>Warnings.</P
></TD
></TR
></TABLE
></DIV
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
>Hint</TD
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
><DIV
CLASS="tip"
><P
></P
><TABLE
CLASS="tip"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/tip.gif"
HSPACE="5"
ALT="Tip"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>Hint.</P
></TD
></TR
></TABLE
></DIV
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
>Notes</TD
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
><DIV
CLASS="note"
><P
></P
><TABLE
CLASS="note"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/note.gif"
HSPACE="5"
ALT="Note"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>Note.</P
></TD
></TR
></TABLE
></DIV
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
>Information requiring special attention</TD
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
><DIV
CLASS="warning"
><P
></P
><TABLE
CLASS="warning"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/warning.gif"
HSPACE="5"
ALT="Warning"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>Warning.</P
></TD
></TR
></TABLE
></DIV
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
>File Names</TD
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
><TT
CLASS="filename"
>file.extension</TT
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
>Directory Names</TD
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
><TT
CLASS="filename"
>directory</TT
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
>Commands to be typed</TD
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
><B
CLASS="command"
>command</B
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
>Applications Names</TD
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
><SPAN
CLASS="application"
>application</SPAN
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
><I
CLASS="foreignphrase"
>Prompt</I
> of users command under bash shell</TD
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
>bash$</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
><I
CLASS="foreignphrase"
>Prompt</I
> of root users command under bash shell</TD
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
>bash#</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
><I
CLASS="foreignphrase"
>Prompt</I
> of user command under tcsh shell</TD
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
>tcsh$</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
>Environment Variables</TD
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
><TT
CLASS="envar"
>VARIABLE</TT
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
>Emphasized word</TD
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
><EM
>word</EM
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
>Code Example</TD
><TD
ALIGN="LEFT"
VALIGN="MIDDLE"
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
><TT
CLASS="sgmltag"
>&#60;para&#62;</TT
>Beginning and end of paragraph<TT
CLASS="sgmltag"
>&#60;/para&#62;</TT
></PRE
></FONT
></TD
></TR
></TABLE
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="translations.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="using.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Translations</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="about.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Using Bugzilla</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,187 +0,0 @@
<HTML
><HEAD
><TITLE
>Copyright Information</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="PREVIOUS"
TITLE="Purpose and Scope of this Guide"
HREF="aboutthisguide.html"><LINK
REL="NEXT"
TITLE="Disclaimer"
HREF="disclaimer.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="aboutthisguide.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 1. About This Guide</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="disclaimer.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="copyright"
>1.2. Copyright Information</A
></H1
><A
NAME="AEN70"
></A
><TABLE
BORDER="0"
WIDTH="100%"
CELLSPACING="0"
CELLPADDING="0"
CLASS="BLOCKQUOTE"
><TR
><TD
WIDTH="10%"
VALIGN="TOP"
>&nbsp;</TD
><TD
WIDTH="80%"
VALIGN="TOP"
><P
>&#13; Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation
License, Version 1.1 or any later version published by the
Free Software Foundation; with no Invariant Sections, no
Front-Cover Texts, and with no Back-Cover Texts. A copy of
the license is included in the section entitled "GNU Free
Documentation LIcense".
</P
></TD
><TD
WIDTH="10%"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
COLSPAN="2"
ALIGN="RIGHT"
VALIGN="TOP"
>--<SPAN
CLASS="attribution"
>Copyright (c) 2000-2001 Matthew P. Barnson</SPAN
></TD
><TD
WIDTH="10%"
>&nbsp;</TD
></TR
></TABLE
><P
>&#13; If you have any questions regarding this document, its
copyright, or publishing this document in non-electronic form,
please contact Matthew P. Barnson.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="aboutthisguide.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="disclaimer.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Purpose and Scope of this Guide</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="about.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Disclaimer</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,186 +0,0 @@
<HTML
><HEAD
><TITLE
>Credits</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="PREVIOUS"
TITLE="New Versions"
HREF="newversions.html"><LINK
REL="NEXT"
TITLE="Contributors"
HREF="contributors.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="newversions.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 1. About This Guide</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="contributors.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="credits"
>1.5. Credits</A
></H1
><P
>&#13; The people listed below have made enormous contributions to the
creation of this Guide, through their dedicated hacking efforts,
numerous e-mail and IRC support sessions, and overall excellent
contribution to the Bugzilla community:
</P
><P
>&#13; <A
HREF="mailto://terry@mozilla.org"
TARGET="_top"
>Terry Weissman</A
>
for initially writing Bugzilla and creating the
README upon which the UNIX installation documentation is largely based.
</P
><P
>&#13; <A
HREF="mailto://tara@tequilarista.org"
TARGET="_top"
>Tara
Hernandez</A
> for keeping Bugzilla development going
strong after Terry left Mozilla.org
</P
><P
>&#13; <A
HREF="mailto://dkl@redhat.com"
TARGET="_top"
>Dave Lawrence</A
> for
providing insight into the key differences between Red Hat's
customized Bugzilla, and being largely responsible for the "Red
Hat Bugzilla" appendix
</P
><P
>&#13; <A
HREF="mailto://endico@mozilla.org"
TARGET="_top"
>Dawn Endico</A
> for
being a hacker extraordinaire and putting up with my incessant
questions and arguments on irc.mozilla.org in #mozwebtools
</P
><P
>&#13; Last but not least, all the members of the <A
HREF="news://news.mozilla.org/netscape/public/mozilla/webtools"
TARGET="_top"
> netscape.public.mozilla.webtools</A
> newsgroup. Without your discussions, insight, suggestions, and patches, this could never have happened.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="newversions.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="contributors.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>New Versions</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="about.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Contributors</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,168 +0,0 @@
<HTML
><HEAD
><TITLE
>CVS</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Integrating Bugzilla with Third-Party Tools"
HREF="integration.html"><LINK
REL="PREVIOUS"
TITLE="Bonsai"
HREF="bonsai.html"><LINK
REL="NEXT"
TITLE="Perforce SCM"
HREF="scm.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="bonsai.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 5. Integrating Bugzilla with Third-Party Tools</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="scm.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="cvs"
>5.2. CVS</A
></H1
><P
>CVS integration is best accomplished, at this point, using
the Bugzilla Email Gateway. There have been some files
submitted to allow greater CVS integration, but we need to make
certain that Bugzilla is not tied into one particular software
management package.</P
><P
>&#13; Follow the instructions in the FAQ for enabling Bugzilla e-mail
integration. Ensure that your check-in script sends an email to
your Bugzilla e-mail gateway with the subject of <SPAN
CLASS="QUOTE"
>"[Bug
XXXX]"</SPAN
>, and you can have CVS check-in comments append
to your Bugzilla bug. If you have your check-in script include
an @resolution field, you can even change the Bugzilla bug
state.
</P
><P
>&#13; There is also a project, based upon somewhat dated Bugzilla
code, to integrate CVS and Bugzilla through CVS' ability to
email. Check it out at:
<A
HREF="http://homepages.kcbbs.gen.nz/~tonyg/"
TARGET="_top"
>&#13; http://homepages.kcbbs.gen.nz/~tonyg/</A
>, under the
<SPAN
CLASS="QUOTE"
>"cvszilla"</SPAN
> link.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="bonsai.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="scm.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Bonsai</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="integration.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Perforce SCM</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,180 +0,0 @@
<HTML
><HEAD
><TITLE
>The Bugzilla Database</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Software Download Links"
HREF="downloadlinks.html"><LINK
REL="NEXT"
TITLE="Database Schema Chart"
HREF="dbschema.html"></HEAD
><BODY
CLASS="appendix"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="downloadlinks.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="dbschema.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="appendix"
><H1
><A
NAME="database"
>Appendix C. The Bugzilla Database</A
></H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>C.1. <A
HREF="dbschema.html"
>Database Schema Chart</A
></DT
><DT
>C.2. <A
HREF="dbdoc.html"
>MySQL Bugzilla Database Introduction</A
></DT
><DT
>C.3. <A
HREF="granttables.html"
>MySQL Permissions &#38; Grant Tables</A
></DT
></DL
></DIV
><DIV
CLASS="note"
><P
></P
><TABLE
CLASS="note"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/note.gif"
HSPACE="5"
ALT="Note"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>&#13; This document really needs to be updated with more fleshed out information about primary keys, interrelationships, and maybe some nifty tables to document dependencies. Any takers?
</P
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="downloadlinks.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="dbschema.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Software Download Links</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Database Schema Chart</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,574 +0,0 @@
<HTML
><HEAD
><TITLE
>MySQL Bugzilla Database Introduction</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="The Bugzilla Database"
HREF="database.html"><LINK
REL="PREVIOUS"
TITLE="Database Schema Chart"
HREF="dbschema.html"><LINK
REL="NEXT"
TITLE="MySQL Permissions & Grant Tables"
HREF="granttables.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="dbschema.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix C. The Bugzilla Database</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="granttables.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="dbdoc"
>C.2. MySQL Bugzilla Database Introduction</A
></H1
><P
>&#13; This information comes straight from my life. I was forced to learn how
Bugzilla organizes database because of nitpicky requests from users for tiny
changes in wording, rather than having people re-educate themselves or
figure out how to work our procedures around the tool. It sucks, but it can
and will happen to you, so learn how the schema works and deal with it when it
comes.
</P
><P
>&#13; So, here you are with your brand-new installation of Bugzilla. You've got
MySQL set up, Apache working right, Perl DBI and DBD talking to the database
flawlessly. Maybe you've even entered a few test bugs to make sure email's
working; people seem to be notified of new bugs and changes, and you can
enter and edit bugs to your heart's content. Perhaps you've gone through the
trouble of setting up a gateway for people to submit bugs to your database via
email, have had a few people test it, and received rave reviews from your beta
testers.
</P
><P
>&#13; What's the next thing you do? Outline a training strategy for your
development team, of course, and bring them up to speed on the new tool you've
labored over for hours.
</P
><P
>&#13; Your first training session starts off very well! You have a captive
audience which seems enraptured by the efficiency embodied in this thing called
"Bugzilla". You are caught up describing the nifty features, how people can
save favorite queries in the database, set them up as headers and footers on
their pages, customize their layouts, generate reports, track status with
greater efficiency than ever before, leap tall buildings with a single bound
and rescue Jane from the clutches of Certain Death!
</P
><P
>&#13; But Certain Death speaks up -- a tiny voice, from the dark corners of the
conference room. "I have a concern," the voice hisses from the darkness,
"about the use of the word 'verified'.
</P
><P
>&#13; The room, previously filled with happy chatter, lapses into reverential
silence as Certain Death (better known as the Vice President of Software
Engineering) continues. "You see, for two years we've used the word 'verified'
to indicate that a developer or quality assurance engineer has confirmed that,
in fact, a bug is valid. I don't want to lose two years of training to a
new software product. You need to change the bug status of 'verified' to
'approved' as soon as possible. To avoid confusion, of course."
</P
><P
>&#13; Oh no! Terror strikes your heart, as you find yourself mumbling "yes, yes, I
don't think that would be a problem," You review the changes with Certain
Death, and continue to jabber on, "no, it's not too big a change. I mean, we
have the source code, right? You know, 'Use the Source, Luke' and all that...
no problem," All the while you quiver inside like a beached jellyfish bubbling,
burbling, and boiling on a hot Jamaican sand dune...
</P
><P
>&#13; Thus begins your adventure into the heart of Bugzilla. You've been forced
to learn about non-portable enum() fields, varchar columns, and tinyint
definitions. The Adventure Awaits You!
</P
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN2340"
>C.2.1. Bugzilla Database Basics</A
></H2
><P
>&#13; If you were like me, at this point you're totally clueless
about the internals of MySQL, and if it weren't for this
executive order from the Vice President you couldn't care less
about the difference between a <SPAN
CLASS="QUOTE"
>"bigint"</SPAN
> and a
<SPAN
CLASS="QUOTE"
>"tinyint"</SPAN
> entry in MySQL. I recommend you refer
to the MySQL documentation, available at <A
HREF="http://www.mysql.com/doc.html"
TARGET="_top"
>MySQL.com</A
>. Below are the basics you need to know about the Bugzilla database. Check the chart above for more details.
</P
><P
><P
></P
><OL
TYPE="1"
><LI
><P
>&#13; To connect to your database:
</P
><P
>&#13; <TT
CLASS="prompt"
>bash#</TT
><B
CLASS="command"
>mysql</B
><TT
CLASS="parameter"
><I
>-u root</I
></TT
>
</P
><P
>&#13; If this works without asking you for a password,
<EM
>shame on you</EM
>! You should have
locked your security down like the installation
instructions told you to. You can find details on
locking down your database in the Bugzilla FAQ in this
directory (under "Security"), or more robust security
generalities in the MySQL searchable documentation at
http://www.mysql.com/php/manual.php3?section=Privilege_system .
</P
></LI
><LI
><P
>You should now be at a prompt that looks like
this:</P
><P
><TT
CLASS="prompt"
>mysql&#62;</TT
></P
><P
>At the prompt, if <SPAN
CLASS="QUOTE"
>"bugs"</SPAN
> is the name
you chose in the<TT
CLASS="filename"
>localconfig</TT
> file
for your Bugzilla database, type:</P
><P
><TT
CLASS="prompt"
>mysql</TT
><B
CLASS="command"
>use bugs;</B
></P
><DIV
CLASS="note"
><P
></P
><TABLE
CLASS="note"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/note.gif"
HSPACE="5"
ALT="Note"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>Don't forget the <SPAN
CLASS="QUOTE"
>";"</SPAN
> at the end of
each line, or you'll be kicking yourself later.</P
></TD
></TR
></TABLE
></DIV
></LI
></OL
>
</P
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="AEN2369"
>C.2.1.1. Bugzilla Database Tables</A
></H3
><P
> Imagine your MySQL database as a series of
spreadsheets, and you won't be too far off. If you use this
command:</P
><P
><TT
CLASS="prompt"
>mysql&#62;</TT
><B
CLASS="command"
>show tables from bugs;</B
></P
><P
>you'll be able to see all the
<SPAN
CLASS="QUOTE"
>"spreadsheets"</SPAN
> (tables) in your database. It
is similar to a file system, only faster and more robust for
certain types of operations.</P
><P
>From the command issued above, ou should have some
output that looks like this:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;+-------------------+
| Tables in bugs |
+-------------------+
| attachments |
| bugs |
| bugs_activity |
| cc |
| components |
| dependencies |
| fielddefs |
| groups |
| keyworddefs |
| keywords |
| logincookies |
| longdescs |
| milestones |
| namedqueries |
| products |
| profiles |
| profiles_activity |
| shadowlog |
| tokens |
| versions |
| votes |
| watch |
+-------------------+
</PRE
></FONT
></TD
></TR
></TABLE
></P
><P
CLASS="literallayout"
><br>
<br>
&nbsp;&nbsp;Here's&nbsp;an&nbsp;overview&nbsp;of&nbsp;what&nbsp;each&nbsp;table&nbsp;does.&nbsp;&nbsp;Most&nbsp;columns&nbsp;in&nbsp;each&nbsp;table&nbsp;have<br>
descriptive&nbsp;names&nbsp;that&nbsp;make&nbsp;it&nbsp;fairly&nbsp;trivial&nbsp;to&nbsp;figure&nbsp;out&nbsp;their&nbsp;jobs.<br>
<br>
attachments:&nbsp;This&nbsp;table&nbsp;stores&nbsp;all&nbsp;attachments&nbsp;to&nbsp;bugs.&nbsp;&nbsp;It&nbsp;tends&nbsp;to&nbsp;be&nbsp;your<br>
largest&nbsp;table,&nbsp;yet&nbsp;also&nbsp;generally&nbsp;has&nbsp;the&nbsp;fewest&nbsp;entries&nbsp;because&nbsp;file<br>
attachments&nbsp;are&nbsp;so&nbsp;(relatively)&nbsp;large.<br>
<br>
bugs:&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;core&nbsp;of&nbsp;your&nbsp;system.&nbsp;&nbsp;The&nbsp;bugs&nbsp;table&nbsp;stores&nbsp;most&nbsp;of&nbsp;the<br>
current&nbsp;information&nbsp;about&nbsp;a&nbsp;bug,&nbsp;with&nbsp;the&nbsp;exception&nbsp;of&nbsp;the&nbsp;info&nbsp;stored&nbsp;in&nbsp;the<br>
other&nbsp;tables.<br>
<br>
bugs_activity:&nbsp;&nbsp;This&nbsp;stores&nbsp;information&nbsp;regarding&nbsp;what&nbsp;changes&nbsp;are&nbsp;made&nbsp;to&nbsp;bugs<br>
when&nbsp;--&nbsp;a&nbsp;history&nbsp;file.<br>
<br>
cc:&nbsp;&nbsp;This&nbsp;tiny&nbsp;table&nbsp;simply&nbsp;stores&nbsp;all&nbsp;the&nbsp;CC&nbsp;information&nbsp;for&nbsp;any&nbsp;bug&nbsp;which&nbsp;has<br>
any&nbsp;entries&nbsp;in&nbsp;the&nbsp;CC&nbsp;field&nbsp;of&nbsp;the&nbsp;bug.&nbsp;&nbsp;Note&nbsp;that,&nbsp;like&nbsp;most&nbsp;other&nbsp;tables&nbsp;in<br>
Bugzilla,&nbsp;it&nbsp;does&nbsp;not&nbsp;refer&nbsp;to&nbsp;users&nbsp;by&nbsp;their&nbsp;user&nbsp;names,&nbsp;but&nbsp;by&nbsp;their&nbsp;unique<br>
userid,&nbsp;stored&nbsp;as&nbsp;a&nbsp;primary&nbsp;key&nbsp;in&nbsp;the&nbsp;profiles&nbsp;table.<br>
<br>
components:&nbsp;This&nbsp;stores&nbsp;the&nbsp;programs&nbsp;and&nbsp;components&nbsp;(or&nbsp;products&nbsp;and<br>
components,&nbsp;in&nbsp;newer&nbsp;Bugzilla&nbsp;parlance)&nbsp;for&nbsp;Bugzilla.&nbsp;&nbsp;Curiously,&nbsp;the&nbsp;"program"<br>
(product)&nbsp;field&nbsp;is&nbsp;the&nbsp;full&nbsp;name&nbsp;of&nbsp;the&nbsp;product,&nbsp;rather&nbsp;than&nbsp;some&nbsp;other&nbsp;unique<br>
identifier,&nbsp;like&nbsp;bug_id&nbsp;and&nbsp;user_id&nbsp;are&nbsp;elsewhere&nbsp;in&nbsp;the&nbsp;database.<br>
<br>
dependencies:&nbsp;Stores&nbsp;data&nbsp;about&nbsp;those&nbsp;cool&nbsp;dependency&nbsp;trees.<br>
<br>
fielddefs:&nbsp;&nbsp;A&nbsp;nifty&nbsp;table&nbsp;that&nbsp;defines&nbsp;other&nbsp;tables.&nbsp;&nbsp;For&nbsp;instance,&nbsp;when&nbsp;you<br>
submit&nbsp;a&nbsp;form&nbsp;that&nbsp;changes&nbsp;the&nbsp;value&nbsp;of&nbsp;"AssignedTo"&nbsp;this&nbsp;table&nbsp;allows<br>
translation&nbsp;to&nbsp;the&nbsp;actual&nbsp;field&nbsp;name&nbsp;"assigned_to"&nbsp;for&nbsp;entry&nbsp;into&nbsp;MySQL.<br>
<br>
groups:&nbsp;&nbsp;defines&nbsp;bitmasks&nbsp;for&nbsp;groups.&nbsp;&nbsp;A&nbsp;bitmask&nbsp;is&nbsp;a&nbsp;number&nbsp;that&nbsp;can&nbsp;uniquely<br>
identify&nbsp;group&nbsp;memberships.&nbsp;&nbsp;For&nbsp;instance,&nbsp;say&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to<br>
tweak&nbsp;parameters&nbsp;is&nbsp;assigned&nbsp;a&nbsp;value&nbsp;of&nbsp;"1",&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;edit<br>
users&nbsp;is&nbsp;assigned&nbsp;a&nbsp;"2",&nbsp;and&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;create&nbsp;new&nbsp;groups&nbsp;is<br>
assigned&nbsp;the&nbsp;bitmask&nbsp;of&nbsp;"4".&nbsp;&nbsp;By&nbsp;uniquely&nbsp;combining&nbsp;the&nbsp;group&nbsp;bitmasks&nbsp;(much<br>
like&nbsp;the&nbsp;chmod&nbsp;command&nbsp;in&nbsp;UNIX,)&nbsp;you&nbsp;can&nbsp;identify&nbsp;a&nbsp;user&nbsp;is&nbsp;allowed&nbsp;to&nbsp;tweak<br>
parameters&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;edit&nbsp;users,&nbsp;by&nbsp;giving&nbsp;him&nbsp;a&nbsp;bitmask&nbsp;of<br>
"5",&nbsp;or&nbsp;a&nbsp;user&nbsp;allowed&nbsp;to&nbsp;edit&nbsp;users&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;tweak<br>
parameters,&nbsp;by&nbsp;giving&nbsp;him&nbsp;a&nbsp;bitmask&nbsp;of&nbsp;"6"&nbsp;Simple,&nbsp;huh?<br>
&nbsp;&nbsp;If&nbsp;this&nbsp;makes&nbsp;no&nbsp;sense&nbsp;to&nbsp;you,&nbsp;try&nbsp;this&nbsp;at&nbsp;the&nbsp;mysql&nbsp;prompt:<br>
mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;groups;<br>
&nbsp;&nbsp;You'll&nbsp;see&nbsp;the&nbsp;list,&nbsp;it&nbsp;makes&nbsp;much&nbsp;more&nbsp;sense&nbsp;that&nbsp;way.<br>
<br>
keyworddefs:&nbsp;&nbsp;Definitions&nbsp;of&nbsp;keywords&nbsp;to&nbsp;be&nbsp;used<br>
<br>
keywords:&nbsp;Unlike&nbsp;what&nbsp;you'd&nbsp;think,&nbsp;this&nbsp;table&nbsp;holds&nbsp;which&nbsp;keywords&nbsp;are<br>
associated&nbsp;with&nbsp;which&nbsp;bug&nbsp;id's.<br>
<br>
logincookies:&nbsp;This&nbsp;stores&nbsp;every&nbsp;login&nbsp;cookie&nbsp;ever&nbsp;assigned&nbsp;to&nbsp;you&nbsp;for&nbsp;every<br>
machine&nbsp;you've&nbsp;ever&nbsp;logged&nbsp;into&nbsp;Bugzilla&nbsp;from.&nbsp;&nbsp;Curiously,&nbsp;it&nbsp;never&nbsp;does&nbsp;any<br>
housecleaning&nbsp;--&nbsp;I&nbsp;see&nbsp;cookies&nbsp;in&nbsp;this&nbsp;file&nbsp;I've&nbsp;not&nbsp;used&nbsp;for&nbsp;months.&nbsp;&nbsp;However,<br>
since&nbsp;Bugzilla&nbsp;never&nbsp;expires&nbsp;your&nbsp;cookie&nbsp;(for&nbsp;convenience'&nbsp;sake),&nbsp;it&nbsp;makes<br>
sense.<br>
<br>
longdescs:&nbsp;&nbsp;The&nbsp;meat&nbsp;of&nbsp;bugzilla&nbsp;--&nbsp;here&nbsp;is&nbsp;where&nbsp;all&nbsp;user&nbsp;comments&nbsp;are&nbsp;stored!<br>
You've&nbsp;only&nbsp;got&nbsp;2^24&nbsp;bytes&nbsp;per&nbsp;comment&nbsp;(it's&nbsp;a&nbsp;mediumtext&nbsp;field),&nbsp;so&nbsp;speak<br>
sparingly&nbsp;--&nbsp;that's&nbsp;only&nbsp;the&nbsp;amount&nbsp;of&nbsp;space&nbsp;the&nbsp;Old&nbsp;Testament&nbsp;from&nbsp;the&nbsp;Bible<br>
would&nbsp;take&nbsp;(uncompressed,&nbsp;16&nbsp;megabytes).&nbsp;&nbsp;Each&nbsp;comment&nbsp;is&nbsp;keyed&nbsp;to&nbsp;the<br>
bug_id&nbsp;to&nbsp;which&nbsp;it's&nbsp;attached,&nbsp;so&nbsp;the&nbsp;order&nbsp;is&nbsp;necessarily&nbsp;chronological,&nbsp;for<br>
comments&nbsp;are&nbsp;played&nbsp;back&nbsp;in&nbsp;the&nbsp;order&nbsp;in&nbsp;which&nbsp;they&nbsp;are&nbsp;received.<br>
<br>
milestones:&nbsp;&nbsp;Interesting&nbsp;that&nbsp;milestones&nbsp;are&nbsp;associated&nbsp;with&nbsp;a&nbsp;specific&nbsp;product<br>
in&nbsp;this&nbsp;table,&nbsp;but&nbsp;Bugzilla&nbsp;does&nbsp;not&nbsp;yet&nbsp;support&nbsp;differing&nbsp;milestones&nbsp;by<br>
product&nbsp;through&nbsp;the&nbsp;standard&nbsp;configuration&nbsp;interfaces.<br>
<br>
namedqueries:&nbsp;&nbsp;This&nbsp;is&nbsp;where&nbsp;everybody&nbsp;stores&nbsp;their&nbsp;"custom&nbsp;queries".&nbsp;&nbsp;Very<br>
cool&nbsp;feature;&nbsp;it&nbsp;beats&nbsp;the&nbsp;tar&nbsp;out&nbsp;of&nbsp;having&nbsp;to&nbsp;bookmark&nbsp;each&nbsp;cool&nbsp;query&nbsp;you<br>
construct.<br>
<br>
products:&nbsp;&nbsp;What&nbsp;products&nbsp;you&nbsp;have,&nbsp;whether&nbsp;new&nbsp;bug&nbsp;entries&nbsp;are&nbsp;allowed&nbsp;for&nbsp;the<br>
product,&nbsp;what&nbsp;milestone&nbsp;you're&nbsp;working&nbsp;toward&nbsp;on&nbsp;that&nbsp;product,&nbsp;votes,&nbsp;etc.&nbsp;&nbsp;It<br>
will&nbsp;be&nbsp;nice&nbsp;when&nbsp;the&nbsp;components&nbsp;table&nbsp;supports&nbsp;these&nbsp;same&nbsp;features,&nbsp;so&nbsp;you<br>
could&nbsp;close&nbsp;a&nbsp;particular&nbsp;component&nbsp;for&nbsp;bug&nbsp;entry&nbsp;without&nbsp;having&nbsp;to&nbsp;close&nbsp;an<br>
entire&nbsp;product...<br>
<br>
profiles:&nbsp;&nbsp;Ahh,&nbsp;so&nbsp;you&nbsp;were&nbsp;wondering&nbsp;where&nbsp;your&nbsp;precious&nbsp;user&nbsp;information&nbsp;was<br>
stored?&nbsp;&nbsp;Here&nbsp;it&nbsp;is!&nbsp;&nbsp;With&nbsp;the&nbsp;passwords&nbsp;in&nbsp;plain&nbsp;text&nbsp;for&nbsp;all&nbsp;to&nbsp;see!&nbsp;(but<br>
sshh...&nbsp;don't&nbsp;tell&nbsp;your&nbsp;users!)<br>
<br>
profiles_activity:&nbsp;&nbsp;Need&nbsp;to&nbsp;know&nbsp;who&nbsp;did&nbsp;what&nbsp;when&nbsp;to&nbsp;who's&nbsp;profile?&nbsp;&nbsp;This'll<br>
tell&nbsp;you,&nbsp;it's&nbsp;a&nbsp;pretty&nbsp;complete&nbsp;history.<br>
<br>
shadowlog:&nbsp;&nbsp;I&nbsp;could&nbsp;be&nbsp;mistaken&nbsp;here,&nbsp;but&nbsp;I&nbsp;believe&nbsp;this&nbsp;table&nbsp;tells&nbsp;you&nbsp;when<br>
your&nbsp;shadow&nbsp;database&nbsp;is&nbsp;updated&nbsp;and&nbsp;what&nbsp;commands&nbsp;were&nbsp;used&nbsp;to&nbsp;update&nbsp;it.&nbsp;&nbsp;We<br>
don't&nbsp;use&nbsp;a&nbsp;shadow&nbsp;database&nbsp;at&nbsp;our&nbsp;site&nbsp;yet,&nbsp;so&nbsp;it's&nbsp;pretty&nbsp;empty&nbsp;for&nbsp;us.<br>
<br>
versions:&nbsp;&nbsp;Version&nbsp;information&nbsp;for&nbsp;every&nbsp;product<br>
<br>
votes:&nbsp;&nbsp;Who&nbsp;voted&nbsp;for&nbsp;what&nbsp;when<br>
<br>
watch:&nbsp;&nbsp;Who&nbsp;(according&nbsp;to&nbsp;userid)&nbsp;is&nbsp;watching&nbsp;who's&nbsp;bugs&nbsp;(according&nbsp;to&nbsp;their<br>
userid).<br>
<br>
<br>
===<br>
THE&nbsp;DETAILS<br>
===<br>
<br>
&nbsp;&nbsp;Ahh,&nbsp;so&nbsp;you're&nbsp;wondering&nbsp;just&nbsp;what&nbsp;to&nbsp;do&nbsp;with&nbsp;the&nbsp;information&nbsp;above?&nbsp;&nbsp;At&nbsp;the<br>
mysql&nbsp;prompt,&nbsp;you&nbsp;can&nbsp;view&nbsp;any&nbsp;information&nbsp;about&nbsp;the&nbsp;columns&nbsp;in&nbsp;a&nbsp;table&nbsp;with<br>
this&nbsp;command&nbsp;(where&nbsp;"table"&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;table&nbsp;you&nbsp;wish&nbsp;to&nbsp;view):<br>
<br>
mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;table;<br>
<br>
&nbsp;&nbsp;You&nbsp;can&nbsp;also&nbsp;view&nbsp;all&nbsp;the&nbsp;data&nbsp;in&nbsp;a&nbsp;table&nbsp;with&nbsp;this&nbsp;command:<br>
<br>
mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table;<br>
<br>
&nbsp;&nbsp;--&nbsp;note:&nbsp;this&nbsp;is&nbsp;a&nbsp;very&nbsp;bad&nbsp;idea&nbsp;to&nbsp;do&nbsp;on,&nbsp;for&nbsp;instance,&nbsp;the&nbsp;"bugs"&nbsp;table&nbsp;if<br>
you&nbsp;have&nbsp;50,000&nbsp;bugs.&nbsp;&nbsp;You'll&nbsp;be&nbsp;sitting&nbsp;there&nbsp;a&nbsp;while&nbsp;until&nbsp;you&nbsp;ctrl-c&nbsp;or<br>
50,000&nbsp;bugs&nbsp;play&nbsp;across&nbsp;your&nbsp;screen.<br>
<br>
&nbsp;&nbsp;You&nbsp;can&nbsp;limit&nbsp;the&nbsp;display&nbsp;from&nbsp;above&nbsp;a&nbsp;little&nbsp;with&nbsp;the&nbsp;command,&nbsp;where<br>
"column"&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;column&nbsp;for&nbsp;which&nbsp;you&nbsp;wish&nbsp;to&nbsp;restrict&nbsp;information:<br>
<br>
mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;=&nbsp;"some&nbsp;info");<br>
<br>
&nbsp;&nbsp;--&nbsp;or&nbsp;the&nbsp;reverse&nbsp;of&nbsp;this<br>
<br>
mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;!=&nbsp;"some&nbsp;info");<br>
<br>
&nbsp;&nbsp;Let's&nbsp;take&nbsp;our&nbsp;example&nbsp;from&nbsp;the&nbsp;introduction,&nbsp;and&nbsp;assume&nbsp;you&nbsp;need&nbsp;to&nbsp;change<br>
the&nbsp;word&nbsp;"verified"&nbsp;to&nbsp;"approved"&nbsp;in&nbsp;the&nbsp;resolution&nbsp;field.&nbsp;&nbsp;We&nbsp;know&nbsp;from&nbsp;the<br>
above&nbsp;information&nbsp;that&nbsp;the&nbsp;resolution&nbsp;is&nbsp;likely&nbsp;to&nbsp;be&nbsp;stored&nbsp;in&nbsp;the&nbsp;"bugs"<br>
table.&nbsp;Note&nbsp;we'll&nbsp;need&nbsp;to&nbsp;change&nbsp;a&nbsp;little&nbsp;perl&nbsp;code&nbsp;as&nbsp;well&nbsp;as&nbsp;this&nbsp;database<br>
change,&nbsp;but&nbsp;I&nbsp;won't&nbsp;plunge&nbsp;into&nbsp;that&nbsp;in&nbsp;this&nbsp;document.&nbsp;Let's&nbsp;verify&nbsp;the<br>
information&nbsp;is&nbsp;stored&nbsp;in&nbsp;the&nbsp;"bugs"&nbsp;table:<br>
<br>
mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs<br>
<br>
&nbsp;&nbsp;(exceedingly&nbsp;long&nbsp;output&nbsp;truncated&nbsp;here)<br>
|&nbsp;bug_status|&nbsp;enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED','VERIFIED','CLOSED')||MUL&nbsp;|&nbsp;UNCONFIRMED||<br>
<br>
&nbsp;&nbsp;Sorry&nbsp;about&nbsp;that&nbsp;long&nbsp;line.&nbsp;&nbsp;We&nbsp;see&nbsp;from&nbsp;this&nbsp;that&nbsp;the&nbsp;"bug&nbsp;status"&nbsp;column&nbsp;is<br>
an&nbsp;"enum&nbsp;field",&nbsp;which&nbsp;is&nbsp;a&nbsp;MySQL&nbsp;peculiarity&nbsp;where&nbsp;a&nbsp;string&nbsp;type&nbsp;field&nbsp;can<br>
only&nbsp;have&nbsp;certain&nbsp;types&nbsp;of&nbsp;entries.&nbsp;&nbsp;While&nbsp;I&nbsp;think&nbsp;this&nbsp;is&nbsp;very&nbsp;cool,&nbsp;it's&nbsp;not<br>
standard&nbsp;SQL.&nbsp;&nbsp;Anyway,&nbsp;we&nbsp;need&nbsp;to&nbsp;add&nbsp;the&nbsp;possible&nbsp;enum&nbsp;field&nbsp;entry<br>
'APPROVED'&nbsp;by&nbsp;altering&nbsp;the&nbsp;"bugs"&nbsp;table.<br>
<br>
mysql&#62;&nbsp;ALTER&nbsp;table&nbsp;bugs&nbsp;CHANGE&nbsp;bug_status&nbsp;bug_status<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&#62;&nbsp;enum("UNCONFIRMED",&nbsp;"NEW",&nbsp;"ASSIGNED",&nbsp;"REOPENED",&nbsp;"RESOLVED",<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&#62;&nbsp;"VERIFIED",&nbsp;"APPROVED",&nbsp;"CLOSED")&nbsp;not&nbsp;null;<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;(note&nbsp;we&nbsp;can&nbsp;take&nbsp;three&nbsp;lines&nbsp;or&nbsp;more&nbsp;--&nbsp;whatever&nbsp;you&nbsp;put&nbsp;in&nbsp;before&nbsp;the<br>
semicolon&nbsp;is&nbsp;evaluated&nbsp;as&nbsp;a&nbsp;single&nbsp;expression)<br>
<br>
Now&nbsp;if&nbsp;you&nbsp;do&nbsp;this:<br>
<br>
mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs;<br>
<br>
&nbsp;&nbsp;you'll&nbsp;see&nbsp;that&nbsp;the&nbsp;bug_status&nbsp;field&nbsp;has&nbsp;an&nbsp;extra&nbsp;"APPROVED"&nbsp;enum&nbsp;that's<br>
available!&nbsp;&nbsp;Cool&nbsp;thing,&nbsp;too,&nbsp;is&nbsp;that&nbsp;this&nbsp;is&nbsp;reflected&nbsp;on&nbsp;your&nbsp;query&nbsp;page&nbsp;as<br>
well&nbsp;--&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;new&nbsp;status.&nbsp;&nbsp;But&nbsp;how's&nbsp;it&nbsp;fit&nbsp;into&nbsp;the&nbsp;existing<br>
scheme&nbsp;of&nbsp;things?<br>
&nbsp;&nbsp;Looks&nbsp;like&nbsp;you&nbsp;need&nbsp;to&nbsp;go&nbsp;back&nbsp;and&nbsp;look&nbsp;for&nbsp;instances&nbsp;of&nbsp;the&nbsp;word&nbsp;"verified"<br>
in&nbsp;the&nbsp;perl&nbsp;code&nbsp;for&nbsp;Bugzilla&nbsp;--&nbsp;wherever&nbsp;you&nbsp;find&nbsp;"verified",&nbsp;change&nbsp;it&nbsp;to<br>
"approved"&nbsp;and&nbsp;you're&nbsp;in&nbsp;business&nbsp;(make&nbsp;sure&nbsp;that's&nbsp;a&nbsp;case-insensitive&nbsp;search).<br>
Although&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;enum&nbsp;field,&nbsp;you&nbsp;can't&nbsp;give&nbsp;something&nbsp;a&nbsp;status<br>
of&nbsp;"APPROVED"&nbsp;until&nbsp;you&nbsp;make&nbsp;the&nbsp;perl&nbsp;changes.&nbsp;&nbsp;&nbsp;Note&nbsp;that&nbsp;this&nbsp;change&nbsp;I<br>
mentioned&nbsp;can&nbsp;also&nbsp;be&nbsp;done&nbsp;by&nbsp;editing&nbsp;checksetup.pl,&nbsp;which&nbsp;automates&nbsp;a&nbsp;lot&nbsp;of<br>
this.&nbsp;&nbsp;But&nbsp;you&nbsp;need&nbsp;to&nbsp;know&nbsp;this&nbsp;stuff&nbsp;anyway,&nbsp;right?<br>
<br>
&nbsp;&nbsp;I&nbsp;hope&nbsp;this&nbsp;database&nbsp;tutorial&nbsp;has&nbsp;been&nbsp;useful&nbsp;for&nbsp;you.&nbsp;&nbsp;If&nbsp;you&nbsp;have&nbsp;comments<br>
to&nbsp;add,&nbsp;questions,&nbsp;concerns,&nbsp;etc.&nbsp;please&nbsp;direct&nbsp;them&nbsp;to<br>
mbarnson@excitehome.net.&nbsp;&nbsp;Please&nbsp;direct&nbsp;flames&nbsp;to&nbsp;/dev/null&nbsp;:)&nbsp;&nbsp;Have&nbsp;a&nbsp;nice<br>
day!<br>
<br>
<br>
<br>
===<br>
LINKS<br>
===<br>
<br>
Great&nbsp;MySQL&nbsp;tutorial&nbsp;site:<br>
http://www.devshed.com/Server_Side/MySQL/<br>
<br>
</P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="dbschema.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="granttables.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Database Schema Chart</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="database.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>MySQL Permissions &#38; Grant Tables</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

Some files were not shown because too many files have changed in this diff Show More