Compare commits

..

2173 Commits

Author SHA1 Message Date
rrelyea%redhat.com
39d2eeadb5 Make building and using a local sqlite3 default.
git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@227924 18797224-902f-48f8-a5cc-f745e15eee43
2007-06-12 23:07:48 +00:00
rrelyea%redhat.com
f74a40f7df Handle system 5 gettimeofday.
git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@227917 18797224-902f-48f8-a5cc-f745e15eee43
2007-06-12 22:01:20 +00:00
rrelyea%redhat.com
4b31109f00 Include Makefile in
git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@227906 18797224-902f-48f8-a5cc-f745e15eee43
2007-06-12 21:29:34 +00:00
rrelyea%redhat.com
2e09e0e5fc NSS copy of sqlite3
git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@227497 18797224-902f-48f8-a5cc-f745e15eee43
2007-06-04 23:02:09 +00:00
rrelyea%redhat.com
0665ad119e Build shareddb on windows.
git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@227291 18797224-902f-48f8-a5cc-f745e15eee43
2007-05-30 22:06:27 +00:00
rrelyea%redhat.com
d7b9d894f6 1) Sharing db handles across threads should not be the default.
2) add back in the sensitive attribute checking


git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@227289 18797224-902f-48f8-a5cc-f745e15eee43
2007-05-30 22:00:14 +00:00
rrelyea%redhat.com
dabee342b8 fix update bug in SDR. Export the CKA_ID of the key
git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@226629 18797224-902f-48f8-a5cc-f745e15eee43
2007-05-18 23:22:53 +00:00
rrelyea%redhat.com
c6d26613e8 Changes to shared db doesn't kill performance.
git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@226627 18797224-902f-48f8-a5cc-f745e15eee43
2007-05-18 23:08:27 +00:00
rrelyea%redhat.com
9b5c615213 Add CKA_NSS_OVERRIDE_EXTENSIONS attribute.
rename CK?_NETSCAPE_* to CK?_NSS_*. Keep the old names for older code.
Fix password update in the legacydb case.


git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@226551 18797224-902f-48f8-a5cc-f745e15eee43
2007-05-17 01:08:18 +00:00
rrelyea%redhat.com
56849861da include the legacydb manifest file
git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@226483 18797224-902f-48f8-a5cc-f745e15eee43
2007-05-15 23:02:22 +00:00
rrelyea%redhat.com
261c99b079 Add database upgrade support.
git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@226480 18797224-902f-48f8-a5cc-f745e15eee43
2007-05-15 21:59:52 +00:00
rrelyea%redhat.com
7fb0950700 Add support to dbm databases as a separate shared library.
git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@224109 18797224-902f-48f8-a5cc-f745e15eee43
2007-04-03 22:50:02 +00:00
rrelyea%redhat.com
eaaf175c61 Fix change password support.
Add database reset support.


git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@221993 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-16 23:01:41 +00:00
rrelyea%redhat.com
726fba2c84 C_FindObjectInit should return all objects when NULL is passed.
(pk11mode found this error). With this all.sh passes with the new db code.


git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@221587 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-08 23:11:34 +00:00
rrelyea%redhat.com
7e4c9a0b96 Roll the current tip changes into my branch.
Fix the semantics of transaction processing. This helps keep a more consistant
 view of the database. Only the thread the transaction is on sees the
 transaction database. Other threads continue to get their own database, so
 they can continue to work, reading the old changes untill the transaction
 is committed.


git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@221518 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-08 02:19:56 +00:00
rrelyea%redhat.com
f86085f1ae Get a fresh pull to build correctly.
git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@221090 18797224-902f-48f8-a5cc-f745e15eee43
2007-02-28 20:44:55 +00:00
rrelyea%redhat.com
6d11469725 restore headers needed to build.
Use the correct define for key info structures.


git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@221052 18797224-902f-48f8-a5cc-f745e15eee43
2007-02-28 02:25:49 +00:00
rrelyea%redhat.com
0036aa950d Fix stupid unitialized bugs.
git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@221039 18797224-902f-48f8-a5cc-f745e15eee43
2007-02-28 00:06:57 +00:00
rrelyea%redhat.com
ffd1f975a8 1) Use NSPR's access function rather than building our own.
2) Automatically search use the S/MIME entries to find certs that match a given
email address.


git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@218412 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-16 00:20:54 +00:00
rrelyea%redhat.com
2837980869 Remove legacy db files.
git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@218229 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-11 22:50:31 +00:00
rrelyea%redhat.com
11c4e71dda Initial work for Shared Database support.
The following still need works:
Shared db design not yet approved or completely finished.

Shared db code issues.
   1) there are still race conditions in sdb.c. The temporary locks
   allow strsclient with client auth to pass all.sh.
   2) signtool still does not pass all.sh.
   3) multiple email addresses in the cert do no pass all.sh.
   4) change password does not yet work (NOTE: no all.sh tests for this yet)
   5) current secmod.db code uses stdio libraries rather than NSPR.
   6) need to make secmod.db work with 'foreign' secmod.db's (Windows & Mac)
   7) a number of random FIXME's still in the code.
   8) Need answer to where to get sqlite3 on platforms that don't come with it.

legacy db support
   1) no legacy db support exists in this code base yet.
   2) no database update code exists.
   3) all.sh needs to test shared database as well as legacy db (currently the code only does shared, so existing all.sh tests just the shared).


git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@218228 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-11 22:47:57 +00:00
(no author)
f07ee360a9 This commit was manufactured by cvs2svn to create branch 'NSS_BOB_SHARED'.
git-svn-id: svn://10.0.0.236/branches/NSS_BOB_SHARED@217791 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-05 00:21:46 +00:00
alexei.volkov.bugs%sun.com
85697cdac7 353780: Klocwork NULL ptr dereferences in pkcs11.c. r=nelson
git-svn-id: svn://10.0.0.236/trunk@217790 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-05 00:21:45 +00:00
brendan%mozilla.org
10b034cc1a Fast followup for 365851: use MARK_ID instead of its expansion.
git-svn-id: svn://10.0.0.236/trunk@217789 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-05 00:14:39 +00:00
alexei.volkov.bugs%sun.com
60253eab1a 340218: Coverity 910, memory leaks in CRMF code. r=nelson
git-svn-id: svn://10.0.0.236/trunk@217787 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-05 00:00:50 +00:00
lpsolit%gmail.com
d908e39162 Bug 362066: strict_isolation: cannot remove users from the bug if their privs changed so that they can no longer edit bugs in the product - Patch by Frédéric Buclin <LpSolit@gmail.com> r=mkanat a=myk
git-svn-id: svn://10.0.0.236/trunk@217786 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 23:37:19 +00:00
ghendricks%novell.com
34ca6a661f Create a test case from a bug.
git-svn-id: svn://10.0.0.236/trunk@217784 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 22:45:11 +00:00
alexei.volkov.bugs%sun.com
43e28046c8 301496: NSS_Shutdown failure in p7sign. r=nelson
git-svn-id: svn://10.0.0.236/trunk@217782 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 22:42:40 +00:00
graydon%mozilla.com
3998c66e23 Bug 333078: XPCOM cycle collector
r=brendan, sicking, bz, dbaron, bsmedberg


git-svn-id: svn://10.0.0.236/trunk@217781 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 22:31:26 +00:00
despotdaemon
6874e8c16c Pseudo-automatic update of changes made by dbaron@dbaron.org.
git-svn-id: svn://10.0.0.236/trunk@217780 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 22:29:53 +00:00
brendan%mozilla.org
e3d844f7cf Stage 0 patch for getter/setter optimizations (365851, r=igor).
git-svn-id: svn://10.0.0.236/trunk@217778 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 21:15:09 +00:00
alexei.volkov.bugs%sun.com
25c1501389 342461 - verify signature on an OCSP response without intermediate decoding and encoding. r=nelson
git-svn-id: svn://10.0.0.236/trunk@217777 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 20:38:29 +00:00
alexei.volkov.bugs%sun.com
2a5c39463b Bug 158242: PK11_PutCRL is very memory inefficient. r=nelson, julien
git-svn-id: svn://10.0.0.236/trunk@217774 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 20:25:41 +00:00
despotdaemon
09deea823f Pseudo-automatic update of changes made by pavlov@pavlov.net.
git-svn-id: svn://10.0.0.236/trunk@217773 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 20:21:19 +00:00
alexei.volkov.bugs%sun.com
f5741042f8 Bug 363987: crlutil does not change thisUpdate date when creating a modified CRL. r=nelson,neil
git-svn-id: svn://10.0.0.236/trunk@217772 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 20:18:58 +00:00
gavin%gavinsharp.com
d039b77914 Bug 365773: radiogroup.selectedItem = null fails if group is focused, patch by Wladimir Palant <trev@gtchat.de>, r=neil
git-svn-id: svn://10.0.0.236/trunk@217771 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 20:08:52 +00:00
alexei.volkov.bugs%sun.com
343934c671 Bug 363480 ocspclnt needs option to take cert from specified file. r=nelson
git-svn-id: svn://10.0.0.236/trunk@217770 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 20:07:33 +00:00
aaronr%us.ibm.com
ddf9863db0 [XForms] xsi:type value with no prefix handled incorrectly. Bug 360974, r=doronr+olli
git-svn-id: svn://10.0.0.236/trunk@217769 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 20:07:03 +00:00
despotdaemon
8972401ee0 Pseudo-automatic update of changes made by asqueella@gmail.com.
git-svn-id: svn://10.0.0.236/trunk@217768 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 20:06:37 +00:00
gavin%gavinsharp.com
ec74140a3f Bug 360241: Add a buch of accesskeys to Publishing dialogs/tabs, patch by Giacomo Magnini <prometeo.bugs@gmail.com>, r=glazou, sr=neil
git-svn-id: svn://10.0.0.236/trunk@217767 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 20:05:18 +00:00
gavin%gavinsharp.com
b6d3618231 Bug 325906: Remove one malloc from the JPEG decoder, and some optimizations, patch by Alfred Kayser <alfredkayser@nl.ibm.com>, updated by Ryan VanderMeulen <ryanvm@gmail.com>, r=alfredkayser, sr=pavlov
git-svn-id: svn://10.0.0.236/trunk@217766 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 20:03:50 +00:00
gavin%gavinsharp.com
4861a0ff57 Bug 365615: remove unnecessary CSS from downloads.css, patch by Declan Naughton <piratepenguin@gmail.com>, r=me
git-svn-id: svn://10.0.0.236/trunk@217765 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 20:01:10 +00:00
cltbld
2681bcee34 Automated update from host egg.build.mozilla.org
git-svn-id: svn://10.0.0.236/trunk@217764 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 20:01:03 +00:00
gavin%gavinsharp.com
ae2c58657a Bug 364049: add configure check for broken msvc7.1 compilers, patch by Mook <mook.moz+sites.org.mozilla.bugzilla@gmail.com>, r=bsmedberg, sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@217763 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 19:59:15 +00:00
despotdaemon
903fe322bb Pseudo-automatic update of changes made by knous@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@217762 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 19:57:49 +00:00
mozilla%weilbacher.org
7d72e49ecd [OS/2] Bug 222509: report the correct DOM_VK constants so that JS apps work better, r=mkaply
git-svn-id: svn://10.0.0.236/trunk@217760 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 19:49:04 +00:00
gavin%gavinsharp.com
40c5978ac1 Bug 365329: string to date conversion returns wrong value for dates in february when run after 28th of each month, patch by Magnus Melin <mkmelin+mozilla@iki.fi>, r=neil, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@217758 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 19:48:04 +00:00
dietrich%mozilla.com
b55e441f57 Bug 364972 [SessionStore] allow SessionStore to work without writing data to disk (for zeniko, r=dietrich)
git-svn-id: svn://10.0.0.236/trunk@217753 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 19:26:37 +00:00
glen.beasley%sun.com
e3ccc4b5e3 update error codes to NSS r=wtc
git-svn-id: svn://10.0.0.236/trunk@217749 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 19:08:47 +00:00
gavin%gavinsharp.com
ef40f655ef Bug 365381: treat <method><body/></method> XBL as 'function () {}' instead of ignoring it, r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@217745 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 18:56:00 +00:00
gavin%gavinsharp.com
120ebebc31 Bug 364903: Error page 'Try Again' button doesn't dim once pressed, r=neil, sr=bzbarksy
git-svn-id: svn://10.0.0.236/trunk@217744 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 18:53:28 +00:00
gavin%gavinsharp.com
7116c82f58 Bug 365633: Non-localizable string when checking for updates to add-ons, patch by Ryan Jones <bugs@ryan-jones.com>, r=me
git-svn-id: svn://10.0.0.236/trunk@217743 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 18:51:40 +00:00
gavin%gavinsharp.com
85761db8d8 Bug 365529: Take advantage of new yes/no constant in nsIPrompt, patch by Ryan Jones <bugs@ryan-jones.com>, r+sr=biesi for /netwerk, r+sr=neil for mailnews, r=me for the rest
git-svn-id: svn://10.0.0.236/trunk@217742 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 18:48:53 +00:00
gavin%gavinsharp.com
22d2dce1af Bug 361154: Drop support for pre-Win2k platforms from Win32 widgets, patch by Ryan Jones <bugs@ryan-jones.com>, r=ere, sr=roc
git-svn-id: svn://10.0.0.236/trunk@217741 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 18:43:26 +00:00
benjamin%smedbergs.us
8a002f032b Bug 364599 - Some newly-created profile files are write protected (build-system fix), r=rhelmer
git-svn-id: svn://10.0.0.236/trunk@217740 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 18:38:06 +00:00
gavin%gavinsharp.com
89aaaa248c Followup patch for bug 269254: make sure not to include the null terminator in the string's length, patch by Ryan Jones <bugs@ryan-jones.com>, r+sr=biesi
git-svn-id: svn://10.0.0.236/trunk@217739 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 18:37:00 +00:00
gavin%gavinsharp.com
d725f5d1d5 Bug 363097: Make copy of Win32 REDIST files work with MSYS, patch by Bruno 'Aqualon' Escherl <aqualon@aquachan.de>, r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@217738 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 18:32:57 +00:00
gavin%gavinsharp.com
5a7c013b7b Bug 328357: Codesize reduction of nsAppRunner.obj, patch by Alfred Kayser <alfredkayser@nl.ibm.com>, r=bsmedberg, sr=neil
git-svn-id: svn://10.0.0.236/trunk@217737 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 18:28:49 +00:00
gavin%gavinsharp.com
b69ce443af Bug 343296: Spell-checker requires text cursor to be in word to get context menu, patch by smorgan <stuart.morgan@alumni.case.edu>, r=murph, sr=pink
git-svn-id: svn://10.0.0.236/trunk@217736 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 18:19:22 +00:00
gavin%gavinsharp.com
f167d5e65f Bug 342885: Session restore launches even when I haven't crashed, patch by Simon Bünzli <zeniko@gmail.com>, r=me, sr=neil
git-svn-id: svn://10.0.0.236/trunk@217735 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 18:00:32 +00:00
lpsolit%gmail.com
206d547364 Bug 364216: Flag::retarget() is broken (again) - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=myk
git-svn-id: svn://10.0.0.236/trunk@217732 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 17:48:17 +00:00
benjamin%smedbergs.us
074a1e46a0 Remove unused client.mk-like files.
git-svn-id: svn://10.0.0.236/trunk@217730 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 17:24:08 +00:00
benjamin%smedbergs.us
667c52d8e2 Bug 363942 - MozillaBuild needs to handle MSVC8 express + SDK, r=luser
git-svn-id: svn://10.0.0.236/trunk@217729 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 17:06:35 +00:00
uriber%gmail.com
4ddde0e089 Bug 200098: Double click near beginning of word selects two words (fix for Windows). r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@217728 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 16:47:04 +00:00
despotdaemon
f0e1406347 Pseudo-automatic update of changes made by pavlov@pavlov.net.
git-svn-id: svn://10.0.0.236/trunk@217727 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 16:43:57 +00:00
benjamin%smedbergs.us
6430c736f2 Bug 365691 - Useful error message and conversion tool to move a srcdir from cygwin textmode to MSYS binmode - r=dbaron
git-svn-id: svn://10.0.0.236/trunk@217726 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 16:30:04 +00:00
cbiesinger%web.de
5bdaa34e24 Bug 309429 use QueryInterface rather than static_cast where the exact type
isn't known
patch by Nickolay Ponomarev <asqueella@gmail.com>/Jan Varga r=bz sr=neil


git-svn-id: svn://10.0.0.236/trunk@217725 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 16:23:48 +00:00
tor%cs.brown.edu
2d2f675cc3 Bug 360316 - Avoid group opacity when possible. r=jwatt, sr=roc
git-svn-id: svn://10.0.0.236/trunk@217724 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 15:05:39 +00:00
tor%cs.brown.edu
9a3460d709 Bug 364811 - svg:svg not live to length modifications. r=jwatt, sr=roc
git-svn-id: svn://10.0.0.236/trunk@217723 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 14:39:54 +00:00
peterv%propagandism.org
5ac72b9307 Fix for bug 329111 (nsChromeRegistry::SetProviderForPackage has NS_ENSURE_TRUE(rv, rv)). r=bsmedberg, sr=bz.
git-svn-id: svn://10.0.0.236/trunk@217720 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 12:16:08 +00:00
jwatt%jwatt.org
c08a026ac8 Fixing bug 334587. Unify event handling for links and fix various XLink bugs. r=olli.pettay@gmail.com, r=dbaron@mozilla.com, sr=bugmail@sicking.cc
git-svn-id: svn://10.0.0.236/trunk@217719 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 10:53:59 +00:00
Olli.Pettay%helsinki.fi
d8d314d9b0 Bug 365798, IME leaks nsPrivateTextRangeList objects, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@217718 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 10:32:10 +00:00
scott%scott-macgregor.org
6a6cf3d925 Bug #336412 --> first names or surnames disappear after sending a message. r=mark banner
git-svn-id: svn://10.0.0.236/trunk@217715 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 05:40:36 +00:00
dbaron%dbaron.org
cd06827bdd Restore code to refresh scrolledContentSize between horizontal and vertical scrollbar manipulation. b=330673 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@217713 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 04:44:42 +00:00
dbaron%dbaron.org
a6fe0f6902 Fix incorrect comments. b=363807 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@217712 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 04:27:36 +00:00
scott%scott-macgregor.org
85991edf9d Bug #359900 --> ship gmail.rdf in Thunderbird. remove obsolete rdf files (example and nswebmail)
sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@217709 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 04:19:08 +00:00
reed%reedloden.com
959c99db95 Bug 354563 - [p=reed r=bear r=timeless]
git-svn-id: svn://10.0.0.236/trunk@217707 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 02:42:30 +00:00
despotdaemon
306d96c6e1 Pseudo-automatic update of changes made by pavlov@pavlov.net.
git-svn-id: svn://10.0.0.236/trunk@217706 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 02:03:24 +00:00
roc+%cs.cmu.edu
adae28a836 Bug 365695. Fix bad usage of MAC_OS_X_VERSION_10_4. r=vlad
git-svn-id: svn://10.0.0.236/trunk@217705 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 01:48:37 +00:00
ghendricks%novell.com
baae7f9857 Replace individual lookups with single quicksearch field.
git-svn-id: svn://10.0.0.236/trunk@217704 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 00:17:18 +00:00
mattwillis%gmail.com
cdee422ce1 bug 360659 - Fixes 'NS_ERROR_FILE_UNRECOGNIZED_PATH' error in migrator. Patch by Sebastian Schwieger <sebastian.schwieger@googlemail.com>, r1=lilmatt, r2=jminta
git-svn-id: svn://10.0.0.236/trunk@217703 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 00:13:30 +00:00
mkanat%bugzilla.org
46f5661a3c Bug 365229: email_in.pl modifies bug permissions without user entering fields
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=myk


git-svn-id: svn://10.0.0.236/trunk@217702 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-04 00:08:05 +00:00
neil.williams%sun.com
cf6970b3e9 Bug 339906, r=nelson, sec_pkcs12_install_bags passes uninitialized variables
git-svn-id: svn://10.0.0.236/trunk@217700 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 23:02:12 +00:00
bienvenu%nventure.com
0c572e07af fix increasingly slow autocomplete when user has mailing lists in ab by not adding sub-directories to mSubDirectories if we already have them, 363113, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@217699 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 21:41:43 +00:00
bent.mozilla%gmail.com
0164d4a1d8 Bug 362597 - "Increased Rlk (leak) on balsa after landing of bug 354787". r=bsmedberg.
git-svn-id: svn://10.0.0.236/trunk@217698 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 20:40:51 +00:00
despotdaemon
d854be1ab8 Pseudo-automatic update of changes made by graydon@mozilla.com.
git-svn-id: svn://10.0.0.236/trunk@217697 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 20:36:56 +00:00
tor%cs.brown.edu
73a2627706 Bug 365704 - Remove nsSVGAtoms.h. r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@217696 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 20:15:38 +00:00
despotdaemon
02530cd38d Pseudo-automatic update of changes made by knous@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@217695 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 20:00:49 +00:00
Olli.Pettay%helsinki.fi
16c1b7501d Bug 176024, possible memleak in IMETextTxn::CollapseTextSelection, r+sr=bz
git-svn-id: svn://10.0.0.236/trunk@217694 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 19:39:28 +00:00
bugzilla%standard8.demon.co.uk
11f759c8eb Bug 361203 Suiterunner: More Information button doesn't work on Smart Browsing pane. r=KaiRo,sr=Neil
git-svn-id: svn://10.0.0.236/trunk@217693 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 18:57:20 +00:00
despotdaemon
39f1768dc9 Pseudo-automatic update of changes made by knous@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@217692 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 18:51:38 +00:00
rhelmer%mozilla.com
08e015964e add check for read-only files r=tfullhart sr=rcampbell
git-svn-id: svn://10.0.0.236/trunk@217691 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 17:55:13 +00:00
gijskruitbosch%gmail.com
2371be1bec Bug 361914 - multiline send regression caused by fix.
r=silver@warwickcompsoc.co.uk (James Ross) on IRC
ChatZilla Only, NPOTB.


git-svn-id: svn://10.0.0.236/trunk@217690 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 17:34:31 +00:00
lpsolit%gmail.com
53b38b69a5 Bug 365739: An error is thrown when attaching a too big file on bug creation - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=justdave
git-svn-id: svn://10.0.0.236/trunk@217689 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 16:23:14 +00:00
bienvenu%nventure.com
a48bf4992a fix 363094, with autcompleteToMyDomain set, we still append domain to addresses that have @ in them (in some cases), sr=mscott
git-svn-id: svn://10.0.0.236/trunk@217687 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 15:52:38 +00:00
peterv%propagandism.org
5934551e2b Fix for bug 365597 (Crash [@ nsINodeInfo::NodeInfoManager]). r/sr=sicking.
git-svn-id: svn://10.0.0.236/trunk@217685 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 13:36:18 +00:00
nelson%bolyard.com
faa99150f6 Bug 256046. Don't prefix with $(JAVA_DESTPATH)/ if it's undefined.
r=Glen.beasley,neil.williams


git-svn-id: svn://10.0.0.236/trunk@217684 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 13:07:47 +00:00
nelson%bolyard.com
c4995ca9fc Bug 353904. Fix potential NULL ptr deref. Klocwork. r=alexei.volkov
git-svn-id: svn://10.0.0.236/trunk@217683 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 12:57:41 +00:00
nelson%bolyard.com
80b2615268 Bug 354423. Get the right string length. R=alexei.volkov,rrelyea
git-svn-id: svn://10.0.0.236/trunk@217682 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 12:54:10 +00:00
lpsolit%gmail.com
e947b7f4b6 Bug 365696: Posting a new bug via email_in.pl fails due to typo in default platform and severity - Patch by Albert Ting <altlst@sonic.net> r=mkanat a=myk
git-svn-id: svn://10.0.0.236/trunk@217681 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 10:50:26 +00:00
longsonr%gmail.com
d569fe36f1 Bug 363583 - remove non-standard getConsolidationMatrix function from SVG DOM r=jwatt,sr=roc
git-svn-id: svn://10.0.0.236/trunk@217679 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 09:54:08 +00:00
m_kato%ga2.so-net.ne.jp
2cccc181e5 bug 364731 - Windows x64 porting of bug 349002 - Refactor xptcall into a frozen API. r=benjamin, sr=dougt
git-svn-id: svn://10.0.0.236/trunk@217678 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 08:30:34 +00:00
bmlk%gmx.de
3185892a10 remove TableProcessChild, this creates a single codepath trough ProcessChildren for frame construction bug 243159 2. attempt r=rbs sr=bz
git-svn-id: svn://10.0.0.236/trunk@217677 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 07:18:54 +00:00
stridey%gmail.com
92c61ab764 Bug 365603: Updating copyright dates for 2007. Patches by ardissone <alqahira@ardisson.org> r=wevah sr=smorgan.
git-svn-id: svn://10.0.0.236/trunk@217674 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 06:25:36 +00:00
philringnalda%gmail.com
479eb2d1a8 Bug 365569: remove workaround from bug 297227, r=mento
git-svn-id: svn://10.0.0.236/trunk@217673 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 06:02:39 +00:00
stridey%gmail.com
f38fd73a5e Camino only - Bug 363895: Make history menu items respect cmd/shift toggles when pressed after menu is already shown (ie, alternates). r=cl sr=smorgan
git-svn-id: svn://10.0.0.236/trunk@217672 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 05:59:41 +00:00
Olli.Pettay%helsinki.fi
380e37d9af Bug 364398, r+sr=sicking
git-svn-id: svn://10.0.0.236/trunk@217671 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 05:37:03 +00:00
nelson%bolyard.com
e14af33a7a Improve checking of received SSL2 records.
Bug 364319, bug 364323. r=rrelyea, wtchang


git-svn-id: svn://10.0.0.236/trunk@217670 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 05:32:33 +00:00
Olli.Pettay%helsinki.fi
d8b38d028b Bug 364718, Crash [@ nsXULElement::HandleDOMEvent], r+sr=sicking
git-svn-id: svn://10.0.0.236/trunk@217669 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 05:16:25 +00:00
philringnalda%gmail.com
2b60626872 Bug 365385: unbreak profile manager keyboard shortcuts, r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@217668 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 05:14:50 +00:00
philringnalda%gmail.com
3b436012a4 Bug 365621: update mail/ copyright dates to 2007, r+a=mscott
git-svn-id: svn://10.0.0.236/trunk@217667 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 05:07:55 +00:00
dbaron%dbaron.org
f1baaac993 Remove now-unused declaration from header file (missed in previous patch). b=332285 r=martijn
git-svn-id: svn://10.0.0.236/trunk@217666 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 04:15:00 +00:00
philringnalda%gmail.com
37776c92c3 Bug 364679: attriubtes typo, r=aaronleventhal
git-svn-id: svn://10.0.0.236/trunk@217665 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 04:07:55 +00:00
bienvenu%nventure.com
26cf123dc1 fix 365282 sr=mscott if extension is trying to set content type on an attachment, don't try to override it on mac by fetching the file
git-svn-id: svn://10.0.0.236/trunk@217664 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 01:23:17 +00:00
timeless%mozdev.org
4e14ae0fd4 Bug 365525 Periods in wrong place in relation to parentheses
r=mkanat a=myk


git-svn-id: svn://10.0.0.236/trunk@217663 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 00:32:06 +00:00
timeless%mozdev.org
befa2df488 GetImageRequest is only available for gtk2 builds
trying to fix build bustage


git-svn-id: svn://10.0.0.236/trunk@217660 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-03 00:14:09 +00:00
timeless%mozdev.org
863ecdf17b Bug 321326 code execution in webtools/leak-o-matic/logs.cgi
Upping required perl version to 5.6
r=bear


git-svn-id: svn://10.0.0.236/trunk@217659 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 22:54:24 +00:00
despotdaemon
a88f1758bb Pseudo-automatic update of changes made by inonit@inonit.com.
git-svn-id: svn://10.0.0.236/trunk@217658 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 22:37:32 +00:00
timeless%mozdev.org
733ac809e7 Landing MICROB_20061206_BRANCH
This should improve the gnomevfs story (the goal is to not use it).
Patches Wanted, Work will be on the MICROB_20070103_BRANCH


git-svn-id: svn://10.0.0.236/trunk@217657 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 22:23:53 +00:00
reed%reedloden.com
290ba7ae89 Bug 365684 - "Unable to see add user UI in Despot" [p=reed r=justdave]
git-svn-id: svn://10.0.0.236/trunk@217652 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 21:52:25 +00:00
despotdaemon
ca9ade4644 Pseudo-automatic update of changes made by justdave@bugzilla.org.
git-svn-id: svn://10.0.0.236/trunk@217649 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 21:47:43 +00:00
brendan%mozilla.org
5e96b76b5d Partial fix from me (239721, r=gavin) and the real fix from Gavin Reaney <gavin@picsel.com> (364836, r=me).
git-svn-id: svn://10.0.0.236/trunk@217639 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 20:57:03 +00:00
pkasting%google.com
9ed81669fd Bug 364831: Fix Firefox build w/Vista SDK.
Patch by craig.hawko@gmail.com
r=neil


git-svn-id: svn://10.0.0.236/trunk@217637 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 20:33:23 +00:00
despotdaemon
0be8f41da6 Pseudo-automatic update of changes made by knous@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@217635 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 20:18:32 +00:00
despotdaemon
33dc49ff6c Pseudo-automatic update of changes made by knous@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@217634 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 20:13:21 +00:00
despotdaemon
c277c60877 Pseudo-automatic update of changes made by reed@reedloden.com.
git-svn-id: svn://10.0.0.236/trunk@217633 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 20:12:48 +00:00
despotdaemon
33477ff342 Pseudo-automatic update of changes made by reed@reedloden.com.
git-svn-id: svn://10.0.0.236/trunk@217632 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 20:11:45 +00:00
despotdaemon
2b3e41d41b Pseudo-automatic update of changes made by reed@reedloden.com.
git-svn-id: svn://10.0.0.236/trunk@217631 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 20:11:12 +00:00
despotdaemon
7cc5ab4f54 Pseudo-automatic update of changes made by reed@reedloden.com.
git-svn-id: svn://10.0.0.236/trunk@217630 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 20:10:04 +00:00
despotdaemon
3cc36473fc Pseudo-automatic update of changes made by reed@reedloden.com.
git-svn-id: svn://10.0.0.236/trunk@217629 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 20:08:08 +00:00
despotdaemon
104444c687 Pseudo-automatic update of changes made by reed@reedloden.com.
git-svn-id: svn://10.0.0.236/trunk@217628 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 20:07:17 +00:00
despotdaemon
0380aad878 Pseudo-automatic update of changes made by reed@reedloden.com.
git-svn-id: svn://10.0.0.236/trunk@217627 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 20:06:46 +00:00
despotdaemon
69b02f98b1 Pseudo-automatic update of changes made by reed@reedloden.com.
git-svn-id: svn://10.0.0.236/trunk@217626 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 20:05:07 +00:00
despotdaemon
9c62ef6aae Pseudo-automatic update of changes made by reed@reedloden.com.
git-svn-id: svn://10.0.0.236/trunk@217624 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 20:00:43 +00:00
despotdaemon
3333af9d8f Pseudo-automatic update of changes made by reed@reedloden.com.
git-svn-id: svn://10.0.0.236/trunk@217623 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 19:56:06 +00:00
despotdaemon
fd2ee3af5e Pseudo-automatic update of changes made by knous@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@217620 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 19:42:01 +00:00
wclouser%mozilla.com
5d7aab8c53 - Fixed a bug where plain text is echoed in a select list
- A new version of plotkit came out, and that is integrated here
- Fixed bug 354391
- Added MPL/GPL/LGPL to all files


git-svn-id: svn://10.0.0.236/trunk@217618 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 19:39:47 +00:00
Olli.Pettay%helsinki.fi
5473831527 Bug 353021, better assertions
git-svn-id: svn://10.0.0.236/trunk@217616 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 19:21:38 +00:00
despotdaemon
f0d94e7ccb Pseudo-automatic update of changes made by knous@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@217615 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 18:53:15 +00:00
Olli.Pettay%helsinki.fi
511e0e4867 Bug 353021, crashes [@ PL_DHashTableOperate] removing from nsDOMClassInfo's sExternallyReferencedTable, r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217614 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 18:51:42 +00:00
bugzilla%standard8.demon.co.uk
e614fbaf43 Bug 365576 Update SeaMonkey's copyright strings to 2007 (main strings) r=KaiRo,sr=Neil
git-svn-id: svn://10.0.0.236/trunk@217611 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 17:51:16 +00:00
reed%reedloden.com
99ac1271c2 Bug 339471 - [p=reed/LpSolit r=bear]
git-svn-id: svn://10.0.0.236/trunk@217610 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 17:38:33 +00:00
reed%reedloden.com
23e3a7c011 Bug 325316 - [p=reed r=bear]
git-svn-id: svn://10.0.0.236/trunk@217609 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 17:32:56 +00:00
justdave%bugzilla.org
29455dc152 Bug 365619: Remove lloydcgi.pl, there's nothing left that uses it.
r=reed


git-svn-id: svn://10.0.0.236/trunk@217608 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 17:31:17 +00:00
mattwillis%gmail.com
33c8a3805c bug 365545 - Fix javascript strict warnings. sr=bienvenu, aTb2=mscott
git-svn-id: svn://10.0.0.236/trunk@217607 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 17:29:17 +00:00
justdave%bugzilla.org
e977825211 Bug 276985: Fix XSS vulnerability in who.cgi. Wound up rewriting the whole thing from scratch as a Template Toolkit template, to make it easier to keep track of what's been escaped and what hasn't. This is a wholesale replacement.
r=bear


git-svn-id: svn://10.0.0.236/trunk@217606 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 17:29:03 +00:00
justdave%bugzilla.org
ea35d634be Bug 280464: Fix XSS vulnerability in file.cgi. Wound up rewriting the whole thing from scratch as a Template Toolkit template, to make it easier to keep track of what's been escaped and what hasn't. This is a wholesale replacement.
r=bear


git-svn-id: svn://10.0.0.236/trunk@217605 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 17:28:06 +00:00
justdave%bugzilla.org
a2ba25ddf6 Bug 365474: Fix "Use of implicit split to @_ is deprecated" warning
r=bear


git-svn-id: svn://10.0.0.236/trunk@217604 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 17:15:55 +00:00
justdave%bugzilla.org
190de78b0d Bug 365469: restore create-guided's ability to auto-insert the User-Agent in the build ID field.
r=gerv, a=justdave


git-svn-id: svn://10.0.0.236/trunk@217603 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 17:06:32 +00:00
ajschult%verizon.net
d7e63cffad Bug 362625: Stop pulling individual files to make fast-update happy. r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@217602 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 16:47:08 +00:00
benjamin%smedbergs.us
ebd8d6b93e Bug 364754 - ActiveX control doesn't build with MSVC8 Express, r=dbaron
git-svn-id: svn://10.0.0.236/trunk@217601 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 15:24:08 +00:00
thomas.benisch%sun.com
ca3f655c02 removed patch for bug #350323 add selected calendar to composite calendar
git-svn-id: svn://10.0.0.236/trunk@217600 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 15:10:11 +00:00
longsonr%gmail.com
483340788b Bug 362068 - crash in _moz_cairo_win32_scaled_font_select_font. r=jwatt, sr=roc
git-svn-id: svn://10.0.0.236/trunk@217599 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 13:15:06 +00:00
edburns%acm.org
acfdb6daf6 fix makefiles, remove external dom
git-svn-id: svn://10.0.0.236/trunk@217594 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 03:11:23 +00:00
mozilla.mano%sent.com
df7df362e0 Bug 365570 - FeedWriter doesn't work with handlers with chrome:// URI (throws exception when downloading favicon). r=gavin.
git-svn-id: svn://10.0.0.236/trunk@217593 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 00:33:43 +00:00
mozilla.mano%sent.com
aee7f8b6a9 Bug 365539 - Don't list History and Subscriptions queries in Places Organizer's left pane. r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217592 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 00:30:27 +00:00
mozilla.mano%sent.com
a131392aea Bug 365528 - Places Organizer Toolbar. r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217591 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 00:26:35 +00:00
mozilla.mano%sent.com
440751c135 Bug 364643 - placesCmd_rename is not implemented. r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217590 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-02 00:17:41 +00:00
reed%reedloden.com
e224e8fc55 Bug 274833 - [p=reed r=timeless]
git-svn-id: svn://10.0.0.236/trunk@217589 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-01 19:53:33 +00:00
edburns%acm.org
a50a2627e3 M build.xml
- don't extract dom2.jar.  It's in the JDK now.

M classes/org/mozilla/dom/AttrImpl.java
M classes/org/mozilla/dom/DOMImplementationImpl.java
M classes/org/mozilla/dom/DocumentImpl.java
M classes/org/mozilla/dom/ElementImpl.java
M classes/org/mozilla/dom/EntityImpl.java
M classes/org/mozilla/dom/NodeImpl.java
M classes/org/mozilla/dom/TextImpl.java

- conform to dom in JDK 1.6 (Dom level 3)


git-svn-id: svn://10.0.0.236/trunk@217588 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-01 18:29:49 +00:00
bmlk%gmx.de
9ddb3480ae Zerorowspans are expanded during cellmap entry creation. There is no need to adapt the rowspan value later, bug 364318 r/sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@217587 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-01 18:18:53 +00:00
mats.palmgren%bredband.net
76ca4d6f76 Print Preview crash when accessing print engine data before it's fully created. b=365003 r=sharparrow1 sr=roc
git-svn-id: svn://10.0.0.236/trunk@217586 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-01 10:53:11 +00:00
philringnalda%gmail.com
81b401f289 Bug 365553: Update browser/toolkit copyright dates to 2007, r=gavin
git-svn-id: svn://10.0.0.236/trunk@217585 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-01 04:33:27 +00:00
igor.bukanov%gmail.com
1a88a7954b Bug 363530: cleaning up arguments bytecode implementation. r=brendan
git-svn-id: svn://10.0.0.236/trunk@217584 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-01 03:03:16 +00:00
mattwillis%gmail.com
7abc6d6e30 bug 360479 - Removes obsolete methods. Patch by <gekacheka@yahoo.com> r1=lilmatt, r2=jminta
git-svn-id: svn://10.0.0.236/trunk@217583 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-01 01:23:25 +00:00
cst%yecc.com
0775934008 Bug 351881 nsIPrompt needs nsIPromptService::STD_YES_NO_BUTTONS
r=biesi sr=darin


git-svn-id: svn://10.0.0.236/trunk@217582 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-31 19:23:50 +00:00
philringnalda%gmail.com
52ba5a1981 Bug 365437: browser/ dependency in help.css, r=mano
git-svn-id: svn://10.0.0.236/trunk@217581 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-31 18:36:44 +00:00
mozilla.mano%sent.com
b1df0632ce Bug 365439 - Delete keyboard shortcuts are not working places organizer. Bug 333924 - [Mac] No Window menu in Places Organizer. r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217580 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-31 17:43:46 +00:00
mats.palmgren%bredband.net
159c9722a0 Crash [@ nsPrintEngine::PrintPreview] when trying to print preview a display:none iframe. b=365004 r=sharparrow1 sr=roc
git-svn-id: svn://10.0.0.236/trunk@217579 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-31 08:13:56 +00:00
philringnalda%gmail.com
1319dcf0ea Bug 323455: chrome override URIs not resolved, p=chpe@gnome.org, r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@217578 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-31 03:20:27 +00:00
lpsolit%gmail.com
b4b46f81f2 Bug 248037: Link from attachment 'created' date to comment where it was created - Patch by Frédéric Buclin <LpSolit@gmail.com> r=timeless a=justdave
git-svn-id: svn://10.0.0.236/trunk@217577 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-31 00:45:07 +00:00
cltbld
7cc58d0502 Automated update from host egg.build.mozilla.org
git-svn-id: svn://10.0.0.236/trunk@217576 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-31 00:41:03 +00:00
timeless%mozdev.org
fd01c459c8 sroaming breaks firefox w/ extensions=all
there was an a=benb
this will be removed when bug 249343 is fixed


git-svn-id: svn://10.0.0.236/trunk@217575 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-31 00:38:09 +00:00
mnyromyr%tprac.de
85a2f7e997 Bug 146075: always set a default priority value; r/sr=neil
git-svn-id: svn://10.0.0.236/trunk@217572 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 22:11:43 +00:00
neil%parkwaycc.co.uk
96456f1aca Mac's <wizard> buttons should be Go Back, Continue, Done b=360908 p=sugar.waffle@gmail.com (Hiro) r+sr=me
git-svn-id: svn://10.0.0.236/trunk@217571 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 21:04:38 +00:00
bryner%brianryner.com
0222dfe04d Missing part of checkin for bug 347686 to add the autocomplete collector. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@217570 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 20:59:22 +00:00
neil%parkwaycc.co.uk
d3e9e234ee Mac's <wizard> buttons should be Go Back, Continue, Done b=360908 p=sugar.waffle@gmail.com (Hiro) r+sr=me
git-svn-id: svn://10.0.0.236/trunk@217569 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 20:34:15 +00:00
lpsolit%gmail.com
9ee874607f Bug 365407: Reorder tabs in userprefs.cgi - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=justdave
git-svn-id: svn://10.0.0.236/trunk@217568 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 19:53:52 +00:00
enndeakin%sympatico.ca
2b9c1bf7dc Bug 365234, scrolled items in listbox are invisible, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@217566 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 17:18:15 +00:00
gijskruitbosch%gmail.com
42b91b1da9 Bug 364900 - topcrash [@ nsXULDocument::ResumeWalk], starting with 2006122304 build
p=asqueella@gmail.com (Nickolay Ponomarev)
r+sr=bzbarsky@mit.edu (Boris Zbarsky)


git-svn-id: svn://10.0.0.236/trunk@217565 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 11:10:24 +00:00
mozilla.mano%sent.com
3748ccac60 Bug 364397 - Bookmarks under the chevron menu do nothing when activated (--enable-places-bookmarks only). r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217564 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 10:26:23 +00:00
bugzilla%standard8.demon.co.uk
6cb893d746 Bug 362186 entries from ldap address book not displayed (offline) - you can only search. p=James Andrewartha (trs80@tartarus.uwa.edu.au),r=me,sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@217561 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 09:01:28 +00:00
bzbarsky%mit.edu
037b31603b Use the right percentage base for figuring out text-indent when drawing the
text-decoration.  Bug 364862, r+sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@217560 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 05:56:25 +00:00
bzbarsky%mit.edu
50334acdc0 Be consistent about what percentage border-radius is a percentage of. Bug
364861, r+sr=roc


git-svn-id: svn://10.0.0.236/trunk@217559 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 05:23:51 +00:00
bzbarsky%mit.edu
a9c6606754 Make computed style not have to worry about null style structs. Bug 364821, r+sr=roc.
git-svn-id: svn://10.0.0.236/trunk@217558 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 05:17:59 +00:00
reed%reedloden.com
d07c878ca8 Bug 258059 - (change die to &fatal) [p=reed]
git-svn-id: svn://10.0.0.236/trunk@217557 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 02:53:48 +00:00
reed%reedloden.com
96d84f11ee Bug 258059 - [p=justdave]
git-svn-id: svn://10.0.0.236/trunk@217556 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 02:42:27 +00:00
lpsolit%gmail.com
5a090371ab Bug 365352: Lists of bugs (a.k.a tags) may be overwritten or deleted when tagging a new bug - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=justdave
git-svn-id: svn://10.0.0.236/trunk@217555 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 02:02:00 +00:00
lpsolit%gmail.com
5b26ba18fa Bug 365241: Changing the context of a patch fails - Patch by Frédéric Buclin <LpSolit@gmail.com> r=mkanat a=justdave
git-svn-id: svn://10.0.0.236/trunk@217554 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 01:58:28 +00:00
mkanat%bugzilla.org
fe1ce88121 Bug 365293: [mod_perl] click OR, AND or ADD... button in bool charts initiates search
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=justdave, a=justdave


git-svn-id: svn://10.0.0.236/trunk@217553 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-30 00:45:07 +00:00
lpsolit%gmail.com
153b84b4a4 Bug 365376: query.cgi: Use of uninitialized value at line 178 - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=justdave
git-svn-id: svn://10.0.0.236/trunk@217552 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 23:41:34 +00:00
olav%bkor.dhs.org
764c01e571 Bug 365374: The newchangedmail template calls field-descs when it only needs variables.none.tmpl (perf problem)
Patch By Olav Vitters <olav@bkor.dhs.org> r=mkanat, a=justdave


git-svn-id: svn://10.0.0.236/trunk@217551 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 23:23:35 +00:00
mkanat%bugzilla.org
57eff4620f Bug 364637: contrib/bzdbcopy.pl: Can't locate object method "params" via package "Bugzilla" at Bugzilla/DB/Mysql.pm line 65
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=justdave


git-svn-id: svn://10.0.0.236/trunk@217550 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 23:17:53 +00:00
mkanat%bugzilla.org
2e27cf28d8 Bug 363371: It is hard to determine which row has a failed encoding, with recode.pl --guess
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=justdave, a=justdave


git-svn-id: svn://10.0.0.236/trunk@217549 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 23:16:22 +00:00
lpsolit%gmail.com
c1e595e7c1 Bug 346121: Creating an attachment upon new bug doesn't create attachment link in comment #0 - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=justdave
git-svn-id: svn://10.0.0.236/trunk@217545 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 22:18:55 +00:00
sspitzer%mozilla.org
3d8dad8296 fix for bug #364316
[places] some favicons in the historu sidebar and the bookmarks dialog are bigger than 16px by 16px.

r=mano


git-svn-id: svn://10.0.0.236/trunk@217544 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 21:44:36 +00:00
lpsolit%gmail.com
cce34fa7cf Bug 365300: [mod_perl] Editing a saved search does not re-populate the search page - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=justdave
git-svn-id: svn://10.0.0.236/trunk@217543 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 20:55:08 +00:00
kairo%kairo.at
4c1da1fb6c bug 361096 - sanitize [w|p]instripe help.css, first-r=mano second-r=Neil
git-svn-id: svn://10.0.0.236/trunk@217541 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 16:09:47 +00:00
gijskruitbosch%gmail.com
3de3bec66d Bug 363791 - Crash [@ nsTreeBodyFrame::PrefillPropertyArray] involving removal of <treecols>
p=asqueella@gmail.com (Nickolay Ponomarev)
r=neil@parwaycc.co.uk (Neil Rashbrook)
sr=roc@ocallahan.org (Robert O'Callahan)


git-svn-id: svn://10.0.0.236/trunk@217540 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 13:20:23 +00:00
gijskruitbosch%gmail.com
c0431c1d15 Bug 328128 - nsIPrefBranch::prefHasUserValue should document the fact that a pref doesn't have a user set value if it's set to its default value
p=asqueella@gmail.com (Nickolay Ponomarev)
r+sr=darin.moz@gmail.com (Darin Fisher)
Documentation Only.


git-svn-id: svn://10.0.0.236/trunk@217539 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 13:08:41 +00:00
bmlk%gmx.de
d73e2e993c backout of bug 243159, rtest is necessary before checkin
git-svn-id: svn://10.0.0.236/trunk@217538 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 11:27:31 +00:00
ginn.chen%sun.com
c1b7113c1e bug 364274 Incorrect state for static text in wizard dialogs
patch by evan.yan at sun.com r=ginn.chen


git-svn-id: svn://10.0.0.236/trunk@217537 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 08:52:04 +00:00
ginn.chen%sun.com
be9b368772 Bug 363646 message header tree table report incorrect number of table headers
patch by Evan.Yan at sun.com r=mscott sr=neil


git-svn-id: svn://10.0.0.236/trunk@217536 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 06:41:23 +00:00
lpsolit%gmail.com
f5ed67795d Bug 365254: When running a shared saved search, its name is not displayed at the top of the bug list - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=justdave
git-svn-id: svn://10.0.0.236/trunk@217535 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 02:15:21 +00:00
sspitzer%mozilla.org
858729282d supplimental for bug #364412
Crash when updating in nsIncrementalDownload::OnStartRequest, attempting to allocate a huge amount of memory.

clean up code, per biesi

r=biesi


git-svn-id: svn://10.0.0.236/trunk@217534 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 01:19:32 +00:00
mozilla.mano%sent.com
e0305bcc06 Bug 365268 - Get rid of historyDNDObserver. r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217533 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 00:30:19 +00:00
mozilla.mano%sent.com
9527d3db8f Bug 364401 - js error when you drag link from places based history sidebar panel to personal toolbar. r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217532 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-29 00:27:33 +00:00
mozilla.mano%sent.com
c3b6cce8a2 Bug 365266 - Bookmark This Link in the history sidebar is broken in places-bookmarks-enabled builds. r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217531 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 23:49:44 +00:00
mozilla.mano%sent.com
ff1592d55c Bug 365171 - Bug context menu delete of personal toolbar bookmark can delete history item if focused. r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217530 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 22:56:59 +00:00
sspitzer%mozilla.org
352d8f88bc fix for bug #364325
History search shows the results in wrong (reverse) sort order.

r=mano


git-svn-id: svn://10.0.0.236/trunk@217529 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 22:08:06 +00:00
bienvenu%nventure.com
4563d5659c fix default location of special folders for new pop3 accounts which don't use global inbox, sr=mscott 365113
git-svn-id: svn://10.0.0.236/trunk@217528 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 21:52:30 +00:00
mozilla.mano%sent.com
ced59144f3 Use the right array lenght in the fix for bug 365100.
git-svn-id: svn://10.0.0.236/trunk@217527 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 21:26:11 +00:00
timeless%mozdev.org
505e38e735 Bug 365083 edit components cc list text needs wordsmithing
r=lpsolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@217524 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 18:20:07 +00:00
timeless%mozdev.org
bc3da9b791 Bug 365062 extra whitespace in "to classification ..." parenthetical
r=lpsolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@217523 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 18:18:33 +00:00
timeless%mozdev.org
2907a90fd3 Bug 365061 Unclassified default description is bad
r=lpsolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@217522 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 18:16:42 +00:00
timeless%mozdev.org
e36084aafd Bug 365054 no changes should be in the plural
r=lpsolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@217521 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 18:15:21 +00:00
timeless%mozdev.org
85c1d2223d Bug 363915 The group currently being edited should not be linkified, in editgroups.cgi
r=lpsolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@217520 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 18:01:02 +00:00
timeless%mozdev.org
6fd150a1ca Bug 363912 editwhines uses both the word "query" and the word "search" for the same thing
r=colin.ogilvie a=justdave


git-svn-id: svn://10.0.0.236/trunk@217519 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 17:57:50 +00:00
timeless%mozdev.org
b092e6ec4d Bug 354660 please reword "use in total"
r=lpsolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@217518 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 17:56:00 +00:00
reed%reedloden.com
a4dd525d93 Bug 364919 - "Watching-related text at bottom of "Email Preferences" page has typos" [p=reed/timeless r=LpSolit a=justdave]
git-svn-id: svn://10.0.0.236/trunk@217517 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 17:51:35 +00:00
smontagu%smontagu.org
7d71db096f Extend bug 353756 to cover vector fonts as well as bitmap fonts. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@217516 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 17:23:21 +00:00
reed%reedloden.com
ae8d26386f Bug 276565 - ""Log In" link in footer should return to same page after logging in." [p=reed r=justdave a=justdave]
git-svn-id: svn://10.0.0.236/trunk@217515 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 16:48:06 +00:00
Olli.Pettay%helsinki.fi
498568a836 Bug 358713, implement accessible objects for xforms selects of full apperance, p=surkov, r=aaronr+ginn.chen, sr=neil
git-svn-id: svn://10.0.0.236/trunk@217514 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 14:19:47 +00:00
tony%ponderer.org
86d73f3b36 Bug 354199 – firefox fetches a key from sb.google.com in local list mode
patch: only get key when in remote mode
r=mmchew


git-svn-id: svn://10.0.0.236/trunk@217511 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 06:54:35 +00:00
jminta%gmail.com
057a832c82 Bug 336287 – Multiweek view has inconsistent/faulty navigation, r=daniel, mvl
git-svn-id: svn://10.0.0.236/trunk@217505 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 01:23:15 +00:00
jminta%gmail.com
f76922fc5f Bug 343190 – DnD month view: Drag and Drop stops working if event is dropped out of calendar view, r=lilmatt, mvl
git-svn-id: svn://10.0.0.236/trunk@217504 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 01:19:59 +00:00
jminta%gmail.com
ab819218ff Bug 361565 – Weekly layout: Every second week is not printed and wrong week numbering, r=lilmatt, mvl
git-svn-id: svn://10.0.0.236/trunk@217503 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 01:13:54 +00:00
lpsolit%gmail.com
dca29d8ef1 Bug 365122: Success messages in userprefs.cgi shouldn't be red - Patch by Frédéric Buclin <LpSolit@gmail.com> r=Colin a=justdave
git-svn-id: svn://10.0.0.236/trunk@217501 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 00:43:16 +00:00
lpsolit%gmail.com
298e6bcd97 Bug 365067: Flags set from the enter_bug page are not mentioned in email - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=justdave
git-svn-id: svn://10.0.0.236/trunk@217500 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 00:39:30 +00:00
lpsolit%gmail.com
523daa0c88 Bug 365107: When classifications are in use, query.cgi doesn't fill the component, version and target milestone select menus correctly - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=justdave
git-svn-id: svn://10.0.0.236/trunk@217499 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 00:36:30 +00:00
lpsolit%gmail.com
a3044e837f Bug 365092: Inactive flag types should be excluded from the JS array in the bug creation form - Patch by Frédéric Buclin <LpSolit@gmail.com> and Olav Vitters <bugzilla-mozilla@bkor.dhs.org> r=LpSolit a=justdave
git-svn-id: svn://10.0.0.236/trunk@217498 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 00:31:35 +00:00
stridey%gmail.com
6a7ebc64f4 Camino only - Image removal for Bug 341967.
git-svn-id: svn://10.0.0.236/trunk@217497 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 00:29:52 +00:00
lpsolit%gmail.com
726b03b78c Bug 365179: Performance problems with multiple fields chosen in the "where one or more of the following changed" box - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=justdave
git-svn-id: svn://10.0.0.236/trunk@217495 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 00:26:11 +00:00
stridey%gmail.com
c66230d1a1 Project patch for Bug 341967.
git-svn-id: svn://10.0.0.236/trunk@217493 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 00:21:02 +00:00
dbaron%dbaron.org
b399e1ef80 Improve behavior of multiple RSS accounts by removing cache of datasource that was not per server but would need to be to work correctly. b=340957 r=mscott
git-svn-id: svn://10.0.0.236/trunk@217492 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 00:18:04 +00:00
stridey%gmail.com
77c92615e7 Camino only - Bug 341967: Make pop-up blocker notification text wrap. Patch by murph <camino@seanmurph.com> r=smorgan sr=pink
git-svn-id: svn://10.0.0.236/trunk@217491 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-28 00:11:49 +00:00
neil%parkwaycc.co.uk
e1b3251589 Make some more help buttons work in suiterunner b=346605 r=IanN
git-svn-id: svn://10.0.0.236/trunk@217490 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 23:51:11 +00:00
brendan%mozilla.org
2da9a2eaba Optimize x.p for arg/var/local x; fix decompiler bugs hiding nearby (363536, r=igor).
git-svn-id: svn://10.0.0.236/trunk@217489 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 23:47:13 +00:00
neil%parkwaycc.co.uk
2a65125a67 Fix issues trying to overlay some mail <dialog>s caused by referencing the DOM from top-level script by removing unused code b=365164 r=mscott
git-svn-id: svn://10.0.0.236/trunk@217487 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 23:08:53 +00:00
joshmoz%gmail.com
0b8f2e0bcf we need to include carbon and cocoa here, it works coincidentally without this though. no bug. r=smorgan
git-svn-id: svn://10.0.0.236/trunk@217485 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 23:07:21 +00:00
mnyromyr%tprac.de
61445c9b24 Bug 363831: SeaMonkey regression band-aid fix; r/sr=neil
git-svn-id: svn://10.0.0.236/trunk@217484 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 22:28:49 +00:00
sspitzer%mozilla.org
ad2f3218b9 fix for regression bug #364018
cannot drag and drop url from location bar or webpage to bookmark toolbar.

r=mano


git-svn-id: svn://10.0.0.236/trunk@217483 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 21:51:06 +00:00
mozilla.mano%sent.com
cbc4777865 Bug 365100 - 'Open in Tabs' doesn't work in the left pane of the organizer. r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217482 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 21:03:02 +00:00
despotdaemon
4075dc9f82 Pseudo-automatic update of changes made by knous@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@217481 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 20:47:57 +00:00
szegedia%freemail.hu
f7fd78a15c Test watches
git-svn-id: svn://10.0.0.236/trunk@217480 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 20:35:32 +00:00
reed%reedloden.com
55d6fb4f90 s/Fill/File/ [p=reed r=LpSolit]
git-svn-id: svn://10.0.0.236/trunk@217479 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 20:19:50 +00:00
sspitzer%mozilla.org
c5f9be8707 fix for bug #364412.
Crash when updating in nsIncrementalDownload::OnStartRequest, attempting to allocate a huge amount of memory.

thanks to biesi for the initial patch.

r=darin


git-svn-id: svn://10.0.0.236/trunk@217478 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 20:17:44 +00:00
mattwillis%gmail.com
19655ccf5c Convert DOS line endings to UNIX to make future patches readable
git-svn-id: svn://10.0.0.236/trunk@217477 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 19:52:00 +00:00
mnyromyr%tprac.de
fe55f58549 Bug 365005: red XUL error for menu_HelpPopup_reportertoolmenu; r/sr=biesi
git-svn-id: svn://10.0.0.236/trunk@217474 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 19:44:22 +00:00
szegedia%freemail.hu
f7349e58fb Updated with recently fixed bugs
git-svn-id: svn://10.0.0.236/trunk@217473 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 19:43:00 +00:00
mattwillis%gmail.com
7feec8a5bc Convert DOS line endings to UNIX to make future patches readable
git-svn-id: svn://10.0.0.236/trunk@217472 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 19:42:55 +00:00
szegedia%freemail.hu
6184d8baf0 Updated changelog with recent bugfixes
git-svn-id: svn://10.0.0.236/trunk@217471 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 19:23:09 +00:00
stuart.morgan%alumni.case.edu
079e535391 Camino only - Bug 202337: Make keychain storage compatible with Safari. r=josh sr=pink
git-svn-id: svn://10.0.0.236/trunk@217470 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 18:40:37 +00:00
szegedia%freemail.hu
2e310eb9f1 Fix for #344501 "Can't step into/put breakpoint in functions that are tail called in the debugger"
git-svn-id: svn://10.0.0.236/trunk@217469 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 18:34:25 +00:00
szegedia%freemail.hu
7d010c88a2 Bug 340561 Ð <Function>.prototype should not be DontEnum
git-svn-id: svn://10.0.0.236/trunk@217468 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 18:21:59 +00:00
stuart.morgan%alumni.case.edu
75acca6899 Camino only - Bug 181721: Disable menu commands when sheets or dialogs are frontmost. r=cl sr=pink
git-svn-id: svn://10.0.0.236/trunk@217467 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 18:17:14 +00:00
reed%reedloden.com
8ca8d63cd2 Bug 365143 - "[BUGZILLA] Mozbot does not parse duplicate bug messages correctly" [p=reed r=LpSolit]
git-svn-id: svn://10.0.0.236/trunk@217466 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 18:13:52 +00:00
szegedia%freemail.hu
6e7934d510 Revert previous change for now
git-svn-id: svn://10.0.0.236/trunk@217465 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 18:07:58 +00:00
szegedia%freemail.hu
57305a5386 Fix for Bug 347154 Ð CompilerEnvirons examines deprecated cx.compileFunctionsWithDynamicScopeFlag instead of calling cx.hasFeature(Context.FEATURE_DYNAMIC_SCOPE)
git-svn-id: svn://10.0.0.236/trunk@217464 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 18:04:25 +00:00
stuart.morgan%alumni.case.edu
80da8c3580 Camino only - Bug 340099: Highlight bookmark bar buttons when using Cmd-1 through 9. r=stridey sr=pink
git-svn-id: svn://10.0.0.236/trunk@217463 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 17:54:40 +00:00
peterv%propagandism.org
65f31f249d Fix for bug 362937 (Merge element's List and DumpContent implementations). r/sr=jst.
git-svn-id: svn://10.0.0.236/trunk@217462 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 17:26:32 +00:00
peterv%propagandism.org
dd03cc794a Fix for bug 364037 (xsl:copy-of a xsl:variable which contains a node crashes mozilla). r/sr=sicking.
git-svn-id: svn://10.0.0.236/trunk@217461 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 14:24:21 +00:00
masayuki%d-toybox.com
fa284ddafc Bug 287624 ? round CSS border widths to nearest pixel r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217460 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 14:21:43 +00:00
bmlk%gmx.de
627a20a258 remove TableProcessChild, this creates a single codepath trough ProcessChildren for frame construction bug 243159 r=rbs sr=bz
git-svn-id: svn://10.0.0.236/trunk@217459 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 14:00:12 +00:00
daniel.boelzle%sun.com
30b1ae8567 Bug 340949: misc fixes, reconnect timer
git-svn-id: svn://10.0.0.236/trunk@217458 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 12:38:57 +00:00
bmlk%gmx.de
9df82f6d3b initialize variables before use bug 365075 r/sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@217456 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 08:46:30 +00:00
smontagu%smontagu.org
b50cbc9d9f Bitmap fonts claim to support Unicode characters when they don't really. Bug 353756, r=pavlov
git-svn-id: svn://10.0.0.236/trunk@217455 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 08:43:15 +00:00
smontagu%smontagu.org
2ac0a48ae0 Make the y-offsets cairo sends to ExtTextOut relative to the location of the previous glyph instead of relative to the baseline. Bug 365021, r=pavlov
git-svn-id: svn://10.0.0.236/trunk@217454 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 07:50:24 +00:00
smontagu%smontagu.org
867405c595 Back out bug 361782 since it was fixed upstream. Bug 365021, r=pavlov
git-svn-id: svn://10.0.0.236/trunk@217453 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 07:47:22 +00:00
lpsolit%gmail.com
15bbea14f5 Bug 365064: describecomponents.cgi returns no data when no product name is given - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=justdave
git-svn-id: svn://10.0.0.236/trunk@217452 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 07:37:20 +00:00
dbaron%dbaron.org
ef84567f30 Make those C-style comments.
git-svn-id: svn://10.0.0.236/trunk@217451 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 03:11:28 +00:00
dbaron%dbaron.org
87b4b6deee Hack to get Mac builds working again. b=364794
git-svn-id: svn://10.0.0.236/trunk@217450 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 03:08:37 +00:00
reed%reedloden.com
4b13f60e01 Bug 364172 - "Wording on showdependencytree.cgi is bad when there are no dependencies" [p=reed r=bkor a=justdave]
git-svn-id: svn://10.0.0.236/trunk@217449 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 01:28:15 +00:00
reed%reedloden.com
91db19f831 Bug 364926 - "Platform and OS should be next to each other on "Enter Bug" page" [p=reed r=LpSolit a=justdave]
git-svn-id: svn://10.0.0.236/trunk@217448 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 01:24:42 +00:00
reed%reedloden.com
28077b383d Bug 364835 - "current bug number should be filled in in "to bugs" input box to simplify tagging" [p=reed r=bkor a=justdave]
git-svn-id: svn://10.0.0.236/trunk@217447 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 01:21:32 +00:00
reed%reedloden.com
4bd34c51b5 Bug 364950 - ""Enter Bug" page does not validate due to <input> in <table>" [p=reed r=bkor a=justdave]
git-svn-id: svn://10.0.0.236/trunk@217446 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 01:17:05 +00:00
reed%reedloden.com
33c636e085 Bug 364952 - "Clicking "Hide/Show Obsolete" link should not scroll show_bug page" [p=reed/Hannibal r=LpSolit a=justdave]
git-svn-id: svn://10.0.0.236/trunk@217445 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 01:14:39 +00:00
reed%reedloden.com
8b5b29de1c Bug 364958 - "If user does not have a real name, just e-mail address should be displayed instead of " <user@email.tld>"" [p=reed r=bkor a=justdave]
git-svn-id: svn://10.0.0.236/trunk@217444 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 01:12:35 +00:00
lpsolit%gmail.com
30ad7a1401 Bug 364951: post_bug.cgi does not validate due to invalid id for "Reassign bug to ..." <input> - Patch by Reed Loden <reed@reedloden.com> r=LpSolit a=justdave
git-svn-id: svn://10.0.0.236/trunk@217443 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 01:01:43 +00:00
lpsolit%gmail.com
bf4199e77f Bug 364851: Some accesskeys are duplicated when viewing a bug - Patch by Reed Loden <reed@reedloden.com> r=LpSolit a=justdave
git-svn-id: svn://10.0.0.236/trunk@217442 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 00:56:50 +00:00
lpsolit%gmail.com
aca3e56f3e Bug 365046: If docs_urlbase is empty, link to "the named tag" in the documentation should be supressed - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=justdave
git-svn-id: svn://10.0.0.236/trunk@217441 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 00:47:05 +00:00
mozilla.mano%sent.com
64e247a4c3 Bug 334451 - Places Organizer: places-list tree should not list bookmark items. This also fixes the selectBookmark dialog bustage from bug 359462. r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217440 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-27 00:36:35 +00:00
cbiesinger%web.de
b1cad63a4c Bug 364847 Give nsISocketTransport classinfo and a THREADSAFE flag
r+sr=darin


git-svn-id: svn://10.0.0.236/trunk@217439 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 22:14:29 +00:00
mozilla.mano%sent.com
11879f8ebc Bug 330807 - Places Organizer desn't show URL in its status bar. r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217438 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 20:35:05 +00:00
mozilla.mano%sent.com
b9299566db Bug 329949 - browser.tabs.loadBookmarksInBackground is ignored in places views (histrory sidebar, bookmarks toolbar etc.). r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217437 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 20:26:38 +00:00
lpsolit%gmail.com
93db0ccb13 Bug 364780: The keyword cache cannot be fixed with editkeywords privs only - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=justdave
git-svn-id: svn://10.0.0.236/trunk@217436 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 20:19:06 +00:00
mozilla.mano%sent.com
7b4f912194 Bug 364991 - Stop loading CFLocale functions dynamically. r=josh, sr=pink.
git-svn-id: svn://10.0.0.236/trunk@217435 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 20:18:15 +00:00
bmlk%gmx.de
5e2c64b119 the previous commit was bogus, the bustage was due to midcheckin.
git-svn-id: svn://10.0.0.236/trunk@217434 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 19:18:56 +00:00
reed%reedloden.com
cdc5eb4ce9 Bug 364863 - "on confirming a new account page, wrong 'Email Address' is shown when logged in" [p=victory/vladd/reed r=LpSolit a=justdave]
git-svn-id: svn://10.0.0.236/trunk@217433 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 19:03:55 +00:00
reed%reedloden.com
033cb53971 Bug 353528 - "<select> fields with just one value shouldn't appear editable" [p=reed r=LpSolit a=justdave]
git-svn-id: svn://10.0.0.236/trunk@217432 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 18:53:15 +00:00
lpsolit%gmail.com
da9a9f06d5 Bug 364923: Flag options should be disabled for users that cannot request or grant/deny them instead of showing a blank drop-down - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=justdave
git-svn-id: svn://10.0.0.236/trunk@217431 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 18:48:24 +00:00
bmlk%gmx.de
a38d8c03a8 bustage fix
git-svn-id: svn://10.0.0.236/trunk@217430 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 18:34:59 +00:00
bmlk%gmx.de
f20938bf42 bustage fix
git-svn-id: svn://10.0.0.236/trunk@217429 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 18:12:11 +00:00
lpsolit%gmail.com
19c57f7bf3 Bug 364134: Upgrading from 2.20 to latest CVS produces error message in contrib/recode.pl - Patch by Max Kanat-Alexander <mkanat@bugzilla.org> r=bkor a=justdave
git-svn-id: svn://10.0.0.236/trunk@217428 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 18:12:04 +00:00
lpsolit%gmail.com
f5de6af0bf Bug 364879: The custom field creation page generates invalid HTML code - Patch by victory(_RSZ_) <bmo2007@rsz.jp> r=vladd a=justdave
git-svn-id: svn://10.0.0.236/trunk@217427 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 18:01:07 +00:00
lpsolit%gmail.com
5cf2e37c40 Bug 363916: buglist.cgi can throw an error about JavaScript even though QuickSearch no longer uses JS - Patch by timeless <timeless@bemail.org> r=vladd a=justdave
git-svn-id: svn://10.0.0.236/trunk@217426 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 17:51:53 +00:00
timeless%mozdev.org
c778d21502 Bug 355300 There should be only one nsGkAtoms creature
r=dbaron


git-svn-id: svn://10.0.0.236/trunk@217425 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 17:47:52 +00:00
reed%reedloden.com
6eb41c6e0e Bug 364920 - "Watcher list should be sorted alphabetically" [p=reed r=LpSolit a=justdave]
git-svn-id: svn://10.0.0.236/trunk@217424 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 16:46:04 +00:00
reed%reedloden.com
0681f9e6b8 Bug 364169 - "There is a "show votes for this bug" link when the bug has no votes" [p=reed r=bkor a=justdave]
git-svn-id: svn://10.0.0.236/trunk@217423 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 16:41:47 +00:00
reed%reedloden.com
689ef9e373 Bug 364165 - ""Unclassified" classification appears in "Format for Printing" but not normal view" [p=reed r=bkor a=justdave]
git-svn-id: svn://10.0.0.236/trunk@217422 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 16:38:34 +00:00
justdave%bugzilla.org
d17c7f7365 Bug 356074: make error for omitting "cf_" from a command name be grammatically correct.
r=LpSolit, a=jusdave


git-svn-id: svn://10.0.0.236/trunk@217421 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 16:28:25 +00:00
bmlk%gmx.de
6db17ea546 be carefull with row indices when deleting cells bug=364318, patch by bz, r=me sr=roc
git-svn-id: svn://10.0.0.236/trunk@217418 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 14:24:15 +00:00
bmlk%gmx.de
93402c4df5 rename variable rename mRowCount to mContentRowCount so that it becomes obvious what it contains. Adjust the cellmap grow mechanism to the new nsTArray world bug=363370 r/sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@217417 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 14:04:20 +00:00
bmlk%gmx.de
1ac0afc850 add again bound checks that the BC code relies on. bug 364150 r/sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@217416 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 13:55:32 +00:00
gijskruitbosch%gmail.com
68ca4e5ac5 Bug 363965 - [OS/2] by default, SM single middle mouse button click will not open CZ window URL in new tab with CZ 0.9.76+
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@217415 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 12:20:29 +00:00
mozilla.mano%sent.com
e7ccd5bf3c Bug 365002 - newFolder/Separator methods should not try to focus the controller's view. r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217414 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 01:57:23 +00:00
mozilla.mano%sent.com
da56f8b8df Bug 336990 - Choosing delete on bookmarks toolbar deletes everything there indeed (this should only affect --enable-places-bookmarks builds). r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217413 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-26 01:54:51 +00:00
dbaron%dbaron.org
202dcc4811 Untabify.
git-svn-id: svn://10.0.0.236/trunk@217412 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-25 19:44:34 +00:00
uriber%gmail.com
c0d1269952 Pull InsertFrames, AppendFrames, and RemoveFrames up from nsInlineFrame to nsContainerFrame. bug=198928 r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217411 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-25 18:53:52 +00:00
mozilla.mano%sent.com
8a87c4db26 Bug 364828 - PlacesController efficiency improvements - update places-specific commands for places-events only. r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217410 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-24 22:56:08 +00:00
mozilla.mano%sent.com
c6297a8700 Bug 364905 - places-popup is broken (NPOB, only affects --enable-places-bookmarks builds). r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217409 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-24 22:51:40 +00:00
timeless%mozdev.org
4ed094a7fd Bug 363390 IS_LOW_SURROGATE conflicts with winnls.h
r=darin
updating comment


git-svn-id: svn://10.0.0.236/trunk@217408 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-24 12:27:45 +00:00
igor.bukanov%gmail.com
703dd01edc Bug 310405: allow to stop long running native code. r=brendan
git-svn-id: svn://10.0.0.236/trunk@217407 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-24 11:31:37 +00:00
gijskruitbosch%gmail.com
89e4c82aaf Bug 348215 - Join Channel dialog creating messages in client
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@217406 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-24 09:59:46 +00:00
gijskruitbosch%gmail.com
2cfad0e067 Bug 288844 - irc channel calls onStartRequest synchronously and without onStopRequest
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@217405 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-24 09:07:35 +00:00
stridey%gmail.com
c105b6b9b5 Camino only - Bug 363680:Context menu overhaul for menu spacers. Patch by cl <bugzilla@chrislawson.net>. r=me sr=pink
git-svn-id: svn://10.0.0.236/trunk@217403 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-24 00:02:30 +00:00
neil%parkwaycc.co.uk
60ee1fcc79 Back out bug 350766's scrollbar metrics r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@217402 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 23:32:09 +00:00
joshmoz%gmail.com
2d5f1cce9f get rid of kTitleBarHeight constant in cocoa widgets. b=347965 r=mano sr=pinkerton
git-svn-id: svn://10.0.0.236/trunk@217401 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 20:25:51 +00:00
mozilla.mano%sent.com
84eb283b30 Bug 364521 - Need a bundleIdentifier attribute in nsILocalFileMac. r=mento, sr=pink.
git-svn-id: svn://10.0.0.236/trunk@217400 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 20:17:29 +00:00
mozilla.mano%sent.com
a6d1dc9800 Bug 364661 - [cocoa] nsDragService::IsDataFlavorSupported should not throw for unsupported data flavors. r=josh, sr=pink.
git-svn-id: svn://10.0.0.236/trunk@217399 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 20:09:43 +00:00
dbaron%dbaron.org
16fd6022ad Bug 132071: Escape < and > (used in templates) in jprof's HTML output. Initial patch by Dave Morrison <morrison@bnl.gov>, r=dbaron
git-svn-id: svn://10.0.0.236/trunk@217397 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 18:37:39 +00:00
masayuki%d-toybox.com
d883023eda Bug 364785 ts regression by bug 362665 and bug 364678 r=vlad
git-svn-id: svn://10.0.0.236/trunk@217396 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 16:12:11 +00:00
gavin%gavinsharp.com
2f0ee572e8 Bug 364297: Fix typo, add a few more names, r=mconnor
git-svn-id: svn://10.0.0.236/trunk@217394 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 15:48:59 +00:00
mnyromyr%tprac.de
ebc7380b6c Bug 362349: suppressMsgDisplay should only force display when exactly one message is selected; p=Bruno 'Aqualon' Escherl <aqualon@aquachan.de>, r=neil, sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@217393 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 13:20:30 +00:00
wr%rosenauer.org
6faafbe6f0 Bug 364567 - fixed warning: operation on 'typeIndex' may be undefined, r+sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@217387 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 08:58:13 +00:00
masayuki%d-toybox.com
25bbfb2e05 Bug 364678 Incorrectly styled text after bug 362665 (only on western page??) r=vlad
git-svn-id: svn://10.0.0.236/trunk@217385 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 05:27:45 +00:00
vladimir%pobox.com
6a67fdb3c8 linux cff fix
git-svn-id: svn://10.0.0.236/trunk@217384 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 01:46:43 +00:00
vladimir%pobox.com
3670425f12 linux/xlib fix
git-svn-id: svn://10.0.0.236/trunk@217383 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 01:42:53 +00:00
vladimir%pobox.com
bb81827bcf OS X fix
git-svn-id: svn://10.0.0.236/trunk@217382 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 01:32:34 +00:00
vladimir%pobox.com
bf19bcf865 b=364742, Update cairo to git 473ae3aa95, r=stuart
git-svn-id: svn://10.0.0.236/trunk@217379 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 01:15:54 +00:00
mike.morgan%oregonstate.edu
7fe98785dc Checking in patch from bug 364628 that makes the AUS2 config more flexible and helps avoid cross-product version conflicts for nightly updates.
git-svn-id: svn://10.0.0.236/trunk@217378 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 00:55:56 +00:00
mike.morgan%oregonstate.edu
ddf51bd97f Removed trailing slash at the end of $host.
git-svn-id: svn://10.0.0.236/trunk@217376 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 00:25:40 +00:00
mike.morgan%oregonstate.edu
7f1ad43737 Fixed acceptance tests to make sure updateVersion and osVersion are granular and adjustable.
git-svn-id: svn://10.0.0.236/trunk@217375 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-23 00:23:22 +00:00
bclary%bclary.com
ac0f6baa41 JavaScript Test - test callback mutation in Array filter, by Jeff Walden, bug 364603
git-svn-id: svn://10.0.0.236/trunk@217374 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 21:45:44 +00:00
mozilla%weilbacher.org
865ecf539d [OS/2] Bug 351246: Load Mozilla into Highmem on OS/2. Part 5, changes to SQLite. r=abwillis1, sr=vlad
git-svn-id: svn://10.0.0.236/trunk@217373 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 20:12:03 +00:00
dmose%mozilla.org
ff897ddcb7 Back out version number change, as we need more discussion on this first
git-svn-id: svn://10.0.0.236/trunk@217372 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 20:11:52 +00:00
lpsolit%gmail.com
34501f0979 Bug 364748: Bug number not displayed when viewing all attachments - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=justdave
git-svn-id: svn://10.0.0.236/trunk@217371 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 19:41:45 +00:00
lpsolit%gmail.com
a2ca50da43 Bug 364743: Crash when renaming components (regression) - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=justdave
git-svn-id: svn://10.0.0.236/trunk@217369 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 18:10:21 +00:00
brendan%mozilla.org
bec424d922 Meter small-slot ops (363529, r=crowder).
git-svn-id: svn://10.0.0.236/trunk@217368 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 18:02:42 +00:00
dbaron%dbaron.org
3c6623d408 Don't forget to assign to rv. b=340554 r=sayrer
git-svn-id: svn://10.0.0.236/trunk@217367 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 17:28:48 +00:00
peterv%propagandism.org
7809c17869 First part of fix for bug 306539 (Error during XSLT transformation: (null)). r/sr=sicking.
git-svn-id: svn://10.0.0.236/trunk@217366 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 17:22:18 +00:00
rhelmer%mozilla.com
dbb8f52160 use different filter for State line b=364652 r=nrthomas
git-svn-id: svn://10.0.0.236/trunk@217365 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 17:17:50 +00:00
peterv%propagandism.org
faa9bb5fb6 Fix for bug 363656 (regexp:match returns results out of order). r/sr=sicking.
git-svn-id: svn://10.0.0.236/trunk@217364 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 16:15:15 +00:00
gijskruitbosch%gmail.com
354a68501f Bug 361087 - remove the nsIXULPrototypeDocument interface
p=asqueella@gmail.com (Nickolay Ponomarev)
r+sr=bugmail@sicking.cc (Jonas Sicking)


git-svn-id: svn://10.0.0.236/trunk@217363 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 16:11:16 +00:00
bclary%bclary.com
da814fc21f JavaScript Test - modify test to use object instance instead of |this|, bug 355344
git-svn-id: svn://10.0.0.236/trunk@217361 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 14:53:50 +00:00
bclary%bclary.com
f0ea5d5c27 JavaScript Test - modify test to reflect change in typeof RegExp instance, bug 61911
git-svn-id: svn://10.0.0.236/trunk@217360 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 14:43:56 +00:00
bclary%bclary.com
49bcb26b67 JavaScript Test - modify test to delay execution until page loaded, bug 324688
git-svn-id: svn://10.0.0.236/trunk@217359 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 14:38:00 +00:00
bienvenu%nventure.com
55b9de05ed fix a couple problems with news unread counts, including marking missing articles as read, sr=mscott part of 298737
git-svn-id: svn://10.0.0.236/trunk@217357 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 13:57:22 +00:00
bugzilla%standard8.demon.co.uk
71b6295893 Bug 363266 Simplify some ifdefs/Restructure some DIRS under xpfe/ (components/MakeFile.in part) r=benjamin
git-svn-id: svn://10.0.0.236/trunk@217356 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 13:56:40 +00:00
bienvenu%nventure.com
c8be66dec0 fix 319535 don't issue getacl command unless we have myrights administrative rights, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@217354 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 13:39:04 +00:00
brendan%mozilla.org
c86b0a0350 Fix from shutdown@flashmail.com for off-by-one in js_Disassemble1 (364691, r=me).
git-svn-id: svn://10.0.0.236/trunk@217346 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 08:22:32 +00:00
alfred.peng%sun.com
b34b600af7 Bug 353162. Firefox calls system pixman_image_init and causes hang.
r=benjamin+vladimir.


git-svn-id: svn://10.0.0.236/trunk@217341 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 06:40:36 +00:00
bzbarsky%mit.edu
70c517f74d Remove most of the aFrame args in computed style; just store the frame in a
member instead.  Bug 364617, r+sr=roc


git-svn-id: svn://10.0.0.236/trunk@217340 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 06:10:32 +00:00
brendan%mozilla.org
5963937b03 Back out patch for 310405 due to regressions.
git-svn-id: svn://10.0.0.236/trunk@217339 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 05:46:46 +00:00
rhelmer%mozilla.com
12ee7153ab disable xforms until bug 339568 is resolved.
git-svn-id: svn://10.0.0.236/trunk@217338 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 04:33:00 +00:00
masayuki%d-toybox.com
efed138d00 Bug 362665 Implement font name resolver on Mac r=vlad
git-svn-id: svn://10.0.0.236/trunk@217335 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 03:56:37 +00:00
cvshook%sicking.cc
ea18868277 Fix bustage from bug 363789
git-svn-id: svn://10.0.0.236/trunk@217334 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 01:13:04 +00:00
cvshook%sicking.cc
10146a5b87 Fix long lines in previous patch. b=363789
git-svn-id: svn://10.0.0.236/trunk@217333 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 00:58:00 +00:00
neil%parkwaycc.co.uk
442631c4f5 Bug 364215 Modern themed sidebar should have mini scrollbars r=IanN
git-svn-id: svn://10.0.0.236/trunk@217331 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 00:24:05 +00:00
cvshook%sicking.cc
d3f8d240a0 Implement more exslt functions. r/sr=peterv
git-svn-id: svn://10.0.0.236/trunk@217330 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 00:19:34 +00:00
igor.bukanov%gmail.com
7104aa81f2 Bug 310405: long running loops in native code are brekable now. r=brendan,crowder
git-svn-id: svn://10.0.0.236/trunk@217329 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 00:00:40 +00:00
mozilla.mano%sent.com
6235546314 Bug 359462 - Redesign PlacesController interaction with places views (this makes various edit command work in the places-based history sidebar). r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@217328 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-22 00:00:21 +00:00
mattwillis%gmail.com
bf38a49e18 bump trunk version number so AUS branch vs. trunk don't collide
git-svn-id: svn://10.0.0.236/trunk@217327 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 23:36:31 +00:00
wtchang%redhat.com
baeea2fe1e Bugzilla Bug 362134: fixed a crash in dtoa when running with reduced CPU
float precision.  Original patch for jsdtoa.c in JavaScript by Keith Victor
<keith@virtock.com>.  r=wtc.


git-svn-id: svn://10.0.0.236/trunk@217323 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 22:41:42 +00:00
gijskruitbosch%gmail.com
c4cf0051a5 Change profilePath pref to hidden. No bug.
r=silver@warwickcompsoc.co.uk (James Ross) on IRC
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@217321 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 22:35:55 +00:00
bienvenu%nventure.com
03094f8024 add hidden per smtp server pref to allow overriding of EHLO/HELO argument, patch by ch.ey@gmx.net, r/sr=bienvenu 244030
git-svn-id: svn://10.0.0.236/trunk@217317 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 22:10:54 +00:00
Olli.Pettay%helsinki.fi
0c12bf4696 Bug 364544, Crash [@ nsSliderFrame::HandleEvent] when a scrollbar thumb gets removed while dragging, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@217314 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 21:44:10 +00:00
rhelmer%mozilla.com
65c9f8fb84 used for testing 1509/2001 releases
git-svn-id: svn://10.0.0.236/trunk@217312 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 21:37:57 +00:00
benjamin%smedbergs.us
3254e73176 Bug 341654 cleanup - search should be built in tier-app, not tier-toolkit, r=gavin
git-svn-id: svn://10.0.0.236/trunk@217311 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 21:34:05 +00:00
mike.morgan%oregonstate.edu
1e410ed873 Checked in added versions for nightly updates from bug 364477.
git-svn-id: svn://10.0.0.236/trunk@217309 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 21:14:49 +00:00
lpsolit%gmail.com
38d4dd1b08 Bug 91761: sanitycheck.cgi is too broadly accessible - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=justdave
git-svn-id: svn://10.0.0.236/trunk@217308 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 20:47:23 +00:00
lpsolit%gmail.com
cb931d84c8 Bug 364293: Do not call can_see_product() from templates - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=justdave
git-svn-id: svn://10.0.0.236/trunk@217307 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 20:34:07 +00:00
lpsolit%gmail.com
c49cb29251 Bug 364284: User::get_selectable_products() can return wrong data if $classification_id is passed - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=justdave
git-svn-id: svn://10.0.0.236/trunk@217306 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 20:30:43 +00:00
roc+%cs.cmu.edu
36d18e2982 Bug 363813. Mark canvas with HAS_DIRTY_CHILDREN when we delete its child. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217305 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 20:05:34 +00:00
roc+%cs.cmu.edu
408d24ae4a Bug 363813. Reparent style contexts for special-siblings because they may depend on our frame's style context. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217304 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 20:03:09 +00:00
mnyromyr%tprac.de
f10bf9fb3b Bug 364542: View > Messages > All/Unread doesn't uncheck; r/sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@217303 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 20:02:35 +00:00
roc+%cs.cmu.edu
75b2611119 Bug 363813. Always reset parent pointers when pulling an inline frame's overflow back into its main child list. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217302 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 19:59:30 +00:00
Olli.Pettay%helsinki.fi
810e04c8c4 Bug 364219, Crash [@ CallQueryInterface] when passing on an xmlhttprequest load event to a timeout, r+sr=peterv
git-svn-id: svn://10.0.0.236/trunk@217301 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 19:27:48 +00:00
bugzilla%standard8.demon.co.uk
da5dcb4a18 Bug 364141 toolkitify composer's startup handler. r/sr=Neil
git-svn-id: svn://10.0.0.236/trunk@217300 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 17:36:44 +00:00
mozilla.mano%sent.com
888455ec8c Bug 358456 - Feed preview should include pubDate of each entry. patch from Michael Ventnor <ventnor.bugzilla@yahoo.com.au>; r=sayre,me; ui-r=beltzner.
git-svn-id: svn://10.0.0.236/trunk@217297 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 08:43:09 +00:00
timeless%mozdev.org
90a496a407 Bug 47868 Unable to search for numbers only
r=bear


git-svn-id: svn://10.0.0.236/trunk@217296 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 07:17:07 +00:00
timeless%mozdev.org
0dbce75039 Bug 363390 IS_LOW_SURROGATE conflicts with winnls.h
r=darin


git-svn-id: svn://10.0.0.236/trunk@217295 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 07:13:58 +00:00
timeless%mozdev.org
35b31fd791 Bug 341952 Adding firefox variants to mozilla/browser/app/.cvsignore
also sunbird and thunderbird
r=bsmedberg


git-svn-id: svn://10.0.0.236/trunk@217294 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 07:05:08 +00:00
timeless%mozdev.org
7a201105b7 Bug 341955 add some more items to .cvsignore
r=bsmeberg


git-svn-id: svn://10.0.0.236/trunk@217293 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 07:04:12 +00:00
timeless%mozdev.org
3ea4e560e3 Bug 363390 IS_LOW_SURROGATE conflicts with winnls.h
r=darin


git-svn-id: svn://10.0.0.236/trunk@217292 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 07:03:23 +00:00
timeless%mozdev.org
3c5c6820cf Bug 363446 EmbedPrivate::ScrollToSelectedNode doesn't initialize rv if !aDOMNode
patch by sciguyryan+bugzilla@gmail.com r=timeless


git-svn-id: svn://10.0.0.236/trunk@217291 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 07:01:48 +00:00
timeless%mozdev.org
4f67e833f0 Bug 364264 Assertion failure: pcdepth >= 0, at jsopcode.c:4737 - failure to handle JSOP_TRAP in js_DecompileValueGenerator
r=brendan


git-svn-id: svn://10.0.0.236/trunk@217289 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 06:59:51 +00:00
justdave%bugzilla.org
bc48ce29db Followup fix for bug 362546: set the value in the DB correctly
git-svn-id: svn://10.0.0.236/trunk@217288 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 06:19:04 +00:00
despotdaemon
95a593f678 Pseudo-automatic update of changes made by justdave@bugzilla.org.
git-svn-id: svn://10.0.0.236/trunk@217287 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 06:15:58 +00:00
despotdaemon
0381e90806 Pseudo-automatic update of changes made by justdave@bugzilla.org.
git-svn-id: svn://10.0.0.236/trunk@217286 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 06:07:17 +00:00
jminta%gmail.com
9549262a93 Bug 329582 Remove superfluous parts of gCalendarWindow object, including disabled mail support in sunbird. r=lilmatt,mvl
git-svn-id: svn://10.0.0.236/trunk@217285 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 04:52:28 +00:00
jminta%gmail.com
470a625b49 Bug 361836 Calendar csv import/export does not include alarms r=lilmatt,mvl
git-svn-id: svn://10.0.0.236/trunk@217284 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 04:39:12 +00:00
jminta%gmail.com
f6f291b898 Bug 362496 Fail more gracefully if we can't parse the date during csv import r=ctalbert,mvl
git-svn-id: svn://10.0.0.236/trunk@217283 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 04:35:21 +00:00
jminta%gmail.com
ab2dd2188f Bug 362876 Offer a chance to save changes to an item if the app is trying to restart r=lilmatt,mvl
git-svn-id: svn://10.0.0.236/trunk@217282 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 04:31:21 +00:00
igor.bukanov%gmail.com
da9e4ec912 Bug 364017: fix source node decoding in the dissembler, r=brendan
git-svn-id: svn://10.0.0.236/trunk@217279 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 01:48:27 +00:00
brendan%mozilla.org
c6642a597b Finish NEW_ => STRICT_ renaming (363536, r=igor).
git-svn-id: svn://10.0.0.236/trunk@217277 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 01:35:54 +00:00
brendan%mozilla.org
ee32c685b5 Remove stale comments (334261 followup, r=self).
git-svn-id: svn://10.0.0.236/trunk@217275 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 01:00:32 +00:00
brendan%mozilla.org
b328725e03 JSOP_GETTHISPROP optimization (363536, r=igor).
git-svn-id: svn://10.0.0.236/trunk@217273 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-21 00:02:20 +00:00
mozilla.mano%sent.com
7ae3cfd07a Bug 356536 - [Mac] XUL Scroll bar slider jumps back up when mouse cursor strays from near scroll bar. patch from Stefan <stefanh@bluebottle.com>, r=me, sr=roc.
git-svn-id: svn://10.0.0.236/trunk@217270 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 22:49:59 +00:00
mozilla.mano%sent.com
d3e7fc2422 Bug 363512 - remove base-64 encoding functions in favor of built-ins. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@217269 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 22:41:20 +00:00
mozilla.mano%sent.com
a0f3b04b72 Bug 355120 - Move default feed reader code to shellsvc. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@217268 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 22:34:51 +00:00
Olli.Pettay%helsinki.fi
28ce10d978 Testcases for bug 364092 and bug 364413
git-svn-id: svn://10.0.0.236/trunk@217266 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 21:33:22 +00:00
Olli.Pettay%helsinki.fi
1b73029ac9 Bug 364413, Related node on DOMAttrModified listener isn't the same as attr node set by SetAttributeNodeNS, p=Alex Vincent+me, r+sr=sicking
git-svn-id: svn://10.0.0.236/trunk@217265 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 20:55:08 +00:00
despotdaemon
ad52cd19a0 Pseudo-automatic update of changes made by brendan@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@217264 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 20:54:19 +00:00
crowder%fiverocks.com
3da5f7e293 Bug 364350: free of uninitialized memory in OOM condition, patch by Gavin Reaney (gavin@picsel.com), r=crowder@fiverocks.com
git-svn-id: svn://10.0.0.236/trunk@217263 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 20:51:12 +00:00
benjamin%smedbergs.us
cadeb69c98 Bug 36195 - CYGWIN and PATH environment variables should be unset when building in the MSYS shell, r=luser
git-svn-id: svn://10.0.0.236/trunk@217262 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 20:44:31 +00:00
mattwillis%gmail.com
41e4fad997 bug 327064 - Adds STRIP_XPI to Lightning. r=dmose via IRC
git-svn-id: svn://10.0.0.236/trunk@217261 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 20:42:36 +00:00
mvl%exedo.nl
4f3b97d4ad bug 215971, use the values from the actual patch
git-svn-id: svn://10.0.0.236/trunk@217260 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 20:18:04 +00:00
mozilla.mano%sent.com
ad97db0aee Fix upcoming bustage from bug 326854
git-svn-id: svn://10.0.0.236/trunk@217259 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 20:16:23 +00:00
mvl%exedo.nl
8dd355ce8b Bug 215971 auto refresh remote calendar every x minutes. r=lilmatt, jminta
git-svn-id: svn://10.0.0.236/trunk@217258 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 20:14:25 +00:00
mozilla.mano%sent.com
d59fc62008 Bug 326854 - expose btoa and atob to JS components. r=brendan, sr=jst.
git-svn-id: svn://10.0.0.236/trunk@217257 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 20:10:12 +00:00
despotdaemon
9785d446e8 Pseudo-automatic update of changes made by shaver@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@217256 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 20:06:06 +00:00
lpsolit%gmail.com
8d9dd10809 Bug 364216: Flag::retarget() is broken - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=myk
git-svn-id: svn://10.0.0.236/trunk@217254 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 19:53:58 +00:00
justdave%bugzilla.org
609ed4072f Scripts now live in $CONFIG_DIR
git-svn-id: svn://10.0.0.236/trunk@217253 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 19:53:18 +00:00
justdave%bugzilla.org
40a7f8bc46 Add the check scripts that we use
git-svn-id: svn://10.0.0.236/trunk@217252 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 19:50:59 +00:00
mvl%exedo.nl
3d78320a71 bug 360479: move workweek days calculation to multiday-view so it refreshes just once. patch by gekacheka@yahoo.com, r=lilmatt, jminta
git-svn-id: svn://10.0.0.236/trunk@217250 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 19:07:12 +00:00
mattwillis%gmail.com
7499d9ec74 fix obvious typo in comment
git-svn-id: svn://10.0.0.236/trunk@217249 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 19:01:40 +00:00
igor.bukanov%gmail.com
9093eec7cf Bug 354297: Fix for getters on index when compiled with GC_MARK_DEBUG. r=brendan
git-svn-id: svn://10.0.0.236/trunk@217248 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 18:55:07 +00:00
mvl%exedo.nl
2f7fe8772e bug 356207: start searching at the right place when reading .ics which has BYMONTHDAY and BYDAY in an RRULE. r=dbo
git-svn-id: svn://10.0.0.236/trunk@217247 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 18:53:54 +00:00
ghendricks%novell.com
736fa53ff4 Sync with 2499 Testopia 1.1.2
git-svn-id: svn://10.0.0.236/trunk@217244 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 17:01:20 +00:00
mattwillis%gmail.com
c14a7c952f bug 364339 - Add files to be packaged with Windows build for Sunbird to work on branch. Patch by Stefan Sitter <ssitter@googlemail.com> r1=lilmatt, r2=jminta
git-svn-id: svn://10.0.0.236/trunk@217237 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 13:04:58 +00:00
gijskruitbosch%gmail.com
390dabf129 Bug 361781 - nsIDomInternalWindow::GetAttention on GTK2 doesn't behave "right" in all cases. (Second try)
r+sr=roc@ocallahan.org (Robert O'Callahan)


git-svn-id: svn://10.0.0.236/trunk@217236 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 09:05:19 +00:00
stridey%gmail.com
8d1571d60e Camino only - Make the string from bug 330534 localize properly. sr=smorgan
git-svn-id: svn://10.0.0.236/trunk@217235 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 08:46:26 +00:00
brendan%mozilla.org
7991ccd56e Rename strict equality ops (cleanup pre-patch for 363536, r=igor).
git-svn-id: svn://10.0.0.236/trunk@217234 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 08:12:18 +00:00
brendan%mozilla.org
43e84ca3e2 Bytecode succession metering (363529, r=crowder).
git-svn-id: svn://10.0.0.236/trunk@217233 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 07:47:22 +00:00
philringnalda%gmail.com
d13faa839e Bug 363043: Unfork Sb's customizeToolbar, r=jminta
git-svn-id: svn://10.0.0.236/trunk@217231 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 06:45:09 +00:00
philringnalda%gmail.com
f01d0a6515 Bug 364197: Wrong end position for bolding in Granpa Radiso EULA for Mac, r=mano
git-svn-id: svn://10.0.0.236/trunk@217230 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 06:10:36 +00:00
ginn.chen%sun.com
3bec800993 Bug 364205 gtkmozembed.h should be C style
r+sr=roc


git-svn-id: svn://10.0.0.236/trunk@217229 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 05:28:57 +00:00
reed%reedloden.com
0714ad586e Bug 364195 - "No way to search for private comments" [p=reed r=justdave a=justdave]
git-svn-id: svn://10.0.0.236/trunk@217228 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 05:14:24 +00:00
mats.palmgren%bredband.net
14e7266121 Rename IsSplittable() to GetSplittableType(). b=349973 r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@217227 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 03:52:34 +00:00
joshmoz%gmail.com
201ffb4c53 remove unused quickdraw code. b=364415 r=cl
git-svn-id: svn://10.0.0.236/trunk@217226 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 03:41:43 +00:00
joshmoz%gmail.com
78fbb28d7a nsChildView comment, whitespace, and includes cleanup, no actual code changes. makes the file much easier to read. r=smorgan
git-svn-id: svn://10.0.0.236/trunk@217225 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 02:13:57 +00:00
bzbarsky%mit.edu
e457732aea Remove the GetScrollBarDimensions API from device contexts. Bug 364345, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@217224 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 02:04:00 +00:00
dbaron%dbaron.org
9332796f42 Eliminate nsStyleBorderPadding and add margin/padding/content rect APIs to nsIFrame. b=332922 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@217223 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 01:23:45 +00:00
mats.palmgren%bredband.net
36ff0f7a42 Horizontal under/overflow events are not dispatched. b=363933 r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217222 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-20 01:17:00 +00:00
Olli.Pettay%helsinki.fi
3ab568daae Try to fix crashes possibly caused by bug 359790, r=aaronl
git-svn-id: svn://10.0.0.236/trunk@217219 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 22:57:23 +00:00
joshmoz%gmail.com
3afdea1233 followup to menubarless dialog fix. sometimes during startup it is normal to not have a native application menu yet. b=355138
git-svn-id: svn://10.0.0.236/trunk@217218 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 22:54:14 +00:00
mike.morgan%oregonstate.edu
fb970ea6ca Fixed missing </div>.
git-svn-id: svn://10.0.0.236/trunk@217214 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 21:39:06 +00:00
silver%warwickcompsoc.co.uk
8343179484 Bug 361785 - adoptNode as needed.
JavaScript Debugger only.
r=rginda


git-svn-id: svn://10.0.0.236/trunk@217212 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 21:00:10 +00:00
joshmoz%gmail.com
163e763cde Remove non-cairo gfx support from cocoa widgets. This isn't going to work soon anyway, camino can't build without cairo already, and it is a lot of clutter. Carbon widgets will still build with non-cairo gfx. b=364379 r=smorgan r=mento sr=pinkerton
git-svn-id: svn://10.0.0.236/trunk@217211 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 20:47:53 +00:00
mnyromyr%tprac.de
987b264088 Bug 363831: Saved Search with only one folder to search results in endless loading and high CPU load; r=neil, sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@217210 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 20:26:47 +00:00
roc+%cs.cmu.edu
5dd391d386 Bug 363848. Scrollframes CAN TOO have an nsIScrollbarMediator scrolled frame. r=enndeaking,sr=mats
git-svn-id: svn://10.0.0.236/trunk@217209 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 20:11:27 +00:00
sayrer%gmail.com
1ab4016c16 Fix an ifdef syntax mistake.
git-svn-id: svn://10.0.0.236/trunk@217208 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 19:58:04 +00:00
sayrer%gmail.com
163a3d2df1 Bug 364337. Fix unit test build bustage--don't run bookmarks tests when bookmarks aren't enabled. r=sspitzer
git-svn-id: svn://10.0.0.236/trunk@217207 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 19:51:31 +00:00
joshmoz%gmail.com
402e8c42ee fix menu bar for menubarless dialogs. b=355138 r=hwaara r=mento sr=pinkerton
git-svn-id: svn://10.0.0.236/trunk@217206 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 19:26:41 +00:00
gavin%gavinsharp.com
2bda371186 Bug 361652: Remove extraneous files that differ only in case, r=morgamic
git-svn-id: svn://10.0.0.236/trunk@217205 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 19:25:55 +00:00
bzbarsky%mit.edu
d33fe96766 If we have an unsupported classid, bail out even if we have no URI. Bug
363379, r+sr=biesi


git-svn-id: svn://10.0.0.236/trunk@217202 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 16:31:42 +00:00
bzbarsky%mit.edu
1fdc2a2db8 Fix bug 363235 -- REJECT_SERVER is taken to mean "content is blocked by user",
and that's not what we want here.  r+sr=sicking


git-svn-id: svn://10.0.0.236/trunk@217201 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 15:32:46 +00:00
bzbarsky%mit.edu
78cfdd7ca8 Remove the consumers of GetScrollBarDimensions so that we can work on removing
the API too.  Bug 364301, r+sr=roc


git-svn-id: svn://10.0.0.236/trunk@217200 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 15:08:34 +00:00
cbiesinger%web.de
6e9115cd9c bug 261425
Make nsStandardURL::SetSpec and SetHost consistent with respect to handling
spaces in hostnames (i.e. make both return an error)
r+sr=darin


git-svn-id: svn://10.0.0.236/trunk@217199 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 15:07:14 +00:00
cbiesinger%web.de
133b9c1384 bug 357958 Ignore unsupported content encodings instead of making them a fatal
error
r+sr=darin


git-svn-id: svn://10.0.0.236/trunk@217198 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 15:03:17 +00:00
longsonr%gmail.com
2eb1d086cc Bug 363710 - Removing text node has no visible effect. r=jwatt, sr=roc
git-svn-id: svn://10.0.0.236/trunk@217195 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 13:15:37 +00:00
gijskruitbosch%gmail.com
3ed4c763e2 Bug 361781 - Backing out due to orange on older boxes.
git-svn-id: svn://10.0.0.236/trunk@217194 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 12:07:10 +00:00
gijskruitbosch%gmail.com
ab1187cc82 Bug 361781 - try nullchecking lib to fix orange.
git-svn-id: svn://10.0.0.236/trunk@217193 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 11:46:37 +00:00
silver%warwickcompsoc.co.uk
2c37efe634 Update version from 3.0a1 to 3.0a2; we hate you AMO.
ChatZilla only, NPODB.


git-svn-id: svn://10.0.0.236/trunk@217192 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 11:22:30 +00:00
martijn.martijn%gmail.com
c3140a39f3 Bug 312867 - Implement textbox.reset(), expose input's editor, r+sr=neil, r=gavin
git-svn-id: svn://10.0.0.236/trunk@217191 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 11:17:27 +00:00
gijskruitbosch%gmail.com
90e15eb199 Bug 361781 - nsIDomInternalWindow::GetAttention on GTK2 behaves non-optimal
r+sr=roc@ocallahan.org (Robert O'Callahan, Novell)


git-svn-id: svn://10.0.0.236/trunk@217190 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 11:01:12 +00:00
lpsolit%gmail.com
53078c46f2 Bug 339384: Make Bugzilla::Milestone use Bugzilla::Object - Patch by Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit a=justdave
git-svn-id: svn://10.0.0.236/trunk@217189 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 10:35:43 +00:00
lpsolit%gmail.com
82e79d9d8f Back out a change which is not part of the patch I reviewed and which breaks the list of flags to display on bug and attachment creation - see bug 335389
git-svn-id: svn://10.0.0.236/trunk@217187 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 09:38:11 +00:00
lpsolit%gmail.com
8d9b0dd2c2 Bug 364286: Code in Classification->products() is suboptimal - Patch by Frédéric Buclin <LpSolit@gmail.com> r=mkanat a=justdave
git-svn-id: svn://10.0.0.236/trunk@217185 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 08:38:49 +00:00
lpsolit%gmail.com
ba1bec1581 Bug 343635: Enabling classifications should add a tree view of classifications and products when entering a new bug - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=justdave
git-svn-id: svn://10.0.0.236/trunk@217184 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 08:32:04 +00:00
reed%reedloden.com
1deb867b0e Bug 362546 - "Hide ancient code modules from list of current modules" [p=reed r=justdave]
git-svn-id: svn://10.0.0.236/trunk@217183 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 07:00:35 +00:00
reed%reedloden.com
94d0be48ed Bug 363681 - "Clean up poorly used subroutine prototypes" [p=reed r=justdave]
git-svn-id: svn://10.0.0.236/trunk@217182 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 06:55:03 +00:00
mkanat%bugzilla.org
4f0a60e4a0 Bug 364250: If a hook fails, no error is available for diagnosis
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=colin, a=myk


git-svn-id: svn://10.0.0.236/trunk@217181 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 06:43:10 +00:00
mkanat%bugzilla.org
c7ae56b4db Bug 339385: Make Bugzilla::Version use Bugzilla::Object
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=myk


git-svn-id: svn://10.0.0.236/trunk@217180 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 06:41:46 +00:00
mkanat%bugzilla.org
4a41fcb4c8 Bug 339380: Make Bugzilla::Component use Bugzilla::Object
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=myk


git-svn-id: svn://10.0.0.236/trunk@217179 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 06:39:29 +00:00
bzbarsky%mit.edu
92ae61a0e2 Use typesafe methods for getting style structs, for now. Bug 363605, r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217175 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 04:16:09 +00:00
reed%reedloden.com
9c32bc40a2 Bug 364065 - "Disabling CC list <select> for logged-out users can make the list unscrollable" [p=reed r=bkor a=myk]
git-svn-id: svn://10.0.0.236/trunk@217174 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 04:05:58 +00:00
reed%reedloden.com
1fde8135c2 Bug 364167 - "no space in Attachments on this Bug:263" [p=reed r=LpSolit a=myk]
git-svn-id: svn://10.0.0.236/trunk@217173 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 04:03:49 +00:00
reed%reedloden.com
a3d85bc82c Bug 335389 - "flags should use '', '?', '+', '-' as option order" [p=reed r=LpSolit a=myk]
git-svn-id: svn://10.0.0.236/trunk@217172 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 04:01:32 +00:00
reed%reedloden.com
22201ca6f9 Bug 364094 - "login-small.html.tmpl's table needs an id for skinning" [p=reed r=LpSolit a=myk]
git-svn-id: svn://10.0.0.236/trunk@217171 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 03:59:21 +00:00
bzbarsky%mit.edu
ff23c0ece1 Make scrollframes use the pref width of the scrollbar, not the min width, for
determining pref width.  Fixes bug 363528, r+sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@217169 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 02:53:05 +00:00
wtchang%redhat.com
ff4f6cd0b2 Bugzilla Bug 360933: removed dead code (for the plevent.h functions and for
Win16 support).
Modified Files:
	README.TXT
Removed Files:
	w16gui/.cvsignore w16gui/Makefile.in w16gui/popfile.c
	w16gui/popfind.c w16gui/popfont.c w16gui/poppad.c
	w16gui/poppad.h w16gui/poppad.ico w16gui/poppad.rc
	w16gui/popprnt0.c w16gui/readme.1st


git-svn-id: svn://10.0.0.236/trunk@217168 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 02:33:05 +00:00
wtchang%redhat.com
3d53310c7b Bugzilla Bug 360933: removed the 'windows' directory from CVS.
git-svn-id: svn://10.0.0.236/trunk@217167 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 02:25:11 +00:00
wtchang%redhat.com
45f6755c7f Bugzilla Bug 360933: removed dead code (for the plevent.h functions, which
have been moved to XPCOM).
Removed files: makefile readme.1st winevent.c


git-svn-id: svn://10.0.0.236/trunk@217166 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 02:21:06 +00:00
stridey%gmail.com
61417304b9 Camino only - Bug 330534: Show correct expiration date ('On Quit') for session cookies. Patch by cl <bugzilla@chrislawson.net>. r=murph sr=smorgan
git-svn-id: svn://10.0.0.236/trunk@217163 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 00:08:35 +00:00
neil%parkwaycc.co.uk
b5e860555f Fix missing icons b=364115 r=Mnyromyr
git-svn-id: svn://10.0.0.236/trunk@217162 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 00:03:39 +00:00
stridey%gmail.com
a0468bf49f Camino only - Missed nib for bug 359662.
git-svn-id: svn://10.0.0.236/trunk@217161 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-19 00:00:37 +00:00
nrthomas%gmail.com
e64140f3d0 Bump version to 1.{5,8}.0.10pre for Fx,Tb, & XR. Bug 360034, r=rhelmer
git-svn-id: svn://10.0.0.236/trunk@217157 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 23:41:27 +00:00
nrthomas%gmail.com
ffdacda0c4 Bump version to 2.0.0.2pre for Firefox & XULRunner. Bug 360585, r=rhelmer
git-svn-id: svn://10.0.0.236/trunk@217155 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 23:31:21 +00:00
Olli.Pettay%helsinki.fi
fe5981e170 Bug 364125, middle-click on scroll bar keeps scrolling until the left mouse button is pressed, p=badsector@slashstone.com, r=me, sr=roc
git-svn-id: svn://10.0.0.236/trunk@217154 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 22:45:07 +00:00
dbaron%dbaron.org
244455b8f1 Fix shadowing variable name. No bug.
git-svn-id: svn://10.0.0.236/trunk@217153 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 22:35:01 +00:00
dbaron%dbaron.org
c31903a4f8 Fix handling of columns in which no cell originates (i.e., unneeded extra colspan). b=363329 Patch from Bernd Mielke, bmlk%gmx.de, with review comments addressed by me. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217152 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 22:34:30 +00:00
cbiesinger%web.de
35043a79c8 bug 362673
Document that nsISocketTransport::securityInfo is only set once the socket is
connected, and document how to trigger connection setup.
r+sr=darin


git-svn-id: svn://10.0.0.236/trunk@217151 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 21:52:24 +00:00
tony%ponderer.org
d5e888b6d3 bug 352788: New Firefox versions result in a new pref entry for rc4 key
patch: only use getkey url up until ?
r=mmchew


git-svn-id: svn://10.0.0.236/trunk@217149 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 20:47:49 +00:00
mozilla.mano%sent.com
6ac04ea189 Bug 362578 - 'autocheck' doesn't work in cocoa widget menus. r=josh, sr=pinkerton.
git-svn-id: svn://10.0.0.236/trunk@217148 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 20:14:47 +00:00
stridey%gmail.com
52bf0d8945 Camino only - Bug 328737: Destination should be consistently remembered when saving bookmarks. Patch by hwaara <hwaara@gmail.com> and cl <bugzilla@chrislawson.net>. r=smorgan sr=pink
git-svn-id: svn://10.0.0.236/trunk@217147 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 20:02:18 +00:00
joshmoz%gmail.com
b3542cd914 don't use quartz/qd font prefs under cairo. b=363501 r=mento r=smorgan
git-svn-id: svn://10.0.0.236/trunk@217146 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 19:50:14 +00:00
nrthomas%gmail.com
51df5e36ad Bump version to 1.9a2pre/3.0a2pre in XULRunner/Firefox nighty files config. Bug 362418, r=rhelmer
git-svn-id: svn://10.0.0.236/trunk@217145 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 19:40:54 +00:00
stridey%gmail.com
a525ee455c Camino only - Bug 240760:Make Find menu item focus the quicksearch field when in the bookmark manager. r=smorgan sr=pink
git-svn-id: svn://10.0.0.236/trunk@217144 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 19:35:01 +00:00
rhelmer%mozilla.com
32e67f7ce5 bump version to 3.0a2pre/1.9a2pre b=362418 r=preed
git-svn-id: svn://10.0.0.236/trunk@217143 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 19:28:36 +00:00
Olli.Pettay%helsinki.fi
ef488fc7b6 Bug 364092, Related node on DOMAttrModifed listener isn't the same as attr node removed by RemoveAttributeNode, r+sr=sicking
git-svn-id: svn://10.0.0.236/trunk@217142 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 19:15:57 +00:00
lpsolit%gmail.com
cc90217d30 Bug 364013: "Add individual bugs to..." should be reworded - Patch by Frédéric Buclin <LpSolit@gmail.com> r=mkanat a=justdave
git-svn-id: svn://10.0.0.236/trunk@217141 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 19:08:35 +00:00
stridey%gmail.com
ff3d4a4248 Camino only - Bug 361049:Keep zoom-to-fit from failing miserably. Patch by Torben <torben@Spamfence.net>. r=smorgan sr=pink
git-svn-id: svn://10.0.0.236/trunk@217140 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 19:08:12 +00:00
stridey%gmail.com
a3fb812bd4 Camino only - Bug 359662: Fix validation of Bookmark menu helper items. r=smorgan sr=pink
git-svn-id: svn://10.0.0.236/trunk@217139 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 18:52:47 +00:00
stridey%gmail.com
6fdd0f79fc Camino only - Bug 359662: Fix validation of Bookmark menu helper items. r=smorgan sr=pink
git-svn-id: svn://10.0.0.236/trunk@217138 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 18:44:53 +00:00
joshmoz%gmail.com
0ac4b9b246 JEP 0.9.6. b=364158 r=josh sr=pinkerton
git-svn-id: svn://10.0.0.236/trunk@217137 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 18:38:56 +00:00
stuart.morgan%alumni.case.edu
2bb0b7649f Camino only - Bug 363600: Periodically auto-save window state for crash recovery. r=cl sr=pink
git-svn-id: svn://10.0.0.236/trunk@217136 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 18:38:48 +00:00
stridey%gmail.com
be988612ec Camino only - Bug 346228:Use files' actual icons for favicons of local files. r=murph sr=pink
git-svn-id: svn://10.0.0.236/trunk@217135 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 18:28:57 +00:00
Olli.Pettay%helsinki.fi
191ed00378 Bug 363879, deCOMtaminate nsGrid dir, part 2, p=Andreas Lange, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@217134 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 18:25:48 +00:00
stridey%gmail.com
4e29e718b8 Camino only - Bug 363435:Make bookmark keyword case-insensitive. r=murph sr=pink
git-svn-id: svn://10.0.0.236/trunk@217133 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 18:18:39 +00:00
stridey%gmail.com
90d70d08fd Camino only - Bug 362609: Change font of 'Like Times'/'Like Helvetica' hint text to always reflect the text. r=smorgan sr=pink
git-svn-id: svn://10.0.0.236/trunk@217131 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 18:15:13 +00:00
Olli.Pettay%helsinki.fi
42687d7b53 Bug 363450, implement nsIScriptEventHandlerOwner as a tearoff, r+sr=sicking
git-svn-id: svn://10.0.0.236/trunk@217130 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 17:52:04 +00:00
richm%stanfordalumni.org
474babe745 svrcore was still using the -e test which is broken with test on traditional unix bourne shell systems
git-svn-id: svn://10.0.0.236/trunk@217129 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 17:01:07 +00:00
wsharp%adobe.com
74ea3bce3d bug 360602. fix mac build from recent checkin
git-svn-id: svn://10.0.0.236/trunk@217128 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 16:43:46 +00:00
wsharp%adobe.com
be49a384fb bug 360602. 64-bit porting work. review: stejohns.adobe.com
git-svn-id: svn://10.0.0.236/trunk@217127 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 16:04:48 +00:00
gerv%gerv.net
00c98834ad Bug 358399 - make "dot" munging in email addresses global, instead of just doing the first one.
git-svn-id: svn://10.0.0.236/trunk@217125 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 15:33:38 +00:00
hwaara%gmail.com
303f0e17cd Initial support for making comboboxes (for example the location bar in firefox) accessible. r=surkov, b=362079
Don't use performance-intensive NSAccessibilityUnignoredChildren() API since we no longer have to. r=surkov, b=363713


git-svn-id: svn://10.0.0.236/trunk@217123 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 13:57:37 +00:00
mats.palmgren%bredband.net
277be83fff Rename ComputeHorizontalValue to ComputeWidthDependentValue (ditto for height) and some minor cleanup. b=364131 r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217122 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 13:20:18 +00:00
neil%parkwaycc.co.uk
f5951dc23f Bug 364116 Virtual Folder list contains an extraneous splitter r=mscott
git-svn-id: svn://10.0.0.236/trunk@217121 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 10:52:48 +00:00
neil%parkwaycc.co.uk
29ed8be6fd Bug 363725 Make about:logo work in (some) toolkit apps r+sr=darin
git-svn-id: svn://10.0.0.236/trunk@217120 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 10:51:10 +00:00
daniel.boelzle%sun.com
5f98fd61e5 Bug 361057: minding asynchronous provider responses
git-svn-id: svn://10.0.0.236/trunk@217119 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 10:51:09 +00:00
stridey%gmail.com
8a17b47167 Camino only - Bug 364075:Ensure that separators in bookmarks bar always appear as separators. r=cl sr=smorgan
git-svn-id: svn://10.0.0.236/trunk@217118 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 07:53:21 +00:00
ginn.chen%sun.com
9b0d86d308 Bug 359790 set text doesn't work correctly for XUL entry
patch by nian.liu at sun.com r=ginn.chen


git-svn-id: svn://10.0.0.236/trunk@217117 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 07:02:03 +00:00
jwalden%mit.edu
efabeb8450 Bug 364104 - Fix two bugs: one in array.indexOf with first argument === array[array.length-1] and second argument >= array.length, and another in array.lastIndexOf with first argument === array[0] and with second argument < -array.length. r=brendan
git-svn-id: svn://10.0.0.236/trunk@217116 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 06:43:02 +00:00
bzbarsky%mit.edu
68ad73677a Fix bug 364192 -- assert was backwards.
git-svn-id: svn://10.0.0.236/trunk@217115 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 05:08:01 +00:00
reed%reedloden.com
d2031ae9a0 Bug 338845 - "[BUGZILLA] Mozbot incorrectly parses the "changed:" line" (fix for previous fix) [p=reed r=mkanat]
git-svn-id: svn://10.0.0.236/trunk@217114 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 05:02:09 +00:00
bzbarsky%mit.edu
3c5c5f02b3 Fix build bustage. Still bug 363406
git-svn-id: svn://10.0.0.236/trunk@217113 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 04:06:21 +00:00
bzbarsky%mit.edu
a9fd8779bf Fix bug 363406, patch by Nickolay Ponomarev <asqueella@gmail.com>,
r+sr=bzbarsky


git-svn-id: svn://10.0.0.236/trunk@217112 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 03:59:46 +00:00
bzbarsky%mit.edu
e92b9baa88 Forgot file for bug 363637. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217111 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 03:34:05 +00:00
bzbarsky%mit.edu
c3dbe09fe8 Adding regression test.
git-svn-id: svn://10.0.0.236/trunk@217110 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 03:29:35 +00:00
bzbarsky%mit.edu
6cab0c0057 Remove some unused table code. Bug 359139, r=bernd, sr=roc
git-svn-id: svn://10.0.0.236/trunk@217109 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 03:04:25 +00:00
bzbarsky%mit.edu
e9cbfbe714 Fix computation of a hypothetical box for abs pos frames which are descendants
of a rel-pos block.  Bug 363637, r+sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@217108 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 03:00:23 +00:00
roc+%cs.cmu.edu
f50a7d874f Bug 363767. Add AppendElements() API (that appends empty elements) to nsTArray. r=sicking,sr=darin
git-svn-id: svn://10.0.0.236/trunk@217103 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-18 01:17:23 +00:00
cbiesinger%web.de
bb74327ee2 bug 275116 use the safe version of ObjectAt as required by the documentation
patch by Andreas Lange <mozilla@lange.cx> r=darin sr=biesi


git-svn-id: svn://10.0.0.236/trunk@217102 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 21:59:26 +00:00
sharparrow1%yahoo.com
f3db88e798 Bug 363770: Fix print crash caused by premature release of print engine. r+sr=roc.
git-svn-id: svn://10.0.0.236/trunk@217101 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 21:39:03 +00:00
uriber%gmail.com
9de31d2467 Fix calculation of margin forced to "auto" when both margins and width are specified but together smaller than available width. bug=364079 r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217099 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 17:02:22 +00:00
uriber%gmail.com
c44fa5a890 Always set wordLen to -1 before calling tx.GetNextWord() from AddInline[Min|Pref]Width, so that GetNextWord() will look at the entire content. bug=363732, r=smontagu sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217098 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 16:57:15 +00:00
szegedia%freemail.hu
260f663015 finalizers should be protected
git-svn-id: svn://10.0.0.236/trunk@217097 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 15:39:48 +00:00
szegedia%freemail.hu
234bf62c7f Don't invoke System.gc
git-svn-id: svn://10.0.0.236/trunk@217096 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 15:39:36 +00:00
szegedia%freemail.hu
369c9de239 Smaller sanity fixes - removal of unnecessary casts and local variables
git-svn-id: svn://10.0.0.236/trunk@217095 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 15:37:19 +00:00
szegedia%freemail.hu
189e48f949 Fix for #351664: more usable error message in JavaScriptException
git-svn-id: svn://10.0.0.236/trunk@217094 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 15:14:31 +00:00
szegedia%freemail.hu
6ef01a7395 Fix for #359411, courtesy of Hannes Wallnoefer
git-svn-id: svn://10.0.0.236/trunk@217093 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 14:42:39 +00:00
gijskruitbosch%gmail.com
6db791dd9e General whitespace and code style cleanup in ircbot and mingus code. No bug.
r=Silver on IRC (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@217092 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 14:40:31 +00:00
szegedia%freemail.hu
2337902323 Fix for #359411: make it serializable
git-svn-id: svn://10.0.0.236/trunk@217091 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 14:33:47 +00:00
szegedia%freemail.hu
20d2cd4e7f Reduce race condition opportunity
git-svn-id: svn://10.0.0.236/trunk@217090 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 14:29:34 +00:00
mats.palmgren%bredband.net
34a45a87f6 Make the CSS 'ch' length unit work in most cases. b=363573 r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217089 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 14:06:42 +00:00
szegedia%freemail.hu
ae532eaa4c Fix for #361574
git-svn-id: svn://10.0.0.236/trunk@217088 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 13:16:46 +00:00
gijskruitbosch%gmail.com
d70e78ae3d Bug 232817 - make IRC library work under XPCShell and Rhino
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@217087 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 11:07:40 +00:00
gijskruitbosch%gmail.com
bc90c345ce Bug 235169 - ChatZilla's motifs should style the userlist and other UI elements
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@217086 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 10:24:19 +00:00
timeless%mozdev.org
ed823955bc Bug 363046 libgfxps.a to lubxul.so link error - Bustage caused by printing on linux bug 323928
patch by laurent@xulfr.org r=bsmedberg sr=pavlov


git-svn-id: svn://10.0.0.236/trunk@217084 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 09:19:25 +00:00
igor.bukanov%gmail.com
e88ea52827 Bug 362909: Faster debugging of function calls. r=brendan
git-svn-id: svn://10.0.0.236/trunk@217081 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 01:58:54 +00:00
mnyromyr%tprac.de
dc998a3990 Bug 199318: Keyboard shortcut for opening new tabs works differently than documented; p=Bruno 'Aqualon' Escherl <aqualon@aquachan.de>, r=stefanh
git-svn-id: svn://10.0.0.236/trunk@217080 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 01:12:31 +00:00
cst%yecc.com
1193a6e776 Bug 343893 Add events for watching the addition and removal of tabs (API compatibility w/Firefox)
r=neil


git-svn-id: svn://10.0.0.236/trunk@217079 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-17 00:45:08 +00:00
reed%reedloden.com
1289b6300e Bug 338845 - "[BUGZILLA] Mozbot incorrectly parse the 'from' field" [p=reed r=timeless]
git-svn-id: svn://10.0.0.236/trunk@217078 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 23:51:27 +00:00
bugzilla%arlen.demon.co.uk
90ab419152 Bug 360777 Change nsIAbCard::EditCardToDatabase to nsIAbDirectory::ModifyCard - fix for SM (also includes port of TB Bug 363993)
p=me r=standard8 sr=mscott


git-svn-id: svn://10.0.0.236/trunk@217077 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 23:20:30 +00:00
martijn.martijn%gmail.com
38d94bf132 Bug 364039 - Plugin placeholder is not styled anymore, r=mano
git-svn-id: svn://10.0.0.236/trunk@217076 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 22:53:50 +00:00
gijskruitbosch%gmail.com
00962ab102 Bug 361914 - hostmasks should not be formatted as mailto urls
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@217075 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 22:24:04 +00:00
cst%yecc.com
c36d7ddc21 Bug 363792 tabbrowser destructor loops over array that's length of tabpanels rather than length of tabs
r=neil


git-svn-id: svn://10.0.0.236/trunk@217073 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 21:14:38 +00:00
gijskruitbosch%gmail.com
9d7a5d3eb7 Bug 349137 - no way to disable bugzilla munging on a per-channel basis
p=bonzini@gnu.org (Paolo Bonzini)
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@217072 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 20:32:52 +00:00
neil%parkwaycc.co.uk
9a850ce752 Fix possible referrer spoofing b=363179 r=IanN sr=jag
git-svn-id: svn://10.0.0.236/trunk@217071 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 20:10:37 +00:00
brendan%mozilla.org
4f1c139293 Fix for 363988 from shutdown@flashmail.com, r=me.
git-svn-id: svn://10.0.0.236/trunk@217070 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 20:01:05 +00:00
neil%parkwaycc.co.uk
ed4258cef2 Bug 360908 Account Wizard "Finish" should be "Done" on Mac p=sugar.waffle@gmail.com (Hiro) r=me sr=mscott
git-svn-id: svn://10.0.0.236/trunk@217069 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 19:59:31 +00:00
sayrer%gmail.com
3ef429d26e Bug 364070. Places bookmark import running when places bookmarks are not enabled. r=mano.
git-svn-id: svn://10.0.0.236/trunk@217068 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 19:12:52 +00:00
lpsolit%gmail.com
54e7222b48 Bug 364055: Message confusing when your version of DBD::foo is too old - Patch by Frédéric Buclin <LpSolit@gmail.com> r=mkanat a=justdave
git-svn-id: svn://10.0.0.236/trunk@217067 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 16:30:22 +00:00
szegedia%freemail.hu
64ac797ac7 Fix for #342807: Error objects can have automatic "fileName" and "lineNumber" properties
git-svn-id: svn://10.0.0.236/trunk@217066 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 16:15:59 +00:00
szegedia%freemail.hu
b609e76c15 Fix for #342807: Error objects can have automatic "fileName" and "lineNumber" properties
git-svn-id: svn://10.0.0.236/trunk@217065 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 16:08:07 +00:00
szegedia%freemail.hu
e5bf34b183 Fix for #361616
git-svn-id: svn://10.0.0.236/trunk@217064 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 15:27:39 +00:00
gavin%gavinsharp.com
072db601f3 Mac bustage fix for bug 361351
git-svn-id: svn://10.0.0.236/trunk@217063 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 15:11:56 +00:00
gavin%gavinsharp.com
c8cffe7fb1 Bug 363734: update French DOMi locale, patch by Cédric Corazza <cedric.corazza@wanadoo.fr>, r=bugzilla.fr@gmail.com
git-svn-id: svn://10.0.0.236/trunk@217062 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 14:59:17 +00:00
gavin%gavinsharp.com
eef25bc48a Bug 363138: Extra separator on mail context menu, patch by Neuos (formerly Paradigm K.) <neuos@technodrome.com>, r=IanN, sr=Neil
git-svn-id: svn://10.0.0.236/trunk@217061 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 14:57:33 +00:00
gavin%gavinsharp.com
bccaa15503 Bug 361351: nsIFile.exists() should throw NOT_INITIALIZED if nsIFile is not initialized, patch by Ryan Jones <sciguyryan+bugzilla@gmail.com>, r+sr=darin
git-svn-id: svn://10.0.0.236/trunk@217060 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 14:55:00 +00:00
gavin%gavinsharp.com
51a92482a0 Bug 358512: notification sliding does not complete last step, patch by Mook <mook.moz+sites.org.mozilla.bugzilla@gmail.com>, r=enndeakin
git-svn-id: svn://10.0.0.236/trunk@217058 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 14:48:12 +00:00
gavin%gavinsharp.com
574c3e161b Bug 348520: remove threadpane.dtd from thunderbird, patch by Magnus Melin <mkmelin+mozilla@iki.fi>, r=bienvenu
git-svn-id: svn://10.0.0.236/trunk@217057 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 14:46:18 +00:00
gavin%gavinsharp.com
9400380c7a Bug 345121: Option "File replies in folder of original message" disabled, patch by Magnus Melin <mkmelin+mozilla@iki.fi>, r=mscott
git-svn-id: svn://10.0.0.236/trunk@217055 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 14:42:57 +00:00
gavin%gavinsharp.com
af54921f6e Bug 320468: SetDelayCaretOverExistingSelection is unused, patch by Adam Guthrie <ispiked@gmail.com>, r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217054 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 14:40:44 +00:00
gavin%gavinsharp.com
053886d76a Bug 307058: Folder Properties dialog's Retention Policy tab has incorrectly aligned captions, patch by Magnus Melin <mkmelin+mozilla@iki.fi>, r=mscott
git-svn-id: svn://10.0.0.236/trunk@217052 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 14:38:07 +00:00
gavin%gavinsharp.com
bc4d6b90ec Bug 269254: fix bug in utf16ToUcs4()'s returned length, patch by Ryan Jones <sciguyryan+bugzilla@gmail.com>, r+sr=biesi
git-svn-id: svn://10.0.0.236/trunk@217051 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 14:36:12 +00:00
gavin%gavinsharp.com
6fd6852c5a Bug 262866: Invalid path offered when file already exists (Save all attachments), patch by Magnus Melin <mkmelin+mozilla@iki.fi>/Katsuhiro MIHARA <katsuhiromihara@goo.jp>, r+sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@217050 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 14:34:12 +00:00
gavin%gavinsharp.com
7a9f44f99f Bug 212852: Browser assumes ftp protocol for URL's beginning with 'ftp' and written without protocol in address field, patch by Magnus Melin <mkmelin+mozilla@iki.fi>, r=biesi, sr=darin
git-svn-id: svn://10.0.0.236/trunk@217049 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 14:32:19 +00:00
gavin%gavinsharp.com
1b320b5fc0 Bug 364041: failure to detect SeaMonkey (>= 1.0) as valid default browsers, which breaks first-startup profile migration, r=mano
git-svn-id: svn://10.0.0.236/trunk@217048 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 14:30:05 +00:00
gavin%gavinsharp.com
f9ef193f2b Bug 364042: first startup profile migration is broken, r=mano
git-svn-id: svn://10.0.0.236/trunk@217047 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 14:27:58 +00:00
bugzilla%standard8.demon.co.uk
30cb571fb8 Bug 361683 Help buttons missing for mailnews items in suiterunner builds r=iann_bugzilla
git-svn-id: svn://10.0.0.236/trunk@217046 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 08:39:20 +00:00
stridey%gmail.com
81378dcdb4 Camino only - Missed strings from Bug 356708: Make the corrupted bookmark dialog less jargony.
git-svn-id: svn://10.0.0.236/trunk@217045 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 07:41:47 +00:00
rhelmer%mozilla.com
415dc71d70 updates for 1508, reverse order so more critical operations (partials) run first
git-svn-id: svn://10.0.0.236/trunk@217043 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 06:57:08 +00:00
rhelmer%mozilla.com
b8b5b3bed7 initialize config variables between runs b=363871 r=tfullhart
git-svn-id: svn://10.0.0.236/trunk@217042 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 06:50:46 +00:00
stridey%gmail.com
6c316c2f62 Bug 362042: Remove pre-Cocoa-Cairo remnants from basebrowser-mac-macho. Patch by ardissone <alqahira@ardisson.org>. r=smorgan sr=mento
git-svn-id: svn://10.0.0.236/trunk@217041 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 04:58:25 +00:00
dbaron%dbaron.org
806b1c5919 Use unsigned value with 1-bit field width, per sicking's advice. No bug.
git-svn-id: svn://10.0.0.236/trunk@217040 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 02:11:38 +00:00
mkanat%bugzilla.org
4bdf98635a Bug 345405: showdependencygraph.cgi: Dependency Graphs are broken on mod_perl
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=myk


git-svn-id: svn://10.0.0.236/trunk@217039 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 01:47:12 +00:00
igor.bukanov%gmail.com
78871b5335 Bug 363057: Propagating cx to MakeStringImmutable so it can properly report out-of-memory. r=brendan
git-svn-id: svn://10.0.0.236/trunk@217038 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 01:27:48 +00:00
scott%scott-macgregor.org
1f800eac06 Bug #362241 --> thread pane selection is lost when thunderbird compacts folders in the background. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@217037 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 01:13:55 +00:00
scott%scott-macgregor.org
be46cbbe58 Bug #363993 --> ModifyCard is not a property of nsIAbMDBDirectory, it is a property of nsIAbDirectory. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@217036 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 01:11:58 +00:00
scott%scott-macgregor.org
b916ccaa6b Bug #363979 --> Package storage.xpt and dom_storage.xpt files. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@217035 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 01:09:29 +00:00
scott%scott-macgregor.org
8e18cf5784 Bug #362754 --> improve the english translation of the confirm phishing url entity string. Not changing the meaning at all. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@217034 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-16 01:04:08 +00:00
dbaron%dbaron.org
d0ca35d600 Fix crash regression by doing the best we can for computed padding/margin when there's no frame. b=363950 r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@217033 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 23:39:43 +00:00
bzbarsky%mit.edu
7bb79c2d4b Fix warning. Bug 347705, no review.
git-svn-id: svn://10.0.0.236/trunk@217032 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 23:15:58 +00:00
ghendricks%novell.com
9cb03f81f3 Versions are converted to numbers instead of strings
git-svn-id: svn://10.0.0.236/trunk@217031 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 21:42:55 +00:00
bzbarsky%mit.edu
ea96e4cb5d Fix error in previous patch for bug 348691. Reviews pending.
git-svn-id: svn://10.0.0.236/trunk@217030 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 21:39:30 +00:00
bienvenu%nventure.com
1f917eac36 fix removing of a single default tag (the old labels), sr=mscott 348752
git-svn-id: svn://10.0.0.236/trunk@217029 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 20:45:14 +00:00
ghendricks%novell.com
2bf5a4b941 Bugzilla Bug 358424
hyperlinks do not work


git-svn-id: svn://10.0.0.236/trunk@217027 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 20:08:48 +00:00
ghendricks%novell.com
afe69a2f31 update multiple was setting the status when it shouldn't
links to csv were broken on opensource
removed unused file


git-svn-id: svn://10.0.0.236/trunk@217026 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 19:49:55 +00:00
mozilla%weilbacher.org
c6bdce8b5b Bug 351246 (Part 4). Recreated configure was still missing
git-svn-id: svn://10.0.0.236/trunk@217025 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 19:00:57 +00:00
cltbld
8bf319306a Automated update from host egg.build.mozilla.org
git-svn-id: svn://10.0.0.236/trunk@217024 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 18:41:02 +00:00
sspitzer%mozilla.org
7393a57057 fix for bug #355738
re-enable places by default.  note, this will not enable all of places, just
history on top of places.

also note, we are using places.sqlite now (and not bookmarks_history.sqlite)
because the schema has changed.

r=mconnor


git-svn-id: svn://10.0.0.236/trunk@217023 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 18:40:08 +00:00
sayrer%gmail.com
bfebe8d327 Bug 309085. False positives from FeedHandler.harvestFeeds hide distinct feeds. r=gavin, ui-r=beltzner
git-svn-id: svn://10.0.0.236/trunk@217021 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 17:57:43 +00:00
joshmoz%gmail.com
c88dde303d remove unused code from cocoa cursor code. b=363629 r=cbarrett r=smorgan
git-svn-id: svn://10.0.0.236/trunk@217020 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 17:32:16 +00:00
ghendricks%novell.com
556386aa24 add support for creating object from env and build
git-svn-id: svn://10.0.0.236/trunk@217019 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 16:57:30 +00:00
bienvenu%nventure.com
9fb28f6487 don't send rtf or vcs files as text/plain, sr=mscott 363764
git-svn-id: svn://10.0.0.236/trunk@217017 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 16:20:32 +00:00
bugzilla%standard8.demon.co.uk
7d981cbbbd SeaMonkey doesn't need to enter xpfe/communicator any more (part of Bug 363266 - Simplify some ifdefs/Restructure some DIRS under xpfe/) r=KaiRo,benjamin
git-svn-id: svn://10.0.0.236/trunk@217016 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 15:22:04 +00:00
lpsolit%gmail.com
2d6deb20ac Bug 363894: Use a better date format in notifications about user account creation and email address change (and include the timezone too) - Patch by Frédéric Buclin <LpSolit@gmail.com> r=timeless a=myk
git-svn-id: svn://10.0.0.236/trunk@217015 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 12:30:02 +00:00
Olli.Pettay%helsinki.fi
cb11b4c039 Bug 363879, deCOMtaminate nsGrid dir, p=Andreas Lange, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@217014 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 12:18:37 +00:00
igor.bukanov%gmail.com
617bf0b194 Bug 313967: function body parser use the shared recycle list. r=brendan
git-svn-id: svn://10.0.0.236/trunk@217013 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 10:50:20 +00:00
thomas.benisch%sun.com
844598e406 bug #350323 add selected calendar to composite calendar r=lilmatt
git-svn-id: svn://10.0.0.236/trunk@217012 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 10:28:57 +00:00
thomas.benisch%sun.com
8cdd4af922 bug #362930 Selected calendar will not be restored after restart of Lightning r=lilmatt
git-svn-id: svn://10.0.0.236/trunk@217011 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 10:17:07 +00:00
uriber%gmail.com
50a51cb08d Bug 363378: Caret gets stuck (or moves incorrectly) in empty table cells when using left/right arrow keys. r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@217008 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 09:32:24 +00:00
brendan%mozilla.org
e3be1c2962 Fix 363917, r=igor.
git-svn-id: svn://10.0.0.236/trunk@217007 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 08:00:13 +00:00
bzbarsky%mit.edu
3723073263 Adding testcase.
git-svn-id: svn://10.0.0.236/trunk@217006 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 06:37:07 +00:00
ginn.chen%sun.com
deac34db38 Bug 359790 set text doesn't work correctly for XUL entry
patch by nian.liu at sun.com r=aaronleventhal


git-svn-id: svn://10.0.0.236/trunk@217005 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 06:28:11 +00:00
ajschult%verizon.net
82b497bce0 Bug 363804: new / delete / free mismatch in mimeobj. r+sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@217004 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 03:53:31 +00:00
ajschult%verizon.net
68fe64450f Bug 363678: have fast-update use non-recursive bonsai queries for local directories. r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@217003 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 03:43:18 +00:00
martijn.martijn%gmail.com
d1b4f97646 Partial back-out of patch for bug 330705 to fix the regressions it caused
git-svn-id: svn://10.0.0.236/trunk@217002 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 02:50:57 +00:00
jwalden%mit.edu
6262239dc7 Bug 342877 - Substantially revamp/rewrite the testing-only HTTP server used in necko unit tests, making it suitable for use in Mozilla tests which require files be stored on an HTTP server (e.g. because the test depends on certain HTTP headers being set or not set, the functionality uses HTTP, etc.) but which don't require that the server have a specified hostname. Docs, implementation, and tests (!) are in netwerk/test/httpserver/; if you have questions about using the server in unit tests or have some use case which the server could support better or doesn't support at all, CC me on the bug and I'll see how I can help. Huge (huge) thanks to biesi for the review of the huge patch. r=davel on test-harness changes, r=biesi on the server and test changes
git-svn-id: svn://10.0.0.236/trunk@217001 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 02:13:54 +00:00
roc+%cs.cmu.edu
23b002054c Bug 359371. Calculate correct available content-height when a float has border or padding. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217000 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 01:52:53 +00:00
dbaron%dbaron.org
0190abe263 Use hidden visibility for JPEG lib when we build it. b=359461 r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@216999 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 00:27:53 +00:00
dbaron%dbaron.org
3ca8e8e2ff Add lber.h, used by LDAP code. b=363679 r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@216998 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 00:24:25 +00:00
Olli.Pettay%helsinki.fi
aec65575d1 Bug 336574, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@216997 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-15 00:23:39 +00:00
mattwillis%gmail.com
8d457acb68 bug 363275 - Makes week printout show correct dates for timezones with positive offset from UTC. r1=ssitter, r2=dmose
git-svn-id: svn://10.0.0.236/trunk@216996 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 23:26:39 +00:00
bzbarsky%mit.edu
58c4c002b2 Adding regression test.
git-svn-id: svn://10.0.0.236/trunk@216995 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 22:35:52 +00:00
joshmoz%gmail.com
d784b86bc6 Apple Event handling for use with Cocoa widgets. Patch by Stan Shebs. b=355352 r=josh moa=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@216994 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 22:00:46 +00:00
mozilla%weilbacher.org
9c4f11abbe [OS/2] Bug 265798: add min-height to make new toolbar visible, p=philringnalda, r(OS/2 only)=me
git-svn-id: svn://10.0.0.236/trunk@216992 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 21:54:49 +00:00
Olli.Pettay%helsinki.fi
bbd39f5447 Bug 363817, nsVoidArray mAttachedStack to nsTArray<nsRefPtr<nsXBLBinding> >, r+sr=jst
git-svn-id: svn://10.0.0.236/trunk@216991 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 21:32:10 +00:00
benjamin%smedbergs.us
0327ccd65c Bug 363079 - MozillaBuild for Windows, initial cut (there are still known bugs to fix, and need to implement an installer), r=preed
git-svn-id: svn://10.0.0.236/trunk@216990 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 20:44:58 +00:00
wtchang%redhat.com
2e366638ed [OS/2] Bug 351246: Load Mozilla into Highmem on OS/2. Part 2, changes to
NSPR. By Peter Weilbacher <mozilla@weilbacher.org>. r=mkaply, sr=wtc


git-svn-id: svn://10.0.0.236/trunk@216989 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 19:29:25 +00:00
benjamin%smedbergs.us
0a46d346a5 Bug 361413 - Build succeeds even when arch-specific xptcall is not implemented, r=timeless
git-svn-id: svn://10.0.0.236/trunk@216988 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 19:13:43 +00:00
sayrer%gmail.com
6dacac1bce Bug 358946. Let the places unit tests pass. r=sspitzer,mano
git-svn-id: svn://10.0.0.236/trunk@216987 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 17:28:52 +00:00
ghendricks%novell.com
2432c46853 Cleared up some inconsistencies with caserun editing
git-svn-id: svn://10.0.0.236/trunk@216986 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 17:25:17 +00:00
richm%stanfordalumni.org
96a84d4d49 Resolves: bug 299995
Description: Use PK11_TokenKeyGenWithFlags instead of PK11_KeyGen
Fix Description: Use the new function and pass in CKF_ENCRYPT|CKF_DECRYPT
as the keygen flags.


git-svn-id: svn://10.0.0.236/trunk@216984 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 17:09:17 +00:00
richm%stanfordalumni.org
ff18d41b73 Resolves: bug 363168
Description: Add autotool support to svrcore; have svrcore build shared libs
Fix Description: This is a pretty basic autotool-ization using libtool
to build the shared library.  The vast majority of the work was done
by Toshio-san.  However, there are a couple of extras worth noting:
1) Windows builds are different now.  In order to build on Windows using
the MSVC compiler, you still have to use coreconf.  I just could not get
configure/libtool to work correctly with the MSVC compiler.  The old
makefile has been moved to src/Makefile.win, so you just have to
 cd src ; make -f Makefile.win
I also updated the README and INSTALL.win to add this information.
2) I added some m4 files to find and figure out which nspr and nss to use
based on the environment and pkg-config.


git-svn-id: svn://10.0.0.236/trunk@216983 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 17:07:32 +00:00
martijn.martijn%gmail.com
8dc347cd42 Bug 330705 - Using blur() on some unfocused element also blurs the focused element, r=jst, sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@216982 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 13:59:50 +00:00
Olli.Pettay%helsinki.fi
46b0b0fc24 Bug 363810, strong reference to owner document while deleting properties, r+sr=sicking
git-svn-id: svn://10.0.0.236/trunk@216981 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 11:31:28 +00:00
michael.buettner%sun.com
763bbd0e47 fixed sign-problem with alarmOffset
git-svn-id: svn://10.0.0.236/trunk@216979 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 08:24:56 +00:00
dbaron%dbaron.org
56a1a43b54 Forgot to rev IID. b=332922
git-svn-id: svn://10.0.0.236/trunk@216978 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 08:00:53 +00:00
masayuki%d-toybox.com
01992f3d68 Bug 363410 Implement font-size-adjust on Linux r=pavlov
git-svn-id: svn://10.0.0.236/trunk@216977 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 04:14:06 +00:00
masayuki%d-toybox.com
731c5162cb Bug 362428 [Cairo] 'normal' keyword for line-height is too tall with 'Lucida Grande'. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@216976 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 04:12:40 +00:00
reed%reedloden.com
89a837d71f Bug 363739 - "graph.html has several validation errors" [p=reed r=thunder]
git-svn-id: svn://10.0.0.236/trunk@216975 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 03:57:26 +00:00
cst%yecc.com
04fcda6a25 Bug 358553 Disabled and checked menuitems should always have disabled checkmarks
Images by stefanh, r+sr=neil


git-svn-id: svn://10.0.0.236/trunk@216973 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 03:31:58 +00:00
cst%yecc.com
b8a69ce731 Bug 358553 Disabled and checked menuitems should always have disabled checkmarks
Patch by stefanh <stefanh@bluebottle.com>
r+sr=neil


git-svn-id: svn://10.0.0.236/trunk@216972 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 03:27:16 +00:00
cst%yecc.com
4dc1cb5575 Bug 301477 image zoom cursor does not change after resizing browser window
r=bz sr=jst


git-svn-id: svn://10.0.0.236/trunk@216971 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-14 02:06:49 +00:00
dbaron%dbaron.org
534cefc5fa Remove nsLineLayout::mWordWidth, which should have been removed in earlier reflow branch merging. b=363232 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@216966 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 23:11:13 +00:00
dbaron%dbaron.org
866a194991 Better API for used padding/border/margin: remove deprecated Calc*For on nsStyleStructs and add GetUsed* to nsIFrame. b=332922 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@216965 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 23:04:57 +00:00
mozilla%weilbacher.org
d9604b2cd3 [OS/2] Bug 351246: Load Mozilla into Highmem on OS/2. Part 4, changes to LDAP build config (LDAP trunk version). r=mkaply, r=mcs
git-svn-id: svn://10.0.0.236/trunk@216963 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 22:12:16 +00:00
mkanat%bugzilla.org
8a1eb23cc4 Post-checkin fix for bug 360710: Fix how docs get the required DBD versions.
git-svn-id: svn://10.0.0.236/trunk@216962 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 22:03:50 +00:00
cltbld
ac15ce4cf1 Automated update from host egg.build.mozilla.org
git-svn-id: svn://10.0.0.236/trunk@216961 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 22:01:03 +00:00
mozilla%weilbacher.org
7b30ebaa02 [OS/2] Bug 351246: Load Mozilla into Highmem on OS/2. Part 3, changes to build config. r=mkaply, sr=wtc
git-svn-id: svn://10.0.0.236/trunk@216960 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 21:57:56 +00:00
mkanat%bugzilla.org
f100a74462 Bug 360710: checksetup.pl needs to blacklist some non-working external modules
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=justdave


git-svn-id: svn://10.0.0.236/trunk@216959 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 21:45:12 +00:00
mattwillis%gmail.com
530e3db408 Removing README.txt for Mozilla Suite from Sunbird builds. Was causing trouble with unify.
git-svn-id: svn://10.0.0.236/trunk@216958 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 21:43:31 +00:00
hwaara%gmail.com
efaa01b40b Make sure disabled buttons never get the default button look. r=josh, sr=pavlov, b=362820
git-svn-id: svn://10.0.0.236/trunk@216957 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 21:37:34 +00:00
mozilla.mano%sent.com
a7e2df9cf3 Bug 360211 - text fields are transparent in cocoa-cairo builds. r=josh, sr=pavlov.
git-svn-id: svn://10.0.0.236/trunk@216955 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 21:13:42 +00:00
neil%parkwaycc.co.uk
df888d713e Bug 363444 Small objects sometimes incorrectly scrolled into view r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@216954 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 20:43:59 +00:00
ccooper%deadsquid.com
2ae105144f b=363658
- fix footer links


git-svn-id: svn://10.0.0.236/trunk@216953 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 20:30:13 +00:00
gijskruitbosch%gmail.com
d8915d70bc Bug 135926 - Support for IRCnet network
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@216952 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 20:29:35 +00:00
gijskruitbosch%gmail.com
6b73e409d7 Bug 227366 - Add irc-hispano to default network list
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@216951 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 20:21:07 +00:00
ccooper%deadsquid.com
7534b912ca b=363658
- fix runaway JS from double product setting


git-svn-id: svn://10.0.0.236/trunk@216950 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 20:04:36 +00:00
mattwillis%gmail.com
382969e162 Add Sunbird to list of 'normal' profile directories on Mac. r=coop via IRC
git-svn-id: svn://10.0.0.236/trunk@216949 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 19:12:21 +00:00
mvl%exedo.nl
e528e80cfe bug 343792: bulletproof libical to not hang after import of .ics file which has INTERVAL=0 in RRULE. r=dbo
git-svn-id: svn://10.0.0.236/trunk@216948 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 19:06:08 +00:00
reed%reedloden.com
90dff61149 Bug 353459 - "Unable to load config.pl if the GTop perl module is installed." [p=reed r=justdave]
git-svn-id: svn://10.0.0.236/trunk@216947 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 18:49:19 +00:00
mattwillis%gmail.com
347987a472 Fix lightning's CVSROOT
git-svn-id: svn://10.0.0.236/trunk@216946 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 18:34:08 +00:00
mattwillis%gmail.com
839d45940c bug 340920 - Make Sunbird builds Universal
git-svn-id: svn://10.0.0.236/trunk@216945 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 18:17:08 +00:00
mkanat%bugzilla.org
1839c95781 Bug 357847: recommend Theory58S instead of landfill for ppm users
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=glob, a=justdave


git-svn-id: svn://10.0.0.236/trunk@216944 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 17:36:03 +00:00
bienvenu%nventure.com
0f25e83178 fix 362735 problem in rich text conversion, patch by guninski@guninski.com, r=bienvenu, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216943 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 16:25:53 +00:00
uriber%gmail.com
774e156325 Use the containing block's direction (LTR/RTL) instead of this frame's direction when deciding on default alignment of the frame. bug=328181 r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@216942 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 16:16:25 +00:00
smontagu%smontagu.org
f05531a6b7 Bug 345238: Make XPFE alerts service use alert origin reported by look and feel. Ported from the toolkit patch by Jens Bannmann <jens.b@web.de>, r=neil, sr=biesi
git-svn-id: svn://10.0.0.236/trunk@216941 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 16:06:20 +00:00
bzbarsky%mit.edu
e4cf24b861 Push the JSContext we're going to run the javascript: URL in on the stack
before doing anything else.  Bug 363594, r+sr=jst


git-svn-id: svn://10.0.0.236/trunk@216940 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 15:52:55 +00:00
bzbarsky%mit.edu
f7370ae6b5 Use string buffers to store strings in nsCSSValue so we don't have to alloc in
copy constructors and such.  Bug 350141, r+sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@216939 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 15:49:36 +00:00
cltbld
e0b765ccef Automated update from host egg.build.mozilla.org
git-svn-id: svn://10.0.0.236/trunk@216938 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 15:21:03 +00:00
gijskruitbosch%gmail.com
0266dfb861 Bug 361409 - Configure should list options for fixing java-xpcom deficits more clearly
first-r=benjamin@smedbergs.us (Benjamin Smedberg)


git-svn-id: svn://10.0.0.236/trunk@216937 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 15:14:29 +00:00
aaronleventhal%moonset.net
82cd6f52a8 Bug 363617. Missing support for some ARIA properties. r=ginn.chen, sr=neil
git-svn-id: svn://10.0.0.236/trunk@216936 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 14:40:54 +00:00
dbaron%dbaron.org
6552bcb27d Correct style for messages already converted from RSS to HTML email. b=363154 r=mscott
git-svn-id: svn://10.0.0.236/trunk@216934 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 08:08:24 +00:00
dbaron%dbaron.org
9c1887ad97 Generate CSS that's *supposed* to make the iframe fill the viewport. b=363154 r=mscott
git-svn-id: svn://10.0.0.236/trunk@216933 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 08:06:56 +00:00
dbaron%dbaron.org
7c3d43cc80 Fix bustage. b=363524
git-svn-id: svn://10.0.0.236/trunk@216932 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 04:21:05 +00:00
despotdaemon
a4f1fdaeca Pseudo-automatic update of changes made by dbaron@dbaron.org.
git-svn-id: svn://10.0.0.236/trunk@216931 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 04:18:42 +00:00
despotdaemon
4f78eb0b55 Pseudo-automatic update of changes made by dbaron@dbaron.org.
git-svn-id: svn://10.0.0.236/trunk@216930 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 04:17:36 +00:00
despotdaemon
8c180cd1b3 Pseudo-automatic update of changes made by dbaron@dbaron.org.
git-svn-id: svn://10.0.0.236/trunk@216929 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 04:15:59 +00:00
despotdaemon
db77e554fe Pseudo-automatic update of changes made by dbaron@dbaron.org.
git-svn-id: svn://10.0.0.236/trunk@216928 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 04:14:42 +00:00
ccooper%deadsquid.com
8a1c8682b8 - updating calendar configs to run on new intel xserve
git-svn-id: svn://10.0.0.236/trunk@216927 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 04:03:19 +00:00
dbaron%dbaron.org
08d8ed684c Reflow all of the table structure (although not its descendants) when frame structure within the table is changed. b=363524 r=bernd sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@216926 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 03:45:28 +00:00
cst%yecc.com
6a74e8c266 Bug 363422 Fix confirmEx parameters (broken "delete all cookies" button)
r=neil


git-svn-id: svn://10.0.0.236/trunk@216923 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 01:13:01 +00:00
sayrer%gmail.com
813328f8de Bug 363636. duplicate nsLivemarkService.getSiteURI in toolbar.xml. r=sspitzer/gavin
git-svn-id: svn://10.0.0.236/trunk@216922 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 01:05:31 +00:00
bzbarsky%mit.edu
da2551af1f Having an empty textnode or CDATA section child should not prevent an element
from matching :empty.  Bug 315620, r+sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@216919 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-13 00:18:32 +00:00
bienvenu%nventure.com
ae4ae2eb1f fix hang when doing a quick search while in threaded mode, sr=mscott 331014
git-svn-id: svn://10.0.0.236/trunk@216917 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 23:41:00 +00:00
wtchang%redhat.com
79bcd9fcd8 Bug 236613: added newline at end of file.
git-svn-id: svn://10.0.0.236/trunk@216914 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 23:26:40 +00:00
mnyromyr%tprac.de
a96e3f7e01 Bug 362741: Selecting folder with previous view unread, while viewing another unread folder, fails; p=Kent James <kent@caspia.com>, r=me, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216913 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 23:24:51 +00:00
mnyromyr%tprac.de
49623e06d8 Bug 362990: asynchronous message view list manipulation; r=neil, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216912 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 23:20:48 +00:00
sayrer%gmail.com
c87c7f7b73 Bug 363506. Can not build nsDocumentViewer.cpp with --disable-printing. Patch by Andreas Lange <mozilla@lange.cx>. r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@216911 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 23:00:52 +00:00
bzbarsky%mit.edu
5a40a60434 Make nsAString lookups in nsStaticCaseInsensitiveNameTable a little faster.
Bug 348691, r+sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@216910 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 22:47:16 +00:00
bzbarsky%mit.edu
416011af41 Call the superclass Destroy(). Bug 363149, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@216909 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 22:30:39 +00:00
mozilla%weilbacher.org
26dbf92062 [OS/2] Bug 358296: fix crash when closing filepicker with the system menu, r=mkaply
git-svn-id: svn://10.0.0.236/trunk@216907 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 22:24:52 +00:00
cvshook%sicking.cc
2eec67b7b3 fix bustage for optimized builds
git-svn-id: svn://10.0.0.236/trunk@216906 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 22:05:47 +00:00
mozilla%weilbacher.org
f4e25b5f8e [OS/2] Bug 351246: Load Mozilla into Highmem on OS/2. Part 2, changes to NSPR. r=mkaply, sr=wtc
git-svn-id: svn://10.0.0.236/trunk@216905 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 22:00:25 +00:00
rhelmer%mozilla.com
c77318159c full update verification used by tfullhart for 1508 r=rhelmer
git-svn-id: svn://10.0.0.236/trunk@216903 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 21:20:28 +00:00
cvshook%sicking.cc
120424502b Bug 210528: Fix ownership models of some functioncalls in the XPath code and replace some txLists with owning nsTArrays. r/sr=peterv
git-svn-id: svn://10.0.0.236/trunk@216902 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 21:20:15 +00:00
rhelmer%mozilla.com
91d86dd5ac config used for 1508 by tfullhart r=rhelmer
git-svn-id: svn://10.0.0.236/trunk@216901 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 21:18:49 +00:00
bzbarsky%mit.edu
dbfd5010c0 Don't return bogus overflow values when we can't compute a real overflow
value.  Bug 319381, r+sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@216900 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 21:16:23 +00:00
bienvenu%nventure.com
1e60671f8a make custom db headers a space delimited list, not comma, follow on to 356860, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216899 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 21:14:35 +00:00
bienvenu%nventure.com
e5846dc78c allow users or extensions to add headers to display in the message pane header area via a pref 353193, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216897 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 19:36:33 +00:00
wtchang%redhat.com
1cb0ab078a Bug 236613: added newline to the end of file.
git-svn-id: svn://10.0.0.236/trunk@216896 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 19:35:56 +00:00
joshmoz%gmail.com
0abb99a15b remove my name from these files, I never did anything with them as far as I know. r=wevah sr=me
git-svn-id: svn://10.0.0.236/trunk@216894 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 19:22:01 +00:00
aaronleventhal%moonset.net
b5987cf65d Bug 359924. Crash when entering characters in XUL textfields, such as find field. r=nian.liu, r=surkov
git-svn-id: svn://10.0.0.236/trunk@216893 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 19:04:25 +00:00
joshmoz%gmail.com
7b76adf46a When a top-level window's parent is destroyed, the parent should set the parent pointer on its children to null. We do this in the other Mac nsIWidget impls, someone just forgot to do it in cocoa top-level windows. b=362952 r=mano r=smorgan
git-svn-id: svn://10.0.0.236/trunk@216892 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 18:55:24 +00:00
reed%reedloden.com
17f4a9ade6 Bug 61150 - "Site-specific data spread throughout despot" [p=reed r=justdave]
git-svn-id: svn://10.0.0.236/trunk@216891 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 18:51:09 +00:00
reed%reedloden.com
0db27b871f Bug 166424 - "can't rename a module in despot" [p=reed r=justdave]
git-svn-id: svn://10.0.0.236/trunk@216890 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 18:38:47 +00:00
dbaron%dbaron.org
e4794b2c9c Correctly align a line with no justification opportunities (a single word) for RTL justified text. Patch originally from Uri Bernstein <uriber@gmail.com>, modified by smontagu and me. b=102019 r=dbaron/smontagu
git-svn-id: svn://10.0.0.236/trunk@216889 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 18:28:37 +00:00
lpsolit%gmail.com
868db5d9ae Bug 363556: No obvious way to log in to view/change a bug when you're not logged in - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=justdave
git-svn-id: svn://10.0.0.236/trunk@216888 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 18:17:34 +00:00
uriber%gmail.com
47d6cf40cf Bug 314519: Caret skips blank lines using right-arrow key in some cases of preformatted text. Take 2. r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@216887 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 18:12:46 +00:00
stuart.morgan%alumni.case.edu
4cc6242f8f Camino only - Bug 360779: Fix loading of links dropped on tabs. r=max r=ardissone sr=pink
git-svn-id: svn://10.0.0.236/trunk@216886 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 18:04:27 +00:00
bugzilla%standard8.demon.co.uk
c05e8a2d22 Bug 361193 In suiterunner preferences, advanced -> Mousewheel pane doesn't display (remove obsolete xpfe strings) r=kairo
git-svn-id: svn://10.0.0.236/trunk@216885 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 18:03:17 +00:00
sayrer%gmail.com
991a6880dd Bug 350273. registerContentHandler should throw an exception for malformed URIs. r=mano
git-svn-id: svn://10.0.0.236/trunk@216884 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 17:57:11 +00:00
bzbarsky%mit.edu
11427fca97 Make the GetStyle* getters not go through GetStyleData() so they can be
faster.  Bug 360870, r+sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@216883 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 17:44:45 +00:00
bienvenu%nventure.com
545eabec69 make check for existing keywords be case-insensitive when fetching tags in the thread pane, sr=mscott 355547
git-svn-id: svn://10.0.0.236/trunk@216882 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 17:33:49 +00:00
sayrer%gmail.com
c3491129b4 Bug 266904. Discovered feeds aren't cleared on loads in background tabs (refresh or drag and drop). r=gavin
git-svn-id: svn://10.0.0.236/trunk@216881 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 17:27:34 +00:00
hwaara%gmail.com
e92ea807b0 implement accessible objects for xforms date input controls, r=aaronr, aaronlev, sr=neil, b=349644. Patch by Alexander Surkov <surkov.alexander@gmail.com>
git-svn-id: svn://10.0.0.236/trunk@216880 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 16:19:18 +00:00
bzbarsky%mit.edu
932d12bfe8 Make it possible to start/stop jprof programmatically in C++ inside gklayout.
Bug 354069, r+sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@216879 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 15:47:47 +00:00
bzbarsky%mit.edu
07726b530a Add tests for bug 332557
git-svn-id: svn://10.0.0.236/trunk@216878 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 15:45:12 +00:00
bzbarsky%mit.edu
2a4880f3a6 Don't use LookupKeyword to deal with CSS units. Bug 347705, r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@216876 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 15:34:43 +00:00
bzbarsky%mit.edu
eed3b083f3 Adding test for bug 360065, r=dbaron
git-svn-id: svn://10.0.0.236/trunk@216875 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 15:27:05 +00:00
bzbarsky%mit.edu
82cfd09e26 Fix percentage padding on nodes with overflow other than visible. Bug 332557,
r+sr=dbaron.


git-svn-id: svn://10.0.0.236/trunk@216874 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 15:18:40 +00:00
igor.bukanov%gmail.com
4cd5fdde5c Bug 331966: Fixing orage tinderboxes due to my stupid oversight in RealloSlots.
git-svn-id: svn://10.0.0.236/trunk@216873 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 12:58:42 +00:00
igor.bukanov%gmail.com
3daead6c18 Bug 331966: initial object's slots are allocated together with JSObjects, r=brendan.
git-svn-id: svn://10.0.0.236/trunk@216872 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 10:45:06 +00:00
mats.palmgren%bredband.net
f88e2865ef Fix crash in Print Preview when doc has more than two pages. Patch by Eli Friedman<sharparrow1@yahoo.com>. b=362210 r=me sr=roc
git-svn-id: svn://10.0.0.236/trunk@216871 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 09:54:48 +00:00
justdave%bugzilla.org
7d0ebfb25a Bug 31985: put committer name in the From line on mail from cvsmailfilter
git-svn-id: svn://10.0.0.236/trunk@216870 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 03:44:22 +00:00
reed%reedloden.com
694411a805 Bug 241493 - [p=timeless r=justdave]
git-svn-id: svn://10.0.0.236/trunk@216869 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 03:44:13 +00:00
gavin%gavinsharp.com
499e72a65c Bug 360898: Option to hide processing instructions, patch by Shawn Wilsher <comrade693@gmail.com>, r=db48x, sr=neil
git-svn-id: svn://10.0.0.236/trunk@216868 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 02:05:28 +00:00
cvshook%sicking.cc
1a3376514d Bug 363242: Make txExpandedNameMap typesafe. r/sr=peterv
git-svn-id: svn://10.0.0.236/trunk@216867 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 01:59:30 +00:00
roc+%cs.cmu.edu
08f7e2bd9a Bug 359371. Don't leak overflowing frames if a bug occurs and we still have overflowing frames in an unconstrained reflow situation. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@216866 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 01:06:23 +00:00
scott%scott-macgregor.org
ac1c61a115 Bug #363459 --> add more names to the credit list. Move more names into the Special Thanks section. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216865 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-12 00:37:07 +00:00
tor%cs.brown.edu
bf87e4c98d Bug 363458 - avoid trying to draw circles or ellipses with radius <= 0.
r+sr=roc


git-svn-id: svn://10.0.0.236/trunk@216864 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 23:21:01 +00:00
aaronr%us.ibm.com
b79fe3c6df [XForms] incorrect dup schema error message using inline schemas. Bug 350067, patch by msterlin, r=olli+aaronr
git-svn-id: svn://10.0.0.236/trunk@216861 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 22:14:11 +00:00
ghendricks%novell.com
a8e91342ed run->cases is returning the wrong thing.
git-svn-id: svn://10.0.0.236/trunk@216860 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 22:08:06 +00:00
joshmoz%gmail.com
fc2ebfe878 different approach for fixing 363002. b=363002 r=mento
git-svn-id: svn://10.0.0.236/trunk@216859 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 21:40:32 +00:00
gavin%gavinsharp.com
14050ba106 Bug 363318: use native btoa() where possible, and optimize the JS-implemented b64() for the search service (large slowdown seen when the feed preview page is shown), r=mano
git-svn-id: svn://10.0.0.236/trunk@216858 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 21:29:38 +00:00
sspitzer%mozilla.org
06fd784c9f fix for bug #344284, saved search history not imported from Safari. r=gavin
git-svn-id: svn://10.0.0.236/trunk@216857 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 21:12:12 +00:00
pedemont%us.ibm.com
a696c4c0e4 Bug 335696 - Provide helper method for embedding in AWT/Swing (Mac only for the moment). r=bsmeberg
git-svn-id: svn://10.0.0.236/trunk@216856 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 21:07:02 +00:00
gavin%gavinsharp.com
58b58f6992 Bug 361061: params added nsISearchEngine::addParam() are sometimes forgotten after a restart (especially for engines added without icons), r=mano
git-svn-id: svn://10.0.0.236/trunk@216855 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 20:54:35 +00:00
bmlk%gmx.de
586eb3f128 typo fix
git-svn-id: svn://10.0.0.236/trunk@216854 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 20:09:25 +00:00
lpsolit%gmail.com
682be710f0 Bug 297186: Send emails in the recipient's locale, not the current user's - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=justdave
git-svn-id: svn://10.0.0.236/trunk@216853 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 18:00:46 +00:00
despotdaemon
e584bd7817 Pseudo-automatic update of changes made by brendan@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@216852 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 18:00:11 +00:00
dietrich%mozilla.com
c16f693d65 Tests for Bug 359862 (r=sspitzer)
git-svn-id: svn://10.0.0.236/trunk@216851 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 17:16:55 +00:00
olav%bkor.dhs.org
c402b6f16a Bug 181239: Do not show flag table's header when all flags are disabled
Patch by Olav Vitters <olav@bkor.dhs.org> r=LpSolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@216850 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 16:51:47 +00:00
tor%cs.brown.edu
8c3f65c081 Bug 361070 - Implement feBlend and feComposite.
Patch by amenzie@us.ibm.com, r=tor, sr=roc.


git-svn-id: svn://10.0.0.236/trunk@216849 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 16:33:08 +00:00
stridey%gmail.com
55a35a3c1a Camino only - Bug 335637: General polish to the Certificates window. r=ardissone sr=smorgan
git-svn-id: svn://10.0.0.236/trunk@216848 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 16:10:58 +00:00
mattwillis%gmail.com
46854f8451 bug 360947 - Fixes calendar grid to not overflow when screen is in portrait mode. Patch by <gekacheka@yahoo.com> r1=lilmatt, r2=mvl
git-svn-id: svn://10.0.0.236/trunk@216847 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 16:08:10 +00:00
mattwillis%gmail.com
d42315e08f bug 358701 - Makes vertical day/date header column narrower. Patch by <gekacheka@yahoo.com>, r1=lilmatt, r2=mvl, ui-r=mvl
git-svn-id: svn://10.0.0.236/trunk@216846 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 15:50:18 +00:00
kaie%kuix.de
df796d13a7 Bug 355409, unable to search LDAP server (over SSL) with tbird 2.0 build, but 1.5.0.7 works
r=wtchang


git-svn-id: svn://10.0.0.236/trunk@216845 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 13:51:25 +00:00
gijskruitbosch%gmail.com
aea190009b Bug 363141 - "this.whoisList has no properties" when doing a /query
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@216844 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 11:55:44 +00:00
Olli.Pettay%helsinki.fi
e37cecac93 Bug 361501, use 'anonid' attribute inside anonymous content as ID attribute, p=surkov, r=aaronr+me
git-svn-id: svn://10.0.0.236/trunk@216843 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 10:54:09 +00:00
Olli.Pettay%helsinki.fi
9cd35293e7 Bug 361366, problems with xf:repeat in anonymous content, r=aaronr+doronr
git-svn-id: svn://10.0.0.236/trunk@216842 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 10:24:25 +00:00
martijn.martijn%gmail.com
cdb785a2f0 Bug 363285 - marquee broken, r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@216841 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 09:51:46 +00:00
gerv%gerv.net
a54c420f30 Bug 236613: change to MPL/LGPL/GPL tri-license.
git-svn-id: svn://10.0.0.236/trunk@216839 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 09:45:41 +00:00
hwaara%gmail.com
ae9ba90686 Make all buttons (also those that are not by definition popupmenus) that have a menu expose the ShowMenu action (by making them mozPopupButtonAccessible instances under the hood). r=surkov, b=363082
git-svn-id: svn://10.0.0.236/trunk@216838 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 09:37:01 +00:00
joshmoz%gmail.com
638836cc26 Some keys like arrow keys send double command events to NSView's performKeyEquivalent:, one for key up and one for key down. This doesn't make sense for us, so only handle key down command events. b=363005 r=cbarrett r=froodian r=cl
git-svn-id: svn://10.0.0.236/trunk@216837 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 05:31:33 +00:00
dougt%meer.net
e93f384e2b Trying bandaide for crash at [@ imgRequest::OnStopRequest]. see bug 361499.
git-svn-id: svn://10.0.0.236/trunk@216836 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 04:15:45 +00:00
roc+%cs.cmu.edu
3d86905040 Bug 357351. Assertion should be #ifdef MOZ_CAIRO_GFX only. Debug-only change.
git-svn-id: svn://10.0.0.236/trunk@216835 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-11 00:09:50 +00:00
timeless%mozdev.org
8753f00580 Removing lowercase filename because it's identical to a properly named file
git-svn-id: svn://10.0.0.236/trunk@216834 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 23:19:34 +00:00
sayrer%gmail.com
eba310c07d Bug 361030. Bookmarks refresh problem due to JS error code. r=sspitzer/jminta
git-svn-id: svn://10.0.0.236/trunk@216833 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 22:40:39 +00:00
roc+%cs.cmu.edu
3713dfee3b Fixing DEBUG_roc-only bustage. NPOB.
git-svn-id: svn://10.0.0.236/trunk@216831 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 22:06:53 +00:00
roc+%cs.cmu.edu
4d9d5d0511 Bug 326758. Bullets should accept mouse events. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@216830 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 21:56:30 +00:00
roc+%cs.cmu.edu
95b9c792e0 Bug 344894. Process mContentFrame before mLegendFrame in nsFieldSetFrame::BuildDisplayList, because mContentFrame might have out-of-flow frames whose placeholders are in mLegendFrame and we always need to visit out-of-flow frames before their placeholders while building display lists. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@216829 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 21:53:53 +00:00
bienvenu%nventure.com
205b3ad002 fix 298737 newsgroups lose track of counts when headers haven't been downloaded, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216828 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 21:28:37 +00:00
ajschult%verizon.net
c0a04ffd9d Bug 361437: GRE should be installed locally. Patch by Benoît <benoit@gawab.com>. r=CTho, sr=Neil
git-svn-id: svn://10.0.0.236/trunk@216827 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 21:07:45 +00:00
stridey%gmail.com
0d2936025d Camino only - Bug 362541: Tooltips for Download toolbar buttons should update to reflect the number of items selected. r=cl sr=smorgan
git-svn-id: svn://10.0.0.236/trunk@216826 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 19:16:20 +00:00
db48x%yahoo.com
4781091ef7 bug 363112: nsDeckFrame::GetSelectedBox should use mIndex
patch by Alex Vincent <ajvincent@gmail.com>, r=enn, sr=neil


git-svn-id: svn://10.0.0.236/trunk@216825 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 18:13:48 +00:00
bienvenu%nventure.com
61bd14e6ba land part of fix for 360342 that I missed due to a merge conflict, sr=mscott, fix crash deleting imap attachment
git-svn-id: svn://10.0.0.236/trunk@216824 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 16:45:21 +00:00
cst%yecc.com
98717b2da9 Bug 362905 OK/Cancel are almost never the right choices
r+sr=neil


git-svn-id: svn://10.0.0.236/trunk@216823 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 16:02:27 +00:00
masayuki%d-toybox.com
af0e2675bd Bug 357637 Loading time (Tp) of pages with Chinese text is unbearable r=stuart
git-svn-id: svn://10.0.0.236/trunk@216822 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 14:01:36 +00:00
kjh-5727%comcast.net
453fd077ad Bug 360485 - Factor out nsIDeviceContextSpecFactory. Part B: deleted files. r=pavlov, sr=roc.
git-svn-id: svn://10.0.0.236/trunk@216821 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 13:02:12 +00:00
silver%warwickcompsoc.co.uk
4d8b39114c Bug 363276 - Specify more properties so Gecko doesn't guess 'wrong'.
ChatZilla only.
r=samuel


git-svn-id: svn://10.0.0.236/trunk@216820 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 12:54:29 +00:00
kjh-5727%comcast.net
ef03dea008 Bug 360485 - OS/2 build bustage fix. Patch by Andy Williams <abwillis1@gmail.com>.
git-svn-id: svn://10.0.0.236/trunk@216819 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 12:47:13 +00:00
mozilla%weilbacher.org
712a4e7cb3 [OS/2] Bug 351246: Load Mozilla into Highmem on OS/2. Part 1, changes to OS/2 only core code. r=abwillis1, sr=mkaply
git-svn-id: svn://10.0.0.236/trunk@216818 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 08:53:03 +00:00
sharparrow1%yahoo.com
bbc7755ab2 Bug 361844: Printing cleanup; r+sr=roc. Changes the way the presentation is managed for print preview, plus many smaller cleanups.
git-svn-id: svn://10.0.0.236/trunk@216817 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 08:05:05 +00:00
mozilla.mano%sent.com
e767bc6b84 Bug 363339 - Gran Paradiso dmg license is improperly encoded. patch from Smokey Ardisson, <alqahira@ardisson.or>, r=me.
git-svn-id: svn://10.0.0.236/trunk@216816 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 08:00:47 +00:00
bmlk%gmx.de
46398b3fb9 report frames currently on the overflow list as frames on a additional childlist to get their views reparented if a frame higher in the tree needs to reparent the views bug 362724 r/sr=roc
git-svn-id: svn://10.0.0.236/trunk@216815 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 06:46:17 +00:00
timeless%mozdev.org
e790f0abc6 Backing out!
git-svn-id: svn://10.0.0.236/trunk@216814 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 03:35:22 +00:00
timeless%mozdev.org
c3ae441147 Bug 361413 Build succeeds even when XPTC stubs/invocation stuff are not implemented.
patch by bsmedberg r=timeless


git-svn-id: svn://10.0.0.236/trunk@216813 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 03:24:47 +00:00
sayrer%gmail.com
ddf4c03c15 bug 362547. xpcshell unit tests for SAX Patch by Alex Vincent <ajvincent@gmail.com>. r=sayrer
git-svn-id: svn://10.0.0.236/trunk@216812 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 03:16:39 +00:00
bienvenu%nventure.com
d750bed9e8 fix crash deleting attachment from imap message, sr=mscott 360342
git-svn-id: svn://10.0.0.236/trunk@216811 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-10 00:09:31 +00:00
mozilla.mano%sent.com
eaf232c61c Bug 360220 - readers menulist has no icon if the last-selected reader is a web reader. r=enn.
git-svn-id: svn://10.0.0.236/trunk@216808 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 21:34:51 +00:00
gijskruitbosch%gmail.com
5ab5e9bf90 Bug 362646 - domNodeDialog.xul doesn't have control attributes pointing to valid ids
p=comrade693+bmo@gmail.com (Shawn Wilsher)
r=db48x (Daniel Brooks)
sr=neil@parkwaycc.co.uk


git-svn-id: svn://10.0.0.236/trunk@216806 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 19:43:54 +00:00
sayrer%gmail.com
2757ebe9db Test for bug 308484 by Wladimir Palant <trev@gtchat.de>. r=bz
git-svn-id: svn://10.0.0.236/trunk@216803 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 18:02:18 +00:00
sayrer%gmail.com
9cd5bffe94 Test for bug 238409 by Wladimir Palant <trev@gtchat.de>. r=jst
git-svn-id: svn://10.0.0.236/trunk@216802 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 17:33:29 +00:00
kjh-5727%comcast.net
2674b6e768 Bug 360485 - Factor out nsIDeviceContextSpecFactory. Part 1: changed files. r=pavlov, sr=roc.
git-svn-id: svn://10.0.0.236/trunk@216801 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 17:18:56 +00:00
lpsolit%gmail.com
2e18b4a401 Bug 359315: "NNTP" and "IO" should be filtered out of the mail_delivery_method options - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=justdave
git-svn-id: svn://10.0.0.236/trunk@216800 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 16:39:18 +00:00
timeless%mozdev.org
9f7096c63b Bug 362842 please rename nsIMsgImapMailFolder.canIOpenThisFolder
r=bienvenu sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@216799 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 16:31:05 +00:00
igor.bukanov%gmail.com
b8fe134378 Bug 362668: JSObject.slot is no longer accessed directly. Instead code uses STOBJ_macros. r=brendan
git-svn-id: svn://10.0.0.236/trunk@216798 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 15:02:37 +00:00
wsharp%adobe.com
74e31a04ae bug 363255. uintptr_t should be uintptr. Also checked in fix for e4xnode.cpp when parsing malformed namespace. no reviewer for sat. morning
git-svn-id: svn://10.0.0.236/trunk@216797 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 13:33:53 +00:00
lpsolit%gmail.com
364bdefaf8 Bug 362865: email_in.pl permissions not good after running checksetup.pl - Patch by Bill Barry <after.fallout@gmail.com> r=mkanat a=myk
git-svn-id: svn://10.0.0.236/trunk@216795 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 11:58:14 +00:00
lpsolit%gmail.com
870c67b100 Bug 361252: checksetup.pl should get confirmation from the user before causing dataloss in UTF8 conversion - Patch by Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit a=myk
git-svn-id: svn://10.0.0.236/trunk@216794 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 11:51:35 +00:00
philringnalda%gmail.com
c097eee8cd Bug 353194: Statusbar changes size depending on whether lock icon appears; Wrong broken image in addressbar, r=mano
git-svn-id: svn://10.0.0.236/trunk@216793 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 06:40:21 +00:00
dbaron%dbaron.org
1d1477169f Fix bad interaction of colspan handling with AddMinCoord's magic to deal with specified coord widths. Substantive changes by bzbarsky, comments by me. r+sr=dbaron/bzbarsky b=363150
git-svn-id: svn://10.0.0.236/trunk@216792 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 05:38:19 +00:00
gavin%gavinsharp.com
ee7a0ad27d Bug 347230: Minimal Save-only dialog shown for files with discoverable types (known file extensions), patch by Masatoshi Kimura (:emk) <VYV03354@nifty.ne.jp>, r=me
git-svn-id: svn://10.0.0.236/trunk@216791 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 04:37:22 +00:00
philringnalda%gmail.com
4027c85c61 Bug 359656: Make toolbar customization restore defaults restore the app's defaults, not Firefox's defaults, r=mano, lilmatt
git-svn-id: svn://10.0.0.236/trunk@216790 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 03:32:36 +00:00
preed%mozilla.com
28bf8fab5b Bug 363108: patcher2.pl --build-tools pulls from the trunk. This is bad for a number of reasons. This is a stop-gap measure to get --build-tools working again after the cairo/svg landing and the dbus landing. patch=tfullhart. r=preed.
git-svn-id: svn://10.0.0.236/trunk@216789 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 02:47:38 +00:00
rhelmer%mozilla.com
47ae2d48a9 remove independent verification from this step b=363237 r=preed
git-svn-id: svn://10.0.0.236/trunk@216788 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 02:18:52 +00:00
jminta%gmail.com
f90ffc2a94 Second try at fixing bug 360658 Weekly print layout: No preview for 'Selected events' selection. r=lilmatt, mvl
git-svn-id: svn://10.0.0.236/trunk@216787 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 01:14:59 +00:00
jminta%gmail.com
c5a3578441 Bug 362866 Tasklist, unifinder and views still display old task/event after conversion to event/task. r=lilmatt, mvl
git-svn-id: svn://10.0.0.236/trunk@216786 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 01:12:48 +00:00
jminta%gmail.com
2d2097fa8d Bug 361650 Default event start time is 00:00 and not the next full hour. r=lilmatt, mvl
git-svn-id: svn://10.0.0.236/trunk@216785 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 01:09:45 +00:00
jminta%gmail.com
c96e65f884 Bug 362585 Remove useless line that can throw an error in some cases. r=lilmatt, dmose
git-svn-id: svn://10.0.0.236/trunk@216784 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 01:03:09 +00:00
wtchang%redhat.com
e045e318b7 Bugzilla Bug 358785: merged the mozilla/security/nss/lib/libpkix from the
NSS_LIBPKIX_BRANCH onto the NSS trunk.  Approved by rrelyea and nelsonb.


git-svn-id: svn://10.0.0.236/trunk@216782 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 00:27:38 +00:00
rhelmer%mozilla.com
eb04305862 rollback to 1.3, 1.4 should not have been checked in
git-svn-id: svn://10.0.0.236/trunk@216781 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-09 00:16:05 +00:00
ghendricks%novell.com
a12f9503a9 Failing a test cases with closed bugs, opens them. Passing one with RESOLVED bugs Verifies them.
git-svn-id: svn://10.0.0.236/trunk@216779 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 23:12:16 +00:00
wtchang%redhat.com
078873d980 Bugzilla Bug 363092: removed the pthread_kill macro definition. Mac OS X
has had the pthread_kill function since 10.2.   The patch is contributed by
Josh Aas <joshmoz@gmail.com>.  r=mark.mentovai,wtc


git-svn-id: svn://10.0.0.236/trunk@216775 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 22:58:13 +00:00
wtchang%redhat.com
861ea09ed1 Bugzilla Bug 363092: made 10.2 the default Mac OS X ppc deployment target.
r=josh.aas


git-svn-id: svn://10.0.0.236/trunk@216774 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 22:56:43 +00:00
wtchang%redhat.com
1cb5d3ccbb Bugzilla Bug 363073: verify that the peer's ephemeral public key is the
type we expect before using it.  r=nelsonb
Modified Files: ssl3con.c ssl3ecc.c


git-svn-id: svn://10.0.0.236/trunk@216773 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 22:37:29 +00:00
wtchang%redhat.com
ee9615098b Bugzilla Bug 357197: a small but subtle change to reject a hash algorithm
identifier with bogus 'parameters', and a large but straightforward change
of renaming function arguments and improving comments to clarify the
asymmetry between the two certID arguments. r=nelsonb


git-svn-id: svn://10.0.0.236/trunk@216772 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 22:10:52 +00:00
bclary%bclary.com
bade730b62 Bug 309169 - update JS_GetImplementationVersion, r=brendan
git-svn-id: svn://10.0.0.236/trunk@216771 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 21:08:09 +00:00
dietrich%mozilla.com
aa7253d2f9 Bug 359862 Places schema: improvements in descriptiveness and consistency (r=sspitzer)
git-svn-id: svn://10.0.0.236/trunk@216770 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 19:57:12 +00:00
sspitzer%mozilla.org
7703e1e5fa fix for bug #359349:
add "show sessions" to the history query options, so that we can disable it.

by default, disable sessions for the history-on-places sidebar (as we are initially going for Firefox 2.0 parity on top of places.)

To enable sessions, toggle the hidden "browser.history.showSessions" boolean pref.

Thanks to Dan Mills <thunder@mozilla.com> for the fix.

r=sspitzer,gavin


git-svn-id: svn://10.0.0.236/trunk@216769 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 19:56:31 +00:00
ghendricks%novell.com
23af09768a Bugzilla Bug 360100
Cloning a test case with copy document also clones the entire document history


git-svn-id: svn://10.0.0.236/trunk@216767 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 19:19:09 +00:00
rhelmer%mozilla.com
51db457067 script to download and clean pageset, checkin for anodelman, b=362152 r=rhelmer
git-svn-id: svn://10.0.0.236/trunk@216766 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 18:53:15 +00:00
ghendricks%novell.com
bbbf4af613 Escape <script> tags in wysiwyg feilds so that they don't execute.
git-svn-id: svn://10.0.0.236/trunk@216765 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 18:39:14 +00:00
sayrer%gmail.com
dc4d0507ba Bug 361448. Feed processor logs an exception when it hits an unknown element in atom:author. r=mano
git-svn-id: svn://10.0.0.236/trunk@216762 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 17:33:15 +00:00
stridey%gmail.com
dbe6fd41ab Bug 284554 - Enable preference panes to use applescript studio. Patch by Geoff Beier <me@mollyandgeoff.com> r=cl sr=pink
git-svn-id: svn://10.0.0.236/trunk@216761 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 17:29:09 +00:00
stridey%gmail.com
e6ed54b40d Camino only - Bug 288980. Create 'Reveal in Bookmark Manager' contextual menu item for relevant bookmarks. Patch by Chris Lawson <bugzilla@chrislawson.net> r=me sr=pink
git-svn-id: svn://10.0.0.236/trunk@216760 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 17:23:05 +00:00
bienvenu%nventure.com
63b89d266c remember tags when copying imap messages to local folders, sr=mscott 362989
git-svn-id: svn://10.0.0.236/trunk@216759 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 17:12:07 +00:00
stridey%gmail.com
9df1d6058e Camino only - bug 345419: When already selected, make 'Use as Dock Menu' context menu item reset the Dock Menu to the default folder. r=cl sr=pink
git-svn-id: svn://10.0.0.236/trunk@216758 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 16:57:38 +00:00
mattwillis%gmail.com
a0982d4393 bug 362742 - ifdefs branch vs. trunk pieces of Customize Toolbar in prep for using toolkit's. Patch by philor. r=lilmatt, jminta
git-svn-id: svn://10.0.0.236/trunk@216757 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 16:37:01 +00:00
silver%warwickcompsoc.co.uk
f660a3990f Bug 359592 - Kill off dead strings from chatzilla.dtd, and consistently use "ChatZilla" to refer to the app.
ChatZilla only.
r=samuel


git-svn-id: svn://10.0.0.236/trunk@216756 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 16:23:53 +00:00
mozilla.mano%sent.com
df85dc6a39 Backout help.css changes I accidenally checked in.
git-svn-id: svn://10.0.0.236/trunk@216754 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 16:23:24 +00:00
ted.mielczarek%gmail.com
f3403205ed bug 363062, workaround to prevent out of disk space errors on hourly win32 tinderboxes. airbag symbol store generation is disabled for now. r=rhelmer
git-svn-id: svn://10.0.0.236/trunk@216753 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 16:22:58 +00:00
mozilla.mano%sent.com
7d9a9cbede Bug 363125 - location bar is stretched vertically in Pinstripe. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@216751 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 16:18:03 +00:00
longsonr%gmail.com
0c9355d8c2 Bug 363066 - remove unused macro from nsSVGImageFrame. r+sr=tor
git-svn-id: svn://10.0.0.236/trunk@216748 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 10:48:43 +00:00
michael.buettner%sun.com
e173bb08f0 bug #363147 attendee list and free/busy grid are not synchronized
git-svn-id: svn://10.0.0.236/trunk@216747 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 10:24:11 +00:00
alfred.peng%sun.com
102c41198f Bug 356863. Right-hand account settings panels are not accessible.
Patch by Evan.Yan@sun.com. r=aaronleventhal.


git-svn-id: svn://10.0.0.236/trunk@216746 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 09:59:45 +00:00
alfred.peng%sun.com
f576513bce Bug 356347. Invisible column headers of xul tree-table are not exposed.
Patch by Evan.Yan@sun.com. r=aaronleventhal.


git-svn-id: svn://10.0.0.236/trunk@216745 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 09:57:25 +00:00
bzbarsky%mit.edu
7c3973cf2b More tests pass now that reflow branch landed.
git-svn-id: svn://10.0.0.236/trunk@216744 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 08:53:41 +00:00
joshmoz%gmail.com
bae08c8401 merge nsToolkit and nsToolkitBase in cocoa widgets. b=363117 r=mento sr=pinkerton
git-svn-id: svn://10.0.0.236/trunk@216743 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 08:29:46 +00:00
joshmoz%gmail.com
0988905a4a Don't compile FSVolumeMount in MoreFilesX. It exists on Mac OS X 10.5 now, we can't re-define it in MoreFilesX. Since we don't use it anyway, just don't ever compile it. b=363092 r=mento sr=wtc
git-svn-id: svn://10.0.0.236/trunk@216742 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 07:52:18 +00:00
ajschult%verizon.net
ee1c4ccf9a Bug 362605: fast-update pulls Attic directory on branch for files deleted on trunk. r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@216741 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 07:47:08 +00:00
dbaron%dbaron.org
1ca9f3f372 Bug 300030: Move intrinsic width computation out of nsIFrame::Reflow and into its own methods on nsIFrame. Replace reflow reasons, types, and commands with dirty bits/notifications. Thanks to bzbarsky for almost all of the HTML form controls (mozilla/layout/forms) changes, and many others for help testing and patching. For detailed commit logs, see REFLOW_YYYYMMDD_BRANCH, where YYYYMMDD is one of 20061031, 20060830, 20060603, 20060302, 20060119, 20051011, 20050804, 20050429, 20050315, 20050111, and 20041213.
git-svn-id: svn://10.0.0.236/trunk@216738 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 05:38:33 +00:00
philringnalda%gmail.com
1a1de382fe Bug 363098: customizeToolbar needs to include global/skin, r=gavin
git-svn-id: svn://10.0.0.236/trunk@216736 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 04:19:56 +00:00
jwalden%mit.edu
6a5a8fdefa Bug 277122 - XUL preprocessor #else-type conditions are evaluated relative to the result of the previous condition only. Fixed the bug with the original patch (unknowing use of a Perl 5.8.0 feature) and relanding... r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@216735 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 04:13:00 +00:00
mats.palmgren%bredband.net
b1edb47875 Fix a Print Preview crash. b=362708 r=bernd sr=roc
git-svn-id: svn://10.0.0.236/trunk@216733 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 03:44:11 +00:00
mats.palmgren%bredband.net
dd00a78c5d Syncing with branch fix for bug 363054: Ctrl-Shift Keyboard Shortcuts broken (linux). r=zeniko sr=pavlov
git-svn-id: svn://10.0.0.236/trunk@216731 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 03:18:29 +00:00
jwalden%mit.edu
c1d1dab503 Giving up on bug 277122 for now; will try again later.
git-svn-id: svn://10.0.0.236/trunk@216718 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 00:09:08 +00:00
mattwillis%gmail.com
08d7a50483 bug 343207 - Uncomments piece of Makefile that packages updater.ini. r=dmose
git-svn-id: svn://10.0.0.236/trunk@216717 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 23:53:59 +00:00
cst%yecc.com
e05d061afa Bug 362913 Fix regression from bug 354953 that made the undo history store the least-recent tabs rather than the most-recent
r+sr=neil


git-svn-id: svn://10.0.0.236/trunk@216716 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 23:52:58 +00:00
bugzilla%arlen.demon.co.uk
1ad7ce4729 Bug 361708 Make the way links from mailnews behave pref controllable
p=me r=mnyromyr sr=neil (SM only)


git-svn-id: svn://10.0.0.236/trunk@216711 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 23:25:03 +00:00
jwalden%mit.edu
563073030c Attempt to fix build bustage on balsa-trunk; fix stupid Perl mistake in previous commit, still trying to fix bug 277122.
git-svn-id: svn://10.0.0.236/trunk@216708 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 23:04:12 +00:00
jwalden%mit.edu
b42f900ae9 Attempt to fix build bustage on balsa-trunk; if this fails will probably back out the patch for bug 277122.
git-svn-id: svn://10.0.0.236/trunk@216706 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 22:59:19 +00:00
mozilla%weilbacher.org
ed9c885ce9 Fix XPCOM build break on OS/2, see bug 345517. p=abwillis1, r=benjamin
git-svn-id: svn://10.0.0.236/trunk@216705 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 22:54:18 +00:00
mattwillis%gmail.com
aaba7a2abe bug 343207 - Uncomments piece of Makefile that packages updater.ini. r=dmose
git-svn-id: svn://10.0.0.236/trunk@216704 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 22:29:50 +00:00
sayrer%gmail.com
e8aa8fa1dd Bug 363032. invalid arg assertion in nsFrameList.cpp. Patch by Alex Vincent <ajvincent@gmail.com>. r=enndeakin, sr=neil
git-svn-id: svn://10.0.0.236/trunk@216703 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 22:08:00 +00:00
mozilla%weilbacher.org
bd0a019b6d [OS/2] Bug 355067: add Freetype copyright notice to about:license as OS/2 builds with cairo need to ship with it. r=gerv
git-svn-id: svn://10.0.0.236/trunk@216702 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 22:00:22 +00:00
jwalden%mit.edu
fbc7395155 Bug 277122 - XUL preprocessor #else-type conditions are evaluated relative to the result of the previous condition only (with one visible result being that #ifdef/#elifdef/#else/#endif doesn't work correctly if both the ifdef and elifdef conditions are true). This patch fixes conditions such that at most one section of any #if/#el*/#el*[...]/#endif set is ever included, regardless of the conditions used or types of the tests performed. r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@216701 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 21:49:21 +00:00
gavin%gavinsharp.com
078433f1c5 Bug 362686: install-app from zip fails, patch by Tuukka Tolvanen <tuukka.tolvanen@gmail.com>, r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@216700 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 21:39:35 +00:00
mvl%exedo.nl
7312f8fcfb bug 343721: just try to password from passwordmanager, instead of prompting. r=lilmatt, jminta
git-svn-id: svn://10.0.0.236/trunk@216699 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 21:36:02 +00:00
gavin%gavinsharp.com
479df5064c Bug 360273: Firefox should substitute unrecognized parameter extension with blank string, patch by Pavel Franc - Pawell (Czilla.cz) <p.franc@gmail.com>, r=me
git-svn-id: svn://10.0.0.236/trunk@216698 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 21:31:15 +00:00
gavin%gavinsharp.com
a393fef1e6 Bug 351260: No provision for disabling welcome and override pages, patch by Harry Johnston <harry@scms.waikato.ac.nz>, r=me
git-svn-id: svn://10.0.0.236/trunk@216697 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 21:28:32 +00:00
gavin%gavinsharp.com
f561786137 Bug 351591: Pressing Enter in an exceptions dialog adds an unwanted 'scheme:http' entry in the list, r=mano
git-svn-id: svn://10.0.0.236/trunk@216696 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 21:25:38 +00:00
gavin%gavinsharp.com
5f01743988 Bug 278859: fix minor layout-debug issues when using Firefox, r=dbaron
git-svn-id: svn://10.0.0.236/trunk@216695 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 21:21:41 +00:00
gavin%gavinsharp.com
104aff22be Bug 353324: When search engine is found and search bar icon highlighted in blue, it loses effect on hover, r=mano
git-svn-id: svn://10.0.0.236/trunk@216694 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 21:20:07 +00:00
gavin%gavinsharp.com
f2c1bab4fd Bug 341872: Download manager leaks helperApps, patch by Regis Caspar <regis.caspar+bz@gmail.com>, r=me
git-svn-id: svn://10.0.0.236/trunk@216693 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 21:16:56 +00:00
ghendricks%novell.com
9215b62099 Cloning a plan without the doc causes error when creating a run in that clone.
git-svn-id: svn://10.0.0.236/trunk@216692 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 21:12:47 +00:00
neil%parkwaycc.co.uk
b4a9673424 Bug 360639 Omit virtual folders from offline use selection r=bienvenu sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216690 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 20:48:50 +00:00
mattwillis%gmail.com
7696e6b571 bug 362639 - Adds missing accesskeys to Lightning's main menu. Patch by Cédric Corazza <cedric.corazza@wanadoo.fr> r=lilmatt,jminta
git-svn-id: svn://10.0.0.236/trunk@216689 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 20:15:28 +00:00
timeless%mozdev.org
e7bcc57e31 Bug 362843 xpidl should warn about attribute anytype aaaIAa ([a-z]{2,3}I[A-Z][a-z])
r=bsmedberg


git-svn-id: svn://10.0.0.236/trunk@216688 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 20:10:34 +00:00
sayrer%gmail.com
153508ceff Bug 354345. Set isStoredWithId for RSS 2.0 feed items. Patch by Wladimir Palant <trev@gtchat.de>. r=sayrer, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216687 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 20:07:48 +00:00
roc+%cs.cmu.edu
0e0e3e92c4 Bug 344228. Fix up some naughty uses of nsIScrollbarMediator. r=enndeakin,sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@216686 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 19:53:41 +00:00
roc+%cs.cmu.edu
a05d07a3a7 Bug 358764. Make backspace do nothing on Linux. r=caillon,mconnor
git-svn-id: svn://10.0.0.236/trunk@216685 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 19:46:47 +00:00
joshmoz%gmail.com
41d796e2b3 don't include nsMimeMapper.h in the cocoa drag service, it is unused and causes problems compiling trunk on 10.5. r=mento
git-svn-id: svn://10.0.0.236/trunk@216683 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 19:16:08 +00:00
ghendricks%novell.com
0bca36ec93 Allow more options for tag searches
git-svn-id: svn://10.0.0.236/trunk@216682 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 19:13:10 +00:00
ghendricks%novell.com
bb5b2e7ca3 Missing error message
git-svn-id: svn://10.0.0.236/trunk@216680 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 18:53:29 +00:00
sayrer%gmail.com
a54860f67d Bug 362156. Support the 'feed' link relation for autodiscovery. r=gavin
git-svn-id: svn://10.0.0.236/trunk@216679 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 18:45:45 +00:00
ghendricks%novell.com
10ef4758cd RELATIONSHIPS collides with Exporter.
git-svn-id: svn://10.0.0.236/trunk@216678 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 18:43:21 +00:00
ghendricks%novell.com
3cc49fd7c2 You shouldn't be able to drag product folders.
git-svn-id: svn://10.0.0.236/trunk@216677 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 18:39:50 +00:00
scott%scott-macgregor.org
3b9324bd2c Bug #291341 --> switching from drafts folder to saved search folder doesn't remove the edit draft button. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216676 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 18:35:25 +00:00
wtchang%redhat.com
17276e586e Bugzilla Bug 361077: removed commented-out code. r=christophe.ravel
git-svn-id: svn://10.0.0.236/trunk@216675 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 18:31:49 +00:00
wtchang%redhat.com
6bd11fe950 Bugzilla Bug 361077: fixed the bug that HP-UXB.11.*.mk test USE_PTHREADS
before it is set.  Since we always use pthreads now, we can unconditionally
add -D_POSIX_C_SOURCE=199506L to OS_CFLAGS in HP-UXB.11.mk.
r=christophe.ravel
Modified Files:
	HP-UXB.11.00.mk HP-UXB.11.11.mk HP-UXB.11.20.mk
	HP-UXB.11.22.mk HP-UXB.11.23.mk HP-UXB.11.mk


git-svn-id: svn://10.0.0.236/trunk@216673 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 18:28:40 +00:00
ghendricks%novell.com
a1952380ba Missing filters on a couple tables
git-svn-id: svn://10.0.0.236/trunk@216672 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 18:24:29 +00:00
nrthomas%gmail.com
dcccfafa52 Bump nagios version for Thunderbird 1.5.0.9, b=360034, r=rhelmer
git-svn-id: svn://10.0.0.236/trunk@216670 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 18:02:29 +00:00
jminta%gmail.com
fa1f63e4b1 Bug 362856 Edit Task command from tasklist context menu does nothing, patch by sebastian.schwieger@googlemail.com, r=jminta
git-svn-id: svn://10.0.0.236/trunk@216669 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 17:19:23 +00:00
benjamin%smedbergs.us
c5717f53e9 Bug 363000 - protect against spaces in the source directory, r=luser
git-svn-id: svn://10.0.0.236/trunk@216668 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 16:36:22 +00:00
vladd%bugzilla.org
df34507479 Documentation patch for bug 355302: Documentation for the "clone bug" feature; patch by victory(_RSZ_) <bmo2007@rsz.jp>, r=vladd.
git-svn-id: svn://10.0.0.236/trunk@216667 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 15:40:27 +00:00
thomas.benisch%sun.com
4a789af8f6 bug #357397 support WCAP server invitations r=mvl
git-svn-id: svn://10.0.0.236/trunk@216666 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 14:50:04 +00:00
dschaffe%adobe.com
ee5c81b648 bug 361312, fix tamarin tests of case Math.pow(Infinity,-1)=0 and variants, r=wsharp
git-svn-id: svn://10.0.0.236/trunk@216665 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 14:30:29 +00:00
thomas.benisch%sun.com
f75e0df2ee bug #357397 support WCAP server invitations
git-svn-id: svn://10.0.0.236/trunk@216664 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 14:28:45 +00:00
thomas.benisch%sun.com
c392079e43 bug #357397 support WCAP server invitations
git-svn-id: svn://10.0.0.236/trunk@216663 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 13:48:42 +00:00
kaie%kuix.de
413c4b7249 Bug 362980, Unable to verify the identity of [www.something.com] as a trusted site
Fixes a regression from yesterday's checkin for bug 176501.
r=rrelyea, r=wtchang


git-svn-id: svn://10.0.0.236/trunk@216661 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 13:02:28 +00:00
mozilla.mano%sent.com
a585ab7859 Bug 359552 - Remove keycode constants from nsIAutoCompleteController. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@216660 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 12:59:02 +00:00
gijskruitbosch%gmail.com
f534757264 Bug 342988 - Allow plugins to rebuild menu(s), but not before CZ has initialized.
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@216656 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 12:21:11 +00:00
gijskruitbosch%gmail.com
40bba391c8 Bug 326873 - ChatZilla should be less picky about filenames
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@216655 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 11:35:20 +00:00
longsonr%gmail.com
e7664de954 Bug 357808 - make nsSVGMarkerFrame::PaintMark and nsSVGMarkerFrame::RegionMark more robust. r=jwatt, sr=tor
git-svn-id: svn://10.0.0.236/trunk@216654 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 09:32:13 +00:00
mozilla.mano%sent.com
5ec2a77783 Bug 354531 - Moving (reordering) search engines should enable the Restore Defaults button. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@216651 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 09:01:30 +00:00
mozilla.mano%sent.com
1cb30110cf Bug 359056 - [Winstripe] regression: no hover feedback for go/search dropdown buttons. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@216650 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 08:58:48 +00:00
mozilla.mano%sent.com
2c72f3427c Bug 353438 - Preview of Location Bar in 'Customize' dialog flawed. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@216649 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 08:55:52 +00:00
cltbld
d3ee520ca6 bootstrap.cfg changes for Tbird 1.5.0.9 builds -preed
git-svn-id: svn://10.0.0.236/trunk@216645 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 07:15:31 +00:00
mozilla.mano%sent.com
233443cc69 Landing bug 354644's fix on trunk, r=mconnor.
git-svn-id: svn://10.0.0.236/trunk@216644 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 07:03:44 +00:00
masayuki%d-toybox.com
305c7436cb Bug 362048 gfxPlatFormGtk::ResolveFontName returns uninitialzed value for aAborted r=dbaron
git-svn-id: svn://10.0.0.236/trunk@216643 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 07:01:08 +00:00
reed%reedloden.com
1e6a5d1cb9 Bug 363029 - "local patch on registry on webtools.m.o... do we need it?" (commit just the comment portion)
git-svn-id: svn://10.0.0.236/trunk@216638 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 06:12:16 +00:00
cltbld
bc73e4f8ef Bump the pullDate to get the version number checkins for FFx 1.5.0.9.
git-svn-id: svn://10.0.0.236/trunk@216636 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 06:08:43 +00:00
smontagu%smontagu.org
b95d0b69a2 Compiler bustage fix
git-svn-id: svn://10.0.0.236/trunk@216634 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 05:10:12 +00:00
reed%reedloden.com
8eb5d2f530 Change /usr/bonsaitools/bin/perl to /usr/bin/perl [p=reed r=justdave]
git-svn-id: svn://10.0.0.236/trunk@216633 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 04:59:39 +00:00
reed%reedloden.com
8f3ad8ec5b Change /usr/bonsaitools/bin/perl to /usr/bin/perl [p=reed r=justdave]
git-svn-id: svn://10.0.0.236/trunk@216632 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 04:35:46 +00:00
bzbarsky%mit.edu
d631c95536 Fix build orange. Bug 356335, reviews hopefully coming up.
git-svn-id: svn://10.0.0.236/trunk@216631 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 03:43:52 +00:00
bzbarsky%mit.edu
9ecace1150 Fix build bustage. See bug 356335 comment 18 for what I forgot to do in the
initial checkin for that bug...  I need a longer-term memory, clearly.  :(


git-svn-id: svn://10.0.0.236/trunk@216630 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 02:53:35 +00:00
bzbarsky%mit.edu
db150e26f6 Go into an error state if we get a handler with a command in non-chrome XBL.
Bug 362716, r+sr=sicking


git-svn-id: svn://10.0.0.236/trunk@216629 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 02:34:57 +00:00
bzbarsky%mit.edu
dfc962fee2 Allocate the celldata structs from the presshell arena instead of allocating
them from the malloc heap with new.  Use nsTArray to store them and an nsTArray
to store those arrays instead of using nsVoidArray.  Bug 356335, r=bernd,
sr=sicking


git-svn-id: svn://10.0.0.236/trunk@216628 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 02:32:57 +00:00
wtchang%redhat.com
0c3b792433 Bugzilla Bug 345482: changed abspath to core_abspath to avoid conflict with
the built-in abspath function of GNU make 3.81.  The patch is contributed
by Benjamin Smedberg <benjamin@smedbergs.us>. r=wtc,christophe.ravel
Modified Files:
	coreconf/rules.mk nss/cmd/shlibsign/Makefile
	nss/lib/freebl/Makefile nss/lib/pk11wrap/Makefile


git-svn-id: svn://10.0.0.236/trunk@216626 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 01:57:18 +00:00
timeless%mozdev.org
c4eb3547d6 there's no objdir, but we need LOCAL_INCLUDES
git-svn-id: svn://10.0.0.236/trunk@216621 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-07 00:41:36 +00:00
ghendricks%novell.com
2e009fcc63 Filter the html in the diffs.
git-svn-id: svn://10.0.0.236/trunk@216619 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 23:33:07 +00:00
mozilla.mano%sent.com
d25e533013 Bug 347249 - QuickFind Link/Text Visual Distinction. r=gavin, ui-r=mconnor.
git-svn-id: svn://10.0.0.236/trunk@216617 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 23:24:26 +00:00
mozilla.mano%sent.com
67f31cfa10 Bug 363011 - click on search suggestion doesn't start the search anymore. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@216615 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 23:00:20 +00:00
wtchang%redhat.com
cb167e11ec Bug 332350: fixed a typo in the comment.
git-svn-id: svn://10.0.0.236/trunk@216614 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 23:00:17 +00:00
sayrer%gmail.com
ba68e3a1b8 test for bug 218236. Patch by Wladimir Palant <trev@gtchat.de>. r=bz
git-svn-id: svn://10.0.0.236/trunk@216610 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 22:41:07 +00:00
timeless%mozdev.org
b46cf23c0c Bug 362950 build in embedding/browser/gtk/src failed if srcdir=. is set
The makefile was violating readonly srcdir for objdir builds too...
r=bsmedberg


git-svn-id: svn://10.0.0.236/trunk@216609 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 22:32:07 +00:00
joshmoz%gmail.com
388bae4a52 copy nsLookAndFeel to cocoa dir so we don't depend on widget/mac, we can use cocoa, and our impl can diverge from mac widgets. remove cocoa ifdefs, de-tab files. b=362999 r=smorgan sr=pinkerton
git-svn-id: svn://10.0.0.236/trunk@216608 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 22:31:17 +00:00
ghendricks%novell.com
b8b10f9715 Added a top bugs report to plans
git-svn-id: svn://10.0.0.236/trunk@216607 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 22:29:50 +00:00
tor%cs.brown.edu
ca2e75f93f Bug 362008 - remove nsSVGImageFrame copy of image data. r=pavlov, sr=roc
git-svn-id: svn://10.0.0.236/trunk@216606 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 22:23:10 +00:00
mnyromyr%tprac.de
4d4efea460 Bug 351108: Tooltips in OS X need to not be banana-yellow; p=<stefanh@bluebottle.com>, r=josh, sr=pinkerton - "too....much....free....time..."
git-svn-id: svn://10.0.0.236/trunk@216605 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 22:19:45 +00:00
tor%cs.brown.edu
4f512d8fda Bug 362759 - make erode default morphology operation.
Patch by amenzie@us.ibm.com, r=tor, sr=roc.


git-svn-id: svn://10.0.0.236/trunk@216604 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 22:18:01 +00:00
tor%cs.brown.edu
b484107c01 Bug 362773 - add cairo_create error checking to nsSVGUtils.
Patch by amenzie@us.ibm.com, r=tor, sr=roc.


git-svn-id: svn://10.0.0.236/trunk@216603 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 22:16:15 +00:00
wtchang%redhat.com
a26a68193b Bugzilla Bug 342795: the call-once functions need to store the error code
on failure so that the error code can be retrieved later. r=nelsonb and
alexei.volkov.


git-svn-id: svn://10.0.0.236/trunk@216601 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 21:50:40 +00:00
stridey%gmail.com
197981d0a9 Camino only - bug 361016: Make zoom widget maximize to fill screen when shift is held. r=torben sr=pink
git-svn-id: svn://10.0.0.236/trunk@216600 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 21:43:39 +00:00
stridey%gmail.com
1899e63d7a Camino only - Bug 327203: When opening prefpanes, respect the OS Full keyboard access pref for determining whether or not to focus the first element. r=hwaara sr=pink
git-svn-id: svn://10.0.0.236/trunk@216599 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 21:25:09 +00:00
christophe.ravel.bugs%sun.com
b7566555ac Bugzilla 362857 Simplify the NSS version string definition.
r+ wtchang


git-svn-id: svn://10.0.0.236/trunk@216598 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 21:14:54 +00:00
smontagu%smontagu.org
6f9d166dbe Make alert notifications popup over the left end of the taskbar on right-to-left desktops. Bug 132733, r=ere, sr=neil
git-svn-id: svn://10.0.0.236/trunk@216596 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 20:52:09 +00:00
wsharp%adobe.com
9d04e5b964 bug 361312. Fix for Math.pow plus a few other things. r: stejohns@adobe.com
git-svn-id: svn://10.0.0.236/trunk@216595 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 20:51:03 +00:00
wtchang%redhat.com
521bf20b5a Bugzilla Bug 362857: simplified the NSS and softoken version string
definition.  r=christophe.ravel,nelsonb.
Modified files: nss/nss.h softoken/softkver.h


git-svn-id: svn://10.0.0.236/trunk@216592 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 19:51:30 +00:00
ghendricks%novell.com
0689dec183 Update url in env lookup
git-svn-id: svn://10.0.0.236/trunk@216591 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 19:37:03 +00:00
scott%scott-macgregor.org
0802969b60 Bug #360702 --> look for ISP RDF Files in extension directories. Don't forget to package rss.rdf from its new location. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216590 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 19:36:27 +00:00
ghendricks%novell.com
8c7002dc1e Forgot to add the quicksearch files.
git-svn-id: svn://10.0.0.236/trunk@216589 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 19:35:10 +00:00
smontagu%smontagu.org
9e39056441 Recognize attachments when importing Japanese Eudora mailboxes. Bug 95613, patch by Hiro <sugar.waffle@gmail.com>, r=me, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216584 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 19:09:49 +00:00
timeless%mozdev.org
4d2beb9547 Bug 283487 nsStringInputStream is still broken
use LengthRemaining consistently
r=darin


git-svn-id: svn://10.0.0.236/trunk@216583 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 18:46:29 +00:00
ghendricks%novell.com
987a4bc169 Use a suggest type lookup for environments in caseruns.
git-svn-id: svn://10.0.0.236/trunk@216582 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 18:35:39 +00:00
ccooper%deadsquid.com
e187b497d0 b=355278
- associate branches directly with testcases, subgroups, and testgroups
- existing Litmus installs will need to run the migration/update_branch_relationships.pl script to update their installs
- fix fidelity of testcase, subgroup, and testgroup listings so that entities th
at don't belong to groupings are still displayed

Misc.
- standardize how we call 'onchange' js functions to avoid capitalization errors that were plaguing us before
- enable differential sorting in FormWidget listings


git-svn-id: svn://10.0.0.236/trunk@216581 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 18:18:31 +00:00
stuart.morgan%alumni.case.edu
09a4411ae3 Camino only - Remove extra parameter is bookmark failure logging; no bug. r/sr=josh
git-svn-id: svn://10.0.0.236/trunk@216580 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 18:04:47 +00:00
aaronr%us.ibm.com
081a782a2a [XForms] removed redundant label in select anonymous content. Bug 348053, patch by surkov, r=aaronL+aaronr
git-svn-id: svn://10.0.0.236/trunk@216579 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 18:02:39 +00:00
wtchang%redhat.com
50fccfcc92 Bugzilla Bug 362246: enable large-file support on Mac OS X.
r=mark.mentovai,bienvenu


git-svn-id: svn://10.0.0.236/trunk@216575 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 17:57:34 +00:00
kaie%kuix.de
a6585ba30d Bug 362967, export SECMOD_DeleteModuleEx
r=rrelyea, r=wtchang


git-svn-id: svn://10.0.0.236/trunk@216574 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 17:56:04 +00:00
michael.buettner%sun.com
719f017794 bug #362921 moving event to new start-date does not update free/busy grid
git-svn-id: svn://10.0.0.236/trunk@216573 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 17:54:30 +00:00
stuart.morgan%alumni.case.edu
d43ce9ede1 Camino only - Bug 344356: Fill all password forms, not just the first one.
git-svn-id: svn://10.0.0.236/trunk@216572 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 17:43:39 +00:00
kaie%kuix.de
8f45191b4b follow up checkin, make sure entries in nss.def are sorted
git-svn-id: svn://10.0.0.236/trunk@216571 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 17:32:47 +00:00
kaie%kuix.de
ac6441f8bf Bug 345277, When "Certificate Viewer" is shut, the object leaks
r=rrelyea


git-svn-id: svn://10.0.0.236/trunk@216570 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 17:25:14 +00:00
kaie%kuix.de
85ee992791 Export two NSS functions, required for:
Bug 307319, Certificate details show incorrect public key information
r=rrelyea


git-svn-id: svn://10.0.0.236/trunk@216569 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 17:12:41 +00:00
joshmoz%gmail.com
703152c5b9 fix "Some Cmd+Shift+letter shortcuts are broken". This is a big step towards fixing menuless dialogs as well. b=355817 r=mento sr=pinkerton
git-svn-id: svn://10.0.0.236/trunk@216568 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 17:04:13 +00:00
kaie%kuix.de
04fb966856 Bug 360526, Cert not imported - Feedback prompt sometimes does not work
r=rrelyea


git-svn-id: svn://10.0.0.236/trunk@216566 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 16:31:32 +00:00
kaie%kuix.de
27a43405ec Bug 360525, S/Mime LDAP cert fetching no longer works on trunk
r=mscott


git-svn-id: svn://10.0.0.236/trunk@216565 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 16:27:45 +00:00
kaie%kuix.de
fde4dc155a Bug 360528, Can no longer import trusted email cert
r=rrelyea


git-svn-id: svn://10.0.0.236/trunk@216564 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 16:20:08 +00:00
kaie%kuix.de
bf7ee32279 Bug 164707, Provide a way to view/delete orphan certs
r=rrelyea


git-svn-id: svn://10.0.0.236/trunk@216563 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 16:16:52 +00:00
mkaply%us.ibm.com
0b9ba08bd5 OS/2build break
git-svn-id: svn://10.0.0.236/trunk@216562 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 16:14:41 +00:00
michael.buettner%sun.com
d50ffb82b5 bug #359026 all-day events not included in calculating availability
git-svn-id: svn://10.0.0.236/trunk@216561 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 15:59:43 +00:00
kaie%kuix.de
e2a6356e24 Bug 176501, mozilla apps must manage NSS configuration for PKCS#11 shared libs, including nssckbi.dll
r=rrelyea


git-svn-id: svn://10.0.0.236/trunk@216560 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 15:42:39 +00:00
michael.buettner%sun.com
693585d8a8 bug #362961 missing relation for custom reminder
git-svn-id: svn://10.0.0.236/trunk@216559 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 14:50:33 +00:00
hwaara%gmail.com
12c3af2372 Implement accessible objects for xforms select controls. Patch by Alexander Surkov <surkov.alexander@gmail.com>. r=aaronr, aaronlev, b=348053
git-svn-id: svn://10.0.0.236/trunk@216558 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 13:44:19 +00:00
hwaara%gmail.com
c5c5bee258 Initial support for popupmenus, r=surkov, b=362080
git-svn-id: svn://10.0.0.236/trunk@216557 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 13:35:56 +00:00
neil%parkwaycc.co.uk
600348d019 Register content separately from skin and locale b=362265 r=ajschult sr=dveditz
git-svn-id: svn://10.0.0.236/trunk@216556 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 10:37:05 +00:00
reed%reedloden.com
9bd323afae Bug 311765 - [p=timeless r=bear]
git-svn-id: svn://10.0.0.236/trunk@216555 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 10:22:03 +00:00
reed%reedloden.com
ab05782243 Bug 318880 - "Despot should log authentication results" [p=justdave r=reed]
git-svn-id: svn://10.0.0.236/trunk@216554 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 09:37:49 +00:00
longsonr%gmail.com
a3f9a4e652 Bug 362683 - SVG Text doesn't move when x/y attributes changed r+sr=tor
git-svn-id: svn://10.0.0.236/trunk@216553 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 09:34:14 +00:00
michael.buettner%sun.com
c36b818abf bug #362743 add new icons to free/busy dialog and rearrange layout
git-svn-id: svn://10.0.0.236/trunk@216552 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 08:02:04 +00:00
michael.buettner%sun.com
6cc720608d bug #362743 add new icons to free/busy dialog and rearrange layout
git-svn-id: svn://10.0.0.236/trunk@216551 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 07:56:42 +00:00
reed%reedloden.com
3fb096fea7 Bug 322763 - "Should be a UI for the administrator to view an account's history" [p=reed r=justdave]
git-svn-id: svn://10.0.0.236/trunk@216550 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 07:56:24 +00:00
masayuki%d-toybox.com
97ca50516b Bug 341500 crash in usp10.dll(ScriptShape API) r=pavlov
git-svn-id: svn://10.0.0.236/trunk@216548 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 07:01:02 +00:00
bzbarsky%mit.edu
2cb665ad6a Add more tests.
git-svn-id: svn://10.0.0.236/trunk@216547 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 06:59:22 +00:00
reed%reedloden.com
376c1c0259 Bug 362912 - [p=reed r=justdave]
git-svn-id: svn://10.0.0.236/trunk@216546 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 06:25:05 +00:00
bzbarsky%mit.edu
79e3b2b3ba Add a few more tests
git-svn-id: svn://10.0.0.236/trunk@216545 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 06:20:21 +00:00
scott%scott-macgregor.org
6251d22199 replace spaces with tabs in the Makefile in order to fix build bustage on linux.
git-svn-id: svn://10.0.0.236/trunk@216544 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 05:49:23 +00:00
scott%scott-macgregor.org
01da3259d0 Bug #362557 --> forgot to land this with the rest of the changes to support editing tags.
git-svn-id: svn://10.0.0.236/trunk@216541 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 05:31:44 +00:00
scott%scott-macgregor.org
b3824ce6e8 Bug #360702 --> Look for ISP RDF files in extension directories. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216540 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 05:24:28 +00:00
scott%scott-macgregor.org
bea3b02a66 Bug #360702 --> Look for ISP RDF files in extension directories that contain "isp" sub directories. This should make it easy for extensions to make account setup easy for ISPs. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216539 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 05:22:26 +00:00
alfred.peng%sun.com
cf0865ef8c Bug 351950. nsLocalFileUnix has "access"(system call) problem on Solaris.
r+sr=dougt.


git-svn-id: svn://10.0.0.236/trunk@216538 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 03:58:48 +00:00
timeless%mozdev.org
87d9aca247 Bug 351261 startup crash. [@ js_XDRStringAtom] / jsxdrapi.c
mips crash because of bad optimization with MIPSpro compiler
patch by neko@nekochan.net r=brendan


git-svn-id: svn://10.0.0.236/trunk@216537 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 03:03:59 +00:00
timeless%mozdev.org
99eae78b79 Bug 322806 ARM crash [@ XPTC_InvokeByIndex]
patch by apm@dna.fi
eabi arm assembly didn't warn that a variable was a memory operand so the
newer gcc compilers (e.g. gcc4) started optimizing things away...

I tried to get someone to vouch for this code but the people I poked
never got back to me.

moa=timeless


git-svn-id: svn://10.0.0.236/trunk@216536 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 03:00:09 +00:00
timeless%mozdev.org
f723e5f220 Bug 337244 Incorrect pointer passed in nsUnicodeToISO2022JP::ConvertNoBuffNoErr
r=smontagu sr=roc


git-svn-id: svn://10.0.0.236/trunk@216534 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 02:49:51 +00:00
mattwillis%gmail.com
eb75237ca0 Okay, that doesn't work either. Removing --with-sdk for now.
git-svn-id: svn://10.0.0.236/trunk@216533 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 02:42:15 +00:00
wtchang%redhat.com
b9d0822fe3 Bugzilla Bug 357197: when we compare hash algorithm identifiers, allow the
'parameters' to be either NULL or missing.  r=nelsonb,relyea


git-svn-id: svn://10.0.0.236/trunk@216531 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 02:25:52 +00:00
mattwillis%gmail.com
9684419fd7 Bump SDK used to 10.3.9. josh's checkin for (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_3) breaks using 10.2.8 on trunk.
git-svn-id: svn://10.0.0.236/trunk@216529 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 01:37:53 +00:00
wtchang%redhat.com
ed4b8e9aeb Bugzilla Bug 358248: SSL_ShutdownServerSessionIDCache should stop the
LockPoller thread.  r=nelsonb,relyea


git-svn-id: svn://10.0.0.236/trunk@216528 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 01:36:08 +00:00
ted.mielczarek%gmail.com
bee418d4f3 bug 359151 Generate symbol files from pdb if airbag is enabled. r=preed. Use |make splitsymbols| to generate symbols.
git-svn-id: svn://10.0.0.236/trunk@216526 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 01:16:05 +00:00
ted.mielczarek%gmail.com
86894b2dc0 bug 359151 Generate symbol files from pdb if airbag is enabled. r=preed. This binary was compiled from the airbag source: http://airbag.googlecode.com/svn/trunk/src/tools/windows/dump_syms/
git-svn-id: svn://10.0.0.236/trunk@216525 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 01:14:51 +00:00
timeless%mozdev.org
bcb588e3dc Bug 362283 Components.errors is a silly typo for Components.results
patch by sciguyryan+bugzilla@gmail.com r=bsmedberg


git-svn-id: svn://10.0.0.236/trunk@216524 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 01:12:06 +00:00
preed%mozilla.com
60b8a5568d Bug 360813: patcher2.pl doesn't generate correct snippits for older releases on partner builds. r=preed
git-svn-id: svn://10.0.0.236/trunk@216523 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 01:11:27 +00:00
timeless%mozdev.org
222d8d6349 Bug 362720 please spell NS_LOCAL_FILE_CONTRACTID as such
r=gavin


git-svn-id: svn://10.0.0.236/trunk@216522 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 00:48:12 +00:00
martijn.martijn%gmail.com
1e69df58b5 Bug 304188 - find-menu appears in editor element which has had makeEditable() called but designMode not set, r=mano
git-svn-id: svn://10.0.0.236/trunk@216520 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 00:17:24 +00:00
joshmoz%gmail.com
9b756917d1 (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_3) is never true any more on trunk. r=smorgan
git-svn-id: svn://10.0.0.236/trunk@216519 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-06 00:14:47 +00:00
tony%ponderer.org
e51ed9e0c2 Add tests for URLCanonicalizer and EnchashDecryptor. Small change in
trtable.js to expose JS component in debug builds to allow testing.


git-svn-id: svn://10.0.0.236/trunk@216517 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 23:36:01 +00:00
lpsolit%gmail.com
62b510372b Bug 362878: .htaccess should protect .pm and .pl files by default - Patch by Frédéric Buclin <LpSolit@gmail.com> r=myk
git-svn-id: svn://10.0.0.236/trunk@216515 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 23:09:46 +00:00
bzbarsky%mit.edu
ab526229a2 Avoid floats altogether for block <math>. Bug 362701, r+sr=rbs
git-svn-id: svn://10.0.0.236/trunk@216512 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 22:28:07 +00:00
lpsolit%gmail.com
d1f058a46b Bug 334995: Doctor needs an installation script to set file permissions correctly - Patch by Frédéric Buclin <LpSolit@gmail.com> r=myk
git-svn-id: svn://10.0.0.236/trunk@216511 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 22:19:38 +00:00
timeless%mozdev.org
35361dde9b Trying to fix Thunderbird Linux galactica Dep Lt-Release %
it's running with an old glib2. The hope is that the code will automatically
generate the marshalling code. This may or may not work, if it doesn't,
everything will probably go red :).


git-svn-id: svn://10.0.0.236/trunk@216509 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 21:36:25 +00:00
mvl%exedo.nl
4b76343d6e bug 360513: Show file type suffix in import/export file picker filter description (wildmat pattern). patch by gekacheka@yahoo.com, r=lilmatt, me. ui-review=dmose
git-svn-id: svn://10.0.0.236/trunk@216507 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 21:17:18 +00:00
ghendricks%novell.com
7590f96609 Bugzilla Bug 362861
DB error--cannot find column while attempting to create report of completed test run


git-svn-id: svn://10.0.0.236/trunk@216506 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 20:46:09 +00:00
rhelmer%mozilla.com
13df5f7d1e add Makefile and Config
git-svn-id: svn://10.0.0.236/trunk@216503 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 19:58:38 +00:00
preed%mozilla.com
ab3e04b540 Bug 360034: tinder-config changes for the 1.5.0.9 release; r=rhelmer
git-svn-id: svn://10.0.0.236/trunk@216502 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 19:56:12 +00:00
sayrer%gmail.com
a9df860190 Bug 362547. Crash in SAXReader with doctype missing public, system ID's. Patch by Alex Vincent <ajvincent@gmail.com>. r=sayrer, sr=bz
git-svn-id: svn://10.0.0.236/trunk@216499 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 19:37:37 +00:00
bzbarsky%mit.edu
6dda4a3840 Allow subframes that come from a different domain to document.write/open
themselves.  Bug 362837, r+sr=jst


git-svn-id: svn://10.0.0.236/trunk@216498 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 19:36:40 +00:00
rhelmer%mozilla.com
c044968bd5 reset test log
git-svn-id: svn://10.0.0.236/trunk@216497 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 19:13:34 +00:00
rhelmer%mozilla.com
cf5be8be88 implement release steps b=356185 r=preed
git-svn-id: svn://10.0.0.236/trunk@216496 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 19:12:59 +00:00
joshmoz%gmail.com
bcef8b46c5 Treat control-click on mac as a right click. b=362812 r=mano sr=pink
git-svn-id: svn://10.0.0.236/trunk@216495 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 18:38:17 +00:00
stridey%gmail.com
6caa129bfc Camino only - Bug 313740: Force drags from external apps to copy, not move. r=Wevah sr=pink
git-svn-id: svn://10.0.0.236/trunk@216494 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 18:36:59 +00:00
preed%mozilla.com
ecc226facb Add HashFile() to exported symbols. r=rhelmer
git-svn-id: svn://10.0.0.236/trunk@216493 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 18:27:08 +00:00
rhelmer%mozilla.com
0c17fae856 use exporter b=356185 r=preed
git-svn-id: svn://10.0.0.236/trunk@216492 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 18:24:08 +00:00
sayrer%gmail.com
d321819e85 Bug 362329. Autodiscovery should not discover rel='alternate stylesheet' as a feed. r=gavin
git-svn-id: svn://10.0.0.236/trunk@216491 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 18:18:05 +00:00
aaronr%us.ibm.com
abaef00423 schema loader/validator isnt handling forward declaration of complexContent extension base. Bug 350076, patch by sspeiche, r+a=doronr
git-svn-id: svn://10.0.0.236/trunk@216490 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 18:09:42 +00:00
nrthomas%gmail.com
e5f7f40b80 Nagios changes for Firefox/Xulrunner version bump to 2.0.0.1/1.8.1.1. Bug 360585, r=preed
git-svn-id: svn://10.0.0.236/trunk@216489 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 18:02:18 +00:00
nrthomas%gmail.com
07591b6813 Firefox/Xulrunner version bump to 1.5.0.9/1.8.0.9. Bug 360034, r=preed
git-svn-id: svn://10.0.0.236/trunk@216488 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 17:59:44 +00:00
mvl%exedo.nl
4e096d0f15 bustage fix
git-svn-id: svn://10.0.0.236/trunk@216487 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 16:46:39 +00:00
jminta%gmail.com
d41a8c8a90 Bug 277731 no way to convert task <-> event, r=lilmatt, mvl
git-svn-id: svn://10.0.0.236/trunk@216486 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 16:21:45 +00:00
doronr%us.ibm.com
2de3ed3b02 Make schema validation tests not hardcode my path. Patch be sspeiche, r=me
git-svn-id: svn://10.0.0.236/trunk@216485 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 16:21:13 +00:00
jminta%gmail.com
a71ebd6df4 Bug 361560 Weekly layout: Sunday of previous week displayed in current week, r=lilmatt, mvl
git-svn-id: svn://10.0.0.236/trunk@216484 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 16:17:08 +00:00
jminta%gmail.com
84a2947cb2 Bug 360658 Weekly layout: No preview for 'Selected events' selection [Error: aStart has no properties], r=lilmatt, mvl
git-svn-id: svn://10.0.0.236/trunk@216483 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 16:13:29 +00:00
peterv%propagandism.org
859f63854e Fix part of bug 226124 (Cleanup transformiix walkers). r/sr=sicking.
git-svn-id: svn://10.0.0.236/trunk@216482 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 15:59:04 +00:00
bienvenu%nventure.com
b1291887d5 don't stop local ab autocomplete when the user types @, r=neil, sr=mscott 200804
git-svn-id: svn://10.0.0.236/trunk@216481 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 15:54:02 +00:00
brendan%mozilla.org
5ce206c2a5 Back out last checkin.
git-svn-id: svn://10.0.0.236/trunk@216480 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 15:46:19 +00:00
bzbarsky%mit.edu
25c459209d Move GetCompatibilityMode() to nsIDocument. Bug 362797, r+sr=jst
git-svn-id: svn://10.0.0.236/trunk@216479 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 15:46:18 +00:00
edburns%acm.org
dac867a2cc M mozilla/Makefile.in
M src/Makefile.in

- Force logging to be enabled, regardless of debugging setting.

M src/PlugletEngine.cpp

- Make sure to disable JVM debugging.


git-svn-id: svn://10.0.0.236/trunk@216477 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 13:02:25 +00:00
brendan%mozilla.org
43df37f53d Back out last rev to clear orange balsa.
git-svn-id: svn://10.0.0.236/trunk@216476 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 07:39:15 +00:00
brendan%mozilla.org
501c8f8d6f Fix O(n^2) problem exposed by closures as instance-getters/setters (335700, r=mrbkap+shaver).
git-svn-id: svn://10.0.0.236/trunk@216471 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 00:55:00 +00:00
brendan%mozilla.org
985f53dfd3 Add JS_DHASH_{,DEFAULT_}CAPACITY macros for realloc-free init (356116, r/sr=mrbkap+shaver/dbaron).
git-svn-id: svn://10.0.0.236/trunk@216470 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 00:52:05 +00:00
ghendricks%novell.com
a6d15be59d Add more detail to notes and give users a popup too view all the notes.
Added script and arguments to the case-run short form.


git-svn-id: svn://10.0.0.236/trunk@216467 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 00:20:58 +00:00
cst%yecc.com
bc0ee935af Fixing string from previous checkin
git-svn-id: svn://10.0.0.236/trunk@216466 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 00:18:14 +00:00
cst%yecc.com
0c10bf0bbf Bug 339720 show warning page before showing about:config (toolkit version)
r=mano


git-svn-id: svn://10.0.0.236/trunk@216465 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-05 00:15:22 +00:00
mats.palmgren%bredband.net
a51098a12d Last checkin was for bug 353553.
git-svn-id: svn://10.0.0.236/trunk@216464 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 23:50:19 +00:00
mats.palmgren%bredband.net
3e318e35c9 Fix regression from bug 286622. r=cbiesinger sr=dveditz
git-svn-id: svn://10.0.0.236/trunk@216463 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 23:47:34 +00:00
timeless%mozdev.org
4b321afe5f missed one gnomevfs containing function. of course, that function was buggy...
git-svn-id: svn://10.0.0.236/trunk@216460 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 23:40:52 +00:00
wtchang%redhat.com
c7169e2f5e Bugzilla Bug 362173: The NSS cryptographic module (the softoken and freebl
shared libraries) should have its own version numbers. r=nelsonb and
neil.williams.
Modified Files:
	lib/freebl/freebl.rc lib/freebl/freeblver.c
	lib/softoken/manifest.mn lib/softoken/pkcs11.c
	lib/softoken/softkver.c lib/softoken/softokn.rc
Added Files:
	lib/softoken/softkver.h


git-svn-id: svn://10.0.0.236/trunk@216459 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 23:31:35 +00:00
preed%mozilla.com
e950cdfa5a Adds HashFile(), a method that uses openssl to provide md5/sha1 sums of files. Much of the code was taken from tinderbox's implementation; openssl was chosen because it's just about guaranteed to exist on all the platforms we care about, and thus elimintes platform-specifics-parsing- and trying to figure out platform/which-binary-to-call-issues.
git-svn-id: svn://10.0.0.236/trunk@216458 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 23:19:01 +00:00
timeless%mozdev.org
2c45bf926f Attempt to make gnomevfs optional
git-svn-id: svn://10.0.0.236/trunk@216457 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 23:10:20 +00:00
timeless%mozdev.org
5193e38807 oops, map doesn't take a parameter
git-svn-id: svn://10.0.0.236/trunk@216456 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 22:33:27 +00:00
ghendricks%novell.com
7498a51b05 fixed the missing pie.
git-svn-id: svn://10.0.0.236/trunk@216455 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 22:23:21 +00:00
ghendricks%novell.com
0860b44fd9 List bug test cases instead of case-runs
git-svn-id: svn://10.0.0.236/trunk@216454 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 22:15:30 +00:00
ghendricks%novell.com
f819acd422 Allow cloning of a list of cases to a list of plans.
git-svn-id: svn://10.0.0.236/trunk@216453 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 21:52:57 +00:00
despotdaemon
5a25ba25f8 Pseudo-automatic update of changes made by nrthomas@gmail.com.
git-svn-id: svn://10.0.0.236/trunk@216452 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 21:46:42 +00:00
mvl%exedo.nl
cd712957fd bustage fix
git-svn-id: svn://10.0.0.236/trunk@216450 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 21:38:20 +00:00
cltbld
8c4ad5353b Automated update from host egg.build.mozilla.org
git-svn-id: svn://10.0.0.236/trunk@216449 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 21:31:03 +00:00
roc+%cs.cmu.edu
7a14fc9070 fixing bustage
git-svn-id: svn://10.0.0.236/trunk@216448 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 21:28:56 +00:00
timeless%mozdev.org
030f8e1ef5 Fixing merge conflict, fixing out value to return ok on success and fixing out value to null out on failure.
Using interface map for complicated conditional case.


git-svn-id: svn://10.0.0.236/trunk@216445 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 21:23:35 +00:00
ghendricks%novell.com
b77b994631 Changes to cloning. Now you can keep the author or choose yourself. Also cloning plans between products and runs between plans.
git-svn-id: svn://10.0.0.236/trunk@216444 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 21:03:06 +00:00
timeless%mozdev.org
1c7e4a3627 reverting header include to match rev 1.24, it's a gtk2 only header...
git-svn-id: svn://10.0.0.236/trunk@216443 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 20:58:27 +00:00
cltbld
fe2cf06b52 Automated update from host egg.build.mozilla.org
git-svn-id: svn://10.0.0.236/trunk@216442 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 20:51:03 +00:00
roc+%cs.cmu.edu
e7a95dd7ee Bug 312793. Make Linux builds listen to dbus for NetworkManager events so we can go online/offline automatically. r=caillon,bsmedberg sr=darin
git-svn-id: svn://10.0.0.236/trunk@216440 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 20:42:31 +00:00
bzbarsky%mit.edu
e1eaaf62ed Make ReconstructDocElementHierarchy work correctly even if we first blew away a
pseudo which had the root as its content.  Bug 343293, r+sr=roc


git-svn-id: svn://10.0.0.236/trunk@216439 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 20:35:55 +00:00
aaronr%us.ibm.com
40660adb9d [XForms] reset has stopped working. Bug 362310, r=surkov+olli
git-svn-id: svn://10.0.0.236/trunk@216438 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 20:33:14 +00:00
bzbarsky%mit.edu
090356bde5 Fix build bustage on platforms where we use a struct for 64-bit ints. Bug
361075, r=shaver


git-svn-id: svn://10.0.0.236/trunk@216436 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 20:28:31 +00:00
bugzilla%standard8.demon.co.uk
48339d03de Fix build bustage from gtkmozembed checkins, r=timeless
git-svn-id: svn://10.0.0.236/trunk@216435 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 20:23:52 +00:00
lpsolit%gmail.com
c8c3de36a3 Bug 359129: Doctor should have a robots.txt - Patch by Frédéric Buclin <LpSolit@gmail.com> r=myk
git-svn-id: svn://10.0.0.236/trunk@216434 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 20:06:25 +00:00
despotdaemon
2b59b36bff Pseudo-automatic update of changes made by knous@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@216431 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 19:35:05 +00:00
timeless%mozdev.org
b062f9dbe8 Pulling romaxa's gtk1 fixes and the other changes from his commit
git-svn-id: svn://10.0.0.236/trunk@216429 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 18:00:11 +00:00
stridey%gmail.com
022cc742ca Camino only - bug 362572: Visual tweaks to Appearance Prefpane. r=ardissone sr=pink
git-svn-id: svn://10.0.0.236/trunk@216427 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 17:46:57 +00:00
bugzilla%standard8.demon.co.uk
d0a1c6d189 Bug 256447 In mailWindowOverlay.js, "Warning: redeclaration of var i" and "Warning: assignment to undeclared variable pop3Server" (Bv1-TB) p=Serge Gautherie <sgautherie.bz@free.fr>,r=bienvenu,sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216423 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 17:09:01 +00:00
bugzilla%standard8.demon.co.uk
cf30ce7778 Bug 361994 Searching for LDAP entries in address book always gets all entries (fixes regression from bug 355363). r/sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216422 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 17:06:15 +00:00
stridey%gmail.com
87e7e8ef50 Camino only - Bug 346772: First item in History search results has all disabled items in context menu. r=smorgan sr=pink
git-svn-id: svn://10.0.0.236/trunk@216421 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 17:04:55 +00:00
bugzilla%standard8.demon.co.uk
498562c05c Bug 360777 Change nsIAbCard::EditCardToDatabase to nsIAbDirectory::ModifyCard. r=bienvenu,sr=mscott (relanding now windows compilation issues should be fixed).
git-svn-id: svn://10.0.0.236/trunk@216420 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 17:04:43 +00:00
timeless%mozdev.org
b4ff8c409e fixing non libxul directory service handl; thanks smaug
git-svn-id: svn://10.0.0.236/trunk@216419 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 16:01:06 +00:00
timeless%mozdev.org
d4a7b4df39 fixing non libxul directory service handling; thanks smaug
git-svn-id: svn://10.0.0.236/trunk@216418 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 15:39:33 +00:00
peterv%propagandism.org
8c4433aa7f Add new JS component for bug 354886 to package files.
git-svn-id: svn://10.0.0.236/trunk@216417 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 15:30:00 +00:00
hwaara%gmail.com
b2338f244c Reorganize full selects, Patch by Alexander Surkov <surkov.alexander@gmail.com>. r=aaronr, Olli.Pettay, b=358712
git-svn-id: svn://10.0.0.236/trunk@216416 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 15:21:14 +00:00
peterv%propagandism.org
4249846cc7 Fix for bug 354886 (implement EXSLT - Regular Expressions module). r/sr=sicking.
git-svn-id: svn://10.0.0.236/trunk@216415 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 15:11:40 +00:00
hwaara%gmail.com
599211201d Reorganize full selects, Patch by Alexander Surkov <surkov.alexander@gmail.com>. r=aaronr, Olli.Pettay, b=358712
git-svn-id: svn://10.0.0.236/trunk@216414 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 14:55:25 +00:00
timeless%mozdev.org
7563c3b33c Fixing most ifdefs to mean libxul instead of saying 1.8
making xulrunner link dynamically against gtkmozembed (because ajschult and
I couldn't figure out how to deal with a profiledirectorylock and we know
of no reason to have gtkmozembed linked statically).
Hopefully fixed some cast complaints smaug had (presumably they relate to
the comments "I doubt this cast pair is correct").
Tried to clean up the REQUIRES a /bit/ in an effort to address the lock
problem.

Again, thanks to ajschult for his time and assistance.


git-svn-id: svn://10.0.0.236/trunk@216412 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 10:50:02 +00:00
smontagu%smontagu.org
8cb532ea8b Correct stupid typo in default font names. Bug 362709, r=mano
git-svn-id: svn://10.0.0.236/trunk@216411 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 09:43:52 +00:00
reed%reedloden.com
dd57b1f8a4 Bug 362704 - "Bonsai needs a default .htaccess file for data directory" [p=reed r=timeless]
git-svn-id: svn://10.0.0.236/trunk@216410 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 08:32:01 +00:00
reed%reedloden.com
dc7064168a Bug 272514 - "make install does "chmod 755 data/", which breaks sendmail writing to that directory" [p=reed r=timeless]
git-svn-id: svn://10.0.0.236/trunk@216409 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 08:00:08 +00:00
timeless%mozdev.org
9dfdbfd20c SetPageTitle is nsIGlobalHistory2 :(
And RemoveAllPages is now just nsresult


git-svn-id: svn://10.0.0.236/trunk@216408 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 07:58:22 +00:00
smontagu%smontagu.org
d1c574b919 Reverse the y offsets returned by ScriptPlace(). Bug 361782, r=pavlov
git-svn-id: svn://10.0.0.236/trunk@216407 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 07:23:12 +00:00
reed%reedloden.com
dc331a3010 Bug 347105 - [p=reed r=timeless]
git-svn-id: svn://10.0.0.236/trunk@216406 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 07:09:50 +00:00
reed%reedloden.com
d132cad03c Bug 346660 - [p=justdave r=myk]
git-svn-id: svn://10.0.0.236/trunk@216405 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 07:08:00 +00:00
timeless%mozdev.org
7482a312b7 Removing nsIBrowserHistory
The only method we needed was RemoveAllPages, which i've moved to be accessible via nsIObserver,
it's a private communication from the specific history client.

Variable length arrays is a C99 ism, in gecko we use nsAutoArrayPtr.

thanks to ajschult for helping out


git-svn-id: svn://10.0.0.236/trunk@216404 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 06:46:27 +00:00
timeless%mozdev.org
6c1793062c Title should be nsCString (Autos never belong in structures, and the data was always narrow)
git-svn-id: svn://10.0.0.236/trunk@216403 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 06:23:28 +00:00
timeless%mozdev.org
01e43ed007 First attempt at bandaging gtk1
git-svn-id: svn://10.0.0.236/trunk@216402 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 06:22:18 +00:00
scott%scott-macgregor.org
4cda990adc Bug #308552 --> land some strings for growl integration in case we add growl support.
git-svn-id: svn://10.0.0.236/trunk@216401 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 06:11:02 +00:00
ajschult%verizon.net
24dcebf110 Fixing preliminary bustage. rs=timeless
git-svn-id: svn://10.0.0.236/trunk@216400 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 06:02:56 +00:00
scott%scott-macgregor.org
cb9dcc05d5 Bug #361434 --> add some strings for the privacy dialog in case we want to use them after the string freeze
git-svn-id: svn://10.0.0.236/trunk@216399 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 05:53:49 +00:00
scott%scott-macgregor.org
443ecb1b3e Bug #361434 --> put the advanced config button after the return receipts button.
git-svn-id: svn://10.0.0.236/trunk@216398 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 05:43:32 +00:00
pavlov%pavlov.net
8be0a19df7 fixing windows print crash bug 362476. r=vlad
git-svn-id: svn://10.0.0.236/trunk@216395 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 05:03:13 +00:00
reed%reedloden.com
7982fe675f Bug 279089 - "Add favicon to bonsai" [p=justdave p=unattended@gmail.com r=reed r=timeless]
git-svn-id: svn://10.0.0.236/trunk@216394 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 05:02:57 +00:00
timeless%mozdev.org
7e663e4f9e Landing MICROB_20061031_BRANCH
This is an experiment, and I'm sorry that the code isn't perfect.
Patches Wanted, Work will be on the MICROB_20061204_BRANCH


git-svn-id: svn://10.0.0.236/trunk@216392 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 04:06:14 +00:00
philringnalda%gmail.com
b979daf5a5 Bug 361246: Don't collapse toolbar customization window since we don't animate it, r=mano
git-svn-id: svn://10.0.0.236/trunk@216389 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 03:02:15 +00:00
bzbarsky%mit.edu
6175079009 Better naming for the tests for bug 362594
git-svn-id: svn://10.0.0.236/trunk@216388 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 02:24:03 +00:00
bzbarsky%mit.edu
13b38651f2 Fixing buglet.
git-svn-id: svn://10.0.0.236/trunk@216387 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 02:15:22 +00:00
db48x%yahoo.com
79a9c4511f bug 327833: In <inspector.xul>, "Failed to load overlay from chrome://browser/content/baseMenuOverlay.xul"
patch by Shawn Wilsher :sdwilsh <comrade693+bmo@gmail.com>, r=timeless, sr=neil


git-svn-id: svn://10.0.0.236/trunk@216385 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 01:02:05 +00:00
despotdaemon
7383866fb1 Pseudo-automatic update of changes made by timeless@mozdev.org.
git-svn-id: svn://10.0.0.236/trunk@216384 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-04 00:40:17 +00:00
bzbarsky%mit.edu
764bd2fa4a Add regression tests for bug 362594.
git-svn-id: svn://10.0.0.236/trunk@216383 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 23:39:49 +00:00
Olli.Pettay%helsinki.fi
b9f447cb08 Test for bug 362391, r=sicking
git-svn-id: svn://10.0.0.236/trunk@216382 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 23:04:42 +00:00
reed%reedloden.com
c0b31a92d5 Bug 322729 - "Despot needs an .htaccess file to restrict access to various non-CGI files" [p=justdave r=reed]
git-svn-id: svn://10.0.0.236/trunk@216379 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 22:52:47 +00:00
reed%reedloden.com
41315ac6df Bug 322765 - "Lots of people are missing vouchers" [p=reed r=timeless]
git-svn-id: svn://10.0.0.236/trunk@216378 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 22:16:44 +00:00
reed%reedloden.com
242ba0609b Bug 17589 - ""delete user" currently not a good idea" (also change $EnableDeleteUser to 1) [p=reed r=timeless]
git-svn-id: svn://10.0.0.236/trunk@216377 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 22:10:33 +00:00
reed%reedloden.com
fd21d6ace5 Bug 322762 - "Password resets don't get logged" [p=reed r=timeless]
git-svn-id: svn://10.0.0.236/trunk@216376 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 22:07:18 +00:00
stridey%gmail.com
80ec4e16ce Camino only - Bug 362543: Make 'Clear History' menu item function with user-added keyboard shortcuts. r=ardissone sr=smorgan
git-svn-id: svn://10.0.0.236/trunk@216375 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 22:01:14 +00:00
cltbld
59fb0c0188 Automated update from host egg.build.mozilla.org
git-svn-id: svn://10.0.0.236/trunk@216374 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 21:21:02 +00:00
dietrich%mozilla.com
1ae60d8b04 Bug 360162 - Create build option for MOZ_PLACES_BOOKMARKS (r=bsmedberg)
git-svn-id: svn://10.0.0.236/trunk@216373 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 21:19:21 +00:00
mozilla.mano%sent.com
6ca0019f67 Bug 351253 - Search button misinterprets modifiers when clicked. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@216372 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 20:10:29 +00:00
philringnalda%gmail.com
5ef3c4b0b8 Bug 362627: Keyboard shortcuts to close Mac toolbar customization sheet don't work, r=mano
git-svn-id: svn://10.0.0.236/trunk@216371 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 19:52:28 +00:00
szegedia%freemail.hu
274664269e Bugfix for a generated proxy
git-svn-id: svn://10.0.0.236/trunk@216370 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 19:46:12 +00:00
neil%parkwaycc.co.uk
4322f922e5 Remove try/catch as Scott changed the implementation so that it returns nothing instead of throwing r=Mnyromyr
git-svn-id: svn://10.0.0.236/trunk@216369 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 19:43:16 +00:00
neil%parkwaycc.co.uk
cb6a4b2a28 Port Serge Gautherie's Thunderbird priority menu changes b=146075 r=Mnyromyr
git-svn-id: svn://10.0.0.236/trunk@216368 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 19:31:44 +00:00
reed%reedloden.com
aa1d06fa63 Bug 164221 - ""find partition containing file named" is misleading" [p=reed r=justdave]
git-svn-id: svn://10.0.0.236/trunk@216367 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 19:07:47 +00:00
mattwillis%gmail.com
710811902a bug 357756 - Make CalDAV handle trailing parameters on the URL. Patch by Bruno Browning <browning@uwalumni.com> r=lilmatt, jminta
git-svn-id: svn://10.0.0.236/trunk@216366 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 18:45:37 +00:00
mattwillis%gmail.com
17d511cef4 bug 311263 - Adds UTF-8 request headers for CalDAV. Patch by Bruno Browning <browning@uwalumni.com> r=ctalbert,mvl NPOTDB
git-svn-id: svn://10.0.0.236/trunk@216365 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 18:40:05 +00:00
reed%reedloden.com
d24dec84e8 Bug 321234 - [p=morgamic/timeless r=dveditz r=chase r=dbaron]
git-svn-id: svn://10.0.0.236/trunk@216364 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 18:35:24 +00:00
ajschult%verizon.net
8a25258922 Bug 343552: Bonsai shouldn't try to look ouside of cvsroot via ../, r=timeless
git-svn-id: svn://10.0.0.236/trunk@216361 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 16:27:46 +00:00
emaijala%kolumbus.fi
adb9378f07 Fix for bug 362162: copy image to other app and crash on exit
r+sr=pavlov


git-svn-id: svn://10.0.0.236/trunk@216360 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 10:10:30 +00:00
tony%ponderer.org
c4b664bdde Bug 337336: Remove safebrowsing code from /extensions/safebrowsing
part 2, actually remove all the safe browsing files
r=bsmedbergs


git-svn-id: svn://10.0.0.236/trunk@216359 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 08:29:45 +00:00
cltbld
f5e9421958 Automated update from host egg.build.mozilla.org
git-svn-id: svn://10.0.0.236/trunk@216358 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 08:11:01 +00:00
tony%ponderer.org
58a8f1155f Bug 337336: Remove safebrowsing code from /extensions/safebrowsing
patch part 1 (making sure configure change doesn't cause anything to blow up)
r=bsmedbergs


git-svn-id: svn://10.0.0.236/trunk@216357 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 08:04:21 +00:00
robert%accettura.com
06e19af06e Backout of bug 325098 to facilitate 256447
git-svn-id: svn://10.0.0.236/trunk@216355 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 04:11:33 +00:00
reed%reedloden.com
85661b9795 Bug 362614 - "Use of uninitialized value in string ne at despot.cgi line 441" [p=reed r=justdave]
git-svn-id: svn://10.0.0.236/trunk@216354 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 03:33:22 +00:00
anton.bobrov%sun.com
f10c871ff7 fix previous commit
git-svn-id: svn://10.0.0.236/trunk@216353 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 02:43:16 +00:00
bienvenu%nventure.com
f17d9ada0b fix 352530 connections exceeded alert with ssl imap, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216350 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 01:53:32 +00:00
reed%reedloden.com
1f09b3e8cd Bug 164151 - "Use of uninitialized value at line 58" [p=reed r=justdave]
git-svn-id: svn://10.0.0.236/trunk@216349 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 01:06:29 +00:00
reed%reedloden.com
75eb99b7c8 Bug 322790 - "Error about email address not in database should be consistent" [p=timeless r=justdave]
git-svn-id: svn://10.0.0.236/trunk@216348 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 00:34:02 +00:00
mrbkap%gmail.com
f9f5201fe4 Fix silly mistake (and thus UMR). bug 361694, r=brendan
git-svn-id: svn://10.0.0.236/trunk@216347 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-03 00:15:06 +00:00
brendan%mozilla.org
16c6d9e308 Fix from Gavin Reaney <gavin@picsel.com> for bug 362110, r=me.
git-svn-id: svn://10.0.0.236/trunk@216346 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 23:12:56 +00:00
gavin%gavinsharp.com
c7050a4e14 Bug 362286: nsIPrefBranchInternal is deprecated - use nsIPrefBranch2, patch by Shawn Wilsher :sdwilsh <comrade693+bmo@gmail.com>, r=db48x, sr=neil
git-svn-id: svn://10.0.0.236/trunk@216345 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 22:27:06 +00:00
gavin%gavinsharp.com
0c97f872d5 Bug 362590: Context 'Print Preview' menu lacks an accesskey, patch by Cédric Corazza <cedric.corazza@wanadoo.fr>, r=mscott
git-svn-id: svn://10.0.0.236/trunk@216343 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 21:57:01 +00:00
ajschult%verizon.net
b52c664be4 Bug 361128: Bad description of Privacy tab in page_info_help.xhtml. Patch by Rafal Likus <lemiel@wp.pl>, r=stefanh.
git-svn-id: svn://10.0.0.236/trunk@216341 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 17:16:18 +00:00
ajschult%verizon.net
02cf59e431 Bug 249744: Wrong URI for cookie notification icon. Patch by Rafal Likus <lemiel@wp.pl>, r=IanN.
git-svn-id: svn://10.0.0.236/trunk@216340 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 17:14:21 +00:00
ajschult%verizon.net
ba770dcb62 Bug 361901: Save Page menuitem label missing from File menu when DM is open. Patch by Stefan Hermes <stefanh@bluebottle.com>, r=mnyromyr, sr=neil
git-svn-id: svn://10.0.0.236/trunk@216338 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 16:40:40 +00:00
bugzilla%standard8.demon.co.uk
9b7d725b13 Bug 329744 Write migrator for moving to Toolkit-based profiles (basic build structure only). r/sr=Neil
git-svn-id: svn://10.0.0.236/trunk@216337 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 15:40:33 +00:00
bmlk%gmx.de
90079a0a52 testcase for bug 362348 NPOTB
git-svn-id: svn://10.0.0.236/trunk@216336 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 08:45:07 +00:00
scott%scott-macgregor.org
f8599f28d0 Bug #362557 --> add support for editing tags. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216335 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 07:47:42 +00:00
scott%scott-macgregor.org
34d346afc4 fix some dos line endings
git-svn-id: svn://10.0.0.236/trunk@216334 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 07:27:23 +00:00
scott%scott-macgregor.org
d88a2e8b50 Bug #362560 --> Tag UI polish. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216331 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 07:24:38 +00:00
bmlk%gmx.de
c07940c9fb colframes are referenced via the firstinflow bug 362348 r/sr=roc
git-svn-id: svn://10.0.0.236/trunk@216330 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 06:52:55 +00:00
mconnor%steelgryphon.com
62847bcfd9 bug 360493 - allow users to disable password autofill without disabling password manager, r=gavin
git-svn-id: svn://10.0.0.236/trunk@216329 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 06:34:22 +00:00
stuart.morgan%alumni.case.edu
92a4ecabf8 Bug 361838: Some valid .url files fail to open. Patch by Wevah <mozilla@derailer.org>. r=max sr=smorgan
git-svn-id: svn://10.0.0.236/trunk@216328 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 05:14:10 +00:00
stuart.morgan%alumni.case.edu
29ecff721d Bug 362488: Copied images are byte-swapped on Intel. r=josh
git-svn-id: svn://10.0.0.236/trunk@216327 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 04:54:26 +00:00
gerv%gerv.net
45d573d5f4 Code tidy-up; add option to print out list of initial developers.
git-svn-id: svn://10.0.0.236/trunk@216326 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 01:58:14 +00:00
mnyromyr%tprac.de
7c08ff25cb Bug 342560: npob anymore
git-svn-id: svn://10.0.0.236/trunk@216324 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 01:17:26 +00:00
philringnalda%gmail.com
c7a6cd3067 Bug 351639: Close button in notification bar is missing a tooltip, r=mano
git-svn-id: svn://10.0.0.236/trunk@216323 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 01:16:33 +00:00
bienvenu%nventure.com
5b7fff745e fix 361150 message aging with grouped view crashing, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216318 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 00:41:06 +00:00
ghendricks%novell.com
498e1254af Allow user to add a new case to a list of runs or an existing case from within show_case
git-svn-id: svn://10.0.0.236/trunk@216316 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 00:32:10 +00:00
cst%yecc.com
b49bae56c0 Bug 356805 Undo close tab doesn't show the tab bar if it was hidden
r+sr=neil


git-svn-id: svn://10.0.0.236/trunk@216315 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 00:29:36 +00:00
ghendricks%novell.com
47e2815af8 Nasty error showing up if you enter an invalid bug id on a case-run
git-svn-id: svn://10.0.0.236/trunk@216313 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 00:15:21 +00:00
cvshook%sicking.cc
38f3bfff89 Bug 361442: Evaluate context independent expressions at optimize time. r/sr=peterv
git-svn-id: svn://10.0.0.236/trunk@216312 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-02 00:01:45 +00:00
reed%reedloden.com
1be503802b Bug 362447 - "use ssl for URLs on bmo in mozbot" [p=bugzilla@tuxmachine.com r=colin.oglivie]
git-svn-id: svn://10.0.0.236/trunk@216311 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 23:49:49 +00:00
ghendricks%novell.com
873f5c2e57 Move to the lists of builds and categories after adding and updating instead of show_plan
git-svn-id: svn://10.0.0.236/trunk@216309 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 23:40:07 +00:00
rhelmer%mozilla.com
1c779fa96a tbird version bump b=362533 r=nrthomas(cf)
git-svn-id: svn://10.0.0.236/trunk@216300 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 23:01:35 +00:00
stridey%gmail.com
d54369b4b3 Camino only - Bug 359334: Tweak download toolbar tooltips for consistency and accuracy
git-svn-id: svn://10.0.0.236/trunk@216294 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 22:18:17 +00:00
scott%scott-macgregor.org
d61a2c9435 Bug #362402 --> chrome toolbars aren't toggline on and off properly because goToggleToolbar was accidentally removed. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216293 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 22:07:16 +00:00
mozilla%justcameron.com
48277a21d0 Bug 359084 - rustico: some ugly excess platform text when viewing an add-on that's not available for your platform
CSS changes made in the patch for that bug affected the bookmarks page too :(
r=shaver


git-svn-id: svn://10.0.0.236/trunk@216290 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 21:13:24 +00:00
ghendricks%novell.com
c9a2fc13e7 renamed README
git-svn-id: svn://10.0.0.236/trunk@216289 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 20:54:46 +00:00
ghendricks%novell.com
983411d54e Renamed README in dojo to prevent conflicts.
git-svn-id: svn://10.0.0.236/trunk@216288 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 20:48:23 +00:00
neil%parkwaycc.co.uk
56749d281a Decode the priority when editing a message as new b=146075 r=bienvenu sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216286 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 20:12:09 +00:00
ghendricks%novell.com
5f2daecadd Added script for updating testopia from CVS
git-svn-id: svn://10.0.0.236/trunk@216285 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 20:11:38 +00:00
bent.mozilla%gmail.com
8b21a1191d Bustage fix from 354787.
git-svn-id: svn://10.0.0.236/trunk@216283 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 19:49:24 +00:00
ghendricks%novell.com
216854ef14 Some error messages were being displayed before the headers were printed.
git-svn-id: svn://10.0.0.236/trunk@216282 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 19:37:26 +00:00
reed%reedloden.com
86ace1f824 Bug 349265 - "When using Modify Query, dates entered are clobbered (set to UNIX time)" (fix a regression caused by first patch) [p=bugzilla@tuxmachine.com r=justdave]
git-svn-id: svn://10.0.0.236/trunk@216278 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 19:30:43 +00:00
redfive%acm.org
609d721e2a bug360301 - add/remove eventListeners should both be capture
trunk checkin
r=enndeakin


git-svn-id: svn://10.0.0.236/trunk@216277 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 19:30:07 +00:00
reed%reedloden.com
8fc8db8f7d Bug 362444 - "Correct old reference to netscape, use https instead of http for URL, and update help" [p=reed r=justdave]
git-svn-id: svn://10.0.0.236/trunk@216276 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 19:27:28 +00:00
bienvenu%nventure.com
c501ba47df fix 362512 issues with rfc2047 encoding, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216275 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 19:26:30 +00:00
bent.mozilla%gmail.com
b2dca58318 Bug 354787 - "1% performance hit (Tp/Tdhtml) from the fix for bug 204114". r=roc+bsmedberg.
git-svn-id: svn://10.0.0.236/trunk@216274 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 19:26:18 +00:00
gavin%gavinsharp.com
deb3dbb566 Bug 362514: "official build" detection code doesn't work, treats all builds as "official", r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@216273 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 18:59:11 +00:00
gavin%gavinsharp.com
7c710a3066 Bug 362460: Search service shouldn't assume that builds with branding directories are "official" builds, r=mconnor
git-svn-id: svn://10.0.0.236/trunk@216270 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 18:18:28 +00:00
mattwillis%gmail.com
2412dc36c8 bustage fix - Remove blank lines caused by Windows line endings in the middle of a Unix file
git-svn-id: svn://10.0.0.236/trunk@216269 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 18:16:43 +00:00
ghendricks%novell.com
ab3a43f6a6 Sync with 2431
git-svn-id: svn://10.0.0.236/trunk@216268 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 18:06:58 +00:00
mattwillis%gmail.com
175ea305f7 bug 361216 - Adds new dtds to lightning's jar.mn. Patch by nightrat, r=jminta. Slight typo fixes by lilmatt
git-svn-id: svn://10.0.0.236/trunk@216267 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 17:55:13 +00:00
mats.palmgren%bredband.net
50ac9a55cb Use the EventStateManager to focus the for-element. b=360009 r=zeniko sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@216266 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 17:18:34 +00:00
wsharp%adobe.com
667f641df0 fix mac build. bug 362390.
git-svn-id: svn://10.0.0.236/trunk@216265 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 17:17:06 +00:00
wsharp%adobe.com
9cb1faf54b bug 362390. Various fixes to get Tamarin working with latest Adobe Flash player. Some fixes from Flash source code brought over. r: edwsmith
git-svn-id: svn://10.0.0.236/trunk@216264 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 16:38:46 +00:00
bclary%bclary.com
aa6928f538 JavaScript Test - regression test for bug 361571, by Jesse Ruderman
git-svn-id: svn://10.0.0.236/trunk@216263 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 16:11:58 +00:00
lpsolit%gmail.com
2d0af23821 Bug 356395: On bug creation, an error is thrown when the requestee of a private attachment is not in the insidergroup, or when the requestee is not in the grant group (for attachment flags) - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=myk
git-svn-id: svn://10.0.0.236/trunk@216262 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 15:55:24 +00:00
michael.buettner%sun.com
818ee87cca fixed issue with timezone-setting for tasks
git-svn-id: svn://10.0.0.236/trunk@216261 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 15:26:11 +00:00
Olli.Pettay%helsinki.fi
9e389ab7d5 Trying to fix Thunderbird bustage, Bug 360731
git-svn-id: svn://10.0.0.236/trunk@216260 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 14:40:05 +00:00
mozilla.mano%sent.com
f16cfe1d1b Bug 349481 - Clear private data dialog width is hardcoded. r=gavin
git-svn-id: svn://10.0.0.236/trunk@216258 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 12:44:40 +00:00
mozilla.mano%sent.com
fd4fc0b9e8 Bug 362295 - Remove find methods from browser and tabbrowser, r=gavin.
git-svn-id: svn://10.0.0.236/trunk@216257 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 12:38:47 +00:00
mozilla.mano%sent.com
91ef1d26dd Actually address gavin's review comment in bug 185239
git-svn-id: svn://10.0.0.236/trunk@216256 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 12:36:23 +00:00
mozilla.mano%sent.com
1bf95a76be Bug 185239 - Print Frame in context menu. r=gavin, ui-r=mconnor.
git-svn-id: svn://10.0.0.236/trunk@216255 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 12:33:30 +00:00
mozilla.mano%sent.com
e5a1371058 Bug 331215 - Find toolbar doesn't reset status when search is wrapped, also fix bug 361930 (strict warnings 'reference to undefined property this._foundLink'). r=gavin on both.
git-svn-id: svn://10.0.0.236/trunk@216254 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 12:29:11 +00:00
mozilla.mano%sent.com
8b3c53b218 Bug 343077 - Find Again toolbarbutton doesn't switch back to normal-find if the findbar is opened after links TAF. r=masayuki.
git-svn-id: svn://10.0.0.236/trunk@216253 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 12:19:26 +00:00
gijskruitbosch%gmail.com
9c6f25d793 Bug 361145 - Makes FAQ entry in help menu localizable
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only


git-svn-id: svn://10.0.0.236/trunk@216249 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 11:36:12 +00:00
Olli.Pettay%helsinki.fi
67a5b99ec2 Bug 360731, Back and Forward buttons on mouse no longer work, also Bug 330938, r=emaijala, sr=roc
git-svn-id: svn://10.0.0.236/trunk@216248 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 11:16:07 +00:00
Olli.Pettay%helsinki.fi
174edaba72 Bug 360731, Back and Forward buttons on mouse no longer work, also Bug 330938, r=emaijala, sr=roc
git-svn-id: svn://10.0.0.236/trunk@216247 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 11:09:53 +00:00
hwaara%gmail.com
d6879d09a3 Make deep hit-testing work. This makes VoiceOver able to speak whatever you mouse over, both in XUL and web page content (if that pref is set in the accessibility settings)
r=surkov, b=352329


git-svn-id: svn://10.0.0.236/trunk@216246 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 10:53:52 +00:00
michael.buettner%sun.com
46f75b409e bug #360120 selection of scheduled event should be interactive
git-svn-id: svn://10.0.0.236/trunk@216245 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 10:42:31 +00:00
Olli.Pettay%helsinki.fi
3be1d1aa64 Bug 362391, DOMAttrModified doesn't handle namespaced attributes properly, r+sr=sicking
git-svn-id: svn://10.0.0.236/trunk@216242 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 08:44:38 +00:00
scott%scott-macgregor.org
2acffb210e band aid, wrap our attempt to get the phishing warden in a try/catch
git-svn-id: svn://10.0.0.236/trunk@216241 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 08:32:52 +00:00
cls%seawood.org
0dd72d58fc Automatically disable airbag for mingw builds
Bug #362128 r=bsmedberg


git-svn-id: svn://10.0.0.236/trunk@216240 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 08:04:59 +00:00
cls%seawood.org
ea2634e773 Add -D_WIN32_IE=0x0400 to win32 builds to enable features used by SpecialSystemDirectory
Bug #361340 r=bsmedberg


git-svn-id: svn://10.0.0.236/trunk@216239 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 08:03:14 +00:00
cls%seawood.org
4efa0300cb The features used by nsNotifyAddrListener require w32api 3.8.
Bug #358023 r=bsmedberg


git-svn-id: svn://10.0.0.236/trunk@216238 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 07:57:08 +00:00
mconnor%steelgryphon.com
980f78e108 fix brokenness for a1, r=gavin over IRC, a=me since everyone's asleep
git-svn-id: svn://10.0.0.236/trunk@216237 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 07:56:36 +00:00
gerv%gerv.net
5ef0656e5c Further updates to deal with current codebase, and to note progress
git-svn-id: svn://10.0.0.236/trunk@216233 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 06:59:21 +00:00
scott%scott-macgregor.org
172eef2013 Bug #328749 --> add phishing detection support using a locally downloaded list of known phishing urls. Currently we don't have a provider to use to download the list. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216232 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 06:57:58 +00:00
scott%scott-macgregor.org
888fb78953 Bug #328749 --> Add phishing detection support using a locally downloaded list of known phishing urls. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216231 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 06:56:40 +00:00
cltbld
36558ab70e Automated update from host egg.build.mozilla.org
git-svn-id: svn://10.0.0.236/trunk@216230 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 06:51:02 +00:00
scott%scott-macgregor.org
342c090e6c Bug #328749 --> start building the url classifier for thunderbird. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216229 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 06:50:06 +00:00
scott%scott-macgregor.org
25a2feb828 Bug #328749 --> Add phishing detection support using a locally downloaded list of known phishing urls. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216228 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 06:47:44 +00:00
scott%scott-macgregor.org
b1958b065b Bug #328749 --> Add phishing detection support using a locally downloaded list of known phishing urls. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216226 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 06:41:28 +00:00
cltbld
1a31cc3d4d Automated update from host egg.build.mozilla.org
git-svn-id: svn://10.0.0.236/trunk@216225 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 06:21:01 +00:00
alfred.peng%sun.com
73eebe5f74 Bug 362209. test -e not available in sh.
r=mconnor.


git-svn-id: svn://10.0.0.236/trunk@216224 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 06:13:19 +00:00
reed%reedloden.com
e0407d9aaa Bug 362442 - "Despot syncit file still refers to netscape.public.*" [p=reed r=justdave]
git-svn-id: svn://10.0.0.236/trunk@216223 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 06:09:28 +00:00
tor%cs.brown.edu
839557aeb8 Bug 362233 - merge filter with subregion misbehaves.
Patch by amenzie@us.ibm.com, r=tor, sr=roc


git-svn-id: svn://10.0.0.236/trunk@216222 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 05:30:42 +00:00
tor%cs.brown.edu
5974cf3bd2 Bug 362413 - expose cairo fill rule control. r=vlad
git-svn-id: svn://10.0.0.236/trunk@216221 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 05:24:50 +00:00
tor%cs.brown.edu
e81f27ecb0 Bug 362226 - nested inner svg not updating viewbox. r=jwatt, sr=roc
git-svn-id: svn://10.0.0.236/trunk@216220 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 05:16:14 +00:00
stuart.morgan%alumni.case.edu
78bf66de9e Camino only - Bug 348695: Use editor context menu in Midas frames. r=kreeger sr=pink
git-svn-id: svn://10.0.0.236/trunk@216219 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 05:03:19 +00:00
bzbarsky%mit.edu
15374197c2 Make sure the XML decl in the data we post when a document is passed to send()
matches the encoding we use.  Bug 361934, r=sicking, sr=biesi


git-svn-id: svn://10.0.0.236/trunk@216218 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 04:48:05 +00:00
bzbarsky%mit.edu
755660d2d2 Don't construct unneeded autostring. Bug 362316, r+sr=sicking
git-svn-id: svn://10.0.0.236/trunk@216217 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 04:44:57 +00:00
bzbarsky%mit.edu
e83916216b Make sure to not use the same disk cache data block for different URIs. Bug
347852, patch by Alfred Kayser <alfredkayser@nl.ibm.com>, r=darin, sr=bzbarsky


git-svn-id: svn://10.0.0.236/trunk@216216 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 04:41:30 +00:00
bzbarsky%mit.edu
2830ae21c5 Fix assertion to assert about the right thing. Bug 265780 comment 35 followup.
git-svn-id: svn://10.0.0.236/trunk@216215 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 04:35:18 +00:00
ginn.chen%sun.com
e1a175b756 Bug 360865 Firefox crashes when selecting downloaded item with gok [@nsXULMenuitemAccessible::DoAction]
r=aaronleventhal


git-svn-id: svn://10.0.0.236/trunk@216211 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 03:46:18 +00:00
stridey%gmail.com
b027774f51 Camino only - Bug 359557: Omnibus ad-blocking bug for November. Patch by ardissone <alqahira@ardisson.org> r/sr=smfr
git-svn-id: svn://10.0.0.236/trunk@216210 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 03:46:14 +00:00
stridey%gmail.com
b45374470e Camino only - Bug 353391: Camino ships 2 copies of the table images. Patch by ardissone <alqahira@ardisson.org>. r/sr=smorgan
git-svn-id: svn://10.0.0.236/trunk@216209 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 03:42:16 +00:00
aaronleventhal%moonset.net
d5a3b5e273 Bug 362369. Description missing for Tools -> Options -> Content -> File types -> Manage. r=mano
git-svn-id: svn://10.0.0.236/trunk@216208 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 03:42:12 +00:00
rhelmer%mozilla.com
2588f7c8cc back out changes, only meant for branch
git-svn-id: svn://10.0.0.236/trunk@216205 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 02:22:58 +00:00
rhelmer%mozilla.com
56c88ed433 config changes for gecko 1.9a1 r=preed r=vlad b=362418
git-svn-id: svn://10.0.0.236/trunk@216203 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 02:21:23 +00:00
jst%mozilla.org
feb9bb7fd3 Fixing bug 357651. Make sure the cached window.document property outlives document.open(). r+sr=bzbarsky@mit.edu, a=pavlov@mozilla.com
git-svn-id: svn://10.0.0.236/trunk@216201 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 01:17:15 +00:00
alexei.volkov.bugs%sun.com
85f93c516b 343231: certutil issues certs for invalid requests. r=nelson
git-svn-id: svn://10.0.0.236/trunk@216200 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 01:10:03 +00:00
wtchang%redhat.com
428c8e735c Bugzilla Bug 354593: checked in minor changes suggested by Nelson. r=nelson
git-svn-id: svn://10.0.0.236/trunk@216194 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-01 00:26:35 +00:00
mattwillis%gmail.com
b03cd4b022 bug 361216 - typo fix
git-svn-id: svn://10.0.0.236/trunk@216190 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 22:49:33 +00:00
ghendricks%novell.com
f7d473cb54 Tag url's are too long. Use search terms instead.
git-svn-id: svn://10.0.0.236/trunk@216186 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 22:10:12 +00:00
mattwillis%gmail.com
6cb9d3a11b bug 361216 - Moves all New Event/Task strings into separate dtd file. Patch by Cédric Corazza <cedric.corazza@wanadoo.fr>, r=jminta
git-svn-id: svn://10.0.0.236/trunk@216185 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 22:07:15 +00:00
mattwillis%gmail.com
a68b712743 bug 361216 - Moves all New Event/Task strings into separate dtd file. Patch by Cédric Corazza <cedric.corazza@wanadoo.fr>, r=jminta
git-svn-id: svn://10.0.0.236/trunk@216183 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 22:03:37 +00:00
mrbkap%gmail.com
212c172527 Give the psuedo frame a scopeChain. bug 361571, r=brendan a=dveditz
git-svn-id: svn://10.0.0.236/trunk@216182 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 21:54:39 +00:00
mconnor%steelgryphon.com
026ede7768 replace Bon Echo about.png with generic unlabeled about.png, a=vlad
git-svn-id: svn://10.0.0.236/trunk@216181 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 21:44:40 +00:00
mrbkap%gmail.com
84a226dd66 Make argv as large as GC expects it to be. bug 361964, r=brendan
git-svn-id: svn://10.0.0.236/trunk@216180 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 21:43:57 +00:00
mattwillis%gmail.com
8f037d7496 bug 333688 - Converts STRING and VARCHAR columns to TEXT to avoid SQLite's auto-conversion of strings to numbers (10e4 to 10000) r=ctalbert,jminta
git-svn-id: svn://10.0.0.236/trunk@216179 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 21:40:44 +00:00
scott%scott-macgregor.org
170b5495b1 Bug #362385 --> fix type in phishingDetector intro text. Thanks to Ricardo Palomares for the patch.
git-svn-id: svn://10.0.0.236/trunk@216177 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 21:39:25 +00:00
scott%scott-macgregor.org
b58b476d1e remove wiindows line ending
git-svn-id: svn://10.0.0.236/trunk@216176 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 21:37:40 +00:00
despotdaemon
821170a62c Pseudo-automatic update of changes made by crowder@fiverocks.com.
git-svn-id: svn://10.0.0.236/trunk@216174 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 21:33:48 +00:00
smontagu%smontagu.org
f708518e84 Bug 361778: Firefox not rendering Malayalam. r=pavlov, a=stuart on IRC
git-svn-id: svn://10.0.0.236/trunk@216173 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 21:25:41 +00:00
ghendricks%novell.com
5411a53f83 Add components to multiple cases at once.
git-svn-id: svn://10.0.0.236/trunk@216172 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 21:23:44 +00:00
wtchang%redhat.com
7e47d9e409 Bugzilla Bug 354593: fixed a race condition in the creation of the lock
that protects localtime() by creating the lock during NSPR initialization.
r=aleksey.sanin,nelson.bolyard.  The patch is contributed by Mark Stevans
<marks@coral8.com>.
Modified files: primpl.h prinit.c prtime.c ptthread.c


git-svn-id: svn://10.0.0.236/trunk@216170 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 21:22:55 +00:00
despotdaemon
789af32cdf Pseudo-automatic update of changes made by knous@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@216169 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 20:58:10 +00:00
cvshook%sicking.cc
5c446ec16a properly initialize the result recycler when evaluating xslt PI params. r/sr=peterv b=362297 a=stuart
git-svn-id: svn://10.0.0.236/trunk@216167 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 19:33:29 +00:00
scott%scott-macgregor.org
c2a92b1212 Bug #362138 --> add strings for closing a tab before the l10n freeze. Thanks to Marek Stepien for catching the typo
git-svn-id: svn://10.0.0.236/trunk@216164 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 18:43:31 +00:00
benjamin%smedbergs.us
6f439c292f Second try, get libxul working with CUPS, NPODB
git-svn-id: svn://10.0.0.236/trunk@216163 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 18:43:25 +00:00
pavlov%pavlov.net
422525ec88 attempt to fix bustage
git-svn-id: svn://10.0.0.236/trunk@216161 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 18:27:27 +00:00
benjamin%smedbergs.us
650c0b871d Bug 362264 - Cross-platform Tamarin build system (early initial cut, only builds on mac-x86 right now), a=stejohns
git-svn-id: svn://10.0.0.236/trunk@216159 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 16:43:12 +00:00
benjamin%smedbergs.us
5e2e4ba442 Fix libxul bustage from bug 359124, NPODB
git-svn-id: svn://10.0.0.236/trunk@216158 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 16:42:23 +00:00
bzbarsky%mit.edu
cf9ad9872f Adding test for bug 361933
git-svn-id: svn://10.0.0.236/trunk@216146 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 06:39:47 +00:00
joshmoz%gmail.com
03ac088b9e fix submenus in context menus on mac os x. b=350165 r=smorgan sr=pav
git-svn-id: svn://10.0.0.236/trunk@216145 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 05:39:40 +00:00
scott%scott-macgregor.org
e325740439 Bug #328749 --> add strings for the improved phishing detector APIs. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216144 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 05:28:32 +00:00
scott%scott-macgregor.org
f1ce183a98 add vista integration string before the l10n freeze
git-svn-id: svn://10.0.0.236/trunk@216142 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 04:58:10 +00:00
dveditz%cruzio.com
99da3d9a95 Sync executable extension list w/Outlook (bug 348763) r/sr=dougt, a=pavlov
git-svn-id: svn://10.0.0.236/trunk@216141 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 04:36:21 +00:00
mattwillis%gmail.com
39d018b589 bug 362000 - Makes AUS/Prefwindow &brandShortName localizable. r=jminta
git-svn-id: svn://10.0.0.236/trunk@216140 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 03:51:00 +00:00
pavlov%pavlov.net
7f2a9d3f9d fixing linux printing bustage
git-svn-id: svn://10.0.0.236/trunk@216137 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 02:12:03 +00:00
pavlov%pavlov.net
db587c788a don't implement nsIPrintingContext in cairo builds
git-svn-id: svn://10.0.0.236/trunk@216134 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 01:57:15 +00:00
wtchang%redhat.com
a0402341f1 Bugzilla Bug 355999: fix up for kfreebsd support. The patch is contributed
by Petr.Salinger@seznam.cz. r=wtc
Modified files: _linux.cfg _linux.h


git-svn-id: svn://10.0.0.236/trunk@216132 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 01:11:46 +00:00
wtchang%redhat.com
52dc80a8b2 Bugzilla Bug 353729: handle PR_vsmprintf failure in PR_vfprintf. r=timeless
git-svn-id: svn://10.0.0.236/trunk@216130 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 00:39:19 +00:00
wtchang%redhat.com
a5700b389e Bugzilla Bug 358785: fixed incorrect x509PolicyConstraints OID and typos in
a comment. r=relyea


git-svn-id: svn://10.0.0.236/trunk@216127 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 00:27:28 +00:00
wtchang%redhat.com
4ba9d7602c Bugzilla Bug 361089: fixed memory leaks in mp_bdivmod. r=douglas.stebila
git-svn-id: svn://10.0.0.236/trunk@216126 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 00:21:04 +00:00
cvshook%sicking.cc
d27a789c4f Bug 359888: Don't return NS_CONTENT_SCRIPT_IS_EVENTHANDLER to the sink/parser since they can't deal. r/sr=jst a=stuart
git-svn-id: svn://10.0.0.236/trunk@216124 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 00:06:00 +00:00
pavlov%pavlov.net
b838269a01 missed file
git-svn-id: svn://10.0.0.236/trunk@216122 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-30 00:04:33 +00:00
pavlov%pavlov.net
b0e82d440c printing on linux bug 323928. r=vlad
git-svn-id: svn://10.0.0.236/trunk@216121 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 23:40:16 +00:00
preed%mozilla.com
13ba9b9140 Bug 360034: Update Nagios monitoring for 1.5.0.8pre bump.
git-svn-id: svn://10.0.0.236/trunk@216120 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 23:34:54 +00:00
cvshook%sicking.cc
a326e22147 Bug 328468: Back out bug 323098 to fix mutations of xbl content. r/sr=bz
git-svn-id: svn://10.0.0.236/trunk@216118 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 23:17:53 +00:00
mnyromyr%tprac.de
9b4d6a8066 Bug 329018: Disable "Global Inbox" by default; p=Manuel Reimer <Manuel.Spam@nurfuerspam.de>, r=me, sr=neil/bienvenu
git-svn-id: svn://10.0.0.236/trunk@216117 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 23:13:50 +00:00
roc+%cs.cmu.edu
6b01227e23 Bug 324963. Keep a list of active popups to help us dispatch mouse events to them ... moving handling of 'always on top' popups towards a view-less world. r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@216116 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 23:09:13 +00:00
joshmoz%gmail.com
77ae840b24 crashes clicking on menubar while popup displayed (OS X 10.3 only) [@ FadeMenuWindows]. cocoa widgets fix. b=351230 r=mento
git-svn-id: svn://10.0.0.236/trunk@216115 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 23:06:11 +00:00
scott%scott-macgregor.org
22a223af3f Bug #362138 --> add strings for supporting message tabs before the l10n deadline. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216112 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 22:26:11 +00:00
bzbarsky%mit.edu
48639c6889 Use DrawImage instaed of DrawTile when drawing a background and the entire
rect to be painted fits inside a single tile (either because we're no-repeat or
because the dirty rect is small enough).  Bug 359392, r=vlad, sr=roc, a=vlad
for 1.9a1 landing.


git-svn-id: svn://10.0.0.236/trunk@216109 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 21:58:13 +00:00
bugzilla%standard8.demon.co.uk
7c2cdb3c81 Backout all changes from bug 360777 due to Win32 bustage.
git-svn-id: svn://10.0.0.236/trunk@216106 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 21:12:49 +00:00
bienvenu%nventure.com
3e7c78d02e fix 362213 crash in MimeExternalBody_parse_eof, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216105 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 21:00:59 +00:00
mvl%exedo.nl
867a062bf9 branch only bustage fix for bug 330371
git-svn-id: svn://10.0.0.236/trunk@216102 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 20:53:49 +00:00
bugzilla%standard8.demon.co.uk
d6c180e4c5 Possible Win/SeaMonkey bustage fix from bug 360777, backout some of the changes.
git-svn-id: svn://10.0.0.236/trunk@216098 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 20:37:59 +00:00
mvl%exedo.nl
9d683d3d39 bug 330371: add and implement calIPeriod. r=daniel boelzle
git-svn-id: svn://10.0.0.236/trunk@216095 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 20:35:12 +00:00
roc+%cs.cmu.edu
c90a54b7b1 Bug 322345. Cap maximum ft2 font size at 1000 pixels to avoid killing freetype2 and/or the X server. r=vlad
git-svn-id: svn://10.0.0.236/trunk@216092 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 20:19:35 +00:00
roc+%cs.cmu.edu
05cb2de3c2 Bug 357736. Use document widget for windowless plugin's reference widget whenever we can do that safely (the origin of the windowless plugin's nearest widget is equal to the origin of the document widget). Works around a regression in some cases. patch by Graham Sanderson, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@216091 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 20:15:56 +00:00
joshmoz%gmail.com
1e5cc522c0 Context menu in download manager is busted on Mac OS X. b=361240 r=enn r=mconnor
git-svn-id: svn://10.0.0.236/trunk@216082 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 19:30:34 +00:00
benjamin%smedbergs.us
d65ae5f520 Bug 362254 - Assining NULL to an integer type breaks some GCCs, r=stejohns
git-svn-id: svn://10.0.0.236/trunk@216080 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 19:18:36 +00:00
mozilla%justcameron.com
1231703cfb Bug 362060 - Rustico style change broke install.js, severely for themes (Download error -228)
Attachment 246947
p=Giorgio Maone (g.maone at informaction dot com)
r=Shaver
Actually tested this time :o


git-svn-id: svn://10.0.0.236/trunk@216077 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 18:13:57 +00:00
lpsolit%gmail.com
354a408da5 Bug 276497: Add link to Ravenbrook bugzilla-schema generator - Patch by Frédéric Buclin <LpSolit@gmail.com> r=justdave
git-svn-id: svn://10.0.0.236/trunk@216075 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 18:00:53 +00:00
ccooper%deadsquid.com
3d6d3bc847 -removing access control file
git-svn-id: svn://10.0.0.236/trunk@216074 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 17:27:50 +00:00
ccooper%deadsquid.com
4c82109e92 - add access control
git-svn-id: svn://10.0.0.236/trunk@216073 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 17:27:04 +00:00
ccooper%deadsquid.com
8902a3fd99 - moving migration-related scripts to generic migration directory
git-svn-id: svn://10.0.0.236/trunk@216072 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 17:24:48 +00:00
igor.bukanov%gmail.com
f8f9a60d24 Bug 362180: optimizing slot access in JS_NewPropertyIterator.
git-svn-id: svn://10.0.0.236/trunk@216071 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 17:16:55 +00:00
bugzilla%standard8.demon.co.uk
04f43a2c90 Bug 360777 Change nsIAbCard::EditCardToDatabase to nsIAbDirectory::ModifyCard. r=bienvenu,sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216070 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 17:10:41 +00:00
mozilla.mano%sent.com
4818861e70 Replace monitor image (set desktop background dialog) in Pinstripe. Image from Kevin Gerich <kevin@kmgerich.com> on bug 296583, ui-r=mconnor.
git-svn-id: svn://10.0.0.236/trunk@216069 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 16:51:31 +00:00
mozilla%justcameron.com
c184c80a33 Bug 362060 - Rustico style change broke install.js, severely for themes (Download error -228)
Line 33, eEvent -> aEvent
No patch in bugzilla.. isn't there some law against this?
a=shaver so no problem :D


git-svn-id: svn://10.0.0.236/trunk@216068 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 16:50:46 +00:00
mozilla.mano%sent.com
cf32a81f73 Bug 296583 - Make 'Set Desktop Background' dialog skinable. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@216067 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 16:39:09 +00:00
mozilla%justcameron.com
c7f414f590 Bug 362060 - Rustico style change broke install.js, severely for themes (Download error -228)
Attachment 246924
p=Giorgio Maone (g.maone at informaction dot com)
r=Shaver


git-svn-id: svn://10.0.0.236/trunk@216066 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 16:34:20 +00:00
sayrer%gmail.com
01f4171f8c Bug 362232. Set XPCOM_DEBUG_BREAK so things run better on Windows. Patch by Wladimir Palant <trev@gtchat.de>. r=sayrer
git-svn-id: svn://10.0.0.236/trunk@216065 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 16:23:23 +00:00
mozilla.mano%sent.com
ddb8fb3dc3 Bug 362074 - ns*TextFieldAccessible::CheckForEditor should use nsIDOMNSEditableElement. r=aaronlev.
git-svn-id: svn://10.0.0.236/trunk@216063 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 16:10:31 +00:00
sayrer%gmail.com
d7f9b6cd06 Bug 362230. Add more privileges for mochitest. Patch by Wladimir Palant <trev@gtchat.de>. r=sayrer
git-svn-id: svn://10.0.0.236/trunk@216062 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 16:03:09 +00:00
wsharp%adobe.com
e4f8f1cedd bug 361388. More 64-bit fixes. r:stejohns
git-svn-id: svn://10.0.0.236/trunk@216061 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 14:39:14 +00:00
kairo%kairo.at
12391270b1 update nagios checks for bug 359687 checkin on 1.8.0 branch
git-svn-id: svn://10.0.0.236/trunk@216060 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 12:58:03 +00:00
Olli.Pettay%helsinki.fi
9a8ed1afbb Bug 361814, NS_ERROR_DOM_WRONG_DOCUMENT_ERR in select1.xml, p=surkov, r=me+doronr
git-svn-id: svn://10.0.0.236/trunk@216057 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 08:59:02 +00:00
mozilla.mano%sent.com
796cf6c0ba Bug 330102 - Switch pfs to use principal matching rather than string matching. r=gavin, sr=bz.
git-svn-id: svn://10.0.0.236/trunk@216056 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 08:06:22 +00:00
mozilla.mano%sent.com
a61731ba79 Bug 361608 - possible leak in Safari profile migrator. r=mento.
git-svn-id: svn://10.0.0.236/trunk@216055 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 08:01:33 +00:00
philringnalda%gmail.com
7aab1cac97 Bug 221891: Make customizing toolbars in two or more different types of mail window work, r+a=mscott
git-svn-id: svn://10.0.0.236/trunk@216054 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 05:12:55 +00:00
stuart.morgan%alumni.case.edu
f3648e4a0e Camino only - Bug 356708: Automatic bookmark backup. r=cl sr=pink
git-svn-id: svn://10.0.0.236/trunk@216053 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 05:10:18 +00:00
philringnalda%gmail.com
8567859c40 Bug 317424: Customize dialog doesn't cancel icon size and mode when canceled, r+a=mscott
git-svn-id: svn://10.0.0.236/trunk@216052 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 05:10:13 +00:00
stuart.morgan%alumni.case.edu
0c8a5ab065 Camino only - Bug 353433: use only https to find available browsers. r=kreeger sr=pink
git-svn-id: svn://10.0.0.236/trunk@216051 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 05:00:12 +00:00
stuart.morgan%alumni.case.edu
f1575a2a80 Camino only - Bug 300905: add en-US to generic en in accept-language headers. r=kreeger r=max sr=pink
git-svn-id: svn://10.0.0.236/trunk@216050 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 04:56:48 +00:00
tor%cs.brown.edu
06721f93fc Bug 362140 - inner svg not acting as coordinate context provider.
r=jwatt, sr=roc


git-svn-id: svn://10.0.0.236/trunk@216048 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 03:47:57 +00:00
cvshook%sicking.cc
57f03ac9c1 Bug 323924, Call CheckLoadURIWithPrincipal before issuing pings and on redirects. r/sr=jst
git-svn-id: svn://10.0.0.236/trunk@216045 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 03:08:49 +00:00
mark%moxienet.com
63d34154f7 Attempting to fix more bustage following 359124: Camino, Thunderbird, C-Monkey.
git-svn-id: svn://10.0.0.236/trunk@216043 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 01:56:05 +00:00
stuart.morgan%alumni.case.edu
d72b16911a Camino only - Link libcups to fix bustage from bug 359124
git-svn-id: svn://10.0.0.236/trunk@216041 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 00:59:33 +00:00
ajschult%verizon.net
6cb4fa848c Bug 361170: "never show this dialog again" may be too confusing for end user. Patch by Benoît <benoit@gawab.com>, r+sr=jst
git-svn-id: svn://10.0.0.236/trunk@216040 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 00:38:50 +00:00
sspitzer%mozilla.org
82959fb332 fix warning, no bug #. r=gavin
git-svn-id: svn://10.0.0.236/trunk@216037 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 00:18:06 +00:00
pavlov%pavlov.net
826c9e387a adding cups to the linkline for macos
git-svn-id: svn://10.0.0.236/trunk@216036 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 00:14:57 +00:00
vladimir%pobox.com
6a28d026b6 b=362108, cairo ppc, hang when scrolling in a tree, r=stuart
git-svn-id: svn://10.0.0.236/trunk@216035 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-29 00:12:14 +00:00
bugzilla%arlen.demon.co.uk
704c0c620b Bug 357321 don't blindly trust address book recipients when loading remote content - Back port changes from SM to TB
p=me r=mscott


git-svn-id: svn://10.0.0.236/trunk@216032 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 23:42:19 +00:00
tor%cs.brown.edu
4679ef629c Bug 361589 - patterns on strokes not working in nquartz backend. r=vlad
git-svn-id: svn://10.0.0.236/trunk@216030 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 23:36:21 +00:00
scott%scott-macgregor.org
4b4374da24 Thunderbird no longer builds xpfe/components/build2 so remove that line from allmakefiles.sh
git-svn-id: svn://10.0.0.236/trunk@216027 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 23:33:02 +00:00
tor%cs.brown.edu
ff9e541360 Bug 361884 - gSVGRendererAvailable unused. r+sr=bz
git-svn-id: svn://10.0.0.236/trunk@216026 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 23:29:53 +00:00
ccooper%deadsquid.com
3e98bba0c7 - preferentially sort subgroup and testcase lists by name to make it easier for admins to find what they're looking for
git-svn-id: svn://10.0.0.236/trunk@216025 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 23:28:33 +00:00
bienvenu%nventure.com
d29380c022 expose ability to get text of a message, so client code like the spotlight search integration can use it, 290057, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216024 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 23:11:59 +00:00
joshmoz%gmail.com
f041ee2e8f Fix tabs on Mac OS X 10.3 under cairo.
Fix things so we don't depend on including local system headers. We should never do that because we should be using only sdk headers.

Remove a bunch of camino-specific hacks so they could compile. Everything should work for Camino now.

b=362014 r=smorgan sr=pinkerton


git-svn-id: svn://10.0.0.236/trunk@216023 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 23:07:13 +00:00
gijskruitbosch%gmail.com
d66487aca9 Bug 333570 - Key event not available on GTK2 warning (Switch Text Direction key)
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only


git-svn-id: svn://10.0.0.236/trunk@216022 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 23:05:36 +00:00
scott%scott-macgregor.org
70732f0d90 Bug #332160 --> hook up new mail alert notifications for unix.
Patch by magnus melin <mkmelin+mozilla@iki.fi>
sr=mscott


git-svn-id: svn://10.0.0.236/trunk@216016 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 22:22:37 +00:00
pavlov%pavlov.net
6abcf11249 fixing stupid camino bustage.
git-svn-id: svn://10.0.0.236/trunk@216014 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 22:08:56 +00:00
gijskruitbosch%gmail.com
694b3df28d Bug 332588 - Dropping link in single line input opens multiline input
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only


git-svn-id: svn://10.0.0.236/trunk@216009 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 21:50:08 +00:00
bienvenu%nventure.com
a1d47e4346 fix 197228 create special folders for local accounts lazily, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@216008 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 21:49:40 +00:00
scott%scott-macgregor.org
835d4bb9c2 Bug #362133 --> rename go back and go forward buttons to Back and Forward. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216007 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 21:44:05 +00:00
bugzilla%arlen.demon.co.uk
b2aa34f0ff Bug 360288 SeaMonkey Front End Support for New Remote Content Policy
p=me r=neil sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@216003 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 21:26:08 +00:00
scott%scott-macgregor.org
02ad5b0e02 Bug #361434 --> add a separate access key for the mac system sound. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@216002 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 21:15:32 +00:00
pavlov%pavlov.net
ff3c16ff9a cocoa-cairo printing. bug 359124. r=vlad
git-svn-id: svn://10.0.0.236/trunk@216001 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 21:10:05 +00:00
gijskruitbosch%gmail.com
7f3f5e78f1 Bug 123970 - Should be able to scan user list of a channel
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only


git-svn-id: svn://10.0.0.236/trunk@216000 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 21:00:08 +00:00
cvshook%sicking.cc
0f2957680d Bug 323924, Call CheckLoadURIWithPrincipal before issuing pings. r/sr=jst
git-svn-id: svn://10.0.0.236/trunk@215999 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 20:47:10 +00:00
dougt%meer.net
f24dc3b759 HTML injection in gopher dir listing. b=358128, r=dveditz
git-svn-id: svn://10.0.0.236/trunk@215996 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 20:32:27 +00:00
despotdaemon
a932ae54a2 Pseudo-automatic update of changes made by aravind@mozilla.com.
git-svn-id: svn://10.0.0.236/trunk@215995 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 20:07:13 +00:00
brendan%mozilla.org
5d91ffeec1 Hack around compare-and-swap prob (353962, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@215993 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 19:53:56 +00:00
vladimir%pobox.com
7abbce922a b=359649, tree row painting broken, r=ndeakin
git-svn-id: svn://10.0.0.236/trunk@215992 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 19:28:39 +00:00
mconnor%steelgryphon.com
27a09efffd missed an unofficial branding file, adding now, NPOTB
git-svn-id: svn://10.0.0.236/trunk@215990 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 19:24:35 +00:00
bienvenu%nventure.com
df8e0bcf1e add support for custom folder identities, and support them for delegated imap folders, sr=mscott 285474
git-svn-id: svn://10.0.0.236/trunk@215986 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 18:11:39 +00:00
stridey%gmail.com
ed867a0694 Camino only - Bug 362067: Tab groups in bookmark menus need alternates. r=Wevah sr=smorgan
git-svn-id: svn://10.0.0.236/trunk@215985 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 18:09:23 +00:00
bienvenu%nventure.com
5231945dc5 fix 359882 autoconfig checking for e-mail identity doesn't work if default account has multiple identities, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@215983 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 18:02:18 +00:00
gavin%gavinsharp.com
39e5caf94b Bug 362047: fix bustage fix
git-svn-id: svn://10.0.0.236/trunk@215981 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 17:14:00 +00:00
wsharp%adobe.com
d5acd651d0 bug 361427. Fix debug build for Linux. r:mtilburg
git-svn-id: svn://10.0.0.236/trunk@215977 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 16:08:03 +00:00
daniel.boelzle%sun.com
037f035e35 Bug 340949: search API, encoding bug workaround, minor bug fixes
git-svn-id: svn://10.0.0.236/trunk@215976 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 15:55:45 +00:00
cltbld
189f20780c Automated update from host egg.build.mozilla.org
git-svn-id: svn://10.0.0.236/trunk@215975 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 15:41:01 +00:00
benjamin%smedbergs.us
273724f82e Bug 360125 - --with-branding doesn't provide a way to set MOZ_APP_DISPLAYNAME, r=mconnor
git-svn-id: svn://10.0.0.236/trunk@215974 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 15:37:41 +00:00
mozilla%justcameron.com
d1d77c12ca Bug 362060 - New Rustico Install button broke install.js
p= Wladimir Palant (trev at gtchat dot de) and Giorgio Maone (g.maone at informaction dot com)
r=Shaver


git-svn-id: svn://10.0.0.236/trunk@215973 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 15:24:15 +00:00
mats.palmgren%bredband.net
93ff6ba7ca If there were errors reading "prefs.js" then make a backup copy of it in "Invalidprefs.js" before overwriting it. b=361102 r+sr=darin
git-svn-id: svn://10.0.0.236/trunk@215971 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 14:11:40 +00:00
mats.palmgren%bredband.net
b59e8e0ac8 Fix a crash when onreadystatechange handler loads a new URL. b=361773 r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@215970 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 13:56:40 +00:00
mats.palmgren%bredband.net
428dc5e234 Make sure text input onchange handler is called before onblur. b=357684 r=Olli.Pettay sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@215968 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 13:08:23 +00:00
bugzilla%standard8.demon.co.uk
815bad4993 Bug 343011 Searching Organization from LDAP address book yields no results. r/sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215967 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 12:44:18 +00:00
timeless%mozdev.org
ec4d37087d Bug 336183 [arm build] undefined reference _PrepareAndDispatch in xpcom_core
This is a GCC3.4 fix over a previous GCC fix it obsoletes the poorlly designed
patch which was written for bug 307418

__attribute__(()) uses pairs of parens :(

moa=timeless


git-svn-id: svn://10.0.0.236/trunk@215961 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 12:05:49 +00:00
mats.palmgren%bredband.net
a0d7552927 Use the unshifted charCode when the Shift key and other modifiers are down (for accesskey handling). b=351310 r=zeniko sr=pavlov
git-svn-id: svn://10.0.0.236/trunk@215960 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 11:58:29 +00:00
philringnalda%gmail.com
a5fb9a250c Bug 362047 - bustage fix for bug 361146, missing paren, irc r=timeless
git-svn-id: svn://10.0.0.236/trunk@215959 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 08:44:04 +00:00
wr%rosenauer.org
aba3e90760 Bug 360941 - UpdateDriver and UpdateService update location mismatch, r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@215956 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 06:09:19 +00:00
stridey%gmail.com
758a292f3b Camino only - Bug 350806: Make Go menu history items respect the cmd/shift modifiers properly. r=smorgan sr=pink
git-svn-id: svn://10.0.0.236/trunk@215955 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 05:44:08 +00:00
stuart.morgan%alumni.case.edu
fe0f8c23f5 Camino only - removing project cruft accidentally checked in with bug 358390
git-svn-id: svn://10.0.0.236/trunk@215953 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 04:30:16 +00:00
bzbarsky%mit.edu
43242f0c03 Make XML serializer output an encoding="..." which matches the actual encoding
it's serializing to.  Bug 361933, r+sr=sicking


git-svn-id: svn://10.0.0.236/trunk@215952 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 04:01:46 +00:00
cls%seawood.org
a48f352138 Mingw builds require _WIN32_WINNT >= 0x0501 (XP) to use the IP_ADAPTER features of nsNotifyAddrListener.
Also fix header include case for cross-compile builds.
Bug #358023 r=bsmedberg


git-svn-id: svn://10.0.0.236/trunk@215951 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 03:43:05 +00:00
bzbarsky%mit.edu
9cac9633d9 Fix bug 277724 -- make <select>, <textarea>, <button> restore disabled state. r+sr=jst
git-svn-id: svn://10.0.0.236/trunk@215950 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 03:17:03 +00:00
pavlov%pavlov.net
1a796ff990 bug 333253. disabling icon decoder in cairo until proper fix can go in.
git-svn-id: svn://10.0.0.236/trunk@215949 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 03:08:43 +00:00
mattwillis%gmail.com
a6d6a3d05e Disable SVG on Sunbird tinderboxen (fallout from bug 354866)
git-svn-id: svn://10.0.0.236/trunk@215948 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 02:59:11 +00:00
ginn.chen%sun.com
4b6e98cc5a Bug 359784 preferences pane accessible tree uncomplete
patch by Nian.Liu at sun.com r=aaronleventhal


git-svn-id: svn://10.0.0.236/trunk@215947 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 02:19:50 +00:00
mike.morgan%oregonstate.edu
bb8b45b34d Checking in updates to PFS that JST committed to v1. Also added in the HTML edits, which were much simpler. See bug 360629.
git-svn-id: svn://10.0.0.236/trunk@215942 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 02:04:40 +00:00
stuart.morgan%alumni.case.edu
f41e761a17 Camino only - yet more hacking around bug 362014 to support all Camino's tinderbox configurations
git-svn-id: svn://10.0.0.236/trunk@215939 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 01:33:34 +00:00
pavlov%pavlov.net
f038285d92 move ns_ensure_true in to the right block. bug 333253. r=vlad
git-svn-id: svn://10.0.0.236/trunk@215937 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 01:14:29 +00:00
scott%scott-macgregor.org
56237bdb3f Bug #361434 --> Options UI re-design.
sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@215929 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 01:06:17 +00:00
joshmoz%gmail.com
8e01aa53b8 crashes clicking on menubar while popup displayed (OS X 10.3 only) [@ FadeMenuWindows]. b=351230 r=mento sr=pav
git-svn-id: svn://10.0.0.236/trunk@215927 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 00:58:40 +00:00
jwalden%mit.edu
35d6793138 Bug 361792 - Signed-unsigned comparison in nsVoidArray.cpp. r+sr=darin
git-svn-id: svn://10.0.0.236/trunk@215922 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 00:32:30 +00:00
bienvenu%nventure.com
f575b707e1 change existence test to allow mail folders > 2GB, sr=mscott 361730
git-svn-id: svn://10.0.0.236/trunk@215920 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 00:19:20 +00:00
pavlov%pavlov.net
73e4b263e0 bug 362015. r=vlad. makes us use a region for drawing to avoid painting too much.
git-svn-id: svn://10.0.0.236/trunk@215919 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 00:11:42 +00:00
stuart.morgan%alumni.case.edu
daed2901a3 Camino only - more hacking around build failures caused by bug 362014
git-svn-id: svn://10.0.0.236/trunk@215917 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 00:03:43 +00:00
sayrer%gmail.com
09c032232d bug 358797 test by Adam Guthrie <ispiked@gmail.com>. r=dveditz
git-svn-id: svn://10.0.0.236/trunk@215916 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-28 00:03:41 +00:00
stuart.morgan%alumni.case.edu
6ca4146e29 Camino only - hack around build failures (see bug 362014). r=mento
git-svn-id: svn://10.0.0.236/trunk@215915 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 23:47:52 +00:00
cltbld
39b7768b35 Automated update from host egg.build.mozilla.org
git-svn-id: svn://10.0.0.236/trunk@215913 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 22:51:00 +00:00
vladimir%pobox.com
e1a39de646 b=359054, crash in moz_cairo_pixman_composite_src (image data was freed shortly before being used in compositing op), r=pavlov
git-svn-id: svn://10.0.0.236/trunk@215911 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 22:32:11 +00:00
vladimir%pobox.com
afd6abf2a8 b=360293, add helper macros for argument checking, r=dveditz
git-svn-id: svn://10.0.0.236/trunk@215907 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 22:22:47 +00:00
stuart.morgan%alumni.case.edu
c585cb74a1 Camino only - fix more bustage from bug 354866 (remove references to gksvgrenderer.xpt)
git-svn-id: svn://10.0.0.236/trunk@215904 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 21:49:51 +00:00
bienvenu%nventure.com
a9eb0960e9 ignore spotlight subdirectories when doing local folder discovery, sr=mscott, part of 290057
git-svn-id: svn://10.0.0.236/trunk@215902 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 21:08:10 +00:00
mark%moxienet.com
2bbd5f363d Configure regeneration for smorgan's bug 358390. cltbld@egg auto-regeneration still seems to be asleep.
git-svn-id: svn://10.0.0.236/trunk@215901 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 21:01:30 +00:00
bienvenu%nventure.com
4cb6530c0f fix 358657 drag drop of attachments from mail messages to desktop fails, sr=mscott, initial work done by kovalchuk77@list.ru
git-svn-id: svn://10.0.0.236/trunk@215899 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 20:50:34 +00:00
stuart.morgan%alumni.case.edu
c3c28b83e4 Bug 358390: Enable cairo for Camino (and re-enable SVG). r/sr=josh
git-svn-id: svn://10.0.0.236/trunk@215898 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 20:24:11 +00:00
gavin%gavinsharp.com
b925db08e0 Bug 361146: DOM Inspector doesn't observe its preferences correctly, patch by Shawn Wilsher :sdwilsh <comrade693+bmo@gmail.com>, r=db48x, sr=neil
git-svn-id: svn://10.0.0.236/trunk@215897 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 20:07:47 +00:00
gavin%gavinsharp.com
72a259e9fb Bug 361105: Failed to load overlay from chrome://communicator/content..., patch by Shawn Wilsher :sdwilsh <comrade693+bmo@gmail.com>, r=db48x, sr=neil
git-svn-id: svn://10.0.0.236/trunk@215896 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 20:06:45 +00:00
gavin%gavinsharp.com
5ad4a47295 Bug 360572: deleting history entries from the search bar autocomplete dropdown doesn't work when suggestions are shown, r=mconnor
git-svn-id: svn://10.0.0.236/trunk@215895 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 19:51:35 +00:00
jwatt%jwatt.org
84a83d271d Fixing bug 360595. xul:description inside svg:foreignObject disappears when changed. r+sr=bzbarsky@mit.edu
git-svn-id: svn://10.0.0.236/trunk@215893 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 19:49:00 +00:00
mnyromyr%tprac.de
2ff646ae4d Bug 193883: WMP9 Plugin installed, but 6.4 used; p=Frank Wein <bugzilla@mcsmurf.de>, r/sr=dveditz
git-svn-id: svn://10.0.0.236/trunk@215892 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 19:47:39 +00:00
rob_strong%exchangecode.com
1ccee43519 Bug 357922 - Bookmarks missing, tabs broken, etc. (Firefox 2 install over Firefox 1.5.0.7 failed to replace some files.). r=sspitzer
git-svn-id: svn://10.0.0.236/trunk@215885 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 19:17:14 +00:00
wtchang%redhat.com
f1cdc03bd4 Bugzilla Bug 361332: use a better way to determine if $(NSPR_CO_TAG) can be
pulled by date. r=benjamin.smedberg


git-svn-id: svn://10.0.0.236/trunk@215882 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 19:12:41 +00:00
tor%cs.brown.edu
3d58fae26f Simplify build bustage fix, as SVG now depends on cairo gfx.
git-svn-id: svn://10.0.0.236/trunk@215881 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 19:10:44 +00:00
tor%cs.brown.edu
f34eaa337e Bustage fix for SVG-disabled, <html:canvas>-enabled, non-cairo gfx builds.
git-svn-id: svn://10.0.0.236/trunk@215880 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 19:05:57 +00:00
scott%scott-macgregor.org
91ec7f9404 Bug #361591 --> id needed for quick sarch focus key. patch by Mark Charlebois mcharleb@qualcomm.com. r=bienvenu, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@215879 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 18:55:01 +00:00
joshmoz%gmail.com
248ed6e7e6 remove XP_MAC from xpinstall. b=281889 r=dveditz sr=pinkerton
git-svn-id: svn://10.0.0.236/trunk@215878 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 18:47:27 +00:00
lpsolit%gmail.com
0d8842e4d7 Bug 361809: GMT, UT, UTC and WET cannot be used as timezone - Patch by victory(_RSZ_) <bmo2007@rsz.jp> r=LpSolit a=justdave
git-svn-id: svn://10.0.0.236/trunk@215877 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 18:31:36 +00:00
lpsolit%gmail.com
701e9498bd Bug 361877: Argument "" isn't numeric in numeric gt (>) at data/template/template/en/default/global/user-error.html.tmpl line 1526 - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=justdave
git-svn-id: svn://10.0.0.236/trunk@215876 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 18:25:41 +00:00
lpsolit%gmail.com
13befd592c Bug 361875: Use of uninitialized value in numeric eq (==) at Bugzilla/User.pm line 1465 - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=justdave
git-svn-id: svn://10.0.0.236/trunk@215875 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 18:21:46 +00:00
lpsolit%gmail.com
d67ce8c297 Bug 361867: The description for the 'allowbugdeletion' parameter should not say deleting versions can delete bugs - Patch by victory(_RSZ_) <bmo2007@rsz.jp> r=LpSolit a=justdave
git-svn-id: svn://10.0.0.236/trunk@215874 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 18:11:02 +00:00
ghendricks%novell.com
72a64c823e == where = should be
git-svn-id: svn://10.0.0.236/trunk@215873 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 18:08:32 +00:00
joshmoz%gmail.com
e63506892a NS_NATIVE_GRAPHIC return value for mac top-level windows is nonsense. b=361439 r=hwaara sr=pinkerton
git-svn-id: svn://10.0.0.236/trunk@215872 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 18:08:30 +00:00
ghendricks%novell.com
6fb3603c30 Need to exit the loop when checking for ownership of multiple plans
git-svn-id: svn://10.0.0.236/trunk@215871 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 18:00:04 +00:00
lpsolit%gmail.com
4320afa0dc Bug 361870: SQL query in Bugzilla::Bug::EmitDependList() too complicated - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=justdave
git-svn-id: svn://10.0.0.236/trunk@215869 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 17:48:56 +00:00
tor%cs.brown.edu
5200d36361 Camino build bustage fix - disable SVG until they switch to cairo gfx.
git-svn-id: svn://10.0.0.236/trunk@215868 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 17:45:30 +00:00
tor%cs.brown.edu
c8c243d5af Bug 354866 - remove svg renderer layer, begin switch to thebes. r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@215867 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 17:30:57 +00:00
peterv%propagandism.org
07c4a62456 Fix for bug 356851 (nsXPConnect::ReparentAllWrappersInScope uses wrong parents.). r/sr=jst
git-svn-id: svn://10.0.0.236/trunk@215866 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 16:20:31 +00:00
michael.buettner%sun.com
91d8311333 bug #360674 implement zoom-feature for free/busy grid r=tbe
git-svn-id: svn://10.0.0.236/trunk@215865 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 15:52:16 +00:00
michael.buettner%sun.com
f9f2185a46 bug #360259 timezone-support does not work as advertised r=tbe
git-svn-id: svn://10.0.0.236/trunk@215864 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 12:26:25 +00:00
neil%parkwaycc.co.uk
92cea4c84f Remove near-useless "Expand" item on bookmark menuitem context menus p=paradigmk@technodrome.com r=me
git-svn-id: svn://10.0.0.236/trunk@215862 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 12:01:45 +00:00
michael.buettner%sun.com
9a0df68256 bug #360117 autoexpand freebusy-grid to 24hrs r=tbe
git-svn-id: svn://10.0.0.236/trunk@215860 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 11:35:00 +00:00
michael.buettner%sun.com
ee70986245 Bug #329035 calendar view refresh() operation has re-entrancy problems r=lilmatt
git-svn-id: svn://10.0.0.236/trunk@215859 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 10:33:07 +00:00
martijn.martijn%gmail.com
062c169805 Bug 361808 - Print selection doesn't print selected text, backout from patch from bug 355395
git-svn-id: svn://10.0.0.236/trunk@215858 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 08:58:24 +00:00
timeless%mozdev.org
6e0b3ebac0 Bug 336183 [arm build] undefined reference _PrepareAndDispatch in xpcom_core
This is a GCC3.4 fix over a previous GCC fix it obsoletes the poorlly designed
patch which was written for bug 307418

moa=timeless


git-svn-id: svn://10.0.0.236/trunk@215857 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 07:48:46 +00:00
mattwillis%gmail.com
cf6ae9fe6d bug 361900 - Add nb-NO (Norwegian bokmål) to all-locales
git-svn-id: svn://10.0.0.236/trunk@215856 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 05:25:24 +00:00
mattwillis%gmail.com
9d7bc79551 bug 341971 - Fix Unicode typo
git-svn-id: svn://10.0.0.236/trunk@215855 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 05:20:30 +00:00
mattwillis%gmail.com
a1b0c15454 bug 341971 - Adds AUS update checking to Sunbird. r=ctalbert, jminta, ui-r=mvl
git-svn-id: svn://10.0.0.236/trunk@215854 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 04:53:55 +00:00
mattwillis%gmail.com
501423746b bug 341971 - Adds AUS update checking to Sunbird. r=ctalbert, jminta, ui-r=mvl
git-svn-id: svn://10.0.0.236/trunk@215852 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-27 04:51:19 +00:00
mozilla.mano%sent.com
c9b9559767 Bug 288254 - Findbar XBL widget. r=gavin,masayuki,bienvenu.
git-svn-id: svn://10.0.0.236/trunk@215850 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 22:47:46 +00:00
roc+%cs.cmu.edu
5290353d07 Bug 361707. nsTArray::SetCapacity should return boolean success/failure. r+sr=sicking
git-svn-id: svn://10.0.0.236/trunk@215849 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 22:01:24 +00:00
bugzilla%standard8.demon.co.uk
0fb182bdce Backout xpfe/ changes from bug 361193 to fix regression bug 361883
git-svn-id: svn://10.0.0.236/trunk@215848 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 21:30:14 +00:00
cbiesinger%web.de
6adee2fe6d bug 309438 Shorten the Accept: header to:
Accept: text/html,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7
r=darin sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@215847 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 20:38:09 +00:00
bienvenu%nventure.com
e5bb9259ec work for 290057 integrating with Spotlight - this allows us to open spotlight search results in TB, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@215846 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 19:56:14 +00:00
bugzilla%standard8.demon.co.uk
6f162638fd Bug 256447 In mailWindowOverlay.js, "Warning: redeclaration of var i" and "Warning: assignment to undeclared variable pop3Server". p=Serge Gautherie <sgautherie.bz@free.fr>,r=bienvenu,sr=mscott
git-svn-id: svn://10.0.0.236/trunk@215845 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 19:27:13 +00:00
neil%parkwaycc.co.uk
6236d3bd6a Followup to bug 355064 to update the spelling items last to hack around the editor context menu hacks r=IanN
git-svn-id: svn://10.0.0.236/trunk@215844 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 19:12:19 +00:00
bugzilla%arlen.demon.co.uk
4314b5ca79 Bug 357321 don't blindly trust address book recipients when loading remote content - Remove unneeded code from privacy.js
p=me r/sr=mscott


git-svn-id: svn://10.0.0.236/trunk@215842 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 17:40:32 +00:00
neil%parkwaycc.co.uk
fe51062186 Code and comment cleanup b=342560 r=Mnyromyr
git-svn-id: svn://10.0.0.236/trunk@215841 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 17:31:41 +00:00
mnyromyr%tprac.de
f483bb45a8 Bug 361694: additional trunk fix; r/sr=neil
git-svn-id: svn://10.0.0.236/trunk@215840 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 17:01:54 +00:00
masayuki%d-toybox.com
5976c1b7ff Bug 360050 Implement SVGMatrix::RotateFromVector, FlipX, FlipY. patch by KUROSAWA, Takeshi(taken) <taken.spc@gmail.com> r=tor, sr=roc
git-svn-id: svn://10.0.0.236/trunk@215839 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 14:41:55 +00:00
masayuki%d-toybox.com
dc0cfe748e Bug 360050 backed-out for bustage on Win32
git-svn-id: svn://10.0.0.236/trunk@215838 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 14:25:00 +00:00
masayuki%d-toybox.com
e039a0065b Bug 360050 Implement SVGMatrix::RotateFromVector, FlipX, FlipY. patch by KUROSAWA, Takeshi(taken) <taken.spc@gmail.com> r=tor, sr=roc
git-svn-id: svn://10.0.0.236/trunk@215837 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 13:49:26 +00:00
gerv%gerv.net
47312e784f Further updates to cope with new code
git-svn-id: svn://10.0.0.236/trunk@215836 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 08:24:32 +00:00
stuart.morgan%alumni.case.edu
0e6913057b Camino only - Added checking embed-replacements to the release checklist. No code changes
git-svn-id: svn://10.0.0.236/trunk@215835 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 06:19:00 +00:00
philringnalda%gmail.com
cdf1c9053f Bug 352032: A few prefs buttons lost their disable_button in the prefs reorg, r=gavin
git-svn-id: svn://10.0.0.236/trunk@215834 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 02:19:12 +00:00
stuart.morgan%alumni.case.edu
c6264e173c Camino only - Bug 343837: Show 'Camino' instead of 'null' in security dialogs. sr=mento
git-svn-id: svn://10.0.0.236/trunk@215830 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-26 00:47:06 +00:00
mozilla%weilbacher.org
b135e35663 [OS/2] Bug 358863: fix jumping of elements when pmstripe theme is active and toolbars are wider than the Firefox window, r/sr=mkaply
git-svn-id: svn://10.0.0.236/trunk@215829 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 23:22:18 +00:00
mozilla.mano%sent.com
d451656a5e Bug 361701 - First pane of preferences window is blank when animating is on. patch from Dave Townsend (Mossop) <mossop.bugzilla@blueprintit.co.uk>, r=me.
git-svn-id: svn://10.0.0.236/trunk@215827 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 21:15:43 +00:00
mozilla.mano%sent.com
c0464c750b Bug 361826 - Re-enable background-tabs notification in Pinstripe. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@215826 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 20:37:32 +00:00
silver%warwickcompsoc.co.uk
2edcf0c34b Fix unused code to use new tree-utils functions.
NPOB.


git-svn-id: svn://10.0.0.236/trunk@215825 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 19:58:04 +00:00
bugzilla%arlen.demon.co.uk
783de386b0 Bug 357321 don't blindly trust address book recipients when loading remote content - Fix msgHdrForCurrentMessage patch
r=mscott


git-svn-id: svn://10.0.0.236/trunk@215823 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 17:38:57 +00:00
robert%accettura.com
f2b960bc4d Small html cleanup. Spaces to tabs, etc.
git-svn-id: svn://10.0.0.236/trunk@215822 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 16:18:06 +00:00
neil%parkwaycc.co.uk
7f9d2fd6a6 Tools/Search the Web fails with no windows open on Mac b=25287 p=stefanh r+sr=me
git-svn-id: svn://10.0.0.236/trunk@215820 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 15:21:12 +00:00
gavin%gavinsharp.com
2165c76269 Bug 361687: French translation update for DOMi, patch by Cédric Corazza <cedric.corazza@wanadoo.fr>, r=bugzilla.fr@gmail.com
git-svn-id: svn://10.0.0.236/trunk@215819 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 15:18:37 +00:00
gavin%gavinsharp.com
52ddd7f7c5 Bug 361432: style lines from manifest files no longer applied when xul cache disabled, patch by Nickolay Ponomarev <asqueella@gmail.com>, r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@215818 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 14:51:29 +00:00
gavin%gavinsharp.com
ee9387102f Bug 361769: the V before Show Suggestions is too big (make min-width/height rules apply only to the engine dropdown), patch by Dave Townsend (Mossop) <mossop.bugzilla@blueprintit.co.uk>, r=me
git-svn-id: svn://10.0.0.236/trunk@215817 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 14:33:04 +00:00
gavin%gavinsharp.com
f359745a49 Bug 357609: package DOM storage xpt (DOM storage broken in trunk builds), patch by Sylvain Pasche <sylvain.pasche@gmail.com>, r=me
git-svn-id: svn://10.0.0.236/trunk@215816 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 14:29:36 +00:00
mnyromyr%tprac.de
696e27438b Bug 361694: Altering a tag's importance resets its name and colour; r/sr=neil
git-svn-id: svn://10.0.0.236/trunk@215815 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 13:06:02 +00:00
bugzilla%standard8.demon.co.uk
4f06162d58 Bug 361193 In suiterunner preferences, advanced -> Mousewheel pane doesn't display. r=KaiRo,sr=Neil
git-svn-id: svn://10.0.0.236/trunk@215814 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 13:00:07 +00:00
mnyromyr%tprac.de
ccdb7040df Bug 349991: tag mailview names out of sync with tags; r=neil, sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215813 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 12:55:06 +00:00
neil%parkwaycc.co.uk
06698f3e6b Inline spellcheck in web composer (editor) b=355064 r=IanN
git-svn-id: svn://10.0.0.236/trunk@215812 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 12:25:20 +00:00
lpsolit%gmail.com
fd69b6f0b1 Bug 338435: Add link to DBD::Pg in the documentation - Patch by victory(_RSZ_) <bmo2007@rsz.jp> r=LpSolit
git-svn-id: svn://10.0.0.236/trunk@215811 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 11:47:27 +00:00
lpsolit%gmail.com
ab7d381f7f Docs patch for bug 330487: Bugzilla now has an automatic update notification system - Patch by me, r=justdave
git-svn-id: svn://10.0.0.236/trunk@215810 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 11:33:49 +00:00
bugzilla%standard8.demon.co.uk
d92087a539 Bug 361193 In suiterunner preferences, advanced -> Mousewheel pane doesn't display. r=KaiRo,sr=Neil
git-svn-id: svn://10.0.0.236/trunk@215809 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 09:58:57 +00:00
robert%accettura.com
414abeb46c Second half of charset implementation, add to db schema, make viewable in report and query.
git-svn-id: svn://10.0.0.236/trunk@215808 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 02:47:57 +00:00
robert%accettura.com
d71527abf0 Last checkin had a few extra returns and some lines commented out by mistake. Came from the wrong tree. This is better.
git-svn-id: svn://10.0.0.236/trunk@215807 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 02:34:38 +00:00
robert%accettura.com
4090c8e40b Update service to handle versioning via url, and accept character encoding as a param (Bug 352905) and other minor stuff.
git-svn-id: svn://10.0.0.236/trunk@215806 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 02:32:31 +00:00
brendan%mozilla.org
221680ca40 Fix 360612, r=igor.
git-svn-id: svn://10.0.0.236/trunk@215805 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 02:11:28 +00:00
lpsolit%gmail.com
f9769fec10 Docs for bug 344875: Custom fields can be created and edited directly from your web browser - Patch by me, r=justdave
git-svn-id: svn://10.0.0.236/trunk@215804 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 01:10:21 +00:00
ajschult%verizon.net
0a8aca4bae Bug 336966: Useless null check of shell in nsXIEngine::DeleteXPIs. Patch by Ryan Jones <sciguyryan+bugzilla@gmail.com>, r=me.
git-svn-id: svn://10.0.0.236/trunk@215803 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 00:59:20 +00:00
bclary%bclary.com
84b5571f99 JavaScript Test - regression test for bug 361558, by Jesse Ruderman
git-svn-id: svn://10.0.0.236/trunk@215802 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 00:16:46 +00:00
ajschult%verizon.net
90ff48eb14 Bug 272041: Can't copy whitespace via context menu, r+sr=Neil
git-svn-id: svn://10.0.0.236/trunk@215801 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-25 00:00:04 +00:00
philringnalda%gmail.com
bbb31093ab Bug 361627: Customize toolbar dialog is empty with wrong_document_err, r=mano
git-svn-id: svn://10.0.0.236/trunk@215800 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-24 23:22:47 +00:00
stuart.morgan%alumni.case.edu
a5384b57c4 Camino only - Fix typo in bug 172842 project change
git-svn-id: svn://10.0.0.236/trunk@215799 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-24 22:31:18 +00:00
philringnalda%gmail.com
896d90091f Bug 361711: Toolbar customization broken on trunk by wrong_document_err, r=mscott
git-svn-id: svn://10.0.0.236/trunk@215794 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-24 19:53:53 +00:00
stuart.morgan%alumni.case.edu
a29cbd642f Camino only - Bug 172842: Implement Keychain Services API. r=joshmoz sr=pink
git-svn-id: svn://10.0.0.236/trunk@215791 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-24 19:20:18 +00:00
mrbkap%gmail.com
cac0189952 Remove JOF_NAME so as to not confuse the code generator. bug 360969, r=brendan
git-svn-id: svn://10.0.0.236/trunk@215788 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-24 19:00:48 +00:00
mrbkap%gmail.com
3222b6c4b2 Mark our saved setter in case we have the last reference to it. bug 361346, r=brendan
git-svn-id: svn://10.0.0.236/trunk@215787 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-24 18:57:34 +00:00
hwaara%gmail.com
6827a657d1 expose the "mixed" value of checkbox, and add license headers to these files. r=surkov, b=361736
git-svn-id: svn://10.0.0.236/trunk@215784 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-24 14:37:00 +00:00
sharparrow1%yahoo.com
40150360c3 Bug 345707: print selection cuts off top of selection. r+sr=src.
git-svn-id: svn://10.0.0.236/trunk@215783 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-24 08:14:37 +00:00
sharparrow1%yahoo.com
31c9af6683 Bug 360227: prevent framesets from taking up an extra blank page when print/print previewing. r+sr=roc.
git-svn-id: svn://10.0.0.236/trunk@215782 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-24 08:12:17 +00:00
sharparrow1%yahoo.com
9f34a2a380 Bug 356858: remove unused declarations. r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@215781 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-24 08:09:28 +00:00
brendan%mozilla.org
dc22a40ddd Back out last change.
git-svn-id: svn://10.0.0.236/trunk@215780 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-24 05:12:29 +00:00
gavin%gavinsharp.com
fe4108f054 Bug 357398: js_ExpandErrorArguments can crash in OOM conditions, patch by Gavin Reaney <gavin@picsel.com>, r=mrbkap
git-svn-id: svn://10.0.0.236/trunk@215779 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-24 03:07:59 +00:00
brendan%mozilla.org
96b715af56 Move GSN cache for best sharing and correct clearing (360612, r=igor).
git-svn-id: svn://10.0.0.236/trunk@215778 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-24 03:03:18 +00:00
mats.palmgren%bredband.net
63082518ab Use the unshifted charCode when the Shift key and other modifiers are down (for accesskey handling). p=zeniko b=351310 r=me
git-svn-id: svn://10.0.0.236/trunk@215777 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-24 02:10:50 +00:00
jshin%mailaps.org
46531d3b27 bug 359808 : drop support Win 9x/ME in xpcom/io (r/sr=darin)
git-svn-id: svn://10.0.0.236/trunk@215776 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-24 01:02:56 +00:00
jwalden%mit.edu
69999627e3 Bug 361647 - Fix signed-unsigned comparisons in gfxPlatform.cpp. r+sr=pavlov
git-svn-id: svn://10.0.0.236/trunk@215775 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 22:00:10 +00:00
lpsolit%gmail.com
c638418f9d Also mention the XML format for bug lists
git-svn-id: svn://10.0.0.236/trunk@215774 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 21:51:07 +00:00
lpsolit%gmail.com
d4d4716a85 Docs patch for bug 313020: Implement the ability to add and remove individual bugs to/from saved searches - Patch by me, r=Colin
git-svn-id: svn://10.0.0.236/trunk@215772 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 21:39:44 +00:00
lpsolit%gmail.com
47bd278f5d Fixing bustage: &quote; -> <quote>
git-svn-id: svn://10.0.0.236/trunk@215771 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 21:01:05 +00:00
lpsolit%gmail.com
aa614b75ed Bug 361564: Attachments should have their own section in the docs, and info about PatchReader should be a sub-section of it - Patch by Frédéric Buclin <LpSolit@gmail.com> r=Colin
git-svn-id: svn://10.0.0.236/trunk@215770 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 20:48:14 +00:00
silver%warwickcompsoc.co.uk
166dd6b272 ChatZilla 0.9.77.
git-svn-id: svn://10.0.0.236/trunk@215769 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 20:46:23 +00:00
mozilla%colinogilvie.co.uk
0bb94bf176 Bug 361251: update Bugzilla FAQ
Patch by victory(_RSZ_) <bmo2007@rsz.jp>; r=LpSolit; r=Colin


git-svn-id: svn://10.0.0.236/trunk@215768 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 20:25:37 +00:00
philringnalda%gmail.com
6cdeced5e1 Bug 361458: Opening bookmark in sidebar results in XML parsing error, r=gavin
git-svn-id: svn://10.0.0.236/trunk@215767 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 20:13:58 +00:00
silver%warwickcompsoc.co.uk
53bfe68313 Bug 361657 - Adopt nodes when placing them into the output window.
ChatZilla only.
r=samuel


git-svn-id: svn://10.0.0.236/trunk@215763 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 19:31:07 +00:00
brendan%mozilla.org
48501e0eb9 Fix 316552, r=mrbkap.
git-svn-id: svn://10.0.0.236/trunk@215762 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 19:08:08 +00:00
mozilla.mano%sent.com
14284a6947 Bug 361671 - Feed Preview is broken (typro from bug 361186).
git-svn-id: svn://10.0.0.236/trunk@215761 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 18:44:41 +00:00
brendan%mozilla.org
ee1e7b3d6a Fix bogus assertion (361558, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@215758 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 17:16:17 +00:00
kjh-5727%comcast.net
2b94312603 Bug 351231: type-pun warnings from nsCOMPtr, part II. r+sr=dbaron.
git-svn-id: svn://10.0.0.236/trunk@215757 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 16:10:43 +00:00
smontagu%smontagu.org
351b095a83 More additions and corrections to language names. Bug 178491, r=jshin, blanket sr=roc
git-svn-id: svn://10.0.0.236/trunk@215756 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 15:59:12 +00:00
Olli.Pettay%helsinki.fi
88461fe249 Bug 354611, Crash [@ nsXULElement::HideWindowChrome] setting hidechrome to true, r=enndeakin, sr=neil
git-svn-id: svn://10.0.0.236/trunk@215755 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 15:55:58 +00:00
kjh-5727%comcast.net
6f72849eb5 Bug 351231: type-pun warnings from nsCOMPtr. r+sr=dbaron.
git-svn-id: svn://10.0.0.236/trunk@215753 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 13:21:27 +00:00
jwalden%mit.edu
b34290b4d0 Bug 359824 - necko unit test failure: test_authentication.js. Previous commit to revert bug 223846 forgot to remove an extra header that the original commit added; this commit removes that unnecessary include. r=vlad on the original backout patch
git-svn-id: svn://10.0.0.236/trunk@215752 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 13:19:53 +00:00
mozilla.mano%sent.com
ce0ad1ae4c Bug 357914 - Choose Application menuitem in feed subscription UI sometimes doesn't work. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@215750 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 12:13:47 +00:00
mozilla.mano%sent.com
3632bc2eed Bug 361186 - FeedWriter should cache its string bundle. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@215749 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 11:59:53 +00:00
ginn.chen%sun.com
7bacf2ac7f missed two lines in last checkin, sorry for my spam
Bug 361470


git-svn-id: svn://10.0.0.236/trunk@215748 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 10:45:42 +00:00
longsonr%gmail.com
796c22bd86 Bug 361522 - SVGLocatable.getTransformToElement(element) returns wrong values. r=tor,sr=roc
git-svn-id: svn://10.0.0.236/trunk@215747 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 09:41:56 +00:00
mozilla.mano%sent.com
f0dae6c97a Bug 359718 - Page info: Security tab never shown. r=gavin, mpa=darin.
git-svn-id: svn://10.0.0.236/trunk@215746 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 09:41:03 +00:00
allan%beaufour.dk
dfb15a99ce Do not run updateservice tests, when tests are disabled. Bug 359701, r=benjamin
git-svn-id: svn://10.0.0.236/trunk@215745 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 08:46:55 +00:00
allan%beaufour.dk
34472477d0 Add NSPR debug info to nsObserverService. Bug 361490, r=darin
git-svn-id: svn://10.0.0.236/trunk@215744 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 08:43:28 +00:00
ginn.chen%sun.com
016c31f504 Bug 361470 Fix Solairs build after refactoring xptcall
r=benjamin moa=timeless


git-svn-id: svn://10.0.0.236/trunk@215743 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 07:50:02 +00:00
sayrer%gmail.com
579ec0fede Bug 361531. Ampersands in URL aren't escaped when inserted in generated base attribute. r=mano
git-svn-id: svn://10.0.0.236/trunk@215742 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 07:18:59 +00:00
sspitzer%mozilla.org
9a60265878 fix for bug #361624: user style sheets may not be imported from Safari, due to an uninitialized variable. also, fix a warning I introduced with a recent checkin for MOZ_PLACES_BOOKMARKS ifdef support.
r=gavin


git-svn-id: svn://10.0.0.236/trunk@215741 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 07:05:07 +00:00
Olli.Pettay%helsinki.fi
fdf8005415 Bug 361376, Right click on an item in the Add-Ons dialog produces a context menu on the left hand side of the dialog, r=ere, sr=roc
git-svn-id: svn://10.0.0.236/trunk@215740 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 04:52:53 +00:00
enndeakin%sympatico.ca
e19ca111bf Bug 359012, wrong host added to whitelist when xpi is in a frame, r=mano
git-svn-id: svn://10.0.0.236/trunk@215739 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 03:21:26 +00:00
philringnalda%gmail.com
ca251af942 Bug 252247: GetThreadTree is undefined error from hidden window on Mac startup, r+a=mscott
git-svn-id: svn://10.0.0.236/trunk@215738 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 02:40:52 +00:00
philringnalda%gmail.com
3d9cbe9567 Bug 350423: fix pinstripe image regions for phishing and remote content on the trunk, now that the Fx visual refresh has landed the smaller images on the trunk, r=mscott
git-svn-id: svn://10.0.0.236/trunk@215737 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 02:30:27 +00:00
edburns%acm.org
2c1be00595 forgot_to_put_into_cvs
git-svn-id: svn://10.0.0.236/trunk@215736 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 02:23:52 +00:00
masayuki%d-toybox.com
76f4b7f7d0 Bug 361494 NS_ASSERTION of gfxPlatformGtk::IsExistingFont has wrong condition r=vlad
git-svn-id: svn://10.0.0.236/trunk@215734 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 02:01:36 +00:00
sayrer%gmail.com
e7f59d3992 bug 361230. Add a way to tell the parser the feed has been sniffed. r=mano
git-svn-id: svn://10.0.0.236/trunk@215733 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 01:22:43 +00:00
tor%cs.brown.edu
2f70c89f14 Bug 361587 - avoid paint work on gradient with no stops. r=vlad
git-svn-id: svn://10.0.0.236/trunk@215731 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 01:17:47 +00:00
tor%cs.brown.edu
8aeeb7cc28 Bug 361569 - allow SVG to use cairo fallbacks with nquartz backend. r=vlad
git-svn-id: svn://10.0.0.236/trunk@215730 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 01:15:04 +00:00
roc+%cs.cmu.edu
fb4c6fb984 Bug 130078. Reverting fix because of regressions. We'll have to come back to this again :-(.
git-svn-id: svn://10.0.0.236/trunk@215729 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 01:12:52 +00:00
tony%ponderer.org
6c03b73c81 bug 356355: numeric domain normalization only happens on enchash table values
patch v4: check both old and new canonical form
r=mmchew


git-svn-id: svn://10.0.0.236/trunk@215728 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 01:12:35 +00:00
sspitzer%mozilla.org
097e8f542b backing out the fix for bug #223846 (AuthName with escaped quote in it sets wrong realm) because it causes two regressions:
bug #361544: unable to log into https://intranet.mozilla.org
bug #359824: necko unit test failure: test_authentication.js

thanks to jeff walden for the patch.

r=vlad, g# agrees with the backout, too.


git-svn-id: svn://10.0.0.236/trunk@215726 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 01:09:20 +00:00
roc+%cs.cmu.edu
1893938850 Bug 359773. Fix return codes from Get/SetPropertyAsSupports. r+sr=jag
git-svn-id: svn://10.0.0.236/trunk@215725 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 01:09:19 +00:00
preed%mozilla.com
4c668a3d5f Bug 360585: bump Nagios nightly build checker configs for 2.0.0.1pre. patch=cf, r=preed
git-svn-id: svn://10.0.0.236/trunk@215724 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 00:44:11 +00:00
tony%ponderer.org
2925ce62ca back out change because tree is closed
git-svn-id: svn://10.0.0.236/trunk@215723 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 00:39:39 +00:00
tony%ponderer.org
c089f28298 bug 356355: numeric domain normalization only happens on enchash table values
patch v4: check both old and new canonical form
r=mmchew


git-svn-id: svn://10.0.0.236/trunk@215722 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-23 00:37:20 +00:00
vladimir%pobox.com
ece4ca3cad backing out bug 333078, xpcom cycle collector due to perf issues
git-svn-id: svn://10.0.0.236/trunk@215718 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 23:18:16 +00:00
wtchang%redhat.com
27228a603a Updated for the current platform list. Pass the -p option to mkdir to
handle a directory in WIN_OBJDIRS of the form msvc6.0/WIN954.0_DBG.OBJ.


git-svn-id: svn://10.0.0.236/trunk@215714 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 22:42:57 +00:00
brendan%mozilla.org
ba59cfb0cd Fix from Gavin Reaney <gavin@picsel.com> for 357392, r=me.
git-svn-id: svn://10.0.0.236/trunk@215711 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 22:32:47 +00:00
sspitzer%mozilla.org
346651146e tree is closed, backing out my last backout
git-svn-id: svn://10.0.0.236/trunk@215708 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 22:13:14 +00:00
sspitzer%mozilla.org
3321771dea backing out the fix for bug #223846 (AuthName with escaped quote in it sets wrong realm) because it causes two regressions:
bug #361544: unable to log into https://intranet.mozilla.org
bug #359824: necko unit test failure: test_authentication.js

thanks to jeff walden for the patch.

r=vlad, g# agrees with the backout, too.


git-svn-id: svn://10.0.0.236/trunk@215707 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 22:03:58 +00:00
mattwillis%gmail.com
6a6350602b bug 361204 - Fixes line endings and lack of license text. Original patch by Stefan Sitter <ssitter@googlemail.com>, minor edits and r=lilmatt
git-svn-id: svn://10.0.0.236/trunk@215706 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 21:59:22 +00:00
vladimir%pobox.com
b964499284 b=333078, xpcom cycle collector; followup patch -- patch from graydon@mozilla.com, r=many
git-svn-id: svn://10.0.0.236/trunk@215705 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 21:31:33 +00:00
mozilla.mano%sent.com
558ec296b5 Backing out bug 359718, tree is closed
git-svn-id: svn://10.0.0.236/trunk@215704 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 21:24:56 +00:00
mozilla.mano%sent.com
39ba3e7fc7 Bug 359718 - Page info: Security tab never shown. r=gavin, mpa=darin.
git-svn-id: svn://10.0.0.236/trunk@215703 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 21:23:35 +00:00
wsharp%adobe.com
141562d35f bug 361427. Lost some MathUtils changes for 64-bit.
git-svn-id: svn://10.0.0.236/trunk@215702 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 21:22:34 +00:00
wsharp%adobe.com
41fd8cb0a5 bug 361427. Merge Linux code into AVM+ source tree. Not quite building yet - some sort of zlib problem with the new zlib routines. Maybe a C/C++ mismatch somehow? r:mtilburg
git-svn-id: svn://10.0.0.236/trunk@215701 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 21:10:17 +00:00
vladimir%pobox.com
81dc6dcbb9 b=333078, xpcom cycle collector; followup patch -- patch from graydon@mozilla.com, r=many
git-svn-id: svn://10.0.0.236/trunk@215700 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 20:48:47 +00:00
lpsolit%gmail.com
ebfd5a4c98 Docs patch for bug 87795: You now get an email with a URL containing a random token to confirm your registration - Patch by me, r=justdave
git-svn-id: svn://10.0.0.236/trunk@215699 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 20:37:55 +00:00
mnyromyr%tprac.de
5942bdcd11 Bug 66466: No cross-folder navigation using Next Unread Thread; based upon an old 2002 patch by Travis Crump <pretzalz@techhouse.org>, r=Neil, sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215698 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 20:33:07 +00:00
lpsolit%gmail.com
f4db343eb7 Bug 361562: The "Using Bugzilla" chapter should be before the "Customising Bugzilla" chapter - Patch by Frédéric Buclin <LpSolit@gmail.com> r=justdave
git-svn-id: svn://10.0.0.236/trunk@215697 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 20:31:11 +00:00
vladimir%pobox.com
260a2b3959 b=333078, xpcom cycle collector -- patch from graydon@mozilla.com, r=many
git-svn-id: svn://10.0.0.236/trunk@215695 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 19:23:02 +00:00
lpsolit%gmail.com
8fe8165513 Docs patch for bug 36257: Add the QA contact field to the list of valid fields in the "Anatomy of a bug" section - Patch by me, r=justdave
git-svn-id: svn://10.0.0.236/trunk@215694 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 19:08:30 +00:00
scott%scott-macgregor.org
462c59f6ef Bug #358339 --> wrap attempts to get the shell service in try/catch calls. On some flavors of linux, the initializing the shell service throws an error because we don't have access to the gconf services we are expecting. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215693 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 18:52:33 +00:00
bzbarsky%mit.edu
8de5291c41 This wasn't supposed to land
git-svn-id: svn://10.0.0.236/trunk@215692 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 18:52:32 +00:00
wsharp%adobe.com
9a008c88b6 bug 361366. Continuation of Mac 64-bit port. r: stejohns. Also fixed two bugs with Steven's change from yesterday. NATIVE functions in DictionaryGlue and DomainClass need 'constructor' changed to new name.
git-svn-id: svn://10.0.0.236/trunk@215691 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 18:41:17 +00:00
martijn.martijn%gmail.com
cb46a225ca Fix small issue with patch for bug 361334 (Onbeforeunload dialog has too many line breaks), r+sr=jst
git-svn-id: svn://10.0.0.236/trunk@215690 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 18:41:11 +00:00
despotdaemon
102d30ad22 Pseudo-automatic update of changes made by benjamin@smedbergs.us.
git-svn-id: svn://10.0.0.236/trunk@215689 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 18:40:09 +00:00
martijn.martijn%gmail.com
04a8434163 Bug 361383 - Patch for bug 348183 can be backed out now that the patch for bug 348357 went in, r=gavin.sharp, r=sspitzer
git-svn-id: svn://10.0.0.236/trunk@215688 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 18:37:34 +00:00
peterv%propagandism.org
104eb64087 Fix for bug 47903 (WRONG_DOCUMENT_ERR not being thrown). r=sicking, sr=bz.
git-svn-id: svn://10.0.0.236/trunk@215687 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 18:35:05 +00:00
martijn.martijn%gmail.com
8b34f4bfed Bug 319654 - Processing instructions in XUL are not added to the content model, modifying test10, to make it more correct
git-svn-id: svn://10.0.0.236/trunk@215686 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 18:34:07 +00:00
bzbarsky%mit.edu
43d470b66b Make the redirect check get principals the same way we get them elsewhere.
Clean up some code to use the new security manager method.  Bug 354693,
r=dveditz, sr=sicking


git-svn-id: svn://10.0.0.236/trunk@215685 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 18:27:54 +00:00
dbaron%dbaron.org
70646c07d3 Fix use of the wrong variable that causes the same argument to be passed twice to NSGetModule. b=316416 r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@215684 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 18:01:37 +00:00
gavin%gavinsharp.com
eddda5c09e Last revision was: Bug 342670: Leaking process information handle in nsDebugImpl.cpp, patch by David Gardiner <David.R.Gardiner@gmail.com>, r=bsmedberg, sr=darin
git-svn-id: svn://10.0.0.236/trunk@215682 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:51:59 +00:00
masayuki%d-toybox.com
970854042a Bug 361529 Font resolver doesn't work fine on some cases r=pavlov
git-svn-id: svn://10.0.0.236/trunk@215681 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:50:38 +00:00
gavin%gavinsharp.com
9e78eda24c Bug 342670
git-svn-id: svn://10.0.0.236/trunk@215680 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:50:35 +00:00
gavin%gavinsharp.com
a4155d11e7 Bug 360792: mail.delete_matches_sort_order does not work when using imap mark as deleted model, patch by Magnus Melin <mkmelin+mozilla@iki.fi>, r=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215679 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:47:52 +00:00
gavin%gavinsharp.com
3cbc871e9b Bug 360428: Instances of 'AskJeeves' should be replaced with 'Ask.com', fix queryCharset and interpret section, patch by Charles Caygill <bzmozilla@ccaygill.com>, r=neil+me
git-svn-id: svn://10.0.0.236/trunk@215678 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:46:49 +00:00
gavin%gavinsharp.com
473f4f8a9f Bug 359967: File pref-downloads.dtd is no longer used, patch by Magnus Melin <mkmelin+mozilla@iki.fi>, r=mscott
git-svn-id: svn://10.0.0.236/trunk@215677 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:44:40 +00:00
gavin%gavinsharp.com
74ed0dc575 Bug 359895: 'about:blank' shows in location bar when switching to a blank tab, r=mano
git-svn-id: svn://10.0.0.236/trunk@215676 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:42:35 +00:00
gavin%gavinsharp.com
dda76b7261 Bug 357171: nsIAutoCompleteSearch (et al) not defined, patch by Paul Tomlin <ptomli.bugzilla@gmail.com>, r=mscott, sr=neil
git-svn-id: svn://10.0.0.236/trunk@215675 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:36:59 +00:00
joshmoz%gmail.com
b249c4e0aa allow directory creation when saving files/attachments. patch by Hiro. b=360948 r=josh sr=pinkerton (re-landing)
git-svn-id: svn://10.0.0.236/trunk@215674 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:35:52 +00:00
gavin%gavinsharp.com
ceebb4e33f Bug 355717: #if is always true or function does not return a value, patch by Ryan Jones <sciguyryan+bugzilla@gmail.com>, r=brendan
git-svn-id: svn://10.0.0.236/trunk@215673 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:34:49 +00:00
uriber%gmail.com
9d04f04293 Null-check GetContentOffsetsFromPoint's output, to avoid crashes later. bug=361229 r=roc sr=sicking
git-svn-id: svn://10.0.0.236/trunk@215672 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:34:15 +00:00
gavin%gavinsharp.com
d83c0d833f Bug 342315: Reply All (to self sent msg) should preserve visible BCC recipients from original message, patch by Magnus Melin <mkmelin+mozilla@iki.fi>, r=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215671 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:33:20 +00:00
gavin%gavinsharp.com
037116cb9a Bug 306330: search engines without an icon have less margin than the others, r=mano
git-svn-id: svn://10.0.0.236/trunk@215670 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:26:56 +00:00
gavin%gavinsharp.com
a5ef8e0b77 Bug 243207: net_RFindCharInSet is unused, patch by Ryan Jones <sciguyryan+bugzilla@gmail.com>, r+sr=biesi
git-svn-id: svn://10.0.0.236/trunk@215669 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:24:32 +00:00
gavin%gavinsharp.com
e09148e054 Bug 202198: fix possible leak in nsScriptSecurityManager::InitPrefs(), patch by Ryan Jones <sciguyryan+bugzilla@gmail.com>, r+sr=dveditz
git-svn-id: svn://10.0.0.236/trunk@215668 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:22:40 +00:00
gavin%gavinsharp.com
6044e41533 Bug 185662: In SMTP prefs, make it clear what 'use secure connection (SSL)' really means, patch by Magnus Melin <mkmelin+mozilla@iki.fi>, r+sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215667 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:20:32 +00:00
gavin%gavinsharp.com
66760fc0cc Bug 131190: MsgSendLater need to address the X-DraftInfo receipt info recorded in the send later message, patch by Jeff Tsai <jt95070@netscape.net>, r+sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215666 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:17:40 +00:00
stuart.morgan%alumni.case.edu
6be1ab92a7 Camino only - Bug 361163: Remove window state on quit when save pref is off. r=cl sr=pink
git-svn-id: svn://10.0.0.236/trunk@215665 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 17:00:21 +00:00
despotdaemon
b8ea2bb9bc Pseudo-automatic update of changes made by benjamin@smedbergs.us.
git-svn-id: svn://10.0.0.236/trunk@215663 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 16:46:59 +00:00
lpsolit%gmail.com
a99e72cd79 Documentation for bug 174039: we can now attach documents and set flags on bug creation - Patch by me, r=timeless
git-svn-id: svn://10.0.0.236/trunk@215659 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 15:59:20 +00:00
mattwillis%gmail.com
19d233da19 bug 232202 - Backing out patch that caused regressions per jminta.
git-svn-id: svn://10.0.0.236/trunk@215658 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 13:36:36 +00:00
mattwillis%gmail.com
05fe2bc401 Move Sunbird and Lightning nightly build hour from 6am to 3am Pacific. okayed by preed in IRC
git-svn-id: svn://10.0.0.236/trunk@215655 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 13:14:34 +00:00
mattwillis%gmail.com
231b552d02 switch from win to unix line endings
git-svn-id: svn://10.0.0.236/trunk@215654 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 13:11:12 +00:00
mattwillis%gmail.com
b7902c2667 bug 349228 - Use appropriate observers in comparison in CalDAV. Patch by Bruno Browning <browning@uwalumni.com>, r=lilmatt, jminta
git-svn-id: svn://10.0.0.236/trunk@215653 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 12:52:35 +00:00
neil%parkwaycc.co.uk
013f99ea67 Bug 296770 Mark messages as read by date dialog does not respect leading zeros in the system date format p=mkmelin+mozilla@iki.fi r=me sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215652 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 12:20:48 +00:00
mike.morgan%oregonstate.edu
5cadb1b885 Checking in patch to add 2.0.0.* versions from bug 360585.
git-svn-id: svn://10.0.0.236/trunk@215649 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 10:02:09 +00:00
daniel.boelzle%sun.com
e6711a58c2 Bug 340949: error handling, refresh, startup opt, search for calendars, alarm defaults, minor cleanup
git-svn-id: svn://10.0.0.236/trunk@215648 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 09:43:14 +00:00
bclary%bclary.com
27894392c4 JavaScript Test - regression test for bug 361360, by Jesse Ruderman
git-svn-id: svn://10.0.0.236/trunk@215647 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 09:41:33 +00:00
bclary%bclary.com
09cc42bc3e JavaScript Test - regression test for bug 361451, by Jesse Ruderman
git-svn-id: svn://10.0.0.236/trunk@215646 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 09:29:05 +00:00
bclary%bclary.com
7d860b0b10 JavaScript Test - regression test for bug 361467, by Jesse Ruderman
git-svn-id: svn://10.0.0.236/trunk@215645 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 09:16:24 +00:00
daniel.boelzle%sun.com
24210a8348 Bug 340949: added calIWcapSearchListener
git-svn-id: svn://10.0.0.236/trunk@215644 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 09:11:10 +00:00
joshmoz%gmail.com
550ef5d8e2 back out 360948, tree closed
git-svn-id: svn://10.0.0.236/trunk@215637 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 07:31:54 +00:00
joshmoz%gmail.com
b21faa2041 allow directory creation when saving files/attachments. patch by Hiro. b=360948 r=josh sr=pinkerton
git-svn-id: svn://10.0.0.236/trunk@215635 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 07:29:12 +00:00
mrbkap%gmail.com
2680191e6d Our function isn't guaranteed to be scripted. bug 361467, r=brendan
git-svn-id: svn://10.0.0.236/trunk@215634 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 06:45:51 +00:00
timeless%mozdev.org
bf36ae980e Bug 327833, In <inspector.xul>, Failed to load overlay from chrome://browser/content/baseMenuOverlay.xul
p= Shawn Wilsher693+bmo@gmail.com"><comrade693+bmo@gmail.com>, r=timeless, sr=neil

Backing out. jar.mn magic is wrong resulting in unhappiness


git-svn-id: svn://10.0.0.236/trunk@215629 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 03:15:46 +00:00
brendan%mozilla.org
8099c06df9 Sweep property tree after finalizing objects, which may have watchpoints pointing to tree nodes (361451, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@215628 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 03:09:27 +00:00
jwalden%mit.edu
64fd802cad JavaScript Test - bug 357352 - e4x/Namespace/regress-350442.js is too strict and requires a particular implementation-dependent generated prefix. r=inonit@inonit.com as agreement that this fix is implementation-independent, assuming the tested implementation doesn't violate the spec in extremely weird ways.
git-svn-id: svn://10.0.0.236/trunk@215627 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 02:46:15 +00:00
mconnor%steelgryphon.com
c8ecc7cfd0 adding Gran Paradiso branding directory, NPOTB and non-working for now
git-svn-id: svn://10.0.0.236/trunk@215625 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 02:21:20 +00:00
stejohns%adobe.com
7f4145951d added .cvsignore files to the mozilla/js/tamarin/test directory tree, so that people who expand the .abc test files into it do not get hundreds of unknown files listed by CVS. Only *.abc files are ignored at present.
git-svn-id: svn://10.0.0.236/trunk@215612 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 01:27:12 +00:00
pavlov%pavlov.net
3d74bc79da turning on cocoa-cairo by default. bug 323934. r=vlad
git-svn-id: svn://10.0.0.236/trunk@215610 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 00:58:15 +00:00
vladimir%pobox.com
0540a894b3 b=360244, Implement gfxPlatformMac::GetFontList, r=stuart
git-svn-id: svn://10.0.0.236/trunk@215609 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 00:52:09 +00:00
vladimir%pobox.com
e4714e0e8a b=299149, localstore.rdf and other profile files get overwritten on first run from debug build, r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@215608 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 00:51:30 +00:00
pavlov%pavlov.net
556960c330 fixing cocoa-cairo plugins. bug 35732. 6r=vlad.
git-svn-id: svn://10.0.0.236/trunk@215607 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 00:48:57 +00:00
Olli.Pettay%helsinki.fi
e1b568df42 Bug 205872, l10n fix, p=Shawn Wilsher<comrade693+bmo@gmail.com>, r=pike
git-svn-id: svn://10.0.0.236/trunk@215606 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 00:48:45 +00:00
Olli.Pettay%helsinki.fi
da2412d3e6 Bug 327833, In <inspector.xul>, Failed to load overlay from chrome://browser/content/baseMenuOverlay.xul, p= Shawn Wilsher<comrade693+bmo@gmail.com>, r=timeless, sr=neil
git-svn-id: svn://10.0.0.236/trunk@215605 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 00:43:53 +00:00
ghendricks%novell.com
49a7de61dd Give users a product limited dropdown of environments when creating or updating a run.
git-svn-id: svn://10.0.0.236/trunk@215604 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 00:40:14 +00:00
stejohns%adobe.com
c61da35e9f Bug 360829: Removal of compiler warnings in Tamarin. Enabled (and fixed) many hidden-virtual-function warnings.
git-svn-id: svn://10.0.0.236/trunk@215602 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 00:15:24 +00:00
lpsolit%gmail.com
63accd62c9 Fixing bustage (I forgot a <title>)
git-svn-id: svn://10.0.0.236/trunk@215601 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-22 00:12:19 +00:00
tor%cs.brown.edu
3c37477ebe Bug 360122 - correct cairo_create error checking.
Patch by amenzie@us.ibm.com, r=tor, sr=roc


git-svn-id: svn://10.0.0.236/trunk@215599 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 23:57:56 +00:00
lpsolit%gmail.com
a0851bd5c1 Docs patch for bug 119485: update documentation about user account administration - Patch by me, r=justdave
git-svn-id: svn://10.0.0.236/trunk@215598 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 23:57:23 +00:00
martijn.martijn%gmail.com
da67508251 Bug 361334 - Onbeforeunload dialog has too many line breaks, r+sr=jst
git-svn-id: svn://10.0.0.236/trunk@215597 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 23:57:21 +00:00
lpsolit%gmail.com
352b070d46 Docs for bug 281876: There is now a UI to edit legal values - Patch by me, r=justdave
git-svn-id: svn://10.0.0.236/trunk@215595 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 23:43:02 +00:00
bugzilla%arlen.demon.co.uk
4135bffe35 Bug 185270 Shortcut key to open link in new tab, Insert (background) or Shift+insert (foreground) p=aqualon@aquachan.de r=cst sr=neil
git-svn-id: svn://10.0.0.236/trunk@215594 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 23:37:30 +00:00
ghendricks%novell.com
0c10578c3b Allow user to choose components from other products when creating a test case.
git-svn-id: svn://10.0.0.236/trunk@215593 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 23:29:59 +00:00
sspitzer%mozilla.org
d13f814777 fix for bug #358784: implement Firefox 2.0 style "View | By Date" and "View | By Date and Site" for places based history sidebar (GROUP_BY_DAY)
r=g#,brettw


git-svn-id: svn://10.0.0.236/trunk@215591 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 23:02:16 +00:00
cvshook%sicking.cc
63363e3091 Bug 361399: txXPathOptimizer::optimizePath is horked. r/sr=peterv
git-svn-id: svn://10.0.0.236/trunk@215589 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 22:48:21 +00:00
bienvenu%nventure.com
4c5921dfa5 maintain keywords when copying local messages to imap servers, sr=mscott, part of 360463
git-svn-id: svn://10.0.0.236/trunk@215586 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 22:12:23 +00:00
bienvenu%nventure.com
c5a1515644 fix bug 294296 misleading error message when domain not found, patch by ch.ey@gmx.net, r/sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215585 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 21:38:27 +00:00
cvshook%sicking.cc
2b2f4b6167 Don't return nsDerivedSafe when .get() is explicitly used on nsCOMPtr and nsRefPtr. r/sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@215584 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 21:28:14 +00:00
brendan%mozilla.org
9080dc9b41 Fix watchpoint pseudo-frame to have non-null pc field (361360, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@215583 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 21:23:18 +00:00
lpsolit%gmail.com
5e3484562b Docs for bug 284629: maildeliverymethod -> mail_delivery_method
git-svn-id: svn://10.0.0.236/trunk@215582 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 21:19:26 +00:00
bent.mozilla%gmail.com
baa408b3f0 Bug 361425 - "<xul:titlebar> element needs to support 'allowevents' attribute". r+sr=roc.
git-svn-id: svn://10.0.0.236/trunk@215577 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 21:04:49 +00:00
lpsolit%gmail.com
6f013390e6 Documentation for bug 180879: flags changes can be restricted to a grant and request groups - Patch by me, r=myk
git-svn-id: svn://10.0.0.236/trunk@215567 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 20:45:50 +00:00
bugzilla%standard8.demon.co.uk
c886c0d4fa Bug 361161 Reporter doesn't work for suiterunner (MOZ_XUL_APP=1) builds. r=raccettura.
git-svn-id: svn://10.0.0.236/trunk@215560 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 19:02:16 +00:00
ghendricks%novell.com
e7f91fda70 Allow plan owner to delete a test case that only appears in plans she owns.
git-svn-id: svn://10.0.0.236/trunk@215559 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 18:56:27 +00:00
mvl%exedo.nl
07ad39152a back out entire patch to fix bustage
git-svn-id: svn://10.0.0.236/trunk@215558 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 18:18:11 +00:00
joshmoz%gmail.com
d0dc9d0735 handle horizontal scrollbar height metric in mac look and feel. b=360860 r=hwaara sr=pinkerton
git-svn-id: svn://10.0.0.236/trunk@215557 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 17:41:10 +00:00
bienvenu%nventure.com
07647dfd2e fix 122006 expanding news server with keyboard should update group counts, patch by sgautherie.bz@free.fr, r/sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215555 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 17:14:51 +00:00
mvl%exedo.nl
d5b1b5782c bustage fix. don't try to build a missing file
git-svn-id: svn://10.0.0.236/trunk@215554 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 17:07:04 +00:00
bzbarsky%mit.edu
5ae2d8453d Fix MingW build bustage. Bug 361386, review pending.
git-svn-id: svn://10.0.0.236/trunk@215553 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 16:50:56 +00:00
brendan%mozilla.org
2b5a854e96 Fix from Martin Husemann <martin@NetBSD.ORG> for int-instead-of-ptrdiff_t abusage (361362, r=me).
git-svn-id: svn://10.0.0.236/trunk@215550 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 16:32:49 +00:00
bienvenu%nventure.com
324d2af046 fix handling of SMTP 50x status failures, and send QUIT on errors in general, 360118 and 62836, patch by ch.ey@gmx.net, r/sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215548 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 16:25:23 +00:00
aaronleventhal%moonset.net
8019a586c3 Bug 349885. GetAccessibleFor() doesn't look if ally nodes are allowed inside anon content. Second patch for hang fix. Patch by surkov. r=evan.yan, sr=neil
git-svn-id: svn://10.0.0.236/trunk@215545 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 14:57:53 +00:00
daniel.boelzle%sun.com
8271f2c004 Bug 340949: error handling, refresh, startup opt, search for calendars, alarm defaults, minor cleanup
git-svn-id: svn://10.0.0.236/trunk@215544 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 12:53:58 +00:00
bclary%bclary.com
ed3ddaff41 JavaScript Test - regression test for bug 355339, by Jesse Ruderman
git-svn-id: svn://10.0.0.236/trunk@215543 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 11:08:36 +00:00
neil%parkwaycc.co.uk
a473301c22 Whitespace/comment cleanup b=361248 p=gautheri@noos.fr r=IanN sr=me
git-svn-id: svn://10.0.0.236/trunk@215542 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 11:05:17 +00:00
bclary%bclary.com
858e6ae5b4 JavaScript Test - regression tests for bug 355832, by Jesse Ruderman
git-svn-id: svn://10.0.0.236/trunk@215541 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 10:42:57 +00:00
longsonr%gmail.com
e161e8d4ff Bug 361015 - Crash [@ nsSVGGFrame::GetCanvasTM] with gradient and removing transform attribute
git-svn-id: svn://10.0.0.236/trunk@215540 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 10:22:49 +00:00
bclary%bclary.com
85e175f6b7 JavaScript Test - regression test for bug 361274, by Jason Sachs
git-svn-id: svn://10.0.0.236/trunk@215539 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 10:18:06 +00:00
brendan%mozilla.org
20f64c317c Fix which property tree node is saved as wp->sprop (355339, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@215537 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 06:52:48 +00:00
masayuki%d-toybox.com
2915a5c9e9 Bug 352174 need font-family resolver (cannot resolve alias of font family / is not checking whether the specified font family is installed the system) r=pavlov+vlad
git-svn-id: svn://10.0.0.236/trunk@215536 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 06:31:04 +00:00
ginn.chen%sun.com
e0344c2733 Bug 360184 Accessible row/column and row/column header of tables are incorrect
patch by Evan.Yan@sun.com r=aaronleventhal


git-svn-id: svn://10.0.0.236/trunk@215535 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 05:34:28 +00:00
bzbarsky%mit.edu
d02dcab10e Improve comments. Bug 361222, r+sr=jst
git-svn-id: svn://10.0.0.236/trunk@215532 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 04:40:37 +00:00
bzbarsky%mit.edu
177e6f21d3 Fix bug 352728, r+sr=peterv
git-svn-id: svn://10.0.0.236/trunk@215531 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 04:38:00 +00:00
bzbarsky%mit.edu
fd869ecd16 Create URIs correctly. Bug 353731, r+sr=jst
git-svn-id: svn://10.0.0.236/trunk@215529 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 04:21:59 +00:00
bzbarsky%mit.edu
448f9e4773 Add reftest for processing instructions (CSS and overlay) in XUL documents.
Bug 319654, sr=dbaron, r= pending.


git-svn-id: svn://10.0.0.236/trunk@215528 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 04:19:14 +00:00
jshin%mailaps.org
8c31574b06 bug 352365 fix some unicode/character encoding/string issues in nsIEProfileMigrator : r=biesi, sr=darin
git-svn-id: svn://10.0.0.236/trunk@215523 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 02:03:39 +00:00
jst%mozilla.org
f385a08fc8 Fixing bug 355482. Allow focusing of other windows from code where popups are enabled. r+sr=bugmail@sicking.cc
git-svn-id: svn://10.0.0.236/trunk@215520 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 01:40:33 +00:00
nboyd%atg.com
55d78aeb29 Update newsgroup information.
git-svn-id: svn://10.0.0.236/trunk@215519 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 01:40:15 +00:00
scott%scott-macgregor.org
061528b8cc Bug #359191 --> mingw build error because mapi isn't built for mingw. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215517 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 01:17:01 +00:00
ghendricks%novell.com
7d83c10bc2 Fixed clone with these test cases and added server push to clone
git-svn-id: svn://10.0.0.236/trunk@215515 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-21 00:25:45 +00:00
cst%yecc.com
051dfdfb37 Bug 356703 Browsers associated with closed tabs aren't loading a blank document
r=neil sr=jag


git-svn-id: svn://10.0.0.236/trunk@215511 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 23:39:08 +00:00
lpsolit%gmail.com
55a266f4e3 Bug 233523: Remove the obsolete section about MySQL and enum() fields - Patch by Frédéric Buclin <LpSolit@gmail.com> r=justdave
git-svn-id: svn://10.0.0.236/trunk@215510 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 23:22:37 +00:00
ghendricks%novell.com
cf6a541904 Deleting large test plans caused timeouts. Use sever push to keep alive.
git-svn-id: svn://10.0.0.236/trunk@215508 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 22:51:09 +00:00
scott%scott-macgregor.org
5e8c0569eb Bug #361285 --> nocachedbodybody property is missing a space. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215506 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 22:40:31 +00:00
brendan%mozilla.org
3787915938 Rid CHECK_FOR_STRING_INDEX of ancient NUL terminator dependency (361274, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@215505 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 22:37:08 +00:00
wtchang%redhat.com
7a49cef1a2 Bug 357333: upgrade the NSS on the Mozilla trunk to version 3.11.4. The
equivalent patch for the MOZILLA_1_8_BRANCH was reviewed by dveditz.


git-svn-id: svn://10.0.0.236/trunk@215504 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 22:34:45 +00:00
mozilla%weilbacher.org
b95ae1eacf [OS/2] Bug 342239: Fix startup problem when MOZ_NO_REMOTE is set, r/sr=mkaply
git-svn-id: svn://10.0.0.236/trunk@215502 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 22:20:51 +00:00
mnyromyr%tprac.de
c4115d5d99 Bug 130891: Debug and Qa menus not working when navigator closed; p=<stefanh@bluebottle.com>, r/sr=neil
git-svn-id: svn://10.0.0.236/trunk@215501 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 21:59:35 +00:00
silver%warwickcompsoc.co.uk
800bfb2366 Bug 361284 - Dive into nested tables when updating timestamps.
ChatZilla only.
r=silver
p=rdmsoft@bugs.rdmsoft.com (Robert Marshall)


git-svn-id: svn://10.0.0.236/trunk@215500 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 21:59:13 +00:00
mozilla%weilbacher.org
0f189a9c90 [OS/2] Bug 356287: replace possible forward slashes in q:\tmp with backward slashes, r/sr=mkaply
git-svn-id: svn://10.0.0.236/trunk@215497 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 21:06:11 +00:00
lpsolit%gmail.com
0181b1cdf2 Fix glossary.xml as part of bug 360520 (we don't use Mail::Mailer anymore) - Patch by me, r=wurblzap
git-svn-id: svn://10.0.0.236/trunk@215496 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 20:58:57 +00:00
philringnalda%gmail.com
192a17e851 Bug 358264: Use Current Page(s) button is blank when no browser window is open, r=mano
git-svn-id: svn://10.0.0.236/trunk@215495 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 20:55:25 +00:00
philringnalda%gmail.com
6719e98aad Bug 288079: Cancel customizing toolbars hides buttons placed before menuitems, take two, don't break things version, r+a=mscott
git-svn-id: svn://10.0.0.236/trunk@215494 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 20:32:35 +00:00
bienvenu%nventure.com
4f70dd7e60 fix 360409 mail with messed up references seem to disappear, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@215492 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 19:54:02 +00:00
brendan%mozilla.org
3efdc52e54 Fix from Gavin Reaney <gavin@picsel.com> for OOM/should-be-OOM bugs (361273, r=me).
git-svn-id: svn://10.0.0.236/trunk@215491 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 19:53:38 +00:00
lpsolit%gmail.com
c164582ccc Docs for bug 245877: use testagent.cgi and testserver.pl to test your installation - Patch by me, r=justdave
git-svn-id: svn://10.0.0.236/trunk@215490 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 19:52:32 +00:00
brendan%mozilla.org
c977ca6f70 Warning fix.
git-svn-id: svn://10.0.0.236/trunk@215489 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 19:49:28 +00:00
brendan%mozilla.org
c7a38e1687 Fix JSOP_SETSP (and an assertion in JSOP_LEAVEBLOCK*) to cope with empty destructuring (355832, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@215487 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 19:30:41 +00:00
vladimir%pobox.com
f1959a5f87 b=349837, cairo crash in _cairo_clip_init_deep_copy; upstream patch, r=vlad
git-svn-id: svn://10.0.0.236/trunk@215486 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 19:30:27 +00:00
bugzilla%standard8.demon.co.uk
0812c0224d Bug 358333 Hook up nsIAbDirectory::supportsMailingLists to Address Book UI. p=Paul Tomlin,r=me,mscott,sr=neil
git-svn-id: svn://10.0.0.236/trunk@215484 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 19:07:55 +00:00
lpsolit%gmail.com
faede0b2e9 Fix nits about bug 316797
git-svn-id: svn://10.0.0.236/trunk@215483 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 19:05:49 +00:00
lpsolit%gmail.com
02c1f1227b Bug 316797: Token.pm needs POD - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=myk
git-svn-id: svn://10.0.0.236/trunk@215482 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 19:03:40 +00:00
bugzilla%standard8.demon.co.uk
da47b40775 Bug 361223 Read-only fields on ldap cards are no longer readonly (Thunderbird patch) r/sr=mscott
git-svn-id: svn://10.0.0.236/trunk@215481 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 18:58:53 +00:00
bugzilla%standard8.demon.co.uk
58fa150219 Bug 361223 Read-only fields on ldap cards are no longer readonly (SeaMonkey patch) r/sr=neil
git-svn-id: svn://10.0.0.236/trunk@215480 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 18:58:00 +00:00
stuart.morgan%alumni.case.edu
32c7b10bbd Camino only - Bug 359907: Bookmarks aren't deleted from bookmarks menu after deletion from bookmark manager. r=hwaara sr=pink
git-svn-id: svn://10.0.0.236/trunk@215479 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 18:51:22 +00:00
stuart.morgan%alumni.case.edu
df98bb7e2e Camino only - Bug 360644: Rename show/hide bookmarks in toolbar and menu. r=stridey sr=pink
git-svn-id: svn://10.0.0.236/trunk@215478 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 18:40:48 +00:00
scott%scott-macgregor.org
004e8024d2 Bug #357321 --> the default value for blocking remote content should be true.
git-svn-id: svn://10.0.0.236/trunk@215477 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 18:35:32 +00:00
stuart.morgan%alumni.case.edu
89e3c545c6 Camino only - Bug 358686: pop-up blocker message text is confusing. sr=pink
git-svn-id: svn://10.0.0.236/trunk@215476 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 18:26:46 +00:00
lpsolit%gmail.com
3adb0f811c Bug 353656: User Interface gets corrupted by multiple localized users resolving bugs as duplicates - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=justdave
git-svn-id: svn://10.0.0.236/trunk@215475 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 18:24:56 +00:00
tony%ponderer.org
d1efebb26a bug 343033: 5-10 second delay or hang or crash when quitting Cocoa Firefox
patch: cancel background download as soon as user quits
r=darin


git-svn-id: svn://10.0.0.236/trunk@215474 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 18:24:01 +00:00
lpsolit%gmail.com
41829c181d Bug 360520: Docs need to be changed to include info about the Email:: modules instead of the Mail:: modules - Patch by victory(_RSZ_) <bmo2007@rsz.jp> r=Colin
git-svn-id: svn://10.0.0.236/trunk@215473 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 17:57:16 +00:00
enndeakin%sympatico.ca
d472bba520 Bug 346787, add binding for spellchecking in XUL textboxes
git-svn-id: svn://10.0.0.236/trunk@215472 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 17:45:10 +00:00
bienvenu%nventure.com
445a79c32c fix crash during import of outlook (and other e-mail sources) messages with lines longer than 990 chars, and sending of messages with lines longer than that, sr=mscott 182231
git-svn-id: svn://10.0.0.236/trunk@215470 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 17:28:11 +00:00
ghendricks%novell.com
5bcb0906e9 Subelements weren't checking for properties as children
git-svn-id: svn://10.0.0.236/trunk@215469 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 17:09:26 +00:00
benjamin%smedbergs.us
e6f5a47e35 Bug 349002, try #2 - Refactor xptcall into a frozen API, r=timeless - with OS/2 fixup by Peter Weilbacher
git-svn-id: svn://10.0.0.236/trunk@215468 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 17:03:38 +00:00
dschaffe%adobe.com
923f30becc Bug 361282, add tamarin/test/runtests.pl test harness and update tests to pass 100% on windows
git-svn-id: svn://10.0.0.236/trunk@215467 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 17:02:52 +00:00
gijskruitbosch%gmail.com
56ab262c2b Bug 359758 - in /pass <password>, <password> should behave like <rest>
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@215466 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 16:42:26 +00:00
lpsolit%gmail.com
49073731f2 Bug 359956: No requestee field available for attachments on bug creation - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=justdave
git-svn-id: svn://10.0.0.236/trunk@215465 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 12:28:49 +00:00
michael.buettner%sun.com
c55b8bf8c1 bug #359961 attendee list has some usability issues, r=tbe
git-svn-id: svn://10.0.0.236/trunk@215464 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 12:11:43 +00:00
joshmoz%gmail.com
46e3368dce fix warnings, simple code cleanup. no bug. r=smorgan
git-svn-id: svn://10.0.0.236/trunk@215463 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 05:37:49 +00:00
mkanat%bugzilla.org
e7a12dddc3 Bug 361176: [PostgreSQL] Warning when creating tables for the first time
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=bkor, a=justdave


git-svn-id: svn://10.0.0.236/trunk@215461 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 04:36:25 +00:00
mkanat%bugzilla.org
526d26456d Bug 361175: [PostgreSQL] Too many "NOTICE" messages from checksetup.pl
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=bkor, a=justdave


git-svn-id: svn://10.0.0.236/trunk@215459 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 04:29:55 +00:00
mkanat%bugzilla.org
80e5fb0f5e Bug 361140: Upgrades from versions with enums fail UTF-8 conversion
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=bkor, a=justdave


git-svn-id: svn://10.0.0.236/trunk@215458 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 04:25:09 +00:00
mkanat%bugzilla.org
e18a0f0428 Bug 361158: UTF-8 conversion fails on MySQL 5 (attach_data.id; CHARACTER SET binary NOT NULL)
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=bkor, a=justdave


git-svn-id: svn://10.0.0.236/trunk@215457 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 04:24:25 +00:00
ajschult%verizon.net
0b8a964217 Bug 25287: Inappropriate menu items show as enabled when no windows are open. Patch by Stefan Hermes <stefanh@bluebottle.com>, r=mnyromyr, sr=neil.
git-svn-id: svn://10.0.0.236/trunk@215454 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-20 00:03:47 +00:00
sayrer%gmail.com
d797ee2c3d Bug 347897. view source on feeds preview shows contents of wrong page. r=mano
git-svn-id: svn://10.0.0.236/trunk@215453 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 22:54:29 +00:00
bugzilla%babylonsounds.com
693f24069e Fix for Bug 360991 - Migrator: Welcome screen displays message text twice and does not wrap this, p=ctalbert r1=lilmatt r2=mvl
git-svn-id: svn://10.0.0.236/trunk@215452 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 22:41:54 +00:00
gavin%gavinsharp.com
fed10efd79 This file is no longer binary.
git-svn-id: svn://10.0.0.236/trunk@215451 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 22:00:36 +00:00
gavin%gavinsharp.com
8a4292ded2 Fix DOS line endings, too
git-svn-id: svn://10.0.0.236/trunk@215450 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 21:44:15 +00:00
gavin%gavinsharp.com
26b122a5a4 This file is no longer binary.
git-svn-id: svn://10.0.0.236/trunk@215449 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 21:41:40 +00:00
emaijala%kolumbus.fi
484f5175e0 Additional fix for bug 324131: Include mouse button states in NS_MOUSE_EXIT
message.
r/sr=roc


git-svn-id: svn://10.0.0.236/trunk@215448 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 21:13:25 +00:00
sayrer%gmail.com
d6df742640 bug 361224. remove an accidentally checked in log line
git-svn-id: svn://10.0.0.236/trunk@215447 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 21:10:28 +00:00
bzbarsky%mit.edu
ee561228eb Back out bug 354600 to fix regressions.
git-svn-id: svn://10.0.0.236/trunk@215446 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 20:23:56 +00:00
ajschult%verizon.net
e7594c6301 Bug 339426: Help on Error console should mention CSS parsing errors. Patch by Bruno 'Aqualon' Escherl <aqualon@aquachan.de>, r=stefanh@bluebottle.com
git-svn-id: svn://10.0.0.236/trunk@215445 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 16:26:14 +00:00
silver%warwickcompsoc.co.uk
d799417fdc Bug 109993 - Use row top difference to keep scroll position.
ChatZilla only.
r=samuel


git-svn-id: svn://10.0.0.236/trunk@215444 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 16:03:14 +00:00
hwaara%gmail.com
72ffd84204 array of pending redraws may leak. r=smorgan, josh, b=360649
git-svn-id: svn://10.0.0.236/trunk@215443 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 13:59:46 +00:00
mozilla.mano%sent.com
7201a6e198 Bug 345955 - Remove obsolete strings from pref locale files. patch from Hasse <hasse@jasajudeju.se>, r=me.
git-svn-id: svn://10.0.0.236/trunk@215442 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 11:12:07 +00:00
mozilla.mano%sent.com
995beb2621 Attempt to fix build bustage from bug 360812
git-svn-id: svn://10.0.0.236/trunk@215441 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 10:54:08 +00:00
sayrer%gmail.com
490a93c63e Bug 360812. RDF uses nsCRT::strdup in getters. r=bsmedberg, sr=bz
git-svn-id: svn://10.0.0.236/trunk@215440 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 08:28:02 +00:00
ted.mielczarek%gmail.com
1b61bc46a4 bug 360938 - Update airbag to svn tip. r=mento
git-svn-id: svn://10.0.0.236/trunk@215439 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 02:47:25 +00:00
mkanat%bugzilla.org
49b6aaec2c Bug 332128: [BUGZILLA] BugzillaMailHandler incorrectly determines where comments start
Patch By Teemu Mannermaa <wicked+bz@etlicon.fi> r=mkanat


git-svn-id: svn://10.0.0.236/trunk@215438 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-19 01:50:03 +00:00
nboyd%atg.com
4937940d9e Updates for version 1.6R5.
git-svn-id: svn://10.0.0.236/trunk@215436 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 21:40:11 +00:00
nboyd%atg.com
44b55e86b8 Update from mozilla-org
git-svn-id: svn://10.0.0.236/trunk@215435 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 21:39:12 +00:00
neil%parkwaycc.co.uk
093d4272a3 Bug 361048 Switching from Account Central to a folder doesn't scroll to the newest message r=Mnyromyr
git-svn-id: svn://10.0.0.236/trunk@215434 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 21:07:13 +00:00
mnyromyr%tprac.de
24bb3a14e0 Bug 360359: Fix SeaMonkey manifest file; p=Frank Wein <bugzilla@mcsmurf.de>, r/sr=jag
git-svn-id: svn://10.0.0.236/trunk@215433 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 21:05:51 +00:00
mattwillis%gmail.com
054cf3c803 bug 357579 - Clean out unused entities. Patch by Cédric Corazza <cedric.corazza@wanadoo.fr>, r=ctalbert,lilmatt
git-svn-id: svn://10.0.0.236/trunk@215429 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 17:05:27 +00:00
mkanat%bugzilla.org
539d239966 Checkin fix for Bug 280633, which didn't work when the utf8 parameter was turned on.
git-svn-id: svn://10.0.0.236/trunk@215428 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 15:54:59 +00:00
mattwillis%gmail.com
f869fa9af9 bug 361108 - Make compareItems() actually compare different things. Patch by Bruno Browning <browning@uwalumni.com>, r1=lilmatt, r2=jminta
git-svn-id: svn://10.0.0.236/trunk@215427 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 15:17:48 +00:00
mkanat%bugzilla.org
557e1e7b38 Bug 304550: Bugzilla should always store data in MySQL as UTF-8
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=justdave


git-svn-id: svn://10.0.0.236/trunk@215426 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 15:10:12 +00:00
mkanat%bugzilla.org
aa45e8ccd9 Bug 280633: Tools to migrate existing legacy encoded database to UTF-8 (Unicode)
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=justdave, a=justdave


git-svn-id: svn://10.0.0.236/trunk@215425 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 15:00:28 +00:00
justdave%bugzilla.org
a9c4a64388 Bug 360427: Add RBL support for blocking open proxies
r=gerv


git-svn-id: svn://10.0.0.236/trunk@215422 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 07:50:31 +00:00
Olli.Pettay%helsinki.fi
f8115d25d5 Bug 360928, Un-inline nsWeakFrame a bit, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@215421 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 06:38:15 +00:00
martijn.martijn%gmail.com
6d449cb149 Bug 348357 - should nsGlobalWindow::Focus() return NS_ERROR_FAILURE or NS_OK if we try to set focus on a disabled element?, r=jst, sr=roc
git-svn-id: svn://10.0.0.236/trunk@215420 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 06:36:58 +00:00
Olli.Pettay%helsinki.fi
6a8d5eaf45 bug 361058, gcc2.95.3 fails to compile nsListBoxBodyFrame.cpp, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@215419 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 04:42:20 +00:00
emaijala%kolumbus.fi
2ace633d9c Fix for bug 324131: Persisting tooltip on desktop after minimizing
r/sr=roc


git-svn-id: svn://10.0.0.236/trunk@215418 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 03:09:53 +00:00
stridey%gmail.com
c8f740fedb Camino only - Bug 361001: Bookmarks import only imports iCab 2 bookmarks, not iCab 3 bookmarks. Redonkulous patch by cl <bugzilla@chrislawson.net>. r=ardissone sr=smorgan
git-svn-id: svn://10.0.0.236/trunk@215417 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 01:28:40 +00:00
mats.palmgren%bredband.net
77dba5b664 Make NS_LIKELY/NS_UNLIKELY accept pointers etc and always return 0 or 1. b=340244 r+sr=darin
git-svn-id: svn://10.0.0.236/trunk@215416 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-18 00:48:56 +00:00
bzbarsky%mit.edu
f0caa7c822 Report the right URI in the warning. Bug 360863, patch by Nickolay Ponomarev
<asqueella@gmail.com>, r+sr=bzbarsky


git-svn-id: svn://10.0.0.236/trunk@215415 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 22:45:52 +00:00
bzbarsky%mit.edu
7366a8ee51 Fix bug 356005. Patch by Benoit <benoit@gawab.com>, r=ctho, sr=neil
git-svn-id: svn://10.0.0.236/trunk@215414 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 22:42:59 +00:00
hwaara%gmail.com
f985e25662 Make the "Choose application..." dialogs work on Cocoa. r=josh, b=356521
git-svn-id: svn://10.0.0.236/trunk@215413 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 22:25:06 +00:00
wtchang%redhat.com
e821436a2f Bugzilla Bug 361076: removed code that handled multiple NSPR threading
implementations.  We only use the pthreads-based implementation now.
r=christophe.ravel.


git-svn-id: svn://10.0.0.236/trunk@215412 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 21:57:14 +00:00
dougt%meer.net
c819a11d29 Vista - Sets the current process as dpi aware. r=vlad
git-svn-id: svn://10.0.0.236/trunk@215411 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 19:42:04 +00:00
ghendricks%novell.com
c562a79f58 Added count of cases to a run
git-svn-id: svn://10.0.0.236/trunk@215410 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 18:07:12 +00:00
ghendricks%novell.com
c56854b71d Cleared some confusion about the append button on short-form
git-svn-id: svn://10.0.0.236/trunk@215409 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 18:01:05 +00:00
stuart.morgan%alumni.case.edu
a01594daab Camino only - Bug 361017: Remove compile-time 10.2 cruft. r/sr=josh
git-svn-id: svn://10.0.0.236/trunk@215408 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 18:00:49 +00:00
ghendricks%novell.com
ce57a916ae Should use view_count instead of list_count when checking for large queries
git-svn-id: svn://10.0.0.236/trunk@215407 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 17:07:10 +00:00
ghendricks%novell.com
9333d59e6c TestCaseRun obliterate doesn't delete the history.
git-svn-id: svn://10.0.0.236/trunk@215406 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 16:41:05 +00:00
neil%parkwaycc.co.uk
5d5b3565a9 More stuff for bug 17796 that got mislaid somehow
git-svn-id: svn://10.0.0.236/trunk@215405 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 15:43:27 +00:00
bugzilla%standard8.demon.co.uk
ed16c54e16 Bug 122006 Expanding (Imap / news server) account with keyboard doesn't check for new messages. r=bienvenu,sr=Neil.
git-svn-id: svn://10.0.0.236/trunk@215404 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 14:00:18 +00:00
gerv%gerv.net
196e4f2984 Bug 358399 - improve address munging, to see if it helps.
git-svn-id: svn://10.0.0.236/trunk@215403 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 13:08:39 +00:00
longsonr%gmail.com
1a90b8f0fb Bug 354295 - revert stroke change and honour opacity
git-svn-id: svn://10.0.0.236/trunk@215400 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 10:12:12 +00:00
hwaara%gmail.com
c9b6ac5494 "XUL menu only hilights items on mouseover the first time opened". r=josh, sr=pavlov, b=356528
git-svn-id: svn://10.0.0.236/trunk@215399 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 09:27:22 +00:00
stuart.morgan%alumni.case.edu
7a85826915 Camino only - Moved KeychainService from src/browser/ to src/formfill; part of bug 172842. sr=pink
git-svn-id: svn://10.0.0.236/trunk@215396 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 05:38:06 +00:00
sayrer%gmail.com
1173d9db39 bug 361005. remove nsCRT::strdup from layout. r+sr=bz
git-svn-id: svn://10.0.0.236/trunk@215393 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 01:49:06 +00:00
christophe.ravel.bugs%sun.com
ec214972a0 335454: Unable to find library 'libsoftokn3.sl' on HP-UX 64 bit
r=nelson, sr=wan-teh


git-svn-id: svn://10.0.0.236/trunk@215392 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 01:33:15 +00:00
ccooper%deadsquid.com
1fba627a8d - fix editing of testgroups
git-svn-id: svn://10.0.0.236/trunk@215391 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 01:25:15 +00:00
neil.williams%sun.com
7792b97dfd bug 360818, set RPATH for signtool, signver
r=wan-teh, nelson


git-svn-id: svn://10.0.0.236/trunk@215390 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 01:16:53 +00:00
jst%mozilla.org
da2a39488b Attempt at fixing bug 358755. Revert the code in nsWindowSH::NewResolve() to create new innner windows in the same cases that it did before bug 355161 was fixed. r+sr=bzbarsky@mit.edu
git-svn-id: svn://10.0.0.236/trunk@215389 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 01:06:41 +00:00
mike.morgan%oregonstate.edu
400a545021 Added check for v2 URIs so we don't offer updates to borked installs. See discussion in bug 360127.
git-svn-id: svn://10.0.0.236/trunk@215388 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 00:54:13 +00:00
ghendricks%novell.com
66191e4426 cloning a run with selected cases only clones the first 25
git-svn-id: svn://10.0.0.236/trunk@215387 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 00:21:44 +00:00
olav%bkor.dhs.org
791537cd36 Bug 321645: [MySQL 5] MySql Error on insert... "DBD::mysql::st execute failed: Field 'status_whiteboard' "....
Patch by Olav Vitters <olav@bkor.dhs.org> r=gavins a=justdave


git-svn-id: svn://10.0.0.236/trunk@215386 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 00:18:46 +00:00
Olli.Pettay%helsinki.fi
f8daaf1315 Still trying to fix mac builds, bug Bug 354694
git-svn-id: svn://10.0.0.236/trunk@215385 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-17 00:02:49 +00:00
ghendricks%novell.com
989d9bb0a6 Fixed a broken link on plan page
git-svn-id: svn://10.0.0.236/trunk@215384 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 23:45:15 +00:00
Olli.Pettay%helsinki.fi
c92d99c8da Trying to fix mac builds, bug Bug 354694
git-svn-id: svn://10.0.0.236/trunk@215383 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 23:34:09 +00:00
ghendricks%novell.com
5f8093597b Add byid option to TestPlan getter methods
git-svn-id: svn://10.0.0.236/trunk@215382 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 23:31:52 +00:00
Olli.Pettay%helsinki.fi
1b4d4c038e Trying to fix mac builds, bug Bug 354694
git-svn-id: svn://10.0.0.236/trunk@215381 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 23:30:54 +00:00
mnyromyr%tprac.de
b981f3d64a Bug 17796: fix typo in MsgReplyToAllRecipients
git-svn-id: svn://10.0.0.236/trunk@215380 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 23:11:24 +00:00
ghendricks%novell.com
44890eab4b Synch with r2389
git-svn-id: svn://10.0.0.236/trunk@215379 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 22:46:46 +00:00
peterv%propagandism.org
07e7060f29 Try to fix bustage, it's all sicking's fault\!
git-svn-id: svn://10.0.0.236/trunk@215378 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 22:40:34 +00:00
ghendricks%novell.com
9478c2c1c6 Submit button doesn't work when changing the name of a category
git-svn-id: svn://10.0.0.236/trunk@215377 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 22:39:21 +00:00
Olli.Pettay%helsinki.fi
c6025f4ac2 Fixing mac builds, bug Bug 354694
git-svn-id: svn://10.0.0.236/trunk@215376 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 22:37:23 +00:00
Olli.Pettay%helsinki.fi
2410bee72f Last checkin was for Bug 354694
git-svn-id: svn://10.0.0.236/trunk@215374 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 21:57:08 +00:00
ccooper%deadsquid.com
488652005e b=360954
- fix compound indexes for users table


git-svn-id: svn://10.0.0.236/trunk@215373 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 21:48:50 +00:00
jwalden%mit.edu
f74f470b92 Bug 360930 - test_file_protocol.js can fail based on execution environment (where TmpD contains a particularly large number of files). r+sr=biesi
git-svn-id: svn://10.0.0.236/trunk@215372 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 21:44:46 +00:00
peterv%propagandism.org
2cec917790 Fix for bug 193678 (support exslt:common - exslt:common functions implementation). r/sr=sicking.
git-svn-id: svn://10.0.0.236/trunk@215371 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 21:42:25 +00:00
Olli.Pettay%helsinki.fi
08df7735f7 Consolidate NS_MOUSE_***_UP/DOWN/CLICK/DBLCLICK events, r=jst,roc,josh,sergei_d,emaijala,mkaply
git-svn-id: svn://10.0.0.236/trunk@215370 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 21:35:39 +00:00
benjamin%smedbergs.us
ea38317460 Backout xptcall because linux tboxes are stupid, I think.
git-svn-id: svn://10.0.0.236/trunk@215369 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 20:17:24 +00:00
stuart.morgan%alumni.case.edu
92fb5422c3 Camino only - switch default C dialect to C99; no bug. sr=pink
git-svn-id: svn://10.0.0.236/trunk@215368 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 19:42:56 +00:00
roc+%cs.cmu.edu
95e8ec26e9 Bug 306149. Make sure only the root view manager participates in mouse event synthesis. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@215365 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 18:36:14 +00:00
benjamin%smedbergs.us
d7078cf86a Bug 349002 - Refactor xptcall into a frozen API, r=timeless. Includes OS/2 fixup by Peter Weilbacher
git-svn-id: svn://10.0.0.236/trunk@215364 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 18:29:33 +00:00
sayrer%gmail.com
87a1867328 Bug 360840. allocator mismatch in nsIScriptSecurityManager. r=timeless, sr=bz
git-svn-id: svn://10.0.0.236/trunk@215363 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 18:25:52 +00:00
emaijala%kolumbus.fi
8ab35fa67b Patch for bug 359518: Gmail , |empty trash now| selects a lot of text before deleting the messages
r/sr=roc


git-svn-id: svn://10.0.0.236/trunk@215362 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 18:22:19 +00:00
zach%zachlipton.com
9530f75225 Remove Memoize (not mod-perl safe) from BugzillaDBI.pm
git-svn-id: svn://10.0.0.236/trunk@215361 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 18:21:51 +00:00
tor%cs.brown.edu
39d37a6d0b Bug 360836 - fix svg static accessors. r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@215359 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 18:07:12 +00:00
bzbarsky%mit.edu
846ce8c90a Improve docs. Bug 350252, r+sr=sicking
git-svn-id: svn://10.0.0.236/trunk@215358 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 17:57:18 +00:00
joshmoz%gmail.com
c5f28e3e87 remove files only used by classic mac os. b=281889 r=bsmedberg moa=timeless
git-svn-id: svn://10.0.0.236/trunk@215357 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 17:56:25 +00:00
bzbarsky%mit.edu
77b17ef48c Make block frames that are not kids of blocks automatically have space managers
(and margin roots, except in the columns case) so we don't have to play
whack-a-framestate-flag.  Bug 354600, r+sr=roc


git-svn-id: svn://10.0.0.236/trunk@215356 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 17:51:53 +00:00
neil%parkwaycc.co.uk
4df51ad5f6 Fixing whitespace on new lines checked in for bug 17796
git-svn-id: svn://10.0.0.236/trunk@215355 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 17:25:35 +00:00
benjamin%smedbergs.us
b90e0d9bd5 Bug 360584 - Add client.mk checkout for Tamarin, r=stejohns/kairo
git-svn-id: svn://10.0.0.236/trunk@215354 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 17:21:46 +00:00
stuart.morgan%alumni.case.edu
f7f83bede8 Camino only - Bug 342097: Replace _LSCopyApplicationURLsForItemURL with LSCopyApplicationURLsForURL. r/sr=josh
git-svn-id: svn://10.0.0.236/trunk@215353 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 17:02:17 +00:00
Olli.Pettay%helsinki.fi
41ee208c0a Bug 360642, r+enndeakin, sr=roc
git-svn-id: svn://10.0.0.236/trunk@215352 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 15:45:55 +00:00
neil%parkwaycc.co.uk
6f71c273f4 Mnyromyr's comment fixes overlooked in the previous checkin for bug 17796
git-svn-id: svn://10.0.0.236/trunk@215351 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 15:22:02 +00:00
neil%parkwaycc.co.uk
49966da705 Bug 17796 Reply, Reply All, Forward and Next should be dual menubuttons r=Mnyromyr et. al.
git-svn-id: svn://10.0.0.236/trunk@215350 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 15:17:47 +00:00
igor.bukanov%gmail.com
ac743bb14b Bug 360681: properly initialize tvr.count in array_sort. r=brendan
git-svn-id: svn://10.0.0.236/trunk@215349 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 14:35:28 +00:00
longsonr%gmail.com
bfcc9e10ca Bug 354295 - change fill='url(#invalidurl)' behaviour to match Opera/Safari
git-svn-id: svn://10.0.0.236/trunk@215348 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 10:22:51 +00:00
joshmoz%gmail.com
602b0bbb34 remove XP_MAC from xpcom. b=281889 r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@215347 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 09:10:09 +00:00
bzbarsky%mit.edu
6d790ddd39 Make the XML templates use CDATA sections for scripts. r=sayrer
git-svn-id: svn://10.0.0.236/trunk@215346 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 07:53:08 +00:00
bzbarsky%mit.edu
3a1d1b8d06 Add test for bug 358660.
git-svn-id: svn://10.0.0.236/trunk@215345 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 07:39:18 +00:00
mats.palmgren%bredband.net
0dd16a9117 Fix a crash related to the hidden window menu bar. Remove obsolete #ifdef XP_MAC. b=358607 r=josh
git-svn-id: svn://10.0.0.236/trunk@215344 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 03:25:55 +00:00
benjamin%smedbergs.us
0ffcb60cbc Bug 360836 - queryinterface isn't nulling the outparam in failure cases, r=dbaron
git-svn-id: svn://10.0.0.236/trunk@215343 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 02:29:45 +00:00
cbiesinger%web.de
8cfbab30c4 trying to fix non-windows bustage (from bug 359808)
git-svn-id: svn://10.0.0.236/trunk@215342 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 01:39:09 +00:00
axel%pike.org
c090d78bc1 bug 360743, add kurdish and georgian to the Firefox build, r=preed
git-svn-id: svn://10.0.0.236/trunk@215341 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 01:16:04 +00:00
jshin%mailaps.org
d01aef3d04 bug 359808 : drop support for Win 9x/ME : r/sr=darin
git-svn-id: svn://10.0.0.236/trunk@215340 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 01:00:49 +00:00
jshin%mailaps.org
12f38f5ea7 bug 359808 : drop support for Win 9x/ME (r/sr=darin)
git-svn-id: svn://10.0.0.236/trunk@215339 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 00:59:55 +00:00
joshmoz%gmail.com
800c97e721 remove XP_MAC from mailnews. b=281889 r=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215338 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-16 00:22:53 +00:00
stridey%gmail.com
2e1219f34b Camino only - Bug 331576: Determine locale of UA string dynamically. Also fixes 335026 and 336061. Patch by mento <mark@moxienet.com>. r=hwaara sr=pink
git-svn-id: svn://10.0.0.236/trunk@215336 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 23:39:30 +00:00
stuart.morgan%alumni.case.edu
7b5321baef Camino only - Bug 152147: Ability to save session state. r=josh sr=pink
git-svn-id: svn://10.0.0.236/trunk@215333 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 22:57:39 +00:00
stuart.morgan%alumni.case.edu
a774880390 Camino only - Bug 152147: Ability to save session state. r=josh sr=pink
git-svn-id: svn://10.0.0.236/trunk@215331 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 22:57:12 +00:00
joshmoz%gmail.com
936ed54e62 remove XP_MAC from mail. b=281889 r=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215330 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 22:44:20 +00:00
mnyromyr%tprac.de
587473c841 Bug 360144: bad filename in link in privacy_help.xhtml; p=Giacomo Magnini <giacomo.magnini@portalis.it>, r=stefanh
git-svn-id: svn://10.0.0.236/trunk@215329 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 22:20:35 +00:00
ghendricks%novell.com
c03d2472f7 Bugzilla Bug 360834
Software Error when searching for an Environment


git-svn-id: svn://10.0.0.236/trunk@215327 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 22:11:13 +00:00
benjamin%smedbergs.us
c408305383 Bug 313309 - Table-driven QI, part 4 (the final piece!) - this could be a test-landing depending on how perf numbers turn out, r=shaver
git-svn-id: svn://10.0.0.236/trunk@215326 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 22:10:57 +00:00
stejohns%adobe.com
5c885420b3 Bug 360829: enabling new warnings and correcting code as necessary.
git-svn-id: svn://10.0.0.236/trunk@215325 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 22:04:54 +00:00
stuart.morgan%alumni.case.edu
caa307638b Camino only - Bug 355808: Popup suppressed silently. r/sr=pink
git-svn-id: svn://10.0.0.236/trunk@215324 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 21:40:10 +00:00
joshmoz%gmail.com
c9f4afe915 remove XP_MAC from network. b=281889 r=darin
git-svn-id: svn://10.0.0.236/trunk@215323 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 21:38:48 +00:00
stuart.morgan%alumni.case.edu
f15614f193 Camino only - Missed file from bug 360345: bookmark code style cleanup. r=stridey sr=pink
git-svn-id: svn://10.0.0.236/trunk@215322 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 21:34:29 +00:00
ghendricks%novell.com
6f67119dc2 Synching with revision 2385
git-svn-id: svn://10.0.0.236/trunk@215321 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 21:30:13 +00:00
ghendricks%novell.com
c0d3974394 Added check for 2.22.1 in tr_install to use the right patch.
git-svn-id: svn://10.0.0.236/trunk@215320 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 20:31:10 +00:00
dougt%meer.net
f64bec4f82 minimo.mk is not used nor should be. See http://www.mozilla.org/projects/minimo/develop.html for how to build minimo. r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@215319 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 19:37:23 +00:00
sspitzer%mozilla.org
d7edfc999e fix for bug #358080: Update window says to click 'Finish' when button is labeled 'Done'
r=darin

thanks to Hiro-san (sugar.waffle@gmail.com) for the fix.


git-svn-id: svn://10.0.0.236/trunk@215317 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 17:10:21 +00:00
daniel.boelzle%sun.com
a2836b3103 Bug 340949: no more event queue locking, minor fixes and cosmetics
git-svn-id: svn://10.0.0.236/trunk@215316 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 17:01:43 +00:00
aaronleventhal%moonset.net
bf5bdadd37 Bug 360106. Errors in logic for nsHTMLTableAccessible::IsProbablyForLayout(). r=evan.yan
git-svn-id: svn://10.0.0.236/trunk@215315 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 16:14:45 +00:00
neil%parkwaycc.co.uk
2ef5ea60d1 Fix for invalid active window assertion b=265383 r=ere sr=roc
git-svn-id: svn://10.0.0.236/trunk@215313 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 12:05:56 +00:00
hwaara%gmail.com
cab56a57ee Create new mozAccessible class that takes care of text-specific notifications and attributes. r=surkov, b=354447
Create simplified subclass action elements such as checkboxes, buttons and radiobuttons. This makes them speak in voiceover, and also makes Google.com work (to some extent). r=surkov, b=357805

Make mac accessible wraps able to know that some roles are "flat". It means we can restrict certain roles to be childless. For example, a button that has a text child makes no sense on mac (and also breaks things). Also make fetching the children array speedier using nsTArray. r=ginn, b=357804

Add lots of new attributes to mozAccessible, improve performance of it and much more. r=surkov, r=josh for widget changes, b=358381


git-svn-id: svn://10.0.0.236/trunk@215312 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 11:08:14 +00:00
lpsolit%gmail.com
3aeba14c4b Bug 274951: Improve the contrast for enhancement bugs in buglists - Patch by Wayne Mery "WSM" <vseerror@lehigh.edu> r=LpSolit a=justdave
git-svn-id: svn://10.0.0.236/trunk@215311 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 10:44:15 +00:00
martijn.martijn%gmail.com
c28db3bd2c Bug 355395 - Misspelled words in text areas cause all following text to disappear during print, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@215310 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 06:39:25 +00:00
Olli.Pettay%helsinki.fi
106f55f363 Bug 359494, Make nsXBLWindowHandler to use nsISupportsWeakReference, not nsIBoxObject, r+sr=bz
git-svn-id: svn://10.0.0.236/trunk@215309 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 06:11:42 +00:00
mkaply%us.ibm.com
d045b963c6 #329299
r/sr=roc
Add system exception handling around the call to StretchDIBits - it fails on some printer drivers


git-svn-id: svn://10.0.0.236/trunk@215308 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 05:39:32 +00:00
leon.sha%sun.com
f04e1f5eca Bugzilla Bug 356045
xul tree-table, cells in the first row are exposed in a mess.
Patch by Evan.Yan@Sun.COM.
ginn.chen: review+
aaronleventhal: review+


git-svn-id: svn://10.0.0.236/trunk@215307 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 05:29:09 +00:00
philringnalda%gmail.com
91d475c106 Bug 347615: Feed related strings in content.dtd should be removed, patch by <cedric.corazza@wanadoo.fr>, r=gavin
git-svn-id: svn://10.0.0.236/trunk@215306 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 03:45:32 +00:00
peterv%propagandism.org
a2c2023c89 Try to fix ports bustage.
git-svn-id: svn://10.0.0.236/trunk@215305 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 01:38:31 +00:00
edburns%acm.org
1879d39cea Add new first argument to PlugletFactory.initialize(): the string that
is the path to the jar from which the pluglet is loaded.

SECTION: Changes

M classes/org/mozilla/pluglet/PlugletFactory.java
M classes/org/mozilla/pluglet/PlugletFactoryAdaptor.java

- Add new first argument to PlugletFactory.initialize(): the string that
  is the path to the jar from which the pluglet is loaded.

M examples/MediaPlayer/JMPlayer.java
M test/test.java

- Account for new first argument

M src/PlugletFactory.cpp

- new JNI signature for initialize.


git-svn-id: svn://10.0.0.236/trunk@215304 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 01:11:42 +00:00
ghendricks%novell.com
7b06962b2a Added patch for 2.22.1
git-svn-id: svn://10.0.0.236/trunk@215302 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 00:44:28 +00:00
peterv%propagandism.org
f57752e9b2 Try to uninline constructor and destructor again to reduce codesize increase.
git-svn-id: svn://10.0.0.236/trunk@215301 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 00:31:52 +00:00
nelson%bolyard.com
13a3479910 Export two new functions that were added in NSS 3.11:
SSL_ForceHandshakeWithTimeout and SSL_ReHandshakeWithTimeout
Bug 127960. r=alexei.volkov,wtchang


git-svn-id: svn://10.0.0.236/trunk@215300 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-15 00:18:02 +00:00
stridey%gmail.com
9eb351894d Camino only - Bug 155956: Make 'zoom' button zoom window to fit contents. Patch by Torben <torben@Spamfence.net>. r=hwaara sr=pink
git-svn-id: svn://10.0.0.236/trunk@215299 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 23:52:43 +00:00
cpeyer%adobe.com
e1e84329d2 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@215298 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 23:42:06 +00:00
stridey%gmail.com
7094caaa22 Camino only - Bug 325845: Esc should cancel incomplete edit, not commit it, when closing Bookmark Info panel. r=Wevah sr=smorgan
git-svn-id: svn://10.0.0.236/trunk@215297 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 23:34:59 +00:00
peterv%propagandism.org
0c7d5f0dc4 Part of the fix for bug 193678 (support exslt:common - allow txXPathNode to hold a strong ref to its root). r/sr=sicking.
git-svn-id: svn://10.0.0.236/trunk@215296 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 23:23:20 +00:00
benjamin%smedbergs.us
52582314d0 From bug 313309 - fix static-iid declarations, which merged badly in the meantim
git-svn-id: svn://10.0.0.236/trunk@215293 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 23:12:10 +00:00
ccooper%deadsquid.com
86c4631e44 - include subgroup_testgroups table
git-svn-id: svn://10.0.0.236/trunk@215291 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 22:50:05 +00:00
bzbarsky%mit.edu
d9cf9faf6c Remove securityCompareURIs() from nsIScriptSecurityManager. Bug 327243, r+sr=jst
git-svn-id: svn://10.0.0.236/trunk@215290 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 22:46:45 +00:00
bzbarsky%mit.edu
769c6eb18d Part of fix for bug 359341 that somehow didn't make it in the first time. r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@215289 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 22:32:40 +00:00
bzbarsky%mit.edu
a308018d0e Once we find a window, stop looking, dammit. Bug 360579, s+sr=jst
git-svn-id: svn://10.0.0.236/trunk@215288 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 22:30:33 +00:00
wsharp%adobe.com
51f1acd6d8 intptr to uintptr
git-svn-id: svn://10.0.0.236/trunk@215287 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 22:21:11 +00:00
benjamin%smedbergs.us
5d1671cd01 Fix extraneous semicolon
git-svn-id: svn://10.0.0.236/trunk@215286 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 22:18:51 +00:00
wsharp%adobe.com
7f993b98cd bug 360720. various 64-bit type fixes.
git-svn-id: svn://10.0.0.236/trunk@215285 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 22:15:14 +00:00
tony%ponderer.org
851ef602be Bug 356355: numeric domain normalization only happens on enchash table values
patch v2 (additional fixes)
r=mmchew


git-svn-id: svn://10.0.0.236/trunk@215284 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 22:12:08 +00:00
joshmoz%gmail.com
a124bbcf35 Since some platforms do string operations within local file ::Load, we shouldn't declare that objects being created/destroyed from static ctor/dtor is not legal throughout the entire ::Load function. That only needs to be true around the actual PR_LoadLibrary calls. Fixing this stops the ridiculous amount of warning output that we get from every debug mac build. Also removing unused old mac local file impls. b=326837 r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@215283 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 22:06:00 +00:00
mozilla.mano%sent.com
f8200ed000 Bug 349128 - Focus lost pressing enter in empty location bar. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@215282 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 21:57:10 +00:00
dschaffe%adobe.com
51309b205f bug 360596 cleanup the tamarin tests source, all tests pass, the test harness to run the tests will be added soon, also the abc code for each test will hopefully get hosted on the ftp site since we do not have a compiler to create the test abc files yet
git-svn-id: svn://10.0.0.236/trunk@215281 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 21:34:32 +00:00
ccooper%deadsquid.com
4becc1a826 - fix check for testcase ID
git-svn-id: svn://10.0.0.236/trunk@215280 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 21:32:07 +00:00
benjamin%smedbergs.us
77a3de15dd Bug 345517 additional fixup - don't use some additional unfrozen methods, r=gavin
git-svn-id: svn://10.0.0.236/trunk@215279 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 21:25:56 +00:00
benjamin%smedbergs.us
08d43e2b12 Bug 313309 - Table-driven QI part 3 - use weak statics for interface IDs, r=shaver. This will break VC6 and gcc2.9x, which is ok
git-svn-id: svn://10.0.0.236/trunk@215278 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 21:21:37 +00:00
mattwillis%gmail.com
b37e9d5142 bug 360696 - Follow up fix.
git-svn-id: svn://10.0.0.236/trunk@215277 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 21:16:18 +00:00
mattwillis%gmail.com
0f29640b19 bug 360696 - Follow up fix. Patch by Clint Talbert <cmtalbert@myfastmail.com>, r1/2=lilmatt
git-svn-id: svn://10.0.0.236/trunk@215275 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 21:06:56 +00:00
olav%bkor.dhs.org
d2fc939359 Do commit-time fix: Add comment explaining the sql modes that are removed
git-svn-id: svn://10.0.0.236/trunk@215273 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 20:51:44 +00:00
lpsolit%gmail.com
728fe40c1c Bug 346091: editparams.cgi should validate the 'timezone' parameter - Patch by victory(_RSZ_) <bmo2007@rsz.jp> r=LpSolit a=justdave
git-svn-id: svn://10.0.0.236/trunk@215272 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 20:45:48 +00:00
ccooper%deadsquid.com
59436c2837 b=355548
- display regression bug ID in simple view of testcase

b=355459
- display enabled/community enabled status in simple testcase view for admin users

b=359744
- display testcases in testcase/subgroup sort order when printing

b=360621
- validate view testcase forms prior to submission

Misc.
- use JSON filters to limit view testcase results
- add enabled toggle for entity form widgets where appropriate


git-svn-id: svn://10.0.0.236/trunk@215269 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 20:23:31 +00:00
mattwillis%gmail.com
fd59c77942 bug 360696 - Strict warning fixes and typo fixes. Patch by Stefan Sitter <ssitter@googlemail.com> r1/2=lilmatt
git-svn-id: svn://10.0.0.236/trunk@215268 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 19:11:42 +00:00
mkanat%bugzilla.org
7e269798bc Bug 349256: Make the webservice get_bug into a stable API
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=mbd, a=justdave


git-svn-id: svn://10.0.0.236/trunk@215267 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 19:10:52 +00:00
lpsolit%gmail.com
379c191ecd Bug 323031: process_bug.cgi crashes when encountering a deleted user account and when strict_isolation is on - Patch by Frédéric Buclin <LpSolit@gmail.com> r=wicked a=justdave
git-svn-id: svn://10.0.0.236/trunk@215266 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 19:02:01 +00:00
lpsolit%gmail.com
b55615039d Bug 115650: No TITLE attribute on buglinks on process_bug.cgi - Patch by victory(_RSZ_) <bmo2007@rsz.jp> r=LpSolit a=justdave
git-svn-id: svn://10.0.0.236/trunk@215265 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 18:30:53 +00:00
despotdaemon
712fa72e5e Pseudo-automatic update of changes made by dansmith@adobe.com.
git-svn-id: svn://10.0.0.236/trunk@215263 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 17:56:20 +00:00
stejohns%adobe.com
f6cd864a4a Bug 360675: fix compiler warnings in VS2003 & VS2005 for some variations of the Microsoft Platform SDK (which includes headers that warn at Warning Level 4)
git-svn-id: svn://10.0.0.236/trunk@215261 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 17:37:37 +00:00
olav%bkor.dhs.org
94221a7da4 Bug 321645: [MySQL 5] MySql Error on insert... "DBD::mysql::st execute failed: Field 'status_whiteboard' "....
Patch by Olav Vitters <olav@bkor.dhs.org> r=mkanat a=justdave


git-svn-id: svn://10.0.0.236/trunk@215260 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 17:17:47 +00:00
wsharp%adobe.com
aaad285dfd reverting changes to shell's project file. These were incorrectly merged in from shel64 project. This should be back to 1.2 now.
git-svn-id: svn://10.0.0.236/trunk@215259 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 15:11:41 +00:00
wsharp%adobe.com
12b863bf53 bug 360602. fix windows build
git-svn-id: svn://10.0.0.236/trunk@215258 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 15:05:57 +00:00
wsharp%adobe.com
79efe73483 update shell64 second time. CVS files were incorrectly copied from shell project causing problems
git-svn-id: svn://10.0.0.236/trunk@215257 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 15:05:14 +00:00
wsharp%adobe.com
19aa3c0839 bug 360602. Mac 64-bit porting work. Switched "IA64" designation to "AMD64". Added AVMPLUS_64BIT target for code that is 64-bit specific instead of x86_64 specific. Other changes listed in bug record - lots of intptr changes, op_abs_jump fixes. 64-bit shell is launching and running until emitNativeThunk which needs 64-bit specific ASM generation.
git-svn-id: svn://10.0.0.236/trunk@215256 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 14:44:27 +00:00
mattwillis%gmail.com
2f15a3e3ee bug 343793 - Edit title immediately after creating event via drag-n-drop. Patch by jminta, r=lilmatt, ctalbert
git-svn-id: svn://10.0.0.236/trunk@215255 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 03:18:30 +00:00
mattwillis%gmail.com
e743a983ac bug 349586 - checkin booboo
git-svn-id: svn://10.0.0.236/trunk@215254 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 02:34:17 +00:00
mattwillis%gmail.com
331253fb00 bug 349586 - Add migrator. Patch by jminta with contributions by lilmatt and ctalbert. r=ctalbert,lilmatt,jminta ui-r=mvl
git-svn-id: svn://10.0.0.236/trunk@215253 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 01:57:35 +00:00
mattwillis%gmail.com
c5a2b02c04 bug 349586 - Add migrator. Patch by jminta with contributions by lilmatt and ctalbert. r=ctalbert,lilmatt,jminta ui-r=mvl
git-svn-id: svn://10.0.0.236/trunk@215251 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 01:56:57 +00:00
stejohns%adobe.com
a82e0e4aba added .cvsignore files for Tamarin for common Mac XCode build directories and files.
git-svn-id: svn://10.0.0.236/trunk@215250 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 01:44:17 +00:00
lpsolit%gmail.com
241c32b21d Bug 360489: Can't locate object method "type_name" via package "Bugzilla::Field" when listing custom fields - Patch by Frédéric Buclin <LpSolit@gmail.com> r=mkanat a=justdave
git-svn-id: svn://10.0.0.236/trunk@215248 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 01:18:37 +00:00
stejohns%adobe.com
8290e120b4 added .cvsignore for Tamarin files including VC7/VC8 projects files
git-svn-id: svn://10.0.0.236/trunk@215247 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 01:18:26 +00:00
wtchang%redhat.com
8f2df656bf Bugzilla Bug 359484: made the fix for bug 341707 work for the SSL2 client
hello case. r=nelsonb,alexei.volkov


git-svn-id: svn://10.0.0.236/trunk@215245 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 01:09:54 +00:00
stejohns%adobe.com
10f1ddb6c0 Revert incorrect checkin of MMgc.vcproj to correct build breakage
git-svn-id: svn://10.0.0.236/trunk@215244 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 01:01:08 +00:00
mozilla.mano%sent.com
96b7ed2d03 Bug 348369 - Tabbrowser steals focus any time the current browser changes. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@215243 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 01:00:06 +00:00
bzbarsky%mit.edu
4b70414d02 Add a correct license header. Bug 353806, patch by Ryan Jones
<sciguyryan+bugzilla@gmail.com>, r+sr=bzbarsky


git-svn-id: svn://10.0.0.236/trunk@215242 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 00:55:54 +00:00
wtchang%redhat.com
945a67dc99 Bugzilla Bug 360169: changed the value of the _PR_SI_ARCHITECTURE macro
back to "hppa1.1" for backward compatibility. r=nelsonb


git-svn-id: svn://10.0.0.236/trunk@215240 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 00:50:17 +00:00
tor%cs.brown.edu
784deb978e Bug 355267 - remove svg fragment tree code. r=longsonr, sr=roc
git-svn-id: svn://10.0.0.236/trunk@215239 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 00:48:33 +00:00
bienvenu%nventure.com
129eea46e5 fix 360409, mail which claims to be a reply to itself, via reference and message-id headers, disappears, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@215237 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 00:28:23 +00:00
stejohns%adobe.com
a71fb0dd06 Bug 360615: fixes for Tamarin to build under VS2005
git-svn-id: svn://10.0.0.236/trunk@215236 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 00:17:20 +00:00
scott%scott-macgregor.org
7e8e58a410 Bug #357321 --> CardHasEmailAddress is missing a return value.
git-svn-id: svn://10.0.0.236/trunk@215235 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-14 00:16:12 +00:00
ghendricks%novell.com
305e456910 Restrict who can delete what under what circumstances.
git-svn-id: svn://10.0.0.236/trunk@215234 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 23:55:31 +00:00
olav%bkor.dhs.org
a283139c51 Bug 277370: Ability to specify an email address to which notification about all bugs should go
Patch by Guillaume Rousse <guillomovitch@zarb.org> r=bkor a=myk


git-svn-id: svn://10.0.0.236/trunk@215233 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 23:32:29 +00:00
roc+%cs.cmu.edu
eb99fed591 Bug 130078. Integrate view hierarchies, watching for perf results. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@215232 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 22:59:14 +00:00
bzbarsky%mit.edu
9fa229d896 Additional tweak to the patch for bug 355931 -- fix QI too.
git-svn-id: svn://10.0.0.236/trunk@215230 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 22:20:39 +00:00
bzbarsky%mit.edu
a141643e32 Don't use frames to implement interfaces, dammit. Just don't! Bug 355931, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@215229 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 22:05:25 +00:00
bzbarsky%mit.edu
97ddfc98d3 Make sure that first-lines with descendant views will be flagged appropriately.
Bug 291078, r+sr=roc


git-svn-id: svn://10.0.0.236/trunk@215228 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 21:46:12 +00:00
bzbarsky%mit.edu
d62bf91067 Make PRMJ_basetime faster by making it close to O(1) in the year instead of
O(N).  Bug 360484, r=shaver


git-svn-id: svn://10.0.0.236/trunk@215225 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 21:33:06 +00:00
bzbarsky%mit.edu
6d5fc623cf Fix leaks in thebes and canvas code due to nsIWidget and nsIRenderingContext
being badly documented and not using already_AddRefed when they should.  Bug
359341, r=pavlov, sr=roc


git-svn-id: svn://10.0.0.236/trunk@215224 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 21:31:53 +00:00
bzbarsky%mit.edu
0f9db8680c When doing ContentRemoved, IndexOf() will always return -1. So don't use it.
Bug 360524, r+sr=roc


git-svn-id: svn://10.0.0.236/trunk@215223 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 21:27:44 +00:00
mattwillis%gmail.com
e39dcbb163 bug 356740 - Makes NSIS installer remove more obsolete files during install. Patch by Stefan Sitter <ssitter@googlemail.com>, r=lilmatt, mvl
git-svn-id: svn://10.0.0.236/trunk@215222 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 21:27:00 +00:00
mattwillis%gmail.com
97f0ab1154 bug 360548 - Fixes regression in use of getSelectedItems. Patch by Stefan Sitter <ssitter@googlemail.com>, r=lilmatt,mvl
git-svn-id: svn://10.0.0.236/trunk@215221 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 21:21:16 +00:00
nboyd%atg.com
dc25e8ae99 Better link for MPL.
git-svn-id: svn://10.0.0.236/trunk@215220 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 21:12:28 +00:00
rhelmer%mozilla.com
de6a636516 landing corrections for TR Fullhart b=346013 r=rhelmer
git-svn-id: svn://10.0.0.236/trunk@215219 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 21:12:11 +00:00
nboyd%atg.com
348077ce22 Propagate formatting changes from the mozilla-org CVS repository
git-svn-id: svn://10.0.0.236/trunk@215218 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 21:03:34 +00:00
tor%cs.brown.edu
b72d76a360 Bug 359428 - use cairo to implement feMerge instead of doing it by hand.
Patch by amenzie@us.ibm.com, r=tor, sr=roc


git-svn-id: svn://10.0.0.236/trunk@215217 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 20:59:18 +00:00
benjamin%smedbergs.us
26f6bedf73 Use 0 instead of NULL in non-pointer context, fixes XCode 2.2 build, r=stejohns
git-svn-id: svn://10.0.0.236/trunk@215216 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 20:44:52 +00:00
despotdaemon
e5b3fd710a Pseudo-automatic update of changes made by benjamin@smedbergs.us.
git-svn-id: svn://10.0.0.236/trunk@215215 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 20:44:39 +00:00
tor%cs.brown.edu
dd96b5402c Bug 359449 - gradient on SVG text sometimes using incorrect bounding box.
r=scootermorris, sr=roc


git-svn-id: svn://10.0.0.236/trunk@215214 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 20:42:42 +00:00
nboyd%atg.com
0d1088b92b Change reference to NPL to MPL.
git-svn-id: svn://10.0.0.236/trunk@215213 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 20:32:30 +00:00
nboyd%atg.com
2c27be98e2 Add reference to latest BSF version. Remove obsolete link.
git-svn-id: svn://10.0.0.236/trunk@215212 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 20:28:09 +00:00
bugzilla%standard8.demon.co.uk
9cdbd70ea1 Fix build bustage from bug 357321
git-svn-id: svn://10.0.0.236/trunk@215211 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 19:58:46 +00:00
scott%scott-macgregor.org
e682db4e9a bug #357321 --> don't blindly trust address book recipients when loading remote content. Make the user explicitly mark each sender as allowing remote content.
Remove the UI for enabling JS. Remove the now obsolete UI for white listing address book entries. sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@215210 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 18:59:35 +00:00
benjamin%smedbergs.us
aa6587d9ec Removing old decreipt files.
git-svn-id: svn://10.0.0.236/trunk@215209 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 18:54:35 +00:00
benjamin%smedbergs.us
a9ef1f1391 Remove old decrepit files
git-svn-id: svn://10.0.0.236/trunk@215208 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 18:53:15 +00:00
benjamin%smedbergs.us
57edb95b0b Removing old, dead files. r=shaver
git-svn-id: svn://10.0.0.236/trunk@215207 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 18:51:04 +00:00
wtchang%redhat.com
1dc58240b7 Bugzilla Bug 357197: fixed the fallthrough case in ocsp_CertIDsMatch. The
patch is contributed by Steve Parkinson <sparkins@redhat.com>. r=nelson,wtc


git-svn-id: svn://10.0.0.236/trunk@215205 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 18:16:58 +00:00
benjamin%smedbergs.us
2528600cb2 Re-land bug 345517 now that the logging issues are hopefully fixed, r=darin/mento/mano
git-svn-id: svn://10.0.0.236/trunk@215204 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 17:53:01 +00:00
stejohns%adobe.com
6de7c62912 Bug 360310: check in fixes to allow Tamarin to build and link properly with VS2003 on Windows.
git-svn-id: svn://10.0.0.236/trunk@215203 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 17:42:56 +00:00
bugzilla%standard8.demon.co.uk
9b10bdaa4e Bug 360492 nsIAbMDBCard::CopyCard is unused. r/sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215202 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 17:26:33 +00:00
bzbarsky%mit.edu
f2db33f207 Fix col border drawing for cols that are explicitly in the source. Bug 350444,
r=bernd, sr=roc


git-svn-id: svn://10.0.0.236/trunk@215200 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 15:46:52 +00:00
stridey%gmail.com
a7924439e2 Camino only - Bug 323718: Fix crash in [FindDlgController getSearchText:]. r=smorgan sr=pink
git-svn-id: svn://10.0.0.236/trunk@215199 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 15:40:06 +00:00
kjh-5727%comcast.net
3685e4e192 Bug 351229 - Avoid a type-punned pointer warning. r+sr=roc.
git-svn-id: svn://10.0.0.236/trunk@215198 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 14:42:33 +00:00
anton.bobrov%sun.com
968e6d4f82 Bug 357668: merging Sun and Mozilla libldap: bring new srcs unique to Sun branch
git-svn-id: svn://10.0.0.236/trunk@215197 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 13:52:52 +00:00
emaijala%kolumbus.fi
e771555238 Patch for bug 311709: Main browser window stuck in resize
r=neil
sr=roc


git-svn-id: svn://10.0.0.236/trunk@215196 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 12:20:20 +00:00
michael.buettner%sun.com
7689683095 Bug #357147 cloned proxies forget about attendee list r=lilmatt
git-svn-id: svn://10.0.0.236/trunk@215195 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 12:01:47 +00:00
gerv%gerv.net
a1b7ad971e Bug 308950 - add build ID parameter to guided page for non-browser products. Patch by gerv; r=justdave.
git-svn-id: svn://10.0.0.236/trunk@215194 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 11:39:54 +00:00
igor.bukanov%gmail.com
71cbd284df 360282: Debug-only warning about broken FPU state. r=brendan
git-svn-id: svn://10.0.0.236/trunk@215193 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 10:50:40 +00:00
sayrer%gmail.com
ad5496d973 bug 357539. Feed parser does not recognize lastBuildDate field. r=mano
git-svn-id: svn://10.0.0.236/trunk@215192 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 05:35:46 +00:00
mkanat%bugzilla.org
3f166ba059 Checkin fix for bug 360028.
git-svn-id: svn://10.0.0.236/trunk@215191 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 03:08:44 +00:00
mkanat%bugzilla.org
7069b5a5fe Bug 360028: Bugzilla::Search::Saved should have create() and update(), and buglist.cgi should use it
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=justdave


git-svn-id: svn://10.0.0.236/trunk@215190 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 03:07:57 +00:00
mkanat%bugzilla.org
68835c258a Bug 355839: The WebService should provide lists of legal field values
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=mbd, a=myk


git-svn-id: svn://10.0.0.236/trunk@215189 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 03:04:25 +00:00
mkanat%bugzilla.org
2bf008bedf Bug 350307: Split out the create and update functionality of Bugzilla::Field::create_or_update
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=justdave


git-svn-id: svn://10.0.0.236/trunk@215188 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 02:50:17 +00:00
gijskruitbosch%gmail.com
c33e216fec Bug 345315 - /network command is useless
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@215187 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 01:27:33 +00:00
silver%warwickcompsoc.co.uk
171f04c064 ChatZilla 0.9.76, go go go!
git-svn-id: svn://10.0.0.236/trunk@215186 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-13 00:31:47 +00:00
sayrer%gmail.com
de8b61170b test for bug 333983
git-svn-id: svn://10.0.0.236/trunk@215185 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-12 22:03:01 +00:00
sayrer%gmail.com
835a9041f9 test for bug 343596
git-svn-id: svn://10.0.0.236/trunk@215184 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-12 21:47:24 +00:00
Olli.Pettay%helsinki.fi
3625d39860 Bug 360058, trying to make sure that document's propertytable doesn't have pointers to deleted nsINodes, r+sr=bz
git-svn-id: svn://10.0.0.236/trunk@215183 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-12 21:31:11 +00:00
sayrer%gmail.com
326816054a Bug 360062. rid dom/src/base of nsCRT::strdup. r=timeless, sr=jst
git-svn-id: svn://10.0.0.236/trunk@215179 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-12 15:15:37 +00:00
silver%warwickcompsoc.co.uk
6aa86a6c1d Bug 344641 - Remove code no longer needed to shut up stupid warning.
ChatZilla only.


git-svn-id: svn://10.0.0.236/trunk@215178 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-12 14:13:05 +00:00
erik%vanderpoel.org
3cb46271fa make clickable http Location: header value use relative url
git-svn-id: svn://10.0.0.236/trunk@215177 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-12 06:16:36 +00:00
mozilla%justcameron.com
1ab1d6efc6 Bug 360263 - RSS links on extension pages are to 404s
Bug introduced in rusticoisation.
r=Shaver


git-svn-id: svn://10.0.0.236/trunk@215176 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-12 00:57:08 +00:00
gijskruitbosch%gmail.com
2a84b9a261 Bug 347420 - networks.txt ignored if last line doesn't end in \n
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@215175 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-12 00:26:36 +00:00
gijskruitbosch%gmail.com
241a14730e Bug 360192 - Support Proxy error codes better than "status 215398###"
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@215174 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 23:17:46 +00:00
stuart.morgan%alumni.case.edu
6da1bb0a77 Camino only - remove unnecessary SDK workaround for bug 300304 on trunk
git-svn-id: svn://10.0.0.236/trunk@215173 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 22:51:33 +00:00
mrbkap%gmail.com
3841aa574c Fix BeOS build bustage. bug 360376, r=jst
git-svn-id: svn://10.0.0.236/trunk@215171 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 22:32:01 +00:00
bzbarsky%mit.edu
fa36ed56f9 Rev nsICSSLoader IID too. Bug 319654.
git-svn-id: svn://10.0.0.236/trunk@215170 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 22:28:09 +00:00
bzbarsky%mit.edu
3d914aab06 Create DOM nodes for processing instructions in XUL, take 2. Still bug 319654, patch by
Nickolay Ponomarev <asqueella@gmail.com>, r+sr=bzbarsky.


git-svn-id: svn://10.0.0.236/trunk@215169 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 22:27:00 +00:00
bzbarsky%mit.edu
15a150d6b3 Make sure all xml-stylesheet and xul-overlay PIs in fact come in the prologs of
overlays.  Bug 360119, patch by Nickolay Ponomarev <asqueella@gmail.com> and
Phil Ringnalda <philringnalda@gmail.com>, r=mano


git-svn-id: svn://10.0.0.236/trunk@215168 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 22:22:36 +00:00
stuart.morgan%alumni.case.edu
eefc1627e3 Camino only - branch bustage fix for bug 300304
git-svn-id: svn://10.0.0.236/trunk@215167 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 22:02:26 +00:00
stuart.morgan%alumni.case.edu
2f559759a5 Camino only - Bug 360345: Bookmarks code style cleanup. r=stridey sr=pink
git-svn-id: svn://10.0.0.236/trunk@215166 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 20:58:49 +00:00
stuart.morgan%alumni.case.edu
d5aa685a8e Camino only - Bug 300304: Darken bookmark bar buttons on mousedown. r=smfr sr=pink
git-svn-id: svn://10.0.0.236/trunk@215165 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 20:49:20 +00:00
robert%accettura.com
a429a287f6 Fix SQL error when we query for a hostname.
git-svn-id: svn://10.0.0.236/trunk@215164 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 19:33:08 +00:00
philringnalda%gmail.com
1cbede6509 Bug 350785 followup: Get out of form autocomplete storage even earlier for non-text inputs, r=mano
git-svn-id: svn://10.0.0.236/trunk@215163 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 18:26:21 +00:00
mozilla%weilbacher.org
714c2c5b4d [OS/2] Bug 356676: update README.txt to better represent current versioning scheme, r=mkaply
git-svn-id: svn://10.0.0.236/trunk@215161 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 17:36:37 +00:00
bmlk%gmx.de
18e7f2bcc4 adding testcase for bug 337124 to mochitest not part of the build
git-svn-id: svn://10.0.0.236/trunk@215160 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 16:19:53 +00:00
bienvenu%nventure.com
5bb863e644 fix 360147 implement tagging of newsgroup posts, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@215159 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 15:54:39 +00:00
bmlk%gmx.de
f507fa8183 don't rely on framconstructor to deliver a valid sibling for insert of colgroups and rowgroups as they are siblings contentwise but live on different childlists, bug 337124 r/sr=roc
git-svn-id: svn://10.0.0.236/trunk@215158 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 13:38:09 +00:00
olav%bkor.dhs.org
88557f5603 Bug 357873: loginnetmask param should default to 0
Patch by Olav Vitters <olav@bkor.dhs.org> r=justdave a=justdave


git-svn-id: svn://10.0.0.236/trunk@215157 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 09:18:55 +00:00
bugzilla%standard8.demon.co.uk
c082aee9c6 Bug 355363 Make a base class for LDAP Message Listener code. r=bienvenu,sr=mscott
git-svn-id: svn://10.0.0.236/trunk@215156 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 08:59:46 +00:00
bugzilla%standard8.demon.co.uk
58b6c7860d Bug 360280 Firefox shouldn't need to pull mozilla/themes. r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@215155 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 08:29:16 +00:00
bzbarsky%mit.edu
87a5a4e659 Adding test for bug 142233.
git-svn-id: svn://10.0.0.236/trunk@215154 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 06:55:36 +00:00
bzbarsky%mit.edu
906e04c198 Make the assertions saner. Bug 342923, r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@215153 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 06:30:40 +00:00
gavin%gavinsharp.com
de3bd06b7c Bug 358570: OpenSearch plugins should default to encoding search queries in UTF-8 (fix garbled text for certain Japanese plugins that omit the InputEncoding element), patch by KUROSAWA, Takeshi(taken) <taken.spc@gmail.com>, r=me
git-svn-id: svn://10.0.0.236/trunk@215152 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 05:26:26 +00:00
bclary%bclary.com
d25df0dbc7 JavaScript Test - correct regression test for bug 292863
git-svn-id: svn://10.0.0.236/trunk@215151 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 05:22:46 +00:00
bzbarsky%mit.edu
8e6e31af2f Minor tweaks, mostly to use isnot()
git-svn-id: svn://10.0.0.236/trunk@215150 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 05:20:57 +00:00
sayrer%gmail.com
058686437f bz wants isnot()
git-svn-id: svn://10.0.0.236/trunk@215149 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 05:10:46 +00:00
bzbarsky%mit.edu
e30ce6a464 Set face index correctly. Bug 350455, patch by ToshihiroYamagishi
<toshihiro@turbolinux.co.jp>, r=mozilla@behdad.org, sr=bzbarsky


git-svn-id: svn://10.0.0.236/trunk@215148 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 04:56:22 +00:00
bzbarsky%mit.edu
ee46937eb5 Adding some more testcases.
git-svn-id: svn://10.0.0.236/trunk@215146 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 04:33:52 +00:00
bzbarsky%mit.edu
c1ead0d708 Add a test name
git-svn-id: svn://10.0.0.236/trunk@215145 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 04:29:57 +00:00
bzbarsky%mit.edu
f5ff7ebe07 Add regression test for bug 359657.
git-svn-id: svn://10.0.0.236/trunk@215143 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 03:21:12 +00:00
cvshook%sicking.cc
89cb09b2c4 Fix orange by properly refcounting
git-svn-id: svn://10.0.0.236/trunk@215142 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 01:43:11 +00:00
peterv%propagandism.org
35583114f4 Additional fix for bug 352601 (XSLT forwards compatible processing enabled when it shouldn't). rs=sicking.
git-svn-id: svn://10.0.0.236/trunk@215140 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 00:49:10 +00:00
cvshook%sicking.cc
45fea30a93 Make nodes supports weak references. b=360291 r/sr=jst
git-svn-id: svn://10.0.0.236/trunk@215138 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 00:36:03 +00:00
bclary%bclary.com
ecafc72fd8 JavaScript Test - modify expected exit code for shell out of memory conditions, bug 358975
git-svn-id: svn://10.0.0.236/trunk@215136 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 00:33:37 +00:00
cvshook%sicking.cc
bc3166e146 Kill nsAttributeChildList and use nsChildContentList instead. b=360319 r/sr=jst
git-svn-id: svn://10.0.0.236/trunk@215135 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 00:28:20 +00:00
scott%scott-macgregor.org
4d4c431c0a Bug #357321 --> address book changes for supporting a per card attribute
for allowing remote content in HTML mail.
r=mark banner


git-svn-id: svn://10.0.0.236/trunk@215134 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 00:23:07 +00:00
bzbarsky%mit.edu
bafd71cd20 Fix order of mutation event firing for attribute removals. Bug 339494, r+sr=sicking
git-svn-id: svn://10.0.0.236/trunk@215132 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-11 00:04:46 +00:00
bzbarsky%mit.edu
3f520eaa49 Make it possible for protocol handlers to configure how CheckLoadURI should
treat them via their protocol flags.  Remove the protocol list we used before.
Bug 120373, r=dveditz, sr=darin


git-svn-id: svn://10.0.0.236/trunk@215130 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 23:49:08 +00:00
vladimir%pobox.com
46a3255d84 b=359054, crash in pixman MMX code (disable MMX on win32 for now), r=stuart
git-svn-id: svn://10.0.0.236/trunk@215129 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 23:36:12 +00:00
vladimir%pobox.com
818a6bd4fb b=359147, big images don't redraw, r=stuart
git-svn-id: svn://10.0.0.236/trunk@215128 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 23:34:05 +00:00
cvshook%sicking.cc
e67ffd2e25 Fix inconsistencies in colon at end of macro. rs=peterv. No bug
git-svn-id: svn://10.0.0.236/trunk@215127 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 23:29:55 +00:00
cvshook%sicking.cc
82abeafc72 fix bustage
git-svn-id: svn://10.0.0.236/trunk@215123 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 22:33:56 +00:00
cvshook%sicking.cc
d19b6c4635 fix bustage
git-svn-id: svn://10.0.0.236/trunk@215121 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 21:47:13 +00:00
joshmoz%gmail.com
61a878de96 fix select widget rendering when using thebes/cairo. b=360214 r=mento sr=pav
git-svn-id: svn://10.0.0.236/trunk@215120 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 21:03:27 +00:00
cvshook%sicking.cc
0b1c3b4909 fix bustage
git-svn-id: svn://10.0.0.236/trunk@215119 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 20:52:59 +00:00
cvshook%sicking.cc
1f787980fa Bug 357345: Add more optimizations to the XPath optimizer. r/sr=peterv
git-svn-id: svn://10.0.0.236/trunk@215118 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 20:44:08 +00:00
cvshook%sicking.cc
676346874b Bug 357345: Add more optimizations to the XPath optimizer. r/sr=peterv
git-svn-id: svn://10.0.0.236/trunk@215117 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 20:31:59 +00:00
benjamin%smedbergs.us
cae89c5987 From bug 345517 - fix adoptcount logging for the frozen string API, r=darin
git-svn-id: svn://10.0.0.236/trunk@215113 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 20:05:04 +00:00
bclary%bclary.com
c50a589122 JavaScript Test - regression test for bug 352271, by Jesse Ruderman
git-svn-id: svn://10.0.0.236/trunk@215109 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 19:53:09 +00:00
bclary%bclary.com
3d89b76829 JavaScript Test - regression test for bug 354924, by Jesse Ruderman
git-svn-id: svn://10.0.0.236/trunk@215108 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 19:49:05 +00:00
bclary%bclary.com
e6d07f26c4 JavaScript Test - regression test for bug 353264, by Jesse Ruderman
git-svn-id: svn://10.0.0.236/trunk@215107 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 19:42:43 +00:00
bclary%bclary.com
c29b2ef39a JavaScript Test - regression test for bug 354151, by Igor Bukanov
git-svn-id: svn://10.0.0.236/trunk@215106 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 19:36:58 +00:00
bclary%bclary.com
bbcd062868 JavaScript Test - regression test for bug 354145, by Igor Bukanov
git-svn-id: svn://10.0.0.236/trunk@215105 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 19:32:15 +00:00
bclary%bclary.com
37fbfd40e7 JavaScript Test - regression test for bug 350238, by Jesse Ruderman
git-svn-id: svn://10.0.0.236/trunk@215104 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 19:27:03 +00:00
bzbarsky%mit.edu
7099e68a3e Improve string for NS_ERROR_DOM_NOT_SUPPORTED_ERR. Bug 360208, patch by Ryan
Jones <sciguyryan+bugzilla@gmail.com>, r+sr=bzbarsky


git-svn-id: svn://10.0.0.236/trunk@215103 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 19:23:56 +00:00
wsharp%adobe.com
a3a14b8612 Bug 360275 - remove usage of va_list for 64-bit support. Fix shell to run on 10.5.
git-svn-id: svn://10.0.0.236/trunk@215100 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 18:57:27 +00:00
stuart.morgan%alumni.case.edu
4cb39badfc Camino only - Bug 355033: simplify keychain prefs. r=stridey sr=pink
git-svn-id: svn://10.0.0.236/trunk@215098 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 18:20:55 +00:00
lpsolit%gmail.com
21b303adf4 Bug 189627: Implement per-product privileges - Patch by Frédéric Buclin <LpSolit@gmail.com> r=mkanat a=myk
git-svn-id: svn://10.0.0.236/trunk@215097 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 16:51:30 +00:00
scott%scott-macgregor.org
f085aecbca Bug #360030 --> Add the ability to customize the fields we show in the new mail alert notification dialog. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215096 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 16:39:27 +00:00
wsharp%adobe.com
fd8e201e60 bug 360174 - fix MMGC for 64-bit issues, add 64-bit XCode 3.0 project files for 10.5 64-bit compiles
git-svn-id: svn://10.0.0.236/trunk@215095 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 16:04:27 +00:00
axel%pike.org
bd9c0fd33a bug 358740, add initial landing of coverage extension for l10n testing, r=rcampbell
git-svn-id: svn://10.0.0.236/trunk@215093 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 15:53:44 +00:00
gerv%gerv.net
f31a42d169 Bug 236108 - changing licence from NPL/GPL to MPL/GPL to help the Apache people. The bug in question also suggests an eventual switch to MIT; that may come later.
git-svn-id: svn://10.0.0.236/trunk@215092 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 15:27:40 +00:00
neil%parkwaycc.co.uk
2dae22df05 Bug 326840 Make progress dialogs display download speed where available p=son.le0@gmail.com r=biesi sr=me
git-svn-id: svn://10.0.0.236/trunk@215090 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 10:29:54 +00:00
rhelmer%mozilla.com
d7ba3c028e remove Release step as per README
git-svn-id: svn://10.0.0.236/trunk@215088 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 04:44:40 +00:00
pavlov%pavlov.net
14fa38266d backing out 345517 due to leak test bustage
git-svn-id: svn://10.0.0.236/trunk@215087 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 04:42:03 +00:00
mgalli%geckonnection.com
355a7b5844 cleanup to panels.
git-svn-id: svn://10.0.0.236/trunk@215075 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 03:04:14 +00:00
mgalli%geckonnection.com
7a91806faf cleanup to pref.
git-svn-id: svn://10.0.0.236/trunk@215074 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 03:02:36 +00:00
mgalli%geckonnection.com
eb92040bb6 Pref cleanup visual.
git-svn-id: svn://10.0.0.236/trunk@215073 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 02:59:50 +00:00
mike.morgan%oregonstate.edu
0d20db168d Added new URLs based on testing for silent installs w/ EULAs integrated into Fx interface. See bug 358937.
git-svn-id: svn://10.0.0.236/trunk@215070 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 01:03:33 +00:00
Olli.Pettay%helsinki.fi
2d30ed18cd Bug 340564, Print/Print Preview does not print text in <input text> or <textarea>, p=sharparrow, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@215069 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 00:55:11 +00:00
cpeyer%adobe.com
ab2d1520f5 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@215068 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 00:48:31 +00:00
dbaron%dbaron.org
fa0ef6642e Only call gtk_window_present on top-level windows. b=330006 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@215067 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-10 00:48:02 +00:00
rhelmer%mozilla.com
8097038888 framework changes for bootstrap b=352230 r=preed
git-svn-id: svn://10.0.0.236/trunk@215066 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 23:28:20 +00:00
rhelmer%mozilla.com
7f9943721c step changes for bootstrap b=356185 r=preed
git-svn-id: svn://10.0.0.236/trunk@215065 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 23:25:07 +00:00
preed%mozilla.com
37381b5dd7 Bug 360034: update nagios nightly build checks because of version bumps. Patch=cf, r=preed
git-svn-id: svn://10.0.0.236/trunk@215064 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 23:07:19 +00:00
pavlov%pavlov.net
ba00a8035a bug 360013. draw using the region rather than the union rect. r=josh sr=vlad
git-svn-id: svn://10.0.0.236/trunk@215063 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 22:58:11 +00:00
mats.palmgren%bredband.net
9a25d17ebb Backing out the NS_LIKELY/NS_UNLIKELY change to see if it fixes Tinderbox orange. b=340244
git-svn-id: svn://10.0.0.236/trunk@215062 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 22:52:19 +00:00
scott%scott-macgregor.org
4e6089f587 Bug #359852 --> during composition, local file image urls aren't loaded in the compose window. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215061 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 22:48:44 +00:00
dougt%meer.net
9e6e105dfd exposing the network status of a image request to wpl consumers. bug 355555. r=stuart.
git-svn-id: svn://10.0.0.236/trunk@215060 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 22:47:43 +00:00
scott%scott-macgregor.org
d29838fcfa Bug #360030 --> Add the ability to customize the fields we show in the new mail alert notification dialog. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@215059 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 22:27:37 +00:00
bienvenu%nventure.com
eb27dd9b7e fix 360142 single folder saved searches not working when imap server changes case of keywords, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@215058 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 22:09:57 +00:00
mkanat%bugzilla.org
1331c5c0f2 Bug 357482: Webservice should have a get_products method
Patch By Mads Bondo Dydensborg <mbd@dbc.dk> r=mkanat, a=myk


git-svn-id: svn://10.0.0.236/trunk@215057 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 22:01:08 +00:00
wclouser%mozilla.com
01b00ed21f changed the default application version to 2.0
git-svn-id: svn://10.0.0.236/trunk@215055 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 21:48:49 +00:00
wclouser%mozilla.com
c2909a9608 changed the query slightly for the product dropdowns, to make the latest at the top
git-svn-id: svn://10.0.0.236/trunk@215054 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 21:41:44 +00:00
roc+%cs.cmu.edu
170630f895 Bug 312963. Fix column layout when content in the column is out-of-flow but still needs to break vertically. rubberstamp r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@215053 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 21:38:34 +00:00
scott%scott-macgregor.org
d32d8f7ab7 Bug #359469 --> extensions/offline/Makefile is no longer part of the thunderbird build. Patch by sugar.waffle@gmail.com. sr=mscott
git-svn-id: svn://10.0.0.236/trunk@215052 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 21:07:27 +00:00
edburns%acm.org
52244de3f3 M mozilla/npAPInsIInputStreamShim.cpp
- re-enable stream loading in pluglet.


git-svn-id: svn://10.0.0.236/trunk@215044 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 20:17:43 +00:00
edburns%acm.org
3e78a4fbf3 Memory audit of code in src directory. Found and fixed some leaks.
Declaring this directory memory clean.

M src/Pluglet.cpp
M src/Pluglet.h

- use do_GetService instead of servman->GetServiceByContractID

- do not keep a reference to plugletEngine as an ivar

M src/PlugletFactory.cpp
M src/PlugletFactory.h

- use nsnull instead of NULL

- do not keep a reference to plugletEngine as an ivar

- use PL_strdup and PL_strfree to duplicate and free strings

M src/PlugletsDir.cpp

- use PL_strdup and PL_strfree to duplicate and free strings


git-svn-id: svn://10.0.0.236/trunk@215043 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 20:10:17 +00:00
gavin%gavinsharp.com
db0b5fc1ed Bug 358569: When running with reduced FPU precision, the rounding error introduced by |d -=L*ds;| will cause |if (!(d *= 10.)) break;| to never be true, causing an infinite loop and consequent crash. Given |k| is already known, we know how often the loop should run, so use that as stop condition, also avoiding overwriting memory with 0. Patch by Keith Victor of MediaMachines, r=igor, r=crowder
git-svn-id: svn://10.0.0.236/trunk@215041 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 18:53:24 +00:00
mozilla.mano%sent.com
622888839f Bug 349380 - better UI for registerContentHandler. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@215040 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 18:45:18 +00:00
mozilla.BenB%bucksch.org
e3fd27b04f Show quota as tiny progressmeter in main window status bar, if set and usage higher than a configurable threshold, to hint users at quota.
Backend part already checked in by bienvenu on 2006-09-25.
Bug 278096, r=bienvenu, sr=mscott


git-svn-id: svn://10.0.0.236/trunk@215039 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 18:40:26 +00:00
cls%seawood.org
3edced3b0f Generate quickparse.txt along with the rest of the static pages.
Bug #359908 r=justdave


git-svn-id: svn://10.0.0.236/trunk@215038 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 17:46:10 +00:00
mats.palmgren%bredband.net
54cfbc0751 Make NS_LIKELY/NS_UNLIKELY accept pointers etc. b=340244 r+sr=darin
git-svn-id: svn://10.0.0.236/trunk@215037 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 17:41:03 +00:00
mats.palmgren%bredband.net
e5aaecc35e Right arrow key (to collapse selection to right) does not scroll textbox to show caret. b=352759 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@215034 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 16:37:10 +00:00
benjamin%smedbergs.us
d3d0bc60ef Preprocessors are not that smart, try again.
git-svn-id: svn://10.0.0.236/trunk@215033 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 16:05:43 +00:00
benjamin%smedbergs.us
8d0a106758 Attempt to fix Windows-optimized-only build bustage from bug 345517. Anticipated r=vlad ;-)
git-svn-id: svn://10.0.0.236/trunk@215032 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 16:03:24 +00:00
benjamin%smedbergs.us
6ed0bbfee0 Bug 345517, try #2, make the browser component use frozen linkage, so that ff+xr builds. This does *not* --enable-libxul by default for Firefox (yet). That will wait until after 1.9a1. Older patch r=darin+mento, revisions r=mano
git-svn-id: svn://10.0.0.236/trunk@215031 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 15:12:24 +00:00
benjamin%smedbergs.us
b75752771b Bug 345517, try #2, make the browser component use frozen linkage, so that ff+xr builds. This does *not* --enable-libxul by default for Firefox (yet). That will wait until after 1.9a1. Older patch r=darin+mento, revisions r=mano
git-svn-id: svn://10.0.0.236/trunk@215030 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 15:02:29 +00:00
aaronleventhal%moonset.net
a0ef0d41c5 Bug 357625. getTextAtOffset doesn't seem to work well with text with <br> in it. r=ginn.chen
git-svn-id: svn://10.0.0.236/trunk@215029 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 14:49:21 +00:00
joshmoz%gmail.com
49441a4f0c Selection is not erased when Find Next from the Find window causes the page to scroll. b=311304 p=smorgan r=sfraser sr=pinkerton
git-svn-id: svn://10.0.0.236/trunk@215028 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 14:00:08 +00:00
cvshook%sicking.cc
ff69f339f4 Don't use ranges when getting the value of a textfield since we get the value in the middle of tearing down a document. b=359674 r/sr=jst
git-svn-id: svn://10.0.0.236/trunk@215023 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 08:43:26 +00:00
philringnalda%gmail.com
82733c5e23 Bug 354081: Remove unused entities for Help throbber, r=gavin
git-svn-id: svn://10.0.0.236/trunk@215022 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 05:17:41 +00:00
philringnalda%gmail.com
e85a6ad1ad Bug 274010: Restore default set in customize toolbars should restore icon size and mode, patch by Hiro <sugar.waffle@gmail.com>, r=me, sr+a=mscott
git-svn-id: svn://10.0.0.236/trunk@215021 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 05:09:40 +00:00
mhammond%skippinet.com.au
3dc130dacf When passing arrays of interfaces to an XPCOM method, we didn't know the
declared IID to obtain.  This prevented us detecting arrays of variants
and giving them the same special treatment normal Variants get.  Fix that.
Not part of the build.


git-svn-id: svn://10.0.0.236/trunk@215020 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 04:31:13 +00:00
mhammond%skippinet.com.au
5f49ed82bf If someone passes a bad IID string, raise a normal Python ValueError
rather than synthesizing an XPCOM error.
Not part of the build


git-svn-id: svn://10.0.0.236/trunk@215019 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 04:20:47 +00:00
mats.palmgren%bredband.net
63efc8703b Make bookmarks "Sorted By" menu localizable and add accesskeys (Bookmarks Manager part). b=91774 r=mano
git-svn-id: svn://10.0.0.236/trunk@215018 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 03:03:05 +00:00
mats.palmgren%bredband.net
e896065884 Make bookmarks "Sorted By" menu localizable and add accesskeys (Places part). b=91774 r=mano
git-svn-id: svn://10.0.0.236/trunk@215017 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 03:02:02 +00:00
ginn.chen%sun.com
a0c4d50494 Bug 359210 Firefox hangs when loading the attached page
temporary fix by aaronleventhal r=ginn.chen


git-svn-id: svn://10.0.0.236/trunk@215015 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 02:26:34 +00:00
mats.palmgren%bredband.net
86fd929d58 XBL needs simple defense against infinite recursion. b=55070 r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@215013 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 01:58:12 +00:00
mhammond%skippinet.com.au
e7b8f7f7de Generate better .py code and handle some 'new' xpcom data types.
Not part of the build.


git-svn-id: svn://10.0.0.236/trunk@215012 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 01:05:31 +00:00
pavlov%pavlov.net
837bbc7c8e bug 359314. bandaiding over crash when #chars > #glyphs when justifying. r=vlad
git-svn-id: svn://10.0.0.236/trunk@215010 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 00:37:50 +00:00
pavlov%pavlov.net
ebcfa70d5d removing unused variables. r=me
git-svn-id: svn://10.0.0.236/trunk@215005 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 00:06:49 +00:00
cvshook%sicking.cc
c43f628b5a Fix svg:script and only flag inline scripts as executed once they contain non-empty script content. b=359598 r/sr=bz
git-svn-id: svn://10.0.0.236/trunk@215004 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-09 00:02:21 +00:00
scott%scott-macgregor.org
7c8591e633 Bug #359134 --> integrate Thunderbird with necko's automatic online/offline management. When we detect the network connection has gone down, automatically move the client into offline mode, and back to online mode when the connection comes back up.
tools/cross-commit  mail/app/profile/all-thunderbird.js  mail/base/content/mail-offline.js mailnews/extensions/offline-startup/js/offlineStartup.js mailnews/mailnews.js -m Bug


git-svn-id: svn://10.0.0.236/trunk@215003 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 23:59:21 +00:00
Olli.Pettay%helsinki.fi
33d1b0ff23 Bug 359495, layout/xtf reminder in allmakefiles.sh, r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@214993 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 22:45:49 +00:00
kairo%kairo.at
fe2c55fb99 bug 359687 - XULRunner pkg packages should correctly follow filename specs, r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@214983 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 21:27:46 +00:00
despotdaemon
da06fb675d Pseudo-automatic update of changes made by dansmith@adobe.com.
git-svn-id: svn://10.0.0.236/trunk@214982 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 21:15:45 +00:00
stejohns%adobe.com
efa5c0514c *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@214981 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 21:03:34 +00:00
cls%seawood.org
0cf289d362 Remove lockfile if $::data_dir can't be read
git-svn-id: svn://10.0.0.236/trunk@214980 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 20:55:30 +00:00
despotdaemon
af20629719 Pseudo-automatic update of changes made by cpeyer@adobe.com.
git-svn-id: svn://10.0.0.236/trunk@214977 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 20:01:01 +00:00
sayrer%gmail.com
764b1c1d9a make gen_template.pl work from anywhere with FindBin
git-svn-id: svn://10.0.0.236/trunk@214975 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 19:19:19 +00:00
sayrer%gmail.com
0f8c8c6c17 turn off default browser check
git-svn-id: svn://10.0.0.236/trunk@214973 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 18:46:54 +00:00
kaie%kuix.de
34d8a1381a Bug 356309, CertVerifyLog in CERT_VerifyCertificate terminates early on expired certs
r=rrelyea


git-svn-id: svn://10.0.0.236/trunk@214972 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 18:41:53 +00:00
sayrer%gmail.com
963334ca67 Bug 348447. feed sanitizer whitelist accessibility and i18n. missed review comments on previous checkin: r=bsmedberg, sr=sicking.
git-svn-id: svn://10.0.0.236/trunk@214971 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 18:25:18 +00:00
sayrer%gmail.com
eeec08e8d4 Bug 348447. feed sanitizer whitelist accessibility and i18n.
git-svn-id: svn://10.0.0.236/trunk@214970 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 18:20:55 +00:00
kaie%kuix.de
4e7811927f Bug 356109, Improve KU_NON_REPUDIATION indication in client auth prompt
r=rrelyea


git-svn-id: svn://10.0.0.236/trunk@214969 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 18:14:21 +00:00
mark%moxienet.com
2ea02f27a2 Xcode compatibility junk from 359218
git-svn-id: svn://10.0.0.236/trunk@214967 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 17:56:03 +00:00
gavin%gavinsharp.com
68056965f1 Try backing out the patch for bug 319654 to see if it fixes the Mac orange
git-svn-id: svn://10.0.0.236/trunk@214966 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 17:52:58 +00:00
bugzilla%standard8.demon.co.uk
414a0c7535 Bug 350688 Dictionaries should form part of the locale pack in the installer (os2 part). r=ajschult,sr=neil.
git-svn-id: svn://10.0.0.236/trunk@214965 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 17:05:49 +00:00
joshmoz%gmail.com
86b284ddcc back out part of 346954 to fix Flash when migrating a profile from PPC to x86. b=356694 r=sayrer sr=jst
git-svn-id: svn://10.0.0.236/trunk@214964 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 16:43:17 +00:00
scott%scott-macgregor.org
121aea9904 Bug #359653 --> Don't show the sending unsent messages progress text unless we know we have unsent messages to send.
sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@214962 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 16:00:14 +00:00
stridey%gmail.com
67f7707d11 Camino only - Bug 359826. Textual and behavioral polish for the Webfeatures prefpane. r=ardissone sr=smorgan
git-svn-id: svn://10.0.0.236/trunk@214961 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 15:31:01 +00:00
daniel.boelzle%sun.com
0b67e90d61 Bug 340949: different error handling, minor logging
git-svn-id: svn://10.0.0.236/trunk@214959 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 14:56:55 +00:00
mattwillis%gmail.com
5a177884a0 bug 351031 - Fixes wrong aligned date in month printout. Patch by Martin Schröder <mschroeder@mozilla.x-home.org>, r=lilmatt
git-svn-id: svn://10.0.0.236/trunk@214958 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 14:14:55 +00:00
silver%warwickcompsoc.co.uk
baaa986760 Bug 359637 - Use font-family and generic font class instead of specific font, so that changing the font size works on the default motif.
ChatZilla only.
r=samuel


git-svn-id: svn://10.0.0.236/trunk@214956 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 12:55:21 +00:00
silver%warwickcompsoc.co.uk
1b8ae1bfc6 Bug 329440 - Work around flaws in ECMA 262 Ed 3 section 13.2.2 step 7 by throwing instead.
ChatZilla only.
r=samuel


git-svn-id: svn://10.0.0.236/trunk@214955 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 12:44:23 +00:00
Olli.Pettay%helsinki.fi
961f8536ec Bug 359242, remove nsXBLWindowDragHandler, r=sicking, sr=neil
git-svn-id: svn://10.0.0.236/trunk@214953 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 11:03:13 +00:00
ginn.chen%sun.com
5ce0982a60 Bug 358884 Add assertion to ensure accessible object with a text child supports the right interfaces
patch by Evan Yan at sun.com r=aaronleventhal,hwaara


git-svn-id: svn://10.0.0.236/trunk@214952 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 08:22:46 +00:00
scott%scott-macgregor.org
4cdbfdbc67 back out my checkin since the tree is closed.
git-svn-id: svn://10.0.0.236/trunk@214950 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 07:25:52 +00:00
sayrer%gmail.com
a6c0d4e4ef Perl doesn't work that well if you write JavaScript in it
git-svn-id: svn://10.0.0.236/trunk@214947 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 07:07:44 +00:00
scott%scott-macgregor.org
d793c7b55d Bug #359653 --> consolidate offline management front end code. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@214946 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 06:38:00 +00:00
despotdaemon
a4102c5a51 Pseudo-automatic update of changes made by romaxa@gmail.com.
git-svn-id: svn://10.0.0.236/trunk@214944 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 06:19:13 +00:00
stuart.morgan%alumni.case.edu
20ec56a9b6 Camino only - Bug 358620: Switch to use native NSSearchField widget in Bookmark Manager. r=hwaara r=alqahira sr=pink
git-svn-id: svn://10.0.0.236/trunk@214943 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 06:16:10 +00:00
stuart.morgan%alumni.case.edu
cf1bc10df1 Camino only - Bug 342232: Disable various menu items when window/tab contains binary content. r=cl sr=pink
git-svn-id: svn://10.0.0.236/trunk@214938 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 06:06:15 +00:00
bzbarsky%mit.edu
25dac94482 Create DOM nodes for processing instructions in XUL. Bug 319654, patch by
Nickolay Ponomarev <asqueella@gmail.com>, r+sr=bzbarsky.


git-svn-id: svn://10.0.0.236/trunk@214929 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 02:25:37 +00:00
vladimir%pobox.com
f14c43ee28 b=359002, single-pixel images are being drawn with wrong color; bugfix to previous patch, r=stuart
git-svn-id: svn://10.0.0.236/trunk@214927 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 01:34:10 +00:00
vladimir%pobox.com
f17b9d8ce1 b=328380, bad scrolling performance using large fixed-positioned repeating background images; cairo patch to/from upstrea; r=me
git-svn-id: svn://10.0.0.236/trunk@214926 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 01:31:17 +00:00
despotdaemon
f8da73a0b0 Pseudo-automatic update of changes made by brendan@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@214923 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 01:13:06 +00:00
despotdaemon
5137debecb Pseudo-automatic update of changes made by brendan@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@214916 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 00:55:20 +00:00
vladimir%pobox.com
92bcef3698 b=358951, odd 1px line with tiled background image (images being rendered at non-pixel-aligned locations), r=stuart
git-svn-id: svn://10.0.0.236/trunk@214906 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-08 00:06:06 +00:00
vladimir%pobox.com
1be599e877 b=359266, cairo win32 surface cleanup and fixes; from upstream, r=me
git-svn-id: svn://10.0.0.236/trunk@214900 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 23:40:23 +00:00
bienvenu%nventure.com
1214b8de0c add MsgCreateDBView topic notification when we create a view, which makes it easier for custom column handlers to hook into new views, patch by kent@caspia.com, r/sr=bienvenu 359357
git-svn-id: svn://10.0.0.236/trunk@214899 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 23:34:00 +00:00
shaver%mozilla.org
0abb1cd5fe Fixing shell XCode project (bug 359850), r=stejohns.
git-svn-id: svn://10.0.0.236/trunk@214895 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 22:58:36 +00:00
sspitzer%mozilla.org
be4dc056b3 fix for bug #359093: need to encode version string for the app.update.never.X pref name, which will be needed if (when?) we decided to send over any localized "pretty" text for the version attribute (see bug #359082)
r=dietrich, rstrong


git-svn-id: svn://10.0.0.236/trunk@214893 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 22:54:27 +00:00
despotdaemon
d4042f7ac8 Pseudo-automatic update of changes made by wsharp@adobe.com.
git-svn-id: svn://10.0.0.236/trunk@214888 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 21:20:27 +00:00
despotdaemon
677ee82e35 Pseudo-automatic update of changes made by brendan@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@214882 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 19:29:58 +00:00
mike.morgan%oregonstate.edu
8fd863ae75 Added divx support for PFS. See bug 358937.
git-svn-id: svn://10.0.0.236/trunk@214880 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 19:27:55 +00:00
lpsolit%gmail.com
ad65874bf7 Bug 359768: Confusing error message when a user has too many votes for a product - Patch by Frédéric Buclin <LpSolit@gmail.com> r=timeless a=myk
git-svn-id: svn://10.0.0.236/trunk@214879 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 19:05:41 +00:00
despotdaemon
ee54c30f1c Pseudo-automatic update of changes made by benjamin@smedbergs.us.
git-svn-id: svn://10.0.0.236/trunk@214878 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 18:40:04 +00:00
despotdaemon
ea18b3d85a Pseudo-automatic update of changes made by benjamin@smedbergs.us.
git-svn-id: svn://10.0.0.236/trunk@214877 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 18:35:05 +00:00
despotdaemon
a0ecd1d508 Pseudo-automatic update of changes made by benjamin@smedbergs.us.
git-svn-id: svn://10.0.0.236/trunk@214876 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 18:34:26 +00:00
shaver%mozilla.org
a0925953b9 update expedia plugin
git-svn-id: svn://10.0.0.236/trunk@214867 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 17:07:33 +00:00
thomas.benisch%sun.com
3624cb9c51 bug #359016 JavaScript error current item is not defined r=jminta
git-svn-id: svn://10.0.0.236/trunk@214864 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 10:30:33 +00:00
daniel.boelzle%sun.com
41581b4215 Bug 340949: use default calendar calId, may be different from userId
git-svn-id: svn://10.0.0.236/trunk@214863 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 10:20:31 +00:00
despotdaemon
201d063762 Pseudo-automatic update of changes made by brendan@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@214862 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 07:56:00 +00:00
scott%scott-macgregor.org
8854b06dc8 Bug #359653 --> Consolidate Offline management in the front end.
sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@214860 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 06:20:42 +00:00
despotdaemon
c746023b23 Pseudo-automatic update of changes made by dbaron@dbaron.org.
git-svn-id: svn://10.0.0.236/trunk@214857 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 05:39:39 +00:00
despotdaemon
6b8a15a3d9 Pseudo-automatic update of changes made by dbaron@dbaron.org.
git-svn-id: svn://10.0.0.236/trunk@214856 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 05:38:00 +00:00
brendan%mozilla.org
3e65a5ddd4 Tamarin (AVM2 open source) initial revision.
git-svn-id: svn://10.0.0.236/trunk@214853 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 05:35:54 +00:00
mrbkap%gmail.com
25c9ec0f96 Set up the pseudo frame more carefully. bug 354978, r=brendan
git-svn-id: svn://10.0.0.236/trunk@214852 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 05:09:53 +00:00
bclary%bclary.com
fdd69d687c JavaScript Test - regression test for bug 355344, by Jesse Ruderman
git-svn-id: svn://10.0.0.236/trunk@214851 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 04:40:46 +00:00
ginn.chen%sun.com
1075020407 backing out Bug 144000 caret browsing - bad initial position
due to regressions


git-svn-id: svn://10.0.0.236/trunk@214850 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 03:48:48 +00:00
bzbarsky%mit.edu
5525c8b256 Improve wording of the postdata dialog. Bug 112848, patch by Magnus Melin
<mkmelin+mozilla@iki.fi>, r=darin, sr=bzbarsky


git-svn-id: svn://10.0.0.236/trunk@214849 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 03:28:50 +00:00
dbaron%dbaron.org
22643e09aa Include libpng/zlib headers as system headers when using system libpng/zlib. b=359000/359001 r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@214848 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 03:21:20 +00:00
bzbarsky%mit.edu
c5606ecd83 Fix build bustage in --disable-xul builds. Bug 357453 followup, patch by
romaxa <romaxa@gmail.com>, r=bsmedberg


git-svn-id: svn://10.0.0.236/trunk@214846 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 03:13:49 +00:00
gavin%gavinsharp.com
cf303ea370 Bug 357853: if no browser window exists, -new-tab <url> doesn't open <url>, r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@214845 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 03:10:18 +00:00
philringnalda%gmail.com
48e3215c1b Bug 350785: Form Manager stores data even if autocomplete is off, r=bsmedberg,mano
git-svn-id: svn://10.0.0.236/trunk@214844 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 02:08:56 +00:00
sayrer%gmail.com
72fa31a253 add test for XUL min/max in bug 359754
git-svn-id: svn://10.0.0.236/trunk@214843 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 02:06:15 +00:00
mrbkap%gmail.com
10f4e54168 Add an API on the presshell for invalidating the caret if it isn't currently
contained entirely in its frame. Use it in the editor where we remove the
caret's frame out from under it without properly notifying it (due to selection
batching). bug 335065, r+sr=roc


git-svn-id: svn://10.0.0.236/trunk@214842 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 01:35:36 +00:00
mrbkap%gmail.com
de6160d7ee Munge call ops for delete in the code generator instead of the parser because the parser doesn't have enough information to always munge correctly. bug 356693, r=brendan
git-svn-id: svn://10.0.0.236/trunk@214841 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 01:32:02 +00:00
mrbkap%gmail.com
8c67b9b6dd Propagate any exceptions thrown. bug 355344, r=brendan
git-svn-id: svn://10.0.0.236/trunk@214840 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 01:30:16 +00:00
cvshook%sicking.cc
e1f3f66c5b Bug 359657: Fix crash due to wrong signature in overload. Patch by bz. r/sr=sicking
git-svn-id: svn://10.0.0.236/trunk@214838 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 01:05:15 +00:00
sayrer%gmail.com
12f4a8e2aa Add XUL and XHTML templates, add handlers for gen_template.pl
git-svn-id: svn://10.0.0.236/trunk@214837 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-07 00:56:50 +00:00
cvshook%sicking.cc
7681025c49 Add some more assertions to DoSetRange. r/sr=jst b=358106
git-svn-id: svn://10.0.0.236/trunk@214835 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 23:52:30 +00:00
cvshook%sicking.cc
7d41db9309 Bug 359490: Put BeginUpdate call before FlushText call in FlushTags. r/sr=bz
git-svn-id: svn://10.0.0.236/trunk@214834 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 23:50:33 +00:00
sayrer%gmail.com
a7c08d7adf change XHTML code to use packed.js
git-svn-id: svn://10.0.0.236/trunk@214833 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 23:48:49 +00:00
sayrer%gmail.com
2474b91eb4 Upgrade to MochiKit trunk with upstream XUL DOM code
git-svn-id: svn://10.0.0.236/trunk@214832 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 23:48:11 +00:00
gavin%gavinsharp.com
662fb0d812 Bug 264663: don't re-open closed popup-blocked notifications when switching tabs, r=mano
git-svn-id: svn://10.0.0.236/trunk@214831 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 23:41:31 +00:00
ccooper%deadsquid.com
2f42eac4fa - adding Camino configs to public CVS
git-svn-id: svn://10.0.0.236/trunk@214829 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 22:53:41 +00:00
mike.morgan%oregonstate.edu
26b68fe94d Removing debug flag.
git-svn-id: svn://10.0.0.236/trunk@214824 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 22:15:54 +00:00
mozilla%justcameron.com
9123e2d135 Bug 359084
rustico: some ugly excess platform text when viewing an add-on that's not available for your platform
r=shaver
Changed CSS but then forgot the dictionaries page with initial patch.


git-svn-id: svn://10.0.0.236/trunk@214823 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 22:15:32 +00:00
rhelmer%mozilla.com
83787db15b compute load averages correctly. checkin for Adam Guthrie (ispiked). b=350631, r=rhelmer, r=bz
git-svn-id: svn://10.0.0.236/trunk@214822 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 22:01:14 +00:00
mike.morgan%oregonstate.edu
68a8e56db4 Adding trunk versions for sunbird updates. This is from bug 341971.
git-svn-id: svn://10.0.0.236/trunk@214820 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 21:27:07 +00:00
philringnalda%gmail.com
910a243736 Bug 288079: Cancel customizing toolbars hides buttons placed before menuitems, r+a=mscott
git-svn-id: svn://10.0.0.236/trunk@214819 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 21:15:09 +00:00
ccooper%deadsquid.com
966c5e19aa - adding SeaMonkey configs for Mac
git-svn-id: svn://10.0.0.236/trunk@214818 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 20:51:20 +00:00
ccooper%deadsquid.com
a09bae548f - adding XULRunner configs for Linux
git-svn-id: svn://10.0.0.236/trunk@214814 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 20:46:23 +00:00
ccooper%deadsquid.com
98567d5a73 - adding SeaMonkey config for Linux
git-svn-id: svn://10.0.0.236/trunk@214813 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 20:31:45 +00:00
ccooper%deadsquid.com
6f9baa5ec4 - adding Thunderbird configs for Linux
git-svn-id: svn://10.0.0.236/trunk@214807 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 20:24:15 +00:00
mvl%exedo.nl
29d30f8a73 bug 357252: make parsing quoted timezone ids work, and don't cut ics values at commas when there can be only one value. r=dbo. This part of the patch was still missing
git-svn-id: svn://10.0.0.236/trunk@214806 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 20:21:46 +00:00
mark%moxienet.com
b24b3213ce Extra fix from 359218
git-svn-id: svn://10.0.0.236/trunk@214805 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 20:18:56 +00:00
ccooper%deadsquid.com
28f4780aae - adding linux trunk configs for Firefox
git-svn-id: svn://10.0.0.236/trunk@214800 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 20:11:03 +00:00
gijskruitbosch%gmail.com
2ab7716327 Bug 318422 - Timestamp format should be more flexible (fix help text)
p=rdmsoft@bugs.rdmsoft.com (Robert Marshall)
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@214799 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 19:50:17 +00:00
jst%mozilla.org
16068550b0 Landing fix for bug 336731. Do more checking when calling watch handlers. Patch by mrbkap@gmail.com, r=brendan@mozilla.org, sr=jst@mozilla.com
git-svn-id: svn://10.0.0.236/trunk@214798 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 19:14:50 +00:00
kjh-5727%comcast.net
10b45609db Bug 230157 - nsDeviceContextSpecG prefs issues. Patch by Ryan Jones <sciguyryan+bugzilla@gmail.com>. r+sr=roc.
git-svn-id: svn://10.0.0.236/trunk@214797 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 19:09:39 +00:00
gijskruitbosch%gmail.com
a568b506eb Bug 358422 - Doing a multiline paste makes analysis of logs impossible
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@214796 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 18:48:29 +00:00
jminta%gmail.com
9b4d18b93d Bug 346934 Unify Sunbird/Lightning item creation/modification code, r1=lilmatt, r2=mvl
git-svn-id: svn://10.0.0.236/trunk@214795 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 18:41:43 +00:00
jminta%gmail.com
31c8a5efd8 Bug 326746 support 'noon' and 'midnight' in the timepicker, r1=lilmatt, r2=mvl
git-svn-id: svn://10.0.0.236/trunk@214794 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 18:31:19 +00:00
gijskruitbosch%gmail.com
4494d13b87 Bug 358422 - Misspelling in ChatZilla network prefs
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@214793 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 18:03:44 +00:00
despotdaemon
4fd9d6d2b9 Pseudo-automatic update of changes made by tierney@adobe.com.
git-svn-id: svn://10.0.0.236/trunk@214792 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 17:45:12 +00:00
gavin%gavinsharp.com
a6cc45d408 Bug 359682: remove redundant code that check's gBrowser's localName, r=mano
git-svn-id: svn://10.0.0.236/trunk@214791 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 17:42:31 +00:00
stridey%gmail.com
15a58c1b42 Camino only - Bug 331670: Make search bar and context menu item respect command and shift modifiers. Patch by cl <bugzilla@chrislawson.net>. r=me sr=pink
git-svn-id: svn://10.0.0.236/trunk@214790 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 17:39:44 +00:00
rhelmer%mozilla.com
d25aa8ce3a xulrunner mac builds now have pkg in the name, patch by Nick Thomas (cf). r=rhelmer, b=342055
git-svn-id: svn://10.0.0.236/trunk@214789 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 17:14:48 +00:00
stridey%gmail.com
632f9f5e37 Camino only - Bug 320668:Make dragging bookmarks to the tab bar respect background pref and shift toggle. r=smorgan sr=pink
git-svn-id: svn://10.0.0.236/trunk@214788 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 17:10:03 +00:00
mark%moxienet.com
6a035e80ff 359218 Make Camino use 10.3.9 SDK. Also fixes 346145 and others. r=pink sr=pink
git-svn-id: svn://10.0.0.236/trunk@214787 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 16:56:17 +00:00
gijskruitbosch%gmail.com
72113755b8 Bug 340232 - Automatically do /whowas when /whois says nick unknown
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@214786 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 16:54:04 +00:00
kairo%kairo.at
7dd39dbb82 add German inspector L10n back into default build
git-svn-id: svn://10.0.0.236/trunk@214785 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 16:34:46 +00:00
kairo%kairo.at
23b3a3ffcf oops, add mail address of Neil
git-svn-id: svn://10.0.0.236/trunk@214784 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 16:20:21 +00:00
kairo%kairo.at
dd33c046d2 bug 359174 - Move a number of SeaMonkey URLs to branding - use urlformatted relnotes URL in menu and help, r+sr=Neil
git-svn-id: svn://10.0.0.236/trunk@214783 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 16:19:12 +00:00
gavin%gavinsharp.com
cfa5421ae3 Bug 355349: remove dead code from nsTextFrame.cpp, patch by Gerald <gerald_leder@gmx.at>, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@214782 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 16:18:35 +00:00
gavin%gavinsharp.com
8df13da81c Bug 347868: Accesskeys names for sizes' fonts for the advanced preference font window should be more explicit, patch by Cédric Corazza <cedric.corazza@wanadoo.fr>, r=me
git-svn-id: svn://10.0.0.236/trunk@214781 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 16:16:01 +00:00
gavin%gavinsharp.com
791b01b5f6 Bug 346599: customizeCharset.js uses deprecated nsIPref, patch by Joel Nackman <joelnackman@gmail.com>, r=enndeakin
git-svn-id: svn://10.0.0.236/trunk@214780 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 16:13:35 +00:00
stuart.morgan%alumni.case.edu
cca645b81c Camino only - Bug 314628: check Use as Dock Menu on the current dock menu. r=cl sr=pink
git-svn-id: svn://10.0.0.236/trunk@214779 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 16:13:17 +00:00
gavin%gavinsharp.com
b1ef96b548 Bug 345339, attachment 243112: Revisit nsPresState, patch by Karthik Sarma <karthik3@comcast.net>, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@214778 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 16:08:20 +00:00
stuart.morgan%alumni.case.edu
8c619e0101 Camino only - Bug 341278: given precendence to link mouseovers in status bar. r=cl sr=pink
git-svn-id: svn://10.0.0.236/trunk@214777 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 16:06:58 +00:00
gavin%gavinsharp.com
914618ac43 Bug 103658: if a filter rule contains an odd number of quotes, Mozilla is unable to parse it, patch by Guy Alfandary <galfandary@yahoo.ca>, r=mscott, sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@214776 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 15:55:52 +00:00
gijskruitbosch%gmail.com
62777e56f6 Bug 356680 - Use hidden instead of collapsed to hide tabs
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@214775 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 15:55:21 +00:00
stuart.morgan%alumni.case.edu
32da28f5e4 Camino only - Bug 303628: prevent spaces in keyword fields. r=cl sr=pink
git-svn-id: svn://10.0.0.236/trunk@214774 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 15:52:38 +00:00
gavin%gavinsharp.com
864a01e70d Bug 352521: Error in example patcher config, patch by Nick Thomas (cf) <nrthomas@gmail.com>, r=preed
git-svn-id: svn://10.0.0.236/trunk@214773 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 15:49:50 +00:00
gavin%gavinsharp.com
f23b12306a Bug 354543: add sv-SE entities for DOMi and re-enable it in the default build, patch by Hasse <hasse@jasajudeju.se>
git-svn-id: svn://10.0.0.236/trunk@214772 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 15:47:43 +00:00
gavin%gavinsharp.com
bb7fa6848a Bug 348031: [Mac] Pressing Cmd-W should always close the window when only one tab is visible, patch by Simon Bünzli <zeniko@gmail.com>, r=mano
git-svn-id: svn://10.0.0.236/trunk@214771 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 15:20:16 +00:00
gavin%gavinsharp.com
b189f41dd5 Bug 333704: fix leak of key in txNodeSorter::addSortElement, patch by Ryan Jones <sciguyryan+bugzilla@gmail.com>, r+sr=sicking
git-svn-id: svn://10.0.0.236/trunk@214770 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 14:54:01 +00:00
gavin%gavinsharp.com
ca1da199fb Bug 333387: crash [@ ns4xPluginInstance::Print], patch by Ryan Jones <sciguyryan+bugzilla@gmail.com>, r+sr=jst
git-svn-id: svn://10.0.0.236/trunk@214769 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 14:51:52 +00:00
gavin%gavinsharp.com
5b58c05938 Bug 315405: unneeded window border in Customize Toolbar dialog, patch by Adam Stiles <ajstiles+bugzilla@gmail.com>, r=me
git-svn-id: svn://10.0.0.236/trunk@214768 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 14:50:22 +00:00
gavin%gavinsharp.com
c5ee29c919 Bug 223846: AuthName with escaped quote in it sets wrong realm, patch by Ryan Jones <sciguyryan+bugzilla@gmail.com>, r=biesi, sr=darin
git-svn-id: svn://10.0.0.236/trunk@214767 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 14:48:57 +00:00
gavin%gavinsharp.com
00b841efa0 Bug 194357: Dragging and dropping a Windows file shortcut (.lnk) in the browser window doesn't work, patch by Ryan Jones <sciguyryan+bugzilla@gmail.com>, r=biesi, sr=darin
git-svn-id: svn://10.0.0.236/trunk@214766 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 14:44:28 +00:00
szegedia%freemail.hu
a587895d98 We're now 1.6R5pre
git-svn-id: svn://10.0.0.236/trunk@214762 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 08:40:52 +00:00
szegedia%freemail.hu
da66b05b1a Rhino 1.6R5 will target JRE 1.3
git-svn-id: svn://10.0.0.236/trunk@214761 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 08:39:57 +00:00
szegedia%freemail.hu
12913e20d8 - Using SecurityUtilities
- Removing dead assignment


git-svn-id: svn://10.0.0.236/trunk@214760 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 08:39:19 +00:00
szegedia%freemail.hu
4aba6bbff2 Added "gc" to the list of supported commands - it is present in SpiderMonkey and used by the test suite
git-svn-id: svn://10.0.0.236/trunk@214759 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 08:38:42 +00:00
szegedia%freemail.hu
736506e0ee Furthering work on CodeSource-based security controller
git-svn-id: svn://10.0.0.236/trunk@214758 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 08:37:07 +00:00
szegedia%freemail.hu
4d6789acc8 Added static reportWarning(String, Throwable)
git-svn-id: svn://10.0.0.236/trunk@214757 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 08:36:15 +00:00
szegedia%freemail.hu
ad99346971 Exposing getDefaultValue() as a static helper method, to be used by scripting integration
git-svn-id: svn://10.0.0.236/trunk@214756 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 08:35:24 +00:00
bmlk%gmx.de
ec505bc3b6 forgot the js that drives the table-dom tests not part of any build
git-svn-id: svn://10.0.0.236/trunk@214755 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 06:20:45 +00:00
mattwillis%gmail.com
a788336cbf bug 358688 - Moves view widths and heights to CSS. Patch by <gekacheka@yahoo.com>, r=mvl
git-svn-id: svn://10.0.0.236/trunk@214754 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 04:53:21 +00:00
mattwillis%gmail.com
5ee2cb8bb8 bug 359530 - Fixes typo that makes 'Use Master Password' checkbox work.
git-svn-id: svn://10.0.0.236/trunk@214753 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 04:26:28 +00:00
aaronleventhal%moonset.net
d0f7a19726 Bug 354728. Support nsIAccessibleText/nsIAccessibleEditableText for xforms controls. Patch by Alexander Surkov. r=aaronlev, r=aaronr, sr=neil
git-svn-id: svn://10.0.0.236/trunk@214752 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 02:50:37 +00:00
bzbarsky%mit.edu
0968008d00 Walk out of all pseudos when doing a containing block reframe. Bug 336718,
r+sr=roc


git-svn-id: svn://10.0.0.236/trunk@214751 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 01:36:25 +00:00
bzbarsky%mit.edu
715b4d92fa Add asserts and documentation to enfoce correct behavior. Bug 316267 followup,
r+sr=roc.


git-svn-id: svn://10.0.0.236/trunk@214750 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 01:17:32 +00:00
gijskruitbosch%gmail.com
ac81c087ea Bug 342988 - Allow plugins to rebuild menu(s) after changing client.menuSpecs
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@214749 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-06 00:16:37 +00:00
gijskruitbosch%gmail.com
ebe33e06bc Bug 358611 - Saving a view leaks OutputProgressListener
r=silver@warwickcompsoc.co.uk (James Ross)
ChatZilla Only


git-svn-id: svn://10.0.0.236/trunk@214748 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-05 23:06:19 +00:00
Olli.Pettay%helsinki.fi
f9ebad2c59 Bug 358741, Crash [@ nsListBoxBodyFrame::GetListItemContentAt], r=enndeakin, sr=roc
git-svn-id: svn://10.0.0.236/trunk@214747 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-05 22:54:41 +00:00
philringnalda%gmail.com
c66d5e2eb7 Bug 359050: Properties say link will open in new window when it will open in new tab, r=gavin
git-svn-id: svn://10.0.0.236/trunk@214746 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-05 22:45:29 +00:00
kjh-5727%comcast.net
0e512ac754 Bug 241274 - Image properties should show actual dimensions, not shrunken ones. Patch by Florian Quèze <f.qu@queze.net>, r=mano, ui-r=beltzner.
git-svn-id: svn://10.0.0.236/trunk@214745 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-05 19:50:59 +00:00
gijskruitbosch%gmail.com
2c60051e16 Bug 343298 - Quit confirmation dialog is too much reading
r=silver
ChatZilla Only.


git-svn-id: svn://10.0.0.236/trunk@214744 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-05 19:46:39 +00:00
mozilla.mano%sent.com
bca3bad465 Bug 353560 - Unknown Content dialog not dismissed when filepicker opens. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@214743 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-05 17:51:35 +00:00
bmlk%gmx.de
e07e05aaf8 conversion of the table dom layout regression files to reftest, not part of any build
git-svn-id: svn://10.0.0.236/trunk@214741 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-05 16:43:35 +00:00
gavin%gavinsharp.com
53235d5951 Fix typo in a comment
git-svn-id: svn://10.0.0.236/trunk@214735 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-05 02:45:32 +00:00
scott%scott-macgregor.org
62a7e551fc Bug #359479 --> fix unhappy mac and linux compilers
git-svn-id: svn://10.0.0.236/trunk@214734 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-05 01:52:52 +00:00
olav%bkor.dhs.org
0989dadd62 Bug 309167: change to product which has same component name results in no prompt for component and incorrect assignee
Patch by Olav Vitters <olav@bkor.dhs.org> r=LpSolit a=myk


git-svn-id: svn://10.0.0.236/trunk@214733 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-05 00:27:10 +00:00
sspitzer%mozilla.org
cc1fdb18c6 fix for bug #357143
code cleanup, suggested by dveditz.

thanks to Ryan Jones <sciguyryan+bugzilla@gmail.com> for the patch.

r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@214732 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-05 00:19:17 +00:00
olav%bkor.dhs.org
bfed5c3b73 Bug 359499: skins/standard/show_bug.css is gone
Patch by Olav Vitters <olav@bkor.dhs.org> r=LpSolit a=myk


git-svn-id: svn://10.0.0.236/trunk@214731 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-05 00:18:59 +00:00
scott%scott-macgregor.org
4729b239bf Bug #359479 --> more improvements to the content policy manager.
Bug #359402 --> loading remote images in RSS articles is broken.
sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@214730 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-05 00:18:52 +00:00
mozilla.mano%sent.com
e01af42d7a Bug 357801 - new typeaheadfind object is created when accessing the fastFind property of an inactive browser element of a tabbrowser. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@214729 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-05 00:06:39 +00:00
scott%scott-macgregor.org
b620a0eefa Bug #359469 --> remove offline.manifest now that offline support is no longer an extension.
git-svn-id: svn://10.0.0.236/trunk@214727 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 23:59:05 +00:00
mattwillis%gmail.com
0f63d85e49 bug 359530 - Fixes typo that makes 'Use Master Password' checkbox work.
git-svn-id: svn://10.0.0.236/trunk@214726 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 23:27:05 +00:00
mozilla.mano%sent.com
f5593d7c7b Bug 359541 - 'View Selection Source' broken.
git-svn-id: svn://10.0.0.236/trunk@214725 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 22:54:12 +00:00
Olli.Pettay%helsinki.fi
9f6a5501bf make DEBUG_smaug compile
git-svn-id: svn://10.0.0.236/trunk@214723 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 19:20:35 +00:00
stuart.morgan%alumni.case.edu
0ce2775f2a Camino only - more logging for bug 337750. r=stridey sr=pinkerton
git-svn-id: svn://10.0.0.236/trunk@214722 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 18:58:12 +00:00
masayuki%d-toybox.com
f9d0bdd858 Bug 359496 focus outline on combobox <select>s is always drawn in black r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@214721 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 17:28:39 +00:00
mnyromyr%tprac.de
e7d9a561d0 Bug 358100: Unable to save IMAP or NNTP message as a file; r/sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@214720 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 17:25:44 +00:00
bienvenu%nventure.com
5a00428d1c fix 359338 search for tags fails with strict imap servers, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@214719 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 17:24:55 +00:00
bienvenu%nventure.com
1cb9058ff3 fix 330507 crash clearing quick search on ldap directory from address book, or closing ab while search is going on, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@214718 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 17:20:28 +00:00
dbaron%dbaron.org
9726bb648a Revert previous change since nsRegistry still uses it. b=359512
git-svn-id: svn://10.0.0.236/trunk@214717 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 17:06:32 +00:00
mnyromyr%tprac.de
926b510253 Bug 358100: Unable to save IMAP or NNTP message as a file; r/sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@214716 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 17:06:31 +00:00
kairo%kairo.at
b4ae4ce538 bug 359213 - Allow Popups from This site doesn't get currentURI, p=stefanh@bluebottle.com r=IanN sr=Neil
git-svn-id: svn://10.0.0.236/trunk@214714 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 16:17:42 +00:00
kairo%kairo.at
e431141391 bug 359244 - JS error opening preferences on mac, fix a misinterpretation of the old Makefile when I moved this to suite/, p=stefanh@bluebottle.com r=me
git-svn-id: svn://10.0.0.236/trunk@214713 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 16:11:19 +00:00
kairo%kairo.at
ba17cee721 bug 324371 checkin had r+sr=Neil
git-svn-id: svn://10.0.0.236/trunk@214712 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 11:54:49 +00:00
kairo%kairo.at
2c98b9d0a7 bug 359174 - move a number of SeaMonkey URLs to branding, r+sr=Neil
git-svn-id: svn://10.0.0.236/trunk@214711 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 11:53:41 +00:00
kairo%kairo.at
76cf0ef6d4 bug 324371 - add new PNG image for suiterunner's about: page
git-svn-id: svn://10.0.0.236/trunk@214710 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 11:41:48 +00:00
jshin%mailaps.org
9f8b6a781f bug 359148 : when saving a file, "unicode" characters in filename are lost (turned into '_') : r=biesi, sr=darin
git-svn-id: svn://10.0.0.236/trunk@214709 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 10:09:59 +00:00
Olli.Pettay%helsinki.fi
a5c05bb3a4 Bug 292833, crash if i press any function key after i removed a parent of an xbl binding, where the binding has a keyset. r+sr=bz
git-svn-id: svn://10.0.0.236/trunk@214708 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 09:15:32 +00:00
mozilla.mano%sent.com
c8333f5819 Bug 358878 - Feed preview's request for favicon.ico should not send Referer. r=gavin.
git-svn-id: svn://10.0.0.236/trunk@214707 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 08:35:40 +00:00
sspitzer%mozilla.org
c67ad0c4e1 remove printf, per gavin. (see bug #343522)
git-svn-id: svn://10.0.0.236/trunk@214705 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 06:26:45 +00:00
sspitzer%mozilla.org
2ed0382399 fix for bug #343522
wrap printf in nsNavHistoryResult.cpp with #ifdef DEBUG, per ispiked

trivial patch, no reviewer


git-svn-id: svn://10.0.0.236/trunk@214704 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 06:17:38 +00:00
cvshook%sicking.cc
0b9688294e Bug 343730: Don't execute scripts synchronously from BindToTree. Instead we wait until the last EndUpdate has been called. r/sr=bz
git-svn-id: svn://10.0.0.236/trunk@214702 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 05:45:02 +00:00
scott%scott-macgregor.org
71fad31966 Bug #359469 --> undo the changes to make offline support a (non-optional) extension. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@214700 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 05:17:04 +00:00
bzbarsky%mit.edu
419ea61791 Fix some compiler bustage over here and eliminate compiler warnings by being
very clear that it's all unsigned.  No bug, r+sr=sicking


git-svn-id: svn://10.0.0.236/trunk@214699 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 05:14:55 +00:00
sspitzer%mozilla.org
8412607c42 fix for bug #356487
make MOZ_PLACES (if enabled) only build the places based history UI, use MOZ_PLACES_BOOKMARKS to turn off the places based bookmarks UI.

also addresses bugs:

bug #330923:  "View -> Sidebar menu" is empty if you build with places
bug #355738:  implement history sidebar on top of places backend
bug #356175:  hook up the history menu to the places backend
bug #356453:  add back "Clear Private Data" menu item
bug #356630:  add back "History | Show in Sidebar" menu item
bug #356631:  remove "search in history" and "view all history" menu items
bug #357301:  add back history and bookmark sidebar toolbar button items, remove places toolbar button
bug #358831:  history sidebar, right mouse button click should not expand / collapse item

r=dietrich, r=gavin


git-svn-id: svn://10.0.0.236/trunk@214697 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 04:48:06 +00:00
cls%seawood.org
2011952b6a Reset who_check_list when building a new table body (presumably for a new tree).
Bug #359470 r=justdave


git-svn-id: svn://10.0.0.236/trunk@214694 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 02:33:36 +00:00
bzbarsky%mit.edu
e06d5e4bdc Remove now-useless include. Bug 359224 followup, r+sr=sicking
git-svn-id: svn://10.0.0.236/trunk@214693 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 02:00:31 +00:00
bzbarsky%mit.edu
10ec1cd09d Reget our parent after blowing away letter frames. Bug 318592, r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@214692 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 01:59:14 +00:00
bear%code-bear.com
a0b7cf178c Bug 349265: When using Modify Query, dates entered are clobbered (set to UNIX time)
by Jeremy Baron
r=justdave


git-svn-id: svn://10.0.0.236/trunk@214691 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 01:23:05 +00:00
dbaron%dbaron.org
173c8977c6 Convert nsSystemFonts* from storing nsFont (with size in twips) to name and gfxFontStyle (with size in pixels) to avoid problems when t2p changes. b=333357 r=stuart
git-svn-id: svn://10.0.0.236/trunk@214690 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 01:11:20 +00:00
cls%seawood.org
0ae58e6ba2 Fix previous link in static build pages
Bug #359464 r=justdave


git-svn-id: svn://10.0.0.236/trunk@214689 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 01:11:14 +00:00
mattwillis%gmail.com
a63a5805a2 bug 358996 - Remove unused alertDialog.js
git-svn-id: svn://10.0.0.236/trunk@214685 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 00:38:08 +00:00
lpsolit%gmail.com
03bdc61f07 Bug 258675: action=view is still used in comments - Patch by Frédéric Buclin <LpSolit@gmail.com> r=mkanat a=myk
git-svn-id: svn://10.0.0.236/trunk@214684 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 00:31:03 +00:00
igor.bukanov%gmail.com
1ebfccfc0e Bug 358975: shell now returns 5, not 3 as exit code for out-of-memory errors.
git-svn-id: svn://10.0.0.236/trunk@214683 18797224-902f-48f8-a5cc-f745e15eee43
2006-11-04 00:19:22 +00:00
74 changed files with 115159 additions and 281 deletions

View File

@@ -0,0 +1,95 @@
#! gmake
#
# ***** 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 the Netscape security libraries.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1994-2000
# 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 *****
#######################################################################
# (1) Include initial platform-independent assignments (MANDATORY). #
#######################################################################
include manifest.mn
#######################################################################
# (2) Include "global" configuration information. (OPTIONAL) #
#######################################################################
include $(CORE_DEPTH)/coreconf/config.mk
#######################################################################
# (3) Include "component" configuration information. (OPTIONAL) #
#######################################################################
#######################################################################
# (4) Include "local" platform-dependent assignments (OPTIONAL). #
#######################################################################
include config.mk
#######################################################################
# (5) Execute "global" rules. (OPTIONAL) #
#######################################################################
include $(CORE_DEPTH)/coreconf/rules.mk
#######################################################################
# (6) Execute "component" rules. (OPTIONAL) #
#######################################################################
#######################################################################
# (7) Execute "local" rules. (OPTIONAL). #
#######################################################################
export:: private_export
# On AIX 4.3, IBM xlC_r compiler (version 3.6.6) cannot compile
# pkcs11c.c in 64-bit mode for unknown reasons. A workaround is
# to compile it with optimizations turned on. (Bugzilla bug #63815)
ifeq ($(OS_TARGET)$(OS_RELEASE),AIX4.3)
ifeq ($(USE_64),1)
ifndef BUILD_OPT
$(OBJDIR)/pkcs11.o: pkcs11.c
@$(MAKE_OBJDIR)
$(CC) -o $@ -c -O2 $(CFLAGS) $<
$(OBJDIR)/pkcs11c.o: pkcs11c.c
@$(MAKE_OBJDIR)
$(CC) -o $@ -c -O2 $(CFLAGS) $<
endif
endif
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 the Netscape security libraries.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1994-2000
# 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 *****
# $(PROGRAM) has explicit dependencies on $(EXTRA_LIBS)
CRYPTOLIB=$(DIST)/lib/$(LIB_PREFIX)freebl.$(LIB_SUFFIX)
CRYPTODIR=../freebl
ifdef MOZILLA_SECURITY_BUILD
CRYPTOLIB=$(DIST)/lib/$(LIB_PREFIX)crypto.$(LIB_SUFFIX)
CRYPTODIR=../crypto
endif
SQLITE_LIB = $(DIST)/lib/$(LIB_PREFIX)sqlite3.$(LIB_SUFFIX)
ifdef NSS_USE_SYTEM_SQLITE
SQLITE_LIB = -lsqlite3
endif
EXTRA_LIBS += \
$(CRYPTOLIB) \
$(DIST)/lib/$(LIB_PREFIX)secutil.$(LIB_SUFFIX) \
$(SQLITE_LIB) \
$(NULL)
# can't do this in manifest.mn because OS_TARGET isn't defined there.
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
# don't want the 32 in the shared library name
SHARED_LIBRARY = $(OBJDIR)/$(DLL_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
IMPORT_LIBRARY = $(OBJDIR)/$(IMPORT_LIB_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION)$(IMPORT_LIB_SUFFIX)
RES = $(OBJDIR)/$(LIBRARY_NAME).res
RESNAME = $(LIBRARY_NAME).rc
ifdef NS_USE_GCC
EXTRA_SHARED_LIBS += \
-L$(NSPR_LIB_DIR) \
-lplc4 \
-lplds4 \
-lnspr4 \
$(NULL)
else # ! NS_USE_GCC
EXTRA_SHARED_LIBS += \
$(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)plc4.lib \
$(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)plds4.lib \
$(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)nspr4.lib \
$(NULL)
endif # NS_USE_GCC
else
# $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS)
# $(EXTRA_SHARED_LIBS) come before $(OS_LIBS), except on AIX.
EXTRA_SHARED_LIBS += \
-L$(NSPR_LIB_DIR) \
-lplc4 \
-lplds4 \
-lnspr4 \
$(NULL)
endif
ifeq ($(OS_TARGET),SunOS)
# The -R '$ORIGIN' linker option instructs this library to search for its
# dependencies in the same directory where it resides.
MKSHLIB += -R '$$ORIGIN'
OS_LIBS += -lbsm
endif
ifeq ($(OS_TARGET),WINCE)
DEFINES += -DDBM_USING_NSPR
endif
# indicates dependency on freebl static lib
$(SHARED_LIBRARY): $(CRYPTOLIB)

View File

@@ -0,0 +1,641 @@
/*
* ***** 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 the Elliptic Curve Cryptography library.
*
* The Initial Developer of the Original Code is
* Sun Microsystems, Inc.
* Portions created by the Initial Developer are Copyright (C) 2003
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Dr Vipul Gupta <vipul.gupta@sun.com> and
* Douglas Stebila <douglas@stebila.ca>, Sun Microsystems Laboratories
*
* 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 ***** */
#ifdef NSS_ENABLE_ECC
#include "blapi.h"
#include "secoid.h"
#include "secitem.h"
#include "secerr.h"
#include "ec.h"
#include "ecl-curve.h"
#define CHECK_OK(func) if (func == NULL) goto cleanup
#define CHECK_SEC_OK(func) if (SECSuccess != (rv = func)) goto cleanup
/*
* Initializes a SECItem from a hexadecimal string
*
* Warning: This function ignores leading 00's, so any leading 00's
* in the hexadecimal string must be optional.
*/
static SECItem *
hexString2SECItem(PRArenaPool *arena, SECItem *item, const char *str)
{
int i = 0;
int byteval = 0;
int tmp = PORT_Strlen(str);
if ((tmp % 2) != 0) return NULL;
/* skip leading 00's unless the hex string is "00" */
while ((tmp > 2) && (str[0] == '0') && (str[1] == '0')) {
str += 2;
tmp -= 2;
}
item->data = (unsigned char *) PORT_ArenaAlloc(arena, tmp/2);
if (item->data == NULL) return NULL;
item->len = tmp/2;
while (str[i]) {
if ((str[i] >= '0') && (str[i] <= '9'))
tmp = str[i] - '0';
else if ((str[i] >= 'a') && (str[i] <= 'f'))
tmp = str[i] - 'a' + 10;
else if ((str[i] >= 'A') && (str[i] <= 'F'))
tmp = str[i] - 'A' + 10;
else
return NULL;
byteval = byteval * 16 + tmp;
if ((i % 2) != 0) {
item->data[i/2] = byteval;
byteval = 0;
}
i++;
}
return item;
}
/* Copy all of the fields from srcParams into dstParams
*/
SECStatus
EC_CopyParams(PRArenaPool *arena, ECParams *dstParams,
const ECParams *srcParams)
{
SECStatus rv = SECFailure;
dstParams->arena = arena;
dstParams->type = srcParams->type;
dstParams->fieldID.size = srcParams->fieldID.size;
dstParams->fieldID.type = srcParams->fieldID.type;
if (srcParams->fieldID.type == ec_field_GFp) {
CHECK_SEC_OK(SECITEM_CopyItem(arena, &dstParams->fieldID.u.prime,
&srcParams->fieldID.u.prime));
} else {
CHECK_SEC_OK(SECITEM_CopyItem(arena, &dstParams->fieldID.u.poly,
&srcParams->fieldID.u.poly));
}
dstParams->fieldID.k1 = srcParams->fieldID.k1;
dstParams->fieldID.k2 = srcParams->fieldID.k2;
dstParams->fieldID.k3 = srcParams->fieldID.k3;
CHECK_SEC_OK(SECITEM_CopyItem(arena, &dstParams->curve.a,
&srcParams->curve.a));
CHECK_SEC_OK(SECITEM_CopyItem(arena, &dstParams->curve.b,
&srcParams->curve.b));
CHECK_SEC_OK(SECITEM_CopyItem(arena, &dstParams->curve.seed,
&srcParams->curve.seed));
CHECK_SEC_OK(SECITEM_CopyItem(arena, &dstParams->base,
&srcParams->base));
CHECK_SEC_OK(SECITEM_CopyItem(arena, &dstParams->order,
&srcParams->order));
CHECK_SEC_OK(SECITEM_CopyItem(arena, &dstParams->DEREncoding,
&srcParams->DEREncoding));
dstParams->name = srcParams->name;
CHECK_SEC_OK(SECITEM_CopyItem(arena, &dstParams->curveOID,
&srcParams->curveOID));
dstParams->cofactor = srcParams->cofactor;
return SECSuccess;
cleanup:
return SECFailure;
}
static SECStatus
gf_populate_params(ECCurveName name, ECFieldType field_type, ECParams *params)
{
SECStatus rv = SECFailure;
const ECCurveParams *curveParams;
/* 2 ['0'+'4'] + MAX_ECKEY_LEN * 2 [x,y] * 2 [hex string] + 1 ['\0'] */
char genenc[3 + 2 * 2 * MAX_ECKEY_LEN];
if ((name < ECCurve_noName) || (name > ECCurve_pastLastCurve)) goto cleanup;
params->name = name;
curveParams = ecCurve_map[params->name];
CHECK_OK(curveParams);
params->fieldID.size = curveParams->size;
params->fieldID.type = field_type;
if (field_type == ec_field_GFp) {
CHECK_OK(hexString2SECItem(params->arena, &params->fieldID.u.prime,
curveParams->irr));
} else {
CHECK_OK(hexString2SECItem(params->arena, &params->fieldID.u.poly,
curveParams->irr));
}
CHECK_OK(hexString2SECItem(params->arena, &params->curve.a,
curveParams->curvea));
CHECK_OK(hexString2SECItem(params->arena, &params->curve.b,
curveParams->curveb));
genenc[0] = '0';
genenc[1] = '4';
genenc[2] = '\0';
strcat(genenc, curveParams->genx);
strcat(genenc, curveParams->geny);
CHECK_OK(hexString2SECItem(params->arena, &params->base, genenc));
CHECK_OK(hexString2SECItem(params->arena, &params->order,
curveParams->order));
params->cofactor = curveParams->cofactor;
rv = SECSuccess;
cleanup:
return rv;
}
SECStatus
EC_FillParams(PRArenaPool *arena, const SECItem *encodedParams,
ECParams *params)
{
SECStatus rv = SECFailure;
SECOidTag tag;
SECItem oid = { siBuffer, NULL, 0};
#if EC_DEBUG
int i;
printf("Encoded params in EC_DecodeParams: ");
for (i = 0; i < encodedParams->len; i++) {
printf("%02x:", encodedParams->data[i]);
}
printf("\n");
#endif
if ((encodedParams->len != ANSI_X962_CURVE_OID_TOTAL_LEN) &&
(encodedParams->len != SECG_CURVE_OID_TOTAL_LEN)) {
PORT_SetError(SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE);
return SECFailure;
};
oid.len = encodedParams->len - 2;
oid.data = encodedParams->data + 2;
if ((encodedParams->data[0] != SEC_ASN1_OBJECT_ID) ||
((tag = SECOID_FindOIDTag(&oid)) == SEC_OID_UNKNOWN)) {
PORT_SetError(SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE);
return SECFailure;
}
params->arena = arena;
params->cofactor = 0;
params->type = ec_params_named;
params->name = ECCurve_noName;
/* For named curves, fill out curveOID */
params->curveOID.len = oid.len;
params->curveOID.data = (unsigned char *) PORT_ArenaAlloc(arena, oid.len);
if (params->curveOID.data == NULL) goto cleanup;
memcpy(params->curveOID.data, oid.data, oid.len);
#if EC_DEBUG
printf("Curve: %s\n", SECOID_FindOIDTagDescription(tag));
#endif
switch (tag) {
/* Binary curves */
case SEC_OID_ANSIX962_EC_C2PNB163V1:
/* Populate params for c2pnb163v1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_PNB163V1, ec_field_GF2m,
params) );
break;
case SEC_OID_ANSIX962_EC_C2PNB163V2:
/* Populate params for c2pnb163v2 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_PNB163V2, ec_field_GF2m,
params) );
break;
case SEC_OID_ANSIX962_EC_C2PNB163V3:
/* Populate params for c2pnb163v3 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_PNB163V3, ec_field_GF2m,
params) );
break;
case SEC_OID_ANSIX962_EC_C2PNB176V1:
/* Populate params for c2pnb176v1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_PNB176V1, ec_field_GF2m,
params) );
break;
case SEC_OID_ANSIX962_EC_C2TNB191V1:
/* Populate params for c2tnb191v1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_TNB191V1, ec_field_GF2m,
params) );
break;
case SEC_OID_ANSIX962_EC_C2TNB191V2:
/* Populate params for c2tnb191v2 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_TNB191V2, ec_field_GF2m,
params) );
break;
case SEC_OID_ANSIX962_EC_C2TNB191V3:
/* Populate params for c2tnb191v3 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_TNB191V3, ec_field_GF2m,
params) );
break;
case SEC_OID_ANSIX962_EC_C2PNB208W1:
/* Populate params for c2pnb208w1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_PNB208W1, ec_field_GF2m,
params) );
break;
case SEC_OID_ANSIX962_EC_C2TNB239V1:
/* Populate params for c2tnb239v1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_TNB239V1, ec_field_GF2m,
params) );
break;
case SEC_OID_ANSIX962_EC_C2TNB239V2:
/* Populate params for c2tnb239v2 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_TNB239V2, ec_field_GF2m,
params) );
break;
case SEC_OID_ANSIX962_EC_C2TNB239V3:
/* Populate params for c2tnb239v3 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_TNB239V3, ec_field_GF2m,
params) );
break;
case SEC_OID_ANSIX962_EC_C2PNB272W1:
/* Populate params for c2pnb272w1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_PNB272W1, ec_field_GF2m,
params) );
break;
case SEC_OID_ANSIX962_EC_C2PNB304W1:
/* Populate params for c2pnb304w1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_PNB304W1, ec_field_GF2m,
params) );
break;
case SEC_OID_ANSIX962_EC_C2TNB359V1:
/* Populate params for c2tnb359v1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_TNB359V1, ec_field_GF2m,
params) );
break;
case SEC_OID_ANSIX962_EC_C2PNB368W1:
/* Populate params for c2pnb368w1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_PNB368W1, ec_field_GF2m,
params) );
break;
case SEC_OID_ANSIX962_EC_C2TNB431R1:
/* Populate params for c2tnb431r1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_CHAR2_TNB431R1, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT113R1:
/* Populate params for sect113r1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_113R1, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT113R2:
/* Populate params for sect113r2 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_113R2, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT131R1:
/* Populate params for sect131r1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_131R1, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT131R2:
/* Populate params for sect131r2 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_131R2, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT163K1:
/* Populate params for sect163k1
* (the NIST K-163 curve)
*/
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_163K1, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT163R1:
/* Populate params for sect163r1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_163R1, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT163R2:
/* Populate params for sect163r2
* (the NIST B-163 curve)
*/
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_163R2, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT193R1:
/* Populate params for sect193r1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_193R1, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT193R2:
/* Populate params for sect193r2 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_193R2, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT233K1:
/* Populate params for sect233k1
* (the NIST K-233 curve)
*/
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_233K1, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT233R1:
/* Populate params for sect233r1
* (the NIST B-233 curve)
*/
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_233R1, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT239K1:
/* Populate params for sect239k1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_239K1, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT283K1:
/* Populate params for sect283k1
* (the NIST K-283 curve)
*/
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_283K1, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT283R1:
/* Populate params for sect283r1
* (the NIST B-283 curve)
*/
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_283R1, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT409K1:
/* Populate params for sect409k1
* (the NIST K-409 curve)
*/
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_409K1, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT409R1:
/* Populate params for sect409r1
* (the NIST B-409 curve)
*/
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_409R1, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT571K1:
/* Populate params for sect571k1
* (the NIST K-571 curve)
*/
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_571K1, ec_field_GF2m,
params) );
break;
case SEC_OID_SECG_EC_SECT571R1:
/* Populate params for sect571r1
* (the NIST B-571 curve)
*/
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_CHAR2_571R1, ec_field_GF2m,
params) );
break;
/* Prime curves */
case SEC_OID_ANSIX962_EC_PRIME192V1:
/* Populate params for prime192v1 aka secp192r1
* (the NIST P-192 curve)
*/
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_PRIME_192V1, ec_field_GFp,
params) );
break;
case SEC_OID_ANSIX962_EC_PRIME192V2:
/* Populate params for prime192v2 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_PRIME_192V2, ec_field_GFp,
params) );
break;
case SEC_OID_ANSIX962_EC_PRIME192V3:
/* Populate params for prime192v3 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_PRIME_192V3, ec_field_GFp,
params) );
break;
case SEC_OID_ANSIX962_EC_PRIME239V1:
/* Populate params for prime239v1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_PRIME_239V1, ec_field_GFp,
params) );
break;
case SEC_OID_ANSIX962_EC_PRIME239V2:
/* Populate params for prime239v2 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_PRIME_239V2, ec_field_GFp,
params) );
break;
case SEC_OID_ANSIX962_EC_PRIME239V3:
/* Populate params for prime239v3 */
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_PRIME_239V3, ec_field_GFp,
params) );
break;
case SEC_OID_ANSIX962_EC_PRIME256V1:
/* Populate params for prime256v1 aka secp256r1
* (the NIST P-256 curve)
*/
CHECK_SEC_OK( gf_populate_params(ECCurve_X9_62_PRIME_256V1, ec_field_GFp,
params) );
break;
case SEC_OID_SECG_EC_SECP112R1:
/* Populate params for secp112r1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_PRIME_112R1, ec_field_GFp,
params) );
break;
case SEC_OID_SECG_EC_SECP112R2:
/* Populate params for secp112r2 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_PRIME_112R2, ec_field_GFp,
params) );
break;
case SEC_OID_SECG_EC_SECP128R1:
/* Populate params for secp128r1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_PRIME_128R1, ec_field_GFp,
params) );
break;
case SEC_OID_SECG_EC_SECP128R2:
/* Populate params for secp128r2 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_PRIME_128R2, ec_field_GFp,
params) );
break;
case SEC_OID_SECG_EC_SECP160K1:
/* Populate params for secp160k1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_PRIME_160K1, ec_field_GFp,
params) );
break;
case SEC_OID_SECG_EC_SECP160R1:
/* Populate params for secp160r1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_PRIME_160R1, ec_field_GFp,
params) );
break;
case SEC_OID_SECG_EC_SECP160R2:
/* Populate params for secp160r1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_PRIME_160R2, ec_field_GFp,
params) );
break;
case SEC_OID_SECG_EC_SECP192K1:
/* Populate params for secp192k1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_PRIME_192K1, ec_field_GFp,
params) );
break;
case SEC_OID_SECG_EC_SECP224K1:
/* Populate params for secp224k1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_PRIME_224K1, ec_field_GFp,
params) );
break;
case SEC_OID_SECG_EC_SECP224R1:
/* Populate params for secp224r1
* (the NIST P-224 curve)
*/
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_PRIME_224R1, ec_field_GFp,
params) );
break;
case SEC_OID_SECG_EC_SECP256K1:
/* Populate params for secp256k1 */
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_PRIME_256K1, ec_field_GFp,
params) );
break;
case SEC_OID_SECG_EC_SECP384R1:
/* Populate params for secp384r1
* (the NIST P-384 curve)
*/
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_PRIME_384R1, ec_field_GFp,
params) );
break;
case SEC_OID_SECG_EC_SECP521R1:
/* Populate params for secp521r1
* (the NIST P-521 curve)
*/
CHECK_SEC_OK( gf_populate_params(ECCurve_SECG_PRIME_521R1, ec_field_GFp,
params) );
break;
default:
break;
};
cleanup:
if (!params->cofactor) {
PORT_SetError(SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE);
#if EC_DEBUG
printf("Unrecognized curve, returning NULL params\n");
#endif
}
return rv;
}
SECStatus
EC_DecodeParams(const SECItem *encodedParams, ECParams **ecparams)
{
PRArenaPool *arena;
ECParams *params;
SECStatus rv = SECFailure;
/* Initialize an arena for the ECParams structure */
if (!(arena = PORT_NewArena(NSS_FREEBL_DEFAULT_CHUNKSIZE)))
return SECFailure;
params = (ECParams *)PORT_ArenaZAlloc(arena, sizeof(ECParams));
if (!params) {
PORT_FreeArena(arena, PR_TRUE);
return SECFailure;
}
/* Copy the encoded params */
SECITEM_AllocItem(arena, &(params->DEREncoding),
encodedParams->len);
memcpy(params->DEREncoding.data, encodedParams->data, encodedParams->len);
/* Fill out the rest of the ECParams structure based on
* the encoded params
*/
rv = EC_FillParams(arena, encodedParams, params);
if (rv == SECFailure) {
PORT_FreeArena(arena, PR_TRUE);
return SECFailure;
} else {
*ecparams = params;;
return SECSuccess;
}
}
#endif /* NSS_ENABLE_ECC */

View File

@@ -0,0 +1,351 @@
/* ***** 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 Network Security Services (NSS).
*
* The Initial Developer of the Original Code is
* Red Hat, Inc.
* Portions created by the Initial Developer are Copyright (C) 2006
* 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 ***** */
/*
* This file implements audit logging required by FIPS 140-2 Security
* Level 2.
*/
#include "prprf.h"
#include "softoken.h"
/*
* Print the value of the returned object handle in the output buffer
* on a successful return of the PKCS #11 function. If the PKCS #11
* function failed or the pointer to object handle is NULL (which is
* the case for C_DeriveKey with CKM_TLS_KEY_AND_MAC_DERIVE), an empty
* string is stored in the output buffer.
*
* out: the output buffer
* outlen: the length of the output buffer
* argName: the name of the "pointer to object handle" argument
* phObject: the pointer to object handle
* rv: the return value of the PKCS #11 function
*/
static void sftk_PrintReturnedObjectHandle(char *out, PRUint32 outlen,
const char *argName, CK_OBJECT_HANDLE_PTR phObject, CK_RV rv)
{
if ((rv == CKR_OK) && phObject) {
PR_snprintf(out, outlen,
" *%s=0x%08lX", argName, (PRUint32)*phObject);
} else {
PORT_Assert(outlen != 0);
out[0] = '\0';
}
}
/*
* MECHANISM_BUFSIZE needs to be large enough for sftk_PrintMechanism,
* which uses <= 49 bytes.
*/
#define MECHANISM_BUFSIZE 64
static void sftk_PrintMechanism(char *out, PRUint32 outlen,
CK_MECHANISM_PTR pMechanism)
{
if (pMechanism) {
/*
* If we change the format string, we need to make sure
* MECHANISM_BUFSIZE is still large enough. We allow
* 20 bytes for %p on a 64-bit platform.
*/
PR_snprintf(out, outlen, "%p {mechanism=0x%08lX, ...}",
pMechanism, (PRUint32)pMechanism->mechanism);
} else {
PR_snprintf(out, outlen, "%p", pMechanism);
}
}
void sftk_AuditCreateObject(CK_SESSION_HANDLE hSession,
CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount,
CK_OBJECT_HANDLE_PTR phObject, CK_RV rv)
{
char msg[256];
char shObject[32];
NSSAuditSeverity severity = (rv == CKR_OK) ?
NSS_AUDIT_INFO : NSS_AUDIT_ERROR;
sftk_PrintReturnedObjectHandle(shObject, sizeof shObject,
"phObject", phObject, rv);
PR_snprintf(msg, sizeof msg,
"C_CreateObject(hSession=0x%08lX, pTemplate=%p, ulCount=%lu, "
"phObject=%p)=0x%08lX%s",
(PRUint32)hSession, pTemplate, (PRUint32)ulCount,
phObject, (PRUint32)rv, shObject);
sftk_LogAuditMessage(severity, msg);
}
void sftk_AuditCopyObject(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount,
CK_OBJECT_HANDLE_PTR phNewObject, CK_RV rv)
{
char msg[256];
char shNewObject[32];
NSSAuditSeverity severity = (rv == CKR_OK) ?
NSS_AUDIT_INFO : NSS_AUDIT_ERROR;
sftk_PrintReturnedObjectHandle(shNewObject, sizeof shNewObject,
"phNewObject", phNewObject, rv);
PR_snprintf(msg, sizeof msg,
"C_CopyObject(hSession=0x%08lX, hObject=0x%08lX, "
"pTemplate=%p, ulCount=%lu, phNewObject=%p)=0x%08lX%s",
(PRUint32)hSession, (PRUint32)hObject,
pTemplate, (PRUint32)ulCount, phNewObject, (PRUint32)rv, shNewObject);
sftk_LogAuditMessage(severity, msg);
}
/* WARNING: hObject has been destroyed and can only be printed. */
void sftk_AuditDestroyObject(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject, CK_RV rv)
{
char msg[256];
NSSAuditSeverity severity = (rv == CKR_OK) ?
NSS_AUDIT_INFO : NSS_AUDIT_ERROR;
PR_snprintf(msg, sizeof msg,
"C_DestroyObject(hSession=0x%08lX, hObject=0x%08lX)=0x%08lX",
(PRUint32)hSession, (PRUint32)hObject, (PRUint32)rv);
sftk_LogAuditMessage(severity, msg);
}
void sftk_AuditGetObjectSize(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject, CK_ULONG_PTR pulSize, CK_RV rv)
{
char msg[256];
NSSAuditSeverity severity = (rv == CKR_OK) ?
NSS_AUDIT_INFO : NSS_AUDIT_ERROR;
PR_snprintf(msg, sizeof msg,
"C_GetObjectSize(hSession=0x%08lX, hObject=0x%08lX, "
"pulSize=%p)=0x%08lX",
(PRUint32)hSession, (PRUint32)hObject,
pulSize, (PRUint32)rv);
sftk_LogAuditMessage(severity, msg);
}
void sftk_AuditGetAttributeValue(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulCount, CK_RV rv)
{
char msg[256];
NSSAuditSeverity severity = (rv == CKR_OK) ?
NSS_AUDIT_INFO : NSS_AUDIT_ERROR;
PR_snprintf(msg, sizeof msg,
"C_GetAttributeValue(hSession=0x%08lX, hObject=0x%08lX, "
"pTemplate=%p, ulCount=%lu)=0x%08lX",
(PRUint32)hSession, (PRUint32)hObject,
pTemplate, (PRUint32)ulCount, (PRUint32)rv);
sftk_LogAuditMessage(severity, msg);
}
void sftk_AuditSetAttributeValue(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulCount, CK_RV rv)
{
char msg[256];
NSSAuditSeverity severity = (rv == CKR_OK) ?
NSS_AUDIT_INFO : NSS_AUDIT_ERROR;
PR_snprintf(msg, sizeof msg,
"C_SetAttributeValue(hSession=0x%08lX, hObject=0x%08lX, "
"pTemplate=%p, ulCount=%lu)=0x%08lX",
(PRUint32)hSession, (PRUint32)hObject,
pTemplate, (PRUint32)ulCount, (PRUint32)rv);
sftk_LogAuditMessage(severity, msg);
}
void sftk_AuditCryptInit(const char *opName, CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey, CK_RV rv)
{
char msg[256];
char mech[MECHANISM_BUFSIZE];
NSSAuditSeverity severity = (rv == CKR_OK) ?
NSS_AUDIT_INFO : NSS_AUDIT_ERROR;
sftk_PrintMechanism(mech, sizeof mech, pMechanism);
PR_snprintf(msg, sizeof msg,
"C_%sInit(hSession=0x%08lX, pMechanism=%s, "
"hKey=0x%08lX)=0x%08lX",
opName, (PRUint32)hSession, mech,
(PRUint32)hKey, (PRUint32)rv);
sftk_LogAuditMessage(severity, msg);
}
void sftk_AuditGenerateKey(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phKey, CK_RV rv)
{
char msg[256];
char mech[MECHANISM_BUFSIZE];
char shKey[32];
NSSAuditSeverity severity = (rv == CKR_OK) ?
NSS_AUDIT_INFO : NSS_AUDIT_ERROR;
sftk_PrintMechanism(mech, sizeof mech, pMechanism);
sftk_PrintReturnedObjectHandle(shKey, sizeof shKey, "phKey", phKey, rv);
PR_snprintf(msg, sizeof msg,
"C_GenerateKey(hSession=0x%08lX, pMechanism=%s, "
"pTemplate=%p, ulCount=%lu, phKey=%p)=0x%08lX%s",
(PRUint32)hSession, mech,
pTemplate, (PRUint32)ulCount, phKey, (PRUint32)rv, shKey);
sftk_LogAuditMessage(severity, msg);
}
void sftk_AuditGenerateKeyPair(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pPublicKeyTemplate,
CK_ULONG ulPublicKeyAttributeCount, CK_ATTRIBUTE_PTR pPrivateKeyTemplate,
CK_ULONG ulPrivateKeyAttributeCount, CK_OBJECT_HANDLE_PTR phPublicKey,
CK_OBJECT_HANDLE_PTR phPrivateKey, CK_RV rv)
{
char msg[512];
char mech[MECHANISM_BUFSIZE];
char shPublicKey[32];
char shPrivateKey[32];
NSSAuditSeverity severity = (rv == CKR_OK) ?
NSS_AUDIT_INFO : NSS_AUDIT_ERROR;
sftk_PrintMechanism(mech, sizeof mech, pMechanism);
sftk_PrintReturnedObjectHandle(shPublicKey, sizeof shPublicKey,
"phPublicKey", phPublicKey, rv);
sftk_PrintReturnedObjectHandle(shPrivateKey, sizeof shPrivateKey,
"phPrivateKey", phPrivateKey, rv);
PR_snprintf(msg, sizeof msg,
"C_GenerateKeyPair(hSession=0x%08lX, pMechanism=%s, "
"pPublicKeyTemplate=%p, ulPublicKeyAttributeCount=%lu, "
"pPrivateKeyTemplate=%p, ulPrivateKeyAttributeCount=%lu, "
"phPublicKey=%p, phPrivateKey=%p)=0x%08lX%s%s",
(PRUint32)hSession, mech,
pPublicKeyTemplate, (PRUint32)ulPublicKeyAttributeCount,
pPrivateKeyTemplate, (PRUint32)ulPrivateKeyAttributeCount,
phPublicKey, phPrivateKey, (PRUint32)rv, shPublicKey, shPrivateKey);
sftk_LogAuditMessage(severity, msg);
}
void sftk_AuditWrapKey(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hWrappingKey,
CK_OBJECT_HANDLE hKey, CK_BYTE_PTR pWrappedKey,
CK_ULONG_PTR pulWrappedKeyLen, CK_RV rv)
{
char msg[256];
char mech[MECHANISM_BUFSIZE];
NSSAuditSeverity severity = (rv == CKR_OK) ?
NSS_AUDIT_INFO : NSS_AUDIT_ERROR;
sftk_PrintMechanism(mech, sizeof mech, pMechanism);
PR_snprintf(msg, sizeof msg,
"C_WrapKey(hSession=0x%08lX, pMechanism=%s, hWrappingKey=0x%08lX, "
"hKey=0x%08lX, pWrappedKey=%p, pulWrappedKeyLen=%p)=0x%08lX",
(PRUint32)hSession, mech, (PRUint32)hWrappingKey,
(PRUint32)hKey, pWrappedKey, pulWrappedKeyLen, (PRUint32)rv);
sftk_LogAuditMessage(severity, msg);
}
void sftk_AuditUnwrapKey(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hUnwrappingKey,
CK_BYTE_PTR pWrappedKey, CK_ULONG ulWrappedKeyLen,
CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulAttributeCount,
CK_OBJECT_HANDLE_PTR phKey, CK_RV rv)
{
char msg[256];
char mech[MECHANISM_BUFSIZE];
char shKey[32];
NSSAuditSeverity severity = (rv == CKR_OK) ?
NSS_AUDIT_INFO : NSS_AUDIT_ERROR;
sftk_PrintMechanism(mech, sizeof mech, pMechanism);
sftk_PrintReturnedObjectHandle(shKey, sizeof shKey, "phKey", phKey, rv);
PR_snprintf(msg, sizeof msg,
"C_UnwrapKey(hSession=0x%08lX, pMechanism=%s, "
"hUnwrappingKey=0x%08lX, pWrappedKey=%p, ulWrappedKeyLen=%lu, "
"pTemplate=%p, ulAttributeCount=%lu, phKey=%p)=0x%08lX%s",
(PRUint32)hSession, mech,
(PRUint32)hUnwrappingKey, pWrappedKey, (PRUint32)ulWrappedKeyLen,
pTemplate, (PRUint32)ulAttributeCount, phKey, (PRUint32)rv, shKey);
sftk_LogAuditMessage(severity, msg);
}
void sftk_AuditDeriveKey(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hBaseKey,
CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulAttributeCount,
CK_OBJECT_HANDLE_PTR phKey, CK_RV rv)
{
char msg[512];
char mech[MECHANISM_BUFSIZE];
char shKey[32];
char sTlsKeys[128];
NSSAuditSeverity severity = (rv == CKR_OK) ?
NSS_AUDIT_INFO : NSS_AUDIT_ERROR;
sftk_PrintMechanism(mech, sizeof mech, pMechanism);
sftk_PrintReturnedObjectHandle(shKey, sizeof shKey, "phKey", phKey, rv);
if ((rv == CKR_OK) &&
(pMechanism->mechanism == CKM_TLS_KEY_AND_MAC_DERIVE)) {
CK_SSL3_KEY_MAT_PARAMS *param =
(CK_SSL3_KEY_MAT_PARAMS *)pMechanism->pParameter;
CK_SSL3_KEY_MAT_OUT *keymat = param->pReturnedKeyMaterial;
PR_snprintf(sTlsKeys, sizeof sTlsKeys,
" hClientMacSecret=0x%08lX hServerMacSecret=0x%08lX"
" hClientKey=0x%08lX hServerKey=0x%08lX",
(PRUint32)keymat->hClientMacSecret,
(PRUint32)keymat->hServerMacSecret,
(PRUint32)keymat->hClientKey,
(PRUint32)keymat->hServerKey);
} else {
sTlsKeys[0] = '\0';
}
PR_snprintf(msg, sizeof msg,
"C_DeriveKey(hSession=0x%08lX, pMechanism=%s, "
"hBaseKey=0x%08lX, pTemplate=%p, ulAttributeCount=%lu, "
"phKey=%p)=0x%08lX%s%s",
(PRUint32)hSession, mech,
(PRUint32)hBaseKey, pTemplate,(PRUint32)ulAttributeCount,
phKey, (PRUint32)rv, shKey, sTlsKeys);
sftk_LogAuditMessage(severity, msg);
}
void sftk_AuditDigestKey(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hKey, CK_RV rv)
{
char msg[256];
NSSAuditSeverity severity = (rv == CKR_OK) ?
NSS_AUDIT_INFO : NSS_AUDIT_ERROR;
PR_snprintf(msg, sizeof msg,
"C_DigestKey(hSession=0x%08lX, hKey=0x%08lX)=0x%08lX",
(PRUint32)hSession, (PRUint32)hKey, (PRUint32)rv);
sftk_LogAuditMessage(severity, msg);
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,80 @@
#! gmake
#
# ***** 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 the Netscape security libraries.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1994-2000
# 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 *****
#######################################################################
# (1) Include initial platform-independent assignments (MANDATORY). #
#######################################################################
include manifest.mn
#######################################################################
# (2) Include "global" configuration information. (OPTIONAL) #
#######################################################################
include $(CORE_DEPTH)/coreconf/config.mk
#######################################################################
# (3) Include "component" configuration information. (OPTIONAL) #
#######################################################################
#######################################################################
# (4) Include "local" platform-dependent assignments (OPTIONAL). #
#######################################################################
include config.mk
#######################################################################
# (5) Execute "global" rules. (OPTIONAL) #
#######################################################################
include $(CORE_DEPTH)/coreconf/rules.mk
#######################################################################
# (6) Execute "component" rules. (OPTIONAL) #
#######################################################################
#######################################################################
# (7) Execute "local" rules. (OPTIONAL). #
#######################################################################
export:: private_export

View File

@@ -0,0 +1,85 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/*
* cdbhdl.h - certificate database handle
* private to the certdb module
*
* $Id: cdbhdl.h,v 1.1.2.1 2007-04-03 22:50:02 rrelyea%redhat.com Exp $
*/
#ifndef _CDBHDL_H_
#define _CDBHDL_H_
#include "nspr.h"
#include "mcom_db.h"
#include "pcertt.h"
#include "prtypes.h"
/*
* Handle structure for open certificate databases
*/
struct NSSLOWCERTCertDBHandleStr {
DB *permCertDB;
PZMonitor *dbMon;
PRBool dbVerify;
PRInt32 ref; /* reference count */
};
#ifdef DBM_USING_NSPR
#define NO_RDONLY PR_RDONLY
#define NO_RDWR PR_RDWR
#define NO_CREATE (PR_RDWR | PR_CREATE_FILE | PR_TRUNCATE)
#else
#define NO_RDONLY O_RDONLY
#define NO_RDWR O_RDWR
#define NO_CREATE (O_RDWR | O_CREAT | O_TRUNC)
#endif
typedef DB * (*rdbfunc)(const char *appName, const char *prefix,
const char *type, int flags);
typedef int (*rdbstatusfunc)(void);
#define RDB_FAIL 1
#define RDB_RETRY 2
DB * rdbopen(const char *appName, const char *prefix,
const char *type, int flags, int *status);
DB *dbsopen (const char *dbname , int flags, int mode, DBTYPE type,
const void * appData);
SECStatus db_Copy(DB *dest,DB *src);
int db_InitComplete(DB *db);
#endif

View File

@@ -0,0 +1,102 @@
#
# ***** 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 the Netscape security libraries.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1994-2000
# 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 *****
# $(PROGRAM) has explicit dependencies on $(EXTRA_LIBS)
CRYPTOLIB=$(DIST)/lib/$(LIB_PREFIX)freebl.$(LIB_SUFFIX)
CRYPTODIR=../freebl
ifdef MOZILLA_SECURITY_BUILD
CRYPTOLIB=$(DIST)/lib/$(LIB_PREFIX)crypto.$(LIB_SUFFIX)
CRYPTODIR=../crypto
endif
EXTRA_LIBS += \
$(CRYPTOLIB) \
$(DIST)/lib/$(LIB_PREFIX)secutil.$(LIB_SUFFIX) \
$(DIST)/lib/$(LIB_PREFIX)dbm.$(LIB_SUFFIX) \
$(NULL)
# can't do this in manifest.mn because OS_TARGET isn't defined there.
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
# don't want the 32 in the shared library name
SHARED_LIBRARY = $(OBJDIR)/$(DLL_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
IMPORT_LIBRARY = $(OBJDIR)/$(IMPORT_LIB_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION)$(IMPORT_LIB_SUFFIX)
RES = $(OBJDIR)/$(LIBRARY_NAME).res
RESNAME = $(LIBRARY_NAME).rc
ifdef NS_USE_GCC
EXTRA_SHARED_LIBS += \
-L$(NSPR_LIB_DIR) \
-lplc4 \
-lplds4 \
-lnspr4 \
$(NULL)
else # ! NS_USE_GCC
EXTRA_SHARED_LIBS += \
$(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)plc4.lib \
$(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)plds4.lib \
$(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)nspr4.lib \
$(NULL)
endif # NS_USE_GCC
else
# $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS)
# $(EXTRA_SHARED_LIBS) come before $(OS_LIBS), except on AIX.
EXTRA_SHARED_LIBS += \
-L$(NSPR_LIB_DIR) \
-lplc4 \
-lplds4 \
-lnspr4 \
$(NULL)
endif
ifeq ($(OS_TARGET),SunOS)
# The -R '$ORIGIN' linker option instructs this library to search for its
# dependencies in the same directory where it resides.
MKSHLIB += -R '$$ORIGIN'
OS_LIBS += -lbsm
endif
ifeq ($(OS_TARGET),WINCE)
DEFINES += -DDBM_USING_NSPR
endif
# indicates dependency on freebl static lib
$(SHARED_LIBRARY): $(CRYPTOLIB)

View File

@@ -0,0 +1,647 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/*
* Berkeley DB 1.85 Shim code to handle blobs.
*
* $Id: dbmshim.c,v 1.1.2.1 2007-04-03 22:50:02 rrelyea%redhat.com Exp $
*/
#include "mcom_db.h"
#include "secitem.h"
#include "nssb64.h"
#include "blapi.h"
#include "secerr.h"
#include "lgdb.h"
/*
* Blob block:
* Byte 0 CERTDB Version -+ -+
* Byte 1 certDBEntryTypeBlob | BLOB_HEAD_LEN |
* Byte 2 flags (always '0'); | |
* Byte 3 reserved (always '0'); -+ |
* Byte 4 LSB length | <--BLOB_LENGTH_START | BLOB_BUF_LEN
* Byte 5 . | |
* Byte 6 . | BLOB_LENGTH_LEN |
* Byte 7 MSB length | |
* Byte 8 blob_filename -+ -+ <-- BLOB_NAME_START |
* Byte 9 . | BLOB_NAME_LEN |
* . . | |
* Byte 37 . -+ -+
*/
#define DBS_BLOCK_SIZE (16*1024) /* 16 k */
#define DBS_MAX_ENTRY_SIZE (DBS_BLOCK_SIZE - (2048)) /* 14 k */
#define DBS_CACHE_SIZE DBS_BLOCK_SIZE*8
#define ROUNDDIV(x,y) (x+(y-1))/y
#define BLOB_HEAD_LEN 4
#define BLOB_LENGTH_START BLOB_HEAD_LEN
#define BLOB_LENGTH_LEN 4
#define BLOB_NAME_START BLOB_LENGTH_START+BLOB_LENGTH_LEN
#define BLOB_NAME_LEN 1+ROUNDDIV(SHA1_LENGTH,3)*4+1
#define BLOB_BUF_LEN BLOB_HEAD_LEN+BLOB_LENGTH_LEN+BLOB_NAME_LEN
/* a Shim data structure. This data structure has a db built into it. */
typedef struct DBSStr DBS;
struct DBSStr {
DB db;
char *blobdir;
int mode;
PRBool readOnly;
PRFileMap *dbs_mapfile;
unsigned char *dbs_addr;
PRUint32 dbs_len;
char staticBlobArea[BLOB_BUF_LEN];
};
/*
* return true if the Datablock contains a blobtype
*/
static PRBool
dbs_IsBlob(DBT *blobData)
{
unsigned char *addr = (unsigned char *)blobData->data;
if (blobData->size < BLOB_BUF_LEN) {
return PR_FALSE;
}
return addr && ((certDBEntryType) addr[1] == certDBEntryTypeBlob);
}
/*
* extract the filename in the blob of the real data set.
* This value is not malloced (does not need to be freed by the caller.
*/
static const char *
dbs_getBlobFileName(DBT *blobData)
{
char *addr = (char *)blobData->data;
return &addr[BLOB_NAME_START];
}
/*
* extract the size of the actual blob from the blob record
*/
static PRUint32
dbs_getBlobSize(DBT *blobData)
{
unsigned char *addr = (unsigned char *)blobData->data;
return (PRUint32)(addr[BLOB_LENGTH_START+3] << 24) |
(addr[BLOB_LENGTH_START+2] << 16) |
(addr[BLOB_LENGTH_START+1] << 8) |
addr[BLOB_LENGTH_START];
}
/* We are using base64 data for the filename, but base64 data can include a
* '/' which is interpreted as a path separator on many platforms. Replace it
* with an inocuous '-'. We don't need to convert back because we never actual
* decode the filename.
*/
static void
dbs_replaceSlash(char *cp, int len)
{
while (len--) {
if (*cp == '/') *cp = '-';
cp++;
}
}
/*
* create a blob record from a key, data and return it in blobData.
* NOTE: The data element is static data (keeping with the dbm model).
*/
static void
dbs_mkBlob(DBS *dbsp,const DBT *key, const DBT *data, DBT *blobData)
{
unsigned char sha1_data[SHA1_LENGTH];
char *b = dbsp->staticBlobArea;
PRUint32 length = data->size;
SECItem sha1Item;
b[0] = CERT_DB_FILE_VERSION; /* certdb version number */
b[1] = (char) certDBEntryTypeBlob; /* type */
b[2] = 0; /* flags */
b[3] = 0; /* reserved */
b[BLOB_LENGTH_START] = length & 0xff;
b[BLOB_LENGTH_START+1] = (length >> 8) & 0xff;
b[BLOB_LENGTH_START+2] = (length >> 16) & 0xff;
b[BLOB_LENGTH_START+3] = (length >> 24) & 0xff;
sha1Item.data = sha1_data;
sha1Item.len = SHA1_LENGTH;
SHA1_HashBuf(sha1_data,key->data,key->size);
b[BLOB_NAME_START]='b'; /* Make sure we start with a alpha */
NSSBase64_EncodeItem(NULL,&b[BLOB_NAME_START+1],BLOB_NAME_LEN-1,&sha1Item);
b[BLOB_BUF_LEN-1] = 0;
dbs_replaceSlash(&b[BLOB_NAME_START+1],BLOB_NAME_LEN-1);
blobData->data = b;
blobData->size = BLOB_BUF_LEN;
return;
}
/*
* construct a path to the actual blob. The string returned must be
* freed by the caller with PR_smprintf_free.
*
* Note: this file does lots of consistancy checks on the DBT. The
* routines that call this depend on these checks, so they don't worry
* about them (success of this routine implies a good blobdata record).
*/
static char *
dbs_getBlobFilePath(char *blobdir,DBT *blobData)
{
const char *name;
if (blobdir == NULL) {
PR_SetError(SEC_ERROR_BAD_DATABASE,0);
return NULL;
}
if (!dbs_IsBlob(blobData)) {
PR_SetError(SEC_ERROR_BAD_DATABASE,0);
return NULL;
}
name = dbs_getBlobFileName(blobData);
if (!name || *name == 0) {
PR_SetError(SEC_ERROR_BAD_DATABASE,0);
return NULL;
}
return PR_smprintf("%s" PATH_SEPARATOR "%s", blobdir, name);
}
/*
* Delete a blob file pointed to by the blob record.
*/
static void
dbs_removeBlob(DBS *dbsp, DBT *blobData)
{
char *file;
file = dbs_getBlobFilePath(dbsp->blobdir, blobData);
if (!file) {
return;
}
PR_Delete(file);
PR_smprintf_free(file);
}
/*
* Directory modes are slightly different, the 'x' bit needs to be on to
* access them. Copy all the read bits to 'x' bits
*/
static int
dbs_DirMode(int mode)
{
int x_bits = (mode >> 2) & 0111;
return mode | x_bits;
}
/*
* write a data blob to it's file. blobdData is the blob record that will be
* stored in the database. data is the actual data to go out on disk.
*/
static int
dbs_writeBlob(DBS *dbsp, int mode, DBT *blobData, const DBT *data)
{
char *file = NULL;
PRFileDesc *filed;
PRStatus status;
int len;
int error = 0;
file = dbs_getBlobFilePath(dbsp->blobdir, blobData);
if (!file) {
goto loser;
}
if (PR_Access(dbsp->blobdir, PR_ACCESS_EXISTS) != PR_SUCCESS) {
status = PR_MkDir(dbsp->blobdir,dbs_DirMode(mode));
if (status != PR_SUCCESS) {
goto loser;
}
}
filed = PR_OpenFile(file,PR_CREATE_FILE|PR_TRUNCATE|PR_WRONLY, mode);
if (filed == NULL) {
error = PR_GetError();
goto loser;
}
len = PR_Write(filed,data->data,data->size);
error = PR_GetError();
PR_Close(filed);
if (len < (int)data->size) {
goto loser;
}
PR_smprintf_free(file);
return 0;
loser:
if (file) {
PR_Delete(file);
PR_smprintf_free(file);
}
/* don't let close or delete reset the error */
PR_SetError(error,0);
return -1;
}
/*
* we need to keep a address map in memory between calls to DBM.
* remember what we have mapped can close it when we get another dbm
* call.
*
* NOTE: Not all platforms support mapped files. This code is designed to
* detect this at runtime. If map files aren't supported the OS will indicate
* this by failing the PR_Memmap call. In this case we emulate mapped files
* by just reading in the file into regular memory. We signal this state by
* making dbs_mapfile NULL and dbs_addr non-NULL.
*/
static void
dbs_freemap(DBS *dbsp)
{
if (dbsp->dbs_mapfile) {
PR_MemUnmap(dbsp->dbs_addr,dbsp->dbs_len);
PR_CloseFileMap(dbsp->dbs_mapfile);
dbsp->dbs_mapfile = NULL;
dbsp->dbs_addr = NULL;
dbsp->dbs_len = 0;
} else if (dbsp->dbs_addr) {
PORT_Free(dbsp->dbs_addr);
dbsp->dbs_addr = NULL;
dbsp->dbs_len = 0;
}
return;
}
static void
dbs_setmap(DBS *dbsp, PRFileMap *mapfile, unsigned char *addr, PRUint32 len)
{
dbsp->dbs_mapfile = mapfile;
dbsp->dbs_addr = addr;
dbsp->dbs_len = len;
}
/*
* platforms that cannot map the file need to read it into a temp buffer.
*/
static unsigned char *
dbs_EmulateMap(PRFileDesc *filed, int len)
{
unsigned char *addr;
PRInt32 dataRead;
addr = PORT_Alloc(len);
if (addr == NULL) {
return NULL;
}
dataRead = PR_Read(filed,addr,len);
if (dataRead != len) {
PORT_Free(addr);
if (dataRead > 0) {
/* PR_Read didn't set an error, we need to */
PR_SetError(SEC_ERROR_BAD_DATABASE,0);
}
return NULL;
}
return addr;
}
/*
* pull a database record off the disk
* data points to the blob record on input and the real record (if we could
* read it) on output. if there is an error data is not modified.
*/
static int
dbs_readBlob(DBS *dbsp, DBT *data)
{
char *file = NULL;
PRFileDesc *filed = NULL;
PRFileMap *mapfile = NULL;
unsigned char *addr = NULL;
int error;
int len = -1;
file = dbs_getBlobFilePath(dbsp->blobdir, data);
if (!file) {
goto loser;
}
filed = PR_OpenFile(file,PR_RDONLY,0);
PR_smprintf_free(file); file = NULL;
if (filed == NULL) {
goto loser;
}
len = dbs_getBlobSize(data);
mapfile = PR_CreateFileMap(filed, len, PR_PROT_READONLY);
if (mapfile == NULL) {
/* USE PR_GetError instead of PORT_GetError here
* because we are getting the error from PR_xxx
* function */
if (PR_GetError() != PR_NOT_IMPLEMENTED_ERROR) {
goto loser;
}
addr = dbs_EmulateMap(filed, len);
} else {
addr = PR_MemMap(mapfile, 0, len);
}
if (addr == NULL) {
goto loser;
}
PR_Close(filed);
dbs_setmap(dbsp,mapfile,addr,len);
data->data = addr;
data->size = len;
return 0;
loser:
/* preserve the error code */
error = PR_GetError();
if (mapfile) {
PR_CloseFileMap(mapfile);
}
if (filed) {
PR_Close(filed);
}
PR_SetError(error,0);
return -1;
}
/*
* actual DBM shims
*/
static int
dbs_get(const DB *dbs, const DBT *key, DBT *data, unsigned int flags)
{
int ret;
DBS *dbsp = (DBS *)dbs;
DB *db = (DB *)dbs->internal;
dbs_freemap(dbsp);
ret = (* db->get)(db, key, data, flags);
if ((ret == 0) && dbs_IsBlob(data)) {
ret = dbs_readBlob(dbsp,data);
}
return(ret);
}
static int
dbs_put(const DB *dbs, DBT *key, const DBT *data, unsigned int flags)
{
DBT blob;
int ret = 0;
DBS *dbsp = (DBS *)dbs;
DB *db = (DB *)dbs->internal;
dbs_freemap(dbsp);
/* If the db is readonly, just pass the data down to rdb and let it fail */
if (!dbsp->readOnly) {
DBT oldData;
int ret1;
/* make sure the current record is deleted if it's a blob */
ret1 = (*db->get)(db,key,&oldData,0);
if ((ret1 == 0) && flags == R_NOOVERWRITE) {
/* let DBM return the error to maintain consistancy */
return (* db->put)(db, key, data, flags);
}
if ((ret1 == 0) && dbs_IsBlob(&oldData)) {
dbs_removeBlob(dbsp, &oldData);
}
if (data->size > DBS_MAX_ENTRY_SIZE) {
dbs_mkBlob(dbsp,key,data,&blob);
ret = dbs_writeBlob(dbsp, dbsp->mode, &blob, data);
data = &blob;
}
}
if (ret == 0) {
ret = (* db->put)(db, key, data, flags);
}
return(ret);
}
static int
dbs_sync(const DB *dbs, unsigned int flags)
{
DB *db = (DB *)dbs->internal;
DBS *dbsp = (DBS *)dbs;
dbs_freemap(dbsp);
return (* db->sync)(db, flags);
}
static int
dbs_del(const DB *dbs, const DBT *key, unsigned int flags)
{
int ret;
DBS *dbsp = (DBS *)dbs;
DB *db = (DB *)dbs->internal;
dbs_freemap(dbsp);
if (!dbsp->readOnly) {
DBT oldData;
ret = (*db->get)(db,key,&oldData,0);
if ((ret == 0) && dbs_IsBlob(&oldData)) {
dbs_removeBlob(dbsp,&oldData);
}
}
return (* db->del)(db, key, flags);
}
static int
dbs_seq(const DB *dbs, DBT *key, DBT *data, unsigned int flags)
{
int ret;
DBS *dbsp = (DBS *)dbs;
DB *db = (DB *)dbs->internal;
dbs_freemap(dbsp);
ret = (* db->seq)(db, key, data, flags);
if ((ret == 0) && dbs_IsBlob(data)) {
/* don't return a blob read as an error so traversals keep going */
(void) dbs_readBlob(dbsp,data);
}
return(ret);
}
static int
dbs_close(DB *dbs)
{
DBS *dbsp = (DBS *)dbs;
DB *db = (DB *)dbs->internal;
int ret;
dbs_freemap(dbsp);
ret = (* db->close)(db);
PORT_Free(dbsp->blobdir);
PORT_Free(dbsp);
return ret;
}
static int
dbs_fd(const DB *dbs)
{
DB *db = (DB *)dbs->internal;
return (* db->fd)(db);
}
/*
* the naming convention we use is
* change the .xxx into .dir. (for nss it's always .db);
* if no .extension exists or is equal to .dir, add a .dir
* the returned data must be freed.
*/
#define DIRSUFFIX ".dir"
static char *
dbs_mkBlobDirName(const char *dbname)
{
int dbname_len = PORT_Strlen(dbname);
int dbname_end = dbname_len;
const char *cp;
char *blobDir = NULL;
/* scan back from the end looking for either a directory separator, a '.',
* or the end of the string. NOTE: Windows should check for both separators
* here. For now this is safe because we know NSS always uses a '.'
*/
for (cp = &dbname[dbname_len];
(cp > dbname) && (*cp != '.') && (*cp != *PATH_SEPARATOR) ;
cp--)
/* Empty */ ;
if (*cp == '.') {
dbname_end = cp - dbname;
if (PORT_Strcmp(cp,DIRSUFFIX) == 0) {
dbname_end = dbname_len;
}
}
blobDir = PORT_ZAlloc(dbname_end+sizeof(DIRSUFFIX));
if (blobDir == NULL) {
return NULL;
}
PORT_Memcpy(blobDir,dbname,dbname_end);
PORT_Memcpy(&blobDir[dbname_end],DIRSUFFIX,sizeof(DIRSUFFIX));
return blobDir;
}
#define DBM_DEFAULT 0
static const HASHINFO dbs_hashInfo = {
DBS_BLOCK_SIZE, /* bucket size, must be greater than = to
* or maximum entry size (+ header)
* we allow before blobing */
DBM_DEFAULT, /* Fill Factor */
DBM_DEFAULT, /* number of elements */
DBS_CACHE_SIZE, /* cache size */
DBM_DEFAULT, /* hash function */
DBM_DEFAULT, /* byte order */
};
/*
* the open function. NOTE: this is the only exposed function in this file.
* everything else is called through the function table pointer.
*/
DB *
dbsopen(const char *dbname, int flags, int mode, DBTYPE type,
const void *userData)
{
DB *db = NULL,*dbs = NULL;
DBS *dbsp = NULL;
/* NOTE: we are overriding userData with dbs_hashInfo. since all known
* callers pass 0, this is ok, otherwise we should merge the two */
dbsp = (DBS *)PORT_ZAlloc(sizeof(DBS));
if (!dbsp) {
return NULL;
}
dbs = &dbsp->db;
dbsp->blobdir=dbs_mkBlobDirName(dbname);
if (dbsp->blobdir == NULL) {
goto loser;
}
dbsp->mode = mode;
dbsp->readOnly = (PRBool)(flags == NO_RDONLY);
dbsp->dbs_mapfile = NULL;
dbsp->dbs_addr = NULL;
dbsp->dbs_len = 0;
/* the real dbm call */
db = dbopen(dbname, flags, mode, type, &dbs_hashInfo);
if (db == NULL) {
goto loser;
}
dbs->internal = (void *) db;
dbs->type = type;
dbs->close = dbs_close;
dbs->get = dbs_get;
dbs->del = dbs_del;
dbs->put = dbs_put;
dbs->seq = dbs_seq;
dbs->sync = dbs_sync;
dbs->fd = dbs_fd;
return dbs;
loser:
if (db) {
(*db->close)(db);
}
if (dbsp) {
if (dbsp->blobdir) {
PORT_Free(dbsp->blobdir);
}
PORT_Free(dbsp);
}
return NULL;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,86 @@
/*
* private.h - Private data structures for the software token library
*
* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/* $Id: keydbi.h,v 1.1.2.1 2007-04-03 22:50:02 rrelyea%redhat.com Exp $ */
#ifndef _KEYDBI_H_
#define _KEYDBI_H_
#include "nspr.h"
#include "seccomon.h"
#include "mcom_db.h"
/*
* Handle structure for open key databases
*/
struct NSSLOWKEYDBHandleStr {
DB *db;
DB *updatedb; /* used when updating an old version */
SECItem *global_salt; /* password hashing salt for this db */
int version; /* version of the database */
char *appname; /* multiaccess app name */
char *dbname; /* name of the openned DB */
PRBool readOnly; /* is the DB read only */
PRLock *lock;
PRInt32 ref; /* reference count */
};
/*
** Typedef for callback for traversing key database.
** "key" is the key used to index the data in the database (nickname)
** "data" is the key data
** "pdata" is the user's data
*/
typedef SECStatus (* NSSLOWKEYTraverseKeysFunc)(DBT *key, DBT *data, void *pdata);
SEC_BEGIN_PROTOS
/*
** Traverse the entire key database, and pass the nicknames and keys to a
** user supplied function.
** "f" is the user function to call for each key
** "udata" is the user's data, which is passed through to "f"
*/
extern SECStatus nsslowkey_TraverseKeys(NSSLOWKEYDBHandle *handle,
NSSLOWKEYTraverseKeysFunc f,
void *udata);
SEC_END_PROTOS
#endif /* _KEYDBI_H_ */

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,955 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Dr Vipul Gupta <vipul.gupta@sun.com>, Sun Microsystems Laboratories
*
* 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 "secitem.h"
#include "pkcs11.h"
#include "lgdb.h"
#include "pcert.h"
#include "lowkeyi.h"
#include "blapi.h"
#include "secder.h"
#include "keydbi.h"
/*
* ******************** Object Creation Utilities ***************************
*/
/*
* check the consistancy and initialize a Certificate Object
*/
static CK_RV
lg_createCertObject(SDB *sdb, CK_OBJECT_HANDLE *handle,
const CK_ATTRIBUTE *templ, CK_ULONG count)
{
SECItem derCert;
NSSLOWCERTCertificate *cert;
NSSLOWCERTCertTrust *trust = NULL;
NSSLOWCERTCertTrust userTrust =
{ CERTDB_USER, CERTDB_USER, CERTDB_USER };
NSSLOWCERTCertTrust defTrust =
{ CERTDB_TRUSTED_UNKNOWN,
CERTDB_TRUSTED_UNKNOWN, CERTDB_TRUSTED_UNKNOWN };
char *label = NULL;
char *email = NULL;
SECStatus rv;
PRBool inDB = PR_TRUE;
NSSLOWCERTCertDBHandle *certHandle = lg_getCertDB(sdb);
NSSLOWKEYDBHandle *keyHandle = NULL;
CK_CERTIFICATE_TYPE type;
const CK_ATTRIBUTE *attribute;
/* we can't store any certs private */
if (lg_isTrue(CKA_PRIVATE, templ, count)) {
return CKR_ATTRIBUTE_VALUE_INVALID;
}
/* We only support X.509 Certs for now */
attribute = lg_FindAttribute(CKA_CERTIFICATE_TYPE, templ, count);
if (attribute == NULL) return CKR_TEMPLATE_INCOMPLETE;
type = *(CK_CERTIFICATE_TYPE *)attribute->pValue;
if (type != CKC_X_509) {
return CKR_ATTRIBUTE_VALUE_INVALID;
}
/* X.509 Certificate */
if (certHandle == NULL) {
return CKR_TOKEN_WRITE_PROTECTED;
}
/* get the der cert */
attribute = lg_FindAttribute(CKA_VALUE, templ, count);
if (!attribute) {
return CKR_ATTRIBUTE_VALUE_INVALID;
}
derCert.type = 0;
derCert.data = (unsigned char *)attribute->pValue;
derCert.len = attribute->ulValueLen ;
label = lg_getString(CKA_LABEL, templ, count);
cert = nsslowcert_FindCertByDERCert(certHandle, &derCert);
if (cert == NULL) {
cert = nsslowcert_DecodeDERCertificate(&derCert, label);
inDB = PR_FALSE;
}
if (cert == NULL) {
if (label) PORT_Free(label);
return CKR_ATTRIBUTE_VALUE_INVALID;
}
keyHandle = lg_getKeyDB(sdb);
if (keyHandle) {
if (nsslowkey_KeyForCertExists(keyHandle,cert)) {
trust = &userTrust;
}
}
if (!inDB) {
if (!trust) trust = &defTrust;
rv = nsslowcert_AddPermCert(certHandle, cert, label, trust);
} else {
rv = trust ? nsslowcert_ChangeCertTrust(certHandle,cert,trust) :
SECSuccess;
}
if (label) PORT_Free(label);
if (rv != SECSuccess) {
nsslowcert_DestroyCertificate(cert);
return CKR_DEVICE_ERROR;
}
/*
* Add a NULL S/MIME profile if necessary.
*/
email = lg_getString(CKA_NETSCAPE_EMAIL, templ, count);
if (email) {
certDBEntrySMime *entry;
entry = nsslowcert_ReadDBSMimeEntry(certHandle,email);
if (!entry) {
nsslowcert_SaveSMimeProfile(certHandle, email,
&cert->derSubject, NULL, NULL);
} else {
nsslowcert_DestroyDBEntry((certDBEntry *)entry);
}
PORT_Free(email);
}
*handle=lg_mkHandle(sdb,&cert->certKey,LG_TOKEN_TYPE_CERT);
nsslowcert_DestroyCertificate(cert);
return CKR_OK;
}
unsigned int
lg_MapTrust(CK_TRUST trust, PRBool clientAuth)
{
unsigned int trustCA = clientAuth ? CERTDB_TRUSTED_CLIENT_CA :
CERTDB_TRUSTED_CA;
switch (trust) {
case CKT_NETSCAPE_TRUSTED:
return CERTDB_VALID_PEER|CERTDB_TRUSTED;
case CKT_NETSCAPE_TRUSTED_DELEGATOR:
return CERTDB_VALID_CA|trustCA;
case CKT_NETSCAPE_UNTRUSTED:
return CERTDB_NOT_TRUSTED;
case CKT_NETSCAPE_MUST_VERIFY:
return 0;
case CKT_NETSCAPE_VALID: /* implies must verify */
return CERTDB_VALID_PEER;
case CKT_NETSCAPE_VALID_DELEGATOR: /* implies must verify */
return CERTDB_VALID_CA;
default:
break;
}
return CERTDB_TRUSTED_UNKNOWN;
}
/*
* check the consistancy and initialize a Trust Object
*/
static CK_RV
lg_createTrustObject(SDB *sdb, CK_OBJECT_HANDLE *handle,
const CK_ATTRIBUTE *templ, CK_ULONG count)
{
const CK_ATTRIBUTE *issuer = NULL;
const CK_ATTRIBUTE *serial = NULL;
NSSLOWCERTCertificate *cert = NULL;
const CK_ATTRIBUTE *trust;
CK_TRUST sslTrust = CKT_NETSCAPE_TRUST_UNKNOWN;
CK_TRUST clientTrust = CKT_NETSCAPE_TRUST_UNKNOWN;
CK_TRUST emailTrust = CKT_NETSCAPE_TRUST_UNKNOWN;
CK_TRUST signTrust = CKT_NETSCAPE_TRUST_UNKNOWN;
CK_BBOOL stepUp;
NSSLOWCERTCertTrust dbTrust = { 0 };
SECStatus rv;
NSSLOWCERTCertDBHandle *certHandle = lg_getCertDB(sdb);
NSSLOWCERTIssuerAndSN issuerSN;
/* we can't store any certs private */
if (lg_isTrue(CKA_PRIVATE, templ, count)) {
return CKR_ATTRIBUTE_VALUE_INVALID;
}
if (certHandle == NULL) {
return CKR_TOKEN_WRITE_PROTECTED;
}
issuer = lg_FindAttribute(CKA_ISSUER, templ, count);
serial = lg_FindAttribute(CKA_SERIAL_NUMBER, templ, count);
if (issuer && serial) {
issuerSN.derIssuer.data = (unsigned char *)issuer->pValue;
issuerSN.derIssuer.len = issuer->ulValueLen ;
issuerSN.serialNumber.data = (unsigned char *)serial->pValue;
issuerSN.serialNumber.len = serial->ulValueLen ;
cert = nsslowcert_FindCertByIssuerAndSN(certHandle,&issuerSN);
}
if (cert == NULL) {
return CKR_ATTRIBUTE_VALUE_INVALID;
}
lg_GetULongAttribute(CKA_TRUST_SERVER_AUTH, templ, count, &sslTrust);
lg_GetULongAttribute(CKA_TRUST_CLIENT_AUTH, templ, count, &clientTrust);
lg_GetULongAttribute(CKA_TRUST_EMAIL_PROTECTION, templ, count, &emailTrust);
lg_GetULongAttribute(CKA_TRUST_CODE_SIGNING, templ, count, &signTrust);
stepUp = CK_FALSE;
trust = lg_FindAttribute(CKA_TRUST_STEP_UP_APPROVED, templ, count);
if (trust) {
if (trust->ulValueLen == sizeof(CK_BBOOL)) {
stepUp = *(CK_BBOOL*)trust->pValue;
}
}
/* preserve certain old fields */
if (cert->trust) {
dbTrust.sslFlags = cert->trust->sslFlags & CERTDB_PRESERVE_TRUST_BITS;
dbTrust.emailFlags=
cert->trust->emailFlags & CERTDB_PRESERVE_TRUST_BITS;
dbTrust.objectSigningFlags =
cert->trust->objectSigningFlags & CERTDB_PRESERVE_TRUST_BITS;
}
dbTrust.sslFlags |= lg_MapTrust(sslTrust,PR_FALSE);
dbTrust.sslFlags |= lg_MapTrust(clientTrust,PR_TRUE);
dbTrust.emailFlags |= lg_MapTrust(emailTrust,PR_FALSE);
dbTrust.objectSigningFlags |= lg_MapTrust(signTrust,PR_FALSE);
if (stepUp) {
dbTrust.sslFlags |= CERTDB_GOVT_APPROVED_CA;
}
rv = nsslowcert_ChangeCertTrust(certHandle,cert,&dbTrust);
*handle=lg_mkHandle(sdb,&cert->certKey,LG_TOKEN_TYPE_TRUST);
nsslowcert_DestroyCertificate(cert);
if (rv != SECSuccess) {
return CKR_DEVICE_ERROR;
}
return CKR_OK;
}
/*
* check the consistancy and initialize a Trust Object
*/
static CK_RV
lg_createSMimeObject(SDB *sdb, CK_OBJECT_HANDLE *handle,
const CK_ATTRIBUTE *templ, CK_ULONG count)
{
SECItem derSubj,rawProfile,rawTime,emailKey;
SECItem *pRawProfile = NULL;
SECItem *pRawTime = NULL;
char *email = NULL;
const CK_ATTRIBUTE *subject = NULL,
*profile = NULL,
*time = NULL;
SECStatus rv;
NSSLOWCERTCertDBHandle *certHandle;
CK_RV ck_rv = CKR_OK;
/* we can't store any certs private */
if (lg_isTrue(CKA_PRIVATE,templ,count)) {
return CKR_ATTRIBUTE_VALUE_INVALID;
}
certHandle = lg_getCertDB(sdb);
if (certHandle == NULL) {
return CKR_TOKEN_WRITE_PROTECTED;
}
/* lookup SUBJECT */
subject = lg_FindAttribute(CKA_SUBJECT,templ,count);
PORT_Assert(subject);
if (!subject) {
ck_rv = CKR_ATTRIBUTE_VALUE_INVALID;
goto loser;
}
derSubj.data = (unsigned char *)subject->pValue;
derSubj.len = subject->ulValueLen ;
derSubj.type = 0;
/* lookup VALUE */
profile = lg_FindAttribute(CKA_VALUE,templ,count);
if (profile) {
rawProfile.data = (unsigned char *)profile->pValue;
rawProfile.len = profile->ulValueLen ;
rawProfile.type = siBuffer;
pRawProfile = &rawProfile;
}
/* lookup Time */
time = lg_FindAttribute(CKA_NETSCAPE_SMIME_TIMESTAMP,templ,count);
if (time) {
rawTime.data = (unsigned char *)time->pValue;
rawTime.len = time->ulValueLen ;
rawTime.type = siBuffer;
pRawTime = &rawTime;
}
email = lg_getString(CKA_NETSCAPE_EMAIL,templ,count);
if (!email) {
ck_rv = CKR_ATTRIBUTE_VALUE_INVALID;
goto loser;
}
/* Store S/MIME Profile by SUBJECT */
rv = nsslowcert_SaveSMimeProfile(certHandle, email, &derSubj,
pRawProfile,pRawTime);
if (rv != SECSuccess) {
ck_rv = CKR_DEVICE_ERROR;
goto loser;
}
emailKey.data = (unsigned char *)email;
emailKey.len = PORT_Strlen(email)+1;
*handle = lg_mkHandle(sdb, &emailKey, LG_TOKEN_TYPE_SMIME);
loser:
if (email) PORT_Free(email);
return ck_rv;
}
/*
* check the consistancy and initialize a Trust Object
*/
static CK_RV
lg_createCrlObject(SDB *sdb, CK_OBJECT_HANDLE *handle,
const CK_ATTRIBUTE *templ, CK_ULONG count)
{
PRBool isKRL = PR_FALSE;
SECItem derSubj,derCrl;
char *url = NULL;
const CK_ATTRIBUTE *subject,*crl;
SECStatus rv;
NSSLOWCERTCertDBHandle *certHandle;
certHandle = lg_getCertDB(sdb);
/* we can't store any private crls */
if (lg_isTrue(CKA_PRIVATE,templ,count)) {
return CKR_ATTRIBUTE_VALUE_INVALID;
}
if (certHandle == NULL) {
return CKR_TOKEN_WRITE_PROTECTED;
}
/* lookup SUBJECT */
subject = lg_FindAttribute(CKA_SUBJECT,templ,count);
if (!subject) {
return CKR_ATTRIBUTE_VALUE_INVALID;
}
derSubj.data = (unsigned char *)subject->pValue;
derSubj.len = subject->ulValueLen ;
/* lookup VALUE */
crl = lg_FindAttribute(CKA_VALUE,templ,count);
PORT_Assert(crl);
if (!crl) {
return CKR_ATTRIBUTE_VALUE_INVALID;
}
derCrl.data = (unsigned char *)crl->pValue;
derCrl.len = crl->ulValueLen ;
url = lg_getString(CKA_NETSCAPE_URL,templ,count);
isKRL = lg_isTrue(CKA_NETSCAPE_KRL,templ,count);
/* Store CRL by SUBJECT */
rv = nsslowcert_AddCrl(certHandle, &derCrl, &derSubj, url, isKRL);
if (url) {
PORT_Free(url);
}
if (rv != SECSuccess) {
return CKR_DEVICE_ERROR;
}
/* if we overwrote the existing CRL, poison the handle entry so we get
* a new object handle */
(void) lg_poisonHandle(sdb, &derSubj,
isKRL ? LG_TOKEN_KRL_HANDLE : LG_TOKEN_TYPE_CRL);
*handle = lg_mkHandle(sdb, &derSubj,
isKRL ? LG_TOKEN_KRL_HANDLE : LG_TOKEN_TYPE_CRL);
return CKR_OK;
}
/*
* check the consistancy and initialize a Public Key Object
*/
static CK_RV
lg_createPublicKeyObject(SDB *sdb, CK_KEY_TYPE key_type,
CK_OBJECT_HANDLE *handle, const CK_ATTRIBUTE *templ, CK_ULONG count)
{
CK_ATTRIBUTE_TYPE pubKeyAttr = CKA_VALUE;
CK_RV crv;
NSSLOWKEYPrivateKey *priv;
SECItem pubKey;
NSSLOWKEYDBHandle *keyHandle = NULL;
switch (key_type) {
case CKK_RSA:
pubKeyAttr = CKA_MODULUS;
break;
#ifdef NSS_ENABLE_ECC
case CKK_EC:
pubKeyAttr = CKA_EC_POINT;
break;
#endif /* NSS_ENABLE_ECC */
case CKK_DSA:
case CKK_DH:
break;
default:
return CKR_ATTRIBUTE_VALUE_INVALID;
}
crv = lg_Attribute2SSecItem(NULL,pubKeyAttr,templ,count,&pubKey);
if (crv != CKR_OK) return crv;
PORT_Assert(pubKey.data);
keyHandle = lg_getKeyDB(sdb);
if (keyHandle == NULL) {
PORT_Free(pubKey.data);
return CKR_TOKEN_WRITE_PROTECTED;
}
if (keyHandle->version != 3) {
unsigned char buf[SHA1_LENGTH];
SHA1_HashBuf(buf,pubKey.data,pubKey.len);
PORT_Memcpy(pubKey.data,buf,sizeof(buf));
pubKey.len = sizeof(buf);
}
/* make sure the associated private key already exists */
/* only works if we are logged in */
priv = nsslowkey_FindKeyByPublicKey(keyHandle, &pubKey, sdb /*password*/);
if (priv == NULL) {
PORT_Free(pubKey.data);
return crv;
}
nsslowkey_DestroyPrivateKey(priv);
*handle = lg_mkHandle(sdb, &pubKey, LG_TOKEN_TYPE_PUB);
PORT_Free(pubKey.data);
return CKR_OK;
}
/* make a private key from a verified object */
static NSSLOWKEYPrivateKey *
lg_mkPrivKey(SDB *sdb, const CK_ATTRIBUTE *templ, CK_ULONG count,
CK_KEY_TYPE key_type, CK_RV *crvp)
{
NSSLOWKEYPrivateKey *privKey;
PLArenaPool *arena;
CK_RV crv = CKR_OK;
SECStatus rv;
arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);
if (arena == NULL) {
*crvp = CKR_HOST_MEMORY;
return NULL;
}
privKey = (NSSLOWKEYPrivateKey *)
PORT_ArenaZAlloc(arena,sizeof(NSSLOWKEYPrivateKey));
if (privKey == NULL) {
PORT_FreeArena(arena,PR_FALSE);
*crvp = CKR_HOST_MEMORY;
return NULL;
}
/* in future this would be a switch on key_type */
privKey->arena = arena;
switch (key_type) {
case CKK_RSA:
privKey->keyType = NSSLOWKEYRSAKey;
crv=lg_Attribute2SSecItem(arena,CKA_MODULUS,templ,count,
&privKey->u.rsa.modulus);
if (crv != CKR_OK) break;
crv=lg_Attribute2SSecItem(arena,CKA_PUBLIC_EXPONENT,templ,count,
&privKey->u.rsa.publicExponent);
if (crv != CKR_OK) break;
crv=lg_PrivAttr2SSecItem(arena,CKA_PRIVATE_EXPONENT,templ,count,
&privKey->u.rsa.privateExponent, sdb);
if (crv != CKR_OK) break;
crv=lg_PrivAttr2SSecItem(arena,CKA_PRIME_1,templ,count,
&privKey->u.rsa.prime1, sdb);
if (crv != CKR_OK) break;
crv=lg_PrivAttr2SSecItem(arena,CKA_PRIME_2,templ,count,
&privKey->u.rsa.prime2, sdb);
if (crv != CKR_OK) break;
crv=lg_PrivAttr2SSecItem(arena,CKA_EXPONENT_1,templ,count,
&privKey->u.rsa.exponent1, sdb);
if (crv != CKR_OK) break;
crv=lg_PrivAttr2SSecItem(arena,CKA_EXPONENT_2,templ,count,
&privKey->u.rsa.exponent2, sdb);
if (crv != CKR_OK) break;
crv=lg_PrivAttr2SSecItem(arena,CKA_COEFFICIENT,templ,count,
&privKey->u.rsa.coefficient, sdb);
if (crv != CKR_OK) break;
rv = DER_SetUInteger(privKey->arena, &privKey->u.rsa.version,
NSSLOWKEY_VERSION);
if (rv != SECSuccess) crv = CKR_HOST_MEMORY;
break;
case CKK_DSA:
privKey->keyType = NSSLOWKEYDSAKey;
crv = lg_Attribute2SSecItem(arena,CKA_PRIME,templ,count,
&privKey->u.dsa.params.prime);
if (crv != CKR_OK) break;
crv = lg_Attribute2SSecItem(arena,CKA_SUBPRIME,templ,count,
&privKey->u.dsa.params.subPrime);
if (crv != CKR_OK) break;
crv = lg_Attribute2SSecItem(arena,CKA_BASE,templ,count,
&privKey->u.dsa.params.base);
if (crv != CKR_OK) break;
crv = lg_PrivAttr2SSecItem(arena,CKA_VALUE,templ,count,
&privKey->u.dsa.privateValue, sdb);
if (crv != CKR_OK) break;
if (lg_hasAttribute(CKA_NETSCAPE_DB, templ,count)) {
crv = lg_Attribute2SSecItem(arena, CKA_NETSCAPE_DB,templ,count,
&privKey->u.dsa.publicValue);
/* privKey was zero'd so public value is already set to NULL, 0
* if we don't set it explicitly */
}
break;
case CKK_DH:
privKey->keyType = NSSLOWKEYDHKey;
crv = lg_Attribute2SSecItem(arena,CKA_PRIME,templ,count,
&privKey->u.dh.prime);
if (crv != CKR_OK) break;
crv = lg_Attribute2SSecItem(arena,CKA_BASE,templ,count,
&privKey->u.dh.base);
if (crv != CKR_OK) break;
crv = lg_PrivAttr2SSecItem(arena,CKA_VALUE,templ,count,
&privKey->u.dh.privateValue, sdb);
if (crv != CKR_OK) break;
if (lg_hasAttribute(CKA_NETSCAPE_DB, templ, count)) {
crv = lg_Attribute2SSecItem(arena, CKA_NETSCAPE_DB,templ,count,
&privKey->u.dh.publicValue);
/* privKey was zero'd so public value is already set to NULL, 0
* if we don't set it explicitly */
}
break;
#ifdef NSS_ENABLE_ECC
case CKK_EC:
privKey->keyType = NSSLOWKEYECKey;
crv = lg_Attribute2SSecItem(arena, CKA_EC_PARAMS,templ,count,
&privKey->u.ec.ecParams.DEREncoding);
if (crv != CKR_OK) break;
/* Fill out the rest of the ecParams structure
* based on the encoded params
*/
if (LGEC_FillParams(arena, &privKey->u.ec.ecParams.DEREncoding,
&privKey->u.ec.ecParams) != SECSuccess) {
crv = CKR_DOMAIN_PARAMS_INVALID;
break;
}
crv = lg_PrivAttr2SSecItem(arena,CKA_VALUE,templ,count,
&privKey->u.ec.privateValue, sdb);
if (crv != CKR_OK) break;
if (lg_hasAttribute(CKA_NETSCAPE_DB,templ,count)) {
crv = lg_Attribute2SSecItem(arena, CKA_NETSCAPE_DB,templ,count,
&privKey->u.ec.publicValue);
if (crv != CKR_OK) break;
/* privKey was zero'd so public value is already set to NULL, 0
* if we don't set it explicitly */
}
rv = DER_SetUInteger(privKey->arena, &privKey->u.ec.version,
NSSLOWKEY_EC_PRIVATE_KEY_VERSION);
if (rv != SECSuccess) crv = CKR_HOST_MEMORY;
break;
#endif /* NSS_ENABLE_ECC */
default:
crv = CKR_KEY_TYPE_INCONSISTENT;
break;
}
*crvp = crv;
if (crv != CKR_OK) {
PORT_FreeArena(arena,PR_FALSE);
return NULL;
}
return privKey;
}
/*
* check the consistancy and initialize a Private Key Object
*/
static CK_RV
lg_createPrivateKeyObject(SDB *sdb, CK_KEY_TYPE key_type,
CK_OBJECT_HANDLE *handle, const CK_ATTRIBUTE *templ, CK_ULONG count)
{
NSSLOWKEYPrivateKey *privKey;
char *label;
SECStatus rv = SECSuccess;
CK_RV crv = CKR_DEVICE_ERROR;
SECItem pubKey;
NSSLOWKEYDBHandle *keyHandle = lg_getKeyDB(sdb);
if (keyHandle == NULL) {
return CKR_TOKEN_WRITE_PROTECTED;
}
privKey=lg_mkPrivKey(sdb, templ,count,key_type,&crv);
if (privKey == NULL) return crv;
label = lg_getString(CKA_LABEL,templ,count);
crv = lg_Attribute2SSecItem(NULL,CKA_NETSCAPE_DB,templ,count,&pubKey);
if (crv != CKR_OK) {
crv = CKR_TEMPLATE_INCOMPLETE;
rv = SECFailure;
goto fail;
}
#ifdef notdef
if (keyHandle->version != 3) {
unsigned char buf[SHA1_LENGTH];
SHA1_HashBuf(buf,pubKey.data,pubKey.len);
PORT_Memcpy(pubKey.data,buf,sizeof(buf));
pubKey.len = sizeof(buf);
}
#endif
/* get the key type */
if (key_type == CKK_RSA) {
rv = RSA_PrivateKeyCheck(&privKey->u.rsa);
if (rv == SECFailure) {
goto fail;
}
}
rv = nsslowkey_StoreKeyByPublicKey(keyHandle, privKey, &pubKey,
label, sdb /*->password*/);
fail:
if (label) PORT_Free(label);
*handle = lg_mkHandle(sdb,&pubKey,LG_TOKEN_TYPE_PRIV);
if (pubKey.data) PORT_Free(pubKey.data);
nsslowkey_DestroyPrivateKey(privKey);
if (rv != SECSuccess) return crv;
return CKR_OK;
}
#define LG_KEY_MAX_RETRIES 10 /* don't hang if we are having problems with the rng */
#define LG_KEY_ID_SIZE 18 /* don't use either SHA1 or MD5 sizes */
/*
* Secret keys must have a CKA_ID value to be stored in the database. This code
* will generate one if there wasn't one already.
*/
static CK_RV
lg_GenerateSecretCKA_ID(NSSLOWKEYDBHandle *handle, SECItem *id, char *label)
{
unsigned int retries;
SECStatus rv = SECSuccess;
CK_RV crv = CKR_OK;
id->data = NULL;
if (label) {
id->data = (unsigned char *)PORT_Strdup(label);
if (id->data == NULL) {
return CKR_HOST_MEMORY;
}
id->len = PORT_Strlen(label)+1;
if (!nsslowkey_KeyForIDExists(handle,id)) {
return CKR_OK;
}
PORT_Free(id->data);
id->data = NULL;
id->len = 0;
}
id->data = (unsigned char *)PORT_Alloc(LG_KEY_ID_SIZE);
if (id->data == NULL) {
return CKR_HOST_MEMORY;
}
id->len = LG_KEY_ID_SIZE;
retries = 0;
do {
rv = RNG_GenerateGlobalRandomBytes(id->data,id->len);
} while (rv == SECSuccess && nsslowkey_KeyForIDExists(handle,id) &&
(++retries <= LG_KEY_MAX_RETRIES));
if ((rv != SECSuccess) || (retries > LG_KEY_MAX_RETRIES)) {
crv = CKR_DEVICE_ERROR; /* random number generator is bad */
PORT_Free(id->data);
id->data = NULL;
id->len = 0;
}
return crv;
}
static NSSLOWKEYPrivateKey *lg_mkSecretKeyRep(const CK_ATTRIBUTE *templ,
CK_ULONG count, CK_KEY_TYPE key_type,
SECItem *pubkey, SDB *sdbpw)
{
NSSLOWKEYPrivateKey *privKey = 0;
PLArenaPool *arena = 0;
CK_KEY_TYPE keyType;
PRUint32 keyTypeStorage;
SECItem keyTypeItem;
CK_RV crv;
SECStatus rv;
static unsigned char derZero[1] = { 0 };
arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);
if (arena == NULL) { crv = CKR_HOST_MEMORY; goto loser; }
privKey = (NSSLOWKEYPrivateKey *)
PORT_ArenaZAlloc(arena,sizeof(NSSLOWKEYPrivateKey));
if (privKey == NULL) { crv = CKR_HOST_MEMORY; goto loser; }
privKey->arena = arena;
/* Secret keys are represented in the database as "fake" RSA keys.
* The RSA key is marked as a secret key representation by setting the
* public exponent field to 0, which is an invalid RSA exponent.
* The other fields are set as follows:
* modulus - CKA_ID value for the secret key
* private exponent - CKA_VALUE (the key itself)
* coefficient - CKA_KEY_TYPE, which indicates what encryption algorithm
* is used for the key.
* all others - set to integer 0
*/
privKey->keyType = NSSLOWKEYRSAKey;
/* The modulus is set to the key id of the symmetric key */
crv = lg_Attribute2SecItem(arena, CKA_ID, templ, count,
&privKey->u.rsa.modulus);
if (crv != CKR_OK) goto loser;
/* The public exponent is set to 0 length to indicate a special key */
privKey->u.rsa.publicExponent.len = sizeof derZero;
privKey->u.rsa.publicExponent.data = derZero;
/* The private exponent is the actual key value */
crv = lg_PrivAttr2SecItem(arena, CKA_VALUE, templ, count,
&privKey->u.rsa.privateExponent, sdbpw);
if (crv != CKR_OK) goto loser;
/* All other fields empty - needs testing */
privKey->u.rsa.prime1.len = sizeof derZero;
privKey->u.rsa.prime1.data = derZero;
privKey->u.rsa.prime2.len = sizeof derZero;
privKey->u.rsa.prime2.data = derZero;
privKey->u.rsa.exponent1.len = sizeof derZero;
privKey->u.rsa.exponent1.data = derZero;
privKey->u.rsa.exponent2.len = sizeof derZero;
privKey->u.rsa.exponent2.data = derZero;
/* Coeficient set to KEY_TYPE */
crv = lg_GetULongAttribute(CKA_KEY_TYPE, templ, count, &keyType);
if (crv != CKR_OK) goto loser;
/* on 64 bit platforms, we still want to store 32 bits of keyType (This is
* safe since the PKCS #11 defines for all types are 32 bits or less). */
keyTypeStorage = (PRUint32) keyType;
keyTypeStorage = PR_htonl(keyTypeStorage);
keyTypeItem.data = (unsigned char *)&keyTypeStorage;
keyTypeItem.len = sizeof (keyTypeStorage);
rv = SECITEM_CopyItem(arena, &privKey->u.rsa.coefficient, &keyTypeItem);
if (rv != SECSuccess) {
crv = CKR_HOST_MEMORY;
goto loser;
}
/* Private key version field set normally for compatibility */
rv = DER_SetUInteger(privKey->arena,
&privKey->u.rsa.version, NSSLOWKEY_VERSION);
if (rv != SECSuccess) { crv = CKR_HOST_MEMORY; goto loser; }
loser:
if (crv != CKR_OK) {
PORT_FreeArena(arena,PR_FALSE);
privKey = 0;
}
return privKey;
}
/*
* check the consistancy and initialize a Secret Key Object
*/
static CK_RV
lg_createSecretKeyObject(SDB *sdb, CK_KEY_TYPE key_type,
CK_OBJECT_HANDLE *handle, const CK_ATTRIBUTE *templ, CK_ULONG count)
{
CK_RV crv;
NSSLOWKEYPrivateKey *privKey = NULL;
NSSLOWKEYDBHandle *keyHandle = NULL;
SECItem pubKey;
char *label = NULL;
SECStatus rv = SECSuccess;
pubKey.data = 0;
/* If the object is a TOKEN object, store in the database */
keyHandle = lg_getKeyDB(sdb);
if (keyHandle == NULL) {
return CKR_TOKEN_WRITE_PROTECTED;
}
label = lg_getString(CKA_LABEL,templ,count);
crv = lg_Attribute2SecItem(NULL,CKA_ID,templ,count,&pubKey);
/* Should this be ID? */
if (crv != CKR_OK) goto loser;
/* if we don't have an ID, generate one */
if (pubKey.len == 0) {
if (pubKey.data) {
PORT_Free(pubKey.data);
pubKey.data = NULL;
}
crv = lg_GenerateSecretCKA_ID(keyHandle, &pubKey, label);
if (crv != CKR_OK) goto loser;
}
privKey = lg_mkSecretKeyRep(templ, count, key_type, &pubKey, sdb);
if (privKey == NULL) {
crv = CKR_HOST_MEMORY;
goto loser;
}
rv = nsslowkey_StoreKeyByPublicKey(keyHandle,
privKey, &pubKey, label, sdb /*->password*/);
if (rv != SECSuccess) {
crv = CKR_DEVICE_ERROR;
goto loser;
}
*handle = lg_mkHandle(sdb, &pubKey, LG_TOKEN_TYPE_KEY);
loser:
if (label) PORT_Free(label);
if (privKey) nsslowkey_DestroyPrivateKey(privKey);
if (pubKey.data) PORT_Free(pubKey.data);
return crv;
}
/*
* check the consistancy and initialize a Key Object
*/
static CK_RV
lg_createKeyObject(SDB *sdb, CK_OBJECT_CLASS objclass,
CK_OBJECT_HANDLE *handle, const CK_ATTRIBUTE *templ, CK_ULONG count)
{
CK_RV crv;
CK_KEY_TYPE key_type;
/* get the key type */
crv = lg_GetULongAttribute(CKA_KEY_TYPE, templ, count, &key_type);
if (crv != CKR_OK) {
return crv;
}
switch (objclass) {
case CKO_PUBLIC_KEY:
return lg_createPublicKeyObject(sdb,key_type,handle,templ,count);
case CKO_PRIVATE_KEY:
return lg_createPrivateKeyObject(sdb,key_type,handle,templ,count);
case CKO_SECRET_KEY:
return lg_createSecretKeyObject(sdb,key_type,handle,templ,count);
default:
break;
}
return CKR_ATTRIBUTE_VALUE_INVALID;
}
/*
* Parse the template and create an object stored in the DB that reflects.
* the object specified in the database.
*/
CK_RV
lg_CreateObject(SDB *sdb, CK_OBJECT_HANDLE *handle,
const CK_ATTRIBUTE *templ, CK_ULONG count)
{
CK_RV crv;
CK_OBJECT_CLASS objclass;
/* get the object class */
crv = lg_GetULongAttribute(CKA_CLASS, templ, count, &objclass);
if (crv != CKR_OK) {
return crv;
}
/* Now handle the specific object class.
*/
switch (objclass) {
case CKO_CERTIFICATE:
crv = lg_createCertObject(sdb,handle,templ,count);
break;
case CKO_NETSCAPE_TRUST:
crv = lg_createTrustObject(sdb,handle,templ,count);
break;
case CKO_NETSCAPE_CRL:
crv = lg_createCrlObject(sdb,handle,templ,count);
break;
case CKO_NETSCAPE_SMIME:
crv = lg_createSMimeObject(sdb,handle,templ,count);
break;
case CKO_PRIVATE_KEY:
case CKO_PUBLIC_KEY:
case CKO_SECRET_KEY:
crv = lg_createKeyObject(sdb,objclass,handle,templ,count);
break;
default:
crv = CKR_ATTRIBUTE_VALUE_INVALID;
break;
}
return crv;
}

View File

@@ -0,0 +1,197 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/*
* Internal data structures and functions used by pkcs11.c
*/
#ifndef _LGDB_H_
#define _LGDB_H_ 1
#include "nssilock.h"
#include "seccomon.h"
#include "secoidt.h"
#include "lowkeyti.h"
#include "pkcs11t.h"
#include "sdb.h"
#include "cdbhdl.h"
#define MULTIACCESS "multiaccess:"
/* machine dependent path stuff used by dbinit.c and pk11db.c */
#ifdef macintosh
#define PATH_SEPARATOR ":"
#define SECMOD_DB "Security Modules"
#define CERT_DB_FMT "%sCertificates%s"
#define KEY_DB_FMT "%sKey Database%s"
#else
#define PATH_SEPARATOR "/"
#define SECMOD_DB "secmod.db"
#define CERT_DB_FMT "%scert%s.db"
#define KEY_DB_FMT "%skey%s.db"
#endif
SEC_BEGIN_PROTOS
/* internal utility functions used by pkcs11.c */
extern const CK_ATTRIBUTE *lg_FindAttribute(CK_ATTRIBUTE_TYPE type,
const CK_ATTRIBUTE *templ, CK_ULONG count);
extern CK_RV lg_Attribute2SecItem(PLArenaPool *,CK_ATTRIBUTE_TYPE type,
const CK_ATTRIBUTE *templ, CK_ULONG count,
SECItem *item);
extern CK_RV lg_Attribute2SSecItem(PLArenaPool *,CK_ATTRIBUTE_TYPE type,
const CK_ATTRIBUTE *templ, CK_ULONG count,
SECItem *item);
extern CK_RV lg_PrivAttr2SecItem(PLArenaPool *,CK_ATTRIBUTE_TYPE type,
const CK_ATTRIBUTE *templ, CK_ULONG count,
SECItem *item, SDB *sdbpw);
extern CK_RV lg_PrivAttr2SSecItem(PLArenaPool *,CK_ATTRIBUTE_TYPE type,
const CK_ATTRIBUTE *templ, CK_ULONG count,
SECItem *item, SDB *sdbpw);
extern CK_RV lg_GetULongAttribute(CK_ATTRIBUTE_TYPE type,
const CK_ATTRIBUTE *templ, CK_ULONG count,
CK_ULONG *out);
extern PRBool lg_hasAttribute(CK_ATTRIBUTE_TYPE type,
const CK_ATTRIBUTE *templ, CK_ULONG count);
extern PRBool lg_isTrue(CK_ATTRIBUTE_TYPE type,
const CK_ATTRIBUTE *templ, CK_ULONG count);
extern PRBool lg_isSensitive(CK_ATTRIBUTE_TYPE type, CK_OBJECT_CLASS inClass);
extern char *lg_getString(CK_ATTRIBUTE_TYPE type,
const CK_ATTRIBUTE *templ, CK_ULONG count);
extern unsigned int lg_MapTrust(CK_TRUST trust, PRBool clientAuth);
/* clear out all the existing object ID to database key mappings.
* used to reinit a token */
extern CK_RV SFTK_ClearTokenKeyHashTable(SDB *sdb);
extern void lg_FreeSearch(SDBFind *search);
NSSLOWCERTCertDBHandle *lg_getCertDB(SDB *sdb);
NSSLOWKEYDBHandle *lg_getKeyDB(SDB *sdb);
const char *lg_EvaluateConfigDir(const char *configdir, char **domain);
/*
* object handle modifiers
*/
#define LG_TOKEN_MASK 0xc0000000L
#define LG_TOKEN_TYPE_MASK 0x38000000L
#define LG_TOKEN_TYPE_SHIFT 27
/* keydb (high bit == 0) */
#define LG_TOKEN_TYPE_PRIV 0x08000000L
#define LG_TOKEN_TYPE_PUB 0x10000000L
#define LG_TOKEN_TYPE_KEY 0x18000000L
/* certdb (high bit == 1) */
#define LG_TOKEN_TYPE_TRUST 0x20000000L
#define LG_TOKEN_TYPE_CRL 0x28000000L
#define LG_TOKEN_TYPE_SMIME 0x30000000L
#define LG_TOKEN_TYPE_CERT 0x38000000L
#define LG_TOKEN_KRL_HANDLE (LG_TOKEN_TYPE_CRL|1)
#define LG_SEARCH_BLOCK_SIZE 10
#define LG_BUF_SPACE 50
#define LG_STRICT PR_FALSE
/*
* token object utilities
*/
void lg_addHandle(SDBFind *search, CK_OBJECT_HANDLE handle);
PRBool lg_poisonHandle(SDB *sdb, SECItem *dbkey, CK_OBJECT_HANDLE handle);
PRBool lg_tokenMatch(SDB *sdb, const SECItem *dbKey, CK_OBJECT_HANDLE class,
const CK_ATTRIBUTE *templ, CK_ULONG count);
const SECItem *lg_lookupTokenKeyByHandle(SDB *sdb, CK_OBJECT_HANDLE handle);
CK_OBJECT_HANDLE lg_mkHandle(SDB *sdb, SECItem *dbKey, CK_OBJECT_HANDLE class);
SECStatus lg_deleteTokenKeyByHandle(SDB *sdb, CK_OBJECT_HANDLE handle);
SECStatus lg_util_encrypt(PLArenaPool *arena, SDB *sdbpw,
SECItem *plainText, SECItem **cipherText);
SECStatus lg_util_decrypt(SDB *sdbpw,
SECItem *cipherText, SECItem **plainText);
PLHashTable *lg_GetHashTable(SDB *sdb);
void lg_DBLock(SDB *sdb);
void lg_DBUnlock(SDB *sdb);
typedef void (*LGFreeFunc)(void *);
/*
* database functions
*/
/* lg_FindObjectsInit initializes a search for token and session objects
* that match a template. */
CK_RV lg_FindObjectsInit(SDB *sdb, const CK_ATTRIBUTE *pTemplate,
CK_ULONG ulCount, SDBFind **search);
/* lg_FindObjects continues a search for token and session objects
* that match a template, obtaining additional object handles. */
CK_RV lg_FindObjects(SDB *sdb, SDBFind *search,
CK_OBJECT_HANDLE *phObject,CK_ULONG ulMaxObjectCount,
CK_ULONG *pulObjectCount);
/* lg_FindObjectsFinal finishes a search for token and session objects. */
CK_RV lg_FindObjectsFinal(SDB* lgdb, SDBFind *search);
/* lg_CreateObject parses the template and create an object stored in the
* DB that reflects the object specified in the template. */
CK_RV lg_CreateObject(SDB *sdb, CK_OBJECT_HANDLE *handle,
const CK_ATTRIBUTE *templ, CK_ULONG count);
CK_RV lg_GetAttributeValue(SDB *sdb, CK_OBJECT_HANDLE object_id,
CK_ATTRIBUTE *template, CK_ULONG count);
CK_RV lg_SetAttributeValue(SDB *sdb, CK_OBJECT_HANDLE object_id,
const CK_ATTRIBUTE *template, CK_ULONG count);
CK_RV lg_DestroyObject(SDB *sdb, CK_OBJECT_HANDLE object_id);
CK_RV lg_Close(SDB *sdb);
CK_RV lg_Reset(SDB *sdb);
/*
* The old database doesn't share and doesn't support
* transactions.
*/
CK_RV lg_Begin(SDB *sdb);
CK_RV lg_Commit(SDB *sdb);
CK_RV lg_Abort(SDB *sdb);
CK_RV lg_GetPWEntry(SDB *sdb, SDBPasswordEntry *entry);
CK_RV lg_PutPWEntry(SDB *sdb, SDBPasswordEntry *entry);
SEC_END_PROTOS
#endif /* _LGDB_H_ */

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 the Netscape security libraries.
;+#
;+# The Initial Developer of the Original Code is
;+# Netscape Communications Corporation.
;+# Portions created by the Initial Developer are Copyright (C) 2000
;+# the Initial Developer. All Rights Reserved.
;+#
;+# Contributor(s):
;+# Dr Stephen Henson <stephen.henson@gemplus.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 *****
;+#
;+# OK, this file is meant to support SUN, LINUX, AIX and WINDOWS
;+# 1. For all unix platforms, the string ";-" means "remove this line"
;+# 2. For all unix platforms, the string " DATA " will be removed from any
;+# line on which it occurs.
;+# 3. Lines containing ";+" will have ";+" removed on SUN and LINUX.
;+# On AIX, lines containing ";+" will be removed.
;+# 4. For all unix platforms, the string ";;" will thave the ";;" removed.
;+# 5. For all unix platforms, after the above processing has taken place,
;+# all characters after the first ";" on the line will be removed.
;+# And for AIX, the first ";" will also be removed.
;+# This file is passed directly to windows. Since ';' is a comment, all UNIX
;+# directives are hidden behind ";", ";+", and ";-"
;+LGDBM_3.12 { # NSS 3.12 release
;+ global:
LIBRARY lgdbm3 ;-
EXPORTS ;-
legacy_Open;
legacy_Shutdown;
legacy_ReadSecmodDB;
legacy_ReleaseSecmodDBData;
legacy_AddSecmodDB;
legacy_DeleteSecmodDB;
legacy_SetCryptFunctions;
;+ local:
;+ *;
;+};

View File

@@ -0,0 +1,144 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Dr Vipul Gupta <vipul.gupta@sun.com>, Sun Microsystems Laboratories
*
* 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 ***** */
/*
* Internal PKCS #11 functions. Should only be called by pkcs11.c
*/
#include "pkcs11.h"
#include "lgdb.h"
#include "pcert.h"
#include "lowkeyi.h"
/*
* remove an object.
*/
CK_RV
lg_DestroyObject(SDB *sdb, CK_OBJECT_HANDLE object_id)
{
CK_RV crv = CKR_OK;
SECStatus rv;
NSSLOWCERTCertificate *cert;
NSSLOWCERTCertTrust tmptrust;
PRBool isKrl;
NSSLOWKEYDBHandle *keyHandle;
NSSLOWCERTCertDBHandle *certHandle;
const SECItem *dbKey;
object_id &= ~LG_TOKEN_MASK;
dbKey = lg_lookupTokenKeyByHandle(sdb,object_id);
if (dbKey == NULL) {
return CKR_OBJECT_HANDLE_INVALID;
}
/* remove the objects from the real data base */
switch (object_id & LG_TOKEN_TYPE_MASK) {
case LG_TOKEN_TYPE_PRIV:
case LG_TOKEN_TYPE_KEY:
/* KEYID is the public KEY for DSA and DH, and the MODULUS for
* RSA */
keyHandle = lg_getKeyDB(sdb);
if (!keyHandle) {
crv = CKR_TOKEN_WRITE_PROTECTED;
break;
}
rv = nsslowkey_DeleteKey(keyHandle, dbKey);
if (rv != SECSuccess) {
crv = CKR_DEVICE_ERROR;
}
break;
case LG_TOKEN_TYPE_PUB:
break; /* public keys only exist at the behest of the priv key */
case LG_TOKEN_TYPE_CERT:
certHandle = lg_getCertDB(sdb);
if (!certHandle) {
crv = CKR_TOKEN_WRITE_PROTECTED;
break;
}
cert = nsslowcert_FindCertByKey(certHandle,dbKey);
if (cert == NULL) {
crv = CKR_DEVICE_ERROR;
break;
}
rv = nsslowcert_DeletePermCertificate(cert);
if (rv != SECSuccess) {
crv = CKR_DEVICE_ERROR;
}
nsslowcert_DestroyCertificate(cert);
break;
case LG_TOKEN_TYPE_CRL:
certHandle = lg_getCertDB(sdb);
if (!certHandle) {
crv = CKR_TOKEN_WRITE_PROTECTED;
break;
}
isKrl = (PRBool) (object_id == LG_TOKEN_KRL_HANDLE);
rv = nsslowcert_DeletePermCRL(certHandle, dbKey, isKrl);
if (rv == SECFailure) crv = CKR_DEVICE_ERROR;
break;
case LG_TOKEN_TYPE_TRUST:
certHandle = lg_getCertDB(sdb);
if (!certHandle) {
crv = CKR_TOKEN_WRITE_PROTECTED;
break;
}
cert = nsslowcert_FindCertByKey(certHandle, dbKey);
if (cert == NULL) {
crv = CKR_DEVICE_ERROR;
break;
}
tmptrust = *cert->trust;
tmptrust.sslFlags &= CERTDB_PRESERVE_TRUST_BITS;
tmptrust.emailFlags &= CERTDB_PRESERVE_TRUST_BITS;
tmptrust.objectSigningFlags &= CERTDB_PRESERVE_TRUST_BITS;
tmptrust.sslFlags |= CERTDB_TRUSTED_UNKNOWN;
tmptrust.emailFlags |= CERTDB_TRUSTED_UNKNOWN;
tmptrust.objectSigningFlags |= CERTDB_TRUSTED_UNKNOWN;
rv = nsslowcert_ChangeCertTrust(certHandle, cert, &tmptrust);
if (rv != SECSuccess) crv = CKR_DEVICE_ERROR;
nsslowcert_DestroyCertificate(cert);
break;
default:
break;
}
lg_DBLock(sdb);
lg_deleteTokenKeyByHandle(sdb,object_id);
lg_DBUnlock(sdb);
return crv;
}

View File

@@ -0,0 +1,941 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* the Initial Developer. All Rights Reserved.
*
*
* 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 "secitem.h"
#include "pkcs11.h"
#include "lgdb.h"
#include "lowkeyi.h"
#include "pcert.h"
#include "blapi.h"
#include "keydbi.h"
/*
* This code maps PKCS #11 Finds to legacy database searches. This code
* was orginally in pkcs11.c in previous versions of NSS.
*/
struct SDBFindStr {
CK_OBJECT_HANDLE *handles;
int size;
int index;
int array_size;
};
/*
* free a search structure
*/
void
lg_FreeSearch(SDBFind *search)
{
if (search->handles) {
PORT_Free(search->handles);
}
PORT_Free(search);
}
void
lg_addHandle(SDBFind *search, CK_OBJECT_HANDLE handle)
{
if (search->handles == NULL) {
return;
}
if (search->size >= search->array_size) {
search->array_size += LG_SEARCH_BLOCK_SIZE;
search->handles = (CK_OBJECT_HANDLE *) PORT_Realloc(search->handles,
sizeof(CK_OBJECT_HANDLE)* search->array_size);
if (search->handles == NULL) {
return;
}
}
search->handles[search->size] = handle;
search->size++;
}
/*
* find any certs that may match the template and load them.
*/
#define LG_CERT 0x00000001
#define LG_TRUST 0x00000002
#define LG_CRL 0x00000004
#define LG_SMIME 0x00000008
#define LG_PRIVATE 0x00000010
#define LG_PUBLIC 0x00000020
#define LG_KEY 0x00000040
/*
* structure to collect key handles.
*/
typedef struct lgEntryDataStr {
SDB *sdb;
SDBFind *searchHandles;
const CK_ATTRIBUTE *template;
CK_ULONG templ_count;
} lgEntryData;
static SECStatus
lg_crl_collect(SECItem *data, SECItem *key, certDBEntryType type, void *arg)
{
lgEntryData *crlData;
CK_OBJECT_HANDLE class_handle;
SDB *sdb;
crlData = (lgEntryData *)arg;
sdb = crlData->sdb;
class_handle = (type == certDBEntryTypeRevocation) ? LG_TOKEN_TYPE_CRL :
LG_TOKEN_KRL_HANDLE;
if (lg_tokenMatch(sdb, key, class_handle,
crlData->template, crlData->templ_count)) {
lg_addHandle(crlData->searchHandles,
lg_mkHandle(sdb,key,class_handle));
}
return(SECSuccess);
}
static void
lg_searchCrls(SDB *sdb, SECItem *derSubject, PRBool isKrl,
unsigned long classFlags, SDBFind *search,
const CK_ATTRIBUTE *pTemplate, CK_ULONG ulCount)
{
NSSLOWCERTCertDBHandle *certHandle = NULL;
certHandle = lg_getCertDB(sdb);
if (certHandle == NULL) {
return;
}
if (derSubject->data != NULL) {
certDBEntryRevocation *crl =
nsslowcert_FindCrlByKey(certHandle, derSubject, isKrl);
if (crl != NULL) {
lg_addHandle(search, lg_mkHandle(sdb, derSubject,
isKrl ? LG_TOKEN_KRL_HANDLE : LG_TOKEN_TYPE_CRL));
nsslowcert_DestroyDBEntry((certDBEntry *)crl);
}
} else {
lgEntryData crlData;
/* traverse */
crlData.sdb = sdb;
crlData.searchHandles = search;
crlData.template = pTemplate;
crlData.templ_count = ulCount;
nsslowcert_TraverseDBEntries(certHandle, certDBEntryTypeRevocation,
lg_crl_collect, (void *)&crlData);
nsslowcert_TraverseDBEntries(certHandle, certDBEntryTypeKeyRevocation,
lg_crl_collect, (void *)&crlData);
}
}
/*
* structure to collect key handles.
*/
typedef struct lgKeyDataStr {
SDB *sdb;
NSSLOWKEYDBHandle *keyHandle;
SDBFind *searchHandles;
SECItem *id;
const CK_ATTRIBUTE *template;
CK_ULONG templ_count;
unsigned long classFlags;
PRBool strict;
} lgKeyData;
static PRBool
isSecretKey(NSSLOWKEYPrivateKey *privKey)
{
if (privKey->keyType == NSSLOWKEYRSAKey &&
privKey->u.rsa.publicExponent.len == 1 &&
privKey->u.rsa.publicExponent.data[0] == 0)
return PR_TRUE;
return PR_FALSE;
}
static SECStatus
lg_key_collect(DBT *key, DBT *data, void *arg)
{
lgKeyData *keyData;
NSSLOWKEYPrivateKey *privKey = NULL;
SECItem tmpDBKey;
SDB *sdb;
unsigned long classFlags;
keyData = (lgKeyData *)arg;
sdb = keyData->sdb;
classFlags = keyData->classFlags;
tmpDBKey.data = key->data;
tmpDBKey.len = key->size;
tmpDBKey.type = siBuffer;
PORT_Assert(keyData->keyHandle);
if (!keyData->strict && keyData->id) {
SECItem result;
PRBool haveMatch= PR_FALSE;
unsigned char hashKey[SHA1_LENGTH];
result.data = hashKey;
result.len = sizeof(hashKey);
if (keyData->id->len == 0) {
/* Make sure this isn't a LG_KEY */
privKey = nsslowkey_FindKeyByPublicKey(keyData->keyHandle,
&tmpDBKey, keyData->sdb/*->password*/);
if (privKey) {
/* turn off the unneeded class flags */
classFlags &= isSecretKey(privKey) ? ~(LG_PRIVATE|LG_PUBLIC) :
~LG_KEY;
haveMatch = (PRBool)
((classFlags & (LG_KEY|LG_PRIVATE|LG_PUBLIC)) != 0);
nsslowkey_DestroyPrivateKey(privKey);
}
} else {
SHA1_HashBuf( hashKey, key->data, key->size ); /* match id */
haveMatch = SECITEM_ItemsAreEqual(keyData->id,&result);
if (!haveMatch && ((unsigned char *)key->data)[0] == 0) {
/* This is a fix for backwards compatibility. The key
* database indexes private keys by the public key, and
* versions of NSS prior to 3.4 stored the public key as
* a signed integer. The public key is now treated as an
* unsigned integer, with no leading zero. In order to
* correctly compute the hash of an old key, it is necessary
* to fallback and detect the leading zero.
*/
SHA1_HashBuf(hashKey,
(unsigned char *)key->data + 1, key->size - 1);
haveMatch = SECITEM_ItemsAreEqual(keyData->id,&result);
}
}
if (haveMatch) {
if (classFlags & LG_PRIVATE) {
lg_addHandle(keyData->searchHandles,
lg_mkHandle(sdb,&tmpDBKey,LG_TOKEN_TYPE_PRIV));
}
if (classFlags & LG_PUBLIC) {
lg_addHandle(keyData->searchHandles,
lg_mkHandle(sdb,&tmpDBKey,LG_TOKEN_TYPE_PUB));
}
if (classFlags & LG_KEY) {
lg_addHandle(keyData->searchHandles,
lg_mkHandle(sdb,&tmpDBKey,LG_TOKEN_TYPE_KEY));
}
}
return SECSuccess;
}
privKey = nsslowkey_FindKeyByPublicKey(keyData->keyHandle, &tmpDBKey,
keyData->sdb/*->password*/);
if ( privKey == NULL ) {
goto loser;
}
if (isSecretKey(privKey)) {
if ((classFlags & LG_KEY) &&
lg_tokenMatch(keyData->sdb, &tmpDBKey, LG_TOKEN_TYPE_KEY,
keyData->template, keyData->templ_count)) {
lg_addHandle(keyData->searchHandles,
lg_mkHandle(keyData->sdb, &tmpDBKey, LG_TOKEN_TYPE_KEY));
}
} else {
if ((classFlags & LG_PRIVATE) &&
lg_tokenMatch(keyData->sdb, &tmpDBKey, LG_TOKEN_TYPE_PRIV,
keyData->template, keyData->templ_count)) {
lg_addHandle(keyData->searchHandles,
lg_mkHandle(keyData->sdb,&tmpDBKey,LG_TOKEN_TYPE_PRIV));
}
if ((classFlags & LG_PUBLIC) &&
lg_tokenMatch(keyData->sdb, &tmpDBKey, LG_TOKEN_TYPE_PUB,
keyData->template, keyData->templ_count)) {
lg_addHandle(keyData->searchHandles,
lg_mkHandle(keyData->sdb, &tmpDBKey,LG_TOKEN_TYPE_PUB));
}
}
loser:
if ( privKey ) {
nsslowkey_DestroyPrivateKey(privKey);
}
return(SECSuccess);
}
static void
lg_searchKeys(SDB *sdb, SECItem *key_id,
unsigned long classFlags, SDBFind *search, PRBool mustStrict,
const CK_ATTRIBUTE *pTemplate, CK_ULONG ulCount)
{
NSSLOWKEYDBHandle *keyHandle = NULL;
NSSLOWKEYPrivateKey *privKey;
lgKeyData keyData;
PRBool found = PR_FALSE;
keyHandle = lg_getKeyDB(sdb);
if (keyHandle == NULL) {
return;
}
if (key_id->data) {
privKey = nsslowkey_FindKeyByPublicKey(keyHandle, key_id, sdb);
if (privKey) {
if ((classFlags & LG_KEY) && isSecretKey(privKey)) {
lg_addHandle(search,
lg_mkHandle(sdb,key_id,LG_TOKEN_TYPE_KEY));
found = PR_TRUE;
}
if ((classFlags & LG_PRIVATE) && !isSecretKey(privKey)) {
lg_addHandle(search,
lg_mkHandle(sdb,key_id,LG_TOKEN_TYPE_PRIV));
found = PR_TRUE;
}
if ((classFlags & LG_PUBLIC) && !isSecretKey(privKey)) {
lg_addHandle(search,
lg_mkHandle(sdb,key_id,LG_TOKEN_TYPE_PUB));
found = PR_TRUE;
}
nsslowkey_DestroyPrivateKey(privKey);
}
/* don't do the traversal if we have an up to date db */
if (keyHandle->version != 3) {
goto loser;
}
/* don't do the traversal if it can't possibly be the correct id */
/* all soft token id's are SHA1_HASH_LEN's */
if (key_id->len != SHA1_LENGTH) {
goto loser;
}
if (found) {
/* if we already found some keys, don't do the traversal */
goto loser;
}
}
keyData.sdb = sdb;
keyData.keyHandle = keyHandle;
keyData.searchHandles = search;
keyData.id = key_id;
keyData.template = pTemplate;
keyData.templ_count = ulCount;
keyData.classFlags = classFlags;
keyData.strict = mustStrict ? mustStrict : LG_STRICT;
nsslowkey_TraverseKeys(keyHandle, lg_key_collect, &keyData);
loser:
return;
}
/*
* structure to collect certs into
*/
typedef struct lgCertDataStr {
SDB *sdb;
int cert_count;
int max_cert_count;
NSSLOWCERTCertificate **certs;
const CK_ATTRIBUTE *template;
CK_ULONG templ_count;
unsigned long classFlags;
PRBool strict;
} lgCertData;
/*
* collect all the certs from the traverse call.
*/
static SECStatus
lg_cert_collect(NSSLOWCERTCertificate *cert,void *arg)
{
lgCertData *cd = (lgCertData *)arg;
if (cert == NULL) {
return SECSuccess;
}
if (cd->certs == NULL) {
return SECFailure;
}
if (cd->strict) {
if ((cd->classFlags & LG_CERT) && !lg_tokenMatch(cd->sdb,
&cert->certKey, LG_TOKEN_TYPE_CERT, cd->template,cd->templ_count)) {
return SECSuccess;
}
if ((cd->classFlags & LG_TRUST) && !lg_tokenMatch(cd->sdb,
&cert->certKey, LG_TOKEN_TYPE_TRUST,
cd->template, cd->templ_count)) {
return SECSuccess;
}
}
/* allocate more space if we need it. This should only happen in
* the general traversal case */
if (cd->cert_count >= cd->max_cert_count) {
int size;
cd->max_cert_count += LG_SEARCH_BLOCK_SIZE;
size = cd->max_cert_count * sizeof (NSSLOWCERTCertificate *);
cd->certs = (NSSLOWCERTCertificate **)PORT_Realloc(cd->certs,size);
if (cd->certs == NULL) {
return SECFailure;
}
}
cd->certs[cd->cert_count++] = nsslowcert_DupCertificate(cert);
return SECSuccess;
}
/* provide impedence matching ... */
static SECStatus
lg_cert_collect2(NSSLOWCERTCertificate *cert, SECItem *dymmy, void *arg)
{
return lg_cert_collect(cert, arg);
}
static void
lg_searchSingleCert(lgCertData *certData,NSSLOWCERTCertificate *cert)
{
if (cert == NULL) {
return;
}
if (certData->strict &&
!lg_tokenMatch(certData->sdb, &cert->certKey, LG_TOKEN_TYPE_CERT,
certData->template,certData->templ_count)) {
nsslowcert_DestroyCertificate(cert);
return;
}
certData->certs = (NSSLOWCERTCertificate **)
PORT_Alloc(sizeof (NSSLOWCERTCertificate *));
if (certData->certs == NULL) {
nsslowcert_DestroyCertificate(cert);
return;
}
certData->certs[0] = cert;
certData->cert_count = 1;
}
static void
lg_CertSetupData(lgCertData *certData,int count)
{
certData->max_cert_count = count;
if (certData->max_cert_count <= 0) {
return;
}
certData->certs = (NSSLOWCERTCertificate **)
PORT_Alloc( count * sizeof(NSSLOWCERTCertificate *));
return;
}
static void
lg_searchCertsAndTrust(SDB *sdb, SECItem *derCert, SECItem *name,
SECItem *derSubject, NSSLOWCERTIssuerAndSN *issuerSN,
SECItem *email,
unsigned long classFlags, SDBFind *handles,
const CK_ATTRIBUTE *pTemplate, CK_LONG ulCount)
{
NSSLOWCERTCertDBHandle *certHandle = NULL;
lgCertData certData;
int i;
certHandle = lg_getCertDB(sdb);
if (certHandle == NULL) return;
certData.sdb = sdb;
certData.max_cert_count = 0;
certData.certs = NULL;
certData.cert_count = 0;
certData.template = pTemplate;
certData.templ_count = ulCount;
certData.classFlags = classFlags;
certData.strict = LG_STRICT;
/*
* Find the Cert.
*/
if (derCert->data != NULL) {
NSSLOWCERTCertificate *cert =
nsslowcert_FindCertByDERCert(certHandle,derCert);
lg_searchSingleCert(&certData,cert);
} else if (name->data != NULL) {
char *tmp_name = (char*)PORT_Alloc(name->len+1);
int count;
if (tmp_name == NULL) {
return;
}
PORT_Memcpy(tmp_name,name->data,name->len);
tmp_name[name->len] = 0;
count= nsslowcert_NumPermCertsForNickname(certHandle,tmp_name);
lg_CertSetupData(&certData,count);
nsslowcert_TraversePermCertsForNickname(certHandle,tmp_name,
lg_cert_collect, &certData);
PORT_Free(tmp_name);
} else if (derSubject->data != NULL) {
int count;
count = nsslowcert_NumPermCertsForSubject(certHandle,derSubject);
lg_CertSetupData(&certData,count);
nsslowcert_TraversePermCertsForSubject(certHandle,derSubject,
lg_cert_collect, &certData);
} else if ((issuerSN->derIssuer.data != NULL) &&
(issuerSN->serialNumber.data != NULL)) {
if (classFlags & LG_CERT) {
NSSLOWCERTCertificate *cert =
nsslowcert_FindCertByIssuerAndSN(certHandle,issuerSN);
lg_searchSingleCert(&certData,cert);
}
if (classFlags & LG_TRUST) {
NSSLOWCERTTrust *trust =
nsslowcert_FindTrustByIssuerAndSN(certHandle, issuerSN);
if (trust) {
lg_addHandle(handles,
lg_mkHandle(sdb,&trust->dbKey,LG_TOKEN_TYPE_TRUST));
nsslowcert_DestroyTrust(trust);
}
}
} else if (email->data != NULL) {
char *tmp_name = (char*)PORT_Alloc(email->len+1);
certDBEntrySMime *entry = NULL;
if (tmp_name == NULL) {
return;
}
PORT_Memcpy(tmp_name,email->data,email->len);
tmp_name[email->len] = 0;
entry = nsslowcert_ReadDBSMimeEntry(certHandle,tmp_name);
if (entry) {
int count;
SECItem *subjectName = &entry->subjectName;
count = nsslowcert_NumPermCertsForSubject(certHandle, subjectName);
lg_CertSetupData(&certData,count);
nsslowcert_TraversePermCertsForSubject(certHandle, subjectName,
lg_cert_collect, &certData);
nsslowcert_DestroyDBEntry((certDBEntry *)entry);
}
PORT_Free(tmp_name);
} else {
/* we aren't filtering the certs, we are working on all, so turn
* on the strict filters. */
certData.strict = PR_TRUE;
lg_CertSetupData(&certData,LG_SEARCH_BLOCK_SIZE);
nsslowcert_TraversePermCerts(certHandle, lg_cert_collect2, &certData);
}
/*
* build the handles
*/
for (i=0 ; i < certData.cert_count ; i++) {
NSSLOWCERTCertificate *cert = certData.certs[i];
/* if we filtered it would have been on the stuff above */
if (classFlags & LG_CERT) {
lg_addHandle(handles,
lg_mkHandle(sdb,&cert->certKey,LG_TOKEN_TYPE_CERT));
}
if ((classFlags & LG_TRUST) && nsslowcert_hasTrust(cert->trust)) {
lg_addHandle(handles,
lg_mkHandle(sdb,&cert->certKey,LG_TOKEN_TYPE_TRUST));
}
nsslowcert_DestroyCertificate(cert);
}
if (certData.certs) PORT_Free(certData.certs);
return;
}
static SECStatus
lg_smime_collect(SECItem *data, SECItem *key, certDBEntryType type, void *arg)
{
lgEntryData *smimeData;
SDB *sdb;
smimeData = (lgEntryData *)arg;
sdb = smimeData->sdb;
if (lg_tokenMatch(sdb, key, LG_TOKEN_TYPE_SMIME,
smimeData->template, smimeData->templ_count)) {
lg_addHandle(smimeData->searchHandles,
lg_mkHandle(sdb,key,LG_TOKEN_TYPE_SMIME));
}
return(SECSuccess);
}
static void
lg_searchSMime(SDB *sdb, SECItem *email, SDBFind *handles,
const CK_ATTRIBUTE *pTemplate, CK_LONG ulCount)
{
NSSLOWCERTCertDBHandle *certHandle = NULL;
certDBEntrySMime *entry;
certHandle = lg_getCertDB(sdb);
if (certHandle == NULL) return;
if (email->data != NULL) {
char *tmp_name = (char*)PORT_Alloc(email->len+1);
if (tmp_name == NULL) {
return;
}
PORT_Memcpy(tmp_name,email->data,email->len);
tmp_name[email->len] = 0;
entry = nsslowcert_ReadDBSMimeEntry(certHandle,tmp_name);
if (entry) {
SECItem emailKey;
emailKey.data = (unsigned char *)tmp_name;
emailKey.len = PORT_Strlen(tmp_name)+1;
emailKey.type = 0;
lg_addHandle(handles,
lg_mkHandle(sdb,&emailKey,LG_TOKEN_TYPE_SMIME));
nsslowcert_DestroyDBEntry((certDBEntry *)entry);
}
PORT_Free(tmp_name);
} else {
/* traverse */
lgEntryData smimeData;
/* traverse */
smimeData.sdb = sdb;
smimeData.searchHandles = handles;
smimeData.template = pTemplate;
smimeData.templ_count = ulCount;
nsslowcert_TraverseDBEntries(certHandle, certDBEntryTypeSMimeProfile,
lg_smime_collect, (void *)&smimeData);
}
return;
}
static CK_RV
lg_searchTokenList(SDB *sdb, SDBFind *search,
const CK_ATTRIBUTE *pTemplate, CK_LONG ulCount)
{
int i;
PRBool isKrl = PR_FALSE;
SECItem derCert = { siBuffer, NULL, 0 };
SECItem derSubject = { siBuffer, NULL, 0 };
SECItem name = { siBuffer, NULL, 0 };
SECItem email = { siBuffer, NULL, 0 };
SECItem key_id = { siBuffer, NULL, 0 };
SECItem cert_sha1_hash = { siBuffer, NULL, 0 };
SECItem cert_md5_hash = { siBuffer, NULL, 0 };
NSSLOWCERTIssuerAndSN issuerSN = {
{ siBuffer, NULL, 0 },
{ siBuffer, NULL, 0 }
};
SECItem *copy = NULL;
CK_CERTIFICATE_TYPE certType;
CK_OBJECT_CLASS objectClass;
CK_RV crv;
unsigned long classFlags =
LG_CERT|LG_TRUST|LG_PRIVATE|LG_PUBLIC|LG_KEY|LG_SMIME|LG_CRL;
if (lg_getCertDB(sdb) == NULL) {
classFlags = LG_PRIVATE|LG_KEY;
} else {
classFlags = LG_CERT|LG_TRUST|LG_PUBLIC|LG_SMIME|LG_CRL;
}
/*
* look for things to search on token objects for. If the right options
* are specified, we can use them as direct indeces into the database
* (rather than using linear searches. We can also use the attributes to
* limit the kinds of objects we are searching for. Later we can use this
* array to filter the remaining objects more finely.
*/
for (i=0 ;classFlags && i < (int)ulCount; i++) {
switch (pTemplate[i].type) {
case CKA_SUBJECT:
copy = &derSubject;
classFlags &= (LG_CERT|LG_PRIVATE|LG_PUBLIC|LG_SMIME|LG_CRL);
break;
case CKA_ISSUER:
copy = &issuerSN.derIssuer;
classFlags &= (LG_CERT|LG_TRUST);
break;
case CKA_SERIAL_NUMBER:
copy = &issuerSN.serialNumber;
classFlags &= (LG_CERT|LG_TRUST);
break;
case CKA_VALUE:
copy = &derCert;
classFlags &= (LG_CERT|LG_CRL|LG_SMIME);
break;
case CKA_LABEL:
copy = &name;
break;
case CKA_NETSCAPE_EMAIL:
copy = &email;
classFlags &= LG_SMIME|LG_CERT;
break;
case CKA_NETSCAPE_SMIME_TIMESTAMP:
classFlags &= LG_SMIME;
break;
case CKA_CLASS:
crv = lg_GetULongAttribute(CKA_CLASS,&pTemplate[i],1, &objectClass);
if (crv != CKR_OK) {
classFlags = 0;
break;;
}
switch (objectClass) {
case CKO_CERTIFICATE:
classFlags &= LG_CERT;
break;
case CKO_NETSCAPE_TRUST:
classFlags &= LG_TRUST;
break;
case CKO_NETSCAPE_CRL:
classFlags &= LG_CRL;
break;
case CKO_NETSCAPE_SMIME:
classFlags &= LG_SMIME;
break;
case CKO_PRIVATE_KEY:
classFlags &= LG_PRIVATE;
break;
case CKO_PUBLIC_KEY:
classFlags &= LG_PUBLIC;
break;
case CKO_SECRET_KEY:
classFlags &= LG_KEY;
break;
default:
classFlags = 0;
break;
}
break;
case CKA_PRIVATE:
if (pTemplate[i].ulValueLen != sizeof(CK_BBOOL)) {
classFlags = 0;
}
if (*((CK_BBOOL *)pTemplate[i].pValue) == CK_TRUE) {
classFlags &= (LG_PRIVATE|LG_KEY);
} else {
classFlags &= ~(LG_PRIVATE|LG_KEY);
}
break;
case CKA_SENSITIVE:
if (pTemplate[i].ulValueLen != sizeof(CK_BBOOL)) {
classFlags = 0;
}
if (*((CK_BBOOL *)pTemplate[i].pValue) == CK_TRUE) {
classFlags &= (LG_PRIVATE|LG_KEY);
} else {
classFlags = 0;
}
break;
case CKA_TOKEN:
if (pTemplate[i].ulValueLen != sizeof(CK_BBOOL)) {
classFlags = 0;
}
if (*((CK_BBOOL *)pTemplate[i].pValue) != CK_TRUE) {
classFlags = 0;
}
break;
case CKA_CERT_SHA1_HASH:
classFlags &= LG_TRUST;
copy = &cert_sha1_hash; break;
case CKA_CERT_MD5_HASH:
classFlags &= LG_TRUST;
copy = &cert_md5_hash; break;
case CKA_CERTIFICATE_TYPE:
crv = lg_GetULongAttribute(CKA_CLASS,&pTemplate[i],1,&certType);
if (crv != CKR_OK) {
classFlags = 0;
}
classFlags &= LG_CERT;
if (certType != CKC_X_509) {
classFlags = 0;
}
break;
case CKA_ID:
copy = &key_id;
classFlags &= (LG_CERT|LG_PRIVATE|LG_KEY|LG_PUBLIC);
break;
case CKA_NETSCAPE_KRL:
if (pTemplate[i].ulValueLen != sizeof(CK_BBOOL)) {
classFlags = 0;
}
classFlags &= LG_CRL;
isKrl = (PRBool)(*((CK_BBOOL *)pTemplate[i].pValue) == CK_TRUE);
break;
case CKA_MODIFIABLE:
break;
case CKA_KEY_TYPE:
case CKA_DERIVE:
classFlags &= LG_PUBLIC|LG_PRIVATE|LG_KEY;
break;
case CKA_VERIFY_RECOVER:
classFlags &= LG_PUBLIC;
break;
case CKA_SIGN_RECOVER:
classFlags &= LG_PRIVATE;
break;
case CKA_ENCRYPT:
case CKA_VERIFY:
case CKA_WRAP:
classFlags &= LG_PUBLIC|LG_KEY;
break;
case CKA_DECRYPT:
case CKA_SIGN:
case CKA_UNWRAP:
case CKA_ALWAYS_SENSITIVE:
case CKA_EXTRACTABLE:
case CKA_NEVER_EXTRACTABLE:
classFlags &= LG_PRIVATE|LG_KEY;
break;
/* can't be a certificate if it doesn't match one of the above
* attributes */
default:
classFlags = 0;
break;
}
if (copy) {
copy->data = (unsigned char*)pTemplate[i].pValue;
copy->len = pTemplate[i].ulValueLen;
}
copy = NULL;
}
/* certs */
if (classFlags & (LG_CERT|LG_TRUST)) {
lg_searchCertsAndTrust(sdb,&derCert,&name,&derSubject,
&issuerSN, &email,classFlags,search,
pTemplate, ulCount);
}
/* keys */
if (classFlags & (LG_PRIVATE|LG_PUBLIC|LG_KEY)) {
PRBool mustStrict = ((classFlags & LG_KEY) != 0) && (name.len != 0);
lg_searchKeys(sdb, &key_id, classFlags, search,
mustStrict, pTemplate, ulCount);
}
/* crl's */
if (classFlags & LG_CRL) {
lg_searchCrls(sdb, &derSubject, isKrl, classFlags, search,
pTemplate, ulCount);
}
/* Add S/MIME entry stuff */
if (classFlags & LG_SMIME) {
lg_searchSMime(sdb, &email, search, pTemplate, ulCount);
}
return CKR_OK;
}
/* lg_FindObjectsInit initializes a search for token and session objects
* that match a template. */
CK_RV lg_FindObjectsInit(SDB *sdb, const CK_ATTRIBUTE *pTemplate,
CK_ULONG ulCount, SDBFind **retSearch)
{
SDBFind *search;
CK_RV crv = CKR_OK;
*retSearch = NULL;
search = (SDBFind *)PORT_Alloc(sizeof(SDBFind));
if (search == NULL) {
crv = CKR_HOST_MEMORY;
goto loser;
}
search->handles = (CK_OBJECT_HANDLE *)
PORT_Alloc(sizeof(CK_OBJECT_HANDLE) * LG_SEARCH_BLOCK_SIZE);
if (search->handles == NULL) {
crv = CKR_HOST_MEMORY;
goto loser;
}
search->index = 0;
search->size = 0;
search->array_size = LG_SEARCH_BLOCK_SIZE;
/* FIXME - do we still need to get Login state? */
crv = lg_searchTokenList(sdb, search, pTemplate, ulCount);
if (crv != CKR_OK) {
goto loser;
}
*retSearch = search;
return CKR_OK;
loser:
if (search) {
lg_FreeSearch(search);
}
return crv;
}
/* lg_FindObjects continues a search for token and session objects
* that match a template, obtaining additional object handles. */
CK_RV lg_FindObjects(SDB *sdb, SDBFind *search,
CK_OBJECT_HANDLE *phObject,CK_ULONG ulMaxObjectCount,
CK_ULONG *pulObjectCount)
{
int transfer;
int left;
*pulObjectCount = 0;
left = search->size - search->index;
transfer = ((int)ulMaxObjectCount > left) ? left : ulMaxObjectCount;
if (transfer > 0) {
PORT_Memcpy(phObject,&search->handles[search->index],
transfer*sizeof(CK_OBJECT_HANDLE_PTR));
} else {
*phObject = CK_INVALID_HANDLE;
}
search->index += transfer;
*pulObjectCount = transfer;
return CKR_OK;
}
/* lg_FindObjectsFinal finishes a search for token and session objects. */
CK_RV lg_FindObjectsFinal(SDB* lgdb, SDBFind *search)
{
if (search != NULL) {
lg_FreeSearch(search);
}
return CKR_OK;
}

View File

@@ -0,0 +1,644 @@
/*
* NSS utility functions
*
* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/* $Id: lginit.c,v 1.1.2.1 2007-04-03 22:50:02 rrelyea%redhat.com Exp $ */
#include "lowkeyi.h"
#include "pcert.h"
#include "keydbi.h"
#include "lgdb.h"
typedef struct LGPrivateStr {
NSSLOWCERTCertDBHandle *certDB;
NSSLOWKEYDBHandle *keyDB;
PRLock *dbLock;
PLHashTable *hashTable;
} LGPrivate;
static char *
lg_certdb_name_cb(void *arg, int dbVersion)
{
const char *configdir = (const char *)arg;
const char *dbver;
char *smpname = NULL;
char *dbname = NULL;
switch (dbVersion) {
case 8:
dbver = "8";
break;
case 7:
dbver = "7";
break;
case 6:
dbver = "6";
break;
case 5:
dbver = "5";
break;
case 4:
default:
dbver = "";
break;
}
/* make sure we return something allocated with PORT_ so we have properly
* matched frees at the end */
smpname = PR_smprintf(CERT_DB_FMT, configdir, dbver);
if (smpname) {
dbname = PORT_Strdup(smpname);
PR_smprintf_free(smpname);
}
return dbname;
}
static char *
lg_keydb_name_cb(void *arg, int dbVersion)
{
const char *configdir = (const char *)arg;
const char *dbver;
char *smpname = NULL;
char *dbname = NULL;
switch (dbVersion) {
case 4:
dbver = "4";
break;
case 3:
dbver = "3";
break;
case 1:
dbver = "1";
break;
case 2:
default:
dbver = "";
break;
}
smpname = PR_smprintf(KEY_DB_FMT, configdir, dbver);
if (smpname) {
dbname = PORT_Strdup(smpname);
PR_smprintf_free(smpname);
}
return dbname;
}
const char *
lg_EvaluateConfigDir(const char *configdir,char **appName)
{
if (PORT_Strncmp(configdir, MULTIACCESS, sizeof(MULTIACCESS)-1) == 0) {
char *cdir;
*appName = PORT_Strdup(configdir+sizeof(MULTIACCESS)-1);
if (*appName == NULL) {
return configdir;
}
cdir = *appName;
while (*cdir && *cdir != ':') {
cdir++;
}
if (*cdir == ':') {
*cdir = 0;
cdir++;
}
configdir = cdir;
}
return configdir;
}
static int rdbmapflags(int flags);
static rdbfunc lg_rdbfunc = NULL;
static rdbstatusfunc lg_rdbstatusfunc = NULL;
/* NOTE: SHLIB_SUFFIX is defined on the command line */
#define RDBLIB SHLIB_PREFIX"rdb."SHLIB_SUFFIX
DB * rdbopen(const char *appName, const char *prefix,
const char *type, int flags, int *status)
{
PRLibrary *lib;
DB *db;
if (lg_rdbfunc) {
db = (*lg_rdbfunc)(appName,prefix,type,rdbmapflags(flags));
if (!db && status && lg_rdbstatusfunc) {
*status = (*lg_rdbstatusfunc)();
}
return db;
}
/*
* try to open the library.
*/
lib = PR_LoadLibrary(RDBLIB);
if (!lib) {
return NULL;
}
/* get the entry points */
lg_rdbstatusfunc = (rdbstatusfunc) PR_FindSymbol(lib,"rdbstatus");
lg_rdbfunc = (rdbfunc) PR_FindSymbol(lib,"rdbopen");
if (lg_rdbfunc) {
db = (*lg_rdbfunc)(appName,prefix,type,rdbmapflags(flags));
if (!db && status && lg_rdbstatusfunc) {
*status = (*lg_rdbstatusfunc)();
}
return db;
}
/* couldn't find the entry point, unload the library and fail */
PR_UnloadLibrary(lib);
return NULL;
}
/*
* the following data structures are from rdb.h.
*/
struct RDBStr {
DB db;
int (*xactstart)(DB *db);
int (*xactdone)(DB *db, PRBool abort);
int version;
int (*dbinitcomplete)(DB *db);
};
#define DB_RDB ((DBTYPE) 0xff)
#define RDB_RDONLY 1
#define RDB_RDWR 2
#define RDB_CREATE 4
static int
rdbmapflags(int flags) {
switch (flags) {
case NO_RDONLY:
return RDB_RDONLY;
case NO_RDWR:
return RDB_RDWR;
case NO_CREATE:
return RDB_CREATE;
default:
break;
}
return 0;
}
PRBool
db_IsRDB(DB *db)
{
return (PRBool) db->type == DB_RDB;
}
int
db_BeginTransaction(DB *db)
{
struct RDBStr *rdb = (struct RDBStr *)db;
if (db->type != DB_RDB) {
return 0;
}
return rdb->xactstart(db);
}
int
db_FinishTransaction(DB *db, PRBool abort)
{
struct RDBStr *rdb = (struct RDBStr *)db;
if (db->type != DB_RDB) {
return 0;
}
return rdb->xactdone(db, abort);
}
static DB *
lg_getRawDB(SDB *sdb)
{
NSSLOWCERTCertDBHandle *certDB;
NSSLOWKEYDBHandle *keyDB;
certDB = lg_getCertDB(sdb);
if (certDB) {
return certDB->permCertDB;
}
keyDB = lg_getKeyDB(sdb);
if (keyDB) {
return keyDB->db;
}
return NULL;
}
CK_RV
lg_Begin(SDB *sdb)
{
DB *db = lg_getRawDB(sdb);
int ret;
if (db == NULL) {
return CKR_GENERAL_ERROR; /* shouldn't happen */
}
ret = db_BeginTransaction(db);
if (ret != 0) {
return CKR_GENERAL_ERROR; /* could happen */
}
return CKR_OK;
}
CK_RV
lg_Commit(SDB *sdb)
{
DB *db = lg_getRawDB(sdb);
int ret;
if (db == NULL) {
return CKR_GENERAL_ERROR; /* shouldn't happen */
}
ret = db_FinishTransaction(db, PR_FALSE);
if (ret != 0) {
return CKR_GENERAL_ERROR; /* could happen */
}
return CKR_OK;
}
CK_RV
lg_Abort(SDB *sdb)
{
DB *db = lg_getRawDB(sdb);
int ret;
if (db == NULL) {
return CKR_GENERAL_ERROR; /* shouldn't happen */
}
ret = db_FinishTransaction(db, PR_TRUE);
if (ret != 0) {
return CKR_GENERAL_ERROR; /* could happen */
}
return CKR_OK;
}
int
db_InitComplete(DB *db)
{
struct RDBStr *rdb = (struct RDBStr *)db;
if (db->type != DB_RDB) {
return 0;
}
/* we should have added a version number to the RDBS structure. Since we
* didn't, we detect that we have and 'extended' structure if the rdbstatus
* func exists */
if (!lg_rdbstatusfunc) {
return 0;
}
return rdb->dbinitcomplete(db);
}
SECStatus
db_Copy(DB *dest,DB *src)
{
int ret;
DBT key,data;
ret = (*src->seq)(src, &key, &data, R_FIRST);
if (ret) {
return SECSuccess;
}
do {
(void)(*dest->put)(dest,&key,&data, R_NOOVERWRITE);
} while ( (*src->seq)(src, &key, &data, R_NEXT) == 0);
(void)(*dest->sync)(dest,0);
return SECSuccess;
}
static CK_RV
lg_OpenCertDB(const char * configdir, const char *prefix, PRBool readOnly,
NSSLOWCERTCertDBHandle **certdbPtr)
{
NSSLOWCERTCertDBHandle *certdb = NULL;
CK_RV crv = CKR_NETSCAPE_CERTDB_FAILED;
SECStatus rv;
char * name = NULL;
char * appName = NULL;
if (prefix == NULL) {
prefix = "";
}
configdir = lg_EvaluateConfigDir(configdir, &appName);
name = PR_smprintf("%s" PATH_SEPARATOR "%s",configdir,prefix);
if (name == NULL) goto loser;
certdb = (NSSLOWCERTCertDBHandle*)PORT_ZAlloc(sizeof(NSSLOWCERTCertDBHandle));
if (certdb == NULL)
goto loser;
certdb->ref = 1;
/* fix when we get the DB in */
rv = nsslowcert_OpenCertDB(certdb, readOnly, appName, prefix,
lg_certdb_name_cb, (void *)name, PR_FALSE);
if (rv == SECSuccess) {
crv = CKR_OK;
*certdbPtr = certdb;
certdb = NULL;
}
loser:
if (certdb) PR_Free(certdb);
if (name) PR_smprintf_free(name);
if (appName) PORT_Free(appName);
return crv;
}
static CK_RV
lg_OpenKeyDB(const char * configdir, const char *prefix, PRBool readOnly,
NSSLOWKEYDBHandle **keydbPtr)
{
NSSLOWKEYDBHandle *keydb;
char * name = NULL;
char * appName = NULL;
if (prefix == NULL) {
prefix = "";
}
configdir = lg_EvaluateConfigDir(configdir, &appName);
name = PR_smprintf("%s" PATH_SEPARATOR "%s",configdir,prefix);
if (name == NULL)
return CKR_HOST_MEMORY;
keydb = nsslowkey_OpenKeyDB(readOnly, appName, prefix,
lg_keydb_name_cb, (void *)name);
PR_smprintf_free(name);
if (appName) PORT_Free(appName);
if (keydb == NULL)
return CKR_NETSCAPE_KEYDB_FAILED;
*keydbPtr = keydb;
return CKR_OK;
}
/*
* Accessors for the private parts of the sdb structure.
*/
void
lg_DBLock(SDB *sdb)
{
LGPrivate *lgdb_p = (LGPrivate *)sdb->private;
PR_Lock(lgdb_p->dbLock);
}
void
lg_DBUnlock(SDB *sdb)
{
LGPrivate *lgdb_p = (LGPrivate *)sdb->private;
PR_Unlock(lgdb_p->dbLock);
}
PLHashTable *
lg_GetHashTable(SDB *sdb)
{
LGPrivate *lgdb_p = (LGPrivate *)sdb->private;
return lgdb_p->hashTable;
}
NSSLOWCERTCertDBHandle *
lg_getCertDB(SDB *sdb)
{
LGPrivate *lgdb_p = (LGPrivate *)sdb->private;
return lgdb_p->certDB;
}
NSSLOWKEYDBHandle *
lg_getKeyDB(SDB *sdb)
{
LGPrivate *lgdb_p = (LGPrivate *)sdb->private;
return lgdb_p->keyDB;
}
CK_RV
lg_Close(SDB *sdb)
{
LGPrivate *lgdb_p = (LGPrivate *)sdb->private;
if (lgdb_p) {
if (lgdb_p->certDB) {
nsslowcert_ClosePermCertDB(lgdb_p->certDB);
} else if (lgdb_p->keyDB) {
nsslowkey_CloseKeyDB(lgdb_p->keyDB);
}
if (lgdb_p->dbLock) {
PR_DestroyLock(lgdb_p->dbLock);
}
if (lgdb_p->hashTable) {
PL_HashTableDestroy(lgdb_p->hashTable);
}
PORT_Free(lgdb_p);
}
PORT_Free(sdb);
return CKR_OK;
}
static PLHashNumber
lg_HashNumber(const void *key)
{
return (PLHashNumber) key;
}
/*
* helper function to wrap a NSSLOWCERTCertDBHandle or a NSSLOWKEYDBHandle
* with and sdb structure.
*/
CK_RV
lg_init(SDB **pSdb, int flags, NSSLOWCERTCertDBHandle *certdbPtr,
NSSLOWKEYDBHandle *keydbPtr)
{
SDB *sdb = NULL;
LGPrivate *lgdb_p = NULL;
CK_RV error = CKR_HOST_MEMORY;
*pSdb = NULL;
sdb = (SDB *) PORT_Alloc(sizeof(SDB));
if (sdb == NULL) {
goto loser;
}
lgdb_p = (LGPrivate *) PORT_Alloc(sizeof(LGPrivate));
if (lgdb_p == NULL) {
goto loser;
}
/* invariant fields */
lgdb_p->certDB = certdbPtr;
lgdb_p->keyDB = keydbPtr;
lgdb_p->dbLock = PR_NewLock();
if (lgdb_p->dbLock == NULL) {
goto loser;
}
lgdb_p->hashTable = PL_NewHashTable(64, lg_HashNumber, PL_CompareValues,
SECITEM_HashCompare, NULL, 0);
if (lgdb_p->hashTable == NULL) {
goto loser;
}
sdb->sdb_type = SDB_LEGACY;
sdb->sdb_flags = flags;
sdb->private = lgdb_p;
sdb->sdb_FindObjectsInit = lg_FindObjectsInit;
sdb->sdb_FindObjects = lg_FindObjects;
sdb->sdb_FindObjectsFinal = lg_FindObjectsFinal;
sdb->sdb_GetAttributeValue = lg_GetAttributeValue;
sdb->sdb_SetAttributeValue = lg_SetAttributeValue;
sdb->sdb_CreateObject = lg_CreateObject;
sdb->sdb_DestroyObject = lg_DestroyObject;
sdb->sdb_GetPWEntry = lg_GetPWEntry;
sdb->sdb_PutPWEntry = lg_PutPWEntry;
sdb->sdb_Begin = lg_Begin;
sdb->sdb_Commit = lg_Commit;
sdb->sdb_Abort = lg_Abort;
sdb->sdb_Close = lg_Reset;
sdb->sdb_Close = lg_Close;
*pSdb = sdb;
return CKR_OK;
loser:
if (sdb) {
PORT_Free(sdb);
}
if (lgdb_p) {
if (lgdb_p->dbLock) {
PR_DestroyLock(lgdb_p->dbLock);
}
if (lgdb_p->hashTable) {
PL_HashTableDestroy(lgdb_p->hashTable);
}
PORT_Free(lgdb_p);
}
return error;
}
extern SECStatus secoid_Init(void); /* util *REALLY* needs
* to be a shared library */
/*
* OK there are now lots of options here, lets go through them all:
*
* configdir - base directory where all the cert, key, and module datbases live.
* certPrefix - prefix added to the beginning of the cert database example: "
* "https-server1-"
* keyPrefix - prefix added to the beginning of the key database example: "
* "https-server1-"
* secmodName - name of the security module database (usually "secmod.db").
* readOnly - Boolean: true if the databases are to be openned read only.
* nocertdb - Don't open the cert DB and key DB's, just initialize the
* Volatile certdb.
* nomoddb - Don't open the security module DB, just initialize the
* PKCS #11 module.
* forceOpen - Continue to force initializations even if the databases cannot
* be opened.
*/
CK_RV
legacy_Open(const char *configdir, const char *certPrefix,
const char *keyPrefix, int certVersion, int keyVersion,
int flags, SDB **certDB, SDB **keyDB)
{
CK_RV crv = CKR_OK;
PRBool readOnly = (flags == SDB_RDONLY)? PR_TRUE: PR_FALSE;
secoid_Init();
nsslowcert_InitLocks();
if (keyDB) *keyDB = NULL;
if (certDB) *certDB = NULL;
if (certDB) {
NSSLOWCERTCertDBHandle *certdbPtr;
crv = lg_OpenCertDB(configdir, certPrefix, readOnly, &certdbPtr);
if (crv != CKR_OK) {
goto loser;
}
crv = lg_init(certDB, flags, certdbPtr, NULL);
if (crv != CKR_OK) {
nsslowcert_ClosePermCertDB(certdbPtr);
goto loser;
}
}
if (keyDB) {
NSSLOWKEYDBHandle *keydbPtr;
crv = lg_OpenKeyDB(configdir, keyPrefix, readOnly, &keydbPtr);
if (crv != CKR_OK) {
goto loser;
}
crv = lg_init(keyDB, flags, NULL, keydbPtr);
if (crv != CKR_OK) {
nsslowkey_CloseKeyDB(keydbPtr);
goto loser;
}
if (certDB && *certDB) {
LGPrivate *lgdb_p = (LGPrivate *)(*certDB)->private;
lgdb_p->keyDB = keydbPtr;
}
}
loser:
if (crv != CKR_OK) {
if (keyDB && *keyDB) {
lg_Close(*keyDB);
*keyDB = NULL;
}
if (certDB && *certDB) {
lg_Close(*certDB);
*certDB = NULL;
}
}
return crv;
}
CK_RV
legacy_Shutdown(void)
{
nsslowcert_DestroyFreeLists();
nsslowcert_DestroyGlobalLocks();
}

View File

@@ -0,0 +1,424 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Dr Vipul Gupta <vipul.gupta@sun.com>, Sun Microsystems Laboratories
*
* 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 "lgdb.h"
#include "secerr.h"
#include "lgglue.h"
/*
* ******************** Attribute Utilities *******************************
*/
/*
* look up and attribute structure from a type and Object structure.
* The returned attribute is referenced and needs to be freed when
* it is no longer needed.
*/
const CK_ATTRIBUTE *
lg_FindAttribute(CK_ATTRIBUTE_TYPE type, const CK_ATTRIBUTE *templ,
CK_ULONG count )
{
int i;
for (i=0; i < count; i++) {
if (templ[i].type == type) {
return &templ[i];
}
}
return NULL;
}
/*
* return true if object has attribute
*/
PRBool
lg_hasAttribute(CK_ATTRIBUTE_TYPE type, const CK_ATTRIBUTE *templ,
CK_ULONG count )
{
if (lg_FindAttribute(type, templ, count) == NULL) {
return PR_FALSE;
}
return PR_TRUE;
}
/*
* copy an attribute into a SECItem. Secitem is allocated in the specified
* arena.
*/
CK_RV
lg_Attribute2SecItem(PLArenaPool *arena, CK_ATTRIBUTE_TYPE type,
const CK_ATTRIBUTE *templ, CK_ULONG count,
SECItem *item)
{
int len;
const CK_ATTRIBUTE *attribute;
attribute = lg_FindAttribute(type, templ, count);
if (attribute == NULL) return CKR_TEMPLATE_INCOMPLETE;
len = attribute->ulValueLen;
if (arena) {
item->data = (unsigned char *) PORT_ArenaAlloc(arena,len);
} else {
item->data = (unsigned char *) PORT_Alloc(len);
}
if (item->data == NULL) {
return CKR_HOST_MEMORY;
}
item->len = len;
PORT_Memcpy(item->data, attribute->pValue, len);
return CKR_OK;
}
/*
* copy an unsigned attribute into a SECItem. Secitem is allocated in
* the specified arena.
*/
CK_RV
lg_Attribute2SSecItem(PLArenaPool *arena, CK_ATTRIBUTE_TYPE type,
const CK_ATTRIBUTE *templ, CK_ULONG count,
SECItem *item)
{
const CK_ATTRIBUTE *attribute;
item->data = NULL;
attribute = lg_FindAttribute(type, templ, count);
if (attribute == NULL) return CKR_TEMPLATE_INCOMPLETE;
(void)SECITEM_AllocItem(arena, item, attribute->ulValueLen);
if (item->data == NULL) {
return CKR_HOST_MEMORY;
}
PORT_Memcpy(item->data, attribute->pValue, item->len);
return CKR_OK;
}
/*
* copy an unsigned attribute into a SECItem. Secitem is allocated in
* the specified arena.
*/
CK_RV
lg_PrivAttr2SSecItem(PLArenaPool *arena, CK_ATTRIBUTE_TYPE type,
const CK_ATTRIBUTE *templ, CK_ULONG count,
SECItem *item, SDB *sdbpw)
{
const CK_ATTRIBUTE *attribute;
SECItem epki, *dest = NULL;
SECStatus rv;
item->data = NULL;
attribute = lg_FindAttribute(type, templ, count);
if (attribute == NULL) return CKR_TEMPLATE_INCOMPLETE;
epki.data = attribute->pValue;
epki.len = attribute->ulValueLen;
rv = lg_util_decrypt(sdbpw, &epki, &dest);
if (rv != SECSuccess) {
return CKR_USER_NOT_LOGGED_IN;
}
(void)SECITEM_AllocItem(arena, item, dest->len);
if (item->data == NULL) {
SECITEM_FreeItem(dest, PR_TRUE);
return CKR_HOST_MEMORY;
}
PORT_Memcpy(item->data, dest->data, item->len);
SECITEM_FreeItem(dest, PR_TRUE);
return CKR_OK;
}
CK_RV
lg_PrivAttr2SecItem(PLArenaPool *arena, CK_ATTRIBUTE_TYPE type,
const CK_ATTRIBUTE *templ, CK_ULONG count,
SECItem *item, SDB *sdbpw)
{
return lg_PrivAttr2SSecItem(arena, type, templ, count, item, sdbpw);
}
/*
* this is only valid for CK_BBOOL type attributes. Return the state
* of that attribute.
*/
PRBool
lg_isTrue(CK_ATTRIBUTE_TYPE type, const CK_ATTRIBUTE *templ, CK_ULONG count)
{
const CK_ATTRIBUTE *attribute;
PRBool tok = PR_FALSE;
attribute=lg_FindAttribute(type, templ, count);
if (attribute == NULL) { return PR_FALSE; }
tok = (PRBool)(*(CK_BBOOL *)attribute->pValue);
return tok;
}
/*
* return a null terminated string from attribute 'type'. This string
* is allocated and needs to be freed with PORT_Free() When complete.
*/
char *
lg_getString(CK_ATTRIBUTE_TYPE type, const CK_ATTRIBUTE *templ, CK_ULONG count)
{
const CK_ATTRIBUTE *attribute;
char *label = NULL;
attribute = lg_FindAttribute(type, templ, count);
if (attribute == NULL) return NULL;
if (attribute->pValue != NULL) {
label = (char *) PORT_Alloc(attribute->ulValueLen+1);
if (label == NULL) {
return NULL;
}
PORT_Memcpy(label,attribute->pValue, attribute->ulValueLen);
label[attribute->ulValueLen] = 0;
}
return label;
}
CK_RV
lg_GetULongAttribute(CK_ATTRIBUTE_TYPE type, const CK_ATTRIBUTE *templ,
CK_ULONG count, CK_ULONG *longData)
{
const CK_ATTRIBUTE *attribute;
CK_ULONG value = 0;
const unsigned char *data;
int i;
attribute = lg_FindAttribute(type, templ, count);
if (attribute == NULL) return CKR_TEMPLATE_INCOMPLETE;
if (attribute->ulValueLen != sizeof(CK_ULONG)) {
return CKR_ATTRIBUTE_VALUE_INVALID;
}
data = (const unsigned char *)attribute->pValue;
for (i=0; i < 4; i++) {
value |= (CK_ULONG)(data[i]) << ((3-i)*8);
}
*longData = value;
return CKR_OK;
}
/*
* ******************** Object Utilities *******************************
*/
SECStatus
lg_deleteTokenKeyByHandle(SDB *sdb, CK_OBJECT_HANDLE handle)
{
SECItem *item;
PRBool rem;
PLHashTable *hashTable= lg_GetHashTable(sdb);
item = (SECItem *)PL_HashTableLookup(hashTable, (void *)handle);
rem = PL_HashTableRemove(hashTable,(void *)handle) ;
if (rem && item) {
SECITEM_FreeItem(item,PR_TRUE);
}
return rem ? SECSuccess : SECFailure;
}
/* must be called holding lg_DBLock(sdb) */
static SECStatus
lg_addTokenKeyByHandle(SDB *sdb, CK_OBJECT_HANDLE handle, SECItem *key)
{
PLHashEntry *entry;
SECItem *item;
PLHashTable *hashTable= lg_GetHashTable(sdb);
item = SECITEM_DupItem(key);
if (item == NULL) {
return SECFailure;
}
entry = PL_HashTableAdd(hashTable,(void *)handle,item);
if (entry == NULL) {
SECITEM_FreeItem(item,PR_TRUE);
return SECFailure;
}
return SECSuccess;
}
/* must be called holding lg_DBLock(sdb) */
const SECItem *
lg_lookupTokenKeyByHandle(SDB *sdb, CK_OBJECT_HANDLE handle)
{
PLHashTable *hashTable= lg_GetHashTable(sdb);
return (const SECItem *)PL_HashTableLookup(hashTable, (void *)handle);
}
static PRIntn
lg_freeHashItem(PLHashEntry* entry, PRIntn index, void *arg)
{
SECItem *item = (SECItem *)entry->value;
SECITEM_FreeItem(item, PR_TRUE);
return HT_ENUMERATE_NEXT;
}
CK_RV
LG_ClearTokenKeyHashTable(SDB *sdb)
{
PLHashTable *hashTable;
lg_DBLock(sdb);
hashTable= lg_GetHashTable(sdb);
PL_HashTableEnumerateEntries(hashTable, lg_freeHashItem, NULL);
lg_DBLock(sdb);
return CKR_OK;
}
/*
* handle Token Object stuff
*/
static void
lg_XORHash(unsigned char *key, unsigned char *dbkey, int len)
{
int i;
PORT_Memset(key, 0, 4);
for (i=0; i < len-4; i += 4) {
key[0] ^= dbkey[i];
key[1] ^= dbkey[i+1];
key[2] ^= dbkey[i+2];
key[3] ^= dbkey[i+3];
}
}
/* Make a token handle for an object and record it so we can find it again */
CK_OBJECT_HANDLE
lg_mkHandle(SDB *sdb, SECItem *dbKey, CK_OBJECT_HANDLE class)
{
unsigned char hashBuf[4];
CK_OBJECT_HANDLE handle;
const SECItem *key;
handle = class;
/* there is only one KRL, use a fixed handle for it */
if (handle != LG_TOKEN_KRL_HANDLE) {
lg_XORHash(hashBuf,dbKey->data,dbKey->len);
handle = (hashBuf[0] << 24) | (hashBuf[1] << 16) |
(hashBuf[2] << 8) | hashBuf[3];
handle = class | (handle & ~(LG_TOKEN_TYPE_MASK|LG_TOKEN_MASK));
/* we have a CRL who's handle has randomly matched the reserved KRL
* handle, increment it */
if (handle == LG_TOKEN_KRL_HANDLE) {
handle++;
}
}
lg_DBLock(sdb);
while ((key = lg_lookupTokenKeyByHandle(sdb,handle)) != NULL) {
if (SECITEM_ItemsAreEqual(key,dbKey)) {
lg_DBUnlock(sdb);
return handle;
}
handle++;
}
lg_addTokenKeyByHandle(sdb,handle,dbKey);
lg_DBUnlock(sdb);
return handle;
}
PRBool
lg_poisonHandle(SDB *sdb, SECItem *dbKey, CK_OBJECT_HANDLE class)
{
unsigned char hashBuf[4];
CK_OBJECT_HANDLE handle;
const SECItem *key;
handle = class;
/* there is only one KRL, use a fixed handle for it */
if (handle != LG_TOKEN_KRL_HANDLE) {
lg_XORHash(hashBuf,dbKey->data,dbKey->len);
handle = (hashBuf[0] << 24) | (hashBuf[1] << 16) |
(hashBuf[2] << 8) | hashBuf[3];
handle = class | (handle & ~(LG_TOKEN_TYPE_MASK|LG_TOKEN_MASK));
/* we have a CRL who's handle has randomly matched the reserved KRL
* handle, increment it */
if (handle == LG_TOKEN_KRL_HANDLE) {
handle++;
}
}
lg_DBLock(sdb);
while ((key = lg_lookupTokenKeyByHandle(sdb,handle)) != NULL) {
if (SECITEM_ItemsAreEqual(key,dbKey)) {
key->data[0] ^= 0x80;
lg_DBUnlock(sdb);
return PR_TRUE;
}
handle++;
}
lg_DBUnlock(sdb);
return PR_FALSE;
}
static LGEncryptFunc lg_encrypt_stub = NULL;
static LGDecryptFunc lg_decrypt_stub = NULL;
void
legacy_SetCryptFunctions(LGEncryptFunc enc, LGDecryptFunc dec)
{
lg_encrypt_stub = enc;
lg_decrypt_stub = dec;
}
SECStatus lg_util_encrypt(PLArenaPool *arena, SDB *sdb,
SECItem *plainText, SECItem **cipherText)
{
if (lg_encrypt_stub == NULL) {
PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
return SECFailure;
}
return (*lg_encrypt_stub)(arena, sdb, plainText, cipherText);
}
SECStatus lg_util_decrypt(SDB *sdb, SECItem *cipherText, SECItem **plainText)
{
if (lg_decrypt_stub == NULL) {
PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
return SECFailure;
}
return (*lg_decrypt_stub)(sdb, cipherText, plainText);
}

View File

@@ -0,0 +1,824 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Dr Vipul Gupta <vipul.gupta@sun.com>, Sun Microsystems Laboratories
*
* 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 ***** */
/*
* Certificate handling code
*
* $Id: lowcert.c,v 1.1.2.2 2007-05-15 21:59:52 rrelyea%redhat.com Exp $
*/
#include "seccomon.h"
#include "secder.h"
#include "nssilock.h"
#include "lowkeyi.h"
#include "secasn1.h"
#include "secoid.h"
#include "secerr.h"
#include "pcert.h"
static const SEC_ASN1Template nsslowcert_SubjectPublicKeyInfoTemplate[] = {
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(NSSLOWCERTSubjectPublicKeyInfo) },
{ SEC_ASN1_INLINE, offsetof(NSSLOWCERTSubjectPublicKeyInfo,algorithm),
SECOID_AlgorithmIDTemplate },
{ SEC_ASN1_BIT_STRING,
offsetof(NSSLOWCERTSubjectPublicKeyInfo,subjectPublicKey), },
{ 0, }
};
static const SEC_ASN1Template nsslowcert_RSAPublicKeyTemplate[] = {
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(NSSLOWKEYPublicKey) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPublicKey,u.rsa.modulus), },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPublicKey,u.rsa.publicExponent), },
{ 0, }
};
static const SEC_ASN1Template nsslowcert_DSAPublicKeyTemplate[] = {
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPublicKey,u.dsa.publicValue), },
{ 0, }
};
static const SEC_ASN1Template nsslowcert_DHPublicKeyTemplate[] = {
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPublicKey,u.dh.publicValue), },
{ 0, }
};
/*
* See bugzilla bug 125359
* Since NSS (via PKCS#11) wants to handle big integers as unsigned ints,
* all of the templates above that en/decode into integers must be converted
* from ASN.1's signed integer type. This is done by marking either the
* source or destination (encoding or decoding, respectively) type as
* siUnsignedInteger.
*/
static void
prepare_low_rsa_pub_key_for_asn1(NSSLOWKEYPublicKey *pubk)
{
pubk->u.rsa.modulus.type = siUnsignedInteger;
pubk->u.rsa.publicExponent.type = siUnsignedInteger;
}
static void
prepare_low_dsa_pub_key_for_asn1(NSSLOWKEYPublicKey *pubk)
{
pubk->u.dsa.publicValue.type = siUnsignedInteger;
pubk->u.dsa.params.prime.type = siUnsignedInteger;
pubk->u.dsa.params.subPrime.type = siUnsignedInteger;
pubk->u.dsa.params.base.type = siUnsignedInteger;
}
static void
prepare_low_dh_pub_key_for_asn1(NSSLOWKEYPublicKey *pubk)
{
pubk->u.dh.prime.type = siUnsignedInteger;
pubk->u.dh.base.type = siUnsignedInteger;
pubk->u.dh.publicValue.type = siUnsignedInteger;
}
/*
* simple cert decoder to avoid the cost of asn1 engine
*/
static unsigned char *
nsslowcert_dataStart(unsigned char *buf, unsigned int length,
unsigned int *data_length, PRBool includeTag,
unsigned char* rettag) {
unsigned char tag;
unsigned int used_length= 0;
tag = buf[used_length++];
if (rettag) {
*rettag = tag;
}
/* blow out when we come to the end */
if (tag == 0) {
return NULL;
}
*data_length = buf[used_length++];
if (*data_length&0x80) {
int len_count = *data_length & 0x7f;
*data_length = 0;
while (len_count-- > 0) {
*data_length = (*data_length << 8) | buf[used_length++];
}
}
if (*data_length > (length-used_length) ) {
*data_length = length-used_length;
return NULL;
}
if (includeTag) *data_length += used_length;
return (buf + (includeTag ? 0 : used_length));
}
static void SetTimeType(SECItem* item, unsigned char tagtype)
{
switch (tagtype) {
case SEC_ASN1_UTC_TIME:
item->type = siUTCTime;
break;
case SEC_ASN1_GENERALIZED_TIME:
item->type = siGeneralizedTime;
break;
default:
PORT_Assert(0);
break;
}
}
static int
nsslowcert_GetValidityFields(unsigned char *buf,int buf_length,
SECItem *notBefore, SECItem *notAfter)
{
unsigned char tagtype;
notBefore->data = nsslowcert_dataStart(buf,buf_length,
&notBefore->len,PR_FALSE, &tagtype);
if (notBefore->data == NULL) return SECFailure;
SetTimeType(notBefore, tagtype);
buf_length -= (notBefore->data-buf) + notBefore->len;
buf = notBefore->data + notBefore->len;
notAfter->data = nsslowcert_dataStart(buf,buf_length,
&notAfter->len,PR_FALSE, &tagtype);
if (notAfter->data == NULL) return SECFailure;
SetTimeType(notAfter, tagtype);
return SECSuccess;
}
static int
nsslowcert_GetCertFields(unsigned char *cert,int cert_length,
SECItem *issuer, SECItem *serial, SECItem *derSN, SECItem *subject,
SECItem *valid, SECItem *subjkey, SECItem *extensions)
{
unsigned char *buf;
unsigned int buf_length;
unsigned char *dummy;
unsigned int dummylen;
/* get past the signature wrap */
buf = nsslowcert_dataStart(cert,cert_length,&buf_length,PR_FALSE, NULL);
if (buf == NULL) return SECFailure;
/* get into the raw cert data */
buf = nsslowcert_dataStart(buf,buf_length,&buf_length,PR_FALSE, NULL);
if (buf == NULL) return SECFailure;
/* skip past any optional version number */
if ((buf[0] & 0xa0) == 0xa0) {
dummy = nsslowcert_dataStart(buf,buf_length,&dummylen,PR_FALSE, NULL);
if (dummy == NULL) return SECFailure;
buf_length -= (dummy-buf) + dummylen;
buf = dummy + dummylen;
}
/* serial number */
if (derSN) {
derSN->data=nsslowcert_dataStart(buf,buf_length,&derSN->len,PR_TRUE, NULL);
}
serial->data = nsslowcert_dataStart(buf,buf_length,&serial->len,PR_FALSE, NULL);
if (serial->data == NULL) return SECFailure;
buf_length -= (serial->data-buf) + serial->len;
buf = serial->data + serial->len;
/* skip the OID */
dummy = nsslowcert_dataStart(buf,buf_length,&dummylen,PR_FALSE, NULL);
if (dummy == NULL) return SECFailure;
buf_length -= (dummy-buf) + dummylen;
buf = dummy + dummylen;
/* issuer */
issuer->data = nsslowcert_dataStart(buf,buf_length,&issuer->len,PR_TRUE, NULL);
if (issuer->data == NULL) return SECFailure;
buf_length -= (issuer->data-buf) + issuer->len;
buf = issuer->data + issuer->len;
/* only wanted issuer/SN */
if (valid == NULL) {
return SECSuccess;
}
/* validity */
valid->data = nsslowcert_dataStart(buf,buf_length,&valid->len,PR_FALSE, NULL);
if (valid->data == NULL) return SECFailure;
buf_length -= (valid->data-buf) + valid->len;
buf = valid->data + valid->len;
/*subject */
subject->data=nsslowcert_dataStart(buf,buf_length,&subject->len,PR_TRUE, NULL);
if (subject->data == NULL) return SECFailure;
buf_length -= (subject->data-buf) + subject->len;
buf = subject->data + subject->len;
/* subject key info */
subjkey->data=nsslowcert_dataStart(buf,buf_length,&subjkey->len,PR_TRUE, NULL);
if (subjkey->data == NULL) return SECFailure;
buf_length -= (subjkey->data-buf) + subjkey->len;
buf = subjkey->data + subjkey->len;
extensions->data = NULL;
extensions->len = 0;
while (buf_length > 0) {
/* EXTENSIONS */
if (buf[0] == 0xa3) {
extensions->data = nsslowcert_dataStart(buf,buf_length,
&extensions->len, PR_FALSE, NULL);
break;
}
dummy = nsslowcert_dataStart(buf,buf_length,&dummylen,PR_FALSE,NULL);
if (dummy == NULL) return SECFailure;
buf_length -= (dummy - buf) + dummylen;
buf = dummy + dummylen;
}
return SECSuccess;
}
static SECStatus
nsslowcert_GetCertTimes(NSSLOWCERTCertificate *c, PRTime *notBefore, PRTime *notAfter)
{
int rv;
NSSLOWCERTValidity validity;
rv = nsslowcert_GetValidityFields(c->validity.data,c->validity.len,
&validity.notBefore,&validity.notAfter);
if (rv != SECSuccess) {
return rv;
}
/* convert DER not-before time */
rv = DER_DecodeTimeChoice(notBefore, &validity.notBefore);
if (rv) {
return(SECFailure);
}
/* convert DER not-after time */
rv = DER_DecodeTimeChoice(notAfter, &validity.notAfter);
if (rv) {
return(SECFailure);
}
return(SECSuccess);
}
/*
* is certa newer than certb? If one is expired, pick the other one.
*/
PRBool
nsslowcert_IsNewer(NSSLOWCERTCertificate *certa, NSSLOWCERTCertificate *certb)
{
PRTime notBeforeA, notAfterA, notBeforeB, notAfterB, now;
SECStatus rv;
PRBool newerbefore, newerafter;
rv = nsslowcert_GetCertTimes(certa, &notBeforeA, &notAfterA);
if ( rv != SECSuccess ) {
return(PR_FALSE);
}
rv = nsslowcert_GetCertTimes(certb, &notBeforeB, &notAfterB);
if ( rv != SECSuccess ) {
return(PR_TRUE);
}
newerbefore = PR_FALSE;
if ( LL_CMP(notBeforeA, >, notBeforeB) ) {
newerbefore = PR_TRUE;
}
newerafter = PR_FALSE;
if ( LL_CMP(notAfterA, >, notAfterB) ) {
newerafter = PR_TRUE;
}
if ( newerbefore && newerafter ) {
return(PR_TRUE);
}
if ( ( !newerbefore ) && ( !newerafter ) ) {
return(PR_FALSE);
}
/* get current time */
now = PR_Now();
if ( newerbefore ) {
/* cert A was issued after cert B, but expires sooner */
/* if A is expired, then pick B */
if ( LL_CMP(notAfterA, <, now ) ) {
return(PR_FALSE);
}
return(PR_TRUE);
} else {
/* cert B was issued after cert A, but expires sooner */
/* if B is expired, then pick A */
if ( LL_CMP(notAfterB, <, now ) ) {
return(PR_TRUE);
}
return(PR_FALSE);
}
}
#define SOFT_DEFAULT_CHUNKSIZE 2048
static SECStatus
nsslowcert_KeyFromIssuerAndSN(PRArenaPool *arena,
SECItem *issuer, SECItem *sn, SECItem *key)
{
unsigned int len = sn->len + issuer->len;
if (!arena) {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
goto loser;
}
key->data = (unsigned char*)PORT_ArenaAlloc(arena, len);
if ( !key->data ) {
goto loser;
}
key->len = len;
/* copy the serialNumber */
PORT_Memcpy(key->data, sn->data, sn->len);
/* copy the issuer */
PORT_Memcpy(&key->data[sn->len], issuer->data, issuer->len);
return(SECSuccess);
loser:
return(SECFailure);
}
static SECStatus
nsslowcert_KeyFromIssuerAndSNStatic(unsigned char *space,
int spaceLen, SECItem *issuer, SECItem *sn, SECItem *key)
{
unsigned int len = sn->len + issuer->len;
key->data = pkcs11_allocStaticData(len, space, spaceLen);
if ( !key->data ) {
goto loser;
}
key->len = len;
/* copy the serialNumber */
PORT_Memcpy(key->data, sn->data, sn->len);
/* copy the issuer */
PORT_Memcpy(&key->data[sn->len], issuer->data, issuer->len);
return(SECSuccess);
loser:
return(SECFailure);
}
static char *
nsslowcert_EmailName(SECItem *derDN, char *space, unsigned int len)
{
unsigned char *buf;
unsigned int buf_length;
/* unwrap outer sequence */
buf=nsslowcert_dataStart(derDN->data,derDN->len,&buf_length,PR_FALSE,NULL);
if (buf == NULL) return NULL;
/* Walk each RDN */
while (buf_length > 0) {
unsigned char *rdn;
unsigned int rdn_length;
/* grab next rdn */
rdn=nsslowcert_dataStart(buf, buf_length, &rdn_length, PR_FALSE, NULL);
if (rdn == NULL) { return NULL; }
buf_length -= (rdn - buf) + rdn_length;
buf = rdn+rdn_length;
while (rdn_length > 0) {
unsigned char *ava;
unsigned int ava_length;
unsigned char *oid;
unsigned int oid_length;
unsigned char *name;
unsigned int name_length;
SECItem oidItem;
SECOidTag type;
/* unwrap the ava */
ava=nsslowcert_dataStart(rdn, rdn_length, &ava_length, PR_FALSE,
NULL);
if (ava == NULL) return NULL;
rdn_length -= (ava-rdn)+ava_length;
rdn = ava + ava_length;
oid=nsslowcert_dataStart(ava, ava_length, &oid_length, PR_FALSE,
NULL);
if (oid == NULL) { return NULL; }
ava_length -= (oid-ava)+oid_length;
ava = oid+oid_length;
name=nsslowcert_dataStart(ava, ava_length, &name_length, PR_FALSE,
NULL);
if (oid == NULL) { return NULL; }
ava_length -= (name-ava)+name_length;
ava = name+name_length;
oidItem.data = oid;
oidItem.len = oid_length;
type = SECOID_FindOIDTag(&oidItem);
if ((type == SEC_OID_PKCS9_EMAIL_ADDRESS) ||
(type == SEC_OID_RFC1274_MAIL)) {
/* Email is supposed to be IA5String, so no
* translation necessary */
char *emailAddr;
emailAddr = (char *)pkcs11_copyStaticData(name,name_length+1,
(unsigned char *)space,len);
if (emailAddr) {
emailAddr[name_length] = 0;
}
return emailAddr;
}
}
}
return NULL;
}
static char *
nsslowcert_EmailAltName(NSSLOWCERTCertificate *cert, char *space,
unsigned int len)
{
unsigned char *exts;
unsigned int exts_length;
/* unwrap the sequence */
exts = nsslowcert_dataStart(cert->extensions.data, cert->extensions.len,
&exts_length, PR_FALSE, NULL);
/* loop through extension */
while (exts && exts_length > 0) {
unsigned char * ext;
unsigned int ext_length;
unsigned char *oid;
unsigned int oid_length;
unsigned char *nameList;
unsigned int nameList_length;
SECItem oidItem;
SECOidTag type;
ext = nsslowcert_dataStart(exts, exts_length, &ext_length,
PR_FALSE, NULL);
if (ext == NULL) { break; }
exts_length -= (ext - exts) + ext_length;
exts = ext+ext_length;
oid=nsslowcert_dataStart(ext, ext_length, &oid_length, PR_FALSE, NULL);
if (oid == NULL) { break; }
ext_length -= (oid - ext) + oid_length;
ext = oid+oid_length;
oidItem.data = oid;
oidItem.len = oid_length;
type = SECOID_FindOIDTag(&oidItem);
/* get Alt Extension */
if (type != SEC_OID_X509_SUBJECT_ALT_NAME) {
continue;
}
/* skip passed the critical flag */
if (ext[0] == 0x01) { /* BOOLEAN */
unsigned char *dummy;
unsigned int dummy_length;
dummy = nsslowcert_dataStart(ext, ext_length, &dummy_length,
PR_FALSE, NULL);
if (dummy == NULL) { break; }
ext_length -= (dummy - ext) + dummy_length;
ext = dummy+dummy_length;
}
/* unwrap the name list */
nameList = nsslowcert_dataStart(ext, ext_length, &nameList_length,
PR_FALSE, NULL);
if (nameList == NULL) { break; }
ext_length -= (nameList - ext) + nameList_length;
ext = nameList+nameList_length;
nameList = nsslowcert_dataStart(nameList, nameList_length,
&nameList_length, PR_FALSE, NULL);
/* loop through the name list */
while (nameList && nameList_length > 0) {
unsigned char *thisName;
unsigned int thisName_length;
thisName = nsslowcert_dataStart(nameList, nameList_length,
&thisName_length, PR_FALSE, NULL);
if (thisName == NULL) { break; }
if (nameList[0] == 0xa2) { /* DNS Name */
SECItem dn;
char *emailAddr;
dn.data = thisName;
dn.len = thisName_length;
emailAddr = nsslowcert_EmailName(&dn, space, len);
if (emailAddr) {
return emailAddr;
}
}
if (nameList[0] == 0x81) { /* RFC 822name */
char *emailAddr;
emailAddr = (char *)pkcs11_copyStaticData(thisName,
thisName_length+1, (unsigned char *)space,len);
if (emailAddr) {
emailAddr[thisName_length] = 0;
}
return emailAddr;
}
nameList_length -= (thisName-nameList) + thisName_length;
nameList = thisName + thisName_length;
}
break;
}
return NULL;
}
static char *
nsslowcert_GetCertificateEmailAddress(NSSLOWCERTCertificate *cert)
{
char *emailAddr = NULL;
char *str;
emailAddr = nsslowcert_EmailName(&cert->derSubject,cert->emailAddrSpace,
sizeof(cert->emailAddrSpace));
/* couldn't find the email address in the DN, check the subject Alt name */
if (!emailAddr && cert->extensions.data) {
emailAddr = nsslowcert_EmailAltName(cert, cert->emailAddrSpace,
sizeof(cert->emailAddrSpace));
}
/* make it lower case */
str = emailAddr;
while ( str && *str ) {
*str = tolower( *str );
str++;
}
return emailAddr;
}
/*
* take a DER certificate and decode it into a certificate structure
*/
NSSLOWCERTCertificate *
nsslowcert_DecodeDERCertificate(SECItem *derSignedCert, char *nickname)
{
NSSLOWCERTCertificate *cert;
int rv;
/* allocate the certificate structure */
cert = nsslowcert_CreateCert();
if ( !cert ) {
goto loser;
}
/* point to passed in DER data */
cert->derCert = *derSignedCert;
cert->nickname = NULL;
cert->certKey.data = NULL;
cert->referenceCount = 1;
/* decode the certificate info */
rv = nsslowcert_GetCertFields(cert->derCert.data, cert->derCert.len,
&cert->derIssuer, &cert->serialNumber, &cert->derSN, &cert->derSubject,
&cert->validity, &cert->derSubjKeyInfo, &cert->extensions);
/* cert->subjectKeyID; x509v3 subject key identifier */
cert->subjectKeyID.data = NULL;
cert->subjectKeyID.len = 0;
cert->dbEntry = NULL;
cert ->trust = NULL;
cert ->dbhandle = NULL;
/* generate and save the database key for the cert */
rv = nsslowcert_KeyFromIssuerAndSNStatic(cert->certKeySpace,
sizeof(cert->certKeySpace), &cert->derIssuer,
&cert->serialNumber, &cert->certKey);
if ( rv ) {
goto loser;
}
/* set the nickname */
if ( nickname == NULL ) {
cert->nickname = NULL;
} else {
/* copy and install the nickname */
cert->nickname = pkcs11_copyNickname(nickname,cert->nicknameSpace,
sizeof(cert->nicknameSpace));
}
#ifdef FIXME
/* initialize the subjectKeyID */
rv = cert_GetKeyID(cert);
if ( rv != SECSuccess ) {
goto loser;
}
#endif
/* set the email address */
cert->emailAddr = nsslowcert_GetCertificateEmailAddress(cert);
cert->referenceCount = 1;
return(cert);
loser:
if (cert) {
nsslowcert_DestroyCertificate(cert);
}
return(0);
}
char *
nsslowcert_FixupEmailAddr(char *emailAddr)
{
char *retaddr;
char *str;
if ( emailAddr == NULL ) {
return(NULL);
}
/* copy the string */
str = retaddr = PORT_Strdup(emailAddr);
if ( str == NULL ) {
return(NULL);
}
/* make it lower case */
while ( *str ) {
*str = tolower( *str );
str++;
}
return(retaddr);
}
/*
* Generate a database key, based on serial number and issuer, from a
* DER certificate.
*/
SECStatus
nsslowcert_KeyFromDERCert(PRArenaPool *arena, SECItem *derCert, SECItem *key)
{
int rv;
NSSLOWCERTCertKey certkey;
PORT_Memset(&certkey, 0, sizeof(NSSLOWCERTCertKey));
rv = nsslowcert_GetCertFields(derCert->data, derCert->len,
&certkey.derIssuer, &certkey.serialNumber, NULL, NULL,
NULL, NULL, NULL);
if ( rv ) {
goto loser;
}
return(nsslowcert_KeyFromIssuerAndSN(arena, &certkey.derIssuer,
&certkey.serialNumber, key));
loser:
return(SECFailure);
}
NSSLOWKEYPublicKey *
nsslowcert_ExtractPublicKey(NSSLOWCERTCertificate *cert)
{
NSSLOWCERTSubjectPublicKeyInfo spki;
NSSLOWKEYPublicKey *pubk;
SECItem os;
SECStatus rv;
PRArenaPool *arena;
SECOidTag tag;
SECItem newDerSubjKeyInfo;
arena = PORT_NewArena (DER_DEFAULT_CHUNKSIZE);
if (arena == NULL)
return NULL;
pubk = (NSSLOWKEYPublicKey *)
PORT_ArenaZAlloc(arena, sizeof(NSSLOWKEYPublicKey));
if (pubk == NULL) {
PORT_FreeArena (arena, PR_FALSE);
return NULL;
}
pubk->arena = arena;
PORT_Memset(&spki,0,sizeof(spki));
/* copy the DER into the arena, since Quick DER returns data that points
into the DER input, which may get freed by the caller */
rv = SECITEM_CopyItem(arena, &newDerSubjKeyInfo, &cert->derSubjKeyInfo);
if ( rv != SECSuccess ) {
PORT_FreeArena (arena, PR_FALSE);
return NULL;
}
/* we haven't bothered decoding the spki struct yet, do it now */
rv = SEC_QuickDERDecodeItem(arena, &spki,
nsslowcert_SubjectPublicKeyInfoTemplate, &newDerSubjKeyInfo);
if (rv != SECSuccess) {
PORT_FreeArena (arena, PR_FALSE);
return NULL;
}
/* Convert bit string length from bits to bytes */
os = spki.subjectPublicKey;
DER_ConvertBitString (&os);
tag = SECOID_GetAlgorithmTag(&spki.algorithm);
switch ( tag ) {
case SEC_OID_X500_RSA_ENCRYPTION:
case SEC_OID_PKCS1_RSA_ENCRYPTION:
pubk->keyType = NSSLOWKEYRSAKey;
prepare_low_rsa_pub_key_for_asn1(pubk);
rv = SEC_QuickDERDecodeItem(arena, pubk,
nsslowcert_RSAPublicKeyTemplate, &os);
if (rv == SECSuccess)
return pubk;
break;
case SEC_OID_ANSIX9_DSA_SIGNATURE:
pubk->keyType = NSSLOWKEYDSAKey;
prepare_low_dsa_pub_key_for_asn1(pubk);
rv = SEC_QuickDERDecodeItem(arena, pubk,
nsslowcert_DSAPublicKeyTemplate, &os);
if (rv == SECSuccess) return pubk;
break;
case SEC_OID_X942_DIFFIE_HELMAN_KEY:
pubk->keyType = NSSLOWKEYDHKey;
prepare_low_dh_pub_key_for_asn1(pubk);
rv = SEC_QuickDERDecodeItem(arena, pubk,
nsslowcert_DHPublicKeyTemplate, &os);
if (rv == SECSuccess) return pubk;
break;
#ifdef NSS_ENABLE_ECC
case SEC_OID_ANSIX962_EC_PUBLIC_KEY:
pubk->keyType = NSSLOWKEYECKey;
/* Since PKCS#11 directly takes the DER encoding of EC params
* and public value, we don't need any decoding here.
*/
rv = SECITEM_CopyItem(arena, &pubk->u.ec.ecParams.DEREncoding,
&spki.algorithm.parameters);
if ( rv != SECSuccess )
break;
/* Fill out the rest of the ecParams structure
* based on the encoded params
*/
if (LGEC_FillParams(arena, &pubk->u.ec.ecParams.DEREncoding,
&pubk->u.ec.ecParams) != SECSuccess)
break;
rv = SECITEM_CopyItem(arena, &pubk->u.ec.publicValue, &os);
if (rv == SECSuccess) return pubk;
break;
#endif /* NSS_ENABLE_ECC */
default:
rv = SECFailure;
break;
}
nsslowkey_DestroyPublicKey (pubk);
return NULL;
}

View File

@@ -0,0 +1,462 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Dr Vipul Gupta <vipul.gupta@sun.com>, Sun Microsystems Laboratories
*
* 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 "lowkeyi.h"
#include "secoid.h"
#include "secitem.h"
#include "secder.h"
#include "secasn1.h"
#include "secerr.h"
static const SEC_ASN1Template nsslowkey_AttributeTemplate[] = {
{ SEC_ASN1_SEQUENCE,
0, NULL, sizeof(NSSLOWKEYAttribute) },
{ SEC_ASN1_OBJECT_ID, offsetof(NSSLOWKEYAttribute, attrType) },
{ SEC_ASN1_SET_OF, offsetof(NSSLOWKEYAttribute, attrValue),
SEC_AnyTemplate },
{ 0 }
};
static const SEC_ASN1Template nsslowkey_SetOfAttributeTemplate[] = {
{ SEC_ASN1_SET_OF, 0, nsslowkey_AttributeTemplate },
};
/* ASN1 Templates for new decoder/encoder */
const SEC_ASN1Template nsslowkey_PrivateKeyInfoTemplate[] = {
{ SEC_ASN1_SEQUENCE,
0, NULL, sizeof(NSSLOWKEYPrivateKeyInfo) },
{ SEC_ASN1_INTEGER,
offsetof(NSSLOWKEYPrivateKeyInfo,version) },
{ SEC_ASN1_INLINE,
offsetof(NSSLOWKEYPrivateKeyInfo,algorithm),
SECOID_AlgorithmIDTemplate },
{ SEC_ASN1_OCTET_STRING,
offsetof(NSSLOWKEYPrivateKeyInfo,privateKey) },
{ SEC_ASN1_OPTIONAL | SEC_ASN1_CONSTRUCTED | SEC_ASN1_CONTEXT_SPECIFIC | 0,
offsetof(NSSLOWKEYPrivateKeyInfo, attributes),
nsslowkey_SetOfAttributeTemplate },
{ 0 }
};
const SEC_ASN1Template nsslowkey_PQGParamsTemplate[] = {
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(PQGParams) },
{ SEC_ASN1_INTEGER, offsetof(PQGParams,prime) },
{ SEC_ASN1_INTEGER, offsetof(PQGParams,subPrime) },
{ SEC_ASN1_INTEGER, offsetof(PQGParams,base) },
{ 0, }
};
const SEC_ASN1Template nsslowkey_RSAPrivateKeyTemplate[] = {
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(NSSLOWKEYPrivateKey) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.version) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.modulus) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.publicExponent) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.privateExponent) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.prime1) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.prime2) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.exponent1) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.exponent2) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.coefficient) },
{ 0 }
};
const SEC_ASN1Template nsslowkey_DSAPrivateKeyTemplate[] = {
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(NSSLOWKEYPrivateKey) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.dsa.publicValue) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.dsa.privateValue) },
{ 0, }
};
const SEC_ASN1Template nsslowkey_DSAPrivateKeyExportTemplate[] = {
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.dsa.privateValue) },
};
const SEC_ASN1Template nsslowkey_DHPrivateKeyTemplate[] = {
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(NSSLOWKEYPrivateKey) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.dh.publicValue) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.dh.privateValue) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.dh.base) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.dh.prime) },
{ 0, }
};
#ifdef NSS_ENABLE_ECC
/* XXX This is just a placeholder for later when we support
* generic curves and need full-blown support for parsing EC
* parameters. For now, we only support named curves in which
* EC params are simply encoded as an object ID and we don't
* use nsslowkey_ECParamsTemplate.
*/
const SEC_ASN1Template nsslowkey_ECParamsTemplate[] = {
{ SEC_ASN1_CHOICE, offsetof(ECParams,type), NULL, sizeof(ECParams) },
{ SEC_ASN1_OBJECT_ID, offsetof(ECParams,curveOID), NULL, ec_params_named },
{ 0, }
};
/* NOTE: The SECG specification allows the private key structure
* to contain curve parameters but recommends that they be stored
* in the PrivateKeyAlgorithmIdentifier field of the PrivateKeyInfo
* instead.
*/
const SEC_ASN1Template nsslowkey_ECPrivateKeyTemplate[] = {
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(NSSLOWKEYPrivateKey) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.ec.version) },
{ SEC_ASN1_OCTET_STRING,
offsetof(NSSLOWKEYPrivateKey,u.ec.privateValue) },
/* XXX The following template works for now since we only
* support named curves for which the parameters are
* encoded as an object ID. When we support generic curves,
* we'll need to define nsslowkey_ECParamsTemplate
*/
#if 1
{ SEC_ASN1_OPTIONAL | SEC_ASN1_CONSTRUCTED |
SEC_ASN1_EXPLICIT | SEC_ASN1_CONTEXT_SPECIFIC | 0,
offsetof(NSSLOWKEYPrivateKey,u.ec.ecParams.curveOID),
SEC_ObjectIDTemplate },
#else
{ SEC_ASN1_OPTIONAL | SEC_ASN1_CONSTRUCTED |
SEC_ASN1_EXPLICIT | SEC_ASN1_CONTEXT_SPECIFIC | 0,
offsetof(NSSLOWKEYPrivateKey,u.ec.ecParams),
nsslowkey_ECParamsTemplate },
#endif
{ SEC_ASN1_OPTIONAL | SEC_ASN1_CONSTRUCTED |
SEC_ASN1_EXPLICIT | SEC_ASN1_CONTEXT_SPECIFIC | 1,
offsetof(NSSLOWKEYPrivateKey,u.ec.publicValue),
SEC_BitStringTemplate },
{ 0, }
};
/*
* smaller version of EC_FillParams. In this code, we only need
* oid and DER data.
*/
SECStatus
LGEC_FillParams(PRArenaPool *arena, const SECItem *encodedParams,
ECParams *params)
{
SECOidTag tag;
SECItem oid = { siBuffer, NULL, 0};
#if EC_DEBUG
int i;
printf("Encoded params in EC_DecodeParams: ");
for (i = 0; i < encodedParams->len; i++) {
printf("%02x:", encodedParams->data[i]);
}
printf("\n");
#endif
oid.len = encodedParams->len - 2;
oid.data = encodedParams->data + 2;
if ((encodedParams->data[0] != SEC_ASN1_OBJECT_ID) ||
((tag = SECOID_FindOIDTag(&oid)) == SEC_OID_UNKNOWN)) {
PORT_SetError(SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE);
return SECFailure;
}
params->arena = arena;
/* For named curves, fill out curveOID */
params->curveOID.len = oid.len;
params->curveOID.data = (unsigned char *) PORT_ArenaAlloc(arena, oid.len);
if (params->curveOID.data == NULL) {
return SECFailure;
}
memcpy(params->curveOID.data, oid.data, oid.len);
return SECSuccess;
}
/* Copy all of the fields from srcParams into dstParams
*/
SECStatus
LGEC_CopyParams(PRArenaPool *arena, ECParams *dstParams,
const ECParams *srcParams)
{
SECStatus rv = SECFailure;
dstParams->arena = arena;
rv = SECITEM_CopyItem(arena, &dstParams->DEREncoding,
&srcParams->DEREncoding);
if (rv != SECSuccess) {
goto loser;
}
rv =SECITEM_CopyItem(arena, &dstParams->curveOID,
&srcParams->curveOID);
if (rv != SECSuccess) {
goto loser;
}
return SECSuccess;
loser:
return SECFailure;
}
#endif /* NSS_ENABLE_ECC */
/*
* See bugzilla bug 125359
* Since NSS (via PKCS#11) wants to handle big integers as unsigned ints,
* all of the templates above that en/decode into integers must be converted
* from ASN.1's signed integer type. This is done by marking either the
* source or destination (encoding or decoding, respectively) type as
* siUnsignedInteger.
*/
void
prepare_low_rsa_priv_key_for_asn1(NSSLOWKEYPrivateKey *key)
{
key->u.rsa.modulus.type = siUnsignedInteger;
key->u.rsa.publicExponent.type = siUnsignedInteger;
key->u.rsa.privateExponent.type = siUnsignedInteger;
key->u.rsa.prime1.type = siUnsignedInteger;
key->u.rsa.prime2.type = siUnsignedInteger;
key->u.rsa.exponent1.type = siUnsignedInteger;
key->u.rsa.exponent2.type = siUnsignedInteger;
key->u.rsa.coefficient.type = siUnsignedInteger;
}
void
prepare_low_pqg_params_for_asn1(PQGParams *params)
{
params->prime.type = siUnsignedInteger;
params->subPrime.type = siUnsignedInteger;
params->base.type = siUnsignedInteger;
}
void
prepare_low_dsa_priv_key_for_asn1(NSSLOWKEYPrivateKey *key)
{
key->u.dsa.publicValue.type = siUnsignedInteger;
key->u.dsa.privateValue.type = siUnsignedInteger;
key->u.dsa.params.prime.type = siUnsignedInteger;
key->u.dsa.params.subPrime.type = siUnsignedInteger;
key->u.dsa.params.base.type = siUnsignedInteger;
}
void
prepare_low_dsa_priv_key_export_for_asn1(NSSLOWKEYPrivateKey *key)
{
key->u.dsa.privateValue.type = siUnsignedInteger;
}
void
prepare_low_dh_priv_key_for_asn1(NSSLOWKEYPrivateKey *key)
{
key->u.dh.prime.type = siUnsignedInteger;
key->u.dh.base.type = siUnsignedInteger;
key->u.dh.publicValue.type = siUnsignedInteger;
key->u.dh.privateValue.type = siUnsignedInteger;
}
#ifdef NSS_ENABLE_ECC
void
prepare_low_ecparams_for_asn1(ECParams *params)
{
params->DEREncoding.type = siUnsignedInteger;
params->curveOID.type = siUnsignedInteger;
}
void
prepare_low_ec_priv_key_for_asn1(NSSLOWKEYPrivateKey *key)
{
key->u.ec.version.type = siUnsignedInteger;
key->u.ec.ecParams.DEREncoding.type = siUnsignedInteger;
key->u.ec.ecParams.curveOID.type = siUnsignedInteger;
key->u.ec.privateValue.type = siUnsignedInteger;
key->u.ec.publicValue.type = siUnsignedInteger;
}
#endif /* NSS_ENABLE_ECC */
void
nsslowkey_DestroyPrivateKey(NSSLOWKEYPrivateKey *privk)
{
if (privk && privk->arena) {
PORT_FreeArena(privk->arena, PR_TRUE);
}
}
void
nsslowkey_DestroyPublicKey(NSSLOWKEYPublicKey *pubk)
{
if (pubk && pubk->arena) {
PORT_FreeArena(pubk->arena, PR_FALSE);
}
}
unsigned
nsslowkey_PublicModulusLen(NSSLOWKEYPublicKey *pubk)
{
unsigned char b0;
/* interpret modulus length as key strength... in
* fortezza that's the public key length */
switch (pubk->keyType) {
case NSSLOWKEYRSAKey:
b0 = pubk->u.rsa.modulus.data[0];
return b0 ? pubk->u.rsa.modulus.len : pubk->u.rsa.modulus.len - 1;
default:
break;
}
return 0;
}
unsigned
nsslowkey_PrivateModulusLen(NSSLOWKEYPrivateKey *privk)
{
unsigned char b0;
switch (privk->keyType) {
case NSSLOWKEYRSAKey:
b0 = privk->u.rsa.modulus.data[0];
return b0 ? privk->u.rsa.modulus.len : privk->u.rsa.modulus.len - 1;
default:
break;
}
return 0;
}
NSSLOWKEYPublicKey *
nsslowkey_ConvertToPublicKey(NSSLOWKEYPrivateKey *privk)
{
NSSLOWKEYPublicKey *pubk;
PLArenaPool *arena;
arena = PORT_NewArena (DER_DEFAULT_CHUNKSIZE);
if (arena == NULL) {
PORT_SetError (SEC_ERROR_NO_MEMORY);
return NULL;
}
switch(privk->keyType) {
case NSSLOWKEYRSAKey:
case NSSLOWKEYNullKey:
pubk = (NSSLOWKEYPublicKey *)PORT_ArenaZAlloc(arena,
sizeof (NSSLOWKEYPublicKey));
if (pubk != NULL) {
SECStatus rv;
pubk->arena = arena;
pubk->keyType = privk->keyType;
if (privk->keyType == NSSLOWKEYNullKey) return pubk;
rv = SECITEM_CopyItem(arena, &pubk->u.rsa.modulus,
&privk->u.rsa.modulus);
if (rv == SECSuccess) {
rv = SECITEM_CopyItem (arena, &pubk->u.rsa.publicExponent,
&privk->u.rsa.publicExponent);
if (rv == SECSuccess)
return pubk;
}
} else {
PORT_SetError (SEC_ERROR_NO_MEMORY);
}
break;
case NSSLOWKEYDSAKey:
pubk = (NSSLOWKEYPublicKey *)PORT_ArenaZAlloc(arena,
sizeof(NSSLOWKEYPublicKey));
if (pubk != NULL) {
SECStatus rv;
pubk->arena = arena;
pubk->keyType = privk->keyType;
rv = SECITEM_CopyItem(arena, &pubk->u.dsa.publicValue,
&privk->u.dsa.publicValue);
if (rv != SECSuccess) break;
rv = SECITEM_CopyItem(arena, &pubk->u.dsa.params.prime,
&privk->u.dsa.params.prime);
if (rv != SECSuccess) break;
rv = SECITEM_CopyItem(arena, &pubk->u.dsa.params.subPrime,
&privk->u.dsa.params.subPrime);
if (rv != SECSuccess) break;
rv = SECITEM_CopyItem(arena, &pubk->u.dsa.params.base,
&privk->u.dsa.params.base);
if (rv == SECSuccess) return pubk;
}
break;
case NSSLOWKEYDHKey:
pubk = (NSSLOWKEYPublicKey *)PORT_ArenaZAlloc(arena,
sizeof(NSSLOWKEYPublicKey));
if (pubk != NULL) {
SECStatus rv;
pubk->arena = arena;
pubk->keyType = privk->keyType;
rv = SECITEM_CopyItem(arena, &pubk->u.dh.publicValue,
&privk->u.dh.publicValue);
if (rv != SECSuccess) break;
rv = SECITEM_CopyItem(arena, &pubk->u.dh.prime,
&privk->u.dh.prime);
if (rv != SECSuccess) break;
rv = SECITEM_CopyItem(arena, &pubk->u.dh.base,
&privk->u.dh.base);
if (rv == SECSuccess) return pubk;
}
break;
#ifdef NSS_ENABLE_ECC
case NSSLOWKEYECKey:
pubk = (NSSLOWKEYPublicKey *)PORT_ArenaZAlloc(arena,
sizeof(NSSLOWKEYPublicKey));
if (pubk != NULL) {
SECStatus rv;
pubk->arena = arena;
pubk->keyType = privk->keyType;
rv = SECITEM_CopyItem(arena, &pubk->u.ec.publicValue,
&privk->u.ec.publicValue);
if (rv != SECSuccess) break;
pubk->u.ec.ecParams.arena = arena;
/* Copy the rest of the params */
rv = LGEC_CopyParams(arena, &(pubk->u.ec.ecParams),
&(privk->u.ec.ecParams));
if (rv == SECSuccess) return pubk;
}
break;
#endif /* NSS_ENABLE_ECC */
/* No Fortezza in Low Key implementations (Fortezza keys aren't
* stored in our data base */
default:
break;
}
PORT_FreeArena (arena, PR_FALSE);
return NULL;
}

View File

@@ -0,0 +1,198 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Dr Vipul Gupta <vipul.gupta@sun.com>, Sun Microsystems Laboratories
*
* 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 ***** */
/* $Id: lowkeyi.h,v 1.1.2.1 2007-04-03 22:50:02 rrelyea%redhat.com Exp $ */
#ifndef _LOWKEYI_H_
#define _LOWKEYI_H_
#include "prtypes.h"
#include "seccomon.h"
#include "secoidt.h"
#include "pcertt.h"
#include "lowkeyti.h"
#include "sdb.h"
SEC_BEGIN_PROTOS
/*
* See bugzilla bug 125359
* Since NSS (via PKCS#11) wants to handle big integers as unsigned ints,
* all of the templates above that en/decode into integers must be converted
* from ASN.1's signed integer type. This is done by marking either the
* source or destination (encoding or decoding, respectively) type as
* siUnsignedInteger.
*/
extern void prepare_low_rsa_priv_key_for_asn1(NSSLOWKEYPrivateKey *key);
extern void prepare_low_pqg_params_for_asn1(PQGParams *params);
extern void prepare_low_dsa_priv_key_for_asn1(NSSLOWKEYPrivateKey *key);
extern void prepare_low_dsa_priv_key_export_for_asn1(NSSLOWKEYPrivateKey *key);
extern void prepare_low_dh_priv_key_for_asn1(NSSLOWKEYPrivateKey *key);
#ifdef NSS_ENABLE_ECC
extern void prepare_low_ec_priv_key_for_asn1(NSSLOWKEYPrivateKey *key);
extern void prepare_low_ecparams_for_asn1(ECParams *params);
#endif /* NSS_ENABLE_ECC */
typedef char * (* NSSLOWKEYDBNameFunc)(void *arg, int dbVersion);
/*
** Open a key database.
*/
extern NSSLOWKEYDBHandle *nsslowkey_OpenKeyDB(PRBool readOnly,
const char *domain,
const char *prefix,
NSSLOWKEYDBNameFunc namecb,
void *cbarg);
/*
** Close the specified key database.
*/
extern void nsslowkey_CloseKeyDB(NSSLOWKEYDBHandle *handle);
/*
* Get the version number of the database
*/
extern int nsslowkey_GetKeyDBVersion(NSSLOWKEYDBHandle *handle);
/*
** Delete a key from the database
*/
extern SECStatus nsslowkey_DeleteKey(NSSLOWKEYDBHandle *handle,
const SECItem *pubkey);
/*
** Store a key in the database, indexed by its public key modulus.
** "pk" is the private key to store
** "f" is a the callback function for getting the password
** "arg" is the argument for the callback
*/
extern SECStatus nsslowkey_StoreKeyByPublicKey(NSSLOWKEYDBHandle *handle,
NSSLOWKEYPrivateKey *pk,
SECItem *pubKeyData,
char *nickname,
SDB *sdb);
/* does the key for this cert exist in the database filed by modulus */
extern PRBool nsslowkey_KeyForCertExists(NSSLOWKEYDBHandle *handle,
NSSLOWCERTCertificate *cert);
/* does a key with this ID already exist? */
extern PRBool nsslowkey_KeyForIDExists(NSSLOWKEYDBHandle *handle, SECItem *id);
/*
** Destroy a private key object.
** "key" the object
** "freeit" if PR_TRUE then free the object as well as its sub-objects
*/
extern void nsslowkey_DestroyPrivateKey(NSSLOWKEYPrivateKey *key);
/*
** Destroy a public key object.
** "key" the object
** "freeit" if PR_TRUE then free the object as well as its sub-objects
*/
extern void nsslowkey_DestroyPublicKey(NSSLOWKEYPublicKey *key);
/*
** Return the modulus length of "pubKey".
*/
extern unsigned int nsslowkey_PublicModulusLen(NSSLOWKEYPublicKey *pubKey);
/*
** Return the modulus length of "privKey".
*/
extern unsigned int nsslowkey_PrivateModulusLen(NSSLOWKEYPrivateKey *privKey);
/*
** Convert a low private key "privateKey" into a public low key
*/
extern NSSLOWKEYPublicKey
*nsslowkey_ConvertToPublicKey(NSSLOWKEYPrivateKey *privateKey);
SECStatus
nsslowkey_UpdateNickname(NSSLOWKEYDBHandle *handle,
NSSLOWKEYPrivateKey *privkey,
SECItem *pubKeyData,
char *nickname,
SDB *sdb);
/* Store key by modulus and specify an encryption algorithm to use.
* handle is the pointer to the key database,
* privkey is the private key to be stored,
* f and arg are the function and arguments to the callback
* to get a password,
* algorithm is the algorithm which the privKey is to be stored.
* A return of anything but SECSuccess indicates failure.
*/
extern SECStatus
nsslowkey_StoreKeyByPublicKeyAlg(NSSLOWKEYDBHandle *handle,
NSSLOWKEYPrivateKey *privkey,
SECItem *pubKeyData,
char *nickname,
SDB *sdb,
PRBool update);
/* Find key by modulus. This function is the inverse of store key
* by modulus. An attempt to locate the key with "modulus" is
* performed. If the key is found, the private key is returned,
* else NULL is returned.
* modulus is the modulus to locate
*/
extern NSSLOWKEYPrivateKey *
nsslowkey_FindKeyByPublicKey(NSSLOWKEYDBHandle *handle, SECItem *modulus,
SDB *sdb);
extern char *
nsslowkey_FindKeyNicknameByPublicKey(NSSLOWKEYDBHandle *handle,
SECItem *modulus, SDB *sdb);
#ifdef NSS_ENABLE_ECC
/*
* smaller version of EC_FillParams. In this code, we only need
* oid and DER data.
*/
SECStatus LGEC_FillParams(PRArenaPool *arena, const SECItem *encodedParams,
ECParams *params);
/* Copy all of the fields from srcParams into dstParams */
SECStatus LGEC_CopyParams(PRArenaPool *arena, ECParams *dstParams,
const ECParams *srcParams);
#endif
SEC_END_PROTOS
#endif /* _LOWKEYI_H_ */

View File

@@ -0,0 +1,161 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Dr Vipul Gupta <vipul.gupta@sun.com>, Sun Microsystems Laboratories
*
* 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 _LOWKEYTI_H_
#define _LOWKEYTI_H_ 1
#include "blapit.h"
#include "prtypes.h"
#include "plarena.h"
#include "secitem.h"
#include "secasn1t.h"
#include "secoidt.h"
/*
* a key in/for the data base
*/
struct NSSLOWKEYDBKeyStr {
PLArenaPool *arena;
int version;
char *nickname;
SECItem salt;
SECItem derPK;
};
typedef struct NSSLOWKEYDBKeyStr NSSLOWKEYDBKey;
typedef struct NSSLOWKEYDBHandleStr NSSLOWKEYDBHandle;
#ifdef NSS_USE_KEY4_DB
#define NSSLOWKEY_DB_FILE_VERSION 4
#else
#define NSSLOWKEY_DB_FILE_VERSION 3
#endif
#define NSSLOWKEY_VERSION 0 /* what we *create* */
/*
** Typedef for callback to get a password "key".
*/
extern const SEC_ASN1Template nsslowkey_PQGParamsTemplate[];
extern const SEC_ASN1Template nsslowkey_RSAPrivateKeyTemplate[];
extern const SEC_ASN1Template nsslowkey_DSAPrivateKeyTemplate[];
extern const SEC_ASN1Template nsslowkey_DSAPrivateKeyExportTemplate[];
extern const SEC_ASN1Template nsslowkey_DHPrivateKeyTemplate[];
extern const SEC_ASN1Template nsslowkey_DHPrivateKeyExportTemplate[];
#ifdef NSS_ENABLE_ECC
#define NSSLOWKEY_EC_PRIVATE_KEY_VERSION 1 /* as per SECG 1 C.4 */
extern const SEC_ASN1Template nsslowkey_ECParamsTemplate[];
extern const SEC_ASN1Template nsslowkey_ECPrivateKeyTemplate[];
#endif /* NSS_ENABLE_ECC */
extern const SEC_ASN1Template nsslowkey_PrivateKeyInfoTemplate[];
extern const SEC_ASN1Template nsslowkey_EncryptedPrivateKeyInfoTemplate[];
/*
* PKCS #8 attributes
*/
struct NSSLOWKEYAttributeStr {
SECItem attrType;
SECItem *attrValue;
};
typedef struct NSSLOWKEYAttributeStr NSSLOWKEYAttribute;
/*
** A PKCS#8 private key info object
*/
struct NSSLOWKEYPrivateKeyInfoStr {
PLArenaPool *arena;
SECItem version;
SECAlgorithmID algorithm;
SECItem privateKey;
NSSLOWKEYAttribute **attributes;
};
typedef struct NSSLOWKEYPrivateKeyInfoStr NSSLOWKEYPrivateKeyInfo;
#define NSSLOWKEY_PRIVATE_KEY_INFO_VERSION 0 /* what we *create* */
/*
** A PKCS#8 private key info object
*/
struct NSSLOWKEYEncryptedPrivateKeyInfoStr {
PLArenaPool *arena;
SECAlgorithmID algorithm;
SECItem encryptedData;
};
typedef struct NSSLOWKEYEncryptedPrivateKeyInfoStr NSSLOWKEYEncryptedPrivateKeyInfo;
typedef enum {
NSSLOWKEYNullKey = 0,
NSSLOWKEYRSAKey = 1,
NSSLOWKEYDSAKey = 2,
NSSLOWKEYDHKey = 4,
NSSLOWKEYECKey = 5
} NSSLOWKEYType;
/*
** An RSA public key object.
*/
struct NSSLOWKEYPublicKeyStr {
PLArenaPool *arena;
NSSLOWKEYType keyType ;
union {
RSAPublicKey rsa;
DSAPublicKey dsa;
DHPublicKey dh;
ECPublicKey ec;
} u;
};
typedef struct NSSLOWKEYPublicKeyStr NSSLOWKEYPublicKey;
/*
** Low Level private key object
** This is only used by the raw Crypto engines (crypto), keydb (keydb),
** and PKCS #11. Everyone else uses the high level key structure.
*/
struct NSSLOWKEYPrivateKeyStr {
PLArenaPool *arena;
NSSLOWKEYType keyType;
union {
RSAPrivateKey rsa;
DSAPrivateKey dsa;
DHPrivateKey dh;
ECPrivateKey ec;
} u;
};
typedef struct NSSLOWKEYPrivateKeyStr NSSLOWKEYPrivateKey;
#endif /* _LOWKEYTI_H_ */

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 the Netscape security libraries.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1994-2000
# 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 *****
CORE_DEPTH = ../../../..
MODULE = nss
REQUIRES = dbm
LIBRARY_NAME = lgdbm
LIBRARY_VERSION = 3
MAPFILE = $(OBJDIR)/lgdbm.def
DEFINES += -DSHLIB_SUFFIX=\"$(DLL_SUFFIX)\" -DSHLIB_PREFIX=\"$(DLL_PREFIX)\" -DSOFTOKEN_LIB_NAME=\"$(notdir $(SHARED_LIBRARY))\"
CSRCS = \
dbmshim.c \
keydb.c \
lgattr.c \
lgcreate.c \
lgdestroy.c \
lgfind.c \
lginit.c \
lgutil.c \
lowcert.c \
lowkey.c \
pcertdb.c \
pk11db.c \
$(NULL)
ifdef NSS_ENABLE_ECC
DEFINES += -DNSS_ENABLE_ECC
endif

View File

@@ -0,0 +1,261 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
#ifndef _PCERTDB_H_
#define _PCERTDB_H_
#include "plarena.h"
#include "prlong.h"
#include "pcertt.h"
#include "lowkeyti.h" /* for struct NSSLOWKEYPublicKeyStr */
SEC_BEGIN_PROTOS
/*
* initialize any global certificate locks
*/
SECStatus nsslowcert_InitLocks(void);
/*
** Add a DER encoded certificate to the permanent database.
** "derCert" is the DER encoded certificate.
** "nickname" is the nickname to use for the cert
** "trust" is the trust parameters for the cert
*/
SECStatus nsslowcert_AddPermCert(NSSLOWCERTCertDBHandle *handle,
NSSLOWCERTCertificate *cert,
char *nickname, NSSLOWCERTCertTrust *trust);
SECStatus nsslowcert_AddPermNickname(NSSLOWCERTCertDBHandle *dbhandle,
NSSLOWCERTCertificate *cert, char *nickname);
SECStatus nsslowcert_DeletePermCertificate(NSSLOWCERTCertificate *cert);
typedef SECStatus (PR_CALLBACK * PermCertCallback)(NSSLOWCERTCertificate *cert,
SECItem *k, void *pdata);
/*
** Traverse the entire permanent database, and pass the certs off to a
** user supplied function.
** "certfunc" is the user function to call for each certificate
** "udata" is the user's data, which is passed through to "certfunc"
*/
SECStatus
nsslowcert_TraversePermCerts(NSSLOWCERTCertDBHandle *handle,
PermCertCallback certfunc,
void *udata );
PRBool
nsslowcert_CertDBKeyConflict(SECItem *derCert, NSSLOWCERTCertDBHandle *handle);
certDBEntryRevocation *
nsslowcert_FindCrlByKey(NSSLOWCERTCertDBHandle *handle,
SECItem *crlKey, PRBool isKRL);
SECStatus
nsslowcert_DeletePermCRL(NSSLOWCERTCertDBHandle *handle,const SECItem *derName,
PRBool isKRL);
SECStatus
nsslowcert_AddCrl(NSSLOWCERTCertDBHandle *handle, SECItem *derCrl ,
SECItem *derKey, char *url, PRBool isKRL);
NSSLOWCERTCertDBHandle *nsslowcert_GetDefaultCertDB();
NSSLOWKEYPublicKey *nsslowcert_ExtractPublicKey(NSSLOWCERTCertificate *);
NSSLOWCERTCertificate *
nsslowcert_NewTempCertificate(NSSLOWCERTCertDBHandle *handle, SECItem *derCert,
char *nickname, PRBool isperm, PRBool copyDER);
NSSLOWCERTCertificate *
nsslowcert_DupCertificate(NSSLOWCERTCertificate *cert);
void nsslowcert_DestroyCertificate(NSSLOWCERTCertificate *cert);
void nsslowcert_DestroyTrust(NSSLOWCERTTrust *Trust);
/*
* Lookup a certificate in the databases without locking
* "certKey" is the database key to look for
*
* XXX - this should be internal, but pkcs 11 needs to call it during a
* traversal.
*/
NSSLOWCERTCertificate *
nsslowcert_FindCertByKey(NSSLOWCERTCertDBHandle *handle, const SECItem *certKey);
/*
* Lookup trust for a certificate in the databases without locking
* "certKey" is the database key to look for
*
* XXX - this should be internal, but pkcs 11 needs to call it during a
* traversal.
*/
NSSLOWCERTTrust *
nsslowcert_FindTrustByKey(NSSLOWCERTCertDBHandle *handle, const SECItem *certKey);
/*
** Generate a certificate key from the issuer and serialnumber, then look it
** up in the database. Return the cert if found.
** "issuerAndSN" is the issuer and serial number to look for
*/
extern NSSLOWCERTCertificate *
nsslowcert_FindCertByIssuerAndSN (NSSLOWCERTCertDBHandle *handle, NSSLOWCERTIssuerAndSN *issuerAndSN);
/*
** Generate a certificate key from the issuer and serialnumber, then look it
** up in the database. Return the cert if found.
** "issuerAndSN" is the issuer and serial number to look for
*/
extern NSSLOWCERTTrust *
nsslowcert_FindTrustByIssuerAndSN (NSSLOWCERTCertDBHandle *handle, NSSLOWCERTIssuerAndSN *issuerAndSN);
/*
** Find a certificate in the database by a DER encoded certificate
** "derCert" is the DER encoded certificate
*/
extern NSSLOWCERTCertificate *
nsslowcert_FindCertByDERCert(NSSLOWCERTCertDBHandle *handle, SECItem *derCert);
/* convert an email address to lower case */
char *nsslowcert_FixupEmailAddr(char *emailAddr);
/*
** Decode a DER encoded certificate into an NSSLOWCERTCertificate structure
** "derSignedCert" is the DER encoded signed certificate
** "copyDER" is true if the DER should be copied, false if the
** existing copy should be referenced
** "nickname" is the nickname to use in the database. If it is NULL
** then a temporary nickname is generated.
*/
extern NSSLOWCERTCertificate *
nsslowcert_DecodeDERCertificate (SECItem *derSignedCert, char *nickname);
SECStatus
nsslowcert_KeyFromDERCert(PRArenaPool *arena, SECItem *derCert, SECItem *key);
certDBEntrySMime *
nsslowcert_ReadDBSMimeEntry(NSSLOWCERTCertDBHandle *certHandle,
char *emailAddr);
void
nsslowcert_DestroyDBEntry(certDBEntry *entry);
SECStatus
nsslowcert_OpenCertDB(NSSLOWCERTCertDBHandle *handle, PRBool readOnly,
const char *domain, const char *prefix,
NSSLOWCERTDBNameFunc namecb, void *cbarg, PRBool openVolatile);
void
nsslowcert_ClosePermCertDB(NSSLOWCERTCertDBHandle *handle);
/*
* is certa newer than certb? If one is expired, pick the other one.
*/
PRBool
nsslowcert_IsNewer(NSSLOWCERTCertificate *certa, NSSLOWCERTCertificate *certb);
SECStatus
nsslowcert_TraverseDBEntries(NSSLOWCERTCertDBHandle *handle,
certDBEntryType type,
SECStatus (* callback)(SECItem *data, SECItem *key,
certDBEntryType type, void *pdata),
void *udata );
SECStatus
nsslowcert_TraversePermCertsForSubject(NSSLOWCERTCertDBHandle *handle,
SECItem *derSubject,
NSSLOWCERTCertCallback cb, void *cbarg);
int
nsslowcert_NumPermCertsForSubject(NSSLOWCERTCertDBHandle *handle,
SECItem *derSubject);
SECStatus
nsslowcert_TraversePermCertsForNickname(NSSLOWCERTCertDBHandle *handle,
char *nickname, NSSLOWCERTCertCallback cb, void *cbarg);
int
nsslowcert_NumPermCertsForNickname(NSSLOWCERTCertDBHandle *handle,
char *nickname);
SECStatus
nsslowcert_GetCertTrust(NSSLOWCERTCertificate *cert,
NSSLOWCERTCertTrust *trust);
SECStatus
nsslowcert_SaveSMimeProfile(NSSLOWCERTCertDBHandle *dbhandle, char *emailAddr,
SECItem *derSubject, SECItem *emailProfile, SECItem *profileTime);
/*
* Change the trust attributes of a certificate and make them permanent
* in the database.
*/
SECStatus
nsslowcert_ChangeCertTrust(NSSLOWCERTCertDBHandle *handle,
NSSLOWCERTCertificate *cert, NSSLOWCERTCertTrust *trust);
PRBool
nsslowcert_needDBVerify(NSSLOWCERTCertDBHandle *handle);
void
nsslowcert_setDBVerify(NSSLOWCERTCertDBHandle *handle, PRBool value);
PRBool
nsslowcert_hasTrust(NSSLOWCERTCertTrust *trust);
void
nsslowcert_DestroyFreeLists(void);
void
nsslowcert_DestroyGlobalLocks(void);
void
pkcs11_freeNickname(char *nickname, char *space);
char *
pkcs11_copyNickname(char *nickname, char *space, int spaceLen);
void
pkcs11_freeStaticData(unsigned char *data, unsigned char *space);
unsigned char *
pkcs11_allocStaticData(int datalen, unsigned char *space, int spaceLen);
unsigned char *
pkcs11_copyStaticData(unsigned char *data, int datalen, unsigned char *space,
int spaceLen);
NSSLOWCERTCertificate *
nsslowcert_CreateCert(void);
certDBEntry *
nsslowcert_DecodeAnyDBEntry(SECItem *dbData, const SECItem *dbKey,
certDBEntryType entryType, void *pdata);
SEC_END_PROTOS
#endif /* _PCERTDB_H_ */

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,450 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/*
* certt.h - public data structures for the certificate library
*
* $Id: pcertt.h,v 1.1.2.2 2007-05-15 21:59:52 rrelyea%redhat.com Exp $
*/
#ifndef _PCERTT_H_
#define _PCERTT_H_
#include "prclist.h"
#include "pkcs11t.h"
#include "seccomon.h"
#include "secoidt.h"
#include "plarena.h"
#include "prcvar.h"
#include "nssilock.h"
#include "prio.h"
#include "prmon.h"
/* Non-opaque objects */
typedef struct NSSLOWCERTCertDBHandleStr NSSLOWCERTCertDBHandle;
typedef struct NSSLOWCERTCertKeyStr NSSLOWCERTCertKey;
typedef struct NSSLOWCERTTrustStr NSSLOWCERTTrust;
typedef struct NSSLOWCERTCertTrustStr NSSLOWCERTCertTrust;
typedef struct NSSLOWCERTCertificateStr NSSLOWCERTCertificate;
typedef struct NSSLOWCERTCertificateListStr NSSLOWCERTCertificateList;
typedef struct NSSLOWCERTIssuerAndSNStr NSSLOWCERTIssuerAndSN;
typedef struct NSSLOWCERTSignedDataStr NSSLOWCERTSignedData;
typedef struct NSSLOWCERTSubjectPublicKeyInfoStr NSSLOWCERTSubjectPublicKeyInfo;
typedef struct NSSLOWCERTValidityStr NSSLOWCERTValidity;
/*
** An X.509 validity object
*/
struct NSSLOWCERTValidityStr {
PRArenaPool *arena;
SECItem notBefore;
SECItem notAfter;
};
/*
* A serial number and issuer name, which is used as a database key
*/
struct NSSLOWCERTCertKeyStr {
SECItem serialNumber;
SECItem derIssuer;
};
/*
** A signed data object. Used to implement the "signed" macro used
** in the X.500 specs.
*/
struct NSSLOWCERTSignedDataStr {
SECItem data;
SECAlgorithmID signatureAlgorithm;
SECItem signature;
};
/*
** An X.509 subject-public-key-info object
*/
struct NSSLOWCERTSubjectPublicKeyInfoStr {
PRArenaPool *arena;
SECAlgorithmID algorithm;
SECItem subjectPublicKey;
};
typedef struct _certDBEntryCert certDBEntryCert;
typedef struct _certDBEntryRevocation certDBEntryRevocation;
struct NSSLOWCERTCertTrustStr {
unsigned int sslFlags;
unsigned int emailFlags;
unsigned int objectSigningFlags;
};
/*
** PKCS11 Trust representation
*/
struct NSSLOWCERTTrustStr {
NSSLOWCERTTrust *next;
NSSLOWCERTCertDBHandle *dbhandle;
SECItem dbKey; /* database key for this cert */
certDBEntryCert *dbEntry; /* database entry struct */
NSSLOWCERTCertTrust *trust;
SECItem *derCert; /* original DER for the cert */
unsigned char dbKeySpace[512];
};
/*
** An X.509 certificate object (the unsigned form)
*/
struct NSSLOWCERTCertificateStr {
/* the arena is used to allocate any data structures that have the same
* lifetime as the cert. This is all stuff that hangs off of the cert
* structure, and is all freed at the same time. I is used when the
* cert is decoded, destroyed, and at some times when it changes
* state
*/
NSSLOWCERTCertificate *next;
NSSLOWCERTCertDBHandle *dbhandle;
SECItem derCert; /* original DER for the cert */
SECItem derIssuer; /* DER for issuer name */
SECItem derSN;
SECItem serialNumber;
SECItem derSubject; /* DER for subject name */
SECItem derSubjKeyInfo;
NSSLOWCERTSubjectPublicKeyInfo *subjectPublicKeyInfo;
SECItem certKey; /* database key for this cert */
SECItem validity;
certDBEntryCert *dbEntry; /* database entry struct */
SECItem subjectKeyID; /* x509v3 subject key identifier */
SECItem extensions;
char *nickname;
char *emailAddr;
NSSLOWCERTCertTrust *trust;
/* the reference count is modified whenever someone looks up, dups
* or destroys a certificate
*/
int referenceCount;
char nicknameSpace[200];
char emailAddrSpace[200];
unsigned char certKeySpace[512];
};
#define SEC_CERTIFICATE_VERSION_1 0 /* default created */
#define SEC_CERTIFICATE_VERSION_2 1 /* v2 */
#define SEC_CERTIFICATE_VERSION_3 2 /* v3 extensions */
#define SEC_CRL_VERSION_1 0 /* default */
#define SEC_CRL_VERSION_2 1 /* v2 extensions */
struct NSSLOWCERTIssuerAndSNStr {
SECItem derIssuer;
SECItem serialNumber;
};
typedef SECStatus (* NSSLOWCERTCertCallback)(NSSLOWCERTCertificate *cert, void *arg);
/* This is the typedef for the callback passed to nsslowcert_OpenCertDB() */
/* callback to return database name based on version number */
typedef char * (*NSSLOWCERTDBNameFunc)(void *arg, int dbVersion);
/* XXX Lisa thinks the template declarations belong in cert.h, not here? */
#include "secasn1t.h" /* way down here because I expect template stuff to
* move out of here anyway */
/*
* Certificate Database related definitions and data structures
*/
/* version number of certificate database */
#define CERT_DB_FILE_VERSION 8
#define CERT_DB_V7_FILE_VERSION 7
#define CERT_DB_CONTENT_VERSION 2
#define SEC_DB_ENTRY_HEADER_LEN 3
#define SEC_DB_KEY_HEADER_LEN 1
/* All database entries have this form:
*
* byte offset field
* ----------- -----
* 0 version
* 1 type
* 2 flags
*/
/* database entry types */
typedef enum {
certDBEntryTypeVersion = 0,
certDBEntryTypeCert = 1,
certDBEntryTypeNickname = 2,
certDBEntryTypeSubject = 3,
certDBEntryTypeRevocation = 4,
certDBEntryTypeKeyRevocation = 5,
certDBEntryTypeSMimeProfile = 6,
certDBEntryTypeContentVersion = 7,
certDBEntryTypeBlob = 8
} certDBEntryType;
typedef struct {
certDBEntryType type;
unsigned int version;
unsigned int flags;
PRArenaPool *arena;
} certDBEntryCommon;
/*
* Certificate entry:
*
* byte offset field
* ----------- -----
* 0 sslFlags-msb
* 1 sslFlags-lsb
* 2 emailFlags-msb
* 3 emailFlags-lsb
* 4 objectSigningFlags-msb
* 5 objectSigningFlags-lsb
* 6 derCert-len-msb
* 7 derCert-len-lsb
* 8 nickname-len-msb
* 9 nickname-len-lsb
* ... derCert
* ... nickname
*
* NOTE: the nickname string as stored in the database is null terminated,
* in other words, the last byte of the db entry is always 0
* if a nickname is present.
* NOTE: if nickname is not present, then nickname-len-msb and
* nickname-len-lsb will both be zero.
*/
struct _certDBEntryCert {
certDBEntryCommon common;
certDBEntryCert *next;
NSSLOWCERTCertTrust trust;
SECItem derCert;
char *nickname;
char nicknameSpace[200];
unsigned char derCertSpace[2048];
};
/*
* Certificate Nickname entry:
*
* byte offset field
* ----------- -----
* 0 subjectname-len-msb
* 1 subjectname-len-lsb
* 2... subjectname
*
* The database key for this type of entry is a nickname string
* The "subjectname" value is the DER encoded DN of the identity
* that matches this nickname.
*/
typedef struct {
certDBEntryCommon common;
char *nickname;
SECItem subjectName;
} certDBEntryNickname;
#define DB_NICKNAME_ENTRY_HEADER_LEN 2
/*
* Certificate Subject entry:
*
* byte offset field
* ----------- -----
* 0 ncerts-msb
* 1 ncerts-lsb
* 2 nickname-msb
* 3 nickname-lsb
* 4 emailAddr-msb
* 5 emailAddr-lsb
* ... nickname
* ... emailAddr
* ...+2*i certkey-len-msb
* ...+1+2*i certkey-len-lsb
* ...+2*ncerts+2*i keyid-len-msb
* ...+1+2*ncerts+2*i keyid-len-lsb
* ... certkeys
* ... keyids
*
* The database key for this type of entry is the DER encoded subject name
* The "certkey" value is an array of certificate database lookup keys that
* points to the database entries for the certificates that matche
* this subject.
*
*/
typedef struct _certDBEntrySubject {
certDBEntryCommon common;
SECItem derSubject;
unsigned int ncerts;
char *nickname;
SECItem *certKeys;
SECItem *keyIDs;
char **emailAddrs;
unsigned int nemailAddrs;
} certDBEntrySubject;
#define DB_SUBJECT_ENTRY_HEADER_LEN 6
/*
* Certificate SMIME profile entry:
*
* byte offset field
* ----------- -----
* 0 subjectname-len-msb
* 1 subjectname-len-lsb
* 2 smimeoptions-len-msb
* 3 smimeoptions-len-lsb
* 4 options-date-len-msb
* 5 options-date-len-lsb
* 6... subjectname
* ... smimeoptions
* ... options-date
*
* The database key for this type of entry is the email address string
* The "subjectname" value is the DER encoded DN of the identity
* that matches this nickname.
* The "smimeoptions" value is a string that represents the algorithm
* capabilities on the remote user.
* The "options-date" is the date that the smime options value was created.
* This is generally the signing time of the signed message that contained
* the options. It is a UTCTime value.
*/
typedef struct {
certDBEntryCommon common;
char *emailAddr;
SECItem subjectName;
SECItem smimeOptions;
SECItem optionsDate;
} certDBEntrySMime;
#define DB_SMIME_ENTRY_HEADER_LEN 6
/*
* Crl/krl entry:
*
* byte offset field
* ----------- -----
* 0 derCert-len-msb
* 1 derCert-len-lsb
* 2 url-len-msb
* 3 url-len-lsb
* ... derCert
* ... url
*
* NOTE: the url string as stored in the database is null terminated,
* in other words, the last byte of the db entry is always 0
* if a nickname is present.
* NOTE: if url is not present, then url-len-msb and
* url-len-lsb will both be zero.
*/
#define DB_CRL_ENTRY_HEADER_LEN 4
struct _certDBEntryRevocation {
certDBEntryCommon common;
SECItem derCrl;
char *url; /* where to load the crl from */
};
/*
* Database Version Entry:
*
* byte offset field
* ----------- -----
* only the low level header...
*
* The database key for this type of entry is the string "Version"
*/
typedef struct {
certDBEntryCommon common;
} certDBEntryVersion;
#define SEC_DB_VERSION_KEY "Version"
#define SEC_DB_VERSION_KEY_LEN sizeof(SEC_DB_VERSION_KEY)
/*
* Database Content Version Entry:
*
* byte offset field
* ----------- -----
* 0 contentVersion
*
* The database key for this type of entry is the string "ContentVersion"
*/
typedef struct {
certDBEntryCommon common;
char contentVersion;
} certDBEntryContentVersion;
#define SEC_DB_CONTENT_VERSION_KEY "ContentVersion"
#define SEC_DB_CONTENT_VERSION_KEY_LEN sizeof(SEC_DB_CONTENT_VERSION_KEY)
typedef union {
certDBEntryCommon common;
certDBEntryCert cert;
certDBEntryContentVersion content;
certDBEntryNickname nickname;
certDBEntryRevocation revocation;
certDBEntrySMime smime;
certDBEntrySubject subject;
certDBEntryVersion version;
} certDBEntry;
/* length of the fixed part of a database entry */
#define DBCERT_V4_HEADER_LEN 7
#define DB_CERT_V5_ENTRY_HEADER_LEN 7
#define DB_CERT_V6_ENTRY_HEADER_LEN 7
#define DB_CERT_ENTRY_HEADER_LEN 10
/* common flags for all types of certificates */
#define CERTDB_VALID_PEER (1<<0)
#define CERTDB_TRUSTED (1<<1)
#define CERTDB_SEND_WARN (1<<2)
#define CERTDB_VALID_CA (1<<3)
#define CERTDB_TRUSTED_CA (1<<4) /* trusted for issuing server certs */
#define CERTDB_NS_TRUSTED_CA (1<<5)
#define CERTDB_USER (1<<6)
#define CERTDB_TRUSTED_CLIENT_CA (1<<7) /* trusted for issuing client certs */
#define CERTDB_INVISIBLE_CA (1<<8) /* don't show in UI */
#define CERTDB_GOVT_APPROVED_CA (1<<9) /* can do strong crypto in export ver */
#define CERTDB_NOT_TRUSTED (1<<10) /* explicitly don't trust this cert */
#define CERTDB_TRUSTED_UNKNOWN (1<<11) /* accept trust from another source */
/* bits not affected by the CKO_NETSCAPE_TRUST object */
#define CERTDB_PRESERVE_TRUST_BITS (CERTDB_USER | CERTDB_VALID_PEER | \
CERTDB_NS_TRUSTED_CA | CERTDB_VALID_CA | CERTDB_INVISIBLE_CA | \
CERTDB_GOVT_APPROVED_CA)
#endif /* _PCERTT_H_ */

View File

@@ -0,0 +1,773 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/*
* The following code handles the storage of PKCS 11 modules used by the
* NSS. This file is written to abstract away how the modules are
* stored so we can deside that later.
*/
#include "pk11pars.h"
#include "lgdb.h"
#include "mcom_db.h"
#include "secerr.h"
#define FREE_CLEAR(p) if (p) { PORT_Free(p); p = NULL; }
/* Construct a database key for a given module */
static SECStatus secmod_MakeKey(DBT *key, char * module) {
int len = 0;
char *commonName;
commonName = secmod_argGetParamValue("name",module);
if (commonName == NULL) {
commonName = secmod_argGetParamValue("library",module);
}
if (commonName == NULL) return SECFailure;
len = PORT_Strlen(commonName);
key->data = commonName;
key->size = len;
return SECSuccess;
}
/* free out constructed database key */
static void
secmod_FreeKey(DBT *key)
{
if (key->data) {
PORT_Free(key->data);
}
key->data = NULL;
key->size = 0;
}
typedef struct secmodDataStr secmodData;
typedef struct secmodSlotDataStr secmodSlotData;
struct secmodDataStr {
unsigned char major;
unsigned char minor;
unsigned char nameStart[2];
unsigned char slotOffset[2];
unsigned char internal;
unsigned char fips;
unsigned char ssl[8];
unsigned char trustOrder[4];
unsigned char cipherOrder[4];
unsigned char reserved1;
unsigned char isModuleDB;
unsigned char isModuleDBOnly;
unsigned char isCritical;
unsigned char reserved[4];
unsigned char names[6]; /* enough space for the length fields */
};
struct secmodSlotDataStr {
unsigned char slotID[4];
unsigned char defaultFlags[4];
unsigned char timeout[4];
unsigned char askpw;
unsigned char hasRootCerts;
unsigned char reserved[18]; /* this makes it a round 32 bytes */
};
#define SECMOD_DB_VERSION_MAJOR 0
#define SECMOD_DB_VERSION_MINOR 6
#define SECMOD_DB_EXT1_VERSION_MAJOR 0
#define SECMOD_DB_EXT1_VERSION_MINOR 6
#define SECMOD_DB_NOUI_VERSION_MAJOR 0
#define SECMOD_DB_NOUI_VERSION_MINOR 4
#define SECMOD_PUTSHORT(dest,src) \
(dest)[1] = (unsigned char) ((src)&0xff); \
(dest)[0] = (unsigned char) (((src) >> 8) & 0xff);
#define SECMOD_PUTLONG(dest,src) \
(dest)[3] = (unsigned char) ((src)&0xff); \
(dest)[2] = (unsigned char) (((src) >> 8) & 0xff); \
(dest)[1] = (unsigned char) (((src) >> 16) & 0xff); \
(dest)[0] = (unsigned char) (((src) >> 24) & 0xff);
#define SECMOD_GETSHORT(src) \
((unsigned short) (((src)[0] << 8) | (src)[1]))
#define SECMOD_GETLONG(src) \
((unsigned long) (( (unsigned long) (src)[0] << 24) | \
( (unsigned long) (src)[1] << 16) | \
( (unsigned long) (src)[2] << 8) | \
(unsigned long) (src)[3]))
/*
* build a data base entry from a module
*/
static SECStatus
secmod_EncodeData(DBT *data, char * module)
{
secmodData *encoded = NULL;
secmodSlotData *slot;
unsigned char *dataPtr;
unsigned short len, len2 = 0, len3 = 0;
int count = 0;
unsigned short offset;
int dataLen, i;
unsigned long order;
unsigned long ssl[2];
char *commonName = NULL , *dllName = NULL, *param = NULL, *nss = NULL;
char *slotParams, *ciphers;
PK11PreSlotInfo *slotInfo = NULL;
SECStatus rv = SECFailure;
rv = secmod_argParseModuleSpec(module,&dllName,&commonName,&param,&nss);
if (rv != SECSuccess) return rv;
rv = SECFailure;
if (commonName == NULL) {
/* set error */
goto loser;
}
len = PORT_Strlen(commonName);
if (dllName) {
len2 = PORT_Strlen(dllName);
}
if (param) {
len3 = PORT_Strlen(param);
}
slotParams = secmod_argGetParamValue("slotParams",nss);
slotInfo = secmod_argParseSlotInfo(NULL,slotParams,&count);
if (slotParams) PORT_Free(slotParams);
if (count && slotInfo == NULL) {
/* set error */
goto loser;
}
dataLen = sizeof(secmodData) + len + len2 + len3 + sizeof(unsigned short) +
count*sizeof(secmodSlotData);
data->data = (unsigned char *) PORT_ZAlloc(dataLen);
encoded = (secmodData *)data->data;
dataPtr = (unsigned char *) data->data;
data->size = dataLen;
if (encoded == NULL) {
/* set error */
goto loser;
}
encoded->major = SECMOD_DB_VERSION_MAJOR;
encoded->minor = SECMOD_DB_VERSION_MINOR;
encoded->internal = (unsigned char)
(secmod_argHasFlag("flags","internal",nss) ? 1 : 0);
encoded->fips = (unsigned char)
(secmod_argHasFlag("flags","FIPS",nss) ? 1 : 0);
encoded->isModuleDB = (unsigned char)
(secmod_argHasFlag("flags","isModuleDB",nss) ? 1 : 0);
encoded->isModuleDBOnly = (unsigned char)
(secmod_argHasFlag("flags","isModuleDBOnly",nss) ? 1 : 0);
encoded->isCritical = (unsigned char)
(secmod_argHasFlag("flags","critical",nss) ? 1 : 0);
order = secmod_argReadLong("trustOrder", nss, SECMOD_DEFAULT_TRUST_ORDER,
NULL);
SECMOD_PUTLONG(encoded->trustOrder,order);
order = secmod_argReadLong("cipherOrder", nss, SECMOD_DEFAULT_CIPHER_ORDER,
NULL);
SECMOD_PUTLONG(encoded->cipherOrder,order);
ciphers = secmod_argGetParamValue("ciphers",nss);
secmod_argSetNewCipherFlags(&ssl[0], ciphers);
SECMOD_PUTLONG(encoded->ssl,ssl[0]);
SECMOD_PUTLONG(&encoded->ssl[4],ssl[1]);
if (ciphers) PORT_Free(ciphers);
offset = (unsigned short) &(((secmodData *)0)->names[0]);
SECMOD_PUTSHORT(encoded->nameStart,offset);
offset = offset + len + len2 + len3 + 3*sizeof(unsigned short);
SECMOD_PUTSHORT(encoded->slotOffset,offset);
SECMOD_PUTSHORT(&dataPtr[offset],((unsigned short)count));
slot = (secmodSlotData *)(dataPtr+offset+sizeof(unsigned short));
offset = 0;
SECMOD_PUTSHORT(encoded->names,len);
offset += sizeof(unsigned short);
PORT_Memcpy(&encoded->names[offset],commonName,len);
offset += len;
SECMOD_PUTSHORT(&encoded->names[offset],len2);
offset += sizeof(unsigned short);
if (len2) PORT_Memcpy(&encoded->names[offset],dllName,len2);
offset += len2;
SECMOD_PUTSHORT(&encoded->names[offset],len3);
offset += sizeof(unsigned short);
if (len3) PORT_Memcpy(&encoded->names[offset],param,len3);
offset += len3;
if (count) {
for (i=0; i < count; i++) {
SECMOD_PUTLONG(slot[i].slotID, slotInfo[i].slotID);
SECMOD_PUTLONG(slot[i].defaultFlags,
slotInfo[i].defaultFlags);
SECMOD_PUTLONG(slot[i].timeout,slotInfo[i].timeout);
slot[i].askpw = slotInfo[i].askpw;
slot[i].hasRootCerts = slotInfo[i].hasRootCerts;
PORT_Memset(slot[i].reserved, 0, sizeof(slot[i].reserved));
}
}
rv = SECSuccess;
loser:
if (commonName) PORT_Free(commonName);
if (dllName) PORT_Free(dllName);
if (param) PORT_Free(param);
if (slotInfo) PORT_Free(slotInfo);
if (nss) PORT_Free(nss);
return rv;
}
static void
secmod_FreeData(DBT *data)
{
if (data->data) {
PORT_Free(data->data);
}
}
static void
secmod_FreeSlotStrings(char **slotStrings, int count)
{
int i;
for (i=0; i < count; i++) {
if (slotStrings[i]) {
PR_smprintf_free(slotStrings[i]);
slotStrings[i] = NULL;
}
}
}
/*
* build a module from the data base entry.
*/
static char *
secmod_DecodeData(char *defParams, DBT *data, PRBool *retInternal)
{
secmodData *encoded;
secmodSlotData *slots;
PLArenaPool *arena;
char *commonName = NULL;
char *dllName = NULL;
char *parameters = NULL;
char *nss;
char *moduleSpec;
char **slotStrings = NULL;
unsigned char *names;
unsigned long slotCount;
unsigned long ssl0 =0;
unsigned long ssl1 =0;
unsigned long slotID;
unsigned long defaultFlags;
unsigned long timeout;
unsigned long trustOrder =SECMOD_DEFAULT_TRUST_ORDER;
unsigned long cipherOrder =SECMOD_DEFAULT_CIPHER_ORDER;
unsigned short len;
unsigned short namesOffset = 0; /* start of the names block */
unsigned long namesRunningOffset; /* offset to name we are
* currently processing */
unsigned short slotOffset;
PRBool isOldVersion = PR_FALSE;
PRBool internal;
PRBool isFIPS;
PRBool isModuleDB =PR_FALSE;
PRBool isModuleDBOnly =PR_FALSE;
PRBool extended =PR_FALSE;
int i;
arena = PORT_NewArena(SEC_ASN1_DEFAULT_ARENA_SIZE);
if (arena == NULL)
return NULL;
#define CHECK_SIZE(x) \
if ((unsigned int) data->size < (unsigned int)(x)) goto db_loser
/* -------------------------------------------------------------
** Process the buffer header, which is the secmodData struct.
** It may be an old or new version. Check the length for each.
*/
CHECK_SIZE( offsetof(secmodData, trustOrder[0]) );
encoded = (secmodData *)data->data;
internal = (encoded->internal != 0) ? PR_TRUE: PR_FALSE;
isFIPS = (encoded->fips != 0) ? PR_TRUE: PR_FALSE;
if (retInternal)
*retInternal = internal;
if (internal) {
parameters = PORT_ArenaStrdup(arena,defParams);
if (parameters == NULL)
goto loser;
}
if (internal && (encoded->major == SECMOD_DB_NOUI_VERSION_MAJOR) &&
(encoded->minor <= SECMOD_DB_NOUI_VERSION_MINOR)) {
isOldVersion = PR_TRUE;
}
if ((encoded->major == SECMOD_DB_EXT1_VERSION_MAJOR) &&
(encoded->minor >= SECMOD_DB_EXT1_VERSION_MINOR)) {
CHECK_SIZE( sizeof(secmodData));
trustOrder = SECMOD_GETLONG(encoded->trustOrder);
cipherOrder = SECMOD_GETLONG(encoded->cipherOrder);
isModuleDB = (encoded->isModuleDB != 0) ? PR_TRUE: PR_FALSE;
isModuleDBOnly = (encoded->isModuleDBOnly != 0) ? PR_TRUE: PR_FALSE;
extended = PR_TRUE;
}
if (internal && !extended) {
trustOrder = 0;
cipherOrder = 100;
}
/* decode SSL cipher enable flags */
ssl0 = SECMOD_GETLONG(encoded->ssl);
ssl1 = SECMOD_GETLONG(encoded->ssl + 4);
slotOffset = SECMOD_GETSHORT(encoded->slotOffset);
namesOffset = SECMOD_GETSHORT(encoded->nameStart);
/*--------------------------------------------------------------
** Now process the variable length set of names.
** The names have this structure:
** struct {
** BYTE commonNameLen[ 2 ];
** BYTE commonName [ commonNameLen ];
** BTTE libNameLen [ 2 ];
** BYTE libName [ libNameLen ];
** If it is "extended" it also has these members:
** BYTE initStringLen[ 2 ];
** BYTE initString [ initStringLen ];
** }
*/
namesRunningOffset = namesOffset;
/* copy the module's common name */
CHECK_SIZE( namesRunningOffset + 2);
names = (unsigned char *)data->data;
len = SECMOD_GETSHORT(names+namesRunningOffset);
CHECK_SIZE( namesRunningOffset + 2 + len);
commonName = (char*)PORT_ArenaAlloc(arena,len+1);
if (commonName == NULL)
goto loser;
PORT_Memcpy(commonName, names + namesRunningOffset + 2, len);
commonName[len] = 0;
namesRunningOffset += len + 2;
/* copy the module's shared library file name. */
CHECK_SIZE( namesRunningOffset + 2);
len = SECMOD_GETSHORT(names + namesRunningOffset);
if (len) {
CHECK_SIZE( namesRunningOffset + 2 + len);
dllName = (char*)PORT_ArenaAlloc(arena,len + 1);
if (dllName == NULL)
goto loser;
PORT_Memcpy(dllName, names + namesRunningOffset + 2, len);
dllName[len] = 0;
}
namesRunningOffset += len + 2;
/* copy the module's initialization string, if present. */
if (!internal && extended) {
CHECK_SIZE( namesRunningOffset + 2);
len = SECMOD_GETSHORT(names+namesRunningOffset);
if (len) {
CHECK_SIZE( namesRunningOffset + 2 + len );
parameters = (char*)PORT_ArenaAlloc(arena,len + 1);
if (parameters == NULL)
goto loser;
PORT_Memcpy(parameters,names + namesRunningOffset + 2, len);
parameters[len] = 0;
}
namesRunningOffset += len + 2;
}
/*
* Consistency check: Make sure the slot and names blocks don't
* overlap. These blocks can occur in any order, so this check is made
* in 2 parts. First we check the case where the slot block starts
* after the name block. Later, when we have the slot block length,
* we check the case where slot block starts before the name block.
* NOTE: in most cases any overlap will likely be detected by invalid
* data read from the blocks, but it's better to find out sooner
* than later.
*/
if (slotOffset >= namesOffset) { /* slot block starts after name block */
if (slotOffset < namesRunningOffset) {
goto db_loser;
}
}
/* ------------------------------------------------------------------
** Part 3, process the slot table.
** This part has this structure:
** struct {
** BYTE slotCount [ 2 ];
** secmodSlotData [ slotCount ];
** {
*/
CHECK_SIZE( slotOffset + 2 );
slotCount = SECMOD_GETSHORT((unsigned char *)data->data + slotOffset);
/*
* Consistency check: Part 2. We now have the slot block length, we can
* check the case where the slotblock procedes the name block.
*/
if (slotOffset < namesOffset) { /* slot block starts before name block */
if (namesOffset < slotOffset + 2 + slotCount*sizeof(secmodSlotData)) {
goto db_loser;
}
}
CHECK_SIZE( (slotOffset + 2 + slotCount * sizeof(secmodSlotData)));
slots = (secmodSlotData *) ((unsigned char *)data->data + slotOffset + 2);
/* slotCount; */
slotStrings = (char **)PORT_ArenaZAlloc(arena, slotCount * sizeof(char *));
if (slotStrings == NULL)
goto loser;
for (i=0; i < (int) slotCount; i++, slots++) {
PRBool hasRootCerts =PR_FALSE;
PRBool hasRootTrust =PR_FALSE;
slotID = SECMOD_GETLONG(slots->slotID);
defaultFlags = SECMOD_GETLONG(slots->defaultFlags);
timeout = SECMOD_GETLONG(slots->timeout);
hasRootCerts = slots->hasRootCerts;
if (isOldVersion && internal && (slotID != 2)) {
unsigned long internalFlags=
secmod_argSlotFlags("slotFlags",SECMOD_SLOT_FLAGS);
defaultFlags |= internalFlags;
}
if (hasRootCerts && !extended) {
trustOrder = 100;
}
slotStrings[i] = secmod_mkSlotString(slotID, defaultFlags, timeout,
(unsigned char)slots->askpw,
hasRootCerts, hasRootTrust);
if (slotStrings[i] == NULL) {
secmod_FreeSlotStrings(slotStrings,i);
goto loser;
}
}
nss = secmod_mkNSS(slotStrings, slotCount, internal, isFIPS, isModuleDB,
isModuleDBOnly, internal, trustOrder, cipherOrder,
ssl0, ssl1);
secmod_FreeSlotStrings(slotStrings,slotCount);
/* it's permissible (and normal) for nss to be NULL. it simply means
* there are no NSS specific parameters in the database */
moduleSpec = secmod_mkNewModuleSpec(dllName,commonName,parameters,nss);
PR_smprintf_free(nss);
PORT_FreeArena(arena,PR_TRUE);
return moduleSpec;
db_loser:
PORT_SetError(SEC_ERROR_BAD_DATABASE);
loser:
PORT_FreeArena(arena,PR_TRUE);
return NULL;
}
static DB *
secmod_OpenDB(const char *appName, const char *filename, const char *dbName,
PRBool readOnly, PRBool update)
{
DB *pkcs11db = NULL;
if (appName) {
char *secname = PORT_Strdup(filename);
int len = strlen(secname);
int status = RDB_FAIL;
if (len >= 3 && PORT_Strcmp(&secname[len-3],".db") == 0) {
secname[len-3] = 0;
}
pkcs11db=
rdbopen(appName, "", secname, readOnly ? NO_RDONLY:NO_RDWR, NULL);
if (update && !pkcs11db) {
DB *updatedb;
pkcs11db = rdbopen(appName, "", secname, NO_CREATE, &status);
if (!pkcs11db) {
if (status == RDB_RETRY) {
pkcs11db= rdbopen(appName, "", secname,
readOnly ? NO_RDONLY:NO_RDWR, NULL);
}
PORT_Free(secname);
return pkcs11db;
}
updatedb = dbopen(dbName, NO_RDONLY, 0600, DB_HASH, 0);
if (updatedb) {
db_Copy(pkcs11db,updatedb);
(*updatedb->close)(updatedb);
} else {
(*pkcs11db->close)(pkcs11db);
PORT_Free(secname);
return NULL;
}
}
PORT_Free(secname);
return pkcs11db;
}
/* I'm sure we should do more checks here sometime... */
pkcs11db = dbopen(dbName, readOnly ? NO_RDONLY : NO_RDWR, 0600, DB_HASH, 0);
/* didn't exist? create it */
if (pkcs11db == NULL) {
if (readOnly)
return NULL;
pkcs11db = dbopen( dbName, NO_CREATE, 0600, DB_HASH, 0 );
if (pkcs11db)
(* pkcs11db->sync)(pkcs11db, 0);
}
return pkcs11db;
}
static void
secmod_CloseDB(DB *pkcs11db)
{
(*pkcs11db->close)(pkcs11db);
}
static char *
secmod_addEscape(const char *string, char quote)
{
char *newString = 0;
int escapes = 0, size = 0;
const char *src;
char *dest;
for (src=string; *src ; src++) {
if ((*src == quote) || (*src == '\\')) escapes++;
size++;
}
newString = PORT_ZAlloc(escapes+size+1);
if (newString == NULL) {
return NULL;
}
for (src=string, dest=newString; *src; src++,dest++) {
if ((*src == '\\') || (*src == quote)) {
*dest++ = '\\';
}
*dest = *src;
}
return newString;
}
SECStatus legacy_AddSecmodDB(const char *appName, const char *filename,
const char *dbname, char *module, PRBool rw);
#define SECMOD_STEP 10
#define SFTK_DEFAULT_INTERNAL_INIT "library= name=\"NSS Internal PKCS #11 Module\" parameters=\"%s\" NSS=\"Flags=internal,critical trustOrder=75 cipherOrder=100 slotParams=(1={%s askpw=any timeout=30})\""
/*
* Read all the existing modules in
*/
char **
legacy_ReadSecmodDB(const char *appName, const char *filename,
const char *dbname, char *params, PRBool rw)
{
DBT key,data;
int ret;
DB *pkcs11db = NULL;
char **moduleList = NULL, **newModuleList = NULL;
int moduleCount = 1;
int useCount = SECMOD_STEP;
moduleList = (char **) PORT_ZAlloc(useCount*sizeof(char **));
if (moduleList == NULL) return NULL;
pkcs11db = secmod_OpenDB(appName,filename,dbname,PR_TRUE,rw);
if (pkcs11db == NULL) goto done;
/* read and parse the file or data base */
ret = (*pkcs11db->seq)(pkcs11db, &key, &data, R_FIRST);
if (ret) goto done;
do {
char *moduleString;
PRBool internal = PR_FALSE;
if ((moduleCount+1) >= useCount) {
useCount += SECMOD_STEP;
newModuleList =
(char **)PORT_Realloc(moduleList,useCount*sizeof(char *));
if (newModuleList == NULL) goto done;
moduleList = newModuleList;
PORT_Memset(&moduleList[moduleCount+1],0,
sizeof(char *)*SECMOD_STEP);
}
moduleString = secmod_DecodeData(params,&data,&internal);
if (internal) {
moduleList[0] = moduleString;
} else {
moduleList[moduleCount] = moduleString;
moduleCount++;
}
} while ( (*pkcs11db->seq)(pkcs11db, &key, &data, R_NEXT) == 0);
done:
if (!moduleList[0]) {
char * newparams = secmod_addEscape(params,'"');
if (newparams) {
moduleList[0] = PR_smprintf(SFTK_DEFAULT_INTERNAL_INIT,newparams,
SECMOD_SLOT_FLAGS);
PORT_Free(newparams);
}
}
/* deal with trust cert db here */
if (pkcs11db) {
secmod_CloseDB(pkcs11db);
} else if (moduleList[0] && rw) {
legacy_AddSecmodDB(appName,filename,dbname,moduleList[0], rw) ;
}
if (!moduleList[0]) {
PORT_Free(moduleList);
moduleList = NULL;
}
return moduleList;
}
SECStatus
legacy_ReleaseSecmodDBData(const char *appName, const char *filename,
const char *dbname, char **moduleSpecList, PRBool rw)
{
if (moduleSpecList) {
char **index;
for(index = moduleSpecList; *index; index++) {
PR_smprintf_free(*index);
}
PORT_Free(moduleSpecList);
}
return SECSuccess;
}
/*
* Delete a module from the Data Base
*/
SECStatus
legacy_DeleteSecmodDB(const char *appName, const char *filename,
const char *dbname, char *args, PRBool rw)
{
DBT key;
SECStatus rv = SECFailure;
DB *pkcs11db = NULL;
int ret;
if (!rw) return SECFailure;
/* make sure we have a db handle */
pkcs11db = secmod_OpenDB(appName,filename,dbname,PR_FALSE,PR_FALSE);
if (pkcs11db == NULL) {
return SECFailure;
}
rv = secmod_MakeKey(&key,args);
if (rv != SECSuccess) goto done;
rv = SECFailure;
ret = (*pkcs11db->del)(pkcs11db, &key, 0);
secmod_FreeKey(&key);
if (ret != 0) goto done;
ret = (*pkcs11db->sync)(pkcs11db, 0);
if (ret == 0) rv = SECSuccess;
done:
secmod_CloseDB(pkcs11db);
return rv;
}
/*
* Add a module to the Data base
*/
SECStatus
legacy_AddSecmodDB(const char *appName, const char *filename,
const char *dbname, char *module, PRBool rw)
{
DBT key,data;
SECStatus rv = SECFailure;
DB *pkcs11db = NULL;
int ret;
if (!rw) return SECFailure;
/* make sure we have a db handle */
pkcs11db = secmod_OpenDB(appName,filename,dbname,PR_FALSE,PR_FALSE);
if (pkcs11db == NULL) {
return SECFailure;
}
rv = secmod_MakeKey(&key,module);
if (rv != SECSuccess) goto done;
rv = secmod_EncodeData(&data,module);
if (rv != SECSuccess) {
secmod_FreeKey(&key);
goto done;
}
rv = SECFailure;
ret = (*pkcs11db->put)(pkcs11db, &key, &data, 0);
secmod_FreeKey(&key);
secmod_FreeData(&data);
if (ret != 0) goto done;
ret = (*pkcs11db->sync)(pkcs11db, 0);
if (ret == 0) rv = SECSuccess;
done:
secmod_CloseDB(pkcs11db);
return rv;
}

View File

@@ -0,0 +1,341 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/*
* The following code handles the storage of PKCS 11 modules used by the
* NSS. This file is written to abstract away how the modules are
* stored so we can deside that later.
*/
#include "sftkdb.h"
#include "sdb.h"
#include "prsystem.h"
#include "prprf.h"
#include "lgglue.h"
#include "secerr.h"
static LGOpenFunc legacy_glue_open = NULL;
static LGReadSecmodFunc legacy_glue_readSecmod = NULL;
static LGReleaseSecmodFunc legacy_glue_releaseSecmod = NULL;
static LGDeleteSecmodFunc legacy_glue_deleteSecmod = NULL;
static LGAddSecmodFunc legacy_glue_addSecmod = NULL;
static LGShutdownFunc legacy_glue_shutdown = NULL;
/*
* The following 3 functions duplicate the work done by bl_LoadLibrary.
* We should make bl_LoadLibrary a global and replace the call to
* sftkdb_LoadLibrary(const char *libname) with it.
*/
#ifdef XP_UNIX
#include <unistd.h>
#define LG_MAX_LINKS 20
static char *
sftkdb_resolvePath(const char *orig)
{
int count = 0;
int len =0;
int ret = -1;
char *resolved = NULL;
char *source = NULL;
len = 1025; /* MAX PATH +1*/
if (strlen(orig)+1 > len) {
/* PATH TOO LONG */
return NULL;
}
resolved = PORT_Alloc(len);
if (!resolved) {
return NULL;
}
source = PORT_Alloc(len);
if (!source) {
goto loser;
}
PORT_Strcpy(source, orig);
/* Walk down all the links */
while ( count++ < LG_MAX_LINKS) {
char *tmp;
/* swap our previous sorce out with resolved */
/* read it */
ret = readlink(source, resolved, len-1);
if (ret < 0) {
break;
}
resolved[ret] = 0;
tmp = source; source = resolved; resolved = tmp;
}
if (count > 1) {
ret = 0;
}
loser:
if (resolved) {
PORT_Free(resolved);
}
if (ret < 0) {
if (source) {
PORT_Free(source);
source = NULL;
}
}
return source;
}
#endif
static PRLibrary *
sftkdb_LoadFromPath(const char *path, const char *libname)
{
char *c;
int pathLen, nameLen, fullPathLen;
char *fullPathName = NULL;
PRLibSpec libSpec;
PRLibrary *lib = NULL;
/* strip of our parent's library name */
c = strrchr(path, PR_GetDirectorySeparator());
if (!c) {
return NULL; /* invalid path */
}
pathLen = (c-path)+1;
nameLen = strlen(libname);
fullPathLen = pathLen + nameLen +1;
fullPathName = (char *)PORT_Alloc(fullPathLen);
if (fullPathName == NULL) {
return NULL; /* memory allocation error */
}
PORT_Memcpy(fullPathName, path, pathLen);
PORT_Memcpy(fullPathName+pathLen, libname, nameLen);
fullPathName[fullPathLen-1] = 0;
libSpec.type = PR_LibSpec_Pathname;
libSpec.value.pathname = fullPathName;
lib = PR_LoadLibraryWithFlags(libSpec, PR_LD_NOW | PR_LD_LOCAL);
PORT_Free(fullPathName);
return lib;
}
static PRLibrary *
sftkdb_LoadLibrary(const char *libname)
{
PRLibrary *lib = NULL;
PRFuncPtr fn_addr;
char *parentLibPath = NULL;
fn_addr = (PRFuncPtr) &sftkdb_LoadLibrary;
parentLibPath = PR_GetLibraryFilePathname(SOFTOKEN_LIB_NAME, fn_addr);
if (!parentLibPath) {
goto done;
}
lib = sftkdb_LoadFromPath(parentLibPath, libname);
#ifdef XP_UNIX
/* handle symbolic link case */
if (!lib) {
char *trueParentLibPath = sftkdb_resolvePath(parentLibPath);
if (!trueParentLibPath) {
goto done;
}
lib = sftkdb_LoadFromPath(trueParentLibPath, libname);
PORT_Free(trueParentLibPath);
}
#endif
PORT_Free(parentLibPath);
done:
/* still couldn't load it, try the generic path */
if (!lib) {
PRLibSpec libSpec;
libSpec.type = PR_LibSpec_Pathname;
libSpec.value.pathname = libname;
lib = PR_LoadLibraryWithFlags(libSpec, PR_LD_NOW | PR_LD_LOCAL);
}
return lib;
}
static PRLibrary *legacy_glue_lib = NULL;
static SECStatus
sftkdbLoad_Legacy()
{
PRLibrary *lib = NULL;
LGSetCryptFunc setCryptFunction = NULL;
if (legacy_glue_lib) {
return SECSuccess;
}
lib = sftkdb_LoadLibrary(SHLIB_PREFIX"lgdbm"SHLIB_VERSION"."SHLIB_SUFFIX);
if (lib == NULL) {
return SECFailure;
}
legacy_glue_open = (LGOpenFunc)PR_FindFunctionSymbol(lib, "legacy_Open");
legacy_glue_readSecmod = (LGReadSecmodFunc) PR_FindFunctionSymbol(lib,
"legacy_ReadSecmodDB");
legacy_glue_releaseSecmod = (LGReleaseSecmodFunc) PR_FindFunctionSymbol(lib,
"legacy_ReleaseSecmodDBData");
legacy_glue_deleteSecmod = (LGDeleteSecmodFunc) PR_FindFunctionSymbol(lib,
"legacy_DeleteSecmodDB");
legacy_glue_addSecmod = (LGAddSecmodFunc)PR_FindFunctionSymbol(lib,
"legacy_AddSecmodDB");
legacy_glue_shutdown = (LGShutdownFunc) PR_FindFunctionSymbol(lib,
"legacy_Shutdown");
setCryptFunction = (LGSetCryptFunc) PR_FindFunctionSymbol(lib,
"legacy_SetCryptFunctions");
if (!legacy_glue_open || !legacy_glue_readSecmod ||
!legacy_glue_releaseSecmod || !legacy_glue_deleteSecmod ||
!legacy_glue_addSecmod || !setCryptFunction) {
PR_UnloadLibrary(lib);
return SECFailure;
}
setCryptFunction(sftkdb_encrypt_stub,sftkdb_decrypt_stub);
legacy_glue_lib = lib;
return SECSuccess;
}
CK_RV
sftkdbCall_open(const char *dir, const char *certPrefix, const char *keyPrefix,
int certVersion, int keyVersion, int flags,
SDB **certDB, SDB **keyDB)
{
SECStatus rv;
rv = sftkdbLoad_Legacy();
if (rv != SECSuccess) {
return CKR_GENERAL_ERROR;
}
if (!legacy_glue_open) {
PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
return SECFailure;
}
return (*legacy_glue_open)(dir, certPrefix, keyPrefix,
certVersion, keyVersion,
flags, certDB, keyDB);
}
char **
sftkdbCall_ReadSecmodDB(const char *appName, const char *filename,
const char *dbname, char *params, PRBool rw)
{
SECStatus rv;
rv = sftkdbLoad_Legacy();
if (rv != SECSuccess) {
return NULL;
}
if (!legacy_glue_readSecmod) {
PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
return NULL;
}
return (*legacy_glue_readSecmod)(appName, filename, dbname, params, rw);
}
SECStatus
sftkdbCall_ReleaseSecmodDBData(const char *appName,
const char *filename, const char *dbname,
char **moduleSpecList, PRBool rw)
{
SECStatus rv;
rv = sftkdbLoad_Legacy();
if (rv != SECSuccess) {
return rv;
}
if (!legacy_glue_releaseSecmod) {
PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
return SECFailure;
}
return (*legacy_glue_releaseSecmod)(appName, filename, dbname,
moduleSpecList, rw);
}
SECStatus
sftkdbCall_DeleteSecmodDB(const char *appName,
const char *filename, const char *dbname,
char *args, PRBool rw)
{
SECStatus rv;
rv = sftkdbLoad_Legacy();
if (rv != SECSuccess) {
return rv;
}
if (!legacy_glue_deleteSecmod) {
PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
return SECFailure;
}
return (*legacy_glue_deleteSecmod)(appName, filename, dbname, args, rw);
}
SECStatus
sftkdbCall_AddSecmodDB(const char *appName,
const char *filename, const char *dbname,
char *module, PRBool rw)
{
SECStatus rv;
rv = sftkdbLoad_Legacy();
if (rv != SECSuccess) {
return rv;
}
if (!legacy_glue_addSecmod) {
PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
return SECFailure;
}
return (*legacy_glue_addSecmod)(appName, filename, dbname, module, rw);
}
CK_RV
sftkdbCall_Shutdown(void)
{
CK_RV crv = CKR_OK;
if (legacy_glue_lib) {
return CKR_OK;
}
if (legacy_glue_shutdown) {
crv = (*legacy_glue_shutdown)();
}
PR_UnloadLibrary(legacy_glue_lib);
legacy_glue_lib = NULL;
legacy_glue_open = NULL;
legacy_glue_readSecmod = NULL;
legacy_glue_releaseSecmod = NULL;
legacy_glue_deleteSecmod = NULL;
legacy_glue_addSecmod = NULL;
return crv;
}

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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/*
* This code defines the glue layer between softoken and the legacy DB library
*/
#include "sdb.h"
/*
* function prototypes for the callbacks into softoken from the legacyDB
*/
typedef SECStatus (*LGEncryptFunc)(PRArenaPool *arena, SDB *sdb,
SECItem *plainText, SECItem **cipherText);
typedef SECStatus (*LGDecryptFunc)(SDB *sdb, SECItem *cipherText,
SECItem **plainText);
/*
* function prototypes for the exported functions.
*/
typedef CK_RV (*LGOpenFunc) (const char *dir, const char *certPrefix,
const char *keyPrefix,
int certVersion, int keyVersion, int flags,
SDB **certDB, SDB **keyDB);
typedef char ** (*LGReadSecmodFunc)(const char *appName,
const char *filename,
const char *dbname, char *params, PRBool rw);
typedef SECStatus (*LGReleaseSecmodFunc)(const char *appName,
const char *filename,
const char *dbname, char **params, PRBool rw);
typedef SECStatus (*LGDeleteSecmodFunc)(const char *appName,
const char *filename,
const char *dbname, char *params, PRBool rw);
typedef SECStatus (*LGAddSecmodFunc)(const char *appName,
const char *filename,
const char *dbname, char *params, PRBool rw);
typedef SECStatus (*LGShutdownFunc)(void);
typedef void (*LGSetCryptFunc)(LGEncryptFunc, LGDecryptFunc);
/*
* Softoken Glue Functions
*/
CK_RV sftkdbCall_open(const char *dir, const char *certPrefix,
const char *keyPrefix,
int certVersion, int keyVersion, int flags,
SDB **certDB, SDB **keyDB);
char ** sftkdbCall_ReadSecmodDB(const char *appName, const char *filename,
const char *dbname, char *params, PRBool rw);
SECStatus sftkdbCall_ReleaseSecmodDBData(const char *appName,
const char *filename, const char *dbname,
char **moduleSpecList, PRBool rw);
SECStatus sftkdbCall_DeleteSecmodDB(const char *appName,
const char *filename, const char *dbname,
char *args, PRBool rw);
SECStatus sftkdbCall_AddSecmodDB(const char *appName,
const char *filename, const char *dbname,
char *module, PRBool rw);
CK_RV sftkdbCall_Shutdown(void);

View File

@@ -0,0 +1,517 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Dr Vipul Gupta <vipul.gupta@sun.com>, Sun Microsystems Laboratories
*
* 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 "lowkeyi.h"
#include "secoid.h"
#include "secitem.h"
#include "secder.h"
#include "base64.h"
#include "secasn1.h"
#include "secerr.h"
#ifdef NSS_ENABLE_ECC
#include "softoken.h"
#endif
const SEC_ASN1Template nsslowkey_AttributeTemplate[] = {
{ SEC_ASN1_SEQUENCE,
0, NULL, sizeof(NSSLOWKEYAttribute) },
{ SEC_ASN1_OBJECT_ID, offsetof(NSSLOWKEYAttribute, attrType) },
{ SEC_ASN1_SET_OF, offsetof(NSSLOWKEYAttribute, attrValue),
SEC_AnyTemplate },
{ 0 }
};
const SEC_ASN1Template nsslowkey_SetOfAttributeTemplate[] = {
{ SEC_ASN1_SET_OF, 0, nsslowkey_AttributeTemplate },
};
/* ASN1 Templates for new decoder/encoder */
const SEC_ASN1Template nsslowkey_PrivateKeyInfoTemplate[] = {
{ SEC_ASN1_SEQUENCE,
0, NULL, sizeof(NSSLOWKEYPrivateKeyInfo) },
{ SEC_ASN1_INTEGER,
offsetof(NSSLOWKEYPrivateKeyInfo,version) },
{ SEC_ASN1_INLINE,
offsetof(NSSLOWKEYPrivateKeyInfo,algorithm),
SECOID_AlgorithmIDTemplate },
{ SEC_ASN1_OCTET_STRING,
offsetof(NSSLOWKEYPrivateKeyInfo,privateKey) },
{ SEC_ASN1_OPTIONAL | SEC_ASN1_CONSTRUCTED | SEC_ASN1_CONTEXT_SPECIFIC | 0,
offsetof(NSSLOWKEYPrivateKeyInfo, attributes),
nsslowkey_SetOfAttributeTemplate },
{ 0 }
};
const SEC_ASN1Template nsslowkey_PQGParamsTemplate[] = {
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(PQGParams) },
{ SEC_ASN1_INTEGER, offsetof(PQGParams,prime) },
{ SEC_ASN1_INTEGER, offsetof(PQGParams,subPrime) },
{ SEC_ASN1_INTEGER, offsetof(PQGParams,base) },
{ 0, }
};
const SEC_ASN1Template nsslowkey_RSAPrivateKeyTemplate[] = {
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(NSSLOWKEYPrivateKey) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.version) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.modulus) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.publicExponent) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.privateExponent) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.prime1) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.prime2) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.exponent1) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.exponent2) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.rsa.coefficient) },
{ 0 }
};
const SEC_ASN1Template nsslowkey_DSAPrivateKeyTemplate[] = {
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(NSSLOWKEYPrivateKey) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.dsa.publicValue) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.dsa.privateValue) },
{ 0, }
};
const SEC_ASN1Template nsslowkey_DSAPrivateKeyExportTemplate[] = {
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.dsa.privateValue) },
};
const SEC_ASN1Template nsslowkey_DHPrivateKeyTemplate[] = {
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(NSSLOWKEYPrivateKey) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.dh.publicValue) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.dh.privateValue) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.dh.base) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.dh.prime) },
{ 0, }
};
#ifdef NSS_ENABLE_ECC
/* XXX This is just a placeholder for later when we support
* generic curves and need full-blown support for parsing EC
* parameters. For now, we only support named curves in which
* EC params are simply encoded as an object ID and we don't
* use nsslowkey_ECParamsTemplate.
*/
const SEC_ASN1Template nsslowkey_ECParamsTemplate[] = {
{ SEC_ASN1_CHOICE, offsetof(ECParams,type), NULL, sizeof(ECParams) },
{ SEC_ASN1_OBJECT_ID, offsetof(ECParams,curveOID), NULL, ec_params_named },
{ 0, }
};
/* NOTE: The SECG specification allows the private key structure
* to contain curve parameters but recommends that they be stored
* in the PrivateKeyAlgorithmIdentifier field of the PrivateKeyInfo
* instead.
*/
const SEC_ASN1Template nsslowkey_ECPrivateKeyTemplate[] = {
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(NSSLOWKEYPrivateKey) },
{ SEC_ASN1_INTEGER, offsetof(NSSLOWKEYPrivateKey,u.ec.version) },
{ SEC_ASN1_OCTET_STRING,
offsetof(NSSLOWKEYPrivateKey,u.ec.privateValue) },
/* XXX The following template works for now since we only
* support named curves for which the parameters are
* encoded as an object ID. When we support generic curves,
* we'll need to define nsslowkey_ECParamsTemplate
*/
#if 1
{ SEC_ASN1_OPTIONAL | SEC_ASN1_CONSTRUCTED |
SEC_ASN1_EXPLICIT | SEC_ASN1_CONTEXT_SPECIFIC | 0,
offsetof(NSSLOWKEYPrivateKey,u.ec.ecParams.curveOID),
SEC_ObjectIDTemplate },
#else
{ SEC_ASN1_OPTIONAL | SEC_ASN1_CONSTRUCTED |
SEC_ASN1_EXPLICIT | SEC_ASN1_CONTEXT_SPECIFIC | 0,
offsetof(NSSLOWKEYPrivateKey,u.ec.ecParams),
nsslowkey_ECParamsTemplate },
#endif
{ SEC_ASN1_OPTIONAL | SEC_ASN1_CONSTRUCTED |
SEC_ASN1_EXPLICIT | SEC_ASN1_CONTEXT_SPECIFIC | 1,
offsetof(NSSLOWKEYPrivateKey,u.ec.publicValue),
SEC_BitStringTemplate },
{ 0, }
};
#endif /* NSS_ENABLE_ECC */
/*
* See bugzilla bug 125359
* Since NSS (via PKCS#11) wants to handle big integers as unsigned ints,
* all of the templates above that en/decode into integers must be converted
* from ASN.1's signed integer type. This is done by marking either the
* source or destination (encoding or decoding, respectively) type as
* siUnsignedInteger.
*/
void
prepare_low_rsa_priv_key_for_asn1(NSSLOWKEYPrivateKey *key)
{
key->u.rsa.modulus.type = siUnsignedInteger;
key->u.rsa.publicExponent.type = siUnsignedInteger;
key->u.rsa.privateExponent.type = siUnsignedInteger;
key->u.rsa.prime1.type = siUnsignedInteger;
key->u.rsa.prime2.type = siUnsignedInteger;
key->u.rsa.exponent1.type = siUnsignedInteger;
key->u.rsa.exponent2.type = siUnsignedInteger;
key->u.rsa.coefficient.type = siUnsignedInteger;
}
void
prepare_low_pqg_params_for_asn1(PQGParams *params)
{
params->prime.type = siUnsignedInteger;
params->subPrime.type = siUnsignedInteger;
params->base.type = siUnsignedInteger;
}
void
prepare_low_dsa_priv_key_for_asn1(NSSLOWKEYPrivateKey *key)
{
key->u.dsa.publicValue.type = siUnsignedInteger;
key->u.dsa.privateValue.type = siUnsignedInteger;
key->u.dsa.params.prime.type = siUnsignedInteger;
key->u.dsa.params.subPrime.type = siUnsignedInteger;
key->u.dsa.params.base.type = siUnsignedInteger;
}
void
prepare_low_dsa_priv_key_export_for_asn1(NSSLOWKEYPrivateKey *key)
{
key->u.dsa.privateValue.type = siUnsignedInteger;
}
void
prepare_low_dh_priv_key_for_asn1(NSSLOWKEYPrivateKey *key)
{
key->u.dh.prime.type = siUnsignedInteger;
key->u.dh.base.type = siUnsignedInteger;
key->u.dh.publicValue.type = siUnsignedInteger;
key->u.dh.privateValue.type = siUnsignedInteger;
}
#ifdef NSS_ENABLE_ECC
void
prepare_low_ecparams_for_asn1(ECParams *params)
{
params->DEREncoding.type = siUnsignedInteger;
params->curveOID.type = siUnsignedInteger;
}
void
prepare_low_ec_priv_key_for_asn1(NSSLOWKEYPrivateKey *key)
{
key->u.ec.version.type = siUnsignedInteger;
key->u.ec.ecParams.DEREncoding.type = siUnsignedInteger;
key->u.ec.ecParams.curveOID.type = siUnsignedInteger;
key->u.ec.privateValue.type = siUnsignedInteger;
key->u.ec.publicValue.type = siUnsignedInteger;
}
#endif /* NSS_ENABLE_ECC */
void
nsslowkey_DestroyPrivateKey(NSSLOWKEYPrivateKey *privk)
{
if (privk && privk->arena) {
PORT_FreeArena(privk->arena, PR_TRUE);
}
}
void
nsslowkey_DestroyPublicKey(NSSLOWKEYPublicKey *pubk)
{
if (pubk && pubk->arena) {
PORT_FreeArena(pubk->arena, PR_FALSE);
}
}
unsigned
nsslowkey_PublicModulusLen(NSSLOWKEYPublicKey *pubk)
{
unsigned char b0;
/* interpret modulus length as key strength... in
* fortezza that's the public key length */
switch (pubk->keyType) {
case NSSLOWKEYRSAKey:
b0 = pubk->u.rsa.modulus.data[0];
return b0 ? pubk->u.rsa.modulus.len : pubk->u.rsa.modulus.len - 1;
default:
break;
}
return 0;
}
unsigned
nsslowkey_PrivateModulusLen(NSSLOWKEYPrivateKey *privk)
{
unsigned char b0;
switch (privk->keyType) {
case NSSLOWKEYRSAKey:
b0 = privk->u.rsa.modulus.data[0];
return b0 ? privk->u.rsa.modulus.len : privk->u.rsa.modulus.len - 1;
default:
break;
}
return 0;
}
NSSLOWKEYPublicKey *
nsslowkey_ConvertToPublicKey(NSSLOWKEYPrivateKey *privk)
{
NSSLOWKEYPublicKey *pubk;
PLArenaPool *arena;
arena = PORT_NewArena (DER_DEFAULT_CHUNKSIZE);
if (arena == NULL) {
PORT_SetError (SEC_ERROR_NO_MEMORY);
return NULL;
}
switch(privk->keyType) {
case NSSLOWKEYRSAKey:
case NSSLOWKEYNullKey:
pubk = (NSSLOWKEYPublicKey *)PORT_ArenaZAlloc(arena,
sizeof (NSSLOWKEYPublicKey));
if (pubk != NULL) {
SECStatus rv;
pubk->arena = arena;
pubk->keyType = privk->keyType;
if (privk->keyType == NSSLOWKEYNullKey) return pubk;
rv = SECITEM_CopyItem(arena, &pubk->u.rsa.modulus,
&privk->u.rsa.modulus);
if (rv == SECSuccess) {
rv = SECITEM_CopyItem (arena, &pubk->u.rsa.publicExponent,
&privk->u.rsa.publicExponent);
if (rv == SECSuccess)
return pubk;
}
} else {
PORT_SetError (SEC_ERROR_NO_MEMORY);
}
break;
case NSSLOWKEYDSAKey:
pubk = (NSSLOWKEYPublicKey *)PORT_ArenaZAlloc(arena,
sizeof(NSSLOWKEYPublicKey));
if (pubk != NULL) {
SECStatus rv;
pubk->arena = arena;
pubk->keyType = privk->keyType;
rv = SECITEM_CopyItem(arena, &pubk->u.dsa.publicValue,
&privk->u.dsa.publicValue);
if (rv != SECSuccess) break;
rv = SECITEM_CopyItem(arena, &pubk->u.dsa.params.prime,
&privk->u.dsa.params.prime);
if (rv != SECSuccess) break;
rv = SECITEM_CopyItem(arena, &pubk->u.dsa.params.subPrime,
&privk->u.dsa.params.subPrime);
if (rv != SECSuccess) break;
rv = SECITEM_CopyItem(arena, &pubk->u.dsa.params.base,
&privk->u.dsa.params.base);
if (rv == SECSuccess) return pubk;
}
break;
case NSSLOWKEYDHKey:
pubk = (NSSLOWKEYPublicKey *)PORT_ArenaZAlloc(arena,
sizeof(NSSLOWKEYPublicKey));
if (pubk != NULL) {
SECStatus rv;
pubk->arena = arena;
pubk->keyType = privk->keyType;
rv = SECITEM_CopyItem(arena, &pubk->u.dh.publicValue,
&privk->u.dh.publicValue);
if (rv != SECSuccess) break;
rv = SECITEM_CopyItem(arena, &pubk->u.dh.prime,
&privk->u.dh.prime);
if (rv != SECSuccess) break;
rv = SECITEM_CopyItem(arena, &pubk->u.dh.base,
&privk->u.dh.base);
if (rv == SECSuccess) return pubk;
}
break;
#ifdef NSS_ENABLE_ECC
case NSSLOWKEYECKey:
pubk = (NSSLOWKEYPublicKey *)PORT_ArenaZAlloc(arena,
sizeof(NSSLOWKEYPublicKey));
if (pubk != NULL) {
SECStatus rv;
pubk->arena = arena;
pubk->keyType = privk->keyType;
rv = SECITEM_CopyItem(arena, &pubk->u.ec.publicValue,
&privk->u.ec.publicValue);
if (rv != SECSuccess) break;
pubk->u.ec.ecParams.arena = arena;
/* Copy the rest of the params */
rv = EC_CopyParams(arena, &(pubk->u.ec.ecParams),
&(privk->u.ec.ecParams));
if (rv == SECSuccess) return pubk;
}
break;
#endif /* NSS_ENABLE_ECC */
/* No Fortezza in Low Key implementations (Fortezza keys aren't
* stored in our data base */
default:
break;
}
PORT_FreeArena (arena, PR_FALSE);
return NULL;
}
NSSLOWKEYPrivateKey *
nsslowkey_CopyPrivateKey(NSSLOWKEYPrivateKey *privKey)
{
NSSLOWKEYPrivateKey *returnKey = NULL;
SECStatus rv = SECFailure;
PLArenaPool *poolp;
if(!privKey) {
return NULL;
}
poolp = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);
if(!poolp) {
return NULL;
}
returnKey = (NSSLOWKEYPrivateKey*)PORT_ArenaZAlloc(poolp, sizeof(NSSLOWKEYPrivateKey));
if(!returnKey) {
rv = SECFailure;
goto loser;
}
returnKey->keyType = privKey->keyType;
returnKey->arena = poolp;
switch(privKey->keyType) {
case NSSLOWKEYRSAKey:
rv = SECITEM_CopyItem(poolp, &(returnKey->u.rsa.modulus),
&(privKey->u.rsa.modulus));
if(rv != SECSuccess) break;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.rsa.version),
&(privKey->u.rsa.version));
if(rv != SECSuccess) break;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.rsa.publicExponent),
&(privKey->u.rsa.publicExponent));
if(rv != SECSuccess) break;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.rsa.privateExponent),
&(privKey->u.rsa.privateExponent));
if(rv != SECSuccess) break;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.rsa.prime1),
&(privKey->u.rsa.prime1));
if(rv != SECSuccess) break;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.rsa.prime2),
&(privKey->u.rsa.prime2));
if(rv != SECSuccess) break;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.rsa.exponent1),
&(privKey->u.rsa.exponent1));
if(rv != SECSuccess) break;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.rsa.exponent2),
&(privKey->u.rsa.exponent2));
if(rv != SECSuccess) break;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.rsa.coefficient),
&(privKey->u.rsa.coefficient));
if(rv != SECSuccess) break;
break;
case NSSLOWKEYDSAKey:
rv = SECITEM_CopyItem(poolp, &(returnKey->u.dsa.publicValue),
&(privKey->u.dsa.publicValue));
if(rv != SECSuccess) break;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.dsa.privateValue),
&(privKey->u.dsa.privateValue));
if(rv != SECSuccess) break;
returnKey->u.dsa.params.arena = poolp;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.dsa.params.prime),
&(privKey->u.dsa.params.prime));
if(rv != SECSuccess) break;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.dsa.params.subPrime),
&(privKey->u.dsa.params.subPrime));
if(rv != SECSuccess) break;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.dsa.params.base),
&(privKey->u.dsa.params.base));
if(rv != SECSuccess) break;
break;
case NSSLOWKEYDHKey:
rv = SECITEM_CopyItem(poolp, &(returnKey->u.dh.publicValue),
&(privKey->u.dh.publicValue));
if(rv != SECSuccess) break;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.dh.privateValue),
&(privKey->u.dh.privateValue));
if(rv != SECSuccess) break;
returnKey->u.dsa.params.arena = poolp;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.dh.prime),
&(privKey->u.dh.prime));
if(rv != SECSuccess) break;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.dh.base),
&(privKey->u.dh.base));
if(rv != SECSuccess) break;
break;
#ifdef NSS_ENABLE_ECC
case NSSLOWKEYECKey:
rv = SECITEM_CopyItem(poolp, &(returnKey->u.ec.version),
&(privKey->u.ec.version));
if(rv != SECSuccess) break;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.ec.publicValue),
&(privKey->u.ec.publicValue));
if(rv != SECSuccess) break;
rv = SECITEM_CopyItem(poolp, &(returnKey->u.ec.privateValue),
&(privKey->u.ec.privateValue));
if(rv != SECSuccess) break;
returnKey->u.ec.ecParams.arena = poolp;
/* Copy the rest of the params */
rv = EC_CopyParams(poolp, &(returnKey->u.ec.ecParams),
&(privKey->u.ec.ecParams));
if (rv != SECSuccess) break;
break;
#endif /* NSS_ENABLE_ECC */
default:
rv = SECFailure;
}
loser:
if(rv != SECSuccess) {
PORT_FreeArena(poolp, PR_TRUE);
returnKey = NULL;
}
return returnKey;
}

View File

@@ -0,0 +1,108 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Dr Vipul Gupta <vipul.gupta@sun.com>, Sun Microsystems Laboratories
*
* 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 ***** */
/* $Id: lowkeyi.h,v 1.10.70.3 2007-02-28 20:44:54 rrelyea%redhat.com Exp $ */
#ifndef _LOWKEYI_H_
#define _LOWKEYI_H_
#include "prtypes.h"
#include "seccomon.h"
#include "secoidt.h"
#include "lowkeyti.h"
SEC_BEGIN_PROTOS
/*
* See bugzilla bug 125359
* Since NSS (via PKCS#11) wants to handle big integers as unsigned ints,
* all of the templates above that en/decode into integers must be converted
* from ASN.1's signed integer type. This is done by marking either the
* source or destination (encoding or decoding, respectively) type as
* siUnsignedInteger.
*/
extern void prepare_low_rsa_priv_key_for_asn1(NSSLOWKEYPrivateKey *key);
extern void prepare_low_pqg_params_for_asn1(PQGParams *params);
extern void prepare_low_dsa_priv_key_for_asn1(NSSLOWKEYPrivateKey *key);
extern void prepare_low_dsa_priv_key_export_for_asn1(NSSLOWKEYPrivateKey *key);
extern void prepare_low_dh_priv_key_for_asn1(NSSLOWKEYPrivateKey *key);
#ifdef NSS_ENABLE_ECC
extern void prepare_low_ec_priv_key_for_asn1(NSSLOWKEYPrivateKey *key);
extern void prepare_low_ecparams_for_asn1(ECParams *params);
#endif /* NSS_ENABLE_ECC */
/*
** Destroy a private key object.
** "key" the object
** "freeit" if PR_TRUE then free the object as well as its sub-objects
*/
extern void nsslowkey_DestroyPrivateKey(NSSLOWKEYPrivateKey *key);
/*
** Destroy a public key object.
** "key" the object
** "freeit" if PR_TRUE then free the object as well as its sub-objects
*/
extern void nsslowkey_DestroyPublicKey(NSSLOWKEYPublicKey *key);
/*
** Return the modulus length of "pubKey".
*/
extern unsigned int nsslowkey_PublicModulusLen(NSSLOWKEYPublicKey *pubKey);
/*
** Return the modulus length of "privKey".
*/
extern unsigned int nsslowkey_PrivateModulusLen(NSSLOWKEYPrivateKey *privKey);
/*
** Convert a low private key "privateKey" into a public low key
*/
extern NSSLOWKEYPublicKey
*nsslowkey_ConvertToPublicKey(NSSLOWKEYPrivateKey *privateKey);
/* Make a copy of a low private key in it's own arena.
* a return of NULL indicates an error.
*/
extern NSSLOWKEYPrivateKey *
nsslowkey_CopyPrivateKey(NSSLOWKEYPrivateKey *privKey);
SEC_END_PROTOS
#endif /* _LOWKEYI_H_ */

View File

@@ -0,0 +1,127 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Dr Vipul Gupta <vipul.gupta@sun.com>, Sun Microsystems Laboratories
*
* 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 _LOWKEYTI_H_
#define _LOWKEYTI_H_ 1
#include "blapit.h"
#include "prtypes.h"
#include "plarena.h"
#include "secitem.h"
#include "secasn1t.h"
#include "secoidt.h"
/*
** Typedef for callback to get a password "key".
*/
extern const SEC_ASN1Template nsslowkey_PQGParamsTemplate[];
extern const SEC_ASN1Template nsslowkey_RSAPrivateKeyTemplate[];
extern const SEC_ASN1Template nsslowkey_DSAPrivateKeyTemplate[];
extern const SEC_ASN1Template nsslowkey_DSAPrivateKeyExportTemplate[];
extern const SEC_ASN1Template nsslowkey_DHPrivateKeyTemplate[];
extern const SEC_ASN1Template nsslowkey_DHPrivateKeyExportTemplate[];
#ifdef NSS_ENABLE_ECC
#define NSSLOWKEY_EC_PRIVATE_KEY_VERSION 1 /* as per SECG 1 C.4 */
extern const SEC_ASN1Template nsslowkey_ECParamsTemplate[];
extern const SEC_ASN1Template nsslowkey_ECPrivateKeyTemplate[];
#endif /* NSS_ENABLE_ECC */
extern const SEC_ASN1Template nsslowkey_PrivateKeyInfoTemplate[];
extern const SEC_ASN1Template nsslowkey_EncryptedPrivateKeyInfoTemplate[];
/*
* PKCS #8 attributes
*/
struct NSSLOWKEYAttributeStr {
SECItem attrType;
SECItem *attrValue;
};
typedef struct NSSLOWKEYAttributeStr NSSLOWKEYAttribute;
/*
** A PKCS#8 private key info object
*/
struct NSSLOWKEYPrivateKeyInfoStr {
PLArenaPool *arena;
SECItem version;
SECAlgorithmID algorithm;
SECItem privateKey;
NSSLOWKEYAttribute **attributes;
};
typedef struct NSSLOWKEYPrivateKeyInfoStr NSSLOWKEYPrivateKeyInfo;
#define NSSLOWKEY_PRIVATE_KEY_INFO_VERSION 0 /* what we *create* */
typedef enum {
NSSLOWKEYNullKey = 0,
NSSLOWKEYRSAKey = 1,
NSSLOWKEYDSAKey = 2,
NSSLOWKEYDHKey = 4,
NSSLOWKEYECKey = 5
} NSSLOWKEYType;
/*
** An RSA public key object.
*/
struct NSSLOWKEYPublicKeyStr {
PLArenaPool *arena;
NSSLOWKEYType keyType ;
union {
RSAPublicKey rsa;
DSAPublicKey dsa;
DHPublicKey dh;
ECPublicKey ec;
} u;
};
typedef struct NSSLOWKEYPublicKeyStr NSSLOWKEYPublicKey;
/*
** Low Level private key object
** This is only used by the raw Crypto engines (crypto), keydb (keydb),
** and PKCS #11. Everyone else uses the high level key structure.
*/
struct NSSLOWKEYPrivateKeyStr {
PLArenaPool *arena;
NSSLOWKEYType keyType;
union {
RSAPrivateKey rsa;
DSAPrivateKey dsa;
DHPrivateKey dh;
ECPrivateKey ec;
} u;
};
typedef struct NSSLOWKEYPrivateKeyStr NSSLOWKEYPrivateKey;
#endif /* _LOWKEYTI_H_ */

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,135 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
#ifndef _SECPKCS5_H_
#define _SECPKCS5_H_
#include "plarena.h"
#include "secitem.h"
#include "seccomon.h"
#include "secoidt.h"
#include "hasht.h"
typedef SECItem * (* SEC_PKCS5GetPBEPassword)(void *arg);
/* used for V2 PKCS 12 Draft Spec */
typedef enum {
pbeBitGenIDNull = 0,
pbeBitGenCipherKey = 0x01,
pbeBitGenCipherIV = 0x02,
pbeBitGenIntegrityKey = 0x03
} PBEBitGenID;
typedef enum {
NSSPKCS5_PBKDF1 = 0,
NSSPKCS5_PBKDF2 = 1,
NSSPKCS5_PKCS12_V2 = 2
} NSSPKCS5PBEType;
typedef struct NSSPKCS5PBEParameterStr NSSPKCS5PBEParameter;
struct NSSPKCS5PBEParameterStr {
PRArenaPool *poolp;
SECItem salt; /* octet string */
SECItem iteration; /* integer */
/* used locally */
int iter;
int keyLen;
int ivLen;
HASH_HashType hashType;
NSSPKCS5PBEType pbeType;
PBEBitGenID keyID;
SECOidTag encAlg;
PRBool is2KeyDES;
};
SEC_BEGIN_PROTOS
/* Create a PKCS5 Algorithm ID
* The algorithm ID is set up using the PKCS #5 parameter structure
* algorithm is the PBE algorithm ID for the desired algorithm
* pbe is a pbe param block with all the info needed to create the
* algorithm id.
* If an error occurs or the algorithm specified is not supported
* or is not a password based encryption algorithm, NULL is returned.
* Otherwise, a pointer to the algorithm id is returned.
*/
extern SECAlgorithmID *
nsspkcs5_CreateAlgorithmID(PRArenaPool *arena, SECOidTag algorithm,
NSSPKCS5PBEParameter *pbe);
/*
* Convert an Algorithm ID to a PBE Param.
* NOTE: this does not suppport PKCS 5 v2 because it's only used for the
* keyDB which only support PKCS 5 v1, PFX, and PKCS 12.
*/
NSSPKCS5PBEParameter *
nsspkcs5_AlgidToParam(SECAlgorithmID *algid);
/*
* Convert an Algorithm ID to a PBE Param.
* NOTE: this does not suppport PKCS 5 v2 because it's only used for the
* keyDB which only support PKCS 5 v1, PFX, and PKCS 12.
*/
NSSPKCS5PBEParameter *
nsspkcs5_NewParam(SECOidTag alg, SECItem *salt, int iterator);
/* Encrypt/Decrypt data using password based encryption.
* algid is the PBE algorithm identifier,
* pwitem is the password,
* src is the source for encryption/decryption,
* encrypt is PR_TRUE for encryption, PR_FALSE for decryption.
* The key and iv are generated based upon PKCS #5 then the src
* is either encrypted or decrypted. If an error occurs, NULL
* is returned, otherwise the ciphered contents is returned.
*/
extern SECItem *
nsspkcs5_CipherData(NSSPKCS5PBEParameter *, SECItem *pwitem,
SECItem *src, PRBool encrypt, PRBool *update);
extern SECItem *
nsspkcs5_ComputeKeyAndIV(NSSPKCS5PBEParameter *, SECItem *pwitem,
SECItem *iv, PRBool faulty3DES);
/* Destroys PBE parameter */
extern void
nsspkcs5_DestroyPBEParameter(NSSPKCS5PBEParameter *param);
SEC_END_PROTOS
#endif

View File

@@ -0,0 +1,98 @@
#
# ***** 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 the Netscape security libraries.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1994-2000
# 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 *****
CORE_DEPTH = ../../..
MODULE = nss
DIRS = legacydb
REQUIRES = dbm
LIBRARY_NAME = softokn
LIBRARY_VERSION = 3
MAPFILE = $(OBJDIR)/softokn.def
DEFINES += -DSHLIB_SUFFIX=\"$(DLL_SUFFIX)\" -DSHLIB_PREFIX=\"$(DLL_PREFIX)\" -DSOFTOKEN_LIB_NAME=\"$(notdir $(SHARED_LIBRARY))\" -DSHLIB_VERSION=\"$(LIBRARY_VERSION)\"
EXPORTS = \
pkcs11.h \
pkcs11f.h \
pkcs11p.h \
pkcs11t.h \
pkcs11n.h \
pkcs11u.h \
sdb.h \
sftkdbt.h \
$(NULL)
PRIVATE_EXPORTS = \
lgglue.h \
pk11pars.h \
pkcs11ni.h \
softoken.h \
softoknt.h \
softkver.h \
$(NULL)
CSRCS = \
ecdecode.c \
fipsaudt.c \
fipstest.c \
fipstokn.c \
lgglue.c \
lowkey.c \
lowpbe.c \
padbuf.c \
pkcs11.c \
pkcs11c.c \
pkcs11u.c \
rsawrapr.c \
sdb.c \
sftkdb.c \
sftkpars.c \
softkver.c \
tlsprf.c \
$(NULL)
ifdef NSS_ENABLE_ECC
DEFINES += -DNSS_ENABLE_ECC
endif
ifdef SQLITE_UNSAFE_THREADS
DEFINES += -DSQLITE_UNSAFE_THREADS
endif

View File

@@ -0,0 +1,80 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 "blapit.h"
#include "secport.h"
#include "secerr.h"
/*
* Prepare a buffer for DES encryption, growing to the appropriate boundary,
* filling with the appropriate padding.
*
* NOTE: If arena is non-NULL, we re-allocate from there, otherwise
* we assume (and use) XP memory (re)allocation.
*/
unsigned char *
DES_PadBuffer(PRArenaPool *arena, unsigned char *inbuf, unsigned int inlen,
unsigned int *outlen)
{
unsigned char *outbuf;
unsigned int des_len;
unsigned int i;
unsigned char des_pad_len;
/*
* We need from 1 to DES_KEY_LENGTH bytes -- we *always* grow.
* The extra bytes contain the value of the length of the padding:
* if we have 2 bytes of padding, then the padding is "0x02, 0x02".
*/
des_len = (inlen + DES_KEY_LENGTH) & ~(DES_KEY_LENGTH - 1);
if (arena != NULL) {
outbuf = (unsigned char*)PORT_ArenaGrow (arena, inbuf, inlen, des_len);
} else {
outbuf = (unsigned char*)PORT_Realloc (inbuf, des_len);
}
if (outbuf == NULL) {
PORT_SetError (SEC_ERROR_NO_MEMORY);
return NULL;
}
des_pad_len = des_len - inlen;
for (i = inlen; i < des_len; i++)
outbuf[i] = des_pad_len;
*outlen = des_len;
return outbuf;
}

View File

@@ -0,0 +1,871 @@
/* ***** 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 the Netscape security libraries.
*
* 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 ***** */
/*
* The following handles the loading, unloading and management of
* various PCKS #11 modules
*/
/*
* this header file contains routines for parsing PKCS #11 module spec
* strings. It contains 'C' code and should only be included in one module.
* Currently it is included in both softoken and the wrapper.
*/
#include <ctype.h>
#include "pkcs11.h"
#include "seccomon.h"
#include "prprf.h"
#include "secmodt.h"
#include "pk11init.h"
#define SECMOD_ARG_LIBRARY_PARAMETER "library="
#define SECMOD_ARG_NAME_PARAMETER "name="
#define SECMOD_ARG_MODULE_PARAMETER "parameters="
#define SECMOD_ARG_NSS_PARAMETER "NSS="
#define SECMOD_ARG_FORTEZZA_FLAG "FORTEZZA"
#define SECMOD_ARG_ESCAPE '\\'
struct secmodargSlotFlagTable {
char *name;
int len;
unsigned long value;
};
#define SECMOD_DEFAULT_CIPHER_ORDER 0
#define SECMOD_DEFAULT_TRUST_ORDER 50
#define SECMOD_ARG_ENTRY(arg,flag) \
{ #arg , sizeof(#arg)-1, flag }
static struct secmodargSlotFlagTable secmod_argSlotFlagTable[] = {
SECMOD_ARG_ENTRY(RSA,SECMOD_RSA_FLAG),
SECMOD_ARG_ENTRY(DSA,SECMOD_RSA_FLAG),
SECMOD_ARG_ENTRY(RC2,SECMOD_RC4_FLAG),
SECMOD_ARG_ENTRY(RC4,SECMOD_RC2_FLAG),
SECMOD_ARG_ENTRY(DES,SECMOD_DES_FLAG),
SECMOD_ARG_ENTRY(DH,SECMOD_DH_FLAG),
SECMOD_ARG_ENTRY(FORTEZZA,SECMOD_FORTEZZA_FLAG),
SECMOD_ARG_ENTRY(RC5,SECMOD_RC5_FLAG),
SECMOD_ARG_ENTRY(SHA1,SECMOD_SHA1_FLAG),
SECMOD_ARG_ENTRY(MD5,SECMOD_MD5_FLAG),
SECMOD_ARG_ENTRY(MD2,SECMOD_MD2_FLAG),
SECMOD_ARG_ENTRY(SSL,SECMOD_SSL_FLAG),
SECMOD_ARG_ENTRY(TLS,SECMOD_TLS_FLAG),
SECMOD_ARG_ENTRY(AES,SECMOD_AES_FLAG),
SECMOD_ARG_ENTRY(Camellia,SECMOD_CAMELLIA_FLAG),
SECMOD_ARG_ENTRY(PublicCerts,SECMOD_FRIENDLY_FLAG),
SECMOD_ARG_ENTRY(RANDOM,SECMOD_RANDOM_FLAG),
};
#define SECMOD_HANDLE_STRING_ARG(param,target,value,command) \
if (PORT_Strncasecmp(param,value,sizeof(value)-1) == 0) { \
param += sizeof(value)-1; \
if (target) PORT_Free(target); \
target = secmod_argFetchValue(param,&next); \
param += next; \
command ;\
} else
#define SECMOD_HANDLE_FINAL_ARG(param) \
{ param = secmod_argSkipParameter(param); } param = secmod_argStrip(param);
static int secmod_argSlotFlagTableSize =
sizeof(secmod_argSlotFlagTable)/sizeof(secmod_argSlotFlagTable[0]);
static PRBool secmod_argGetPair(char c) {
switch (c) {
case '\'': return c;
case '\"': return c;
case '<': return '>';
case '{': return '}';
case '[': return ']';
case '(': return ')';
default: break;
}
return ' ';
}
static PRBool secmod_argIsBlank(char c) {
return isspace(c);
}
static PRBool secmod_argIsEscape(char c) {
return c == '\\';
}
static PRBool secmod_argIsQuote(char c) {
switch (c) {
case '\'':
case '\"':
case '<':
case '{': /* } end curly to keep vi bracket matching working */
case '(': /* ) */
case '[': /* ] */ return PR_TRUE;
default: break;
}
return PR_FALSE;
}
static PRBool secmod_argHasChar(char *v, char c)
{
for ( ;*v; v++) {
if (*v == c) return PR_TRUE;
}
return PR_FALSE;
}
static PRBool secmod_argHasBlanks(char *v)
{
for ( ;*v; v++) {
if (secmod_argIsBlank(*v)) return PR_TRUE;
}
return PR_FALSE;
}
static char *secmod_argStrip(char *c) {
while (*c && secmod_argIsBlank(*c)) c++;
return c;
}
static char *
secmod_argFindEnd(char *string) {
char endChar = ' ';
PRBool lastEscape = PR_FALSE;
if (secmod_argIsQuote(*string)) {
endChar = secmod_argGetPair(*string);
string++;
}
for (;*string; string++) {
if (lastEscape) {
lastEscape = PR_FALSE;
continue;
}
if (secmod_argIsEscape(*string) && !lastEscape) {
lastEscape = PR_TRUE;
continue;
}
if ((endChar == ' ') && secmod_argIsBlank(*string)) break;
if (*string == endChar) {
break;
}
}
return string;
}
static char *
secmod_argFetchValue(char *string, int *pcount)
{
char *end = secmod_argFindEnd(string);
char *retString, *copyString;
PRBool lastEscape = PR_FALSE;
int len;
len = end - string;
if (len == 0) {
*pcount = 0;
return NULL;
}
copyString = retString = (char *)PORT_Alloc(len+1);
if (*end) len++;
*pcount = len;
if (retString == NULL) return NULL;
if (secmod_argIsQuote(*string)) string++;
for (; string < end; string++) {
if (secmod_argIsEscape(*string) && !lastEscape) {
lastEscape = PR_TRUE;
continue;
}
lastEscape = PR_FALSE;
*copyString++ = *string;
}
*copyString = 0;
return retString;
}
static char *
secmod_argSkipParameter(char *string)
{
char *end;
/* look for the end of the <name>= */
for (;*string; string++) {
if (*string == '=') { string++; break; }
if (secmod_argIsBlank(*string)) return(string);
}
end = secmod_argFindEnd(string);
if (*end) end++;
return end;
}
static SECStatus
secmod_argParseModuleSpec(char *modulespec, char **lib, char **mod,
char **parameters, char **nss)
{
int next;
modulespec = secmod_argStrip(modulespec);
*lib = *mod = *parameters = *nss = 0;
while (*modulespec) {
SECMOD_HANDLE_STRING_ARG(modulespec,*lib,SECMOD_ARG_LIBRARY_PARAMETER,;)
SECMOD_HANDLE_STRING_ARG(modulespec,*mod,SECMOD_ARG_NAME_PARAMETER,;)
SECMOD_HANDLE_STRING_ARG(modulespec,*parameters,
SECMOD_ARG_MODULE_PARAMETER,;)
SECMOD_HANDLE_STRING_ARG(modulespec,*nss,SECMOD_ARG_NSS_PARAMETER,;)
SECMOD_HANDLE_FINAL_ARG(modulespec)
}
return SECSuccess;
}
static char *
secmod_argGetParamValue(char *paramName,char *parameters)
{
char searchValue[256];
int paramLen = strlen(paramName);
char *returnValue = NULL;
int next;
if ((parameters == NULL) || (*parameters == 0)) return NULL;
PORT_Assert(paramLen+2 < sizeof(searchValue));
PORT_Strcpy(searchValue,paramName);
PORT_Strcat(searchValue,"=");
while (*parameters) {
if (PORT_Strncasecmp(parameters,searchValue,paramLen+1) == 0) {
parameters += paramLen+1;
returnValue = secmod_argFetchValue(parameters,&next);
break;
} else {
parameters = secmod_argSkipParameter(parameters);
}
parameters = secmod_argStrip(parameters);
}
return returnValue;
}
static char *
secmod_argNextFlag(char *flags)
{
for (; *flags ; flags++) {
if (*flags == ',') {
flags++;
break;
}
}
return flags;
}
static PRBool
secmod_argHasFlag(char *label, char *flag, char *parameters)
{
char *flags,*index;
int len = strlen(flag);
PRBool found = PR_FALSE;
flags = secmod_argGetParamValue(label,parameters);
if (flags == NULL) return PR_FALSE;
for (index=flags; *index; index=secmod_argNextFlag(index)) {
if (PORT_Strncasecmp(index,flag,len) == 0) {
found=PR_TRUE;
break;
}
}
PORT_Free(flags);
return found;
}
static void
secmod_argSetNewCipherFlags(unsigned long *newCiphers,char *cipherList)
{
newCiphers[0] = newCiphers[1] = 0;
if ((cipherList == NULL) || (*cipherList == 0)) return;
for (;*cipherList; cipherList=secmod_argNextFlag(cipherList)) {
if (PORT_Strncasecmp(cipherList,SECMOD_ARG_FORTEZZA_FLAG,
sizeof(SECMOD_ARG_FORTEZZA_FLAG)-1) == 0) {
newCiphers[0] |= SECMOD_FORTEZZA_FLAG;
}
/* add additional flags here as necessary */
/* direct bit mapping escape */
if (*cipherList == 0) {
if (cipherList[1] == 'l') {
newCiphers[1] |= atoi(&cipherList[2]);
} else {
newCiphers[0] |= atoi(&cipherList[2]);
}
}
}
}
/*
* decode a number. handle octal (leading '0'), hex (leading '0x') or decimal
*/
static long
secmod_argDecodeNumber(char *num)
{
int radix = 10;
unsigned long value = 0;
long retValue = 0;
int sign = 1;
int digit;
if (num == NULL) return retValue;
num = secmod_argStrip(num);
if (*num == '-') {
sign = -1;
num++;
}
if (*num == '0') {
radix = 8;
num++;
if ((*num == 'x') || (*num == 'X')) {
radix = 16;
num++;
}
}
for ( ;*num; num++ ) {
if (isdigit(*num)) {
digit = *num - '0';
} else if ((*num >= 'a') && (*num <= 'f')) {
digit = *num - 'a' + 10;
} else if ((*num >= 'A') && (*num <= 'F')) {
digit = *num - 'A' + 10;
} else {
break;
}
if (digit >= radix) break;
value = value*radix + digit;
}
retValue = ((int) value) * sign;
return retValue;
}
static long
secmod_argReadLong(char *label,char *params, long defValue, PRBool *isdefault)
{
char *value;
long retValue;
if (isdefault) *isdefault = PR_FALSE;
value = secmod_argGetParamValue(label,params);
if (value == NULL) {
if (isdefault) *isdefault = PR_TRUE;
return defValue;
}
retValue = secmod_argDecodeNumber(value);
if (value) PORT_Free(value);
return retValue;
}
static unsigned long
secmod_argSlotFlags(char *label,char *params)
{
char *flags,*index;
unsigned long retValue = 0;
int i;
PRBool all = PR_FALSE;
flags = secmod_argGetParamValue(label,params);
if (flags == NULL) return 0;
if (PORT_Strcasecmp(flags,"all") == 0) all = PR_TRUE;
for (index=flags; *index; index=secmod_argNextFlag(index)) {
for (i=0; i < secmod_argSlotFlagTableSize; i++) {
if (all || (PORT_Strncasecmp(index, secmod_argSlotFlagTable[i].name,
secmod_argSlotFlagTable[i].len) == 0)) {
retValue |= secmod_argSlotFlagTable[i].value;
}
}
}
PORT_Free(flags);
return retValue;
}
static void
secmod_argDecodeSingleSlotInfo(char *name, char *params,
PK11PreSlotInfo *slotInfo)
{
char *askpw;
slotInfo->slotID=secmod_argDecodeNumber(name);
slotInfo->defaultFlags=secmod_argSlotFlags("slotFlags",params);
slotInfo->timeout=secmod_argReadLong("timeout",params, 0, NULL);
askpw = secmod_argGetParamValue("askpw",params);
slotInfo->askpw = 0;
if (askpw) {
if (PORT_Strcasecmp(askpw,"every") == 0) {
slotInfo->askpw = -1;
} else if (PORT_Strcasecmp(askpw,"timeout") == 0) {
slotInfo->askpw = 1;
}
PORT_Free(askpw);
slotInfo->defaultFlags |= PK11_OWN_PW_DEFAULTS;
}
slotInfo->hasRootCerts = secmod_argHasFlag("rootFlags", "hasRootCerts",
params);
slotInfo->hasRootTrust = secmod_argHasFlag("rootFlags", "hasRootTrust",
params);
}
static char *
secmod_argGetName(char *inString, int *next)
{
char *name=NULL;
char *string;
int len;
/* look for the end of the <name>= */
for (string = inString;*string; string++) {
if (*string == '=') { break; }
if (secmod_argIsBlank(*string)) break;
}
len = string - inString;
*next = len;
if (*string == '=') (*next) += 1;
if (len > 0) {
name = PORT_Alloc(len+1);
PORT_Strncpy(name,inString,len);
name[len] = 0;
}
return name;
}
static PK11PreSlotInfo *
secmod_argParseSlotInfo(PRArenaPool *arena, char *slotParams, int *retCount)
{
char *slotIndex;
PK11PreSlotInfo *slotInfo = NULL;
int i=0,count = 0,next;
*retCount = 0;
if ((slotParams == NULL) || (*slotParams == 0)) return NULL;
/* first count the number of slots */
for (slotIndex = secmod_argStrip(slotParams); *slotIndex;
slotIndex = secmod_argStrip(secmod_argSkipParameter(slotIndex))) {
count++;
}
/* get the data structures */
if (arena) {
slotInfo = (PK11PreSlotInfo *)
PORT_ArenaAlloc(arena,count*sizeof(PK11PreSlotInfo));
PORT_Memset(slotInfo,0,count*sizeof(PK11PreSlotInfo));
} else {
slotInfo = (PK11PreSlotInfo *)
PORT_ZAlloc(count*sizeof(PK11PreSlotInfo));
}
if (slotInfo == NULL) return NULL;
for (slotIndex = secmod_argStrip(slotParams), i = 0;
*slotIndex && i < count ; ) {
char *name;
name = secmod_argGetName(slotIndex,&next);
slotIndex += next;
if (!secmod_argIsBlank(*slotIndex)) {
char *args = secmod_argFetchValue(slotIndex,&next);
slotIndex += next;
if (args) {
secmod_argDecodeSingleSlotInfo(name,args,&slotInfo[i]);
i++;
PORT_Free(args);
}
}
if (name) PORT_Free(name);
slotIndex = secmod_argStrip(slotIndex);
}
*retCount = i;
return slotInfo;
}
static char *secmod_nullString = "";
static char *
secmod_formatValue(PRArenaPool *arena, char *value, char quote)
{
char *vp,*vp2,*retval;
int size = 0, escapes = 0;
for (vp=value; *vp ;vp++) {
if ((*vp == quote) || (*vp == SECMOD_ARG_ESCAPE)) escapes++;
size++;
}
if (arena) {
retval = PORT_ArenaZAlloc(arena,size+escapes+1);
} else {
retval = PORT_ZAlloc(size+escapes+1);
}
if (retval == NULL) return NULL;
vp2 = retval;
for (vp=value; *vp; vp++) {
if ((*vp == quote) || (*vp == SECMOD_ARG_ESCAPE))
*vp2++ = SECMOD_ARG_ESCAPE;
*vp2++ = *vp;
}
return retval;
}
static char *secmod_formatPair(char *name,char *value, char quote)
{
char openQuote = quote;
char closeQuote = secmod_argGetPair(quote);
char *newValue = NULL;
char *returnValue;
PRBool need_quote = PR_FALSE;
if (!value || (*value == 0)) return secmod_nullString;
if (secmod_argHasBlanks(value) || secmod_argIsQuote(value[0]))
need_quote=PR_TRUE;
if ((need_quote && secmod_argHasChar(value,closeQuote))
|| secmod_argHasChar(value,SECMOD_ARG_ESCAPE)) {
value = newValue = secmod_formatValue(NULL, value,quote);
if (newValue == NULL) return secmod_nullString;
}
if (need_quote) {
returnValue = PR_smprintf("%s=%c%s%c",name,openQuote,value,closeQuote);
} else {
returnValue = PR_smprintf("%s=%s",name,value);
}
if (returnValue == NULL) returnValue = secmod_nullString;
if (newValue) PORT_Free(newValue);
return returnValue;
}
static char *secmod_formatIntPair(char *name, unsigned long value,
unsigned long def)
{
char *returnValue;
if (value == def) return secmod_nullString;
returnValue = PR_smprintf("%s=%d",name,value);
return returnValue;
}
static void
secmod_freePair(char *pair)
{
if (pair && pair != secmod_nullString) {
PR_smprintf_free(pair);
}
}
#define MAX_FLAG_SIZE sizeof("internal")+sizeof("FIPS")+sizeof("moduleDB")+\
sizeof("moduleDBOnly")+sizeof("critical")
static char *
secmod_mkNSSFlags(PRBool internal, PRBool isFIPS,
PRBool isModuleDB, PRBool isModuleDBOnly, PRBool isCritical)
{
char *flags = (char *)PORT_ZAlloc(MAX_FLAG_SIZE);
PRBool first = PR_TRUE;
PORT_Memset(flags,0,MAX_FLAG_SIZE);
if (internal) {
PORT_Strcat(flags,"internal");
first = PR_FALSE;
}
if (isFIPS) {
if (!first) PORT_Strcat(flags,",");
PORT_Strcat(flags,"FIPS");
first = PR_FALSE;
}
if (isModuleDB) {
if (!first) PORT_Strcat(flags,",");
PORT_Strcat(flags,"moduleDB");
first = PR_FALSE;
}
if (isModuleDBOnly) {
if (!first) PORT_Strcat(flags,",");
PORT_Strcat(flags,"moduleDBOnly");
first = PR_FALSE;
}
if (isCritical) {
if (!first) PORT_Strcat(flags,",");
PORT_Strcat(flags,"critical");
first = PR_FALSE;
}
return flags;
}
static char *
secmod_mkCipherFlags(unsigned long ssl0, unsigned long ssl1)
{
char *cipher = NULL;
int i;
for (i=0; i < sizeof(ssl0)*8; i++) {
if (ssl0 & (1<<i)) {
char *string;
if ((1<<i) == SECMOD_FORTEZZA_FLAG) {
string = PR_smprintf("%s","FORTEZZA");
} else {
string = PR_smprintf("0h0x%08x",1<<i);
}
if (cipher) {
char *tmp;
tmp = PR_smprintf("%s,%s",cipher,string);
PR_smprintf_free(cipher);
PR_smprintf_free(string);
cipher = tmp;
} else {
cipher = string;
}
}
}
for (i=0; i < sizeof(ssl0)*8; i++) {
if (ssl1 & (1<<i)) {
if (cipher) {
char *tmp;
tmp = PR_smprintf("%s,0l0x%08x",cipher,1<<i);
PR_smprintf_free(cipher);
cipher = tmp;
} else {
cipher = PR_smprintf("0l0x%08x",1<<i);
}
}
}
return cipher;
}
static char *
secmod_mkSlotFlags(unsigned long defaultFlags)
{
char *flags=NULL;
int i,j;
for (i=0; i < sizeof(defaultFlags)*8; i++) {
if (defaultFlags & (1<<i)) {
char *string = NULL;
for (j=0; j < secmod_argSlotFlagTableSize; j++) {
if (secmod_argSlotFlagTable[j].value == ( 1UL << i )) {
string = secmod_argSlotFlagTable[j].name;
break;
}
}
if (string) {
if (flags) {
char *tmp;
tmp = PR_smprintf("%s,%s",flags,string);
PR_smprintf_free(flags);
flags = tmp;
} else {
flags = PR_smprintf("%s",string);
}
}
}
}
return flags;
}
#define SECMOD_MAX_ROOT_FLAG_SIZE sizeof("hasRootCerts")+sizeof("hasRootTrust")
static char *
secmod_mkRootFlags(PRBool hasRootCerts, PRBool hasRootTrust)
{
char *flags= (char *)PORT_ZAlloc(SECMOD_MAX_ROOT_FLAG_SIZE);
PRBool first = PR_TRUE;
PORT_Memset(flags,0,SECMOD_MAX_ROOT_FLAG_SIZE);
if (hasRootCerts) {
PORT_Strcat(flags,"hasRootCerts");
first = PR_FALSE;
}
if (hasRootTrust) {
if (!first) PORT_Strcat(flags,",");
PORT_Strcat(flags,"hasRootTrust");
first = PR_FALSE;
}
return flags;
}
static char *
secmod_mkSlotString(unsigned long slotID, unsigned long defaultFlags,
unsigned long timeout, unsigned char askpw_in,
PRBool hasRootCerts, PRBool hasRootTrust) {
char *askpw,*flags,*rootFlags,*slotString;
char *flagPair,*rootFlagsPair;
switch (askpw_in) {
case 0xff:
askpw = "every";
break;
case 1:
askpw = "timeout";
break;
default:
askpw = "any";
break;
}
flags = secmod_mkSlotFlags(defaultFlags);
rootFlags = secmod_mkRootFlags(hasRootCerts,hasRootTrust);
flagPair=secmod_formatPair("slotFlags",flags,'\'');
rootFlagsPair=secmod_formatPair("rootFlags",rootFlags,'\'');
if (flags) PR_smprintf_free(flags);
if (rootFlags) PORT_Free(rootFlags);
if (defaultFlags & PK11_OWN_PW_DEFAULTS) {
slotString = PR_smprintf("0x%08lx=[%s askpw=%s timeout=%d %s]",
(PRUint32)slotID,flagPair,askpw,timeout,
rootFlagsPair);
} else {
slotString = PR_smprintf("0x%08lx=[%s %s]",
(PRUint32)slotID,flagPair,rootFlagsPair);
}
secmod_freePair(flagPair);
secmod_freePair(rootFlagsPair);
return slotString;
}
static char *
secmod_mkNSS(char **slotStrings, int slotCount, PRBool internal, PRBool isFIPS,
PRBool isModuleDB, PRBool isModuleDBOnly, PRBool isCritical,
unsigned long trustOrder, unsigned long cipherOrder,
unsigned long ssl0, unsigned long ssl1) {
int slotLen, i;
char *slotParams, *ciphers, *nss, *nssFlags, *tmp;
char *trustOrderPair,*cipherOrderPair,*slotPair,*cipherPair,*flagPair;
/* now let's build up the string
* first the slot infos
*/
slotLen=0;
for (i=0; i < (int)slotCount; i++) {
slotLen += PORT_Strlen(slotStrings[i])+1;
}
slotLen += 1; /* space for the final NULL */
slotParams = (char *)PORT_ZAlloc(slotLen);
PORT_Memset(slotParams,0,slotLen);
for (i=0; i < (int)slotCount; i++) {
PORT_Strcat(slotParams,slotStrings[i]);
PORT_Strcat(slotParams," ");
PR_smprintf_free(slotStrings[i]);
slotStrings[i]=NULL;
}
/*
* now the NSS structure
*/
nssFlags = secmod_mkNSSFlags(internal,isFIPS,isModuleDB,isModuleDBOnly,
isCritical);
/* for now only the internal module is critical */
ciphers = secmod_mkCipherFlags(ssl0, ssl1);
trustOrderPair=secmod_formatIntPair("trustOrder",trustOrder,
SECMOD_DEFAULT_TRUST_ORDER);
cipherOrderPair=secmod_formatIntPair("cipherOrder",cipherOrder,
SECMOD_DEFAULT_CIPHER_ORDER);
slotPair=secmod_formatPair("slotParams",slotParams,'{'); /* } */
if (slotParams) PORT_Free(slotParams);
cipherPair=secmod_formatPair("ciphers",ciphers,'\'');
if (ciphers) PR_smprintf_free(ciphers);
flagPair=secmod_formatPair("Flags",nssFlags,'\'');
if (nssFlags) PORT_Free(nssFlags);
nss = PR_smprintf("%s %s %s %s %s",trustOrderPair,
cipherOrderPair,slotPair,cipherPair,flagPair);
secmod_freePair(trustOrderPair);
secmod_freePair(cipherOrderPair);
secmod_freePair(slotPair);
secmod_freePair(cipherPair);
secmod_freePair(flagPair);
tmp = secmod_argStrip(nss);
if (*tmp == '\0') {
PR_smprintf_free(nss);
nss = NULL;
}
return nss;
}
static char *
secmod_mkNewModuleSpec(char *dllName, char *commonName, char *parameters,
char *NSS) {
char *moduleSpec;
char *lib,*name,*param,*nss;
/*
* now the final spec
*/
lib = secmod_formatPair("library",dllName,'\"');
name = secmod_formatPair("name",commonName,'\"');
param = secmod_formatPair("parameters",parameters,'\"');
nss = secmod_formatPair("NSS",NSS,'\"');
moduleSpec = PR_smprintf("%s %s %s %s", lib,name,param,nss);
secmod_freePair(lib);
secmod_freePair(name);
secmod_freePair(param);
secmod_freePair(nss);
return (moduleSpec);
}

File diff suppressed because it is too large Load Diff

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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* RSA Labs
*
* 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 ***** */
/*
* Copyright (C) 1994-1999 RSA Security Inc. Licence to copy this document
* is granted provided that it is identified as "RSA Security In.c Public-Key
* Cryptography Standards (PKCS)" in all material mentioning or referencing
* this document.
*
* The latest version of this header can be found at:
* http://www.rsalabs.com/pkcs/pkcs-11/index.html
*/
#ifndef _PKCS11_H_
#define _PKCS11_H_ 1
#ifdef __cplusplus
extern "C" {
#endif
/* Before including this file (pkcs11.h) (or pkcs11t.h by
* itself), 6 platform-specific macros must be defined. These
* macros are described below, and typical definitions for them
* are also given. Be advised that these definitions can depend
* on both the platform and the compiler used (and possibly also
* on whether a PKCS #11 library is linked statically or
* dynamically).
*
* In addition to defining these 6 macros, the packing convention
* for PKCS #11 structures should be set. The PKCS #11
* convention on packing is that structures should be 1-byte
* aligned.
*
* In a Win32 environment, this might be done by using the
* following preprocessor directive before including pkcs11.h
* or pkcs11t.h:
*
* #pragma pack(push, cryptoki, 1)
*
* and using the following preprocessor directive after including
* pkcs11.h or pkcs11t.h:
*
* #pragma pack(pop, cryptoki)
*
* In a Win16 environment, this might be done by using the
* following preprocessor directive before including pkcs11.h
* or pkcs11t.h:
*
* #pragma pack(1)
*
* In a UNIX environment, you're on your own here. You might
* not need to do anything.
*
*
* Now for the macros:
*
*
* 1. CK_PTR: The indirection string for making a pointer to an
* object. It can be used like this:
*
* typedef CK_BYTE CK_PTR CK_BYTE_PTR;
*
* In a Win32 environment, it might be defined by
*
* #define CK_PTR *
*
* In a Win16 environment, it might be defined by
*
* #define CK_PTR far *
*
* In a UNIX environment, it might be defined by
*
* #define CK_PTR *
*
*
* 2. CK_DEFINE_FUNCTION(returnType, name): A macro which makes
* an exportable PKCS #11 library function definition out of a
* return type and a function name. It should be used in the
* following fashion to define the exposed PKCS #11 functions in
* a PKCS #11 library:
*
* CK_DEFINE_FUNCTION(CK_RV, C_Initialize)(
* CK_VOID_PTR pReserved
* )
* {
* ...
* }
*
* For defining a function in a Win32 PKCS #11 .dll, it might be
* defined by
*
* #define CK_DEFINE_FUNCTION(returnType, name) \
* returnType __declspec(dllexport) name
*
* For defining a function in a Win16 PKCS #11 .dll, it might be
* defined by
*
* #define CK_DEFINE_FUNCTION(returnType, name) \
* returnType __export _far _pascal name
*
* In a UNIX environment, it might be defined by
*
* #define CK_DEFINE_FUNCTION(returnType, name) \
* returnType name
*
*
* 3. CK_DECLARE_FUNCTION(returnType, name): A macro which makes
* an importable PKCS #11 library function declaration out of a
* return type and a function name. It should be used in the
* following fashion:
*
* extern CK_DECLARE_FUNCTION(CK_RV, C_Initialize)(
* CK_VOID_PTR pReserved
* );
*
* For declaring a function in a Win32 PKCS #11 .dll, it might
* be defined by
*
* #define CK_DECLARE_FUNCTION(returnType, name) \
* returnType __declspec(dllimport) name
*
* For declaring a function in a Win16 PKCS #11 .dll, it might
* be defined by
*
* #define CK_DECLARE_FUNCTION(returnType, name) \
* returnType __export _far _pascal name
*
* In a UNIX environment, it might be defined by
*
* #define CK_DECLARE_FUNCTION(returnType, name) \
* returnType name
*
*
* 4. CK_DECLARE_FUNCTION_POINTER(returnType, name): A macro
* which makes a PKCS #11 API function pointer declaration or
* function pointer type declaration out of a return type and a
* function name. It should be used in the following fashion:
*
* // Define funcPtr to be a pointer to a PKCS #11 API function
* // taking arguments args and returning CK_RV.
* CK_DECLARE_FUNCTION_POINTER(CK_RV, funcPtr)(args);
*
* or
*
* // Define funcPtrType to be the type of a pointer to a
* // PKCS #11 API function taking arguments args and returning
* // CK_RV, and then define funcPtr to be a variable of type
* // funcPtrType.
* typedef CK_DECLARE_FUNCTION_POINTER(CK_RV, funcPtrType)(args);
* funcPtrType funcPtr;
*
* For accessing functions in a Win32 PKCS #11 .dll, in might be
* defined by
*
* #define CK_DECLARE_FUNCTION_POINTER(returnType, name) \
* returnType __declspec(dllimport) (* name)
*
* For accessing functions in a Win16 PKCS #11 .dll, it might be
* defined by
*
* #define CK_DECLARE_FUNCTION_POINTER(returnType, name) \
* returnType __export _far _pascal (* name)
*
* In a UNIX environment, it might be defined by
*
* #define CK_DECLARE_FUNCTION_POINTER(returnType, name) \
* returnType (* name)
*
*
* 5. CK_CALLBACK_FUNCTION(returnType, name): A macro which makes
* a function pointer type for an application callback out of
* a return type for the callback and a name for the callback.
* It should be used in the following fashion:
*
* CK_CALLBACK_FUNCTION(CK_RV, myCallback)(args);
*
* to declare a function pointer, myCallback, to a callback
* which takes arguments args and returns a CK_RV. It can also
* be used like this:
*
* typedef CK_CALLBACK_FUNCTION(CK_RV, myCallbackType)(args);
* myCallbackType myCallback;
*
* In a Win32 environment, it might be defined by
*
* #define CK_CALLBACK_FUNCTION(returnType, name) \
* returnType (* name)
*
* In a Win16 environment, it might be defined by
*
* #define CK_CALLBACK_FUNCTION(returnType, name) \
* returnType _far _pascal (* name)
*
* In a UNIX environment, it might be defined by
*
* #define CK_CALLBACK_FUNCTION(returnType, name) \
* returnType (* name)
*
*
* 6. NULL_PTR: This macro is the value of a NULL pointer.
*
* In any ANSI/ISO C environment (and in many others as well),
* this should be defined by
*
* #ifndef NULL_PTR
* #define NULL_PTR 0
* #endif
*/
/* All the various PKCS #11 types and #define'd values are in the
* file pkcs11t.h. */
#include "pkcs11t.h"
#define __PASTE(x,y) x##y
/* packing defines */
#include "pkcs11p.h"
/* ==============================================================
* Define the "extern" form of all the entry points.
* ==============================================================
*/
#define CK_NEED_ARG_LIST 1
#define CK_PKCS11_FUNCTION_INFO(name) \
CK_DECLARE_FUNCTION(CK_RV, name)
/* pkcs11f.h has all the information about the PKCS #11
* function prototypes. */
#include "pkcs11f.h"
#undef CK_NEED_ARG_LIST
#undef CK_PKCS11_FUNCTION_INFO
/* ==============================================================
* Define the typedef form of all the entry points. That is, for
* each PKCS #11 function C_XXX, define a type CK_C_XXX which is
* a pointer to that kind of function.
* ==============================================================
*/
#define CK_NEED_ARG_LIST 1
#define CK_PKCS11_FUNCTION_INFO(name) \
typedef CK_DECLARE_FUNCTION_POINTER(CK_RV, __PASTE(CK_,name))
/* pkcs11f.h has all the information about the PKCS #11
* function prototypes. */
#include "pkcs11f.h"
#undef CK_NEED_ARG_LIST
#undef CK_PKCS11_FUNCTION_INFO
/* ==============================================================
* Define structed vector of entry points. A CK_FUNCTION_LIST
* contains a CK_VERSION indicating a library's PKCS #11 version
* and then a whole slew of function pointers to the routines in
* the library. This type was declared, but not defined, in
* pkcs11t.h.
* ==============================================================
*/
#define CK_PKCS11_FUNCTION_INFO(name) \
__PASTE(CK_,name) name;
struct CK_FUNCTION_LIST {
CK_VERSION version; /* PKCS #11 version */
/* Pile all the function pointers into the CK_FUNCTION_LIST. */
/* pkcs11f.h has all the information about the PKCS #11
* function prototypes. */
#include "pkcs11f.h"
};
#undef CK_PKCS11_FUNCTION_INFO
#undef __PASTE
/* unpack */
#include "pkcs11u.h"
#ifdef __cplusplus
}
#endif
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,937 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* RSA Security INC.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/*
* Copyright (C) 1994-1999 RSA Security Inc. Licence to copy this document
* is granted provided that it is identified as "RSA Security In.c Public-Key
* Cryptography Standards (PKCS)" in all material mentioning or referencing
* this document.
*/
/* This function contains pretty much everything about all the */
/* PKCS #11 function prototypes. Because this information is */
/* used for more than just declaring function prototypes, the */
/* order of the functions appearing herein is important, and */
/* should not be altered. */
/* General-purpose */
/* C_Initialize initializes the PKCS #11 library. */
CK_PKCS11_FUNCTION_INFO(C_Initialize)
#ifdef CK_NEED_ARG_LIST
(
CK_VOID_PTR pInitArgs /* if this is not NULL_PTR, it gets
* cast to CK_C_INITIALIZE_ARGS_PTR
* and dereferenced */
);
#endif
/* C_Finalize indicates that an application is done with the
* PKCS #11 library. */
CK_PKCS11_FUNCTION_INFO(C_Finalize)
#ifdef CK_NEED_ARG_LIST
(
CK_VOID_PTR pReserved /* reserved. Should be NULL_PTR */
);
#endif
/* C_GetInfo returns general information about PKCS #11. */
CK_PKCS11_FUNCTION_INFO(C_GetInfo)
#ifdef CK_NEED_ARG_LIST
(
CK_INFO_PTR pInfo /* location that receives information */
);
#endif
/* C_GetFunctionList returns the function list. */
CK_PKCS11_FUNCTION_INFO(C_GetFunctionList)
#ifdef CK_NEED_ARG_LIST
(
CK_FUNCTION_LIST_PTR_PTR ppFunctionList /* receives pointer to
* function list */
);
#endif
/* Slot and token management */
/* C_GetSlotList obtains a list of slots in the system. */
CK_PKCS11_FUNCTION_INFO(C_GetSlotList)
#ifdef CK_NEED_ARG_LIST
(
CK_BBOOL tokenPresent, /* only slots with tokens? */
CK_SLOT_ID_PTR pSlotList, /* receives array of slot IDs */
CK_ULONG_PTR pulCount /* receives number of slots */
);
#endif
/* C_GetSlotInfo obtains information about a particular slot in
* the system. */
CK_PKCS11_FUNCTION_INFO(C_GetSlotInfo)
#ifdef CK_NEED_ARG_LIST
(
CK_SLOT_ID slotID, /* the ID of the slot */
CK_SLOT_INFO_PTR pInfo /* receives the slot information */
);
#endif
/* C_GetTokenInfo obtains information about a particular token
* in the system. */
CK_PKCS11_FUNCTION_INFO(C_GetTokenInfo)
#ifdef CK_NEED_ARG_LIST
(
CK_SLOT_ID slotID, /* ID of the token's slot */
CK_TOKEN_INFO_PTR pInfo /* receives the token information */
);
#endif
/* C_GetMechanismList obtains a list of mechanism types
* supported by a token. */
CK_PKCS11_FUNCTION_INFO(C_GetMechanismList)
#ifdef CK_NEED_ARG_LIST
(
CK_SLOT_ID slotID, /* ID of token's slot */
CK_MECHANISM_TYPE_PTR pMechanismList, /* gets mech. array */
CK_ULONG_PTR pulCount /* gets # of mechs. */
);
#endif
/* C_GetMechanismInfo obtains information about a particular
* mechanism possibly supported by a token. */
CK_PKCS11_FUNCTION_INFO(C_GetMechanismInfo)
#ifdef CK_NEED_ARG_LIST
(
CK_SLOT_ID slotID, /* ID of the token's slot */
CK_MECHANISM_TYPE type, /* type of mechanism */
CK_MECHANISM_INFO_PTR pInfo /* receives mechanism info */
);
#endif
/* C_InitToken initializes a token. */
CK_PKCS11_FUNCTION_INFO(C_InitToken)
#ifdef CK_NEED_ARG_LIST
/* pLabel changed from CK_CHAR_PTR to CK_UTF8CHAR_PTR for v2.10 */
(
CK_SLOT_ID slotID, /* ID of the token's slot */
CK_UTF8CHAR_PTR pPin, /* the SO's initial PIN */
CK_ULONG ulPinLen, /* length in bytes of the PIN */
CK_UTF8CHAR_PTR pLabel /* 32-byte token label (blank padded) */
);
#endif
/* C_InitPIN initializes the normal user's PIN. */
CK_PKCS11_FUNCTION_INFO(C_InitPIN)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_UTF8CHAR_PTR pPin, /* the normal user's PIN */
CK_ULONG ulPinLen /* length in bytes of the PIN */
);
#endif
/* C_SetPIN modifies the PIN of the user who is logged in. */
CK_PKCS11_FUNCTION_INFO(C_SetPIN)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_UTF8CHAR_PTR pOldPin, /* the old PIN */
CK_ULONG ulOldLen, /* length of the old PIN */
CK_UTF8CHAR_PTR pNewPin, /* the new PIN */
CK_ULONG ulNewLen /* length of the new PIN */
);
#endif
/* Session management */
/* C_OpenSession opens a session between an application and a
* token. */
CK_PKCS11_FUNCTION_INFO(C_OpenSession)
#ifdef CK_NEED_ARG_LIST
(
CK_SLOT_ID slotID, /* the slot's ID */
CK_FLAGS flags, /* from CK_SESSION_INFO */
CK_VOID_PTR pApplication, /* passed to callback */
CK_NOTIFY Notify, /* callback function */
CK_SESSION_HANDLE_PTR phSession /* gets session handle */
);
#endif
/* C_CloseSession closes a session between an application and a
* token. */
CK_PKCS11_FUNCTION_INFO(C_CloseSession)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession /* the session's handle */
);
#endif
/* C_CloseAllSessions closes all sessions with a token. */
CK_PKCS11_FUNCTION_INFO(C_CloseAllSessions)
#ifdef CK_NEED_ARG_LIST
(
CK_SLOT_ID slotID /* the token's slot */
);
#endif
/* C_GetSessionInfo obtains information about the session. */
CK_PKCS11_FUNCTION_INFO(C_GetSessionInfo)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_SESSION_INFO_PTR pInfo /* receives session info */
);
#endif
/* C_GetOperationState obtains the state of the cryptographic operation
* in a session. */
CK_PKCS11_FUNCTION_INFO(C_GetOperationState)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* session's handle */
CK_BYTE_PTR pOperationState, /* gets state */
CK_ULONG_PTR pulOperationStateLen /* gets state length */
);
#endif
/* C_SetOperationState restores the state of the cryptographic
* operation in a session. */
CK_PKCS11_FUNCTION_INFO(C_SetOperationState)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* session's handle */
CK_BYTE_PTR pOperationState, /* holds state */
CK_ULONG ulOperationStateLen, /* holds state length */
CK_OBJECT_HANDLE hEncryptionKey, /* en/decryption key */
CK_OBJECT_HANDLE hAuthenticationKey /* sign/verify key */
);
#endif
/* C_Login logs a user into a token. */
CK_PKCS11_FUNCTION_INFO(C_Login)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_USER_TYPE userType, /* the user type */
CK_UTF8CHAR_PTR pPin, /* the user's PIN */
CK_ULONG ulPinLen /* the length of the PIN */
);
#endif
/* C_Logout logs a user out from a token. */
CK_PKCS11_FUNCTION_INFO(C_Logout)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession /* the session's handle */
);
#endif
/* Object management */
/* C_CreateObject creates a new object. */
CK_PKCS11_FUNCTION_INFO(C_CreateObject)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_ATTRIBUTE_PTR pTemplate, /* the object's template */
CK_ULONG ulCount, /* attributes in template */
CK_OBJECT_HANDLE_PTR phObject /* gets new object's handle. */
);
#endif
/* C_CopyObject copies an object, creating a new object for the
* copy. */
CK_PKCS11_FUNCTION_INFO(C_CopyObject)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_OBJECT_HANDLE hObject, /* the object's handle */
CK_ATTRIBUTE_PTR pTemplate, /* template for new object */
CK_ULONG ulCount, /* attributes in template */
CK_OBJECT_HANDLE_PTR phNewObject /* receives handle of copy */
);
#endif
/* C_DestroyObject destroys an object. */
CK_PKCS11_FUNCTION_INFO(C_DestroyObject)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_OBJECT_HANDLE hObject /* the object's handle */
);
#endif
/* C_GetObjectSize gets the size of an object in bytes. */
CK_PKCS11_FUNCTION_INFO(C_GetObjectSize)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_OBJECT_HANDLE hObject, /* the object's handle */
CK_ULONG_PTR pulSize /* receives size of object */
);
#endif
/* C_GetAttributeValue obtains the value of one or more object
* attributes. */
CK_PKCS11_FUNCTION_INFO(C_GetAttributeValue)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_OBJECT_HANDLE hObject, /* the object's handle */
CK_ATTRIBUTE_PTR pTemplate, /* specifies attrs; gets vals */
CK_ULONG ulCount /* attributes in template */
);
#endif
/* C_SetAttributeValue modifies the value of one or more object
* attributes */
CK_PKCS11_FUNCTION_INFO(C_SetAttributeValue)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_OBJECT_HANDLE hObject, /* the object's handle */
CK_ATTRIBUTE_PTR pTemplate, /* specifies attrs and values */
CK_ULONG ulCount /* attributes in template */
);
#endif
/* C_FindObjectsInit initializes a search for token and session
* objects that match a template. */
CK_PKCS11_FUNCTION_INFO(C_FindObjectsInit)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_ATTRIBUTE_PTR pTemplate, /* attribute values to match */
CK_ULONG ulCount /* attrs in search template */
);
#endif
/* C_FindObjects continues a search for token and session
* objects that match a template, obtaining additional object
* handles. */
CK_PKCS11_FUNCTION_INFO(C_FindObjects)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* session's handle */
CK_OBJECT_HANDLE_PTR phObject, /* gets obj. handles */
CK_ULONG ulMaxObjectCount, /* max handles to get */
CK_ULONG_PTR pulObjectCount /* actual # returned */
);
#endif
/* C_FindObjectsFinal finishes a search for token and session
* objects. */
CK_PKCS11_FUNCTION_INFO(C_FindObjectsFinal)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession /* the session's handle */
);
#endif
/* Encryption and decryption */
/* C_EncryptInit initializes an encryption operation. */
CK_PKCS11_FUNCTION_INFO(C_EncryptInit)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_MECHANISM_PTR pMechanism, /* the encryption mechanism */
CK_OBJECT_HANDLE hKey /* handle of encryption key */
);
#endif
/* C_Encrypt encrypts single-part data. */
CK_PKCS11_FUNCTION_INFO(C_Encrypt)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* session's handle */
CK_BYTE_PTR pData, /* the plaintext data */
CK_ULONG ulDataLen, /* bytes of plaintext */
CK_BYTE_PTR pEncryptedData, /* gets ciphertext */
CK_ULONG_PTR pulEncryptedDataLen /* gets c-text size */
);
#endif
/* C_EncryptUpdate continues a multiple-part encryption
* operation. */
CK_PKCS11_FUNCTION_INFO(C_EncryptUpdate)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* session's handle */
CK_BYTE_PTR pPart, /* the plaintext data */
CK_ULONG ulPartLen, /* plaintext data len */
CK_BYTE_PTR pEncryptedPart, /* gets ciphertext */
CK_ULONG_PTR pulEncryptedPartLen /* gets c-text size */
);
#endif
/* C_EncryptFinal finishes a multiple-part encryption
* operation. */
CK_PKCS11_FUNCTION_INFO(C_EncryptFinal)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* session handle */
CK_BYTE_PTR pLastEncryptedPart, /* last c-text */
CK_ULONG_PTR pulLastEncryptedPartLen /* gets last size */
);
#endif
/* C_DecryptInit initializes a decryption operation. */
CK_PKCS11_FUNCTION_INFO(C_DecryptInit)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_MECHANISM_PTR pMechanism, /* the decryption mechanism */
CK_OBJECT_HANDLE hKey /* handle of decryption key */
);
#endif
/* C_Decrypt decrypts encrypted data in a single part. */
CK_PKCS11_FUNCTION_INFO(C_Decrypt)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* session's handle */
CK_BYTE_PTR pEncryptedData, /* ciphertext */
CK_ULONG ulEncryptedDataLen, /* ciphertext length */
CK_BYTE_PTR pData, /* gets plaintext */
CK_ULONG_PTR pulDataLen /* gets p-text size */
);
#endif
/* C_DecryptUpdate continues a multiple-part decryption
* operation. */
CK_PKCS11_FUNCTION_INFO(C_DecryptUpdate)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* session's handle */
CK_BYTE_PTR pEncryptedPart, /* encrypted data */
CK_ULONG ulEncryptedPartLen, /* input length */
CK_BYTE_PTR pPart, /* gets plaintext */
CK_ULONG_PTR pulPartLen /* p-text size */
);
#endif
/* C_DecryptFinal finishes a multiple-part decryption
* operation. */
CK_PKCS11_FUNCTION_INFO(C_DecryptFinal)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_BYTE_PTR pLastPart, /* gets plaintext */
CK_ULONG_PTR pulLastPartLen /* p-text size */
);
#endif
/* Message digesting */
/* C_DigestInit initializes a message-digesting operation. */
CK_PKCS11_FUNCTION_INFO(C_DigestInit)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_MECHANISM_PTR pMechanism /* the digesting mechanism */
);
#endif
/* C_Digest digests data in a single part. */
CK_PKCS11_FUNCTION_INFO(C_Digest)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_BYTE_PTR pData, /* data to be digested */
CK_ULONG ulDataLen, /* bytes of data to digest */
CK_BYTE_PTR pDigest, /* gets the message digest */
CK_ULONG_PTR pulDigestLen /* gets digest length */
);
#endif
/* C_DigestUpdate continues a multiple-part message-digesting
* operation. */
CK_PKCS11_FUNCTION_INFO(C_DigestUpdate)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_BYTE_PTR pPart, /* data to be digested */
CK_ULONG ulPartLen /* bytes of data to be digested */
);
#endif
/* C_DigestKey continues a multi-part message-digesting
* operation, by digesting the value of a secret key as part of
* the data already digested. */
CK_PKCS11_FUNCTION_INFO(C_DigestKey)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_OBJECT_HANDLE hKey /* secret key to digest */
);
#endif
/* C_DigestFinal finishes a multiple-part message-digesting
* operation. */
CK_PKCS11_FUNCTION_INFO(C_DigestFinal)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_BYTE_PTR pDigest, /* gets the message digest */
CK_ULONG_PTR pulDigestLen /* gets byte count of digest */
);
#endif
/* Signing and MACing */
/* C_SignInit initializes a signature (private key encryption)
* operation, where the signature is (will be) an appendix to
* the data, and plaintext cannot be recovered from the
*signature. */
CK_PKCS11_FUNCTION_INFO(C_SignInit)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_MECHANISM_PTR pMechanism, /* the signature mechanism */
CK_OBJECT_HANDLE hKey /* handle of signature key */
);
#endif
/* C_Sign signs (encrypts with private key) data in a single
* part, where the signature is (will be) an appendix to the
* data, and plaintext cannot be recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_Sign)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_BYTE_PTR pData, /* the data to sign */
CK_ULONG ulDataLen, /* count of bytes to sign */
CK_BYTE_PTR pSignature, /* gets the signature */
CK_ULONG_PTR pulSignatureLen /* gets signature length */
);
#endif
/* C_SignUpdate continues a multiple-part signature operation,
* where the signature is (will be) an appendix to the data,
* and plaintext cannot be recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_SignUpdate)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_BYTE_PTR pPart, /* the data to sign */
CK_ULONG ulPartLen /* count of bytes to sign */
);
#endif
/* C_SignFinal finishes a multiple-part signature operation,
* returning the signature. */
CK_PKCS11_FUNCTION_INFO(C_SignFinal)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_BYTE_PTR pSignature, /* gets the signature */
CK_ULONG_PTR pulSignatureLen /* gets signature length */
);
#endif
/* C_SignRecoverInit initializes a signature operation, where
* the data can be recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_SignRecoverInit)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_MECHANISM_PTR pMechanism, /* the signature mechanism */
CK_OBJECT_HANDLE hKey /* handle of the signature key */
);
#endif
/* C_SignRecover signs data in a single operation, where the
* data can be recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_SignRecover)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_BYTE_PTR pData, /* the data to sign */
CK_ULONG ulDataLen, /* count of bytes to sign */
CK_BYTE_PTR pSignature, /* gets the signature */
CK_ULONG_PTR pulSignatureLen /* gets signature length */
);
#endif
/* Verifying signatures and MACs */
/* C_VerifyInit initializes a verification operation, where the
* signature is an appendix to the data, and plaintext cannot
* cannot be recovered from the signature (e.g. DSA). */
CK_PKCS11_FUNCTION_INFO(C_VerifyInit)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_MECHANISM_PTR pMechanism, /* the verification mechanism */
CK_OBJECT_HANDLE hKey /* verification key */
);
#endif
/* C_Verify verifies a signature in a single-part operation,
* where the signature is an appendix to the data, and plaintext
* cannot be recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_Verify)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_BYTE_PTR pData, /* signed data */
CK_ULONG ulDataLen, /* length of signed data */
CK_BYTE_PTR pSignature, /* signature */
CK_ULONG ulSignatureLen /* signature length*/
);
#endif
/* C_VerifyUpdate continues a multiple-part verification
* operation, where the signature is an appendix to the data,
* and plaintext cannot be recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_VerifyUpdate)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_BYTE_PTR pPart, /* signed data */
CK_ULONG ulPartLen /* length of signed data */
);
#endif
/* C_VerifyFinal finishes a multiple-part verification
* operation, checking the signature. */
CK_PKCS11_FUNCTION_INFO(C_VerifyFinal)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_BYTE_PTR pSignature, /* signature to verify */
CK_ULONG ulSignatureLen /* signature length */
);
#endif
/* C_VerifyRecoverInit initializes a signature verification
* operation, where the data is recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_VerifyRecoverInit)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_MECHANISM_PTR pMechanism, /* the verification mechanism */
CK_OBJECT_HANDLE hKey /* verification key */
);
#endif
/* C_VerifyRecover verifies a signature in a single-part
* operation, where the data is recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_VerifyRecover)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_BYTE_PTR pSignature, /* signature to verify */
CK_ULONG ulSignatureLen, /* signature length */
CK_BYTE_PTR pData, /* gets signed data */
CK_ULONG_PTR pulDataLen /* gets signed data len */
);
#endif
/* Dual-function cryptographic operations */
/* C_DigestEncryptUpdate continues a multiple-part digesting
* and encryption operation. */
CK_PKCS11_FUNCTION_INFO(C_DigestEncryptUpdate)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* session's handle */
CK_BYTE_PTR pPart, /* the plaintext data */
CK_ULONG ulPartLen, /* plaintext length */
CK_BYTE_PTR pEncryptedPart, /* gets ciphertext */
CK_ULONG_PTR pulEncryptedPartLen /* gets c-text length */
);
#endif
/* C_DecryptDigestUpdate continues a multiple-part decryption and
* digesting operation. */
CK_PKCS11_FUNCTION_INFO(C_DecryptDigestUpdate)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* session's handle */
CK_BYTE_PTR pEncryptedPart, /* ciphertext */
CK_ULONG ulEncryptedPartLen, /* ciphertext length */
CK_BYTE_PTR pPart, /* gets plaintext */
CK_ULONG_PTR pulPartLen /* gets plaintext len */
);
#endif
/* C_SignEncryptUpdate continues a multiple-part signing and
* encryption operation. */
CK_PKCS11_FUNCTION_INFO(C_SignEncryptUpdate)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* session's handle */
CK_BYTE_PTR pPart, /* the plaintext data */
CK_ULONG ulPartLen, /* plaintext length */
CK_BYTE_PTR pEncryptedPart, /* gets ciphertext */
CK_ULONG_PTR pulEncryptedPartLen /* gets c-text length */
);
#endif
/* C_DecryptVerifyUpdate continues a multiple-part decryption and
* verify operation. */
CK_PKCS11_FUNCTION_INFO(C_DecryptVerifyUpdate)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* session's handle */
CK_BYTE_PTR pEncryptedPart, /* ciphertext */
CK_ULONG ulEncryptedPartLen, /* ciphertext length */
CK_BYTE_PTR pPart, /* gets plaintext */
CK_ULONG_PTR pulPartLen /* gets p-text length */
);
#endif
/* Key management */
/* C_GenerateKey generates a secret key, creating a new key
* object. */
CK_PKCS11_FUNCTION_INFO(C_GenerateKey)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_MECHANISM_PTR pMechanism, /* key generation mech. */
CK_ATTRIBUTE_PTR pTemplate, /* template for new key */
CK_ULONG ulCount, /* # of attrs in template */
CK_OBJECT_HANDLE_PTR phKey /* gets handle of new key */
);
#endif
/* C_GenerateKeyPair generates a public-key/private-key pair,
* creating new key objects. */
CK_PKCS11_FUNCTION_INFO(C_GenerateKeyPair)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* session
* handle */
CK_MECHANISM_PTR pMechanism, /* key-gen
* mech. */
CK_ATTRIBUTE_PTR pPublicKeyTemplate, /* template
* for pub.
* key */
CK_ULONG ulPublicKeyAttributeCount, /* # pub.
* attrs. */
CK_ATTRIBUTE_PTR pPrivateKeyTemplate, /* template
* for priv.
* key */
CK_ULONG ulPrivateKeyAttributeCount, /* # priv.
* attrs. */
CK_OBJECT_HANDLE_PTR phPublicKey, /* gets pub.
* key
* handle */
CK_OBJECT_HANDLE_PTR phPrivateKey /* gets
* priv. key
* handle */
);
#endif
/* C_WrapKey wraps (i.e., encrypts) a key. */
CK_PKCS11_FUNCTION_INFO(C_WrapKey)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_MECHANISM_PTR pMechanism, /* the wrapping mechanism */
CK_OBJECT_HANDLE hWrappingKey, /* wrapping key */
CK_OBJECT_HANDLE hKey, /* key to be wrapped */
CK_BYTE_PTR pWrappedKey, /* gets wrapped key */
CK_ULONG_PTR pulWrappedKeyLen /* gets wrapped key size */
);
#endif
/* C_UnwrapKey unwraps (decrypts) a wrapped key, creating a new
* key object. */
CK_PKCS11_FUNCTION_INFO(C_UnwrapKey)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* session's handle */
CK_MECHANISM_PTR pMechanism, /* unwrapping mech. */
CK_OBJECT_HANDLE hUnwrappingKey, /* unwrapping key */
CK_BYTE_PTR pWrappedKey, /* the wrapped key */
CK_ULONG ulWrappedKeyLen, /* wrapped key len */
CK_ATTRIBUTE_PTR pTemplate, /* new key template */
CK_ULONG ulAttributeCount, /* template length */
CK_OBJECT_HANDLE_PTR phKey /* gets new handle */
);
#endif
/* C_DeriveKey derives a key from a base key, creating a new key
* object. */
CK_PKCS11_FUNCTION_INFO(C_DeriveKey)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* session's handle */
CK_MECHANISM_PTR pMechanism, /* key deriv. mech. */
CK_OBJECT_HANDLE hBaseKey, /* base key */
CK_ATTRIBUTE_PTR pTemplate, /* new key template */
CK_ULONG ulAttributeCount, /* template length */
CK_OBJECT_HANDLE_PTR phKey /* gets new handle */
);
#endif
/* Random number generation */
/* C_SeedRandom mixes additional seed material into the token's
* random number generator. */
CK_PKCS11_FUNCTION_INFO(C_SeedRandom)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_BYTE_PTR pSeed, /* the seed material */
CK_ULONG ulSeedLen /* length of seed material */
);
#endif
/* C_GenerateRandom generates random data. */
CK_PKCS11_FUNCTION_INFO(C_GenerateRandom)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession, /* the session's handle */
CK_BYTE_PTR RandomData, /* receives the random data */
CK_ULONG ulRandomLen /* # of bytes to generate */
);
#endif
/* Parallel function management */
/* C_GetFunctionStatus is a legacy function; it obtains an
* updated status of a function running in parallel with an
* application. */
CK_PKCS11_FUNCTION_INFO(C_GetFunctionStatus)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession /* the session's handle */
);
#endif
/* C_CancelFunction is a legacy function; it cancels a function
* running in parallel. */
CK_PKCS11_FUNCTION_INFO(C_CancelFunction)
#ifdef CK_NEED_ARG_LIST
(
CK_SESSION_HANDLE hSession /* the session's handle */
);
#endif
/* Functions added in for PKCS #11 Version 2.01 or later */
/* C_WaitForSlotEvent waits for a slot event (token insertion,
* removal, etc.) to occur. */
CK_PKCS11_FUNCTION_INFO(C_WaitForSlotEvent)
#ifdef CK_NEED_ARG_LIST
(
CK_FLAGS flags, /* blocking/nonblocking flag */
CK_SLOT_ID_PTR pSlot, /* location that receives the slot ID */
CK_VOID_PTR pRserved /* reserved. Should be NULL_PTR */
);
#endif

View File

@@ -0,0 +1,687 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/*
* Internal data structures and functions used by pkcs11.c
*/
#ifndef _PKCS11I_H_
#define _PKCS11I_H_ 1
#include "nssilock.h"
#include "seccomon.h"
#include "secoidt.h"
#include "lowkeyti.h"
#include "pkcs11t.h"
#include "sftkdbt.h"
/*
* Configuration Defines
*
* The following defines affect the space verse speed trade offs of
* the PKCS #11 module. For the most part the current settings are optimized
* for web servers, where we want faster speed and lower lock contention at
* the expense of space.
*/
/*
* The attribute allocation strategy is static allocation:
* Attributes are pre-allocated as part of the session object and used from
* the object array.
*/
#define MAX_OBJS_ATTRS 45 /* number of attributes to preallocate in
* the object (must me the absolute max) */
#define ATTR_SPACE 50 /* Maximum size of attribute data before extra
* data needs to be allocated. This is set to
* enough space to hold an SSL MASTER secret */
#define NSC_STRICT PR_FALSE /* forces the code to do strict template
* matching when doing C_FindObject on token
* objects. This will slow down search in
* NSS. */
/* default search block allocations and increments */
#define NSC_CERT_BLOCK_SIZE 50
#define NSC_SEARCH_BLOCK_SIZE 5
#define NSC_SLOT_LIST_BLOCK_SIZE 10
#define NSC_FIPS_MODULE 1
#define NSC_NON_FIPS_MODULE 0
/* these are data base storage hashes, not cryptographic hashes.. The define
* the effective size of the various object hash tables */
/* clients care more about memory usage than lookup performance on
* cyrptographic objects. Clients also have less objects around to play with
*
* we eventually should make this configurable at runtime! Especially now that
* NSS is a shared library.
*/
#define SPACE_ATTRIBUTE_HASH_SIZE 32
#define SPACE_SESSION_OBJECT_HASH_SIZE 32
#define SPACE_SESSION_HASH_SIZE 32
#define TIME_ATTRIBUTE_HASH_SIZE 32
#define TIME_SESSION_OBJECT_HASH_SIZE 1024
#define TIME_SESSION_HASH_SIZE 1024
#define MAX_OBJECT_LIST_SIZE 800
/* how many objects to keep on the free list
* before we start freeing them */
#define MAX_KEY_LEN 256 /* maximum symmetric key length in bytes */
#define MULTIACCESS "multiaccess:"
/*
* LOG2_BUCKETS_PER_SESSION_LOCK must be a prime number.
* With SESSION_HASH_SIZE=1024, LOG2 can be 9, 5, 1, or 0.
* With SESSION_HASH_SIZE=4096, LOG2 can be 11, 9, 5, 1, or 0.
*
* HASH_SIZE LOG2_BUCKETS_PER BUCKETS_PER_LOCK NUMBER_OF_BUCKETS
* 1024 9 512 2
* 1024 5 32 32
* 1024 1 2 512
* 1024 0 1 1024
* 4096 11 2048 2
* 4096 9 512 8
* 4096 5 32 128
* 4096 1 2 2048
* 4096 0 1 4096
*/
#define LOG2_BUCKETS_PER_SESSION_LOCK 1
#define BUCKETS_PER_SESSION_LOCK (1 << (LOG2_BUCKETS_PER_SESSION_LOCK))
/* NOSPREAD sessionID to hash table index macro has been slower. */
/* define typedefs, double as forward declarations as well */
typedef struct SFTKAttributeStr SFTKAttribute;
typedef struct SFTKObjectListStr SFTKObjectList;
typedef struct SFTKObjectFreeListStr SFTKObjectFreeList;
typedef struct SFTKObjectListElementStr SFTKObjectListElement;
typedef struct SFTKObjectStr SFTKObject;
typedef struct SFTKSessionObjectStr SFTKSessionObject;
typedef struct SFTKTokenObjectStr SFTKTokenObject;
typedef struct SFTKSessionStr SFTKSession;
typedef struct SFTKSlotStr SFTKSlot;
typedef struct SFTKSessionContextStr SFTKSessionContext;
typedef struct SFTKSearchResultsStr SFTKSearchResults;
typedef struct SFTKHashVerifyInfoStr SFTKHashVerifyInfo;
typedef struct SFTKHashSignInfoStr SFTKHashSignInfo;
typedef struct SFTKSSLMACInfoStr SFTKSSLMACInfo;
/* define function pointer typdefs for pointer tables */
typedef void (*SFTKDestroy)(void *, PRBool);
typedef void (*SFTKBegin)(void *);
typedef SECStatus (*SFTKCipher)(void *,void *,unsigned int *,unsigned int,
void *, unsigned int);
typedef SECStatus (*SFTKVerify)(void *,void *,unsigned int,void *,unsigned int);
typedef void (*SFTKHash)(void *,void *,unsigned int);
typedef void (*SFTKEnd)(void *,void *,unsigned int *,unsigned int);
typedef void (*SFTKFree)(void *);
/* Value to tell if an attribute is modifiable or not.
* NEVER: attribute is only set on creation.
* ONCOPY: attribute is set on creation and can only be changed on copy.
* SENSITIVE: attribute can only be changed to TRUE.
* ALWAYS: attribute can always be changed.
*/
typedef enum {
SFTK_NEVER = 0,
SFTK_ONCOPY = 1,
SFTK_SENSITIVE = 2,
SFTK_ALWAYS = 3
} SFTKModifyType;
/*
* Free Status Enum... tell us more information when we think we're
* deleting an object.
*/
typedef enum {
SFTK_DestroyFailure,
SFTK_Destroyed,
SFTK_Busy
} SFTKFreeStatus;
/*
* attribute values of an object.
*/
struct SFTKAttributeStr {
SFTKAttribute *next;
SFTKAttribute *prev;
PRBool freeAttr;
PRBool freeData;
/*must be called handle to make sftkqueue_find work */
CK_ATTRIBUTE_TYPE handle;
CK_ATTRIBUTE attrib;
unsigned char space[ATTR_SPACE];
};
/*
* doubly link list of objects
*/
struct SFTKObjectListStr {
SFTKObjectList *next;
SFTKObjectList *prev;
SFTKObject *parent;
};
struct SFTKObjectFreeListStr {
SFTKObject *head;
PZLock *lock;
int count;
};
/*
* PKCS 11 crypto object structure
*/
struct SFTKObjectStr {
SFTKObject *next;
SFTKObject *prev;
CK_OBJECT_CLASS objclass;
CK_OBJECT_HANDLE handle;
int refCount;
PZLock *refLock;
SFTKSlot *slot;
void *objectInfo;
SFTKFree infoFree;
};
struct SFTKTokenObjectStr {
SFTKObject obj;
SECItem dbKey;
};
struct SFTKSessionObjectStr {
SFTKObject obj;
SFTKObjectList sessionList;
PZLock *attributeLock;
SFTKSession *session;
PRBool wasDerived;
int nextAttr;
SFTKAttribute attrList[MAX_OBJS_ATTRS];
PRBool optimizeSpace;
unsigned int hashSize;
SFTKAttribute *head[1];
};
/*
* struct to deal with a temparary list of objects
*/
struct SFTKObjectListElementStr {
SFTKObjectListElement *next;
SFTKObject *object;
};
/*
* Area to hold Search results
*/
struct SFTKSearchResultsStr {
CK_OBJECT_HANDLE *handles;
int size;
int index;
int array_size;
};
/*
* the universal crypto/hash/sign/verify context structure
*/
typedef enum {
SFTK_ENCRYPT,
SFTK_DECRYPT,
SFTK_HASH,
SFTK_SIGN,
SFTK_SIGN_RECOVER,
SFTK_VERIFY,
SFTK_VERIFY_RECOVER
} SFTKContextType;
#define SFTK_MAX_BLOCK_SIZE 16
/* currently SHA512 is the biggest hash length */
#define SFTK_MAX_MAC_LENGTH 64
#define SFTK_INVALID_MAC_SIZE 0xffffffff
struct SFTKSessionContextStr {
SFTKContextType type;
PRBool multi; /* is multipart */
PRBool doPad; /* use PKCS padding for block ciphers */
unsigned int blockSize; /* blocksize for padding */
unsigned int padDataLength; /* length of the valid data in padbuf */
unsigned char padBuf[SFTK_MAX_BLOCK_SIZE];
unsigned char macBuf[SFTK_MAX_BLOCK_SIZE];
CK_ULONG macSize; /* size of a general block cipher mac*/
void *cipherInfo;
void *hashInfo;
unsigned int cipherInfoLen;
CK_MECHANISM_TYPE currentMech;
SFTKCipher update;
SFTKHash hashUpdate;
SFTKEnd end;
SFTKDestroy destroy;
SFTKDestroy hashdestroy;
SFTKVerify verify;
unsigned int maxLen;
SFTKObject *key;
};
/*
* Sessions (have objects)
*/
struct SFTKSessionStr {
SFTKSession *next;
SFTKSession *prev;
CK_SESSION_HANDLE handle;
int refCount;
PZLock *objectLock;
int objectIDCount;
CK_SESSION_INFO info;
CK_NOTIFY notify;
CK_VOID_PTR appData;
SFTKSlot *slot;
SFTKSearchResults *search;
SFTKSessionContext *enc_context;
SFTKSessionContext *hash_context;
SFTKSessionContext *sign_context;
SFTKObjectList *objects[1];
};
/*
* slots (have sessions and objects)
*
* The array of sessionLock's protect the session hash table (head[])
* as well as the reference count of session objects in that bucket
* (head[]->refCount), objectLock protects all elements of the slot's
* object hash tables (sessObjHashTable[] and tokObjHashTable), and
* sessionObjectHandleCount.
* slotLock protects the remaining protected elements:
* password, isLoggedIn, ssoLoggedIn, and sessionCount,
* and pwCheckLock serializes the key database password checks in
* NSC_SetPIN and NSC_Login.
*
* Each of the fields below has the following lifetime as commented
* next to the fields:
* invariant - This value is set when the slot is first created and
* never changed until it is destroyed.
* per load - This value is set when the slot is first created, or
* when the slot is used to open another directory. Between open and close
* this field does not change.
* variable - This value changes through the normal process of slot operation.
* - reset. The value of this variable is cleared during an open/close
* cycles.
* - preserved. The value of this variable is preserved over open/close
* cycles.
*/
struct SFTKSlotStr {
CK_SLOT_ID slotID; /* invariant */
PZLock *slotLock; /* invariant */
PZLock **sessionLock; /* invariant */
unsigned int numSessionLocks; /* invariant */
unsigned long sessionLockMask; /* invariant */
PZLock *objectLock; /* invariant */
PRLock *pwCheckLock; /* invariant */
PRBool present; /* variable -set */
PRBool hasTokens; /* per load */
PRBool isLoggedIn; /* variable - reset */
PRBool ssoLoggedIn; /* variable - reset */
PRBool needLogin; /* per load */
PRBool DB_loaded; /* per load */
PRBool readOnly; /* per load */
PRBool optimizeSpace; /* invariant */
SFTKDBHandle *certDB; /* per load */
SFTKDBHandle *keyDB; /* per load */
int minimumPinLen; /* per load */
PRInt32 sessionIDCount; /* atomically incremented */
/* (preserved) */
int sessionIDConflict; /* not protected by a lock */
/* (preserved) */
int sessionCount; /* variable - reset */
PRInt32 rwSessionCount; /* set by atomic operations */
/* (reset) */
int sessionObjectHandleCount;/* variable - perserved */
int index; /* invariant */
PLHashTable *tokObjHashTable; /* invariant */
SFTKObject **sessObjHashTable; /* variable - reset */
unsigned int sessObjHashSize; /* invariant */
SFTKSession **head; /* variable -reset */
unsigned int sessHashSize; /* invariant */
char tokDescription[33]; /* per load */
char slotDescription[64]; /* invariant */
};
/*
* special joint operations Contexts
*/
struct SFTKHashVerifyInfoStr {
SECOidTag hashOid;
NSSLOWKEYPublicKey *key;
};
struct SFTKHashSignInfoStr {
SECOidTag hashOid;
NSSLOWKEYPrivateKey *key;
};
/* context for the Final SSLMAC message */
struct SFTKSSLMACInfoStr {
void *hashContext;
SFTKBegin begin;
SFTKHash update;
SFTKEnd end;
CK_ULONG macSize;
int padSize;
unsigned char key[MAX_KEY_LEN];
unsigned int keySize;
};
/*
* session handle modifiers
*/
#define SFTK_SESSION_SLOT_MASK 0xff000000L
/*
* object handle modifiers
*/
#define SFTK_TOKEN_MASK 0x80000000L
#define SFTK_TOKEN_MAGIC 0x80000000L
#define SFTK_TOKEN_TYPE_MASK 0x70000000L
/* keydb (high bit == 0) */
#define SFTK_TOKEN_TYPE_PRIV 0x10000000L
#define SFTK_TOKEN_TYPE_PUB 0x20000000L
#define SFTK_TOKEN_TYPE_KEY 0x30000000L
/* certdb (high bit == 1) */
#define SFTK_TOKEN_TYPE_TRUST 0x40000000L
#define SFTK_TOKEN_TYPE_CRL 0x50000000L
#define SFTK_TOKEN_TYPE_SMIME 0x60000000L
#define SFTK_TOKEN_TYPE_CERT 0x70000000L
#define SFTK_TOKEN_KRL_HANDLE (SFTK_TOKEN_MAGIC|SFTK_TOKEN_TYPE_CRL|1)
/* how big (in bytes) a password/pin we can deal with */
#define SFTK_MAX_PIN 255
/* minimum password/pin length (in Unicode characters) in FIPS mode */
#define FIPS_MIN_PIN 7
/* slot ID's */
#define NETSCAPE_SLOT_ID 1
#define PRIVATE_KEY_SLOT_ID 2
#define FIPS_SLOT_ID 3
/* slot helper macros */
#define sftk_SlotFromSession(sp) ((sp)->slot)
#define sftk_isToken(id) (((id) & SFTK_TOKEN_MASK) == SFTK_TOKEN_MAGIC)
/* the session hash multiplier (see bug 201081) */
#define SHMULTIPLIER 1791398085
/* queueing helper macros */
#define sftk_hash(value,size) \
((PRUint32)((value) * SHMULTIPLIER) & (size-1))
#define sftkqueue_add(element,id,head,hash_size) \
{ int tmp = sftk_hash(id,hash_size); \
(element)->next = (head)[tmp]; \
(element)->prev = NULL; \
if ((head)[tmp]) (head)[tmp]->prev = (element); \
(head)[tmp] = (element); }
#define sftkqueue_find(element,id,head,hash_size) \
for( (element) = (head)[sftk_hash(id,hash_size)]; (element) != NULL; \
(element) = (element)->next) { \
if ((element)->handle == (id)) { break; } }
#define sftkqueue_is_queued(element,id,head,hash_size) \
( ((element)->next) || ((element)->prev) || \
((head)[sftk_hash(id,hash_size)] == (element)) )
#define sftkqueue_delete(element,id,head,hash_size) \
if ((element)->next) (element)->next->prev = (element)->prev; \
if ((element)->prev) (element)->prev->next = (element)->next; \
else (head)[sftk_hash(id,hash_size)] = ((element)->next); \
(element)->next = NULL; \
(element)->prev = NULL; \
#define sftkqueue_init_element(element) \
(element)->prev = NULL;
#define sftkqueue_add2(element, id, index, head) \
{ \
(element)->next = (head)[index]; \
if ((head)[index]) \
(head)[index]->prev = (element); \
(head)[index] = (element); \
}
#define sftkqueue_find2(element, id, index, head) \
for ( (element) = (head)[index]; \
(element) != NULL; \
(element) = (element)->next) { \
if ((element)->handle == (id)) { break; } \
}
#define sftkqueue_delete2(element, id, index, head) \
if ((element)->next) (element)->next->prev = (element)->prev; \
if ((element)->prev) (element)->prev->next = (element)->next; \
else (head)[index] = ((element)->next);
#define sftkqueue_clear_deleted_element(element) \
(element)->next = NULL; \
(element)->prev = NULL; \
/* sessionID (handle) is used to determine session lock bucket */
#ifdef NOSPREAD
/* NOSPREAD: (ID>>L2LPB) & (perbucket-1) */
#define SFTK_SESSION_LOCK(slot,handle) \
((slot)->sessionLock[((handle) >> LOG2_BUCKETS_PER_SESSION_LOCK) \
& (slot)->sessionLockMask])
#else
/* SPREAD: ID & (perbucket-1) */
#define SFTK_SESSION_LOCK(slot,handle) \
((slot)->sessionLock[(handle) & (slot)->sessionLockMask])
#endif
/* expand an attribute & secitem structures out */
#define sftk_attr_expand(ap) (ap)->type,(ap)->pValue,(ap)->ulValueLen
#define sftk_item_expand(ip) (ip)->data,(ip)->len
typedef struct sftk_token_parametersStr {
CK_SLOT_ID slotID;
char *configdir;
char *certPrefix;
char *keyPrefix;
char *tokdes;
char *slotdes;
int minPW;
PRBool readOnly;
PRBool noCertDB;
PRBool noKeyDB;
PRBool forceOpen;
PRBool pwRequired;
PRBool optimizeSpace;
} sftk_token_parameters;
typedef struct sftk_parametersStr {
char *configdir;
char *secmodName;
char *man;
char *libdes;
PRBool readOnly;
PRBool noModDB;
PRBool noCertDB;
PRBool forceOpen;
PRBool pwRequired;
PRBool optimizeSpace;
sftk_token_parameters *tokens;
int token_count;
} sftk_parameters;
/* machine dependent path stuff used by dbinit.c and pk11db.c */
#ifdef macintosh
#define PATH_SEPARATOR ":"
#define SECMOD_DB "Security Modules"
#define CERT_DB_FMT "%sCertificates%s"
#define KEY_DB_FMT "%sKey Database%s"
#else
#define PATH_SEPARATOR "/"
#define SECMOD_DB "secmod.db"
#define CERT_DB_FMT "%scert%s.db"
#define KEY_DB_FMT "%skey%s.db"
#endif
SEC_BEGIN_PROTOS
/* shared functions between pkcs11.c and fipstokn.c */
extern PRBool nsf_init;
extern CK_RV nsc_CommonInitialize(CK_VOID_PTR pReserved, PRBool isFIPS);
extern CK_RV nsc_CommonFinalize(CK_VOID_PTR pReserved, PRBool isFIPS);
extern CK_RV nsc_CommonGetSlotList(CK_BBOOL tokPresent,
CK_SLOT_ID_PTR pSlotList, CK_ULONG_PTR pulCount, int moduleIndex);
/* slot initialization, reinit, shutdown and destruction */
extern CK_RV SFTK_SlotInit(char *configdir,
sftk_token_parameters *params, int moduleIndex);
extern CK_RV SFTK_SlotReInit(SFTKSlot *slot, char *configdir,
sftk_token_parameters *params, int moduleIndex);
extern CK_RV SFTK_DestroySlotData(SFTKSlot *slot);
extern CK_RV SFTK_ShutdownSlot(SFTKSlot *slot);
/* internal utility functions used by pkcs11.c */
extern SFTKAttribute *sftk_FindAttribute(SFTKObject *object,
CK_ATTRIBUTE_TYPE type);
extern void sftk_FreeAttribute(SFTKAttribute *attribute);
extern CK_RV sftk_AddAttributeType(SFTKObject *object, CK_ATTRIBUTE_TYPE type,
void *valPtr,
CK_ULONG length);
extern CK_RV sftk_Attribute2SecItem(PLArenaPool *arena, SECItem *item,
SFTKObject *object, CK_ATTRIBUTE_TYPE type);
extern unsigned int sftk_GetLengthInBits(unsigned char *buf,
unsigned int bufLen);
extern CK_RV sftk_ConstrainAttribute(SFTKObject *object,
CK_ATTRIBUTE_TYPE type, int minLength, int maxLength, int minMultiple);
extern PRBool sftk_hasAttribute(SFTKObject *object, CK_ATTRIBUTE_TYPE type);
extern PRBool sftk_isTrue(SFTKObject *object, CK_ATTRIBUTE_TYPE type);
extern void sftk_DeleteAttributeType(SFTKObject *object,
CK_ATTRIBUTE_TYPE type);
extern CK_RV sftk_Attribute2SecItem(PLArenaPool *arena, SECItem *item,
SFTKObject *object, CK_ATTRIBUTE_TYPE type);
extern CK_RV sftk_Attribute2SSecItem(PLArenaPool *arena, SECItem *item,
SFTKObject *object,
CK_ATTRIBUTE_TYPE type);
extern SFTKModifyType sftk_modifyType(CK_ATTRIBUTE_TYPE type,
CK_OBJECT_CLASS inClass);
extern PRBool sftk_isSensitive(CK_ATTRIBUTE_TYPE type, CK_OBJECT_CLASS inClass);
extern char *sftk_getString(SFTKObject *object, CK_ATTRIBUTE_TYPE type);
extern void sftk_nullAttribute(SFTKObject *object,CK_ATTRIBUTE_TYPE type);
extern CK_RV sftk_GetULongAttribute(SFTKObject *object, CK_ATTRIBUTE_TYPE type,
CK_ULONG *longData);
extern CK_RV sftk_forceAttribute(SFTKObject *object, CK_ATTRIBUTE_TYPE type,
void *value, unsigned int len);
extern CK_RV sftk_defaultAttribute(SFTKObject *object, CK_ATTRIBUTE_TYPE type,
void *value, unsigned int len);
extern unsigned int sftk_MapTrust(CK_TRUST trust, PRBool clientAuth);
extern SFTKObject *sftk_NewObject(SFTKSlot *slot);
extern CK_RV sftk_CopyObject(SFTKObject *destObject, SFTKObject *srcObject);
extern SFTKFreeStatus sftk_FreeObject(SFTKObject *object);
extern CK_RV sftk_DeleteObject(SFTKSession *session, SFTKObject *object);
extern void sftk_ReferenceObject(SFTKObject *object);
extern SFTKObject *sftk_ObjectFromHandle(CK_OBJECT_HANDLE handle,
SFTKSession *session);
extern void sftk_AddSlotObject(SFTKSlot *slot, SFTKObject *object);
extern void sftk_AddObject(SFTKSession *session, SFTKObject *object);
/* clear out all the existing object ID to database key mappings.
* used to reinit a token */
extern CK_RV SFTK_ClearTokenKeyHashTable(SFTKSlot *slot);
extern CK_RV sftk_searchObjectList(SFTKSearchResults *search,
SFTKObject **head, unsigned int size,
PZLock *lock, CK_ATTRIBUTE_PTR inTemplate,
int count, PRBool isLoggedIn);
extern SFTKObjectListElement *sftk_FreeObjectListElement(
SFTKObjectListElement *objectList);
extern void sftk_FreeObjectList(SFTKObjectListElement *objectList);
extern void sftk_FreeSearch(SFTKSearchResults *search);
extern CK_RV sftk_handleObject(SFTKObject *object, SFTKSession *session);
extern SFTKSlot *sftk_SlotFromID(CK_SLOT_ID slotID, PRBool all);
extern SFTKSlot *sftk_SlotFromSessionHandle(CK_SESSION_HANDLE handle);
extern SFTKSession *sftk_SessionFromHandle(CK_SESSION_HANDLE handle);
extern void sftk_FreeSession(SFTKSession *session);
extern SFTKSession *sftk_NewSession(CK_SLOT_ID slotID, CK_NOTIFY notify,
CK_VOID_PTR pApplication, CK_FLAGS flags);
extern void sftk_update_state(SFTKSlot *slot,SFTKSession *session);
extern void sftk_update_all_states(SFTKSlot *slot);
extern void sftk_FreeContext(SFTKSessionContext *context);
extern void sftk_InitFreeLists(void);
extern void sftk_CleanupFreeLists(void);
extern NSSLOWKEYPublicKey *sftk_GetPubKey(SFTKObject *object,
CK_KEY_TYPE key_type, CK_RV *crvp);
extern NSSLOWKEYPrivateKey *sftk_GetPrivKey(SFTKObject *object,
CK_KEY_TYPE key_type, CK_RV *crvp);
extern void sftk_FormatDESKey(unsigned char *key, int length);
extern PRBool sftk_CheckDESKey(unsigned char *key);
extern PRBool sftk_IsWeakKey(unsigned char *key,CK_KEY_TYPE key_type);
/* mechanism allows this operation */
extern CK_RV sftk_MechAllowsOperation(CK_MECHANISM_TYPE type, CK_ATTRIBUTE_TYPE op);
/* helper function which calls nsslowkey_FindKeyByPublicKey after safely
* acquiring a reference to the keydb from the slot */
NSSLOWKEYPrivateKey *sftk_FindKeyByPublicKey(SFTKSlot *slot, SECItem *dbKey);
/*
* narrow objects
*/
SFTKSessionObject * sftk_narrowToSessionObject(SFTKObject *);
SFTKTokenObject * sftk_narrowToTokenObject(SFTKObject *);
/*
* token object utilities
*/
void sftk_addHandle(SFTKSearchResults *search, CK_OBJECT_HANDLE handle);
PRBool sftk_poisonHandle(SFTKSlot *slot, SECItem *dbkey,
CK_OBJECT_HANDLE handle);
SFTKObject * sftk_NewTokenObject(SFTKSlot *slot, SECItem *dbKey,
CK_OBJECT_HANDLE handle);
SFTKTokenObject *sftk_convertSessionToToken(SFTKObject *so);
/****************************************
* implement TLS Pseudo Random Function (PRF)
*/
extern CK_RV
sftk_TLSPRFInit(SFTKSessionContext *context,
SFTKObject * key,
CK_KEY_TYPE key_type);
SEC_END_PROTOS
#endif /* _PKCS11I_H_ */

View File

@@ -0,0 +1,281 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Dr Stephen Henson <stephen.henson@gemplus.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 _PKCS11N_H_
#define _PKCS11N_H_
#ifdef DEBUG
static const char CKT_CVS_ID[] = "@(#) $RCSfile: pkcs11n.h,v $ $Revision: 1.15.22.1 $ $Date: 2007-05-17 01:08:18 $";
#endif /* DEBUG */
/*
* pkcs11n.h
*
* This file contains the NSS-specific type definitions for Cryptoki
* (PKCS#11).
*/
/*
* NSSCK_VENDOR_NSS
*
* Cryptoki reserves the high half of all the number spaces for
* vendor-defined use. I'd like to keep all of our NSS-
* specific values together, but not in the oh-so-obvious
* 0x80000001, 0x80000002, etc. area. So I've picked an offset,
* and constructed values for the beginnings of our spaces.
*
* Note that some "historical" Netscape values don't fall within
* this range.
*/
#define NSSCK_VENDOR_NSS 0x4E534350 /* NSCP */
/*
* NSS-defined object classes
*
*/
#define CKO_NSS (CKO_VENDOR_DEFINED|NSSCK_VENDOR_NSS)
#define CKO_NSS_CRL (CKO_NSS + 1)
#define CKO_NSS_SMIME (CKO_NSS + 2)
#define CKO_NSS_TRUST (CKO_NSS + 3)
#define CKO_NSS_BUILTIN_ROOT_LIST (CKO_NSS + 4)
#define CKO_NSS_NEWSLOT (CKO_NSS + 5)
#define CKO_NSS_DELSLOT (CKO_NSS + 6)
/*
* NSS-defined key types
*
*/
#define CKK_NSS (CKK_VENDOR_DEFINED|NSSCK_VENDOR_NSS)
#define CKK_NSS_PKCS8 (CKK_NSS + 1)
/*
* NSS-defined certificate types
*
*/
#define CKC_NSS (CKC_VENDOR_DEFINED|NSSCK_VENDOR_NSS)
/*
* NSS-defined object attributes
*
*/
#define CKA_NSS (CKA_VENDOR_DEFINED|NSSCK_VENDOR_NSS)
#define CKA_NSS_URL (CKA_NSS + 1)
#define CKA_NSS_EMAIL (CKA_NSS + 2)
#define CKA_NSS_SMIME_INFO (CKA_NSS + 3)
#define CKA_NSS_SMIME_TIMESTAMP (CKA_NSS + 4)
#define CKA_NSS_PKCS8_SALT (CKA_NSS + 5)
#define CKA_NSS_PASSWORD_CHECK (CKA_NSS + 6)
#define CKA_NSS_EXPIRES (CKA_NSS + 7)
#define CKA_NSS_KRL (CKA_NSS + 8)
#define CKA_NSS_PQG_COUNTER (CKA_NSS + 20)
#define CKA_NSS_PQG_SEED (CKA_NSS + 21)
#define CKA_NSS_PQG_H (CKA_NSS + 22)
#define CKA_NSS_PQG_SEED_BITS (CKA_NSS + 23)
#define CKA_NSS_MODULE_SPEC (CKA_NSS + 24)
#define CKA_NSS_OVERRIDE_EXTENSIONS (CKA_NSS + 25)
/*
* Trust attributes:
*
* If trust goes standard, these probably will too. So I'll
* put them all in one place.
*/
#define CKA_TRUST (CKA_NSS + 0x2000)
/* "Usage" key information */
#define CKA_TRUST_DIGITAL_SIGNATURE (CKA_TRUST + 1)
#define CKA_TRUST_NON_REPUDIATION (CKA_TRUST + 2)
#define CKA_TRUST_KEY_ENCIPHERMENT (CKA_TRUST + 3)
#define CKA_TRUST_DATA_ENCIPHERMENT (CKA_TRUST + 4)
#define CKA_TRUST_KEY_AGREEMENT (CKA_TRUST + 5)
#define CKA_TRUST_KEY_CERT_SIGN (CKA_TRUST + 6)
#define CKA_TRUST_CRL_SIGN (CKA_TRUST + 7)
/* "Purpose" trust information */
#define CKA_TRUST_SERVER_AUTH (CKA_TRUST + 8)
#define CKA_TRUST_CLIENT_AUTH (CKA_TRUST + 9)
#define CKA_TRUST_CODE_SIGNING (CKA_TRUST + 10)
#define CKA_TRUST_EMAIL_PROTECTION (CKA_TRUST + 11)
#define CKA_TRUST_IPSEC_END_SYSTEM (CKA_TRUST + 12)
#define CKA_TRUST_IPSEC_TUNNEL (CKA_TRUST + 13)
#define CKA_TRUST_IPSEC_USER (CKA_TRUST + 14)
#define CKA_TRUST_TIME_STAMPING (CKA_TRUST + 15)
#define CKA_TRUST_STEP_UP_APPROVED (CKA_TRUST + 16)
#define CKA_CERT_SHA1_HASH (CKA_TRUST + 100)
#define CKA_CERT_MD5_HASH (CKA_TRUST + 101)
/* NSS trust stuff */
/* XXX fgmr new ones here-- step-up, etc. */
/* HISTORICAL: define used to pass in the database key for DSA private keys */
#define CKA_NETSCAPE_DB 0xD5A0DB00L
#define CKA_NETSCAPE_TRUST 0x80000001L
/*
* NSS-defined crypto mechanisms
*
*/
#define CKM_NSS (CKM_VENDOR_DEFINED|NSSCK_VENDOR_NSS)
#define CKM_NSS_AES_KEY_WRAP (CKM_NSS + 1)
#define CKM_NSS_AES_KEY_WRAP_PAD (CKM_NSS + 2)
/*
* HISTORICAL:
* Do not attempt to use these. They are only used by NETSCAPE's internal
* PKCS #11 interface. Most of these are place holders for other mechanism
* and will change in the future.
*/
#define CKM_NETSCAPE_PBE_SHA1_DES_CBC 0x80000002L
#define CKM_NETSCAPE_PBE_SHA1_TRIPLE_DES_CBC 0x80000003L
#define CKM_NETSCAPE_PBE_SHA1_40_BIT_RC2_CBC 0x80000004L
#define CKM_NETSCAPE_PBE_SHA1_128_BIT_RC2_CBC 0x80000005L
#define CKM_NETSCAPE_PBE_SHA1_40_BIT_RC4 0x80000006L
#define CKM_NETSCAPE_PBE_SHA1_128_BIT_RC4 0x80000007L
#define CKM_NETSCAPE_PBE_SHA1_FAULTY_3DES_CBC 0x80000008L
#define CKM_NETSCAPE_PBE_SHA1_HMAC_KEY_GEN 0x80000009L
#define CKM_NETSCAPE_PBE_MD5_HMAC_KEY_GEN 0x8000000aL
#define CKM_NETSCAPE_PBE_MD2_HMAC_KEY_GEN 0x8000000bL
#define CKM_TLS_PRF_GENERAL 0x80000373L
/*
* NSS-defined return values
*
*/
#define CKR_NSS (CKM_VENDOR_DEFINED|NSSCK_VENDOR_NSS)
#define CKR_NSS_CERTDB_FAILED (CKR_NSS + 1)
#define CKR_NSS_KEYDB_FAILED (CKR_NSS + 2)
/*
* Trust info
*
* This isn't part of the Cryptoki standard (yet), so I'm putting
* all the definitions here. Some of this would move to nssckt.h
* if trust info were made part of the standard. In view of this
* possibility, I'm putting my (NSS) values in the NSS
* vendor space, like everything else.
*/
typedef CK_ULONG CK_TRUST;
/* The following trust types are defined: */
#define CKT_VENDOR_DEFINED 0x80000000
#define CKT_NSS (CKT_VENDOR_DEFINED|NSSCK_VENDOR_NSS)
/* If trust goes standard, these'll probably drop out of vendor space. */
#define CKT_NSS_TRUSTED (CKT_NSS + 1)
#define CKT_NSS_TRUSTED_DELEGATOR (CKT_NSS + 2)
#define CKT_NSS_UNTRUSTED (CKT_NSS + 3)
#define CKT_NSS_MUST_VERIFY (CKT_NSS + 4)
#define CKT_NSS_TRUST_UNKNOWN (CKT_NSS + 5) /* default */
/*
* These may well remain NSS-specific; I'm only using them
* to cache resolution data.
*/
#define CKT_NSS_VALID (CKT_NSS + 10)
#define CKT_NSS_VALID_DELEGATOR (CKT_NSS + 11)
/* don't leave old programs in a lurch just yet, give them the old NETSCAPE
* synonym */
#define CKO_NETSCAPE_CRL CKO_NSS_CRL
#define CKO_NETSCAPE_SMIME CKO_NSS_SMIME
#define CKO_NETSCAPE_TRUST CKO_NSS_TRUST
#define CKO_NETSCAPE_BUILTIN_ROOT_LIST CKO_NSS_BUILTIN_ROOT_LIST
#define CKO_NETSCAPE_NEWSLOT CKO_NSS_NEWSLOT
#define CKO_NETSCAPE_DELSLOT CKO_NSS_DELSLOT
#define CKK_NETSCAPE_PKCS8 CKK_NSS_PKCS8
#define CKA_NETSCAPE_URL CKA_NSS_URL
#define CKA_NETSCAPE_EMAIL CKA_NSS_EMAIL
#define CKA_NETSCAPE_SMIME_INFO CKA_NSS_SMIME_INFO
#define CKA_NETSCAPE_SMIME_TIMESTAMP CKA_NSS_SMIME_TIMESTAMP
#define CKA_NETSCAPE_PKCS8_SALT CKA_NSS_PKCS8_SALT
#define CKA_NETSCAPE_PASSWORD_CHECK CKA_NSS_PASSWORD_CHECK
#define CKA_NETSCAPE_EXPIRES CKA_NSS_EXPIRES
#define CKA_NETSCAPE_KRL CKA_NSS_KRL
#define CKA_NETSCAPE_PQG_COUNTER CKA_NSS_PQG_COUNTER
#define CKA_NETSCAPE_PQG_SEED CKA_NSS_PQG_SEED
#define CKA_NETSCAPE_PQG_H CKA_NSS_PQG_H
#define CKA_NETSCAPE_PQG_SEED_BITS CKA_NSS_PQG_SEED_BITS
#define CKA_NETSCAPE_MODULE_SPEC CKA_NSS_MODULE_SPEC
#define CKM_NETSCAPE_AES_KEY_WRAP CKM_NSS_AES_KEY_WRAP
#define CKM_NETSCAPE_AES_KEY_WRAP_PAD CKM_NSS_AES_KEY_WRAP_PAD
#define CKR_NETSCAPE_CERTDB_FAILED CKR_NSS_CERTDB_FAILED
#define CKR_NETSCAPE_KEYDB_FAILED CKR_NSS_KEYDB_FAILED
#define CKT_NETSCAPE_TRUSTED CKT_NSS_TRUSTED
#define CKT_NETSCAPE_TRUSTED_DELEGATOR CKT_NSS_TRUSTED_DELEGATOR
#define CKT_NETSCAPE_UNTRUSTED CKT_NSS_UNTRUSTED
#define CKT_NETSCAPE_MUST_VERIFY CKT_NSS_MUST_VERIFY
#define CKT_NETSCAPE_TRUST_UNKNOWN CKT_NSS_TRUST_UNKNOWN
#define CKT_NETSCAPE_VALID CKT_NSS_VALID
#define CKT_NETSCAPE_VALID_DELEGATOR CKT_NSS_VALID_DELEGATOR
/*
* These are not really PKCS #11 values specifically. They are the 'loadable'
* module spec NSS uses. The are available for others to use as well, but not
* part of the formal PKCS #11 spec.
*
* The function 'FIND' returns an array of PKCS #11 initialization strings
* The function 'ADD' takes a PKCS #11 initialization string and stores it.
* The function 'DEL' takes a 'name= library=' value and deletes the associated
* string.
* The function 'RELEASE' frees the array returned by 'FIND'
*/
#define SECMOD_MODULE_DB_FUNCTION_FIND 0
#define SECMOD_MODULE_DB_FUNCTION_ADD 1
#define SECMOD_MODULE_DB_FUNCTION_DEL 2
#define SECMOD_MODULE_DB_FUNCTION_RELEASE 3
typedef char ** (PR_CALLBACK *SECMODModuleDBFunc)(unsigned long function,
char *parameters, void *moduleSpec);
/* softoken slot ID's */
#define SFTK_MIN_USER_SLOT_ID 4
#define SFTK_MAX_USER_SLOT_ID 100
#define SFTK_MIN_FIPS_USER_SLOT_ID 101
#define SFTK_MAX_FIPS_USER_SLOT_ID 127
#endif /* _PKCS11N_H_ */

View File

@@ -0,0 +1,52 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Red Hat, Inc.
* Portions created by the Initial Developer are Copyright (C) 2005
* the Initial Developer. All Rights Reserved.
*
*
* 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 _PKCS11NI_H_
#define _PKCS11NI_H_
/*
* pkcs11ni.h
*
* This file contains softoken private exports for NSS
*/
/* softoken slot ID's */
#define SFTK_MIN_USER_SLOT_ID 4
#define SFTK_MAX_USER_SLOT_ID 100
#define SFTK_MIN_FIPS_USER_SLOT_ID 101
#define SFTK_MAX_FIPS_USER_SLOT_ID 127
#endif /* _PKCS11NI_H_ */

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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/*
* Copyright (C) 1994-1999 RSA Security Inc. Licence to copy this document
* is granted provided that it is identified as "RSA Security Inc. Public-Key
* Cryptography Standards (PKCS)" in all material mentioning or referencing
* this document.
*/
/* these data types are platform/implementation dependent. */
/*
* Packing was removed from the shipped RSA header files, even
* though it's still needed. put in a central file to help merging..
*/
#if defined(_WIN32)
#ifdef _MSC_VER
#pragma warning(disable:4103)
#endif
#pragma pack(push, cryptoki, 1)
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,52 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/*
* Copyright (C) 1994-1999 RSA Security Inc. Licence to copy this document
* is granted provided that it is identified as "RSA Security Inc. Public-Key
* Cryptography Standards (PKCS)" in all material mentioning or referencing
* this document.
*/
/*
* reset any packing set by pkcs11p.h
*/
#if defined (_WIN32)
#ifdef _MSC_VER
#pragma warning(disable:4103)
#endif
#pragma pack(pop, cryptoki)
#endif

View File

@@ -0,0 +1,917 @@
/*
* PKCS#1 encoding and decoding functions.
* This file is believed to contain no code licensed from other parties.
*
* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/* $Id: rsawrapr.c,v 1.11 2006-10-23 21:24:38 wtchang%redhat.com Exp $ */
#include "blapi.h"
#include "softoken.h"
#include "sechash.h"
#include "lowkeyi.h"
#include "secerr.h"
#define RSA_BLOCK_MIN_PAD_LEN 8
#define RSA_BLOCK_FIRST_OCTET 0x00
#define RSA_BLOCK_PRIVATE0_PAD_OCTET 0x00
#define RSA_BLOCK_PRIVATE_PAD_OCTET 0xff
#define RSA_BLOCK_AFTER_PAD_OCTET 0x00
#define OAEP_SALT_LEN 8
#define OAEP_PAD_LEN 8
#define OAEP_PAD_OCTET 0x00
#define FLAT_BUFSIZE 512 /* bytes to hold flattened SHA1Context. */
static SHA1Context *
SHA1_CloneContext(SHA1Context *original)
{
SHA1Context * clone = NULL;
unsigned char *pBuf;
int sha1ContextSize = SHA1_FlattenSize(original);
SECStatus frv;
unsigned char buf[FLAT_BUFSIZE];
PORT_Assert(sizeof buf >= sha1ContextSize);
if (sizeof buf >= sha1ContextSize) {
pBuf = buf;
} else {
pBuf = PORT_Alloc(sha1ContextSize);
if (!pBuf)
goto done;
}
frv = SHA1_Flatten(original, pBuf);
if (frv == SECSuccess) {
clone = SHA1_Resurrect(pBuf, NULL);
memset(pBuf, 0, sha1ContextSize);
}
done:
if (pBuf != buf)
PORT_Free(pBuf);
return clone;
}
/*
* Modify data by XORing it with a special hash of salt.
*/
static SECStatus
oaep_xor_with_h1(unsigned char *data, unsigned int datalen,
unsigned char *salt, unsigned int saltlen)
{
SHA1Context *sha1cx;
unsigned char *dp, *dataend;
unsigned char end_octet;
sha1cx = SHA1_NewContext();
if (sha1cx == NULL) {
return SECFailure;
}
/*
* Get a hash of salt started; we will use it several times,
* adding in a different end octet (x00, x01, x02, ...).
*/
SHA1_Begin (sha1cx);
SHA1_Update (sha1cx, salt, saltlen);
end_octet = 0;
dp = data;
dataend = data + datalen;
while (dp < dataend) {
SHA1Context *sha1cx_h1;
unsigned int sha1len, sha1off;
unsigned char sha1[SHA1_LENGTH];
/*
* Create hash of (salt || end_octet)
*/
sha1cx_h1 = SHA1_CloneContext (sha1cx);
SHA1_Update (sha1cx_h1, &end_octet, 1);
SHA1_End (sha1cx_h1, sha1, &sha1len, sizeof(sha1));
SHA1_DestroyContext (sha1cx_h1, PR_TRUE);
PORT_Assert (sha1len == SHA1_LENGTH);
/*
* XOR that hash with the data.
* When we have fewer than SHA1_LENGTH octets of data
* left to xor, use just the low-order ones of the hash.
*/
sha1off = 0;
if ((dataend - dp) < SHA1_LENGTH)
sha1off = SHA1_LENGTH - (dataend - dp);
while (sha1off < SHA1_LENGTH)
*dp++ ^= sha1[sha1off++];
/*
* Bump for next hash chunk.
*/
end_octet++;
}
SHA1_DestroyContext (sha1cx, PR_TRUE);
return SECSuccess;
}
/*
* Modify salt by XORing it with a special hash of data.
*/
static SECStatus
oaep_xor_with_h2(unsigned char *salt, unsigned int saltlen,
unsigned char *data, unsigned int datalen)
{
unsigned char sha1[SHA1_LENGTH];
unsigned char *psalt, *psha1, *saltend;
SECStatus rv;
/*
* Create a hash of data.
*/
rv = SHA1_HashBuf (sha1, data, datalen);
if (rv != SECSuccess) {
return rv;
}
/*
* XOR the low-order octets of that hash with salt.
*/
PORT_Assert (saltlen <= SHA1_LENGTH);
saltend = salt + saltlen;
psalt = salt;
psha1 = sha1 + SHA1_LENGTH - saltlen;
while (psalt < saltend) {
*psalt++ ^= *psha1++;
}
return SECSuccess;
}
/*
* Format one block of data for public/private key encryption using
* the rules defined in PKCS #1.
*/
static unsigned char *
rsa_FormatOneBlock(unsigned modulusLen, RSA_BlockType blockType,
SECItem *data)
{
unsigned char *block;
unsigned char *bp;
int padLen;
int i;
SECStatus rv;
block = (unsigned char *) PORT_Alloc(modulusLen);
if (block == NULL)
return NULL;
bp = block;
/*
* All RSA blocks start with two octets:
* 0x00 || BlockType
*/
*bp++ = RSA_BLOCK_FIRST_OCTET;
*bp++ = (unsigned char) blockType;
switch (blockType) {
/*
* Blocks intended for private-key operation.
*/
case RSA_BlockPrivate0: /* essentially unused */
case RSA_BlockPrivate: /* preferred method */
/*
* 0x00 || BT || Pad || 0x00 || ActualData
* 1 1 padLen 1 data->len
* Pad is either all 0x00 or all 0xff bytes, depending on blockType.
*/
padLen = modulusLen - data->len - 3;
PORT_Assert (padLen >= RSA_BLOCK_MIN_PAD_LEN);
if (padLen < RSA_BLOCK_MIN_PAD_LEN) {
PORT_Free (block);
return NULL;
}
PORT_Memset (bp,
blockType == RSA_BlockPrivate0
? RSA_BLOCK_PRIVATE0_PAD_OCTET
: RSA_BLOCK_PRIVATE_PAD_OCTET,
padLen);
bp += padLen;
*bp++ = RSA_BLOCK_AFTER_PAD_OCTET;
PORT_Memcpy (bp, data->data, data->len);
break;
/*
* Blocks intended for public-key operation.
*/
case RSA_BlockPublic:
/*
* 0x00 || BT || Pad || 0x00 || ActualData
* 1 1 padLen 1 data->len
* Pad is all non-zero random bytes.
*/
padLen = modulusLen - data->len - 3;
PORT_Assert (padLen >= RSA_BLOCK_MIN_PAD_LEN);
if (padLen < RSA_BLOCK_MIN_PAD_LEN) {
PORT_Free (block);
return NULL;
}
for (i = 0; i < padLen; i++) {
/* Pad with non-zero random data. */
do {
rv = RNG_GenerateGlobalRandomBytes(bp + i, 1);
} while (rv == SECSuccess && bp[i] == RSA_BLOCK_AFTER_PAD_OCTET);
if (rv != SECSuccess) {
sftk_fatalError = PR_TRUE;
PORT_Free (block);
return NULL;
}
}
bp += padLen;
*bp++ = RSA_BLOCK_AFTER_PAD_OCTET;
PORT_Memcpy (bp, data->data, data->len);
break;
/*
* Blocks intended for public-key operation, using
* Optimal Asymmetric Encryption Padding (OAEP).
*/
case RSA_BlockOAEP:
/*
* 0x00 || BT || Modified2(Salt) || Modified1(PaddedData)
* 1 1 OAEP_SALT_LEN OAEP_PAD_LEN + data->len [+ N]
*
* where:
* PaddedData is "Pad1 || ActualData [|| Pad2]"
* Salt is random data.
* Pad1 is all zeros.
* Pad2, if present, is random data.
* (The "modified" fields are all the same length as the original
* unmodified values; they are just xor'd with other values.)
*
* Modified1 is an XOR of PaddedData with a special octet
* string constructed of iterated hashing of Salt (see below).
* Modified2 is an XOR of Salt with the low-order octets of
* the hash of Modified1 (see farther below ;-).
*
* Whew!
*/
/*
* Salt
*/
rv = RNG_GenerateGlobalRandomBytes(bp, OAEP_SALT_LEN);
if (rv != SECSuccess) {
sftk_fatalError = PR_TRUE;
PORT_Free (block);
return NULL;
}
bp += OAEP_SALT_LEN;
/*
* Pad1
*/
PORT_Memset (bp, OAEP_PAD_OCTET, OAEP_PAD_LEN);
bp += OAEP_PAD_LEN;
/*
* Data
*/
PORT_Memcpy (bp, data->data, data->len);
bp += data->len;
/*
* Pad2
*/
if (bp < (block + modulusLen)) {
rv = RNG_GenerateGlobalRandomBytes(bp, block - bp + modulusLen);
if (rv != SECSuccess) {
sftk_fatalError = PR_TRUE;
PORT_Free (block);
return NULL;
}
}
/*
* Now we have the following:
* 0x00 || BT || Salt || PaddedData
* (From this point on, "Pad1 || Data [|| Pad2]" is treated
* as the one entity PaddedData.)
*
* We need to turn PaddedData into Modified1.
*/
if (oaep_xor_with_h1(block + 2 + OAEP_SALT_LEN,
modulusLen - 2 - OAEP_SALT_LEN,
block + 2, OAEP_SALT_LEN) != SECSuccess) {
PORT_Free (block);
return NULL;
}
/*
* Now we have:
* 0x00 || BT || Salt || Modified1(PaddedData)
*
* The remaining task is to turn Salt into Modified2.
*/
if (oaep_xor_with_h2(block + 2, OAEP_SALT_LEN,
block + 2 + OAEP_SALT_LEN,
modulusLen - 2 - OAEP_SALT_LEN) != SECSuccess) {
PORT_Free (block);
return NULL;
}
break;
default:
PORT_Assert (0);
PORT_Free (block);
return NULL;
}
return block;
}
static SECStatus
rsa_FormatBlock(SECItem *result, unsigned modulusLen,
RSA_BlockType blockType, SECItem *data)
{
/*
* XXX For now assume that the data length fits in a single
* XXX encryption block; the ASSERTs below force this.
* XXX To fix it, each case will have to loop over chunks whose
* XXX lengths satisfy the assertions, until all data is handled.
* XXX (Unless RSA has more to say about how to handle data
* XXX which does not fit in a single encryption block?)
* XXX And I do not know what the result is supposed to be,
* XXX so the interface to this function may need to change
* XXX to allow for returning multiple blocks, if they are
* XXX not wanted simply concatenated one after the other.
*/
switch (blockType) {
case RSA_BlockPrivate0:
case RSA_BlockPrivate:
case RSA_BlockPublic:
/*
* 0x00 || BT || Pad || 0x00 || ActualData
*
* The "3" below is the first octet + the second octet + the 0x00
* octet that always comes just before the ActualData.
*/
PORT_Assert (data->len <= (modulusLen - (3 + RSA_BLOCK_MIN_PAD_LEN)));
result->data = rsa_FormatOneBlock(modulusLen, blockType, data);
if (result->data == NULL) {
result->len = 0;
return SECFailure;
}
result->len = modulusLen;
break;
case RSA_BlockOAEP:
/*
* 0x00 || BT || M1(Salt) || M2(Pad1||ActualData[||Pad2])
*
* The "2" below is the first octet + the second octet.
* (The other fields do not contain the clear values, but are
* the same length as the clear values.)
*/
PORT_Assert (data->len <= (modulusLen - (2 + OAEP_SALT_LEN
+ OAEP_PAD_LEN)));
result->data = rsa_FormatOneBlock(modulusLen, blockType, data);
if (result->data == NULL) {
result->len = 0;
return SECFailure;
}
result->len = modulusLen;
break;
case RSA_BlockRaw:
/*
* Pad || ActualData
* Pad is zeros. The application is responsible for recovering
* the actual data.
*/
if (data->len > modulusLen ) {
return SECFailure;
}
result->data = (unsigned char*)PORT_ZAlloc(modulusLen);
result->len = modulusLen;
PORT_Memcpy(result->data+(modulusLen-data->len),data->data,data->len);
break;
default:
PORT_Assert (0);
result->data = NULL;
result->len = 0;
return SECFailure;
}
return SECSuccess;
}
/* XXX Doesn't set error code */
SECStatus
RSA_Sign(NSSLOWKEYPrivateKey *key,
unsigned char * output,
unsigned int * output_len,
unsigned int maxOutputLen,
unsigned char * input,
unsigned int input_len)
{
SECStatus rv = SECSuccess;
unsigned int modulus_len = nsslowkey_PrivateModulusLen(key);
SECItem formatted;
SECItem unformatted;
if (maxOutputLen < modulus_len)
return SECFailure;
PORT_Assert(key->keyType == NSSLOWKEYRSAKey);
if (key->keyType != NSSLOWKEYRSAKey)
return SECFailure;
unformatted.len = input_len;
unformatted.data = input;
formatted.data = NULL;
rv = rsa_FormatBlock(&formatted, modulus_len, RSA_BlockPrivate,
&unformatted);
if (rv != SECSuccess)
goto done;
rv = RSA_PrivateKeyOpDoubleChecked(&key->u.rsa, output, formatted.data);
if (rv != SECSuccess && PORT_GetError() == SEC_ERROR_LIBRARY_FAILURE) {
sftk_fatalError = PR_TRUE;
}
*output_len = modulus_len;
goto done;
done:
if (formatted.data != NULL)
PORT_ZFree(formatted.data, modulus_len);
return rv;
}
/* XXX Doesn't set error code */
SECStatus
RSA_CheckSign(NSSLOWKEYPublicKey *key,
unsigned char * sign,
unsigned int sign_len,
unsigned char * hash,
unsigned int hash_len)
{
SECStatus rv;
unsigned int modulus_len = nsslowkey_PublicModulusLen(key);
unsigned int i;
unsigned char * buffer;
modulus_len = nsslowkey_PublicModulusLen(key);
if (sign_len != modulus_len)
goto failure;
/*
* 0x00 || BT || Pad || 0x00 || ActualData
*
* The "3" below is the first octet + the second octet + the 0x00
* octet that always comes just before the ActualData.
*/
if (hash_len > modulus_len - (3 + RSA_BLOCK_MIN_PAD_LEN))
goto failure;
PORT_Assert(key->keyType == NSSLOWKEYRSAKey);
if (key->keyType != NSSLOWKEYRSAKey)
goto failure;
buffer = (unsigned char *)PORT_Alloc(modulus_len + 1);
if (!buffer)
goto failure;
rv = RSA_PublicKeyOp(&key->u.rsa, buffer, sign);
if (rv != SECSuccess)
goto loser;
/*
* check the padding that was used
*/
if (buffer[0] != 0 || buffer[1] != 1)
goto loser;
for (i = 2; i < modulus_len - hash_len - 1; i++) {
if (buffer[i] != 0xff)
goto loser;
}
if (buffer[i] != 0)
goto loser;
/*
* make sure we get the same results
*/
if (PORT_Memcmp(buffer + modulus_len - hash_len, hash, hash_len) != 0)
goto loser;
PORT_Free(buffer);
return SECSuccess;
loser:
PORT_Free(buffer);
failure:
return SECFailure;
}
/* XXX Doesn't set error code */
SECStatus
RSA_CheckSignRecover(NSSLOWKEYPublicKey *key,
unsigned char * data,
unsigned int * data_len,
unsigned int max_output_len,
unsigned char * sign,
unsigned int sign_len)
{
SECStatus rv;
unsigned int modulus_len = nsslowkey_PublicModulusLen(key);
unsigned int i;
unsigned char * buffer;
if (sign_len != modulus_len)
goto failure;
PORT_Assert(key->keyType == NSSLOWKEYRSAKey);
if (key->keyType != NSSLOWKEYRSAKey)
goto failure;
buffer = (unsigned char *)PORT_Alloc(modulus_len + 1);
if (!buffer)
goto failure;
rv = RSA_PublicKeyOp(&key->u.rsa, buffer, sign);
if (rv != SECSuccess)
goto loser;
*data_len = 0;
/*
* check the padding that was used
*/
if (buffer[0] != 0 || buffer[1] != 1)
goto loser;
for (i = 2; i < modulus_len; i++) {
if (buffer[i] == 0) {
*data_len = modulus_len - i - 1;
break;
}
if (buffer[i] != 0xff)
goto loser;
}
if (*data_len == 0)
goto loser;
if (*data_len > max_output_len)
goto loser;
/*
* make sure we get the same results
*/
PORT_Memcpy(data,buffer + modulus_len - *data_len, *data_len);
PORT_Free(buffer);
return SECSuccess;
loser:
PORT_Free(buffer);
failure:
return SECFailure;
}
/* XXX Doesn't set error code */
SECStatus
RSA_EncryptBlock(NSSLOWKEYPublicKey *key,
unsigned char * output,
unsigned int * output_len,
unsigned int max_output_len,
unsigned char * input,
unsigned int input_len)
{
SECStatus rv;
unsigned int modulus_len = nsslowkey_PublicModulusLen(key);
SECItem formatted;
SECItem unformatted;
formatted.data = NULL;
if (max_output_len < modulus_len)
goto failure;
PORT_Assert(key->keyType == NSSLOWKEYRSAKey);
if (key->keyType != NSSLOWKEYRSAKey)
goto failure;
unformatted.len = input_len;
unformatted.data = input;
formatted.data = NULL;
rv = rsa_FormatBlock(&formatted, modulus_len, RSA_BlockPublic,
&unformatted);
if (rv != SECSuccess)
goto failure;
rv = RSA_PublicKeyOp(&key->u.rsa, output, formatted.data);
if (rv != SECSuccess)
goto failure;
PORT_ZFree(formatted.data, modulus_len);
*output_len = modulus_len;
return SECSuccess;
failure:
if (formatted.data != NULL)
PORT_ZFree(formatted.data, modulus_len);
return SECFailure;
}
/* XXX Doesn't set error code */
SECStatus
RSA_DecryptBlock(NSSLOWKEYPrivateKey *key,
unsigned char * output,
unsigned int * output_len,
unsigned int max_output_len,
unsigned char * input,
unsigned int input_len)
{
SECStatus rv;
unsigned int modulus_len = nsslowkey_PrivateModulusLen(key);
unsigned int i;
unsigned char * buffer;
PORT_Assert(key->keyType == NSSLOWKEYRSAKey);
if (key->keyType != NSSLOWKEYRSAKey)
goto failure;
if (input_len != modulus_len)
goto failure;
buffer = (unsigned char *)PORT_Alloc(modulus_len + 1);
if (!buffer)
goto failure;
rv = RSA_PrivateKeyOp(&key->u.rsa, buffer, input);
if (rv != SECSuccess) {
if (PORT_GetError() == SEC_ERROR_LIBRARY_FAILURE) {
sftk_fatalError = PR_TRUE;
}
goto loser;
}
if (buffer[0] != 0 || buffer[1] != 2)
goto loser;
*output_len = 0;
for (i = 2; i < modulus_len; i++) {
if (buffer[i] == 0) {
*output_len = modulus_len - i - 1;
break;
}
}
if (*output_len == 0)
goto loser;
if (*output_len > max_output_len)
goto loser;
PORT_Memcpy(output, buffer + modulus_len - *output_len, *output_len);
PORT_Free(buffer);
return SECSuccess;
loser:
PORT_Free(buffer);
failure:
return SECFailure;
}
/* XXX Doesn't set error code */
/*
* added to make pkcs #11 happy
* RAW is RSA_X_509
*/
SECStatus
RSA_SignRaw(NSSLOWKEYPrivateKey *key,
unsigned char * output,
unsigned int * output_len,
unsigned int maxOutputLen,
unsigned char * input,
unsigned int input_len)
{
SECStatus rv = SECSuccess;
unsigned int modulus_len = nsslowkey_PrivateModulusLen(key);
SECItem formatted;
SECItem unformatted;
if (maxOutputLen < modulus_len)
return SECFailure;
PORT_Assert(key->keyType == NSSLOWKEYRSAKey);
if (key->keyType != NSSLOWKEYRSAKey)
return SECFailure;
unformatted.len = input_len;
unformatted.data = input;
formatted.data = NULL;
rv = rsa_FormatBlock(&formatted, modulus_len, RSA_BlockRaw, &unformatted);
if (rv != SECSuccess)
goto done;
rv = RSA_PrivateKeyOpDoubleChecked(&key->u.rsa, output, formatted.data);
if (rv != SECSuccess && PORT_GetError() == SEC_ERROR_LIBRARY_FAILURE) {
sftk_fatalError = PR_TRUE;
}
*output_len = modulus_len;
done:
if (formatted.data != NULL)
PORT_ZFree(formatted.data, modulus_len);
return rv;
}
/* XXX Doesn't set error code */
SECStatus
RSA_CheckSignRaw(NSSLOWKEYPublicKey *key,
unsigned char * sign,
unsigned int sign_len,
unsigned char * hash,
unsigned int hash_len)
{
SECStatus rv;
unsigned int modulus_len = nsslowkey_PublicModulusLen(key);
unsigned char * buffer;
if (sign_len != modulus_len)
goto failure;
if (hash_len > modulus_len)
goto failure;
PORT_Assert(key->keyType == NSSLOWKEYRSAKey);
if (key->keyType != NSSLOWKEYRSAKey)
goto failure;
buffer = (unsigned char *)PORT_Alloc(modulus_len + 1);
if (!buffer)
goto failure;
rv = RSA_PublicKeyOp(&key->u.rsa, buffer, sign);
if (rv != SECSuccess)
goto loser;
/*
* make sure we get the same results
*/
/* NOTE: should we verify the leading zeros? */
if (PORT_Memcmp(buffer + (modulus_len-hash_len), hash, hash_len) != 0)
goto loser;
PORT_Free(buffer);
return SECSuccess;
loser:
PORT_Free(buffer);
failure:
return SECFailure;
}
/* XXX Doesn't set error code */
SECStatus
RSA_CheckSignRecoverRaw(NSSLOWKEYPublicKey *key,
unsigned char * data,
unsigned int * data_len,
unsigned int max_output_len,
unsigned char * sign,
unsigned int sign_len)
{
SECStatus rv;
unsigned int modulus_len = nsslowkey_PublicModulusLen(key);
if (sign_len != modulus_len)
goto failure;
if (max_output_len < modulus_len)
goto failure;
PORT_Assert(key->keyType == NSSLOWKEYRSAKey);
if (key->keyType != NSSLOWKEYRSAKey)
goto failure;
rv = RSA_PublicKeyOp(&key->u.rsa, data, sign);
if (rv != SECSuccess)
goto failure;
*data_len = modulus_len;
return SECSuccess;
failure:
return SECFailure;
}
/* XXX Doesn't set error code */
SECStatus
RSA_EncryptRaw(NSSLOWKEYPublicKey *key,
unsigned char * output,
unsigned int * output_len,
unsigned int max_output_len,
unsigned char * input,
unsigned int input_len)
{
SECStatus rv;
unsigned int modulus_len = nsslowkey_PublicModulusLen(key);
SECItem formatted;
SECItem unformatted;
formatted.data = NULL;
if (max_output_len < modulus_len)
goto failure;
PORT_Assert(key->keyType == NSSLOWKEYRSAKey);
if (key->keyType != NSSLOWKEYRSAKey)
goto failure;
unformatted.len = input_len;
unformatted.data = input;
formatted.data = NULL;
rv = rsa_FormatBlock(&formatted, modulus_len, RSA_BlockRaw, &unformatted);
if (rv != SECSuccess)
goto failure;
rv = RSA_PublicKeyOp(&key->u.rsa, output, formatted.data);
if (rv != SECSuccess)
goto failure;
PORT_ZFree(formatted.data, modulus_len);
*output_len = modulus_len;
return SECSuccess;
failure:
if (formatted.data != NULL)
PORT_ZFree(formatted.data, modulus_len);
return SECFailure;
}
/* XXX Doesn't set error code */
SECStatus
RSA_DecryptRaw(NSSLOWKEYPrivateKey *key,
unsigned char * output,
unsigned int * output_len,
unsigned int max_output_len,
unsigned char * input,
unsigned int input_len)
{
SECStatus rv;
unsigned int modulus_len = nsslowkey_PrivateModulusLen(key);
if (modulus_len <= 0)
goto failure;
if (modulus_len > max_output_len)
goto failure;
PORT_Assert(key->keyType == NSSLOWKEYRSAKey);
if (key->keyType != NSSLOWKEYRSAKey)
goto failure;
if (input_len != modulus_len)
goto failure;
rv = RSA_PrivateKeyOp(&key->u.rsa, output, input);
if (rv != SECSuccess) {
if (PORT_GetError() == SEC_ERROR_LIBRARY_FAILURE) {
sftk_fatalError = PR_TRUE;
}
goto failure;
}
*output_len = modulus_len;
return SECSuccess;
failure:
return SECFailure;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,115 @@
/* ***** 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 Red Hat, Inc.
*
* The Initial Developer of the Original Code is
* Red Hat, Inc.
* Portions created by the Initial Developer are Copyright (C) 2005
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Robert Relyea (rrelyea@redhat.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 file implements PKCS 11 on top of our existing security modules
*
* For more information about PKCS 11 See PKCS 11 Token Inteface Standard.
* This implementation has two slots:
* slot 1 is our generic crypto support. It does not require login.
* It supports Public Key ops, and all they bulk ciphers and hashes.
* It can also support Private Key ops for imported Private keys. It does
* not have any token storage.
* slot 2 is our private key support. It requires a login before use. It
* can store Private Keys and Certs as token objects. Currently only private
* keys and their associated Certificates are saved on the token.
*
* In this implementation, session objects are only visible to the session
* that created or generated them.
*/
/*
* the following data structures should be moved to a 'rdb.h'.
*/
#ifndef _SDB_H
#define _SDB_H 1
#include "pkcs11t.h"
#include "secitem.h"
#include "sftkdbt.h"
#include <sqlite3.h>
#define STATIC_CMD_SIZE 2048
typedef struct SDBFindStr SDBFind;
typedef struct SDBStr SDB;
typedef struct SDBPasswordEntryStr SDBPasswordEntry;
struct SDBStr {
void *private;
int version;
SDBType sdb_type;
int sdb_flags;
void *app_private;
CK_RV (*sdb_FindObjectsInit)(SDB *sdb, const CK_ATTRIBUTE *template,
CK_ULONG count, SDBFind **find);
CK_RV (*sdb_FindObjects)(SDB *sdb, SDBFind *find, CK_OBJECT_HANDLE *ids,
CK_ULONG arraySize, CK_ULONG *count);
CK_RV (*sdb_FindObjectsFinal)(SDB *sdb, SDBFind *find);
CK_RV (*sdb_GetAttributeValue)(SDB *sdb, CK_OBJECT_HANDLE object,
CK_ATTRIBUTE *template, CK_ULONG count);
CK_RV (*sdb_SetAttributeValue)(SDB *sdb, CK_OBJECT_HANDLE object,
const CK_ATTRIBUTE *template, CK_ULONG count);
CK_RV (*sdb_CreateObject)(SDB *sdb, CK_OBJECT_HANDLE *object,
const CK_ATTRIBUTE *template, CK_ULONG count);
CK_RV (*sdb_DestroyObject)(SDB *sdb, CK_OBJECT_HANDLE object);
CK_RV (*sdb_GetPWEntry)(SDB *sdb, SDBPasswordEntry *entry);
CK_RV (*sdb_PutPWEntry)(SDB *sdb, SDBPasswordEntry *entry);
CK_RV (*sdb_Begin)(SDB *sdb);
CK_RV (*sdb_Commit)(SDB *sdb);
CK_RV (*sdb_Abort)(SDB *sdb);
CK_RV (*sdb_Reset)(SDB *sdb);
CK_RV (*sdb_Close)(SDB *sdb);
};
struct SDBPasswordEntryStr {
SECItem salt;
SECItem value;
unsigned char data[128];
};
CK_RV s_open(const char *directory, const char *certPrefix,
const char *keyPrefix,
int cert_version, int key_version,
int flags, SDB **certdb, SDB **keydb, int *newInit);
CK_RV s_shutdown();
/* flags */
#define SDB_RDONLY 1
#define SDB_RDWR 2
#define SDB_CREATE 4
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,89 @@
/*
* license
*/
#include "sftkdbt.h"
#include "sdb.h"
#include "pkcs11i.h"
#include "pkcs11t.h"
/* raw database stuff */
CK_RV sftkdb_write(SFTKDBHandle *handle, SFTKObject *,CK_OBJECT_HANDLE *);
CK_RV sftkdb_FindObjectsInit(SFTKDBHandle *sdb, const CK_ATTRIBUTE *template,
CK_ULONG count, SDBFind **find);
CK_RV sftkdb_FindObjects(SFTKDBHandle *sdb, SDBFind *find,
CK_OBJECT_HANDLE *ids, int arraySize, CK_ULONG *count);
CK_RV sftkdb_FindObjectsFinal(SFTKDBHandle *sdb, SDBFind *find);
CK_RV sftkdb_GetAttributeValue(SFTKDBHandle *handle,
CK_OBJECT_HANDLE object_id, CK_ATTRIBUTE *template, CK_ULONG count);
CK_RV sftkdb_SetAttributeValue(SFTKDBHandle *handle,
CK_OBJECT_HANDLE object_id, const CK_ATTRIBUTE *template,
CK_ULONG count);
CK_RV sftkdb_DestroyObject(SFTKDBHandle *handle, CK_OBJECT_HANDLE object_id);
CK_RV sftkdb_closeDB(SFTKDBHandle *handle);
/* secmod.db functions */
char ** sftkdb_ReadSecmodDB(SDBType dbType, const char *appName,
const char *filename, const char *dbname,
char *params, PRBool rw);
SECStatus sftkdb_ReleaseSecmodDBData(SDBType dbType, const char *appName,
const char *filename, const char *dbname,
char **moduleSpecList, PRBool rw);
SECStatus sftkdb_DeleteSecmodDB(SDBType dbType, const char *appName,
const char *filename, const char *dbname,
char *args, PRBool rw);
SECStatus sftkdb_AddSecmodDB(SDBType dbType, const char *appName,
const char *filename, const char *dbname,
char *module, PRBool rw);
/* keydb functions */
SECStatus sftkdb_PWIsInitialized(SFTKDBHandle *keydb);
SECStatus sftkdb_CheckPassword(SFTKDBHandle *keydb, const char *pw);
SECStatus sftkdb_PWCached(SFTKDBHandle *keydb);
SECStatus sftkdb_HasPasswordSet(SFTKDBHandle *keydb);
SECStatus sftkdb_ResetKeyDB(SFTKDBHandle *keydb);
SECStatus sftkdb_ChangePassword(SFTKDBHandle *keydb, char *oldPin, char *newPin);
SECStatus sftkdb_ClearPassword(SFTKDBHandle *keydb);
/* Utility functions */
/*
* OK there are now lots of options here, lets go through them all:
*
* configdir - base directory where all the cert, key, and module datbases live.
* certPrefix - prefix added to the beginning of the cert database example: "
* "https-server1-"
* keyPrefix - prefix added to the beginning of the key database example: "
* "https-server1-"
* secmodName - name of the security module database (usually "secmod.db").
* readOnly - Boolean: true if the databases are to be openned read only.
* nocertdb - Don't open the cert DB and key DB's, just initialize the
* Volatile certdb.
* nomoddb - Don't open the security module DB, just initialize the
* PKCS #11 module.
* forceOpen - Continue to force initializations even if the databases cannot
* be opened.
*/
CK_RV sftk_DBInit(const char *configdir, const char *certPrefix,
const char *keyPrefix, PRBool readOnly, PRBool noCertDB,
PRBool noKeyDB, PRBool forceOpen,
SFTKDBHandle **certDB, SFTKDBHandle **keyDB);
CK_RV sftkdb_Shutdown(void);
SFTKDBHandle *sftk_getCertDB(SFTKSlot *slot);
SFTKDBHandle *sftk_getKeyDB(SFTKSlot *slot);
SFTKDBHandle *sftk_getDBForObject(SFTKSlot *slot, CK_OBJECT_HANDLE objectID);
void sftk_freeDB(SFTKDBHandle *certHandle);
/*
* for lgglue, stubs to encrypt and decrypt password entries
*/
SECStatus sftkdb_encrypt_stub(PRArenaPool *arena, SDB *sdb, SECItem *plainText,
SECItem **cipherText);
SECStatus sftkdb_decrypt_stub(SDB *sdb, SECItem *cipherText,
SECItem **plainText);

View File

@@ -0,0 +1,17 @@
/*
* license
*/
#ifndef SFTKDBT_H
#define SFTKDBT_H 1
typedef struct SFTKDBHandleStr SFTKDBHandle;
typedef enum {
SDB_SQL,
SDB_EXTERN,
SDB_LEGACY,
SDB_MULTIACCESS
} SDBType;
#endif

View File

@@ -0,0 +1,616 @@
/* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/*
* The following code handles the storage of PKCS 11 modules used by the
* NSS. This file is written to abstract away how the modules are
* stored so we can deside that later.
*/
#include "sftkpars.h"
#include "pkcs11i.h"
#include "sdb.h"
#include "prprf.h"
#include "prenv.h"
/*
* this file contains routines for parsing PKCS #11 module spec
* strings.
*/
#define SFTK_HANDLE_STRING_ARG(param,target,value,command) \
if (PORT_Strncasecmp(param,value,sizeof(value)-1) == 0) { \
param += sizeof(value)-1; \
target = sftk_argFetchValue(param,&next); \
param += next; \
command ;\
} else
#define SFTK_HANDLE_FINAL_ARG(param) \
{ param = sftk_argSkipParameter(param); } param = sftk_argStrip(param);
static PRBool sftk_argGetPair(char c) {
switch (c) {
case '\'': return c;
case '\"': return c;
case '<': return '>';
case '{': return '}';
case '[': return ']';
case '(': return ')';
default: break;
}
return ' ';
}
static PRBool sftk_argIsBlank(char c) {
return isspace(c);
}
static PRBool sftk_argIsEscape(char c) {
return c == '\\';
}
static PRBool sftk_argIsQuote(char c) {
switch (c) {
case '\'':
case '\"':
case '<':
case '{': /* } end curly to keep vi bracket matching working */
case '(': /* ) */
case '[': /* ] */ return PR_TRUE;
default: break;
}
return PR_FALSE;
}
char *sftk_argStrip(char *c) {
while (*c && sftk_argIsBlank(*c)) c++;
return c;
}
static char *
sftk_argFindEnd(char *string) {
char endChar = ' ';
PRBool lastEscape = PR_FALSE;
if (sftk_argIsQuote(*string)) {
endChar = sftk_argGetPair(*string);
string++;
}
for (;*string; string++) {
if (lastEscape) {
lastEscape = PR_FALSE;
continue;
}
if (sftk_argIsEscape(*string) && !lastEscape) {
lastEscape = PR_TRUE;
continue;
}
if ((endChar == ' ') && sftk_argIsBlank(*string)) break;
if (*string == endChar) {
break;
}
}
return string;
}
char *
sftk_argFetchValue(char *string, int *pcount)
{
char *end = sftk_argFindEnd(string);
char *retString, *copyString;
PRBool lastEscape = PR_FALSE;
int len;
len = end - string;
if (len == 0) {
*pcount = 0;
return NULL;
}
copyString = retString = (char *)PORT_Alloc(len+1);
if (*end) len++;
*pcount = len;
if (retString == NULL) return NULL;
if (sftk_argIsQuote(*string)) string++;
for (; string < end; string++) {
if (sftk_argIsEscape(*string) && !lastEscape) {
lastEscape = PR_TRUE;
continue;
}
lastEscape = PR_FALSE;
*copyString++ = *string;
}
*copyString = 0;
return retString;
}
static char *
sftk_argSkipParameter(char *string)
{
char *end;
/* look for the end of the <name>= */
for (;*string; string++) {
if (*string == '=') { string++; break; }
if (sftk_argIsBlank(*string)) return(string);
}
end = sftk_argFindEnd(string);
if (*end) end++;
return end;
}
char *
sftk_argGetParamValue(char *paramName,char *parameters)
{
char searchValue[256];
int paramLen = strlen(paramName);
char *returnValue = NULL;
int next;
if ((parameters == NULL) || (*parameters == 0)) return NULL;
PORT_Assert(paramLen+2 < sizeof(searchValue));
PORT_Strcpy(searchValue,paramName);
PORT_Strcat(searchValue,"=");
while (*parameters) {
if (PORT_Strncasecmp(parameters,searchValue,paramLen+1) == 0) {
parameters += paramLen+1;
returnValue = sftk_argFetchValue(parameters,&next);
break;
} else {
parameters = sftk_argSkipParameter(parameters);
}
parameters = sftk_argStrip(parameters);
}
return returnValue;
}
static char *
sftk_argNextFlag(char *flags)
{
for (; *flags ; flags++) {
if (*flags == ',') {
flags++;
break;
}
}
return flags;
}
static PRBool
sftk_argHasFlag(char *label, char *flag, char *parameters)
{
char *flags,*index;
int len = strlen(flag);
PRBool found = PR_FALSE;
flags = sftk_argGetParamValue(label,parameters);
if (flags == NULL) return PR_FALSE;
for (index=flags; *index; index=sftk_argNextFlag(index)) {
if (PORT_Strncasecmp(index,flag,len) == 0) {
found=PR_TRUE;
break;
}
}
PORT_Free(flags);
return found;
}
/*
* decode a number. handle octal (leading '0'), hex (leading '0x') or decimal
*/
static long
sftk_argDecodeNumber(char *num)
{
int radix = 10;
unsigned long value = 0;
long retValue = 0;
int sign = 1;
int digit;
if (num == NULL) return retValue;
num = sftk_argStrip(num);
if (*num == '-') {
sign = -1;
num++;
}
if (*num == '0') {
radix = 8;
num++;
if ((*num == 'x') || (*num == 'X')) {
radix = 16;
num++;
}
}
for ( ;*num; num++ ) {
if (isdigit(*num)) {
digit = *num - '0';
} else if ((*num >= 'a') && (*num <= 'f')) {
digit = *num - 'a' + 10;
} else if ((*num >= 'A') && (*num <= 'F')) {
digit = *num - 'A' + 10;
} else {
break;
}
if (digit >= radix) break;
value = value*radix + digit;
}
retValue = ((int) value) * sign;
return retValue;
}
static char *
sftk_argGetName(char *inString, int *next)
{
char *name=NULL;
char *string;
int len;
/* look for the end of the <name>= */
for (string = inString;*string; string++) {
if (*string == '=') { break; }
if (sftk_argIsBlank(*string)) break;
}
len = string - inString;
*next = len;
if (*string == '=') (*next) += 1;
if (len > 0) {
name = PORT_Alloc(len+1);
PORT_Strncpy(name,inString,len);
name[len] = 0;
}
return name;
}
#define FREE_CLEAR(p) if (p) { PORT_Free(p); p = NULL; }
static void
sftk_parseTokenFlags(char *tmp, sftk_token_parameters *parsed) {
parsed->readOnly = sftk_argHasFlag("flags","readOnly",tmp);
parsed->noCertDB = sftk_argHasFlag("flags","noCertDB",tmp);
parsed->noKeyDB = sftk_argHasFlag("flags","noKeyDB",tmp);
parsed->forceOpen = sftk_argHasFlag("flags","forceOpen",tmp);
parsed->pwRequired = sftk_argHasFlag("flags","passwordRequired",tmp);
parsed->optimizeSpace = sftk_argHasFlag("flags","optimizeSpace",tmp);
return;
}
static void
sftk_parseFlags(char *tmp, sftk_parameters *parsed) {
parsed->noModDB = sftk_argHasFlag("flags","noModDB",tmp);
parsed->readOnly = sftk_argHasFlag("flags","readOnly",tmp);
/* keep legacy interface working */
parsed->noCertDB = sftk_argHasFlag("flags","noCertDB",tmp);
parsed->forceOpen = sftk_argHasFlag("flags","forceOpen",tmp);
parsed->pwRequired = sftk_argHasFlag("flags","passwordRequired",tmp);
parsed->optimizeSpace = sftk_argHasFlag("flags","optimizeSpace",tmp);
return;
}
static CK_RV
sftk_parseTokenParameters(char *param, sftk_token_parameters *parsed)
{
int next;
char *tmp;
char *index;
index = sftk_argStrip(param);
while (*index) {
SFTK_HANDLE_STRING_ARG(index,parsed->configdir,"configDir=",;)
SFTK_HANDLE_STRING_ARG(index,parsed->certPrefix,"certPrefix=",;)
SFTK_HANDLE_STRING_ARG(index,parsed->keyPrefix,"keyPrefix=",;)
SFTK_HANDLE_STRING_ARG(index,parsed->tokdes,"tokenDescription=",;)
SFTK_HANDLE_STRING_ARG(index,parsed->slotdes,"slotDescription=",;)
SFTK_HANDLE_STRING_ARG(index,tmp,"minPWLen=",
if(tmp) { parsed->minPW=atoi(tmp); PORT_Free(tmp); })
SFTK_HANDLE_STRING_ARG(index,tmp,"flags=",
if(tmp) { sftk_parseTokenFlags(param,parsed); PORT_Free(tmp); })
SFTK_HANDLE_FINAL_ARG(index)
}
return CKR_OK;
}
static void
sftk_parseTokens(char *tokenParams, sftk_parameters *parsed)
{
char *tokenIndex;
sftk_token_parameters *tokens = NULL;
int i=0,count = 0,next;
if ((tokenParams == NULL) || (*tokenParams == 0)) return;
/* first count the number of slots */
for (tokenIndex = sftk_argStrip(tokenParams); *tokenIndex;
tokenIndex = sftk_argStrip(sftk_argSkipParameter(tokenIndex))) {
count++;
}
/* get the data structures */
tokens = (sftk_token_parameters *)
PORT_ZAlloc(count*sizeof(sftk_token_parameters));
if (tokens == NULL) return;
for (tokenIndex = sftk_argStrip(tokenParams), i = 0;
*tokenIndex && i < count ; i++ ) {
char *name;
name = sftk_argGetName(tokenIndex,&next);
tokenIndex += next;
tokens[i].slotID = sftk_argDecodeNumber(name);
tokens[i].readOnly = PR_FALSE;
tokens[i].noCertDB = PR_FALSE;
tokens[i].noKeyDB = PR_FALSE;
if (!sftk_argIsBlank(*tokenIndex)) {
char *args = sftk_argFetchValue(tokenIndex,&next);
tokenIndex += next;
if (args) {
sftk_parseTokenParameters(args,&tokens[i]);
PORT_Free(args);
}
}
if (name) PORT_Free(name);
tokenIndex = sftk_argStrip(tokenIndex);
}
parsed->token_count = i;
parsed->tokens = tokens;
return;
}
CK_RV
sftk_parseParameters(char *param, sftk_parameters *parsed, PRBool isFIPS)
{
int next;
char *tmp;
char *index;
char *certPrefix = NULL, *keyPrefix = NULL;
char *tokdes = NULL, *ptokdes = NULL;
char *slotdes = NULL, *pslotdes = NULL;
char *fslotdes = NULL, *fpslotdes = NULL;
char *minPW = NULL;
index = sftk_argStrip(param);
PORT_Memset(parsed, 0, sizeof(sftk_parameters));
while (*index) {
SFTK_HANDLE_STRING_ARG(index,parsed->configdir,"configDir=",;)
SFTK_HANDLE_STRING_ARG(index,parsed->secmodName,"secmod=",;)
SFTK_HANDLE_STRING_ARG(index,parsed->man,"manufacturerID=",;)
SFTK_HANDLE_STRING_ARG(index,parsed->libdes,"libraryDescription=",;)
/* constructed values, used so legacy interfaces still work */
SFTK_HANDLE_STRING_ARG(index,certPrefix,"certPrefix=",;)
SFTK_HANDLE_STRING_ARG(index,keyPrefix,"keyPrefix=",;)
SFTK_HANDLE_STRING_ARG(index,tokdes,"cryptoTokenDescription=",;)
SFTK_HANDLE_STRING_ARG(index,ptokdes,"dbTokenDescription=",;)
SFTK_HANDLE_STRING_ARG(index,slotdes,"cryptoSlotDescription=",;)
SFTK_HANDLE_STRING_ARG(index,pslotdes,"dbSlotDescription=",;)
SFTK_HANDLE_STRING_ARG(index,fslotdes,"FIPSSlotDescription=",;)
SFTK_HANDLE_STRING_ARG(index,fpslotdes,"FIPSTokenDescription=",;)
SFTK_HANDLE_STRING_ARG(index,minPW,"minPWLen=",;)
SFTK_HANDLE_STRING_ARG(index,tmp,"flags=",
if(tmp) { sftk_parseFlags(param,parsed); PORT_Free(tmp); })
SFTK_HANDLE_STRING_ARG(index,tmp,"tokens=",
if(tmp) { sftk_parseTokens(tmp,parsed); PORT_Free(tmp); })
SFTK_HANDLE_FINAL_ARG(index)
}
if (parsed->tokens == NULL) {
int count = isFIPS ? 1 : 2;
int index = count-1;
sftk_token_parameters *tokens = NULL;
tokens = (sftk_token_parameters *)
PORT_ZAlloc(count*sizeof(sftk_token_parameters));
if (tokens == NULL) {
goto loser;
}
parsed->tokens = tokens;
parsed->token_count = count;
tokens[index].slotID = isFIPS ? FIPS_SLOT_ID : PRIVATE_KEY_SLOT_ID;
tokens[index].certPrefix = certPrefix;
tokens[index].keyPrefix = keyPrefix;
tokens[index].minPW = minPW ? atoi(minPW) : 0;
tokens[index].readOnly = parsed->readOnly;
tokens[index].noCertDB = parsed->noCertDB;
tokens[index].noKeyDB = parsed->noCertDB;
tokens[index].forceOpen = parsed->forceOpen;
tokens[index].pwRequired = parsed->pwRequired;
tokens[index].optimizeSpace = parsed->optimizeSpace;
tokens[0].optimizeSpace = parsed->optimizeSpace;
certPrefix = NULL;
keyPrefix = NULL;
if (isFIPS) {
tokens[index].tokdes = fslotdes;
tokens[index].slotdes = fpslotdes;
fslotdes = NULL;
fpslotdes = NULL;
} else {
tokens[index].tokdes = ptokdes;
tokens[index].slotdes = pslotdes;
tokens[0].slotID = NETSCAPE_SLOT_ID;
tokens[0].tokdes = tokdes;
tokens[0].slotdes = slotdes;
tokens[0].noCertDB = PR_TRUE;
tokens[0].noKeyDB = PR_TRUE;
ptokdes = NULL;
pslotdes = NULL;
tokdes = NULL;
slotdes = NULL;
}
}
loser:
FREE_CLEAR(certPrefix);
FREE_CLEAR(keyPrefix);
FREE_CLEAR(tokdes);
FREE_CLEAR(ptokdes);
FREE_CLEAR(slotdes);
FREE_CLEAR(pslotdes);
FREE_CLEAR(fslotdes);
FREE_CLEAR(fpslotdes);
FREE_CLEAR(minPW);
return CKR_OK;
}
void
sftk_freeParams(sftk_parameters *params)
{
int i;
for (i=0; i < params->token_count; i++) {
FREE_CLEAR(params->tokens[i].configdir);
FREE_CLEAR(params->tokens[i].certPrefix);
FREE_CLEAR(params->tokens[i].keyPrefix);
FREE_CLEAR(params->tokens[i].tokdes);
FREE_CLEAR(params->tokens[i].slotdes);
}
FREE_CLEAR(params->configdir);
FREE_CLEAR(params->secmodName);
FREE_CLEAR(params->man);
FREE_CLEAR(params->libdes);
FREE_CLEAR(params->tokens);
}
#define SQLDB "sql:"
#define EXTERNDB "extern:"
#define LEGACY "dbm:"
const char *
sftk_EvaluateConfigDir(const char *configdir, SDBType *dbType, char **appName)
{
*appName = NULL;
*dbType = SDB_LEGACY;
if (PORT_Strncmp(configdir, MULTIACCESS, sizeof(MULTIACCESS)-1) == 0) {
char *cdir;
*dbType = SDB_MULTIACCESS;
*appName = PORT_Strdup(configdir+sizeof(MULTIACCESS)-1);
if (*appName == NULL) {
return configdir;
}
cdir = *appName;
while (*cdir && *cdir != ':') {
cdir++;
}
if (*cdir == ':') {
*cdir = 0;
cdir++;
}
configdir = cdir;
} else if (PORT_Strncmp(configdir, SQLDB, sizeof(SQLDB)-1) == 0) {
*dbType = SDB_SQL;
configdir = configdir + sizeof(SQLDB) -1;
} else if (PORT_Strncmp(configdir, EXTERNDB, sizeof(EXTERNDB)-1) == 0) {
*dbType = SDB_EXTERN;
configdir = configdir + sizeof(EXTERNDB) -1;
} else if (PORT_Strncmp(configdir, LEGACY, sizeof(LEGACY)-1) == 0) {
*dbType = SDB_LEGACY;
configdir = configdir + sizeof(LEGACY) -1;
} else {
/* look up the default from the environment */
char *defaultType = PR_GetEnv("NSS_DEFAULT_DB_TYPE");
if (defaultType == NULL) {
/* none specified, go with the legacy */
return configdir;
}
if (PORT_Strncmp(defaultType, SQLDB, sizeof(SQLDB)-2) == 0) {
*dbType = SDB_SQL;
} else if (PORT_Strncmp(defaultType,EXTERNDB,sizeof(EXTERNDB)-2)==0) {
*dbType = SDB_EXTERN;
} else if (PORT_Strncmp(defaultType, LEGACY, sizeof(LEGACY)-2) == 0) {
*dbType = SDB_LEGACY;
}
}
return configdir;
}
char *
sftk_getSecmodName(char *param, SDBType *dbType, char **appName,
char **filename, PRBool *rw)
{
int next;
char *configdir = NULL;
char *secmodName = NULL;
char *value = NULL;
char *save_params = param;
const char *lconfigdir;
param = sftk_argStrip(param);
while (*param) {
SFTK_HANDLE_STRING_ARG(param,configdir,"configDir=",;)
SFTK_HANDLE_STRING_ARG(param,secmodName,"secmod=",;)
SFTK_HANDLE_FINAL_ARG(param)
}
*rw = PR_TRUE;
if (sftk_argHasFlag("flags","readOnly",save_params) ||
sftk_argHasFlag("flags","noModDB",save_params)) *rw = PR_FALSE;
if (!secmodName || *secmodName == '\0') {
if (secmodName) PORT_Free(secmodName);
secmodName = PORT_Strdup(SECMOD_DB);
}
*filename = secmodName;
lconfigdir = sftk_EvaluateConfigDir(configdir, dbType, appName);
/* only use the renamed secmod for legacy databases */
if ((*dbType != SDB_LEGACY) && (*dbType != SDB_MULTIACCESS)) {
secmodName="pkcs11.txt";
}
if (lconfigdir) {
value = PR_smprintf("%s" PATH_SEPARATOR "%s",lconfigdir,secmodName);
} else {
value = PR_smprintf("%s",secmodName);
}
if (configdir) PORT_Free(configdir);
return value;
}

View File

@@ -0,0 +1,17 @@
/*
* license
*/
#include "pkcs11i.h"
#include "sftkdbt.h"
/* parsing functions */
char * sftk_argFetchValue(char *string, int *pcount);
char * sftk_getSecmodName(char *param, SDBType *dbType, char **appName, char **filename,PRBool *rw);
char *sftk_argStrip(char *c);
CK_RV sftk_parseParameters(char *param, sftk_parameters *parsed, PRBool isFIPS);
void sftk_freeParams(sftk_parameters *params);
const char *sftk_EvaluateConfigDir(const char *configdir, SDBType *dbType, char **app);
char * sftk_argGetParamValue(char *paramName,char *parameters);

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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2002
* 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 ***** */
/* Library identity and versioning */
#include "softkver.h"
#if defined(DEBUG)
#define _DEBUG_STRING " (debug)"
#else
#define _DEBUG_STRING ""
#endif
/*
* Version information for the 'ident' and 'what commands
*
* NOTE: the first component of the concatenated rcsid string
* must not end in a '$' to prevent rcs keyword substitution.
*/
const char __nss_softokn_rcsid[] = "$Header: NSS " SOFTOKEN_VERSION _DEBUG_STRING
" " __DATE__ " " __TIME__ " $";
const char __nss_softokn_sccsid[] = "@(#)NSS " SOFTOKEN_VERSION _DEBUG_STRING
" " __DATE__ " " __TIME__;

View File

@@ -0,0 +1,66 @@
/*
* Softoken version numbers
*
* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
#ifndef _SOFTKVER_H_
#define _SOFTKVER_H_
#ifdef NSS_ENABLE_ECC
#ifdef NSS_ECC_MORE_THAN_SUITE_B
#define SOFTOKEN_ECC_STRING " Extended ECC"
#else
#define SOFTOKEN_ECC_STRING " Basic ECC"
#endif
#else
#define SOFTOKEN_ECC_STRING ""
#endif
/*
* Softoken's major version, minor version, patch level, and whether
* this is a beta release.
*
* The format of the version string should be
* "<major version>.<minor version>[.<patch level>][ <ECC>][ <Beta>]"
*/
#define SOFTOKEN_VERSION "3.12" SOFTOKEN_ECC_STRING " Beta"
#define SOFTOKEN_VMAJOR 3
#define SOFTOKEN_VMINOR 12
#define SOFTOKEN_VPATCH 0
#define SOFTOKEN_BETA PR_TRUE
#endif /* _SOFTKVER_H_ */

View File

@@ -0,0 +1,263 @@
/*
* softoken.h - private data structures and prototypes for the softoken lib
*
* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/* $Id: softoken.h,v 1.14.2.1 2007-04-03 22:50:01 rrelyea%redhat.com Exp $ */
#ifndef _SOFTOKEN_H_
#define _SOFTOKEN_H_
#include "blapi.h"
#include "lowkeyti.h"
#include "softoknt.h"
#include "secoidt.h"
#include "pkcs11t.h" /* CK_RV Required for sftk_fipsPowerUpSelfTest(). */
SEC_BEGIN_PROTOS
/*
** RSA encryption/decryption. When encrypting/decrypting the output
** buffer must be at least the size of the public key modulus.
*/
/*
** Format some data into a PKCS#1 encryption block, preparing the
** data for RSA encryption.
** "result" where the formatted block is stored (memory is allocated)
** "modulusLen" the size of the formatted block
** "blockType" what block type to use (SEC_RSABlock*)
** "data" the data to format
*/
extern SECStatus RSA_FormatBlock(SECItem *result,
unsigned int modulusLen,
RSA_BlockType blockType,
SECItem *data);
/*
** Similar, but just returns a pointer to the allocated memory, *and*
** will *only* format one block, even if we (in the future) modify
** RSA_FormatBlock() to loop over multiples of modulusLen.
*/
extern unsigned char *RSA_FormatOneBlock(unsigned int modulusLen,
RSA_BlockType blockType,
SECItem *data);
/*
* convenience wrappers for doing single RSA operations. They create the
* RSA context internally and take care of the formatting
* requirements. Blinding happens automagically within RSA_Sign and
* RSA_DecryptBlock.
*/
extern
SECStatus RSA_Sign(NSSLOWKEYPrivateKey *key, unsigned char *output,
unsigned int *outputLen, unsigned int maxOutputLen,
unsigned char *input, unsigned int inputLen);
extern
SECStatus RSA_HashSign(SECOidTag hashOid,
NSSLOWKEYPrivateKey *key, unsigned char *sig,
unsigned int *sigLen, unsigned int maxLen,
unsigned char *hash, unsigned int hashLen);
extern
SECStatus RSA_CheckSign(NSSLOWKEYPublicKey *key, unsigned char *sign,
unsigned int signLength, unsigned char *hash,
unsigned int hashLength);
extern
SECStatus RSA_HashCheckSign(SECOidTag hashOid,
NSSLOWKEYPublicKey *key, unsigned char *sig,
unsigned int sigLen, unsigned char *digest,
unsigned int digestLen);
extern
SECStatus RSA_CheckSignRecover(NSSLOWKEYPublicKey *key, unsigned char *data,
unsigned int *data_len,unsigned int max_output_len,
unsigned char *sign, unsigned int sign_len);
extern
SECStatus RSA_EncryptBlock(NSSLOWKEYPublicKey *key, unsigned char *output,
unsigned int *outputLen, unsigned int maxOutputLen,
unsigned char *input, unsigned int inputLen);
extern
SECStatus RSA_DecryptBlock(NSSLOWKEYPrivateKey *key, unsigned char *output,
unsigned int *outputLen, unsigned int maxOutputLen,
unsigned char *input, unsigned int inputLen);
/*
* added to make pkcs #11 happy
* RAW is RSA_X_509
*/
extern
SECStatus RSA_SignRaw( NSSLOWKEYPrivateKey *key, unsigned char *output,
unsigned int *output_len, unsigned int maxOutputLen,
unsigned char *input, unsigned int input_len);
extern
SECStatus RSA_CheckSignRaw( NSSLOWKEYPublicKey *key, unsigned char *sign,
unsigned int sign_len, unsigned char *hash,
unsigned int hash_len);
extern
SECStatus RSA_CheckSignRecoverRaw( NSSLOWKEYPublicKey *key, unsigned char *data,
unsigned int *data_len, unsigned int max_output_len,
unsigned char *sign, unsigned int sign_len);
extern
SECStatus RSA_EncryptRaw( NSSLOWKEYPublicKey *key, unsigned char *output,
unsigned int *output_len,
unsigned int max_output_len,
unsigned char *input, unsigned int input_len);
extern
SECStatus RSA_DecryptRaw(NSSLOWKEYPrivateKey *key, unsigned char *output,
unsigned int *output_len,
unsigned int max_output_len,
unsigned char *input, unsigned int input_len);
#ifdef NSS_ENABLE_ECC
/*
** pepare an ECParam structure from DEREncoded params
*/
extern SECStatus EC_FillParams(PRArenaPool *arena,
const SECItem *encodedParams, ECParams *params);
extern SECStatus EC_DecodeParams(const SECItem *encodedParams,
ECParams **ecparams);
extern SECStatus EC_CopyParams(PRArenaPool *arena, ECParams *dstParams,
const ECParams *srcParams);
#endif
/*
** Prepare a buffer for DES encryption, growing to the appropriate boundary,
** filling with the appropriate padding.
** We add from 1 to DES_KEY_LENGTH bytes -- we *always* grow.
** The extra bytes contain the value of the length of the padding:
** if we have 2 bytes of padding, then the padding is "0x02, 0x02".
**
** NOTE: If arena is non-NULL, we re-allocate from there, otherwise
** we assume (and use) PR memory (re)allocation.
** Maybe this belongs in util?
*/
extern unsigned char * DES_PadBuffer(PRArenaPool *arena, unsigned char *inbuf,
unsigned int inlen, unsigned int *outlen);
/****************************************/
/*
** Power-Up selftests required for FIPS and invoked only
** under PKCS #11 FIPS mode.
*/
extern CK_RV sftk_fipsPowerUpSelfTest( void );
/*
** make known fixed PKCS #11 key types to their sizes in bytes
*/
unsigned long sftk_MapKeySize(CK_KEY_TYPE keyType);
/*
** FIPS 140-2 auditing
*/
extern PRBool sftk_audit_enabled;
extern void sftk_LogAuditMessage(NSSAuditSeverity severity, const char *msg);
extern void sftk_AuditCreateObject(CK_SESSION_HANDLE hSession,
CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount,
CK_OBJECT_HANDLE_PTR phObject, CK_RV rv);
extern void sftk_AuditCopyObject(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject,
CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount,
CK_OBJECT_HANDLE_PTR phNewObject, CK_RV rv);
extern void sftk_AuditDestroyObject(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject, CK_RV rv);
extern void sftk_AuditGetObjectSize(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject, CK_ULONG_PTR pulSize,
CK_RV rv);
extern void sftk_AuditGetAttributeValue(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulCount, CK_RV rv);
extern void sftk_AuditSetAttributeValue(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulCount, CK_RV rv);
extern void sftk_AuditCryptInit(const char *opName,
CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hKey, CK_RV rv);
extern void sftk_AuditGenerateKey(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount,
CK_OBJECT_HANDLE_PTR phKey, CK_RV rv);
extern void sftk_AuditGenerateKeyPair(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_ATTRIBUTE_PTR pPublicKeyTemplate,
CK_ULONG ulPublicKeyAttributeCount,
CK_ATTRIBUTE_PTR pPrivateKeyTemplate,
CK_ULONG ulPrivateKeyAttributeCount,
CK_OBJECT_HANDLE_PTR phPublicKey,
CK_OBJECT_HANDLE_PTR phPrivateKey, CK_RV rv);
extern void sftk_AuditWrapKey(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hWrappingKey, CK_OBJECT_HANDLE hKey,
CK_BYTE_PTR pWrappedKey,
CK_ULONG_PTR pulWrappedKeyLen, CK_RV rv);
extern void sftk_AuditUnwrapKey(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hUnwrappingKey,
CK_BYTE_PTR pWrappedKey, CK_ULONG ulWrappedKeyLen,
CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulAttributeCount,
CK_OBJECT_HANDLE_PTR phKey, CK_RV rv);
extern void sftk_AuditDeriveKey(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hBaseKey,
CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulAttributeCount,
CK_OBJECT_HANDLE_PTR phKey, CK_RV rv);
extern void sftk_AuditDigestKey(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hKey, CK_RV rv);
/*
** FIPS 140-2 Error state
*/
extern PRBool sftk_fatalError;
SEC_END_PROTOS
#endif /* _SOFTOKEN_H_ */

View File

@@ -0,0 +1,61 @@
;+#
;+# ***** 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 the Netscape security libraries.
;+#
;+# The Initial Developer of the Original Code is
;+# Netscape Communications Corporation.
;+# Portions created by the Initial Developer are Copyright (C) 2000
;+# the Initial Developer. All Rights Reserved.
;+#
;+# Contributor(s):
;+# Dr Stephen Henson <stephen.henson@gemplus.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 *****
;+#
;+# OK, this file is meant to support SUN, LINUX, AIX and WINDOWS
;+# 1. For all unix platforms, the string ";-" means "remove this line"
;+# 2. For all unix platforms, the string " DATA " will be removed from any
;+# line on which it occurs.
;+# 3. Lines containing ";+" will have ";+" removed on SUN and LINUX.
;+# On AIX, lines containing ";+" will be removed.
;+# 4. For all unix platforms, the string ";;" will thave the ";;" removed.
;+# 5. For all unix platforms, after the above processing has taken place,
;+# all characters after the first ";" on the line will be removed.
;+# And for AIX, the first ";" will also be removed.
;+# This file is passed directly to windows. Since ';' is a comment, all UNIX
;+# directives are hidden behind ";", ";+", and ";-"
;+NSS_3.4 { # NSS 3.4 release
;+ global:
LIBRARY softokn3 ;-
EXPORTS ;-
C_GetFunctionList; Make this function like a real PKCS #11 module as well
FC_GetFunctionList;
NSC_GetFunctionList;
NSC_ModuleDBFunc;
;+ local:
;+ *;
;+};

View File

@@ -0,0 +1,100 @@
/* ***** 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 the Netscape security libraries.
*
* 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 "softkver.h"
#include <winver.h>
#define MY_LIBNAME "softokn"
#define MY_FILEDESCRIPTION "NSS PKCS #11 Library"
#define STRINGIZE(x) #x
#define STRINGIZE2(x) STRINGIZE(x)
#define SOFTOKEN_VMAJOR_STR STRINGIZE2(SOFTOKEN_VMAJOR)
#ifdef _DEBUG
#define MY_DEBUG_STR " (debug)"
#define MY_FILEFLAGS_1 VS_FF_DEBUG
#else
#define MY_DEBUG_STR ""
#define MY_FILEFLAGS_1 0x0L
#endif
#if SOFTOKEN_BETA
#define MY_FILEFLAGS_2 MY_FILEFLAGS_1|VS_FF_PRERELEASE
#else
#define MY_FILEFLAGS_2 MY_FILEFLAGS_1
#endif
#ifdef WINNT
#define MY_FILEOS VOS_NT_WINDOWS32
#else
#define MY_FILEOS VOS__WINDOWS32
#endif
#define MY_INTERNAL_NAME MY_LIBNAME SOFTOKEN_VMAJOR_STR
/////////////////////////////////////////////////////////////////////////////
//
// Version-information resource
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SOFTOKEN_VMAJOR,SOFTOKEN_VMINOR,SOFTOKEN_VPATCH,0
PRODUCTVERSION SOFTOKEN_VMAJOR,SOFTOKEN_VMINOR,SOFTOKEN_VPATCH,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS MY_FILEFLAGS_2
FILEOS MY_FILEOS
FILETYPE VFT_DLL
FILESUBTYPE 0x0L // not used
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904B0" // Lang=US English, CharSet=Unicode
BEGIN
VALUE "CompanyName", "Mozilla Foundation\0"
VALUE "FileDescription", MY_FILEDESCRIPTION MY_DEBUG_STR "\0"
VALUE "FileVersion", SOFTOKEN_VERSION "\0"
VALUE "InternalName", MY_INTERNAL_NAME "\0"
VALUE "OriginalFilename", MY_INTERNAL_NAME ".dll\0"
VALUE "ProductName", "Network Security Services\0"
VALUE "ProductVersion", SOFTOKEN_VERSION "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END

View File

@@ -0,0 +1,73 @@
/*
* softoknt.h - public data structures for the software token library
*
* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/* $Id: softoknt.h,v 1.4 2006-05-05 20:02:47 wtchang%redhat.com Exp $ */
#ifndef _SOFTOKNT_H_
#define _SOFTOKNT_H_
/*
* RSA block types
*
* The actual values are important -- they are fixed, *not* arbitrary.
* The explicit value assignments are not needed (because C would give
* us those same values anyway) but are included as a reminder...
*/
typedef enum {
RSA_BlockPrivate0 = 0, /* unused, really */
RSA_BlockPrivate = 1, /* pad for a private-key operation */
RSA_BlockPublic = 2, /* pad for a public-key operation */
RSA_BlockOAEP = 3, /* use OAEP padding */
/* XXX is this only for a public-key
operation? If so, add "Public" */
RSA_BlockRaw = 4, /* simply justify the block appropriately */
RSA_BlockTotal
} RSA_BlockType;
#define NSS_SOFTOKEN_DEFAULT_CHUNKSIZE 2048
/*
* FIPS 140-2 auditing
*/
typedef enum {
NSS_AUDIT_ERROR = 3, /* errors */
NSS_AUDIT_WARNING = 2, /* warning messages */
NSS_AUDIT_INFO = 1 /* informational messages */
} NSSAuditSeverity;
#endif /* _SOFTOKNT_H_ */

View File

@@ -0,0 +1,215 @@
/* tlsprf.c - TLS Pseudo Random Function (PRF) implementation
*
* ***** 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 the Netscape security libraries.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
* 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 ***** */
/* $Id: tlsprf.c,v 1.6 2005-08-06 09:27:28 nelsonb%netscape.com Exp $ */
#include "pkcs11i.h"
#include "blapi.h"
#define SFTK_OFFSETOF(str, memb) ((PRPtrdiff)(&(((str *)0)->memb)))
static void sftk_TLSPRFNull(void *data, PRBool freeit)
{
return;
}
typedef struct {
PRUint32 cxSize; /* size of allocated block, in bytes. */
PRUint32 cxBufSize; /* sizeof buffer at cxBufPtr. */
unsigned char *cxBufPtr; /* points to real buffer, may be cxBuf. */
PRUint32 cxKeyLen; /* bytes of cxBufPtr containing key. */
PRUint32 cxDataLen; /* bytes of cxBufPtr containing data. */
SECStatus cxRv; /* records failure of void functions. */
PRBool cxIsFIPS; /* true if conforming to FIPS 198. */
unsigned char cxBuf[512]; /* actual size may be larger than 512. */
} TLSPRFContext;
static void
sftk_TLSPRFHashUpdate(TLSPRFContext *cx, const unsigned char *data,
unsigned int data_len)
{
PRUint32 bytesUsed = cx->cxKeyLen + cx->cxDataLen;
if (cx->cxRv != SECSuccess) /* function has previously failed. */
return;
if (bytesUsed + data_len > cx->cxBufSize) {
/* We don't use realloc here because
** (a) realloc doesn't zero out the old block, and
** (b) if realloc fails, we lose the old block.
*/
PRUint32 newBufSize = bytesUsed + data_len + 512;
unsigned char * newBuf = (unsigned char *)PORT_Alloc(newBufSize);
if (!newBuf) {
cx->cxRv = SECFailure;
return;
}
PORT_Memcpy(newBuf, cx->cxBufPtr, bytesUsed);
if (cx->cxBufPtr != cx->cxBuf) {
PORT_ZFree(cx->cxBufPtr, bytesUsed);
}
cx->cxBufPtr = newBuf;
cx->cxBufSize = newBufSize;
}
PORT_Memcpy(cx->cxBufPtr + bytesUsed, data, data_len);
cx->cxDataLen += data_len;
}
static void
sftk_TLSPRFEnd(TLSPRFContext *ctx, unsigned char *hashout,
unsigned int *pDigestLen, unsigned int maxDigestLen)
{
*pDigestLen = 0; /* tells Verify that no data has been input yet. */
}
/* Compute the PRF values from the data previously input. */
static SECStatus
sftk_TLSPRFUpdate(TLSPRFContext *cx,
unsigned char *sig, /* output goes here. */
unsigned int * sigLen, /* how much output. */
unsigned int maxLen, /* output buffer size */
unsigned char *hash, /* unused. */
unsigned int hashLen) /* unused. */
{
SECStatus rv;
SECItem sigItem;
SECItem seedItem;
SECItem secretItem;
if (cx->cxRv != SECSuccess)
return cx->cxRv;
secretItem.data = cx->cxBufPtr;
secretItem.len = cx->cxKeyLen;
seedItem.data = cx->cxBufPtr + cx->cxKeyLen;
seedItem.len = cx->cxDataLen;
sigItem.data = sig;
sigItem.len = maxLen;
rv = TLS_PRF(&secretItem, NULL, &seedItem, &sigItem, cx->cxIsFIPS);
if (rv == SECSuccess && sigLen != NULL)
*sigLen = sigItem.len;
return rv;
}
static SECStatus
sftk_TLSPRFVerify(TLSPRFContext *cx,
unsigned char *sig, /* input, for comparison. */
unsigned int sigLen, /* length of sig. */
unsigned char *hash, /* data to be verified. */
unsigned int hashLen) /* size of hash data. */
{
unsigned char * tmp = (unsigned char *)PORT_Alloc(sigLen);
unsigned int tmpLen = sigLen;
SECStatus rv;
if (!tmp)
return SECFailure;
if (hashLen) {
/* hashLen is non-zero when the user does a one-step verify.
** In this case, none of the data has been input yet.
*/
sftk_TLSPRFHashUpdate(cx, hash, hashLen);
}
rv = sftk_TLSPRFUpdate(cx, tmp, &tmpLen, sigLen, NULL, 0);
if (rv == SECSuccess) {
rv = (SECStatus)(1 - !PORT_Memcmp(tmp, sig, sigLen));
}
PORT_ZFree(tmp, sigLen);
return rv;
}
static void
sftk_TLSPRFHashDestroy(TLSPRFContext *cx, PRBool freeit)
{
if (freeit) {
if (cx->cxBufPtr != cx->cxBuf)
PORT_ZFree(cx->cxBufPtr, cx->cxBufSize);
PORT_ZFree(cx, cx->cxSize);
}
}
CK_RV
sftk_TLSPRFInit(SFTKSessionContext *context,
SFTKObject * key,
CK_KEY_TYPE key_type)
{
SFTKAttribute * keyVal;
TLSPRFContext * prf_cx;
CK_RV crv = CKR_HOST_MEMORY;
PRUint32 keySize;
PRUint32 blockSize;
if (key_type != CKK_GENERIC_SECRET)
return CKR_KEY_TYPE_INCONSISTENT; /* CKR_KEY_FUNCTION_NOT_PERMITTED */
context->multi = PR_TRUE;
keyVal = sftk_FindAttribute(key, CKA_VALUE);
keySize = (!keyVal) ? 0 : keyVal->attrib.ulValueLen;
blockSize = keySize + sizeof(TLSPRFContext);
prf_cx = (TLSPRFContext *)PORT_Alloc(blockSize);
if (!prf_cx)
goto done;
prf_cx->cxSize = blockSize;
prf_cx->cxKeyLen = keySize;
prf_cx->cxDataLen = 0;
prf_cx->cxBufSize = blockSize - SFTK_OFFSETOF(TLSPRFContext, cxBuf);
prf_cx->cxRv = SECSuccess;
prf_cx->cxIsFIPS = (key->slot->slotID == FIPS_SLOT_ID);
prf_cx->cxBufPtr = prf_cx->cxBuf;
if (keySize)
PORT_Memcpy(prf_cx->cxBufPtr, keyVal->attrib.pValue, keySize);
context->hashInfo = (void *) prf_cx;
context->cipherInfo = (void *) prf_cx;
context->hashUpdate = (SFTKHash) sftk_TLSPRFHashUpdate;
context->end = (SFTKEnd) sftk_TLSPRFEnd;
context->update = (SFTKCipher) sftk_TLSPRFUpdate;
context->verify = (SFTKVerify) sftk_TLSPRFVerify;
context->destroy = (SFTKDestroy) sftk_TLSPRFNull;
context->hashdestroy = (SFTKDestroy) sftk_TLSPRFHashDestroy;
crv = CKR_OK;
done:
if (keyVal)
sftk_FreeAttribute(keyVal);
return crv;
}

View File

@@ -0,0 +1,80 @@
#! gmake
#
# ***** 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 the Netscape security libraries.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1994-2000
# 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 *****
#######################################################################
# (1) Include initial platform-independent assignments (MANDATORY). #
#######################################################################
include manifest.mn
#######################################################################
# (2) Include "global" configuration information. (OPTIONAL) #
#######################################################################
include $(CORE_DEPTH)/coreconf/config.mk
#######################################################################
# (3) Include "component" configuration information. (OPTIONAL) #
#######################################################################
#######################################################################
# (4) Include "local" platform-dependent assignments (OPTIONAL). #
#######################################################################
-include config.mk
#######################################################################
# (5) Execute "global" rules. (OPTIONAL) #
#######################################################################
include $(CORE_DEPTH)/coreconf/rules.mk
#######################################################################
# (6) Execute "component" rules. (OPTIONAL) #
#######################################################################
#######################################################################
# (7) Execute "local" rules. (OPTIONAL). #
#######################################################################
export:: private_export

View File

@@ -0,0 +1,57 @@
#
# ***** 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 the Netscape security libraries.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1994-2000
# 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 *****
# can't do this in manifest.mn because OS_TARGET isn't defined there.
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
# don't want the 32 in the shared library name
SHARED_LIBRARY = $(OBJDIR)/$(DLL_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
IMPORT_LIBRARY = $(OBJDIR)/$(IMPORT_LIB_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION)$(IMPORT_LIB_SUFFIX)
#RES = $(OBJDIR)/$(LIBRARY_NAME).res
#RESNAME = $(LIBRARY_NAME).rc
endif
ifeq ($(OS_TARGET),SunOS)
# The -R '$ORIGIN' linker option instructs this library to search for its
# dependencies in the same directory where it resides.
MKSHLIB += -R '$$ORIGIN'
OS_LIBS += -lbsm
endif

View File

@@ -0,0 +1,63 @@
#
# ***** 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 the Netscape security libraries.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1994-2000
# 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 *****
CORE_DEPTH = ../../..
MODULE = nss
LIBRARY_NAME = sqlite
LIBRARY_VERSION = 3
MAPFILE = $(OBJDIR)/sqlite.def
DEFINES += -DTHREADSAFE=1
EXPORTS = \
$(NULL)
PRIVATE_EXPORTS = \
sqlite3.h \
$(NULL)
CSRCS = \
sqlite3.c \
$(NULL)
# only add module debugging in opt builds if DEBUG_PKCS11 is set
ifdef DEBUG_PKCS11
DEFINES += -DDEBUG_MODULE
endif

View File

@@ -0,0 +1,141 @@
;+#
;+#
;+# OK, this file is meant to support SUN, LINUX, AIX and WINDOWS
;+# 1. For all unix platforms, the string ";-" means "remove this line"
;+# 2. For all unix platforms, the string " DATA " will be removed from any
;+# line on which it occurs.
;+# 3. Lines containing ";+" will have ";+" removed on SUN and LINUX.
;+# On AIX, lines containing ";+" will be removed.
;+# 4. For all unix platforms, the string ";;" will thave the ";;" removed.
;+# 5. For all unix platforms, after the above processing has taken place,
;+# all characters after the first ";" on the line will be removed.
;+# And for AIX, the first ";" will also be removed.
;+# This file is passed directly to windows. Since ';' is a comment, all UNIX
;+# directives are hidden behind ";", ";+", and ";-"
;+SQLITE_3 {
;+ global:
LIBRARY sqlite3 ;-
EXPORTS ;-
sqlite3_aggregate_context;
sqlite3_aggregate_count;
sqlite3_apis;
sqlite3_auto_extension;
sqlite3_bind_blob;
sqlite3_bind_double;
sqlite3_bind_int;
sqlite3_bind_int64;
sqlite3_bind_null;
sqlite3_bind_parameter_count;
sqlite3_bind_parameter_index;
sqlite3_bind_parameter_name;
sqlite3_bind_text;
sqlite3_bind_text16;
sqlite3_bind_value;
sqlite3_busy_handler;
sqlite3_busy_timeout;
sqlite3_changes;
sqlite3_clear_bindings;
sqlite3_close;
sqlite3_collation_needed;
sqlite3_collation_needed16;
sqlite3_column_blob;
sqlite3_column_bytes;
sqlite3_column_bytes16;
sqlite3_column_count;
sqlite3_column_decltype;
sqlite3_column_decltype16;
sqlite3_column_double;
sqlite3_column_int;
sqlite3_column_int64;
sqlite3_column_name;
sqlite3_column_name16;
sqlite3_column_text;
sqlite3_column_text16;
sqlite3_column_type;
sqlite3_column_value;
sqlite3_commit_hook;
sqlite3_complete;
sqlite3_complete16;
sqlite3_create_collation;
sqlite3_create_collation16;
sqlite3_create_function;
sqlite3_create_function16;
sqlite3_create_module;
sqlite3_data_count;
sqlite3_db_handle;
sqlite3_declare_vtab;
sqlite3_enable_load_extension;
sqlite3_enable_shared_cache;
sqlite3_errcode;
sqlite3_errmsg;
sqlite3_errmsg16;
sqlite3_exec;
sqlite3_expired;
sqlite3_extended_result_codes;
sqlite3_finalize;
sqlite3_free;
sqlite3_free_table;
sqlite3_get_autocommit;
sqlite3_get_auxdata;
sqlite3_get_table;
sqlite3_global_recover;
sqlite3_interrupt;
sqlite3_last_insert_rowid;
sqlite3_libversion;
sqlite3_libversion_number;
sqlite3_load_extension;
sqlite3_malloc;
sqlite3_mprintf;
sqlite3_open;
sqlite3_open16;
sqlite3_overload_function;
sqlite3_prepare;
sqlite3_prepare16;
sqlite3_prepare16_v2;
sqlite3_prepare_v2;
sqlite3_profile;
sqlite3_progress_handler;
sqlite3_realloc;
sqlite3_reset;
sqlite3_reset_auto_extension;
sqlite3_result_blob;
sqlite3_result_double;
sqlite3_result_error;
sqlite3_result_error16;
sqlite3_result_int;
sqlite3_result_int64;
sqlite3_result_null;
sqlite3_result_text;
sqlite3_result_text16;
sqlite3_result_text16be;
sqlite3_result_text16le;
sqlite3_result_value;
sqlite3_rollback_hook;
sqlite3_set_authorizer;
sqlite3_set_auxdata;
sqlite3_sleep;
sqlite3_snprintf;
sqlite3_step;
sqlite3_thread_cleanup;
sqlite3_total_changes;
sqlite3_trace;
sqlite3_transfer_bindings;
sqlite3_update_hook;
sqlite3_user_data;
sqlite3_value_blob;
sqlite3_value_bytes;
sqlite3_value_bytes16;
sqlite3_value_double;
sqlite3_value_int;
sqlite3_value_int64;
sqlite3_value_numeric_type;
sqlite3_value_text;
sqlite3_value_text16;
sqlite3_value_text16be;
sqlite3_value_text16le;
sqlite3_value_type;
sqlite3_version;
sqlite3_vmprintf;
;+ local:
;+ *;
;+};

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
Another clobber to see about the orange... :(

View File

@@ -1,26 +0,0 @@
#
## hostname: gaius
## uname: WINNT GAIUS 5.2 3790 xx I386
#
# . $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_CO_PROJECT=browser
##mk_add_options MOZ_MAKE_FLAGS="-j8"
#mk_add_options MOZ_CO_MODULE="mozilla/tools/update-packaging"
mk_add_options MOZ_PACKAGE_NSIS=1
ac_add_options --enable-application=browser
ac_add_options --enable-update-channel=nightly
ac_add_options --enable-optimize
ac_add_options --disable-debug
# ac_add_options --enable-codesighs
ac_add_options --enable-tests
ac_add_options --disable-static
# ac_add_options --disable-shared
# ac_add_options --enable-official-branding
ac_add_options --enable-svg
ac_add_options --enable-canvas
ac_add_options --enable-default-toolkit=cairo-windows
#ac_add_options --enable-update-packaging

View File

@@ -1,254 +0,0 @@
#
## hostname: gaius
## uname: WINNT GAIUS 5.2 3790 xx I386
#
#- tinder-config.pl - Tinderbox configuration file.
#- Uncomment the variables you need to set.
#- The default values are the same as the commented variables.
$ENV{MOZ_INSTALLER_USE_7ZIP} = '1';
$ENV{NO_EM_RESTART} = '1';
$ENV{MOZ_PACKAGE_NSIS} = '1';
# $ENV{MOZ_PACKAGE_MSI}
#-----------------------------------------------------------------------------
# Default: 0
# Values: 0 | 1
# Purpose: Controls whether a MSI package is made.
# Requires: Windows and a local MakeMSI installation.
#$ENV{MOZ_PACKAGE_MSI} = 0;
# $ENV{MOZ_SYMBOLS_TRANSFER_TYPE}
#-----------------------------------------------------------------------------
# Default: scp
# Values: scp | rsync
# Purpose: Use scp or rsync to transfer symbols to the Talkback server.
# Requires: The selected type requires the command be available both locally
# and on the Talkback server.
#$ENV{MOZ_SYMBOLS_TRANSFER_TYPE} = "scp";
#- PLEASE FILL THIS IN WITH YOUR PROPER EMAIL ADDRESS
$BuildAdministrator = 'build@mozilla.org';
#$BuildAdministrator = "$ENV{USER}\@$ENV{HOST}";
#$BuildAdministrator = ($ENV{USER} || "cltbld") . "\@" . ($ENV{HOST} || "dhcp");
$BuildXForms = 1;
#- You'll need to change these to suit your machine's needs
#$DisplayServer = ':0.0';
#- Default values of command-line opts
#-
#$BuildDepend = 1; # Depend or Clobber
#$BuildDebug = 0; # Debug or Opt (Darwin)
#$ReportStatus = 1; # Send results to server, or not
#$ReportFinalStatus = 1; # Finer control over $ReportStatus.
#$UseTimeStamp = 1; # Use the CVS 'pull-by-timestamp' option, or not
#$BuildOnce = 0; # Build once, don't send results to server
#$TestOnly = 0; # Only run tests, don't pull/build
#$BuildEmbed = 0; # After building seamonkey, go build embed app.
#$SkipMozilla = 0; # Use to debug post-mozilla.pl scripts.
#$BuildLocales = 0; # Do l10n packaging?
# Tests
$CleanProfile = 1;
#$ResetHomeDirForTests = 1;
$ProductName = "Firefox";
$VendorName = "Mozilla";
$RunMozillaTests = 1; # Allow turning off of all tests if needed.
$RegxpcomTest = 0;
$AliveTest = 0;
#$JavaTest = 0;
#$ViewerTest = 0;
#$BloatTest = 0; # warren memory bloat test
#$BloatTest2 = 0; # dbaron memory bloat test, require tracemalloc
#$DomToTextConversionTest = 0;
#$XpcomGlueTest = 0;
$CodesizeTest = 0; # Z, require mozilla/tools/codesighs
$EmbedCodesizeTest = 0; # mZ, require mozilla/tools/codesigns
#$MailBloatTest = 0;
#$EmbedTest = 0; # Assumes you wanted $BuildEmbed=1
$LayoutPerformanceTest = 0; # Tp
#$DHTMLPerformanceTest = 0; # Tdhtml
#$QATest = 0;
$XULWindowOpenTest = 0; # Txul
#$StartupPerformanceTest = 1; # Ts
#$NeckoUnitTest = 0;
$RenderPerformanceTest = 0; # Tgfx
$RunUnitTests = 1;
$TestsPhoneHome = 1; # Should test report back to server?
$GraphNameOverride = 'fxexp-win32-tbox';
# $results_server
#----------------------------------------------------------------------------
# Server on which test results will be accessible. This was originally tegu,
# then became axolotl. Once we moved services from axolotl, it was time
# to give this service its own hostname to make future transitions easier.
# - cmp@mozilla.org
#$results_server = "build-graphs.mozilla.org";
$pageload_server = "pageload.build.mozilla.org"; # localhost
#
# Timeouts, values are in seconds.
#
#$CVSCheckoutTimeout = 3600;
#$CreateProfileTimeout = 45;
#$RegxpcomTestTimeout = 120;
#$AliveTestTimeout = 30;
#$ViewerTestTimeout = 45;
#$EmbedTestTimeout = 45;
#$BloatTestTimeout = 120; # seconds
#$MailBloatTestTimeout = 120; # seconds
#$JavaTestTimeout = 45;
#$DomTestTimeout = 45; # seconds
#$XpcomGlueTestTimeout = 15;
#$CodesizeTestTimeout = 900; # seconds
#$CodesizeTestType = "auto"; # {"auto"|"base"}
$LayoutPerformanceTestTimeout = 800; # entire test, seconds
#$DHTMLPerformanceTestTimeout = 1200; # entire test, seconds
#$QATestTimeout = 1200; # entire test, seconds
#$LayoutPerformanceTestPageTimeout = 30000; # each page, ms
#$StartupPerformanceTestTimeout = 20; # seconds
#$XULWindowOpenTestTimeout = 90; # seconds
#$NeckoUnitTestTimeout = 30; # seconds
$RenderPerformanceTestTimeout = 1800; # seconds
#$MozConfigFileName = 'mozconfig';
#$UseMozillaProfile = 1;
#$MozProfileName = 'default';
#- Set these to what makes sense for your system
$Make = 'make'; # Must be GNU make
#$MakeOverrides = '';
#$mail = '/bin/mail';
#$CVS = 'cvs -q';
#$CVSCO = 'checkout -P';
# win32 usually doesn't have /bin/mail
$blat = 'd:/moztools/bin/blat.exe';
$use_blat = 1;
# Set moz_cvsroot to something like:
# :pserver:$ENV{USER}%netscape.com\@cvs.mozilla.org:/cvsroot
# :pserver:anonymous\@cvs-mirror.mozilla.org:/cvsroot
#
# Note that win32 may not need \@, depends on ' or ".
# :pserver:$ENV{USER}%netscape.com@cvs.mozilla.org:/cvsroot
#$moz_cvsroot = $ENV{CVSROOT};
$moz_cvsroot = ':ext:cltbld@cvs.mozilla.org:/cvsroot';
#- Set these proper values for your tinderbox server
#$Tinderbox_server = 'tinderbox-daemon@tinderbox.mozilla.org';
# Allow for non-client builds, e.g. camino.
#$moz_client_mk = 'client.mk';
#- Set if you want to build in a separate object tree
#$ObjDir = 'fx-trunk-cairo';
# Extra build name, if needed.
$BuildNameExtra = 'Unit Testing';
# User comment, eg. ip address for dhcp builds.
# ex: $UserComment = "ip = 208.12.36.108";
#$UserComment = 0;
#-
#- The rest should not need to be changed
#-
#- Minimum wait period from start of build to start of next build in minutes.
#$BuildSleep = 10;
#- Until you get the script working. When it works,
#- change to the tree you're actually building
#$BuildTree = 'MozillaTest';
#$BuildTree = 'Firefox-Cairo';
$BuildTree = 'MozillaExperimental';
#$BuildName = '';
#$BuildTag = '';
#$BuildConfigDir = 'mozilla/config';
#$Topsrcdir = 'mozilla';
$BinaryName = 'firefox.exe';
#
# For embedding app, use:
#$EmbedBinaryName = 'TestGtkEmbed';
#$EmbedDistDir = 'dist/bin'
#$ShellOverride = ''; # Only used if the default shell is too stupid
#$ConfigureArgs = '';
#$ConfigureEnvArgs = '';
#$Compiler = 'gcc';
#$NSPRArgs = '';
#$ShellOverride = '';
# Release build options
$ReleaseBuild = 0;
$shiptalkback = 0;
$ReleaseToLatest = 0; # Push the release to latest-<milestone>?
$ReleaseToDated = 0; # Push the release to YYYY-MM-DD-HH-<milestone>?
$build_hour = "4";
$package_creation_path = "/browser/installer";
# needs setting for mac + talkback: $mac_bundle_path = "/browser/app";
$ssh_version = "2";
#$ssh_user = "cltbld";
#$ssh_server = "stage.mozilla.org";
$ftp_path = "/home/ftp/pub/firefox/nightly";
$url_path = "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly";
$tbox_ftp_path = "/home/ftp/pub/firefox/tinderbox-builds";
$tbox_url_path = "http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds";
$milestone = "trunk";
$notify_list = 'build-announce@mozilla.org';
#$stub_installer = 0;
#$sea_installer = 1;
#$archive = 1;
#$push_raw_xpis = 1;
#$update_package = 1;
#$update_product = "Firefox";
#$update_version = "trunk";
#$update_platform = "WINNT_x86-msvc";
#$update_hash = "sha1";
#$update_filehost = "ftp.mozilla.org";
#$update_appv = "3.0a1";
#$update_extv = "3.0a1";
#$update_pushinfo = 0;
# Reboot the OS at the end of build-and-test cycle. This is primarily
# intended for Win9x, which can't last more than a few cycles before
# locking up (and testing would be suspect even after a couple of cycles).
# Right now, there is only code to force the reboot for Win9x, so even
# setting this to 1, will not have an effect on other platforms. Setting
# up win9x to automatically logon and begin running tinderbox is left
# as an exercise to the reader.
#$RebootSystem = 0;
# LogCompression specifies the type of compression used on the log file.
# Valid options are 'gzip', and 'bzip2'. Please make sure the binaries
# for 'gzip' or 'bzip2' are in the user's path before setting this
# option.
#$LogCompression = '';
# LogEncoding specifies the encoding format used for the logs. Valid
# options are 'base64', and 'uuencode'. If $LogCompression is set above,
# this needs to be set to 'base64' or 'uuencode' to ensure that the
# binary data is transferred properly.
#$LogEncoding = '';
# Prevent Extension Manager from spawning child processes during tests
# - processes that tbox scripts cannot kill.
#$ENV{NO_EM_RESTART} = '1';
# Build XForms
$BuildXForms = 1;