Compare commits

...

1126 Commits

Author SHA1 Message Date
hwine
763098208e Take site read only
git-svn-id: svn://10.0.0.236/trunk@265943 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-17 18:14:19 +00:00
bzrmirror%bugzilla.org
5a817efc4a Fix an uninitialized value warning, see bug 1059684
git-svn-id: svn://10.0.0.236/trunk@265942 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-16 01:45:50 +00:00
bzrmirror%bugzilla.org
785e422c18 Fix release notes about deprecated WebService methods, see bug 1154099
git-svn-id: svn://10.0.0.236/trunk@265936 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-15 11:30:50 +00:00
bzrmirror%bugzilla.org
94c32fe433 Bug 1154099: Remove support for Bug.get_bugs and Bug.get_history
r=LpSolit a=glob


git-svn-id: svn://10.0.0.236/trunk@265933 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-14 23:45:59 +00:00
bzrmirror%bugzilla.org
ae44a90c82 Bug 1031035: xmlrpc can be DoS'd with billion laughs attack
r=LpSolit,a=glob


git-svn-id: svn://10.0.0.236/trunk@265932 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-14 17:00:50 +00:00
bzrmirror%bugzilla.org
65055265c8 Bug 1151290: It is possible to tell if someone made a private comment on a bug even if you are not an 'insider'
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265931 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-13 21:00:48 +00:00
bzrmirror%bugzilla.org
040e80ee4d Really use PROCESS instead of INCLUDE for custom fields, see bug 1137307
git-svn-id: svn://10.0.0.236/trunk@265929 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-13 17:15:49 +00:00
bzrmirror%bugzilla.org
385b635470 Bug 1153027: Bugzilla->feature incorrectly checks Perl modules
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265928 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-13 16:00:50 +00:00
bzrmirror%bugzilla.org
ab184c46c4 Bug 1150667: Don't wrap email comments when in markdown mode
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265927 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-13 14:30:50 +00:00
bzrmirror%bugzilla.org
99f15e4b9f Bug 1153125: bug 1051056 causes "Constant subroutine redefined" warnings during t/001compile.t
r=LpSolit,a=glob


git-svn-id: svn://10.0.0.236/trunk@265926 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-13 14:15:49 +00:00
bzrmirror%bugzilla.org
2c4def7321 Bug 1137307: Bug reports are not valid HTML5 pages
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265925 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-13 12:15:51 +00:00
bzrmirror%bugzilla.org
8327b6b7bc Bug 1031035: xmlrpc can be DoS'd with billion laughs attack
r=LpSolit,a=glob


git-svn-id: svn://10.0.0.236/trunk@265924 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-13 06:30:54 +00:00
bzrmirror%bugzilla.org
c1cb011b78 Bug 1153131: bug 1051056 causes "Undocumented methods: FIELD_MAP" during t/011pod.t
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265923 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-13 05:45:50 +00:00
bzrmirror%bugzilla.org
7f19af5d02 Bug 743652 (part 6: tr_run_reports.cgi): Move all tr_*.cgi code into Extension.pm
r=LpSolit


git-svn-id: svn://10.0.0.236/trunk@265922 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-13 02:00:22 +00:00
bzrmirror%bugzilla.org
d436c80dd6 Use hardcoded "bugzilla" in the DTD, see bug 770073
git-svn-id: svn://10.0.0.236/trunk@265921 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-11 19:30:47 +00:00
bzrmirror%bugzilla.org
9ff082e7c9 Fix the Bugzilla DTD to allow multiple bug aliases, see bug 1012506
git-svn-id: svn://10.0.0.236/trunk@265920 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-11 19:15:53 +00:00
bzrmirror%bugzilla.org
4c21cdc0e8 Bug 1135398: Release notes for 5.0 miss some important changes
r/a=dkl


git-svn-id: svn://10.0.0.236/trunk@265919 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-10 16:15:48 +00:00
bzrmirror%bugzilla.org
86ee6ce5c4 Bug 1051056: The REST API needs to be versioned so that new changes can be made that do not break compatibility
- Fix issue where PUT requests were treated as GET and failed when updating a bug, etc.


git-svn-id: svn://10.0.0.236/trunk@265918 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-10 15:45:53 +00:00
bzrmirror%bugzilla.org
45d24e9f43 Bug 1152319: calling /rest/logout results in an internal error and a malformed response to the caller
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265917 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-10 13:45:51 +00:00
bzrmirror%bugzilla.org
6945ffb3f7 Bug 1152862: Require PostgreSQL 9.0
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265916 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-10 11:45:51 +00:00
bzrmirror%bugzilla.org
e3988f620c Bug 1070117 - Chart throws deprecation warnings with Perl 5.16 - shows up in testserver.pl output
git-svn-id: svn://10.0.0.236/trunk@265915 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-10 10:32:50 +00:00
bzrmirror%bugzilla.org
75d0d92a71 Bug 1151396 - Improve description of 'resolution_forbidden_with_open_blockers' param. r=LpSolit, a=glob
git-svn-id: svn://10.0.0.236/trunk@265914 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-10 10:31:31 +00:00
bzrmirror%bugzilla.org
f5bbcc03c3 Fix a bug in Bugzilla::API::Server::response_header(), see bug 1051056
git-svn-id: svn://10.0.0.236/trunk@265913 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-09 23:30:50 +00:00
bzrmirror%bugzilla.org
9564b76f55 URI::Escape is part of URI, see bug 1051056
git-svn-id: svn://10.0.0.236/trunk@265912 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-09 22:15:50 +00:00
bzrmirror%bugzilla.org
f8138e2440 Bug 1051056: The REST API needs to be versioned so that new changes can be made that do not break compatibility
r=dylan,a=glob


git-svn-id: svn://10.0.0.236/trunk@265911 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-08 18:01:07 +00:00
bzrmirror%bugzilla.org
75cf9cff5e Backout bug 1089475, it causes deep recursions when the DB server is not accessible
git-svn-id: svn://10.0.0.236/trunk@265910 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-08 13:45:50 +00:00
bzrmirror%bugzilla.org
8a5d06fe60 Bug 1142594: mid-air collision page displayed incorrectly due to markdown CSS changes
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265909 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-08 08:15:52 +00:00
bzrmirror%bugzilla.org
51f39b3721 Bug 1151637: Buttons at the bottom of buglists lack an ID
r/a=dkl


git-svn-id: svn://10.0.0.236/trunk@265908 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-07 15:00:48 +00:00
bzrmirror%bugzilla.org
6e516bfe5d Remove 'upgrade to latest point release' step from docs about migrating SCMs; r=mcote
git-svn-id: svn://10.0.0.236/trunk@265907 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-07 14:45:50 +00:00
bzrmirror%bugzilla.org
75d2a3f43e Bug 1143874: Improve load time of bug comments
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265906 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-05 20:00:49 +00:00
bzrmirror%bugzilla.org
db25c03efc Bug 1143871: Correctly preload bug data when viewing a bug
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265905 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-05 19:47:27 +00:00
bzrmirror%bugzilla.org
a82ef31aec Bug 1143867: Optimize set_comment_is_private() and isopened()
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265904 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-05 19:46:41 +00:00
bzrmirror%bugzilla.org
c2b747240b Bug 1143864: Replace |FILTER bug_link| in loops by direct calls to bug/link.html.tmpl to improve performance
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265903 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-05 19:45:52 +00:00
bzrmirror%bugzilla.org
e9f44978cd Bug 1143502: Use structural HTML5 elements instead of <div>
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265902 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-05 19:31:40 +00:00
bzrmirror%bugzilla.org
976379aa98 Bug 1128194: Remove 'umask 0' from post_bug.cgi
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265901 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-05 19:30:51 +00:00
bzrmirror%bugzilla.org
1d5882cc07 Bug 123278 - CSV and RDF buglists should not use relative dates
r=gerv, a=glob


git-svn-id: svn://10.0.0.236/trunk@265900 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-05 00:45:49 +00:00
bzrmirror%bugzilla.org
1379fd18cf Fix bustage due to bug 1007605 (checksetup.pl crashes when installing Bugzilla)
git-svn-id: svn://10.0.0.236/trunk@265899 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-03 14:45:51 +00:00
bzrmirror%bugzilla.org
be99f96a17 Bug 1143005: Add parameter to checksetup.pl that generates a cpanfile usable by utilities such as cpanm for installing Perl dependencies
r=dylan,a=glob


git-svn-id: svn://10.0.0.236/trunk@265898 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-02 15:00:52 +00:00
bzrmirror%bugzilla.org
66c9d06ac7 Bug 1061226: markdown isn't linkifying urls
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265897 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-02 14:45:56 +00:00
bzrmirror%bugzilla.org
48c31310f3 Bug 1093868: Markdown text rendering in comments is broken after commit from bug 1059684
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265896 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-01 14:45:51 +00:00
bzrmirror%bugzilla.org
080cbb9957 Bug 1121788: Buttons in buglist don't work in IE
r=lpsolit,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265895 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-31 15:30:52 +00:00
bzrmirror%bugzilla.org
ac987f352c Bug 1007605 - Make FIXED non-fixed, by changing noresolveonopenblockers to define what the fixed resolution is. r,a=glob
git-svn-id: svn://10.0.0.236/trunk@265894 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-30 18:00:52 +00:00
bzrmirror%bugzilla.org
5c17fd886b Bug 1142365: Don't use <pre> for markdown comments in email
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265893 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-24 13:45:50 +00:00
bzrmirror%bugzilla.org
a95e4cef08 Bug 1145438: DB Crash under postgres when using alias column in buglist.cgi
(fix ordering)


git-svn-id: svn://10.0.0.236/trunk@265892 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-23 13:45:50 +00:00
seabld
3f3cfbed55 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.33 to 2.33.1 build 1
git-svn-id: svn://10.0.0.236/trunk@265891 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-23 00:45:41 +00:00
bzrmirror%bugzilla.org
265f413efb Bug 1145459: SQL error under postgres when using 'blocks' column in buglist.cgi
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265890 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-20 08:01:40 +00:00
bzrmirror%bugzilla.org
8b51ec5ed7 Bug 1145438: DB Crash under postgres when using alias column in buglist.cgi
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265889 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-20 08:00:53 +00:00
bzrmirror%bugzilla.org
e634598323 Bug 1136745: Kill the makeproductgroups parameter
r=LpSolit a=glob


git-svn-id: svn://10.0.0.236/trunk@265888 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-19 20:00:51 +00:00
bzrmirror%bugzilla.org
8574d46376 Bug 342113: Allow custom fields to appear as a discrete field in the search form
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265887 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-19 09:00:50 +00:00
bzrmirror%bugzilla.org
4e8be14b27 Bug 1139150: Support wrapping quoted comments in MarkDown
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265886 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-19 08:00:48 +00:00
bzrmirror%bugzilla.org
aeeefad863 Bug 1105568: Add support for HTML flagmail
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265885 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-19 07:30:50 +00:00
bzrmirror%bugzilla.org
d258207ff6 Bug 1142399: invalid xmlrpc requests warns: Use of uninitialized value $file in substitution (s///) (Bugzilla/WebService/Server/XMLRPC.pm:114)
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265884 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-17 04:15:49 +00:00
bzrmirror%bugzilla.org
dd95d57838 Bug 1137669: 003safesys.t doesn't test any file due to a missing -T argument (and broken syntax in Support::Systemexec)
r=dylan a=glob


git-svn-id: svn://10.0.0.236/trunk@265882 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-16 17:30:51 +00:00
bzrmirror%bugzilla.org
35a95aaebd Bug 1137674: Merge t/003safesys.t with t/001compile.t
r=dylan a=glob


git-svn-id: svn://10.0.0.236/trunk@265881 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-16 10:30:59 +00:00
bzrmirror%bugzilla.org
62c482b2d3 Bug 743652 (part 5: tr_product_reports.cgi): Move all tr_*.cgi code into Extension.pm
r=LpSolit


git-svn-id: svn://10.0.0.236/trunk@265880 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-15 16:30:20 +00:00
bzrmirror%bugzilla.org
7a28095b6e Restore tr_list_caseruns.cgi. Shouldn't be killed yet
git-svn-id: svn://10.0.0.236/trunk@265879 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-15 16:00:17 +00:00
bzrmirror%bugzilla.org
fcbeddb504 Bug 743652 cleanup: tr_caserun_reports.cgi is no longer needed
git-svn-id: svn://10.0.0.236/trunk@265878 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-15 15:45:33 +00:00
bzrmirror%bugzilla.org
819597a7e7 Bug 743652 (part 4: tr_plan_reports.cgi): Move all tr_*.cgi code into Extension.pm
r=LpSolit


git-svn-id: svn://10.0.0.236/trunk@265877 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-15 15:45:21 +00:00
bzrmirror%bugzilla.org
ae570c7e2a cleanup
git-svn-id: svn://10.0.0.236/trunk@265876 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-15 15:30:16 +00:00
bzrmirror%bugzilla.org
201c0f427c Bug 743652 (part 3: tr_list_caseruns.cgi): Move all tr_*.cgi code into Extension.pm
r=LpSolit


git-svn-id: svn://10.0.0.236/trunk@265875 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-15 15:15:21 +00:00
bzrmirror%bugzilla.org
343b5acb2e Bug 743652 cleanup: tr_case_reports.cgi is no longer needed
git-svn-id: svn://10.0.0.236/trunk@265874 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-15 15:00:33 +00:00
bzrmirror%bugzilla.org
f63b5b0231 Bug 743652 (part 2: tr_case_reports.cgi): Move all tr_*.cgi code into Extension.pm
r=LpSolit


git-svn-id: svn://10.0.0.236/trunk@265873 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-15 15:00:21 +00:00
bzrmirror%bugzilla.org
24a1f9d122 Bug 1143354 (part 1): unknown_action is now a user error instead of a code error
git-svn-id: svn://10.0.0.236/trunk@265872 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-15 14:30:16 +00:00
bzrmirror%bugzilla.org
5d10359685 Bug 902395: Enforce utf8 = true for all installations and remove the utf8 parameter
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265871 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-15 13:00:56 +00:00
bzrmirror%bugzilla.org
7f84350ad9 Bug 1135070: Testopia must set PUBLIC_METHODS for its WebServices to work
r=LpSolit


git-svn-id: svn://10.0.0.236/trunk@265870 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-15 00:00:26 +00:00
bzrmirror%bugzilla.org
c88e453af5 Bug 743652 cleanup: tr_admin.cgi is no longer needed
git-svn-id: svn://10.0.0.236/trunk@265869 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-14 22:30:16 +00:00
bzrmirror%bugzilla.org
fe004195be Bug 1143326: Move DB schema related code out of Extension.pm
git-svn-id: svn://10.0.0.236/trunk@265868 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-14 20:15:17 +00:00
bzrmirror%bugzilla.org
1c6caecf0d Set mode to 644 for all .gif images
git-svn-id: svn://10.0.0.236/trunk@265867 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-14 18:30:29 +00:00
bzrmirror%bugzilla.org
d0dfa68b1f Set mode to 755 for .cgi scripts and to 750 for .pl scripts
git-svn-id: svn://10.0.0.236/trunk@265866 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-14 18:30:17 +00:00
bzrmirror%bugzilla.org
9edbaf529a typo
git-svn-id: svn://10.0.0.236/trunk@265865 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-14 18:15:17 +00:00
bzrmirror%bugzilla.org
17c1966d7b Bug 743652 (part 1: tr_admin.cgi): Move all tr_*.cgi code into Extension.pm
r=LpSolit


git-svn-id: svn://10.0.0.236/trunk@265864 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-14 18:00:22 +00:00
bzrmirror%bugzilla.org
e1ceabef11 Bug 1062718 - add the ability to disable sending of mail when updating bugs
r=dylan,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265863 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-13 18:45:51 +00:00
bzrmirror%bugzilla.org
6339d4f10d Bug 1139872: The URL in bugmail microdata has the '#' URI encoded, causing the links to break
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265862 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-12 05:30:48 +00:00
bzrmirror%bugzilla.org
038f7a081a Require Text::MultiMarkdown 1.0.34 instead of 1.0.35, see bug 1130691
git-svn-id: svn://10.0.0.236/trunk@265861 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-11 19:30:48 +00:00
bzrmirror%bugzilla.org
6ca7ee8774 Bug 880282: Replace |FILTER no_break| by |class="nowrap"| to prevent dashes (U+002D) from being replaced by non-breaking hyphens/dashes (U+2011)
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265860 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-11 18:16:45 +00:00
bzrmirror%bugzilla.org
0bb19b0db2 Bug 1141440: OPTION response for CORS requests to REST doesn't allow X-Bugzilla headers
- Fixed a new hash constant error that did not fail locally due to Perl version difference


git-svn-id: svn://10.0.0.236/trunk@265859 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-11 18:15:55 +00:00
bzrmirror%bugzilla.org
121b7eb458 Bug 1138463: mod_perl does not support Apache 2.4 directives
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265858 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-11 17:00:54 +00:00
bzrmirror%bugzilla.org
99264cf532 Bug 1141440: OPTION response for CORS requests to REST doesn't allow X-Bugzilla headers
- Fixed t/001compile.t error due to tr///r only for 5.14+


git-svn-id: svn://10.0.0.236/trunk@265857 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-11 16:31:39 +00:00
bzrmirror%bugzilla.org
3bd4f5d32d Bug 325315: The page to reset a forgotten password should be distinct from the login page
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265856 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-11 16:30:52 +00:00
bzrmirror%bugzilla.org
07f9e6cbe0 Bug 1141440: OPTION response for CORS requests to REST doesn't allow X-Bugzilla headers
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265855 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-11 14:45:50 +00:00
seabld
f3dd00e22f Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.32.1 to 2.33 build 1
git-svn-id: svn://10.0.0.236/trunk@265854 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-10 01:15:30 +00:00
bzrmirror%bugzilla.org
634e06002a Obsolete file. git log already contains all you want to know
git-svn-id: svn://10.0.0.236/trunk@265853 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-09 22:30:28 +00:00
bzrmirror%bugzilla.org
827a220b55 Update README a bit (Bugzilla 3.6 is gone, CVS is gone, bzr is gone)
git-svn-id: svn://10.0.0.236/trunk@265852 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-09 22:30:16 +00:00
bzrmirror%bugzilla.org
c129a4b2e3 Bugzilla 3.6 reached EOL a long time ago. We no longer need these patches
git-svn-id: svn://10.0.0.236/trunk@265851 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-09 22:15:19 +00:00
bzrmirror%bugzilla.org
90ea3034ac Bug 1136125 - Reduce memory usage of Bugzilla::CGI->send_cookie()
r=dkl, a=glob


git-svn-id: svn://10.0.0.236/trunk@265850 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-09 19:45:48 +00:00
bzrmirror%bugzilla.org
4c37045846 Bug 1130691: Support markdown tables
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265849 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-09 14:00:52 +00:00
bzrmirror%bugzilla.org
aee0e760be Bug 1139755: Fix 'Use of uninitialized value' warning
git-svn-id: svn://10.0.0.236/trunk@265848 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-09 08:30:48 +00:00
bzrmirror%bugzilla.org
dc6ca3b210 Bug 1139755: Allow API authentication with X-Headers
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265847 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-09 06:45:50 +00:00
bzrmirror%bugzilla.org
4377a59832 Bug 1139257: allow cookie+api-token GET REST requests
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265846 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-09 06:30:50 +00:00
bzrmirror%bugzilla.org
802b71e493 Bug.update_attachment returns 'attachments', not 'attachment'
git-svn-id: svn://10.0.0.236/trunk@265845 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-07 02:15:50 +00:00
bzrmirror%bugzilla.org
2afe7e73ae Fix POD: is_markdown exists since Bugzilla 6.0, not 5.0
git-svn-id: svn://10.0.0.236/trunk@265844 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-07 01:45:54 +00:00
bzrmirror%bugzilla.org
3ca9302db4 Bug 1107310 - Mention max_allowed_packet in mysqldump section. r=LpSolit, a=glob
git-svn-id: svn://10.0.0.236/trunk@265843 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-05 11:45:50 +00:00
bzrmirror%bugzilla.org
0ee08720b9 Bug 1128853: Bugzilla shouldn't try to write API tokens into the shadow DB
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265842 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-05 05:15:52 +00:00
bzrmirror%bugzilla.org
8462acd6c2 Bug 1138754: span.quote styling makes the scroll bar difficult to access
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265841 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-04 15:00:49 +00:00
bzrmirror%bugzilla.org
980ff0b324 (TaskCluster) Allow retrieval of the selenium.log for Selenium tests
git-svn-id: svn://10.0.0.236/trunk@265840 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-03 20:16:30 +00:00
bzrmirror%bugzilla.org
20e5630d37 Bug 1118930: validateEnterBug() doesn't work when attachments are disabled
r=LpSolit a=glob


git-svn-id: svn://10.0.0.236/trunk@265839 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-26 14:47:24 +00:00
bzrmirror%bugzilla.org
5e6a8fcd0d Bug 1061271: Add a hook into Bugzilla::User::check_and_send_account_creation_confirmation()
r=gerv a=glob


git-svn-id: svn://10.0.0.236/trunk@265838 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-26 14:46:37 +00:00
bzrmirror%bugzilla.org
1fc7ea513d Bug 919218: Rename "Email Preferences" tab in userprefs to "Email Notifications"
r=LpSolit a=glob


git-svn-id: svn://10.0.0.236/trunk@265837 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-26 14:45:49 +00:00
bzrmirror%bugzilla.org
933fd73568 Bug 1133245: Add ID HTML parameters to <tr> table rows on show_bug.cgi
r=dylan,a=glob


git-svn-id: svn://10.0.0.236/trunk@265836 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-25 18:15:49 +00:00
seabld
f965fc5ebe Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.32b3 to 2.33b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265834 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-24 13:36:45 +00:00
ewong%pw-wspx.org
179eea5a95 Backout SeaMonkey 2.33b1 updates.
git-svn-id: svn://10.0.0.236/trunk@265833 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-24 13:29:35 +00:00
seabld
2fd9e1d3fa Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.32b3 to 2.33b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265832 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-24 12:58:08 +00:00
ewong%pw-wspx.org
3185845b7e Backout SeaMonkey 2.33b1 updates.
git-svn-id: svn://10.0.0.236/trunk@265831 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-24 12:50:21 +00:00
seabld
b222aa7f46 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.32b3 to 2.33b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265830 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-24 09:13:45 +00:00
ewong%pw-wspx.org
71ce284b20 Backout SeaMonkey 2.33b1 changes.
git-svn-id: svn://10.0.0.236/trunk@265829 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-24 09:07:19 +00:00
seabld
9a092a2183 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.32b3 to 2.33b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265828 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-24 08:31:29 +00:00
bzrmirror%bugzilla.org
452e1fd692 Bug 1134743: javascript filter should escape uncode line and paragraph separators (causes "Unterminated string literal" javascript error)
r=dylan,a=glob


git-svn-id: svn://10.0.0.236/trunk@265827 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-24 05:30:50 +00:00
bzrmirror%bugzilla.org
8831a4a1b6 Bug 1130721: Allow pronouns to be used for the attachment creator in Custom Search
r=LpSolit a=glob


git-svn-id: svn://10.0.0.236/trunk@265826 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-23 14:15:49 +00:00
bzrmirror%bugzilla.org
5a1591000b Bug 1102364: Add microdata to HTML bugmail so GMail can display a "View bug" button
r=dkl,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265825 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-22 22:15:52 +00:00
bzrmirror%bugzilla.org
a957af642f Fix colspan (bug 554964)
git-svn-id: svn://10.0.0.236/trunk@265824 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-22 01:45:48 +00:00
bzrmirror%bugzilla.org
b382195e75 Change a label in relnotes
git-svn-id: svn://10.0.0.236/trunk@265823 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-21 16:00:50 +00:00
bzrmirror%bugzilla.org
58c999620a Fixed typo in taskgraph.json
git-svn-id: svn://10.0.0.236/trunk@265822 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-20 21:16:36 +00:00
bzrmirror%bugzilla.org
216eea0b36 Revert "Fixed typo and removed expires (not needed) in taskgraph.json"
This reverts commit 6aa8622cbe096a57d889a5f9f9fd90699be8bb41.


git-svn-id: svn://10.0.0.236/trunk@265821 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-20 21:15:50 +00:00
bzrmirror%bugzilla.org
fab40e5834 Fixed typo and removed expires (not needed) in taskgraph.json
git-svn-id: svn://10.0.0.236/trunk@265820 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-20 21:01:00 +00:00
bzrmirror%bugzilla.org
bbfcd0985c Added apache error log to taskgraph.json for API and Selenium tests
git-svn-id: svn://10.0.0.236/trunk@265819 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-20 15:45:48 +00:00
bzrmirror%bugzilla.org
3b511d6f8d Bug 1133690: .htaccess incorrectly assumes that Apache 2.2.x can read new 2.4 directives
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265818 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-20 12:15:48 +00:00
bzrmirror%bugzilla.org
52937cd4d5 Bug 1088086: Possible duplicate search doesn't return any results if you input "a->b" (for any a/b)
r=dylan,a=glob


git-svn-id: svn://10.0.0.236/trunk@265817 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-20 05:45:51 +00:00
bzrmirror%bugzilla.org
a3ec57f8cf Just use master for platform name in taskgraph.json. Treeherder did not like my previous naming
git-svn-id: svn://10.0.0.236/trunk@265816 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-19 20:30:49 +00:00
bzrmirror%bugzilla.org
0d23d92068 Bug 1134736: urlbase must be HTML-filtered in rest.html.tmpl
r/a=dkl


git-svn-id: svn://10.0.0.236/trunk@265815 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-19 20:00:48 +00:00
bzrmirror%bugzilla.org
274b6bec0b Fix problem that hiding 'Make Template' button leaves orphan text. r=gerv
git-svn-id: svn://10.0.0.236/trunk@265814 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-19 17:30:50 +00:00
bzrmirror%bugzilla.org
0cf87fd598 Added taskgraph.json for TaskCluster CI integration
git-svn-id: svn://10.0.0.236/trunk@265813 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-18 15:15:49 +00:00
bzrmirror%bugzilla.org
a4d1d44bd2 Bug 1132887: When starting a sudo session, the password is not validated
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265812 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-17 20:46:42 +00:00
bzrmirror%bugzilla.org
d4df00dc66 Bug 1112181: Relative dates in the future involving months are incorrectly converted
r=dylan a=glob


git-svn-id: svn://10.0.0.236/trunk@265811 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-17 20:45:53 +00:00
bzrmirror%bugzilla.org
9f87a8d813 Bug 1128119: Add 'See Also' support for Phabricator. r=gerv, a=glob.
git-svn-id: svn://10.0.0.236/trunk@265810 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-17 17:32:24 +00:00
bzrmirror%bugzilla.org
f40690d81e Bug 1128119: Add 'See Also' support for Phabricator. r=gerv, a=glob.
git-svn-id: svn://10.0.0.236/trunk@265809 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-17 17:31:36 +00:00
bzrmirror%bugzilla.org
527832e8cc Bug 1132862 - Update README; add LICENSE file. r,a=glob
git-svn-id: svn://10.0.0.236/trunk@265808 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-17 17:30:48 +00:00
bzrmirror%bugzilla.org
8bf521e5b7 - Force use of PostgreSQL 9.1
- Configure DB users in travis.yml


git-svn-id: svn://10.0.0.236/trunk@265806 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-17 02:30:49 +00:00
bzrmirror%bugzilla.org
56a7079023 Bug 1131404: checksetup.pl should check if mod_rewrite and mod_version are enabled
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265805 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-11 14:00:51 +00:00
seabld
63de65cea9 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.32 to 2.32.1 build 1
git-svn-id: svn://10.0.0.236/trunk@265804 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-06 02:28:48 +00:00
bzrmirror%bugzilla.org
fac527ae28 Bug 1121477: Support for Apache HTTPD 2.4
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265803 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-02 16:45:55 +00:00
bzrmirror%bugzilla.org
d6e38c6740 Bug 1128245 - upgrading from v4.4.6 to v5.0rc2 fails on connection problem with MySQL
git-svn-id: svn://10.0.0.236/trunk@265802 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-02 13:16:17 +00:00
hwine%mozilla.com
5d958e5c20 bug 1118476 - offer FF 35.0 to all; r=jlund
git-svn-id: svn://10.0.0.236/trunk@265786 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-17 00:06:35 +00:00
bhearsum%mozilla.com
6b07e08894 bug 1118476: tracking bug for build and release of Firefox and Fennec 35.0 - throttle to 0%. r=rail
git-svn-id: svn://10.0.0.236/trunk@265785 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-15 15:44:22 +00:00
seabld
0150e565b1 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.31 to 2.32 build 1
git-svn-id: svn://10.0.0.236/trunk@265784 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-14 04:41:19 +00:00
bhearsum%mozilla.com
f09ad298b9 bug 1118476: tracking bug for build and release of Firefox and Fennec 35.0. r=rail
git-svn-id: svn://10.0.0.236/trunk@265783 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-13 13:55:18 +00:00
seabld
ebfd7263d3 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.32b2 to 2.32b3 build 1
git-svn-id: svn://10.0.0.236/trunk@265781 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-03 00:42:39 +00:00
seabld
8ca4681bb0 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.32b1 to 2.32b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265780 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-20 07:26:30 +00:00
seabld
0dee32a65b Backout Sea 2.32b2 updates.
git-svn-id: svn://10.0.0.236/trunk@265779 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-20 07:13:37 +00:00
seabld
bcb95dea65 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.32b1 to 2.32b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265778 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-20 00:33:02 +00:00
bhearsum%mozilla.com
b50160fe81 bug 1112593: unthrottle thunderbird release channel updates. r=rail
git-svn-id: svn://10.0.0.236/trunk@265777 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-17 14:51:46 +00:00
seabld
f7c7892edf Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.31b2 to 2.32b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265776 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-14 08:34:55 +00:00
seabld
e7fb974222 Backout SeaMonkey 2.32b1 updates.
git-svn-id: svn://10.0.0.236/trunk@265775 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-14 08:27:55 +00:00
seabld
9b24a855b5 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.31b2 to 2.32b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265774 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-13 07:28:45 +00:00
seabld
471b48b814 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.31b2 to 2.32b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265773 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-13 06:30:17 +00:00
seabld
c332d1d655 Backout SeaMonkey 2.32b1 updates.
git-svn-id: svn://10.0.0.236/trunk@265772 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-13 06:22:51 +00:00
seabld
ba538e7c5f Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.31b2 to 2.32b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265771 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-13 04:28:51 +00:00
seabld
7fa4373286 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.31b2 to 2.32b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265770 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-13 03:28:28 +00:00
hwine%mozilla.com
ecf7fbcf50 bug 1071606 - full offering of 34.0.5; r=hwine
git-svn-id: svn://10.0.0.236/trunk@265769 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-09 02:25:10 +00:00
hwine%mozilla.com
c083cfb74e bug 1071606 - 34.0 throttling - disable; r=rail
git-svn-id: svn://10.0.0.236/trunk@265768 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-08 18:17:48 +00:00
mgervasini%mozilla.com
9fafced8e1 bug 1071606 - 34.0 throttling, en-US 1%, default 0%. r=hwine
git-svn-id: svn://10.0.0.236/trunk@265767 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-04 15:59:17 +00:00
seabld
7b0d2dc505 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.30 to 2.31 build 1
git-svn-id: svn://10.0.0.236/trunk@265766 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-04 01:48:05 +00:00
seabld
291d99ec5f Backout 2.31 updates.
git-svn-id: svn://10.0.0.236/trunk@265765 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-04 01:42:39 +00:00
seabld
00de92ace8 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.30 to 2.31 build 1
git-svn-id: svn://10.0.0.236/trunk@265764 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-04 01:27:11 +00:00
seabld
9506d11924 Backout SeaMonkey 2.31 changes.
git-svn-id: svn://10.0.0.236/trunk@265763 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-04 01:05:57 +00:00
bzrmirror%bugzilla.org
6c58dd3801 Bug 1102899 - Remove OldBugMove extension. a=glob.
git-svn-id: svn://10.0.0.236/trunk@265762 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-04 00:31:00 +00:00
bzrmirror%bugzilla.org
aa9d61173f Bug 1067416 - reorganize and update Bugzilla docs.
(merge remote-tracking branch 'origin/new-docs'.)


git-svn-id: svn://10.0.0.236/trunk@265761 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 23:13:34 +00:00
bzrmirror%bugzilla.org
bd73dd5de6 Improvements from dylan.
git-svn-id: svn://10.0.0.236/trunk@265760 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 23:11:25 +00:00
bzrmirror%bugzilla.org
cf0b4db68b Merge branch 'master' of ssh://git.mozilla.org/bugzilla/bugzilla into docs-relicensing, including new REST API docs from dkl.
Conflicts:
docs/en/rst/extensions.rst
docs/en/rst/index.rst
docs/en/rst/installation.rst


git-svn-id: svn://10.0.0.236/trunk@265759 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 23:09:33 +00:00
bzrmirror%bugzilla.org
f7c34f6ef4 Big rearrangement, as discussed in public meeting. Plus resolve lots of TODOs.
git-svn-id: svn://10.0.0.236/trunk@265758 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 23:07:36 +00:00
bzrmirror%bugzilla.org
0d7bc54b5b More updates from dkl.
git-svn-id: svn://10.0.0.236/trunk@265757 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 23:04:55 +00:00
bzrmirror%bugzilla.org
90324866f1 Updates from dkl review of chapters 5 and 6.
git-svn-id: svn://10.0.0.236/trunk@265756 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 23:02:52 +00:00
bzrmirror%bugzilla.org
f0542feb4b Add further help for Mac OS X users.
git-svn-id: svn://10.0.0.236/trunk@265755 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 23:00:57 +00:00
seabld
d753558025 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.30 to 2.31 build 1
git-svn-id: svn://10.0.0.236/trunk@265754 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:59:13 +00:00
bzrmirror%bugzilla.org
f3018d5dc8 Add Bugzilla logo to top left corner.
git-svn-id: svn://10.0.0.236/trunk@265753 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:59:01 +00:00
bzrmirror%bugzilla.org
f49d65375a Add Oxford comma.
git-svn-id: svn://10.0.0.236/trunk@265752 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:57:20 +00:00
bzrmirror%bugzilla.org
806b083461 Restore fixed version accidentally removed during merge.
git-svn-id: svn://10.0.0.236/trunk@265751 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:55:39 +00:00
bzrmirror%bugzilla.org
2474c0dc6f Update to mention homebrew as an option for installing GD on Mac.
git-svn-id: svn://10.0.0.236/trunk@265750 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:53:54 +00:00
bzrmirror%bugzilla.org
e51d23efd0 Updates to use new, easier command sequences for Git.
git-svn-id: svn://10.0.0.236/trunk@265749 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:52:13 +00:00
bzrmirror%bugzilla.org
2acec70dfd Markup some more parameter names properly.
git-svn-id: svn://10.0.0.236/trunk@265748 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:50:33 +00:00
bzrmirror%bugzilla.org
22e2b1583e Merge branch 'markrcote-docs-relicensing' into docs-relicensing
git-svn-id: svn://10.0.0.236/trunk@265747 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:48:52 +00:00
bzrmirror%bugzilla.org
029da65783 Merge branch 'docs-relicensing' of git://github.com/markrcote/bugzilla-docs into markrcote-docs-relicensing
git-svn-id: svn://10.0.0.236/trunk@265746 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:47:10 +00:00
bzrmirror%bugzilla.org
69d1b648ce mcote feedback (issue #14).
git-svn-id: svn://10.0.0.236/trunk@265745 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:45:43 +00:00
bzrmirror%bugzilla.org
0947e51be6 Chapter 7 edits.
git-svn-id: svn://10.0.0.236/trunk@265744 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:44:15 +00:00
bzrmirror%bugzilla.org
46b79c0f04 Make docs for dependency graphing more clear.
git-svn-id: svn://10.0.0.236/trunk@265743 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:43:00 +00:00
bzrmirror%bugzilla.org
caf0fb697f Add recent changes from master Bugzilla branch.
git-svn-id: svn://10.0.0.236/trunk@265742 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:41:47 +00:00
bzrmirror%bugzilla.org
f4db9f2a2d Merge remote-tracking branch 'upstream/docs-relicensing' into docs-relicensing
git-svn-id: svn://10.0.0.236/trunk@265741 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:40:21 +00:00
bzrmirror%bugzilla.org
81d0ccc2e1 Merge branch 'master' of ssh://git.mozilla.org/bugzilla/bugzilla into docs-relicensing
(except some changes not merged; will do them later)

Conflicts:
docs/en/rst/administration.rst
docs/en/rst/installation.rst
docs/en/rst/using.rst


git-svn-id: svn://10.0.0.236/trunk@265740 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:39:24 +00:00
bzrmirror%bugzilla.org
23e6669fb1 Merge pull request #12 from markrcote/docs-relicensing
Section 1 changes from mcote review.


git-svn-id: svn://10.0.0.236/trunk@265739 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:37:28 +00:00
bzrmirror%bugzilla.org
b7a2f41cec Section 1 changes.
git-svn-id: svn://10.0.0.236/trunk@265738 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:36:17 +00:00
bzrmirror%bugzilla.org
cb7e38eca4 Updates from review comments from Ryan.
git-svn-id: svn://10.0.0.236/trunk@265737 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:35:04 +00:00
bzrmirror%bugzilla.org
d3315e9950 Further input from Mark re: hyphenation.
git-svn-id: svn://10.0.0.236/trunk@265736 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:33:50 +00:00
bzrmirror%bugzilla.org
f111f892e1 Changes from mcote's review of section 8.
git-svn-id: svn://10.0.0.236/trunk@265735 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:32:41 +00:00
bzrmirror%bugzilla.org
7a529ad3fe Tweaks to Thorsten's submissions.
git-svn-id: svn://10.0.0.236/trunk@265734 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:31:26 +00:00
bzrmirror%bugzilla.org
094245e890 Merge branch 'tschoening-docs-relicensing' into docs-relicensing
git-svn-id: svn://10.0.0.236/trunk@265733 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:30:14 +00:00
bzrmirror%bugzilla.org
ea7a1948cb Merge branch 'docs-relicensing' of git://github.com/tschoening/bugzilla-docs into tschoening-docs-relicensing
Conflicts:
docs/en/rst/administering/parameters.rst


git-svn-id: svn://10.0.0.236/trunk@265732 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:29:16 +00:00
bzrmirror%bugzilla.org
65f3f98228 WIP
git-svn-id: svn://10.0.0.236/trunk@265731 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:28:21 +00:00
bzrmirror%bugzilla.org
ef5b532845 Update essential-post-install-config.rst
Added some notes about sendmail.exe, because Sendmail may be usefuk for that even in 2014.


git-svn-id: svn://10.0.0.236/trunk@265730 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:27:27 +00:00
bzrmirror%bugzilla.org
5f16fbb928 synced Directory-config with non-Windows
git-svn-id: svn://10.0.0.236/trunk@265729 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:26:34 +00:00
bzrmirror%bugzilla.org
0ab0740a33 Note on deactivating KeepAlive added
git-svn-id: svn://10.0.0.236/trunk@265728 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:25:41 +00:00
bzrmirror%bugzilla.org
cbc01b3b56 Update faq.rst with link to httpd_can_sendmail
git-svn-id: svn://10.0.0.236/trunk@265727 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:24:48 +00:00
bzrmirror%bugzilla.org
09253c441f Update faq.rst with SELinux and mails
git-svn-id: svn://10.0.0.236/trunk@265726 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:23:56 +00:00
bzrmirror%bugzilla.org
9dba146577 Update parameters.rst with maxlocalattachment
git-svn-id: svn://10.0.0.236/trunk@265725 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:23:04 +00:00
bzrmirror%bugzilla.org
7501ce3f9f Update parameters.rst with max_allowed_packet
git-svn-id: svn://10.0.0.236/trunk@265724 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:22:13 +00:00
bzrmirror%bugzilla.org
05c41e7c92 WIP
git-svn-id: svn://10.0.0.236/trunk@265723 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:21:21 +00:00
bzrmirror%bugzilla.org
08554780a6 WIP
git-svn-id: svn://10.0.0.236/trunk@265722 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:20:30 +00:00
bzrmirror%bugzilla.org
9df542c281 WIP
git-svn-id: svn://10.0.0.236/trunk@265721 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:20:29 +00:00
bzrmirror%bugzilla.org
a5a76e6241 WIP
git-svn-id: svn://10.0.0.236/trunk@265720 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:19:37 +00:00
bzrmirror%bugzilla.org
299a31dc56 WIP
git-svn-id: svn://10.0.0.236/trunk@265719 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:18:44 +00:00
bzrmirror%bugzilla.org
2efbebdb3b WIP
git-svn-id: svn://10.0.0.236/trunk@265718 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:17:50 +00:00
bzrmirror%bugzilla.org
d19f526507 WIP
git-svn-id: svn://10.0.0.236/trunk@265717 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:16:55 +00:00
bzrmirror%bugzilla.org
920819f30b WIP
git-svn-id: svn://10.0.0.236/trunk@265716 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:15:50 +00:00
bzrmirror%bugzilla.org
67db910170 Reorganize "About", and make all TODO items more clear using todo extension.
git-svn-id: svn://10.0.0.236/trunk@265715 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:15:49 +00:00
bzrmirror%bugzilla.org
1962fe6b26 Reorganize "About", and make all TODO items more clear using todo extension.
git-svn-id: svn://10.0.0.236/trunk@265714 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:15:48 +00:00
bzrmirror%bugzilla.org
617a88acd2 Rename files to eliminate warnings from multiple includes.
git-svn-id: svn://10.0.0.236/trunk@265713 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:15:47 +00:00
bzrmirror%bugzilla.org
4e839dbf5f Some changes from glob's first feedback
git-svn-id: svn://10.0.0.236/trunk@265712 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:15:46 +00:00
bzrmirror%bugzilla.org
17ad502896 WIP
git-svn-id: svn://10.0.0.236/trunk@265711 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:15:45 +00:00
bzrmirror%bugzilla.org
16976efbed WIP; also merge from trunk up to and including bug 1066184.
git-svn-id: svn://10.0.0.236/trunk@265710 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:15:44 +00:00
bzrmirror%bugzilla.org
a8908d5eb9 WIP
git-svn-id: svn://10.0.0.236/trunk@265709 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:15:43 +00:00
bzrmirror%bugzilla.org
6f6b960826 WIP
git-svn-id: svn://10.0.0.236/trunk@265708 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:09:33 +00:00
bzrmirror%bugzilla.org
49667f6a5d WIP
git-svn-id: svn://10.0.0.236/trunk@265707 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:09:30 +00:00
bzrmirror%bugzilla.org
626fab680c WIP
git-svn-id: svn://10.0.0.236/trunk@265706 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:08:35 +00:00
bzrmirror%bugzilla.org
25347c5c29 WIP
git-svn-id: svn://10.0.0.236/trunk@265705 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:07:41 +00:00
bzrmirror%bugzilla.org
13affbeced WIP
git-svn-id: svn://10.0.0.236/trunk@265704 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:06:44 +00:00
bzrmirror%bugzilla.org
d297965d24 Continued WIP
git-svn-id: svn://10.0.0.236/trunk@265703 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:05:47 +00:00
bzrmirror%bugzilla.org
98cd1c1433 Work in progress...
git-svn-id: svn://10.0.0.236/trunk@265702 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:04:52 +00:00
bzrmirror%bugzilla.org
ab5c6360e5 Work in progress.
git-svn-id: svn://10.0.0.236/trunk@265701 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:03:50 +00:00
bzrmirror%bugzilla.org
200d60ec4d Remove docs changes by jwilmoth@starbucks.com.
git-svn-id: svn://10.0.0.236/trunk@265700 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-03 22:02:31 +00:00
mgervasini%mozilla.com
7cc2d5e854 bug 1071606 - 34.0 throttling, en-US 2%, default 0%. r=rail
git-svn-id: svn://10.0.0.236/trunk@265699 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-02 16:01:00 +00:00
bzrmirror%bugzilla.org
66b51a88fd Bug 1093616: Fix permissions for contrib/replyrc
r=gerv a=glob


git-svn-id: svn://10.0.0.236/trunk@265698 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-01 19:45:50 +00:00
mgervasini%mozilla.com
49d4dd216f bug 1071606 - 34.0 throttle; r=rail
git-svn-id: svn://10.0.0.236/trunk@265697 18797224-902f-48f8-a5cc-f745e15eee43
2014-12-01 15:01:10 +00:00
bzrmirror%bugzilla.org
a482828a05 Bug 1093616 - Revert "Update permissions of replyrc to whatever checksetup.pl sets them to, so..."
This reverts commit da539e8c20bc4facc36002a482d07869872f1011.


git-svn-id: svn://10.0.0.236/trunk@265696 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-29 13:00:48 +00:00
bzrmirror%bugzilla.org
f2a65e86cb Update permissions of replyrc to whatever checksetup.pl sets them to, so
running checksetup.pl doesn't lead to "modified files" according to git.


git-svn-id: svn://10.0.0.236/trunk@265695 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-29 10:30:48 +00:00
seabld
aebd417b69 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.31b1 to 2.31b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265694 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-27 03:23:25 +00:00
bzrmirror%bugzilla.org
9c764fcec7 Bug 1105501 - checksetup.pl fails because of missing Installation string for "documentation" feature.
r=LpSolit, a=dkl


git-svn-id: svn://10.0.0.236/trunk@265693 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-26 22:45:49 +00:00
raliiev%mozilla.com
bcbf866627 Bug 1102283 - Add suport for locale based throttling. r=nthomas,rhelmer
git-svn-id: svn://10.0.0.236/trunk@265692 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-26 16:24:25 +00:00
bzrmirror%bugzilla.org
3461a135ce Bug 1038275: Comprehensible documentation for the REST API
r=gerv,a=glob


git-svn-id: svn://10.0.0.236/trunk@265691 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-26 15:46:00 +00:00
bzrmirror%bugzilla.org
5154d0fab9 Bug 317021 - improve description of bz_canusewhine* parameters. r=gerv.
git-svn-id: svn://10.0.0.236/trunk@265690 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-25 10:46:39 +00:00
bzrmirror%bugzilla.org
87fbd3d0ca Revert "Bug 317021 - improve description of bz_canusewhine* parameters. r=gerv." Old version of patch committed by mistake.
This reverts commit 88e4ee5b99ef75a149f8d39bd2b92ccac3e5743b.


git-svn-id: svn://10.0.0.236/trunk@265689 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-25 10:45:51 +00:00
bzrmirror%bugzilla.org
cbe7f7e19a Bug 317021 - improve description of bz_canusewhine* parameters. r=gerv.
git-svn-id: svn://10.0.0.236/trunk@265688 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-24 19:48:08 +00:00
bzrmirror%bugzilla.org
1c53070680 Bug 919122 - support for sourceforge.net Allura bugs in see_also field. r=gerv.
git-svn-id: svn://10.0.0.236/trunk@265687 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-24 19:47:22 +00:00
bzrmirror%bugzilla.org
80ddfb2bfb Oops. Revert commit with bogus message #2. paperbag=gerv.
This reverts commit 82674d427a9b6f210347279dbb74da631f3d57cb.


git-svn-id: svn://10.0.0.236/trunk@265686 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-24 19:46:36 +00:00
bzrmirror%bugzilla.org
62cd90e825 Oops. Revert commit with bogus message #1. paperbag=gerv.
This reverts commit 9e1efb5e001b8540672f42bfd7101fed4a394c0e.


git-svn-id: svn://10.0.0.236/trunk@265685 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-24 19:45:49 +00:00
bzrmirror%bugzilla.org
2bb9936be8 Are you sure you want to check in on branch master
git-svn-id: svn://10.0.0.236/trunk@265684 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-24 17:16:38 +00:00
bzrmirror%bugzilla.org
a09b8a9850 Are you sure you want to check in on branch master
git-svn-id: svn://10.0.0.236/trunk@265683 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-24 17:15:51 +00:00
bzrmirror%bugzilla.org
04fe9ad0a0 Bug 1102003: The URL and status whiteboard fields display ARRAY(...) instead of real data
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265682 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-24 09:48:07 +00:00
bzrmirror%bugzilla.org
ac0cebe17e Bug 1102229: custom css stylesheets are not loaded if CONCATENATE_ASSETS is false
r=dkl,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265681 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-24 08:21:40 +00:00
bzrmirror%bugzilla.org
a5fa03b9e1 Bug 1101151: OS sniffing should detect Windows 10 from "Windows NT 6.4" instead of detecting Windows NT
r=LpSolit,a=glob


git-svn-id: svn://10.0.0.236/trunk@265680 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-20 15:30:49 +00:00
bzrmirror%bugzilla.org
98837ad3f5 Bug 978615 - remove URL to unavailable webdot server. r,a=glob
git-svn-id: svn://10.0.0.236/trunk@265679 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-19 17:45:53 +00:00
bzrmirror%bugzilla.org
65fb443e88 Bug 1097798: Do not display the resolution in the dependency tree for open bugs, nor the target milestone if usetargetmilestone is off
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265677 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-19 17:31:03 +00:00
bzrmirror%bugzilla.org
c0bfa8bf8e Bug 1100942 - Attachment links in request.cgi should go to the attachment and not default to &action=edit
r=gerv,a=glob


git-svn-id: svn://10.0.0.236/trunk@265676 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-19 16:15:50 +00:00
bzrmirror%bugzilla.org
a20397a6c0 Bug 1100368: css concatenation breaks data: urls
r=dylan,a=glob


git-svn-id: svn://10.0.0.236/trunk@265675 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-18 05:00:51 +00:00
bzrmirror%bugzilla.org
5cb740a97a Bug 1090727: support jquery in the global/header template, and update the header and footer to use jquery
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265674 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-17 15:15:59 +00:00
hwine%mozilla.com
fbce1c42e1 bug 1099340 - 33.1.1 throttle; r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@265673 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-14 20:38:13 +00:00
bzrmirror%bugzilla.org
420f8deb27 Bug 1098562: Fix a typo in admin/params/memcached.html.tmpl
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265672 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-14 15:45:51 +00:00
bzrmirror%bugzilla.org
3add42cdbb Bug 1095758: Fix use of uninitialized value $hostname in Mailer.pm
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265671 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-12 20:30:51 +00:00
bzrmirror%bugzilla.org
1cd1e87f99 Bug 1001462: Bug.search causes error when using simple token auth and specifying 'token' instead of 'Bugzilla_token'
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265670 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-12 16:45:48 +00:00
bzrmirror%bugzilla.org
5c8aa307d8 Bug 1094858: Create hook in Bugzilla::WebService::Constants to allow overrriding of standard status codes by extensions
(fix broken POD)


git-svn-id: svn://10.0.0.236/trunk@265669 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-11 15:45:47 +00:00
bzrmirror%bugzilla.org
f39ca8fa32 Bug 1093600: REST shouldn't support multiple instances of parameters for resources which only support a single params (eg. POST bug/comment)
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265668 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-10 17:00:49 +00:00
bzrmirror%bugzilla.org
fe358a8183 Bug 1094858: Create hook in Bugzilla::WebService::Constants to allow overrriding of standard status codes by extensions
r=gerv,a=glob


git-svn-id: svn://10.0.0.236/trunk@265667 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-10 16:15:51 +00:00
bzrmirror%bugzilla.org
4ef0207a07 Bug 1093481: non-bugmail notifications are not sent when using the jobqueue ("Can't call method "header" on unblessed reference at Bugzilla/Mailer.pm line 95.")
r=dylan,a=glob


git-svn-id: svn://10.0.0.236/trunk@265666 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-10 07:00:48 +00:00
nrthomas%gmail.com
88e1256bd4 Bug 1094569, unthrottle updates to Firefox 33.0.3, p=mgerva, r=hwine
git-svn-id: svn://10.0.0.236/trunk@265665 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-06 23:40:13 +00:00
bzrmirror%bugzilla.org
11707e7244 Bug 1093479: view job queue shows incorrect value for error_count
r=dylan,a=glob


git-svn-id: svn://10.0.0.236/trunk@265664 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-06 05:15:50 +00:00
bzrmirror%bugzilla.org
702dd68eff Bug 1091584: Typo in users/confirm-delete.html.tmpl
r=gerv,a=glob


git-svn-id: svn://10.0.0.236/trunk@265663 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-05 16:16:40 +00:00
bzrmirror%bugzilla.org
da6f5ad3cb Bug 1089820: Make use of User.use_markdown() defined in Bug 1059684
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265662 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-05 16:15:52 +00:00
bzrmirror%bugzilla.org
7fb86eb42c Bug 1054742 - fix formatting of POD in Bugzilla.pm. r=gerv.
git-svn-id: svn://10.0.0.236/trunk@265661 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-05 14:45:47 +00:00
raliiev%mozilla.com
dfb4021022 Bug 1093313 - Point esr24 nightly builds at esr31. r=nthomas
git-svn-id: svn://10.0.0.236/trunk@265660 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-03 22:22:54 +00:00
bzrmirror%bugzilla.org
43f1fe07f8 Bump the version number to 5.1 on trunk
git-svn-id: svn://10.0.0.236/trunk@265659 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-03 20:31:02 +00:00
hwine%mozilla.com
236378c752 Bug 1089928 - stop auto update; r=nthomas,jlund
git-svn-id: svn://10.0.0.236/trunk@265658 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-31 21:48:43 +00:00
bzrmirror%bugzilla.org
d64adc1bad Bug 1062739: add the ability for administrators to limit the number of emails sent to a user per minute and hour
r=dylan,a=glob


git-svn-id: svn://10.0.0.236/trunk@265657 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-31 07:30:54 +00:00
seabld
1133530412 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.30b2 to 2.31b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265656 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-31 02:27:30 +00:00
hwine%mozilla.com
9d084fab59 Bug 1089928 - 33.0.2 to 50% update rate; r=rail
git-svn-id: svn://10.0.0.236/trunk@265655 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-30 18:09:51 +00:00
seabld
53647a7e52 Backout Sea 2.31b1 updates.
git-svn-id: svn://10.0.0.236/trunk@265654 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-30 03:33:55 +00:00
bzrmirror%bugzilla.org
7d8d21a7ec 'cgi' is not defined in templates, see bug 913364
git-svn-id: svn://10.0.0.236/trunk@265653 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-30 00:00:48 +00:00
hwine%mozilla.com
4063ba4332 Bug 1089928 - 33.0.2 to 25% update rate; r=rail
git-svn-id: svn://10.0.0.236/trunk@265652 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-29 19:01:44 +00:00
bzrmirror%bugzilla.org
15553be9c7 Bug 1088253: GET REST calls should allow arbitrary URL parameters to be passed in addition the values in the path
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265651 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-29 19:00:54 +00:00
bzrmirror%bugzilla.org
ef4c2fd12d Bug 258026 - add format hint to chart date input. r=gerv, a=glob.
git-svn-id: svn://10.0.0.236/trunk@265650 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-29 16:45:48 +00:00
bzrmirror%bugzilla.org
4fed7368a0 Bug 1081675 - remove unused variables. r=gerv, a=glob.
git-svn-id: svn://10.0.0.236/trunk@265649 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-29 16:30:50 +00:00
seabld
b0d9c7c16f Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.30b2 to 2.31b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265648 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-29 13:16:08 +00:00
seabld
47a800bc19 Backout Sea 2.31b1 updates.
git-svn-id: svn://10.0.0.236/trunk@265647 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-29 00:03:49 +00:00
hwine%mozilla.com
60270c56dc Bug 1089928 - throttle @ 5%; r=rail
git-svn-id: svn://10.0.0.236/trunk@265646 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-28 18:36:42 +00:00
bzrmirror%bugzilla.org
2c95c596f6 Bug 1073590 - Bugzilla should inherit rewrite rules.
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265645 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-28 15:45:47 +00:00
bzrmirror%bugzilla.org
00fc957fe6 Bug 1059684: markdown text should not be rendered within a <pre> tag
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265644 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-28 03:15:50 +00:00
bzrmirror%bugzilla.org
77ad1b019e Bug 1088156 - Add a config file for Reply
r=gerv a=glob


git-svn-id: svn://10.0.0.236/trunk@265643 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-27 21:31:36 +00:00
bzrmirror%bugzilla.org
cf026a001f Bug 1083081 - javascript concatenation should insert a semicolon between files
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265642 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-27 21:30:49 +00:00
bzrmirror%bugzilla.org
4f332dac68 Bug 1087400: CGI 4.05 throws tons of "CGI::param called in list context" warnings
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265641 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-27 11:01:38 +00:00
bzrmirror%bugzilla.org
7b32925c8a Bug 1088483: Remove references to the "enable bug tagging" preference from the documentation
r=gerv a=glob


git-svn-id: svn://10.0.0.236/trunk@265640 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-27 11:00:50 +00:00
bzrmirror%bugzilla.org
1fb624196d Bug 1067753: Allow the job queue to specify one or more types of jobs to run
r=mtyson,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265639 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-27 06:00:47 +00:00
bzrmirror%bugzilla.org
1866498e6a Bug 1068494: Remove CVS/Bonsai/LXR-specific bits of Patch Viewer
(remove unused user-error "invalid_context")


git-svn-id: svn://10.0.0.236/trunk@265638 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-27 05:00:47 +00:00
nrthomas%gmail.com
7c647d274c Bug 1085526, throttle 33.0.1 at 0%, r=rail
git-svn-id: svn://10.0.0.236/trunk@265637 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-24 19:40:35 +00:00
bzrmirror%bugzilla.org
898ddc56b5 Bug 1082106: $dbh->bz_add_columns creates a foreign key constraint causing failure in checksetup.pl when it tries to re-add it later
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265636 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-24 15:30:49 +00:00
seabld
b2920b5cff Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.30b2 to 2.31b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265635 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-24 11:03:07 +00:00
bzrmirror%bugzilla.org
d7b9945e24 Bug 1088399 - Add support for Github pull requests in See Also field. r=gerv, a=glob.
git-svn-id: svn://10.0.0.236/trunk@265634 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-24 08:31:42 +00:00
bzrmirror%bugzilla.org
a270621669 Bug 1073264 - allow attachment download to be offloaded to the webserver using X-SendFile or equivalent. r=gerv, a=glob.
git-svn-id: svn://10.0.0.236/trunk@265633 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-24 08:30:51 +00:00
bzrmirror%bugzilla.org
64d814f9a6 Bug 1083258 - The size check for input <select>s on show_bug.cgi doesn't take into account is_active
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265632 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-23 16:45:49 +00:00
bzrmirror%bugzilla.org
2ee5579114 Bug 1033068: The "unknown_action" error message could confuse the user
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265631 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-22 01:30:51 +00:00
bzrmirror%bugzilla.org
4a069c9d03 Bug 1073380 - Pass the hostname and port as two separate arguments to Email::Sender
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265630 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-21 18:45:49 +00:00
bzrmirror%bugzilla.org
5948d6f3af Bug 1084490 - Fix Bugzilla::WebService::BugUserLastVisit->get & correct POD
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265629 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-21 18:30:49 +00:00
bzrmirror%bugzilla.org
89d0b3c9c1 Bug 1083737: Validate the smtpserver parameter
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265628 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-21 10:26:09 +00:00
bzrmirror%bugzilla.org
e6badba12d Backout Bug 1015226: When using field-label.html.tmpl there is not a way to underline the access key letter in the field description
git-svn-id: svn://10.0.0.236/trunk@265627 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-20 21:30:49 +00:00
raliiev%mozilla.com
9abac579ed Bug 1083853 - Enable nightly builds w/ updates on Alder branch. r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@265626 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-20 13:50:23 +00:00
bzrmirror%bugzilla.org
6397d8cafa Bug 1080840: Update WebServices to include Markdown feature
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265625 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-16 17:30:51 +00:00
bzrmirror%bugzilla.org
17fde94e87 Bug 1068494: Remove CVS/Bonsai/LXR-specific bits of Patch Viewer
r=gerv a=glob


git-svn-id: svn://10.0.0.236/trunk@265624 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-16 16:31:42 +00:00
bzrmirror%bugzilla.org
d0e5ad58df Bug 1082557: Use a persistent connection to the SMTP server for improved performance
r=dylan a=glob


git-svn-id: svn://10.0.0.236/trunk@265623 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-16 16:30:51 +00:00
bzrmirror%bugzilla.org
ed83e15249 Fix a warning thrown by 008filter.t
git-svn-id: svn://10.0.0.236/trunk@265622 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-16 14:15:46 +00:00
bzrmirror%bugzilla.org
e8518468b1 Bug 1082887: comments made when setting a flag from the attachment details page are not included in the "flag updated" email
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265621 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-16 07:46:34 +00:00
catlee%mozilla.com
d679036387 Bug 1056837: Firefox 33 throttle at 0% r=mgerva p=nthomas
git-svn-id: svn://10.0.0.236/trunk@265620 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-15 15:40:52 +00:00
seabld
1d47685bdc Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.29.1 to 2.30 build 1
git-svn-id: svn://10.0.0.236/trunk@265619 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-15 00:18:02 +00:00
bzrmirror%bugzilla.org
6487e5e613 Bug 1059723: Reply button should become AJAX-based
r=dkl,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265618 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-14 21:00:50 +00:00
bzrmirror%bugzilla.org
8d6ba2fa26 Bug 1082610: Missing default value for the "testopia-default-plan-testers-regexp" parameter
r=LpSolit


git-svn-id: svn://10.0.0.236/trunk@265617 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-14 15:30:17 +00:00
raliiev%mozilla.com
fdc86cba3b Bug 1056837 - tracking bug for build and release of Firefox and Fennec 33.0. p=nthomas,r=rail
git-svn-id: svn://10.0.0.236/trunk@265616 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-14 14:39:51 +00:00
seabld
5c384a7142 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.30b1 to 2.30b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265615 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-10 14:57:08 +00:00
seabld
7af56839cc Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.29b2 to 2.30b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265614 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-08 12:27:26 +00:00
bzrmirror%bugzilla.org
9cced7cfeb Bug 1009406 - A user with local editcomponents privs cannot update the inclusion and exclusion lists when the flagtype is already restricted to products the user cannot edit
r=dkl, a=simon


git-svn-id: svn://10.0.0.236/trunk@265613 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-08 03:15:47 +00:00
bzrmirror%bugzilla.org
8bda468251 Bug 1011263 - The qa test suite should have a master branch that bugzilla master run against - Updated exclusions
git-svn-id: svn://10.0.0.236/trunk@265612 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-07 15:30:49 +00:00
bzrmirror%bugzilla.org
9beae7b4f8 Bug 1011263 - The qa test suite should have a master branch that bugzilla master run against
git-svn-id: svn://10.0.0.236/trunk@265611 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-07 15:15:47 +00:00
bzrmirror%bugzilla.org
01a8ae8360 Bump version post-release
git-svn-id: svn://10.0.0.236/trunk@265610 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-06 18:46:24 +00:00
bzrmirror%bugzilla.org
cfea1ee582 Bump version to 4.5.6
git-svn-id: svn://10.0.0.236/trunk@265609 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-06 15:45:47 +00:00
bzrmirror%bugzilla.org
c182cf6197 Bug 1054702: CSV export vulnerable to formulae injection
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265606 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-06 15:15:46 +00:00
bzrmirror%bugzilla.org
d4a0f53c33 Bug 1064140: [SECURITY] Private comments can be shown to flagmail recipients who aren't in the insider group
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265604 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-06 15:00:51 +00:00
bzrmirror%bugzilla.org
e0b2ec3c74 Bug 1074980: Forbid the { foo => $cgi->param() } syntax to prevent data override
r=dkl,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265602 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-06 14:47:23 +00:00
bzrmirror%bugzilla.org
a4191be170 Bug 1075578: [SECURITY] Improper filtering of CGI arguments
r=dkl,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265601 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-06 14:45:58 +00:00
bzrmirror%bugzilla.org
32e843f761 Bug 1071276: Markdown comment checkbox value is not passed through properly when a mid air collision has occurred and user chooses to submit comment
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265598 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-05 16:45:46 +00:00
bzrmirror%bugzilla.org
781083e4d1 Bug 1076155: Remove "?" from table columns and labels + code cleanup
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265597 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-02 17:30:50 +00:00
bzrmirror%bugzilla.org
7fc1d633b2 Bug 1069760 - Cannot use 'component' in a template
r=gerv, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265596 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-01 11:15:47 +00:00
bzrmirror%bugzilla.org
aa58dc0745 Bug 1070640: Update (and rename) Bugzilla::Send::Sendmail to work with Email::Sender::Transport::Sendmail
r=dylan a=justdave


git-svn-id: svn://10.0.0.236/trunk@265595 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-01 10:31:04 +00:00
bzrmirror%bugzilla.org
a47cb5efc3 Fix bustage due to bug 1061247
git-svn-id: svn://10.0.0.236/trunk@265594 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-01 10:15:48 +00:00
bzrmirror%bugzilla.org
36f9ca7aed Bug 1061247 - Successfully using a password change token should invalidate all other password change tokens for that user
r=gerv a=glob


git-svn-id: svn://10.0.0.236/trunk@265593 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-01 05:45:47 +00:00
bzrmirror%bugzilla.org
88e446e2ab Bug 1070317 - Bugzilla::Flag's attribute modification_date is affected by the user's timezone and differs from the database copy after a call to $flag->update()
r=dkl, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265592 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-30 22:15:52 +00:00
bzrmirror%bugzilla.org
160f533567 Bug 1071317: Remove unused variables
r=gerv a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265591 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-29 11:00:49 +00:00
bzrmirror%bugzilla.org
41c3e14a1d Bug 1044457 - PostgreSQL 8.x fails with error: language "plpgsql" does not exist
git-svn-id: svn://10.0.0.236/trunk@265590 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-29 03:30:48 +00:00
bzrmirror%bugzilla.org
6eb67cb1c3 Bug 1071024 - improve description of mail_delivery_method. r=glob.
git-svn-id: svn://10.0.0.236/trunk@265589 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-26 15:45:48 +00:00
bzrmirror%bugzilla.org
300ea0eab3 Bug 1071033: Variable "$user" will not stay shared at buglist.cgi
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265588 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-25 22:15:46 +00:00
bzrmirror%bugzilla.org
50069d13e9 Bug 1072110: _concatenate_js assumes javascript_urls is an array
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265587 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-25 18:00:50 +00:00
seabld
c34e6dd246 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.29 to 2.29.1 build 1
git-svn-id: svn://10.0.0.236/trunk@265586 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-25 00:23:20 +00:00
bzrmirror%bugzilla.org
d91aa54a6d Bug 1059685: Add user help for Markdown
- Fixed template filter for constant in markdown.html.tmpl


git-svn-id: svn://10.0.0.236/trunk@265585 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-23 16:00:47 +00:00
bzrmirror%bugzilla.org
c9c6cf1b2c Bug 1059685: Add user help for Markdown
r=dkl,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265584 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-23 14:45:48 +00:00
bzrmirror%bugzilla.org
ac150fb997 Bug 1065444: Several columns are not legal when displaying queries
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265583 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-22 23:30:49 +00:00
bzrmirror%bugzilla.org
9618fd7967 Bug 1069363: "show user list again" link does not include is_enabled for showing previous results list
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265582 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-22 14:15:47 +00:00
bzrmirror%bugzilla.org
a7844260c5 Bug 502625: Replace Email::Send with Email::Sender
r=dylan a=glob


git-svn-id: svn://10.0.0.236/trunk@265581 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-20 12:30:49 +00:00
bhearsum%mozilla.com
5023519562 Re-enable updates for the release channel now that 32.0.2 has shipped.
git-svn-id: svn://10.0.0.236/trunk@265580 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-18 20:06:59 +00:00
bzrmirror%bugzilla.org
3a3b056aea Bug 829273: Certain webservice tests failing due to improper error being thrown for undef or empty bug id values
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265579 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-18 17:15:47 +00:00
bzrmirror%bugzilla.org
240a81000c Bug 1068521: "Use of uninitialized value" warnings
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265578 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-18 09:15:46 +00:00
bzrmirror%bugzilla.org
dd63c49852 Bug 1068014: skip strptime() in datetime_from() if the date is in a standard format
r=dylan,a=glob


git-svn-id: svn://10.0.0.236/trunk@265577 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-18 05:30:47 +00:00
bzrmirror%bugzilla.org
c2e1d75cc6 Bug 1064395: concatenate and slightly minify javascript files
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265576 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-17 16:45:51 +00:00
bzrmirror%bugzilla.org
43fad68124 Bug 1068277: No longer able to save/edit/forget a saved search if results are 0 in buglist.cgi
r=LpSolit,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265575 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-17 14:00:54 +00:00
bhearsum%mozilla.com
5af8d02ed8 bug 1068118: disable updates to Firefox 32.0.1. r=catlee
git-svn-id: svn://10.0.0.236/trunk@265574 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-16 17:16:12 +00:00
bzrmirror%bugzilla.org
5e131bbe68 Bug 1039940: serialisation of objects for webservice responses is extremely slow
r=dylan,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265573 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-16 05:00:46 +00:00
bzrmirror%bugzilla.org
5a3d530269 Bug 252555: Remove the ANSI mode when running MySQL
r=LpSolit a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265572 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-15 16:15:48 +00:00
bzrmirror%bugzilla.org
198261b922 Bug 1066184: data/params.js should be renamed to data/params.json since the data form is JSON and not JS
r=LpSolit,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265571 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-15 14:30:50 +00:00
hwine%mozilla.com
0961d2e4e8 bug 1065194 - unthrottle for 32.0.1; r=rail
git-svn-id: svn://10.0.0.236/trunk@265570 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-12 17:00:22 +00:00
bzrmirror%bugzilla.org
7e8397d7b5 Bug 1064933: Bugzilla.pm does not compile without Text::Markdown
r=glob,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265569 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-11 14:15:50 +00:00
bzrmirror%bugzilla.org
d923c725d9 Bug 1052724: Use JSON::XS instead of Data::Dumper to store parameters into data/params
r=dkl r=wurblzap a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265568 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-11 00:02:29 +00:00
bzrmirror%bugzilla.org
c5054a098b Bug 1041306: Kill global/site-navigation.html.tmpl to conform to the HTML5 spec about valid <link rel="..."> keywords
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265567 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-11 00:01:42 +00:00
bzrmirror%bugzilla.org
d53c6de213 Bug 1009013 - Require a user to change their password if they log in and their current password does not meet the password complexity rules
r=glob, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265566 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-11 00:00:53 +00:00
bzrmirror%bugzilla.org
2c0b45ce27 Bug 1053513 - fix patching error
I yearn for review board and more git-based development.


git-svn-id: svn://10.0.0.236/trunk@265565 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-10 15:45:48 +00:00
bzrmirror%bugzilla.org
8d9af7f936 Bug 1035080: preload visibility of referenced bugs in _preload_referenced_bugs
r=sgreen,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265564 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-10 15:16:36 +00:00
bzrmirror%bugzilla.org
d6266b2748 Bug 1036242: "TypeError: bug_status is undefined" when creating a bug
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265563 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-10 15:15:50 +00:00
bzrmirror%bugzilla.org
b50f4abe3c Bug 1053513 - remove last-visited entries when a user removes involvement from a bug
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265562 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-09 20:45:49 +00:00
ccooper%deadsquid.com
03b5601dcf Bug 1062353 - allow periods in partner names - r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@265561 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-08 23:47:18 +00:00
bzrmirror%bugzilla.org
82677cb98e Bug 1046126: Do not generate a new API token every time you access a bug-related page
r=sgreen,a=glob


git-svn-id: svn://10.0.0.236/trunk@265560 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-08 14:00:48 +00:00
bzrmirror%bugzilla.org
0ded788642 Bug 1046213: datetime_from() generates wrong dates if year < 1901
r=sgreen a=glob


git-svn-id: svn://10.0.0.236/trunk@265559 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-08 10:45:50 +00:00
bzrmirror%bugzilla.org
4b29a5a865 Bug 768892 - Specific Search without search words yields invalid_column_name message, complaining about sort order "relevance desc"
r=sgreen, a=glob


git-svn-id: svn://10.0.0.236/trunk@265558 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-08 04:00:47 +00:00
bzrmirror%bugzilla.org
004ff92435 Bug 1057838 - Update Autolinkification documentation to cover a list of bug/comment ids
r=sgreen, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265557 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-08 01:15:49 +00:00
seabld
42622fcdf6 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.26.1 to 2.29 build 1
git-svn-id: svn://10.0.0.236/trunk@265556 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-07 01:00:07 +00:00
seabld
88d971d0c5 Backout Sea 2.29 updates
git-svn-id: svn://10.0.0.236/trunk@265555 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-07 00:55:03 +00:00
seabld
186c0972b2 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.26.1 to 2.29 build 1
git-svn-id: svn://10.0.0.236/trunk@265554 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-07 00:44:22 +00:00
seabld
85f0b79717 Backout Sea 2.29 updates
git-svn-id: svn://10.0.0.236/trunk@265553 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-07 00:39:51 +00:00
seabld
8f676a4ef8 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.26.1 to 2.29 build 1
git-svn-id: svn://10.0.0.236/trunk@265552 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-06 03:23:46 +00:00
seabld
d4d14b124a Backout Sea 2.29 updates
git-svn-id: svn://10.0.0.236/trunk@265551 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-06 03:13:50 +00:00
seabld
139aa8caae Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.26.1 to 2.29 build 1
git-svn-id: svn://10.0.0.236/trunk@265550 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-06 00:24:40 +00:00
bzrmirror%bugzilla.org
d0d83bb1c6 Bug 1060308: Markdown: URLs and Emails are not rendered literally in code spans and code blocks
r=glob,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265549 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-05 14:45:46 +00:00
bzrmirror%bugzilla.org
dfbabae10a Bug 1040728 - testserver.pl on Ubuntu 12.04 with Apache2 invalidly gives error 'Failed to find the GID for the 'httpd' process' due to truncated command name
r=gerv,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265548 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-04 01:30:48 +00:00
hwine%mozilla.com
66166fc68a bug 1052412 - stop updates for ff 32.0; r=rail
git-svn-id: svn://10.0.0.236/trunk@265547 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-03 15:24:56 +00:00
bhearsum%mozilla.com
1fbcacf516 bug 1052412: tracking bug for build and release of Firefox and Fennec 32.0 - set throttling to 25% for 32.0 shipping. r=rail, p=nthomas
git-svn-id: svn://10.0.0.236/trunk@265546 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-02 12:25:25 +00:00
bzrmirror%bugzilla.org
d1e41111d4 Bug 281791 - Add ability to change flags in "change several bugs at once"
r=glob, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265545 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-02 00:45:50 +00:00
bzrmirror%bugzilla.org
41905cbe86 Bug 1054175 - Exclude Bugzilla::Migrate:: from requiring POD documentation
r=gerv, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265544 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-02 00:30:52 +00:00
seabld
1bad3ad07f Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.29b1 to 2.29b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265543 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-01 08:16:26 +00:00
seabld
f941e54ff2 Backout Sea 2.29b2 updates.
git-svn-id: svn://10.0.0.236/trunk@265542 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-01 07:29:42 +00:00
seabld
6aaf8b2e72 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.29b1 to 2.29b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265541 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-01 06:53:56 +00:00
seabld
c9eea2fc1e Backout Sea 2.29b2 updates.
git-svn-id: svn://10.0.0.236/trunk@265540 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-01 06:37:14 +00:00
seabld
361835eb4c Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.29b1 to 2.29b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265539 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-01 06:12:45 +00:00
seabld
7cb2f6b5c1 Backout Sea 2.29b2 updates
git-svn-id: svn://10.0.0.236/trunk@265538 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-01 06:07:12 +00:00
seabld
a46dc401c9 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.29b1 to 2.29b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265537 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-01 05:31:12 +00:00
seabld
eb82ad0dae Backout Sea 2.29b2 updates.
git-svn-id: svn://10.0.0.236/trunk@265536 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-01 05:09:25 +00:00
seabld
425d8b0266 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.29b1 to 2.29b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265535 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-01 01:05:31 +00:00
seabld
b251ddfd08 Backout Sea 2.29b2 updates.
git-svn-id: svn://10.0.0.236/trunk@265534 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-01 01:00:34 +00:00
seabld
240f284605 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.29b1 to 2.29b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265533 18797224-902f-48f8-a5cc-f745e15eee43
2014-09-01 00:00:31 +00:00
seabld
29b3a6984f Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.29b1 to 2.29b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265532 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-31 09:20:29 +00:00
seabld
ce555acded Backout Sea 2.29b2 updates
git-svn-id: svn://10.0.0.236/trunk@265531 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-31 09:15:46 +00:00
seabld
6aae347e17 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.29b1 to 2.29b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265530 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-31 07:23:01 +00:00
seabld
e159771059 Backout Sea 2.29b2 updates.
git-svn-id: svn://10.0.0.236/trunk@265529 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-31 07:16:35 +00:00
seabld
58911bce48 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.29b1 to 2.29b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265528 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-31 02:08:49 +00:00
seabld
534cd6f44e Backout Sea 2.29b2 updates.
git-svn-id: svn://10.0.0.236/trunk@265527 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-31 02:00:30 +00:00
seabld
9b843436e9 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.29b1 to 2.29b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265526 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-30 14:41:34 +00:00
bzrmirror%bugzilla.org
8c1277f7e9 Bug 1060233 - Aliases are not displayed correctly in some places
r=dkl, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265525 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-29 23:30:49 +00:00
bzrmirror%bugzilla.org
daef60d81c Bug 330707: Add optional support for MarkDown
r=dkl,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265524 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-28 17:30:55 +00:00
seabld
a337d8ca24 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.26b2 to 2.29b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265523 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-27 02:00:54 +00:00
seabld
1b15cf5178 Backout Sea 2.29b1 updates.
git-svn-id: svn://10.0.0.236/trunk@265522 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-27 00:14:52 +00:00
bzrmirror%bugzilla.org
10809b9921 Bug 1055223: Convert Testopia documentation to .rst format
r=LpSolit


git-svn-id: svn://10.0.0.236/trunk@265521 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-26 17:45:17 +00:00
bzrmirror%bugzilla.org
8043b2aa0e Bug 1056087 - contrib/merge-users.pl fails if there are no duplicate bug_user_last_visit rows
git-svn-id: svn://10.0.0.236/trunk@265520 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-26 14:30:48 +00:00
seabld
2583cbf64b Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.26b2 to 2.29b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265519 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-26 04:04:56 +00:00
seabld
9380e22e1e Backout Sea 2.29b1 updates
git-svn-id: svn://10.0.0.236/trunk@265518 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-26 01:36:10 +00:00
seabld
c2bab944b6 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.26b2 to 2.29b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265517 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-26 00:10:04 +00:00
seabld
d9b37a083b Backout Sea 2.29b1 updates.
git-svn-id: svn://10.0.0.236/trunk@265516 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-26 00:00:09 +00:00
bzrmirror%bugzilla.org
8dab82cc82 Bug 1054642: quoteUrls() enters an infinite loop with a list of nonexistent bug ids to be linkified
r=glob,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265515 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-25 21:45:46 +00:00
seabld
70bdc7a92a Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.26b2 to 2.29b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265514 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-25 13:15:08 +00:00
seabld
e3e3c4d803 Backout Sea 2.29b1 updates.
git-svn-id: svn://10.0.0.236/trunk@265513 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-25 12:53:53 +00:00
seabld
89608ad3aa Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.26b2 to 2.29b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265512 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-25 09:55:06 +00:00
seabld
3033f97e27 Backout 2.29b1 changes.
git-svn-id: svn://10.0.0.236/trunk@265511 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-25 09:38:29 +00:00
seabld
168f897d00 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.26b2 to 2.29b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265510 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-25 09:32:11 +00:00
seabld
1dd389634d Backout 2.29b1 changes.
git-svn-id: svn://10.0.0.236/trunk@265509 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-25 09:05:51 +00:00
seabld
bbf715afaa Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.26b2 to 2.29b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265508 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-25 09:04:07 +00:00
seabld
9bed820c44 Backout 2.29b1 changes.
git-svn-id: svn://10.0.0.236/trunk@265507 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-25 08:37:00 +00:00
seabld
2be2401bd1 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.26b2 to 2.29b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265506 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-25 08:33:57 +00:00
seabld
7f399f07c8 Backout 2.29b1 changes.
git-svn-id: svn://10.0.0.236/trunk@265505 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-25 07:29:07 +00:00
seabld
3132f10885 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.26b2 to 2.29b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265504 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-25 06:23:00 +00:00
bzrmirror%bugzilla.org
2302d4a396 Bug 1008766 - Fix typo in documentation (edit)
r=glob, a=glob


git-svn-id: svn://10.0.0.236/trunk@265503 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-24 00:15:46 +00:00
bzrmirror%bugzilla.org
ee4cd905ac Bug 1053802: Groups used for the comment_taggers_group and debug_group parameters can be deleted
r=sgreen a=glob


git-svn-id: svn://10.0.0.236/trunk@265502 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-19 10:45:48 +00:00
bzrmirror%bugzilla.org
9d66c3c8ec Bug 1054165 - Don't show parenthesis if there is no alias
r=glob, a=glob


git-svn-id: svn://10.0.0.236/trunk@265501 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-18 23:46:31 +00:00
bzrmirror%bugzilla.org
22c026bb3a Bug 1014337 - Update Bug.fields documentation
r=glob, a=glob


git-svn-id: svn://10.0.0.236/trunk@265500 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-18 23:45:47 +00:00
bzrmirror%bugzilla.org
1bffff5104 Bug 1019290 - Add instructions to remove query strings from Apache log
r=sgreen, a=glob


git-svn-id: svn://10.0.0.236/trunk@265499 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-15 06:30:49 +00:00
bzrmirror%bugzilla.org
6ac41f5a2c Correctly remove the bugs.alias column, see bug 1012506
r=sgreen


git-svn-id: svn://10.0.0.236/trunk@265498 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-14 21:45:49 +00:00
bzrmirror%bugzilla.org
fde84fe926 Disabled checksetup test for Travis
git-svn-id: svn://10.0.0.236/trunk@265497 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-14 16:31:09 +00:00
bzrmirror%bugzilla.org
ab62c6ca6e Bug 1048712: comment tagging suggestions always returns a single result
r=sgreen,a=glob


git-svn-id: svn://10.0.0.236/trunk@265496 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-14 06:30:45 +00:00
bzrmirror%bugzilla.org
987b7f00bf Bug 1048703: Bug.search_comment_tags returns "Invalid params for JSONRPC 1.0."
r=sgreen,a=glob


git-svn-id: svn://10.0.0.236/trunk@265495 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-14 06:16:34 +00:00
bzrmirror%bugzilla.org
9b016949ac Bug 1047405: Comment tagging GUI not fully localizable because of text in Javascript instead of template
r=sgreen,a=glob


git-svn-id: svn://10.0.0.236/trunk@265494 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-14 06:15:50 +00:00
bzrmirror%bugzilla.org
562c045d02 Bug 1012506 - Allow a bug to have multiple aliases
r=dkl, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265493 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-14 00:00:52 +00:00
bzrmirror%bugzilla.org
66c83be993 Bug 1009520 - Incorrect quote usage in global/header.html.tmpl
r=gerv, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265492 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-13 23:46:33 +00:00
bzrmirror%bugzilla.org
79421e6166 Bug 469018 - Show duplicate (dupe) count on show_bug.cgi
r=gerv, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265491 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-13 23:45:48 +00:00
bzrmirror%bugzilla.org
84c5be6eb5 Bug 996893: Perl 5.18 and newer throw tons of warnings about deprecated modules
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265490 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-13 11:01:07 +00:00
bzrmirror%bugzilla.org
db709e33c9 Bug 993926: Bugzilla::User::Setting::get_all_settings() should use memcached
r=sgreen,a=glob


git-svn-id: svn://10.0.0.236/trunk@265489 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-12 06:15:49 +00:00
bzrmirror%bugzilla.org
d323726805 Bug 419568 - Web Service module to create a component
r=dkl, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265488 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-12 00:30:48 +00:00
bzrmirror%bugzilla.org
4e39726070 Bug 448574 - Let $dbh->bz_commit_transaction send emails which are generated during a transaction
r=dkl, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265487 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-10 08:01:36 +00:00
bzrmirror%bugzilla.org
057982a447 Bug 897915 - Field lists not sorted alphabetically
r=dkl, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265486 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-10 08:00:50 +00:00
bzrmirror%bugzilla.org
2863d45523 Bug 1046145: It is no longer possible to cancel an email address change when this one has already been confirmed
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265485 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-06 00:00:45 +00:00
bzrmirror%bugzilla.org
6d369bd4e4 Bug 1044701: "Uninitialized value $token_type" when passing an invalid Bugzilla_api_token value
r=sgreen,a=glob


git-svn-id: svn://10.0.0.236/trunk@265484 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-31 17:30:50 +00:00
bzrmirror%bugzilla.org
3b5408996c Bug 1044561: Bad definition of indexes for the new user_api_keys DB table
r=sgreen a=glob


git-svn-id: svn://10.0.0.236/trunk@265483 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-31 16:45:52 +00:00
bzrmirror%bugzilla.org
f1dfb7b59d Bug 1044563: The API key also works with XML-RPC and JSON-RPC, despite the documentation mentions REST only
r=sgreen,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265482 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-31 15:45:51 +00:00
bzrmirror%bugzilla.org
e835f2db4a Bug 1044562: Incorrect link pointing to the API key documentation
r/a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265481 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-30 15:00:47 +00:00
catlee%mozilla.com
77c370f12b Bug 1015968: Unthrottle Firefox 31. r=catlee p=nthomas
git-svn-id: svn://10.0.0.236/trunk@265480 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-29 18:03:38 +00:00
bzrmirror%bugzilla.org
389ea92aa3 Bug 1041350: [SECURITY] XSS possible when running a query in debug mode
r=ghendricks


git-svn-id: svn://10.0.0.236/trunk@265479 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-28 22:45:17 +00:00
bzrmirror%bugzilla.org
5a9c131bd0 Bug 726696 - All authenticated WebServices methods should require username/pass, token or a valid API key for authentication
r=dkl, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265478 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-27 09:00:54 +00:00
bzrmirror%bugzilla.org
4465e82dbc Bump version post-release
git-svn-id: svn://10.0.0.236/trunk@265477 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-24 21:46:37 +00:00
bzrmirror%bugzilla.org
9a454f2d4e Bump version to 4.5.5
git-svn-id: svn://10.0.0.236/trunk@265476 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-24 18:00:47 +00:00
bzrmirror%bugzilla.org
9951ab2d2a Bug 1036213 - (CVE-2014-1546) add '/**/' before jsonrpc.cgi callback to avoid swf content type sniff vulnerability
r=glob,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265475 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-24 17:45:51 +00:00
bzrmirror%bugzilla.org
d485e5c714 Bug 1014345: Add Group.get RPC call
- Fixed typo in editusers group name and used $user->can_bless.


git-svn-id: svn://10.0.0.236/trunk@265469 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-24 16:00:48 +00:00
bzrmirror%bugzilla.org
121f7b8a87 [Bug 883719] Fix a broken link in release notes
git-svn-id: svn://10.0.0.236/trunk@265468 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-24 13:30:48 +00:00
hwine%mozilla.com
1039995bd1 bug 1015968 - throttle to 0% updates; r=rail
git-svn-id: svn://10.0.0.236/trunk@265467 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-23 18:02:00 +00:00
raliiev%mozilla.com
ddb48cd200 Bug 1015968 - tracking bug for build and release of Firefox and Fennec 31.0. p=nthomas,r=rail
git-svn-id: svn://10.0.0.236/trunk@265466 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-22 11:42:05 +00:00
raliiev%mozilla.com
686fcfdf4a Bug 1015942 - tracking bug for build and release of thunderbird 31.0. r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@265465 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-22 11:39:16 +00:00
bzrmirror%bugzilla.org
905380d5c3 Bug 735193: Missing help.png image
r=LpSolit


git-svn-id: svn://10.0.0.236/trunk@265464 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-21 15:46:04 +00:00
bzrmirror%bugzilla.org
0743687bf6 Bug 950363 - The description of the 'smtpserver' parameter should specify that it accepts a port number
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265463 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-21 15:45:48 +00:00
bzrmirror%bugzilla.org
6eb36df83b Bug 1001135: 'Assignee' misspelled in Test Case tab
r=LpSolit


git-svn-id: svn://10.0.0.236/trunk@265462 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-21 15:30:17 +00:00
bzrmirror%bugzilla.org
aba97c2a30 Bug 1037285 - Login redirection from forms is broken for urls using a : in their url
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265461 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-17 02:45:46 +00:00
raliiev%mozilla.com
243380d213 Bug 1039559 - No updates served for mozilla-esr31 nightly builds. p=mgerva,r=rail
git-svn-id: svn://10.0.0.236/trunk@265460 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-16 17:08:24 +00:00
bzrmirror%bugzilla.org
ec79e5436b Bug 936275 - In buglists, flags are sorted alphabetically instead of using their sortkey
r=dylan, a=glob


git-svn-id: svn://10.0.0.236/trunk@265459 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-15 10:31:30 +00:00
bzrmirror%bugzilla.org
7acf45d41f Bug 1036225: Return a link to the REST documentation in "method not found" errors
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265458 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-10 16:30:58 +00:00
bzrmirror%bugzilla.org
022f98defe Bug 1027617: Can't locate object method "_reverseoperator" when searching
r=dylan,a=glob


git-svn-id: svn://10.0.0.236/trunk@265457 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-10 14:30:57 +00:00
bzrmirror%bugzilla.org
3c813db9ab Bug 1036268: REST webservice should return http/404 for invalid methods
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265456 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-10 12:00:45 +00:00
bzrmirror%bugzilla.org
d8f7a64946 Bug 856598 - checksetup.pl should exit(1) if it fails checks. r=gerv, a=sgreen.
git-svn-id: svn://10.0.0.236/trunk@265455 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-10 08:46:33 +00:00
bzrmirror%bugzilla.org
c4292d301f Bug 248994 - Edit user page description for inherited privs should use all instead of any for lists. r=gerv, a=sgreen.
git-svn-id: svn://10.0.0.236/trunk@265454 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-10 08:45:48 +00:00
bzrmirror%bugzilla.org
edbf96658e Bug 1032323: canonicalise_query() should omit parameters with empty values so generated URLs are shorter
r=glob,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265453 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-10 06:45:46 +00:00
bzrmirror%bugzilla.org
2caad1018b Bug 1027182: merge-users.pl - SQL to remove bug_user_last_visit not correct
r=glob,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265452 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-10 02:00:46 +00:00
bzrmirror%bugzilla.org
c3f889a71f Bug 1031959 - Add a_comment-end hook to show bug page
r=gerv, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265451 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-10 00:15:46 +00:00
bzrmirror%bugzilla.org
fdf19c177d Bug 1035221: updated bless_groups throws a sql syntax error if visibility groups are used
r=sgreen,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265450 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-08 08:00:47 +00:00
bzrmirror%bugzilla.org
830239d552 Bug 1033445 - Certain webservice methods such as Bug.get and Bug.attachments should not use shadow db if user is logged in
r=sgreen,a=glob


git-svn-id: svn://10.0.0.236/trunk@265449 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-03 13:00:48 +00:00
bzrmirror%bugzilla.org
cc7bc2d8f8 Bug 1028795: pre-load all related bugs during show_bug initialisation
r=sgreen,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265448 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-03 08:00:49 +00:00
bzrmirror%bugzilla.org
0e67050275 Bug 1031274 - Cannot update multiple bugs at once if you don't change a integer custom field
r=glob, a=glob


git-svn-id: svn://10.0.0.236/trunk@265447 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-03 06:15:47 +00:00
bzrmirror%bugzilla.org
66af40f092 Bug 1031274 - Cannot update multiple bugs at once if you don't change a integer custom field
r=glob, a=glob


git-svn-id: svn://10.0.0.236/trunk@265446 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-03 05:46:33 +00:00
bzrmirror%bugzilla.org
d3f1f3c3bb Bug 1029354 - Add after_comment_textarea hook to edit attachment page
r=gerv, a=glob


git-svn-id: svn://10.0.0.236/trunk@265445 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-03 05:45:48 +00:00
bzrmirror%bugzilla.org
89c4160dd7 Bug 1014345 - Add Group.get RPC call
r=glob, a=glob


git-svn-id: svn://10.0.0.236/trunk@265444 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-02 01:45:48 +00:00
bzrmirror%bugzilla.org
5cfddba7ce Bug 469196 - WebService function to update a user's group membership
r=glob, a=glob


git-svn-id: svn://10.0.0.236/trunk@265443 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-02 01:30:49 +00:00
bzrmirror%bugzilla.org
8d40bef8f5 Bug 1020821 - Product drop down orders classifications alphabetically
r=gkl, a=glob


git-svn-id: svn://10.0.0.236/trunk@265442 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-02 01:15:51 +00:00
bzrmirror%bugzilla.org
b4c0a36c78 Bug 1015226: When using field-label.html.tmpl there is not a way to underline the access key letter in the field description
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265441 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-19 17:00:47 +00:00
bzrmirror%bugzilla.org
883150cdab Bug 1023725 - Rename Bug.flag_types webservice call to FlagType.get
r=glob, a=glob


git-svn-id: svn://10.0.0.236/trunk@265440 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-18 23:00:49 +00:00
bzrmirror%bugzilla.org
42fc029c23 Bug 1026726: filter_wants should be updated to allow exclude_fields higher precedence over include_fields=_all
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265439 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-18 15:45:47 +00:00
bzrmirror%bugzilla.org
849bd47ff1 Bug 575211: show_bug.cgi should use field-label.html.tmpl for field headers
r=glob,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265438 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-18 07:45:49 +00:00
nrthomas%gmail.com
14f65a2f6c Bug 996137, unthrottle updates to Firefox 30.0, r=aki
git-svn-id: svn://10.0.0.236/trunk@265437 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-17 20:18:28 +00:00
bzrmirror%bugzilla.org
2c7583363c Bug 1021218: merge-users.pl fails if both users have bug_user_last_visit entries for the same bug
r=glob,a=glob


git-svn-id: svn://10.0.0.236/trunk@265436 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-17 15:30:50 +00:00
bzrmirror%bugzilla.org
edbcfbeac7 Bug 1024987 - contrib/bz_webservice_demo.pl fails after User Token login update
r=sgreen, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265435 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-16 23:45:47 +00:00
bzrmirror%bugzilla.org
effdb80408 Bug 653597 - Reports with "Real Name" fields use foo_real_name in the url parameters for linked queries
r=gerv, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265434 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-16 23:30:57 +00:00
bzrmirror%bugzilla.org
1e4e49df9e Bug 1025712 - Invalid HTML in template/en/default/bug/create/create-guided.html.tmpl
r=gerv, a=glob


git-svn-id: svn://10.0.0.236/trunk@265433 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-16 23:16:01 +00:00
bzrmirror%bugzilla.org
5b7b4d32a4 Bug 956892: collapsed comments should display tags to indicate the reason for auto-collapsing
r=gerv,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265432 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-16 08:00:50 +00:00
bzrmirror%bugzilla.org
917a8d4c59 Bug 1012508 - Add a admin_menu hook to change who has access to admin.cgi
r=gerv, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265431 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-14 05:30:49 +00:00
seabld
6838161007 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.26 to 2.26.1 build 1
git-svn-id: svn://10.0.0.236/trunk@265430 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-13 08:58:13 +00:00
bzrmirror%bugzilla.org
d8f00bac98 Bug 1023633 - Add a webservice_before_call Hook
r=dkl, a=glob


git-svn-id: svn://10.0.0.236/trunk@265429 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-13 01:00:46 +00:00
bzrmirror%bugzilla.org
b4acae726f Bug 1022923 - Add index to bug_user_last_visit.last_visit_ts
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265428 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-12 21:30:48 +00:00
asasaki%mozilla.com
4dcee73913 bug 996137 - fully throttle 30.0. r=callek
git-svn-id: svn://10.0.0.236/trunk@265427 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-11 17:48:27 +00:00
bzrmirror%bugzilla.org
0db997a621 Bug 1015994 - attachment.cgi titles should include bug and/or attachment text
r=gerv,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265426 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-11 16:00:48 +00:00
bzrmirror%bugzilla.org
0e8e37b831 Bug 978146: activity entry when setting flags isn't split across multiple rows
r=dkl,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265425 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-11 15:30:50 +00:00
bzrmirror%bugzilla.org
c2e2a56414 Bug 962424: jobqueue's worker process should process messages in batches
r=?,a=?


git-svn-id: svn://10.0.0.236/trunk@265424 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-11 15:00:51 +00:00
raliiev%mozilla.com
5cd8be4bf2 Bug 996137 - tracking bug for build and release of Firefox and Fennec 30.0. p=nthomas,r=rail
git-svn-id: svn://10.0.0.236/trunk@265423 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-10 13:10:14 +00:00
bzrmirror%bugzilla.org
9a2a51ded9 Bug 1004370: Add personal tags to Bug.get
r=glob,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265422 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-06 06:00:49 +00:00
bzrmirror%bugzilla.org
fe5a790e5b Bug 442013 - Create Bugzilla::User->set_groups and set_bless_groups and have editusers.cgi use them
r=justdave, a=glob


git-svn-id: svn://10.0.0.236/trunk@265421 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-06 00:00:48 +00:00
bzrmirror%bugzilla.org
46bf7a3d2e Bug 883719 - Don't include release notes from previous major releases, instead add links to the bugzilla.org website
r=justdave, a=glob


git-svn-id: svn://10.0.0.236/trunk@265420 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-05 23:45:46 +00:00
bzrmirror%bugzilla.org
df3a8b2f06 Bug 1020708 - Copyright header missing from Bugzilla::BugUserLastVisit
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265419 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-05 17:45:45 +00:00
bzrmirror%bugzilla.org
ce483de1d7 Bug 1019177 - Provide link in saved search preferences page to a shared search that can be given to others
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265418 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-05 14:30:46 +00:00
bzrmirror%bugzilla.org
c431d95002 Bug 524915: Quoted comments can overflow the comment box
r=glob,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265417 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-05 07:00:46 +00:00
bzrmirror%bugzilla.org
59edc2ab4f Bug 1020023: update a user's last-visited timestamp for a bug when they perform any actions on it
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265416 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-05 04:45:46 +00:00
bzrmirror%bugzilla.org
26d59b62b3 Bug 803201 - Bump minimum requirement for DateTime and
DateTime::TimeZone to correctly detect the local timezone

Patch by Frédéric Buclin <LpSolit@gmail.com>
r=dkl, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265415 18797224-902f-48f8-a5cc-f745e15eee43
2014-06-04 17:30:48 +00:00
bhearsum%mozilla.com
3ce31c41d1 Update README to check my commit access.
git-svn-id: svn://10.0.0.236/trunk@265414 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-30 19:59:11 +00:00
bzrmirror%bugzilla.org
6a38bfb5d8 Bug 1013209: data/assets: empty generated css-file
r=dkl, a=glob


git-svn-id: svn://10.0.0.236/trunk@265413 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-30 07:16:04 +00:00
bzrmirror%bugzilla.org
28a2cb1e01 Bug 993939: Bugzilla::User::Setting::groups() should use memcached
git-svn-id: svn://10.0.0.236/trunk@265412 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-28 06:45:45 +00:00
bzrmirror%bugzilla.org
7ee57a38d7 Bug 993939: Bugzilla::User::Setting::groups() should use memcached
r=dkl, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265411 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-28 06:00:46 +00:00
bzrmirror%bugzilla.org
07872220a6 Bug 1016199: move skins/assets to data/assets
r=dkl, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265410 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-28 04:45:46 +00:00
bzrmirror%bugzilla.org
3a53319178 Bug 1015173: Groups report all members as being direct members.
r=gerv, a=glob


git-svn-id: svn://10.0.0.236/trunk@265409 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-26 08:45:48 +00:00
bzrmirror%bugzilla.org
7d52bf34b5 Bug 1008764: Add a web service to create and update Flag types
r=glob, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265408 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-21 23:30:48 +00:00
bzrmirror%bugzilla.org
0908a89c5b Bug 995296 - Remove compatibility fields listed by webservice methods as deprecated in 5.0
git-svn-id: svn://10.0.0.236/trunk@265407 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-21 14:45:46 +00:00
bzrmirror%bugzilla.org
650d813242 Bug 1009017: users are unable to log in if their password needs to be
re-encrypted and their password does not match the current complexity
rule
r=dkl, a=glob


git-svn-id: svn://10.0.0.236/trunk@265406 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-20 06:00:48 +00:00
bzrmirror%bugzilla.org
75cda21df3 Bug 1011250 - Updates IRC notification text to include commit message and also send to #bugzilla
git-svn-id: svn://10.0.0.236/trunk@265405 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-15 22:01:23 +00:00
bzrmirror%bugzilla.org
584d044363 fix mod_perl breakage caused by bug 977969
git-svn-id: svn://10.0.0.236/trunk@265402 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-14 07:00:47 +00:00
bzrmirror%bugzilla.org
052c48cbdf Bug 977969: concatenate and slightly minify css files
r=gerv, a=glob


git-svn-id: svn://10.0.0.236/trunk@265401 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-14 05:46:32 +00:00
bzrmirror%bugzilla.org
932733988c Bug 1006288: add File::Slurp to the list of mandatory modules
r=dkl, a=glob


git-svn-id: svn://10.0.0.236/trunk@265400 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-14 05:45:46 +00:00
bzrmirror%bugzilla.org
52678c0270 Backout of Bug 1001462 - Bug.search causes error when using simple token auth and specifying 'token' instead of 'Bugzilla_token'
git-svn-id: svn://10.0.0.236/trunk@265399 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-12 19:30:48 +00:00
bzrmirror%bugzilla.org
9fd83c37bb Bug 1003852: Digest::SHA 5.82 and newer always croak on wide characters, preventing users with Unicode passwords from logging in
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265398 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-12 17:45:45 +00:00
bzrmirror%bugzilla.org
ea8005b4db Bug 1001462 - Bug.search causes error when using simple token auth and specifying 'token' instead of 'Bugzilla_token'
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265397 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-12 14:45:44 +00:00
bzrmirror%bugzilla.org
676ba8147e Bug 1002357: memached->clear_config isn't always called where required
r=dkl, a=glob


git-svn-id: svn://10.0.0.236/trunk@265396 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-12 05:30:44 +00:00
asasaki%mozilla.com
4928bb4462 bug 1006829 - unthrottle 29.0.1. p=rail r=catlee
git-svn-id: svn://10.0.0.236/trunk@265395 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-09 17:25:23 +00:00
raliiev%mozilla.com
7ceb8c112b Bug 1006829 - tracking bug for build and release of Firefox and Fennec 29.0.1. r=catlee
git-svn-id: svn://10.0.0.236/trunk@265394 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-09 15:33:40 +00:00
bzrmirror%bugzilla.org
89fc4bc77f Bug 983275 - Switch Bugzilla's CI testing from Tinderbox to travis-ci
git-svn-id: svn://10.0.0.236/trunk@265391 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-07 16:31:25 +00:00
bzrmirror%bugzilla.org
41000aae4d Remove obsolete quicksearch_help_text CSS class, see bug 673385
git-svn-id: svn://10.0.0.236/trunk@265390 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-07 15:45:47 +00:00
bzrmirror%bugzilla.org
c27486f3c3 Bug 992091: Rename bug 'tag' to 'tags'.
r=glob, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265389 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-07 09:00:46 +00:00
bzrmirror%bugzilla.org
9f962a369e Bug 814415: See Also should use spaces as value separators instead of
commas
r=glob, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265388 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-07 06:30:46 +00:00
bzrmirror%bugzilla.org
40fc26a0d0 Bug 1005780 - When cloning a bug, also add the assignee and qa contact to the CC: list of the new bug
r=glob, a=glob


git-svn-id: svn://10.0.0.236/trunk@265387 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-06 23:15:45 +00:00
bzrmirror%bugzilla.org
4dbd6fb4a5 Bug 999331: searching attachment data is very slow due to an unbounded
select
r=LpSolit, a=glob


git-svn-id: svn://10.0.0.236/trunk@265386 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-05 07:30:44 +00:00
bzrmirror%bugzilla.org
3f7ab81853 Bug 995209 - Create a Build.PL script using Module::Build for testing/installing/packaging of Bugzilla code
- Fixed incorrect package name Apache-SizeLimit


git-svn-id: svn://10.0.0.236/trunk@265384 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-02 20:30:44 +00:00
raliiev%mozilla.com
c3f06f5752 Bug 1005238 - Disable background updates to Firefox 29
git-svn-id: svn://10.0.0.236/trunk@265383 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-02 18:24:09 +00:00
bzrmirror%bugzilla.org
df30bcddfe Bug 983275 - Switch Bugzilla's CI testing from Tinderbox to travis-ci
- Load from bugzilla/qa repo on github


git-svn-id: svn://10.0.0.236/trunk@265381 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-02 15:30:45 +00:00
bzrmirror%bugzilla.org
2d583e215d Bug 974214 - Make email notification for cleared flag identify the flag requestee. r=gerv, a=glob.
git-svn-id: svn://10.0.0.236/trunk@265380 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-02 15:16:30 +00:00
bzrmirror%bugzilla.org
79777ec7ef Bug 811855 - Make the check for sslbase parameter report a failure reason. r=gerv, a=glob.
git-svn-id: svn://10.0.0.236/trunk@265379 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-02 15:15:47 +00:00
bzrmirror%bugzilla.org
f818291743 Bug 927452 - When creating a new user account, the requirements for the password should be displayed. r=gerv, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265378 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-02 12:45:47 +00:00
bzrmirror%bugzilla.org
bdc9ffd820 Bug 999296: make checksetup.pl not complain about having added new
values to localconfig when the answers were supplied by an answer file.
r=LpSolit, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265377 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-02 02:30:46 +00:00
bzrmirror%bugzilla.org
06020872ed Bug 983275 - Switch Bugzilla's CI testing from Tinderbox to travis-ci
git-svn-id: svn://10.0.0.236/trunk@265376 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-01 21:30:47 +00:00
bzrmirror%bugzilla.org
8b7780e4ea Bug 995209 - Create a Build.PL script using Module::Build for testing/installing/packaging of Bugzilla code
r=glob,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265374 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-01 21:01:03 +00:00
catlee%mozilla.com
af76a421c2 Bug 978746: Throttle to 10% again r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@265373 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-01 16:08:21 +00:00
catlee%mozilla.com
74ee83a9af Bug 978746: Throttle fx 29 builds to 0% r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@265372 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-30 03:07:46 +00:00
bzrmirror%bugzilla.org
238e75682a Merge branch 'master' of ssh://git.mozilla.org/bugzilla/bugzilla
git-svn-id: svn://10.0.0.236/trunk@265371 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-29 17:16:34 +00:00
bzrmirror%bugzilla.org
413c4c7bec Bug 1001846: When editing cc_accessible using Bug.update, the method should always return is_cc_accessible as being changed
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265370 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-29 17:15:48 +00:00
bzrmirror%bugzilla.org
e63d9a6e0d Bug 1002775 - For the purpose of continuous integration testing, makedocs.pl should return failed status if one or more errors occurred building docs
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265369 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-29 15:30:47 +00:00
bzrmirror%bugzilla.org
77b85f8ea1 fix default permissions on clean-bug-user-last-visit.pl
git-svn-id: svn://10.0.0.236/trunk@265368 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-29 14:45:51 +00:00
seabld
49953ff9ad Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.25 to 2.26 build 1
git-svn-id: svn://10.0.0.236/trunk@265367 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-29 13:49:46 +00:00
catlee%mozilla.com
01cf60d595 Bug 978746: Increase throttle to 10% for 29.0 release r=nthomas
git-svn-id: svn://10.0.0.236/trunk@265366 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-29 12:10:47 +00:00
bzrmirror%bugzilla.org
dee4250920 Bug 745126: Fix warnings about uninitialized values when editing plan permissions
git-svn-id: svn://10.0.0.236/trunk@265365 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-28 14:30:54 +00:00
bzrmirror%bugzilla.org
c4629dd33c Bug 836238: Error pulling change history for test cases if there is no default tester
git-svn-id: svn://10.0.0.236/trunk@265364 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-28 14:30:42 +00:00
bzrmirror%bugzilla.org
75afd0dae1 Bug 931961: Use parens around qw()
r=LpSolit


git-svn-id: svn://10.0.0.236/trunk@265363 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-28 14:30:30 +00:00
bzrmirror%bugzilla.org
70dba43c4b Bug 980234: Testopia crashes if a component has no default QA contact
git-svn-id: svn://10.0.0.236/trunk@265362 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-28 14:30:19 +00:00
bzrmirror%bugzilla.org
56b428ce95 Add .gitrev for mirroring
git-svn-id: svn://10.0.0.236/trunk@265361 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-28 14:00:19 +00:00
catlee%mozilla.com
2b1a1e6747 Bug 978746: Throttle all releases to 0% in prep for Firefox 29 release r=rail
git-svn-id: svn://10.0.0.236/trunk@265360 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-28 13:38:21 +00:00
bzrmirror%bugzilla.org
7d666f6afc Bug 1001497: User.login incorrectly returns id = 0 when the login or password is missing
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265359 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-25 20:30:48 +00:00
bzrmirror%bugzilla.org
ed3d75959f Fix regression due to bug 539894
git-svn-id: svn://10.0.0.236/trunk@265358 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-24 22:15:45 +00:00
bzrmirror%bugzilla.org
d36b180a2e Don't call Bugzilla.pm from a Perl module itself (see bug 866927)
git-svn-id: svn://10.0.0.236/trunk@265357 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-24 13:15:45 +00:00
bzrmirror%bugzilla.org
1704c53c5a Fix some syntax errors left by bug 489028
git-svn-id: svn://10.0.0.236/trunk@265356 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-24 13:00:48 +00:00
bzrmirror%bugzilla.org
6ece89ba2c Bug 993910: Bugzilla/Search/Saved.pm:294 isn't using the cache
r=gerv, a=glob


git-svn-id: svn://10.0.0.236/trunk@265355 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-23 05:30:45 +00:00
bzrmirror%bugzilla.org
5e37ea7ac6 Bug 489028 - Record last-visited time of bugs when logged in
r=glob a=justdave


git-svn-id: svn://10.0.0.236/trunk@265354 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-22 21:00:52 +00:00
bzrmirror%bugzilla.org
e045e207ab Bumped versiion post-release
git-svn-id: svn://10.0.0.236/trunk@265352 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-21 21:15:46 +00:00
bhearsum%mozilla.com
a03ac8c5cc bug 997919: AUS should have a no-index robots.txt. r=rail
git-svn-id: svn://10.0.0.236/trunk@265351 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-21 18:39:56 +00:00
bzrmirror%bugzilla.org
cc1a56c2ba Bump version to 4.5.4
git-svn-id: svn://10.0.0.236/trunk@265348 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-18 22:15:53 +00:00
bzrmirror%bugzilla.org
c5697309a1 Bug 998484: Release notes for Bugzilla 4.4.4
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265346 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-18 22:00:46 +00:00
bzrmirror%bugzilla.org
2dbe169472 Bug 998323 - URLs pasted in comments are no longer displayed
r=LpSolit,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265345 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-18 21:30:44 +00:00
bzrmirror%bugzilla.org
4460bedfd3 Backout bug 984980
git-svn-id: svn://10.0.0.236/trunk@265343 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-18 19:45:46 +00:00
bzrmirror%bugzilla.org
b2f0593bcd Fix bustage due to bug 984980
git-svn-id: svn://10.0.0.236/trunk@265342 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-18 17:30:48 +00:00
seabld
0e0528869f Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.26b1 to 2.26b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265341 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-18 02:29:03 +00:00
Callek%gmail.com
f18d7c6376 Backout patched config change for SeaMonkey
git-svn-id: svn://10.0.0.236/trunk@265340 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-18 00:27:43 +00:00
bzrmirror%bugzilla.org
2b8938226e Bumped version post-release
git-svn-id: svn://10.0.0.236/trunk@265339 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-17 21:31:33 +00:00
bzrmirror%bugzilla.org
2bb10f29b4 Bump version to 4.5.3
git-svn-id: svn://10.0.0.236/trunk@265336 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-17 17:45:45 +00:00
bzrmirror%bugzilla.org
ab3da5aade Bug 968576: [SECURITY] Dangerous control characters allowed in Bugzilla text
r=glob a=justdave


git-svn-id: svn://10.0.0.236/trunk@265333 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-17 16:45:46 +00:00
bzrmirror%bugzilla.org
550894d547 Bug 713926: (CVE-2014-1517) [SECURITY] Login form lacks CSRF protection
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265332 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-17 16:30:48 +00:00
bzrmirror%bugzilla.org
c5e08a1e50 Remove tabs
git-svn-id: svn://10.0.0.236/trunk@265331 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-17 16:15:47 +00:00
bzrmirror%bugzilla.org
5ae864df90 Bug 984980 - add framework for keyboard shortcuts, and key to switch between preview and edit mode. Patch by <arnold@archlinux.info>, r=gerv, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265330 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-17 16:00:47 +00:00
bzrmirror%bugzilla.org
3214a56a8b Bug 997281: New QuickSearch operators can short-circuit each other depending on which ones are tested first
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265329 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-16 20:15:44 +00:00
bzrmirror%bugzilla.org
110a4e5108 Bug 995988: can_edit_product() can throw warnings if SUM() returns NULL
r=LpSolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@265328 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-16 19:45:45 +00:00
bzrmirror%bugzilla.org
e725d16bb8 Bug 993894 - the database query in bless_groups is slow
r=dkl,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265327 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-16 19:00:45 +00:00
bzrmirror%bugzilla.org
8c79eeb056 Bug 994619 - show_bug product list is sometimes missing the actual product a bug is in
r=gerv,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265326 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-16 18:45:46 +00:00
seabld
c5d9b2a769 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.26b1 to 2.26b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265325 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-16 13:45:34 +00:00
bzrmirror%bugzilla.org
b3128514d3 Bug 996946: Kill contrib/cvs-update.pl
a=justdave


git-svn-id: svn://10.0.0.236/trunk@265324 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-16 01:30:44 +00:00
bzrmirror%bugzilla.org
a68d5ef118 Bug 996164: Release notes for Bugzilla 4.4.3
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265322 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-15 22:00:47 +00:00
bzrmirror%bugzilla.org
2a3b0b3e89 Bug 995238 - Incomplete implementation of bug 540818 causes include_fields=_all to not work as expected
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265321 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-15 21:15:44 +00:00
bzrmirror%bugzilla.org
fde2186494 Bug 925181: contrib/jb2bz.py was out of date
r=justdave/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265320 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-15 18:30:47 +00:00
justdave%bugzilla.org
9adb5fc940 Bug 325853: Use Data::Dumper instead of internal code for GenerateCode, to futureproof it and guard against escaping errors.
r=timeless


git-svn-id: svn://10.0.0.236/trunk@265319 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-15 02:22:01 +00:00
bzrmirror%bugzilla.org
2284dbd2b6 Bug 995873 - Don't use replaceState if it would result in an invalid URL
r=justdave, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265318 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-15 01:45:45 +00:00
bzrmirror%bugzilla.org
c9bdaf3776 Bug 987205: Bugzilla crashes because it tries to import a non-exported login_token() subroutine from Bugzilla::Auth::Login::Cookie
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265317 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-14 19:45:48 +00:00
bzrmirror%bugzilla.org
c6f3ccbef9 Bug 540818 - Improve include_fields and exclude_fields to accept _default, _all and _custom keywords
r=glob,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265316 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-11 15:15:47 +00:00
despotdaemon
358aa6c45d Pseudo-automatic update of changes made by dtownsend@oxymoronical.com.
git-svn-id: svn://10.0.0.236/trunk@265315 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-10 23:56:50 +00:00
bzrmirror%bugzilla.org
68304d9eab Bug 974411: js/comments.js::toggle_all_comments() shouldn't try to match
non-comment elements
r=gerv, a=glob


git-svn-id: svn://10.0.0.236/trunk@265314 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-09 15:30:43 +00:00
seabld
99a0b8c16a Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.25b3 to 2.26b1 build 2
git-svn-id: svn://10.0.0.236/trunk@265313 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-09 13:31:07 +00:00
bzrmirror%bugzilla.org
4942b99235 Bug 987032: allow memcached to cache bugzilla configuration information
r=dkl, a=glob


git-svn-id: svn://10.0.0.236/trunk@265312 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-07 08:45:49 +00:00
bzrmirror%bugzilla.org
03dba9e9ec Bug 984505 - Link component and product to browse for other bugs in this category
r=glob,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265311 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-04 15:45:47 +00:00
bzrmirror%bugzilla.org
a96a844876 Bug 990252 - Using the webservices API, passing in certain keys as parameters containing . and - characters are silently dropped
r=glob,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265310 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-02 19:15:50 +00:00
bzrmirror%bugzilla.org
410fa0439f Bug 539894: Use <optgroup/> to group products into classifications in the product drop-down on show_bug.cgi
r=glob, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265309 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-02 08:45:57 +00:00
bzrmirror%bugzilla.org
e7ee7084ce Bug 990328: Document that bug tags can be searched by RPC.
git-svn-id: svn://10.0.0.236/trunk@265308 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-01 08:45:59 +00:00
bzrmirror%bugzilla.org
376f9a0fc0 Bug 989633 - Unable to change content type using Bug.update_attachment if attachment previously set to is_patch = 1
r=glob,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265307 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-31 16:30:47 +00:00
bzrmirror%bugzilla.org
0ab000118f Bug 989647 - Bug.update_attachment should allow for adding a comment when updating attachment details similar to attachment.cgi
r=glob,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265306 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-31 16:00:49 +00:00
despotdaemon
f0c088cffc Pseudo-automatic update of changes made by klibby@mozilla.com.
git-svn-id: svn://10.0.0.236/trunk@265305 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-31 13:41:54 +00:00
raliiev%mozilla.com
382029565f Bug 989542 - Please unthrottle Ffirefox 28.0 updates. r=aki
git-svn-id: svn://10.0.0.236/trunk@265304 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-28 23:12:06 +00:00
bzrmirror%bugzilla.org
0124de13a6 Bug 456043 - Make enter_bug consistent with show_bug for Severity and Priority
r=glob, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265303 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-27 14:15:47 +00:00
bzrmirror%bugzilla.org
d418a7c969 Fix bustage
git-svn-id: svn://10.0.0.236/trunk@265302 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-26 19:31:35 +00:00
bzrmirror%bugzilla.org
f5c9a6502e Bug 978070: Do not use document.write() to insert HTML code
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265301 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-26 19:30:50 +00:00
bzrmirror%bugzilla.org
b7c33fa015 remove tabs added by bug 984999
git-svn-id: svn://10.0.0.236/trunk@265300 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-26 09:00:52 +00:00
bzrmirror%bugzilla.org
f5771fc8ab Bug 984999: Move set_assign_to() out of bug/create/create.html.tmpl
r=LpSolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@265299 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-23 01:16:48 +00:00
bzrmirror%bugzilla.org
6c79d9aa88 Bug 962812: Use the "required" attribute where appropriate
r=LpSolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@265298 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-23 01:16:00 +00:00
bzrmirror%bugzilla.org
587081e50f Bug 276560: Use webbadge icons for alternate format links on buglist
r=LpSolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@265297 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-22 21:00:52 +00:00
despotdaemon
80efd3b154 Pseudo-automatic update of changes made by gavin@gavinsharp.com.
git-svn-id: svn://10.0.0.236/trunk@265296 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-22 02:26:38 +00:00
bzrmirror%bugzilla.org
f33644c0db Bug 399087 - Remove the 'mostfreqthreshold' parameter
r=dkl,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265295 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-21 14:45:54 +00:00
bzrmirror%bugzilla.org
5490a26edb Bug 986141 - As part of bug 513212, the see_also field still displays in enter_bug,cgi even if use_see_also param is disabled
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265294 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-21 14:30:54 +00:00
bzrmirror%bugzilla.org
ccc663f126 Bug 294021: Allow requestees to set attachment flags even if they don't have editbugs privs
r=gerv a=justdave


git-svn-id: svn://10.0.0.236/trunk@265293 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-21 11:15:52 +00:00
bzrmirror%bugzilla.org
064535f4e4 Merge branch 'master' of ssh://git.mozilla.org/bugzilla/bugzilla
git-svn-id: svn://10.0.0.236/trunk@265292 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-21 10:46:46 +00:00
bzrmirror%bugzilla.org
673ec987f5 Bug 980918 - Rename "Tags" to "Personal Tags". Patch by acho; r=gerv, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265291 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-21 10:45:55 +00:00
bzrmirror%bugzilla.org
7a93e17c52 Bug 983839 - Add the ability to add see_also values in enter_bug.cgi and Bug.create
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265290 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-20 20:00:53 +00:00
bhearsum%mozilla.com
21f05c301e bug 961831: fully throttle firefox 28.0. r=rail
git-svn-id: svn://10.0.0.236/trunk@265289 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-20 14:20:13 +00:00
seabld
ff915689c0 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.24 to 2.25 build 1
git-svn-id: svn://10.0.0.236/trunk@265288 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-19 08:27:17 +00:00
bhearsum%mozilla.com
964b44628f bug 961831: tracking bug for build and release of Firefox and Fennec 28.0 - throttle at 10%. r=rail
git-svn-id: svn://10.0.0.236/trunk@265287 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-18 13:09:00 +00:00
seabld
83e3cb043f Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.25b2 to 2.25b3 build 1
git-svn-id: svn://10.0.0.236/trunk@265285 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-14 12:50:01 +00:00
bzrmirror%bugzilla.org
2c91703716 Bug 728892: The attachment "Details" page is still vulnerable to Clickjacking with SVG or XHTML attachments
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265284 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-12 19:00:52 +00:00
bzrmirror%bugzilla.org
8c36f79194 Renamed .bzrignore to .gitignore
git-svn-id: svn://10.0.0.236/trunk@265283 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-11 20:45:50 +00:00
bzrmirror%bugzilla.org
273acc6c54 Added .gitrev.
git-svn-id: svn://10.0.0.236/trunk@265282 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-11 20:15:53 +00:00
bzrmirror%bugzilla.org
16e73e51ca Bug 566331: Move JS functions out of bug/edit.html.tmpl
r=LpSolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@265280 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-10 14:16:46 +00:00
bzrmirror%bugzilla.org
6100eae86a Bug 956190 (part 5): Merge attachment.css, dependency-tree.css, enter_bug.css and show_bug.css into bug.css
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265279 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-10 14:15:58 +00:00
seabld
18a8d8c0cd Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.25b1 to 2.25b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265278 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-09 05:24:21 +00:00
bzrmirror%bugzilla.org
0074077d86 Bug 956190 (part 4): Merge duplicates.css, reports.css, search_form.css, show_multiple.css and summarize-time.css with buglist.css
git-svn-id: svn://10.0.0.236/trunk@265277 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-08 22:45:58 +00:00
bzrmirror%bugzilla.org
89770e5763 Bug 318715 - iCalendar Buglist doesn't include deadline
r=dkl,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265276 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-08 21:15:50 +00:00
bzrmirror%bugzilla.org
bb96171b28 Bug 980392 - Storable error generating when create etags for Bug.get under certain circumstances
git-svn-id: svn://10.0.0.236/trunk@265275 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-06 18:00:49 +00:00
bzrmirror%bugzilla.org
3d9dc1c13f Bug 977523: Comment textarea has padding:0
r=lpsolit, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265274 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-05 15:01:39 +00:00
bzrmirror%bugzilla.org
6f1c8425cb Bug 977137: Comment and Preview tabs need accessibility markup
r=dkl, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265273 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-05 15:00:52 +00:00
bzrmirror%bugzilla.org
890f996ba4 Bug 956190 (part 3): Remove IE-fixes.css (Internet Explorer 7 and older are no longer supported)
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265272 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-04 23:15:51 +00:00
bzrmirror%bugzilla.org
d5d5272792 Bug 387593: Remove debug code from attachment.js
r=LpSolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@265271 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-04 23:00:49 +00:00
bzrmirror%bugzilla.org
9dcf99c88c Bug 956190 (part 2): Merge params.css and editusers.css with admin.css
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265270 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-04 22:45:52 +00:00
bzrmirror%bugzilla.org
38ff46d997 Bug 365050 - removal notice doesn't use English correctly (lists: =and)
r=dkl,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265269 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-04 20:46:41 +00:00
bzrmirror%bugzilla.org
a40f30d988 Bug 978619 - Typo in Bugzilla/Template.pm
r=dkl,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265268 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-04 20:45:52 +00:00
bzrmirror%bugzilla.org
ea09842882 Bug 365057 - messages.html.tmpl file bareword should be tagged in <code> or something
r=dkl,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265267 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-04 20:30:51 +00:00
bzrmirror%bugzilla.org
2c2c454b38 Bug 977030 - Remove the useless buglist_joined variable in buglist.cgi
r=dkl,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265266 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-04 20:00:49 +00:00
bzrmirror%bugzilla.org
6edaaba3e6 Bug 979140: Remove remaining <tt> elements
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265265 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-04 17:15:49 +00:00
bzrmirror%bugzilla.org
649834cb0e Bug 956190 (part 1): Merge index.css and page.css with global.css
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265264 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-02 13:30:53 +00:00
bzrmirror%bugzilla.org
0e8bf965ad Bug 863093: The usermatchmode parameter no longer exists. The POD for User.get must be fixed accordingly
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265263 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-28 10:16:40 +00:00
bzrmirror%bugzilla.org
68db96df77 Bug 536171: Large Text Box should have maxlength and wrap => 1 in buglists
r=LpSolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@265262 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-28 10:15:52 +00:00
bzrmirror%bugzilla.org
2033bfe49a Bug 975112 - Add the "Preview" mode for "Optional Comment" in the Create New Attachement page
r=glob,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265261 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-28 05:45:52 +00:00
bzrmirror%bugzilla.org
a3d4ea4500 Bug 947823: Replace gender-specific pronouns with gender-neutral pronouns
r=gerv a=justdave


git-svn-id: svn://10.0.0.236/trunk@265260 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-27 09:00:54 +00:00
bzrmirror%bugzilla.org
ca9a5471c3 Bug 893595: The pink colour of private comment will turn to white after refreshing the page
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265259 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-27 08:45:48 +00:00
bzrmirror%bugzilla.org
4530f26f49 Bug 466178 - Add an INTEGER custom field type
r=glob, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265258 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-26 22:45:50 +00:00
bzrmirror%bugzilla.org
d0ab183ee0 Bug 976796 - Spelling mistakes in Bugzilla/WebService/Bug.pm
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265257 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-26 16:15:47 +00:00
bzrmirror%bugzilla.org
8c4f1b7471 Remove "Unicode non-character 0xfdd0 is illegal for interchange" warnings thrown by Perl 5.10.1 and 5.12, see bug 405011
r=gerv


git-svn-id: svn://10.0.0.236/trunk@265256 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-26 10:30:46 +00:00
bzrmirror%bugzilla.org
362497fb99 Bug 972881 - Add hooks to Bugzilla/WebService/Server/REST.pm to allow for extensions to extend and alter REST data
r=glob,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265255 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-25 21:46:33 +00:00
bzrmirror%bugzilla.org
bd238cf675 Bug 962060 - User.get ignores the "maxusermatches" parameter and allows listing all email addresses
r=LpSolit,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265254 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-25 21:45:48 +00:00
bzrmirror%bugzilla.org
f21e0784e4 Bug 405011: Text is cut off when containing Unicode supplementary characters (outside BMP) with MySQL as backend
r=gerv a=justdave


git-svn-id: svn://10.0.0.236/trunk@265253 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-25 20:46:39 +00:00
bzrmirror%bugzilla.org
7668fabd97 Bug 967883: modify_keywords() shouldn't throw an error when an unprivileged user doesn't alter the keywords list
r=gerv a=justdave


git-svn-id: svn://10.0.0.236/trunk@265252 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-25 20:45:53 +00:00
bzrmirror%bugzilla.org
39c2859c40 Bug 975204: Comment Preview tabs broken in New bug page
r=gerv, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265251 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-25 14:45:48 +00:00
bzrmirror%bugzilla.org
4447cc32d6 Bug 963120 - allow extensions to document themselves, and build result into docs. r=LpSolit, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265250 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-25 12:15:52 +00:00
bzrmirror%bugzilla.org
47df6815a6 Bug 975896: Bugzilla crashes when editing a flag type which is not specifically requestable
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265249 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-24 17:15:54 +00:00
bzrmirror%bugzilla.org
3fd13a2559 Bug 944543 - Create after_comment_commit_button hook in upstream
r=dkl,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265248 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-19 16:45:48 +00:00
bzrmirror%bugzilla.org
48b00d7d12 Bug 972465 - Update all REST documentation to prepend /rest/ to the examples to match mod_rewrite example
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265247 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-18 04:30:47 +00:00
bzrmirror%bugzilla.org
076726d426 Fix bad or_groups SQL for determining if a user can see a product. r=LpSolit, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265246 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-17 17:00:48 +00:00
bzrmirror%bugzilla.org
8124a0f52d Bug 966676: The 'sudo' cookie should not be accessible from JavaScript
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265245 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-14 23:32:26 +00:00
bzrmirror%bugzilla.org
3bccdd14ea Bug 972451: The "Confirm Changes" button in the "Suspicious Action" page appears on the right of the error message with wide screens
r=gerv a=justdave


git-svn-id: svn://10.0.0.236/trunk@265244 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-14 23:31:38 +00:00
bzrmirror%bugzilla.org
2143db98f6 Bug 970283: Bump URI version to 1.55 to correctly escape single quotes in URLs
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265243 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-14 23:30:51 +00:00
hwine%mozilla.com
733f3d5a1b bug 972487 - unthrottle 27.0.1; r=me
git-svn-id: svn://10.0.0.236/trunk@265242 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-14 22:18:19 +00:00
hwine%mozilla.com
a260912bf3 bug 972487 - Throttle 27.0.1 to 10%; r=rail
git-svn-id: svn://10.0.0.236/trunk@265241 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-13 18:45:58 +00:00
seabld
c60fd5d23d Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.24b1 to 2.25b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265240 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-13 06:32:50 +00:00
bzrmirror%bugzilla.org
77e5d9646b Bug 40896: Bugzilla needs a "preview" mode for comments
r=gerv, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265239 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-13 06:00:55 +00:00
bzrmirror%bugzilla.org
7e46ed1f71 Update .bzrignore to remove docs/en/latex directory and add docs/en/pdf/ directory. r=LpSolit; a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265238 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-12 14:45:49 +00:00
bzrmirror%bugzilla.org
4f435f4fdd Bug 969881: All "Help" links in the header and footer of pages point to inexistent files
r=gerv a=justdave


git-svn-id: svn://10.0.0.236/trunk@265237 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-12 14:16:00 +00:00
bzrmirror%bugzilla.org
050bf4ebac Bug 970184: "possible duplicates" shouldn't truncate words at the first non-word character
r=dkl, a=glob


git-svn-id: svn://10.0.0.236/trunk@265236 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-11 05:15:54 +00:00
bzrmirror%bugzilla.org
6f28066c2f Bug 926085: Forbird single quotes to delimit URLs (no <a href='...'>)
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265235 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-10 17:45:45 +00:00
bzrmirror%bugzilla.org
a2a833a23b makedocs.pl should remove docs/en/doctrees after reST build is complete. r=LpSolit, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265234 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-10 17:15:45 +00:00
bzrmirror%bugzilla.org
e581545946 Fix problem of variables not being replaced in RTD documentation by removing references to them. r=LpSolit, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265233 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-10 17:01:37 +00:00
bzrmirror%bugzilla.org
25fa713d4a Rename random stuff.css to bugzilla.css and start using it for HTML output. r=LpSolit, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265232 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-10 17:00:50 +00:00
bzrmirror%bugzilla.org
88905ed583 Bug 961789: large dependency trees with lots of resolved bugs are very slow to load
r=LpSolit, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265231 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-10 08:15:58 +00:00
asasaki%mozilla.com
d1ee906edd bug 943053 - unthrottle firefox 27. r=rail
git-svn-id: svn://10.0.0.236/trunk@265230 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-07 18:50:46 +00:00
bzrmirror%bugzilla.org
6aeb128e89 Clarify "delete groups" warning for groups on products. r=LpSolit, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265229 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-07 10:15:47 +00:00
asasaki%mozilla.com
d0b056b370 bug 943053 - fully throttle 27.0. r=rail
git-svn-id: svn://10.0.0.236/trunk@265228 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-06 21:27:53 +00:00
bzrmirror%bugzilla.org
3f5e4483ad Bug 967607: User.get shouldn't load data that requires extra database queries unless required
r=dkl, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265227 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-06 06:45:46 +00:00
bzrmirror%bugzilla.org
0d5b963f0a Bug 966277 - Bugzilla native REST API should default to application/json if no Accept header was set
r=dkl,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265226 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-05 22:45:46 +00:00
seabld
109fd4df92 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.23 to 2.24 build 1
git-svn-id: svn://10.0.0.236/trunk@265225 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-05 07:37:17 +00:00
raliiev%mozilla.com
85b2e1c1ec Bug 908134 - Figure out how to offer release build to beta users, r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@265224 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-04 14:14:18 +00:00
seabld
175c064ec3 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.23b2 to 2.24b1 build 2
git-svn-id: svn://10.0.0.236/trunk@265223 18797224-902f-48f8-a5cc-f745e15eee43
2014-02-01 01:22:19 +00:00
bzrmirror%bugzilla.org
41a21e2898 Bug 956233: enable USE_MEMCACHE on most objects
r=dkl, a=glob


git-svn-id: svn://10.0.0.236/trunk@265222 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-31 07:30:50 +00:00
bzrmirror%bugzilla.org
250ed11725 [Bug 965193] Generate PDFs in pdf/ directory always (not latex/ directory). r=LpSolit, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265221 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-29 16:00:44 +00:00
bzrmirror%bugzilla.org
62c8e14bc8 Bug 898920 - Allow Savane (e.g. Savannah) See Also URLs
r=justdave, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265220 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-29 12:16:28 +00:00
bzrmirror%bugzilla.org
c48b279803 Bug 898920 - Allow Savane (e.g. Savannah) See Also URLs
r=justdave, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265219 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-29 12:15:44 +00:00
bzrmirror%bugzilla.org
74fdf40e21 Bug 963145 - conf.py should read Bugzilla version from its canonical location. r=glob, a=justdave
git-svn-id: svn://10.0.0.236/trunk@265218 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-29 10:15:44 +00:00
bzrmirror%bugzilla.org
9354fb4209 Revert accidential change in the fix for Bug 76498
git-svn-id: svn://10.0.0.236/trunk@265217 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-28 03:30:43 +00:00
bzrmirror%bugzilla.org
84e2286ae6 Bumped version post-release
git-svn-id: svn://10.0.0.236/trunk@265216 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-28 00:30:44 +00:00
bzrmirror%bugzilla.org
e509fa587c Fix year in the documentation
git-svn-id: svn://10.0.0.236/trunk@265215 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-27 22:45:41 +00:00
bzrmirror%bugzilla.org
4a27cb190c Bump version to 4.5.2
git-svn-id: svn://10.0.0.236/trunk@265214 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-27 22:30:42 +00:00
bzrmirror%bugzilla.org
a98d053f42 Bump version to 4.5.2
git-svn-id: svn://10.0.0.236/trunk@265213 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-27 21:15:42 +00:00
bzrmirror%bugzilla.org
821e2ae0ea Fix bustage in Perl 5.10 and 5.12
git-svn-id: svn://10.0.0.236/trunk@265212 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-27 18:45:43 +00:00
bzrmirror%bugzilla.org
e56fdbfbb3 Bug 76498: QuickSearch: support comparison operators other than substring
r=LpSolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@265211 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-27 18:30:44 +00:00
bzrmirror%bugzilla.org
c3c9d1dc34 Bug 964113: Digest::SHA 5.82 and newer always croak on wide characters, preventing saved searched from being displayed
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265210 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-27 18:15:43 +00:00
bzrmirror%bugzilla.org
bbfb368b3d Bug 964294 - Require version 1.0 or greater of Sphinx to build docs. r=LpSolit, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265209 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-27 16:00:45 +00:00
bzrmirror%bugzilla.org
a17b6d1ed8 Bug 961654 - Fix Landfill bugzilla-tip links in new reST docs. r=LpSolit, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265208 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-27 15:17:47 +00:00
bzrmirror%bugzilla.org
f12271f287 Bug 960969 - Write documentation style guide. r=LpSolit, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265207 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-27 15:16:52 +00:00
bzrmirror%bugzilla.org
83bcab3a9b Bug 962571 - Fix syntax highlighting of code blocks. r=LpSolit, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265206 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-27 15:15:56 +00:00
bzrmirror%bugzilla.org
a2b33d0df8 Bug 939838 - Kill Bugzilla::User::user_id_to_login function. r=LpSolit, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265205 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-27 15:00:46 +00:00
bzrmirror%bugzilla.org
d70f4aae29 Bug 947150: improve relnotes to mention that the 'version' module must now be installed
r/a=justdave on IRC


git-svn-id: svn://10.0.0.236/trunk@265204 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-26 19:45:44 +00:00
bzrmirror%bugzilla.org
8ed79d9229 Bug 933253: In duplicates.cgi, display the Priority field instead of the OS field
r=LpSolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@265203 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-26 12:15:44 +00:00
bzrmirror%bugzilla.org
355d4e6a0d Bug 959732 was only partially fixed...
git-svn-id: svn://10.0.0.236/trunk@265202 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-25 14:45:42 +00:00
bzrmirror%bugzilla.org
c39020fa4a Bug 959732: The guided bug entry form lists components disabled for new bug reports
r=LpSolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@265201 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-25 14:30:43 +00:00
bzrmirror%bugzilla.org
b8d8dc126b Bugzilla is now hardcoded in trunk (instead of terms.Bugzilla)
git-svn-id: svn://10.0.0.236/trunk@265200 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-24 17:45:57 +00:00
bzrmirror%bugzilla.org
42b5c7c392 Bug 947150: Release notes for Bugzilla 4.4.2
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265199 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-24 16:45:57 +00:00
bzrmirror%bugzilla.org
b1735a9cb7 Bug 962569 - Stop the auto-substitution of "--" with "–"; turn off SmartyPants. r=LpSolit, a=glob.
git-svn-id: svn://10.0.0.236/trunk@265198 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-24 10:30:56 +00:00
bzrmirror%bugzilla.org
c108200441 Bug 962570 - Remove the glossary. r=LpSolit, a=glob.
git-svn-id: svn://10.0.0.236/trunk@265197 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-24 09:46:56 +00:00
bzrmirror%bugzilla.org
66265cc322 Bug 962568 - Replace all "Caution" with "Warning" and all "Tip" with "Note". r=LpSolit, a=glob.
git-svn-id: svn://10.0.0.236/trunk@265196 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-24 09:45:59 +00:00
bzrmirror%bugzilla.org
2f1ff490e9 Bug 962416 - index.cgi crashes when using a Postgres database
r=justdave, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265195 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-22 04:45:42 +00:00
bzrmirror%bugzilla.org
3cfcc402d3 Bug 961398: Let rst2pdf build the PDF documentation if pdflatex is not available
r=gerv a=glob


git-svn-id: svn://10.0.0.236/trunk@265194 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-21 16:45:43 +00:00
bzrmirror%bugzilla.org
80a78726ad Bug 913364 - Reuse preset values when navigation through enter_bug.cgi
r=glob, a=glob


git-svn-id: svn://10.0.0.236/trunk@265193 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-20 23:30:44 +00:00
bzrmirror%bugzilla.org
8829c747f1 Bug 958825: Use HTML5's attribute "autofocus" instead of onload="element.focus()"
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265192 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-20 22:30:48 +00:00
bzrmirror%bugzilla.org
6fb90285d6 Bug 912064 - remove very old release notes; they are in source control if you need them :-).
git-svn-id: svn://10.0.0.236/trunk@265191 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-20 16:45:43 +00:00
bzrmirror%bugzilla.org
34070750b6 Bug 961775 - add "--pod-only" and "--with-pdf" switches to makedocs.pl. Patches by gerv and LpSolit; r=wicked, a=glob.
git-svn-id: svn://10.0.0.236/trunk@265190 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-20 16:15:44 +00:00
bzrmirror%bugzilla.org
97be02d841 Fix incorrect formatting in the glossary
git-svn-id: svn://10.0.0.236/trunk@265189 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-18 20:15:43 +00:00
bzrmirror%bugzilla.org
c4174516e3 Revert incorrect path to style.css
git-svn-id: svn://10.0.0.236/trunk@265188 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-18 00:15:42 +00:00
bzrmirror%bugzilla.org
5bb3b72724 Bug 912064 - convert docs to ReStructured Text (.rst) format. r,a=justdave.
git-svn-id: svn://10.0.0.236/trunk@265187 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-17 10:31:22 +00:00
bzrmirror%bugzilla.org
c5eb0fa467 Bug 960748 - Queries involving comment tags crash
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265186 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-17 06:15:43 +00:00
bzrmirror%bugzilla.org
4b1e0f19a3 Split a too long line
git-svn-id: svn://10.0.0.236/trunk@265185 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-16 19:00:51 +00:00
bzrmirror%bugzilla.org
473a52ef72 Bug 686333: Bugzilla login field should be <input type=email>
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265184 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-16 18:30:52 +00:00
bzrmirror%bugzilla.org
c05f341d31 Bug 959402: Saved searches in the page footer cause the page to not be valid HTML5
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265183 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-16 18:15:41 +00:00
bzrmirror%bugzilla.org
0673c0dfc1 Bug 958875: Add a progress bar to the Server Push page
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265182 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-16 17:46:27 +00:00
bzrmirror%bugzilla.org
33572049bc Bug 673385: Dragging text into the QuickSearch field on index.cgi doesn't delete the help text in this field
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265181 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-16 17:45:44 +00:00
bzrmirror%bugzilla.org
7ce4a294ec Bug 888731: Bugzilla login field should use "placeholder" HTML5 attribute instead of JavaScript
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265180 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-16 17:30:55 +00:00
bzrmirror%bugzilla.org
88f29e88f1 Bug 955962: memcached touched unnecessarily when USE_MEMCACHED is false or no updates made
r=dkl, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265179 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-14 04:46:27 +00:00
bzrmirror%bugzilla.org
483ef3f94e Bug 845725: interdiff hangs on massive patches
r=dkl, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265178 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-14 04:45:46 +00:00
bzrmirror%bugzilla.org
5c75c91fd6 Bug 904467 - error when %recipients is empty (e.g. after bugmail_recipients empties it)
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265177 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-13 16:30:43 +00:00
raliiev%mozilla.com
fe45b16022 Bug 937583 - Move old esr nightly users to esr24. r=nthomas
git-svn-id: svn://10.0.0.236/trunk@265176 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-13 15:23:05 +00:00
bzrmirror%bugzilla.org
479ccdf3ee Bug 958057 - REST API - No example of non-rewrite endpoint in POD docs, no config directions for how to create rewrite
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265175 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-09 17:45:42 +00:00
bzrmirror%bugzilla.org
5a4f50cb8d Bug 957826: XSS in the comment tag field
r=glob a=justdave


git-svn-id: svn://10.0.0.236/trunk@265174 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-09 17:00:47 +00:00
bzrmirror%bugzilla.org
07ae92c83f Bug 360231: importxml.pl ignores the maxattachmentsize and maxlocalattachment parameters when importing attachments
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265173 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-08 23:15:40 +00:00
bzrmirror%bugzilla.org
013e0995dd Replace [ and ] in URLs by %5B and %5D respectively to make the HTML5 validator happy
git-svn-id: svn://10.0.0.236/trunk@265172 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-08 23:01:13 +00:00
bzrmirror%bugzilla.org
eb67538091 Bug 546838: Upgrade Bugzilla to HTML5
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265171 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-08 19:45:46 +00:00
bzrmirror%bugzilla.org
34a5f3bd4d Bug 840407 (part 2): Remove the "align" and "valign" attributes from extensions
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265170 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-08 16:15:48 +00:00
bzrmirror%bugzilla.org
b96e324a0a Bug 770073 - Hardcode "Bugzilla" in templates when it's not related to a specific Bugzilla installation
r=dkl,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265169 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-07 20:45:51 +00:00
bzrmirror%bugzilla.org
3b067afe25 Bug 952796: Remove HTML attributes which are obsolete in HTML5
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265168 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-07 19:30:54 +00:00
bzrmirror%bugzilla.org
976adc7fad Bug 840407: Remove the "align" and "valign" attributes
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265167 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-07 10:45:51 +00:00
bzrmirror%bugzilla.org
52746ca1dc Bug 390955: Add some useful standard searches to the index page
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265166 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-06 23:15:46 +00:00
bzrmirror%bugzilla.org
6600ccb376 Bug 945535 - When loading bugs with large number of attachments, $bug->attachments reloads all flags for each attachment even if preloaded
r=LpSolit,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265165 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-02 23:31:24 +00:00
bzrmirror%bugzilla.org
5d17c6384f Bug 952284 - Tags set to private comments should not be disclosed to everybody in the bug activity table
r=LpSolit,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265164 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-02 23:30:43 +00:00
bzrmirror%bugzilla.org
fb1d54cbe5 Fix on checkin for bug 543432
git-svn-id: svn://10.0.0.236/trunk@265163 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-02 23:16:23 +00:00
bzrmirror%bugzilla.org
71bc0fd474 Bug 543432: [PostgreSQL] Crash when typing a string in combination with a numeric field
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265162 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-02 23:15:43 +00:00
bzrmirror%bugzilla.org
2432aed10d Bug 895813: Mandatory custom fields whose visibility depends on a component are not required on bug creation
r=pketolai r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265161 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-02 23:00:42 +00:00
bzrmirror%bugzilla.org
d5347b9033 Bug 946565 - Bug Mail does not correct notify when two people have made changes
r=LpSolit, a=simon


git-svn-id: svn://10.0.0.236/trunk@265160 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-02 22:30:42 +00:00
bzrmirror%bugzilla.org
14ded6f71d Bug 940010 - When entering a new bug, if there's only one active version or component, automatically select it
r=LpSolit, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265159 18797224-902f-48f8-a5cc-f745e15eee43
2014-01-02 22:15:42 +00:00
bzrmirror%bugzilla.org
531e7154f1 Bug 756048 - Add and update bug and attachment flags using the WebService API
r=sgreen,a=justdave


git-svn-id: svn://10.0.0.236/trunk@265158 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-31 14:00:44 +00:00
bzrmirror%bugzilla.org
8737d78640 Bug 920681: Remove the cellspacing and cellpadding attributes from tables
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265157 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-31 13:00:56 +00:00
bzrmirror%bugzilla.org
c8a484c23f Bug 952795: Remove all style="..." attributes from HTML elements
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265156 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-28 20:00:52 +00:00
bzrmirror%bugzilla.org
48e9cda1a0 Bug 870369: An error about longdescs.comment_id is thrown by MySQL 5.1 and older when upgrading to 4.4 if sql_auto_is_null = 1
r=wicked a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265155 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-25 09:00:45 +00:00
bzrmirror%bugzilla.org
37f0c2ad4b Bug 952793: Remove HTML4 elements which are obsolete in HTML5
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265154 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-22 20:30:45 +00:00
bzrmirror%bugzilla.org
b2b72a4384 Bug 918013: Add Bugzilla messaging system in quips page
r=LpSolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@265153 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-22 15:30:43 +00:00
bzrmirror%bugzilla.org
fb53bca572 Bug 322402: Inline styling using bgcolor=x or color=x should be replaced by CSS styles
r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265152 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-22 15:00:56 +00:00
bzrmirror%bugzilla.org
1bffdbd0cf Bug 748095: Bugzilla crashes when the shutdownhtml parameter is set and using a non-cookie based authentication method
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265151 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-21 16:45:41 +00:00
nrthomas%gmail.com
53490d1b95 Bug 928458, unthottle Firefox 26.0, r=aki
git-svn-id: svn://10.0.0.236/trunk@265150 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-19 23:13:10 +00:00
bzrmirror%bugzilla.org
fd8b5cfb03 Bug 950491: When viewing a dependency graph, an "uninitialized value" warning is thrown
r/a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265149 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-19 17:45:41 +00:00
bzrmirror%bugzilla.org
01efd2530d Bug 237498: Add memcached integration
r=dkl, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265148 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-19 06:00:50 +00:00
bzrmirror%bugzilla.org
1768a0c01a Bug 452525 - Allow the option of "OR" groups ("any of the groups" instead of "all of the groups")
r=gerv, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265147 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-18 20:45:43 +00:00
bzrmirror%bugzilla.org
55202ab9cf Bug 452525 - Allow the option of "OR" groups ("any of the groups" instead of "all of the groups")
r=gerv, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265146 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-18 11:16:14 +00:00
bzrmirror%bugzilla.org
5510c1f20d Bug 227380 - bad color contrast for links in error messages
r=simon, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265145 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-18 10:52:59 +00:00
bzrmirror%bugzilla.org
a4c28f0a1d Bug 815026: Bugzilla::Object cache should be cleared when an object is updated or removed from the database
r=dkl, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265144 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-17 06:03:20 +00:00
bzrmirror%bugzilla.org
9c1c4de307 Bug 651786: Modifying the default user object modifies the DEFAULT_USER constant
r=sgreen, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265143 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-17 05:32:56 +00:00
bzrmirror%bugzilla.org
9ebe6732b2 Bug 905511: When creating a new bug, the version select field is not highlighted
r/a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265142 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-17 01:03:09 +00:00
hwine%mozilla.com
5fe7c4f60a bug 928458 - throttle to 0%; r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@265141 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-12 19:52:50 +00:00
bzrmirror%bugzilla.org
22b3e8d53d Bug 947766 - Poorly worded error message when attempting to attach a file that is too large
r=glob, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265140 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-12 12:33:08 +00:00
seabld
ffcdf42b4f Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.22.1 to 2.23 build 1
git-svn-id: svn://10.0.0.236/trunk@265139 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-11 17:58:50 +00:00
hwine%mozilla.com
274a979942 bug 928458 - throttle to 10% for 26.0; r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@265138 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-10 14:14:13 +00:00
bzrmirror%bugzilla.org
072c3365ed Bug 930867: background bugmail generation throws a "Can't store CODE items" error on dep_only changes
r=sgreen, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265137 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-10 03:33:25 +00:00
seabld
dfa250e9f1 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.23b1 to 2.23b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265136 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-08 04:07:09 +00:00
bzrmirror%bugzilla.org
5c7c0a283d Bug 942599: Documentation about possible_duplicates() lists 'products' as argument instead of 'product'
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265134 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-05 22:45:55 +00:00
seabld
f2c579c4bd Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.22b2 to 2.23b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265133 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-05 15:15:35 +00:00
Callek%gmail.com
8cd05090e1 Backout 2.23 updates
git-svn-id: svn://10.0.0.236/trunk@265132 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-05 05:22:20 +00:00
lpsolit%gmail.com
a75d430a71 Bug 940466: Do a separate "cvs login" before committing changes
feedback=myk


git-svn-id: svn://10.0.0.236/trunk@265131 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-04 17:08:35 +00:00
seabld
9656d9c05c Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.22b2 to 2.23b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265130 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-04 09:45:30 +00:00
bzrmirror%bugzilla.org
fdbd2df603 Bug 944583 - sendunsentbugmail.pl has bad SQL
r=glob, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265129 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-02 22:46:38 +00:00
bzrmirror%bugzilla.org
f72a211292 Bug 944586 - URLs in the query results are not links
r=glob, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265128 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-02 22:45:50 +00:00
bzrmirror%bugzilla.org
7b4ed6a3db Bug 938596: remove tabs
git-svn-id: svn://10.0.0.236/trunk@265127 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-02 18:45:56 +00:00
bzrmirror%bugzilla.org
f94dc407ee Bug 938300: vers_cmp() incorrectly compares module versions
r=sgreen a=justdave


git-svn-id: svn://10.0.0.236/trunk@265126 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-02 16:15:49 +00:00
bzrmirror%bugzilla.org
0db274e851 Bug 938596 - Add hook for modifying HTTP headers. r=LpSolit.
git-svn-id: svn://10.0.0.236/trunk@265125 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-27 18:15:47 +00:00
asasaki%mozilla.com
1c60f260f4 bug 937948 - back out revision 1.279. (use balrog instead)
git-svn-id: svn://10.0.0.236/trunk@265124 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-26 21:44:02 +00:00
asasaki%mozilla.com
d4c8e65dc3 bug 937948 - add nightly updates for holly. r=hwine
git-svn-id: svn://10.0.0.236/trunk@265123 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-26 02:22:24 +00:00
bzrmirror%bugzilla.org
9a6c88db79 Fix bustage due to bug 793963. Some very old bugs may have no comments
git-svn-id: svn://10.0.0.236/trunk@265122 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-25 13:30:46 +00:00
bzrmirror%bugzilla.org
5fc4f56f2a Fix warning caused by Bug 793963
git-svn-id: svn://10.0.0.236/trunk@265121 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-25 08:45:46 +00:00
bzrmirror%bugzilla.org
2d52187f34 Bug 793963: add the ability to tag comments with arbitrary tags
r=dkl, a=glob


git-svn-id: svn://10.0.0.236/trunk@265120 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-25 08:30:58 +00:00
lpsolit%gmail.com
7e17939b73 Correctly escape all @ characters from the username
git-svn-id: svn://10.0.0.236/trunk@265119 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-23 17:14:52 +00:00
bzrmirror%bugzilla.org
ed18f08aac Bug 923865: Testopia is not compatible with Bugzilla 4.5 due to a DB schema change
git-svn-id: svn://10.0.0.236/trunk@265118 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-20 13:00:17 +00:00
bzrmirror%bugzilla.org
41618b7096 Bug 929345: bug history/activity shouldn't collapse multi-line values to a single line
r=LpSolit, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265117 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-19 16:30:55 +00:00
bzrmirror%bugzilla.org
50ec8c4f59 Bug 939844: Don't cache template filters when arguments are supplied
r=LpSolit, a=glob


git-svn-id: svn://10.0.0.236/trunk@265116 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-19 14:01:04 +00:00
bzrmirror%bugzilla.org
2ed7b818d9 Bug 937180: creation_ts of bugs and attachments always at 0 seconds
r=dkl, a=simon


git-svn-id: svn://10.0.0.236/trunk@265115 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-18 14:30:57 +00:00
bzrmirror%bugzilla.org
a77be811b3 Bug 97956 - Give summary and URL of bugs added or removed from dependencies in bugmail
r=LpSolit, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265114 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-17 23:16:03 +00:00
bzrmirror%bugzilla.org
20552e7fee Bug 927900: Kill longdesclength
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265113 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-14 23:15:56 +00:00
bzrmirror%bugzilla.org
7df0031b51 Bug 938161: sql_date_format() method for SQLite has an incorrect default format
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265112 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-14 17:01:11 +00:00
seabld
19316b1dc0 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.22 to 2.22.1 build 1
git-svn-id: svn://10.0.0.236/trunk@265111 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-14 09:21:50 +00:00
bzrmirror%bugzilla.org
0b11d8b559 Bug 843457: PROJECT environment variable is not honored when mod_perl is enabled
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265110 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-13 15:30:58 +00:00
bzrmirror%bugzilla.org
16714898f7 Bug 937991 - Fix typo in Bugzilla::Component documentation
r=glob, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265109 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-13 05:15:56 +00:00
bzrmirror%bugzilla.org
96f4436167 Bug 916633 - join_activity_entries doesn't reconstitute text with commas correctly.
r=glob, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265105 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-08 00:45:57 +00:00
bzrmirror%bugzilla.org
3750ebdc8c Bug 934573 - Date range for Bug.history WebService API method
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265104 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-06 16:30:59 +00:00
bzrmirror%bugzilla.org
5be0faa847 Bug 287682: UTF-8 characters are incorrectly displayed in New Charts and graphical reports
r=wurblzap a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265103 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-06 14:16:04 +00:00
bzrmirror%bugzilla.org
8bdab108cd Bug 931765 - When you enter your login or password wrong, the error message shown "The username or password you entered is not valid" should be edited to "The login or password you entered is not valid"
r=dkl,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265102 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-05 23:30:56 +00:00
catlee%mozilla.com
08f063f5b2 Bug 916209: Unthrottle Firefox 25 updates. r=aki
git-svn-id: svn://10.0.0.236/trunk@265101 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-05 18:44:32 +00:00
bzrmirror%bugzilla.org
f9f7952fc6 Bug 890165 - Buglist for single component should offer "File a new bug in the XYZ component" instead of "File a new bug in the XYZ product"
r=glob, a=glob


git-svn-id: svn://10.0.0.236/trunk@265100 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-05 00:01:00 +00:00
bzrmirror%bugzilla.org
18787e4f04 Bug 906191 - Introduce SSL for Bugzilla DB connections for MySQL
r=simon, a=glob


git-svn-id: svn://10.0.0.236/trunk@265099 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-04 23:49:36 +00:00
bzrmirror%bugzilla.org
5b69391177 Bug 523715 - if usetargetmilestone=1, include Target Milestone value in New Bug emai
r=simon, a=glob


git-svn-id: svn://10.0.0.236/trunk@265098 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-04 23:48:43 +00:00
bzrmirror%bugzilla.org
42fd05c59c Bug 465678 - userprefs.cgi title should indicate which tab i'm on
r=simon, a=glob


git-svn-id: svn://10.0.0.236/trunk@265097 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-04 23:47:47 +00:00
bzrmirror%bugzilla.org
d51516c424 Bug 451758 - Highlight shared searches in userprefs.cgi
r=glob, a=simon


git-svn-id: svn://10.0.0.236/trunk@265096 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-04 23:46:49 +00:00
bzrmirror%bugzilla.org
44de55c082 Bug 387292 - Advertise the ability to change the email address
r=glob, a=simon


git-svn-id: svn://10.0.0.236/trunk@265095 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-04 23:45:56 +00:00
bzrmirror%bugzilla.org
7ea1a636e4 Bug 933485 - Uncaught bugword in bug entry template.
r=LpSolit; a=glob


git-svn-id: svn://10.0.0.236/trunk@265094 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-04 22:31:56 +00:00
bzrmirror%bugzilla.org
e06e903149 Bug 933353 - UNCONFIRMED hardcoded in product list.
r=LpSolit; a=glob


git-svn-id: svn://10.0.0.236/trunk@265093 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-04 22:31:01 +00:00
bzrmirror%bugzilla.org
1ecb969682 Bug 926952: Possible race conditions when editing or deleting a milestone or a version
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265092 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-04 19:02:06 +00:00
bzrmirror%bugzilla.org
c8f3d68652 Bug 933736 - names are no longer links in html bugmail with background bugmail generation
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265091 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-04 19:01:12 +00:00
bzrmirror%bugzilla.org
a7fc64fcfe Bug 933274 - Uncaught bugword in template/en/default/admin/params/auth.html.tmpl.
r=dkl; a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265090 18797224-902f-48f8-a5cc-f745e15eee43
2013-11-04 13:45:56 +00:00
raliiev%mozilla.com
5d28b432d4 Bug 933232 - Throttle Firefox 25.0 updates. r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@265089 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-31 13:46:58 +00:00
bzrmirror%bugzilla.org
b0d5998309 Bug 927497 - "Add me to CC list" feature of bug creation screen gives token error
r=LpSolit,a=glob


git-svn-id: svn://10.0.0.236/trunk@265088 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-29 20:01:16 +00:00
seabld
4ea314fdab Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.21 to 2.22 build 1
git-svn-id: svn://10.0.0.236/trunk@265087 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-29 13:43:17 +00:00
raliiev%mozilla.com
040c173c2c Bug 916209 - tracking bug for build and release of Firefox and Fennec 25.0. r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@265086 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-29 12:16:06 +00:00
bzrmirror%bugzilla.org
596737f48f Bug 863745: Enable multi-select fields in reports
r=LpSolit a=glob


git-svn-id: svn://10.0.0.236/trunk@265085 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-29 12:01:12 +00:00
bzrmirror%bugzilla.org
0bf217c8f8 Bug 930870: With Pod::Coverage 0.23, t/011pod.t fails if a module is not installed
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265084 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-28 14:46:54 +00:00
bzrmirror%bugzilla.org
dff1a0cf29 Bug 919314: Do not list the target milestone in bugmail headers when usetargetmilestone is off
r=LpSolit a=glob


git-svn-id: svn://10.0.0.236/trunk@265083 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-28 14:46:00 +00:00
bzrmirror%bugzilla.org
e74741622f Bug 929575: t/001compile.t fails if Test::Taint is not installed
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265082 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-28 14:30:54 +00:00
bzrmirror%bugzilla.org
cf864ae637 Bug 928410 - Bug.get should return detail about cc list members similar to assigned_to, creator and qa_contact
r=gerv,a=glob


git-svn-id: svn://10.0.0.236/trunk@265081 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-28 14:15:56 +00:00
bzrmirror%bugzilla.org
1bfb4f90bc Bug 928092: Add OS detection for Windows 8.1
r=justdave a=glob


git-svn-id: svn://10.0.0.236/trunk@265080 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-24 22:30:57 +00:00
seabld
0530b1907e Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.22b1 to 2.22b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265079 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-24 09:46:52 +00:00
bzrmirror%bugzilla.org
3630510344 Bug 930013: fall back to the bug's current delta_ts when validating a token if one is not provided to process_bug.cgi
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@265078 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-24 05:30:54 +00:00
bzrmirror%bugzilla.org
b0f4376505 Bug 926232 - CSS style ".bz_status_UNCONFIRMED" is not applied due to typo.
r=Wurblzap; a=glob


git-svn-id: svn://10.0.0.236/trunk@265070 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-21 12:30:40 +00:00
seabld
7833e1b6e0 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.21b2 to 2.22b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265069 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-19 01:16:51 +00:00
bzrmirror%bugzilla.org
d12b008d55 Bump version post-release
git-svn-id: svn://10.0.0.236/trunk@265068 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-17 15:21:03 +00:00
bzrmirror%bugzilla.org
df4de0f495 Bug 927736: "invalid token" error if someone else changes the CC list while viewing a bug
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@265067 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-17 10:43:22 +00:00
bzrmirror%bugzilla.org
7e37ddd163 Bug 927570: mid-air conflict fails to check all changed fields
r=dkl, a=simon


git-svn-id: svn://10.0.0.236/trunk@265066 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-17 06:18:18 +00:00
bzrmirror%bugzilla.org
7351d5c660 Bump version to 4.5.1
git-svn-id: svn://10.0.0.236/trunk@265065 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-16 22:03:20 +00:00
bzrmirror%bugzilla.org
438391bfc6 Bug 924932: (CVE-2013-1743) [SECURITY] Field values are not escaped correctly in tabular reports
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265062 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-16 17:36:12 +00:00
bzrmirror%bugzilla.org
3194b05f37 Bug 924802: (CVE-2013-1742) [SECURITY] (XSS) "id" and "sortkey" are not sanitized when editing flag types if categoryAction-foo is set
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265061 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-16 17:33:13 +00:00
bzrmirror%bugzilla.org
7e6c565c4c Bug 913904: (CVE-2013-1734) [SECURITY] CSRF when updating attachments
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265060 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-16 17:29:09 +00:00
bzrmirror%bugzilla.org
9a16a1609d Bug 911593: (CVE-2013-1733) [SECURITY] CSRF in process_bug.cgi
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265059 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-16 17:08:05 +00:00
bzrmirror%bugzilla.org
71b4a797bc Bug 907438 - In MySQL, login cookie checking is not case-sensitive, reducing total entropy and allowing easier brute force
r=LpSolit,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265057 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-16 17:01:24 +00:00
bzrmirror%bugzilla.org
e5338fb372 Bug 906745 - In MySQL, tokens are not case-sensitive, reducing total entropy and allowing easier brute force
r=LpSolit,a=glob


git-svn-id: svn://10.0.0.236/trunk@265056 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-16 16:57:35 +00:00
bzrmirror%bugzilla.org
4022e30c0b Bug 912641: Release notes for Bugzilla 4.4.1
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@265055 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-16 15:15:57 +00:00
bzrmirror%bugzilla.org
82dbc9cc51 Bug 917370: large dependency trees are very slow to load
r=dkl, a=simon


git-svn-id: svn://10.0.0.236/trunk@265054 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-15 14:15:55 +00:00
bzrmirror%bugzilla.org
4866a82a28 Bug 340160: Speed up LogActivityEntry()
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265053 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-14 14:45:53 +00:00
bzrmirror%bugzilla.org
44c9e208a9 Backout 1st part of bug 340160: state $sth doesn't work fine with mod_perl
git-svn-id: svn://10.0.0.236/trunk@265052 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-14 13:01:06 +00:00
bzrmirror%bugzilla.org
dcb2fbf858 Fixes on checkin for bug 769134
git-svn-id: svn://10.0.0.236/trunk@265050 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-11 21:45:54 +00:00
bzrmirror%bugzilla.org
f0d47dc41b Bug 916254 - Bug.get should include the name for reporter, assigned_to and qa_contact
r=dkl,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265049 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-11 15:45:58 +00:00
raliiev%mozilla.com
1b544d6c1c Bug 924542 - tracking bug for build and release of Thunderbird 24.0.1. r=nthomas
git-svn-id: svn://10.0.0.236/trunk@265048 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-11 10:18:34 +00:00
bzrmirror%bugzilla.org
8a10a8afe5 Bug 919852 - Add ability to perform quicksearch using Bug.search
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265047 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-01 15:48:29 +00:00
raliiev%mozilla.com
30001f5dba Bug 921506 - Please unthrottle FF24 updates. r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@265046 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-30 18:21:23 +00:00
bzrmirror%bugzilla.org
f1da4a437d Bug 864625 - Setting a non-privileged user as a requestee on a secure bug while ccing the same user to give access at the same
r=LpSolit,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265045 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-30 04:04:04 +00:00
bzrmirror%bugzilla.org
1e7515d129 Bug 891311: Text in the "My Requests" page is misleading about how the AND/OR radio button works
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265044 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-28 11:48:25 +00:00
bzrmirror%bugzilla.org
3b8690af37 Bug 798927: An error should be thrown when passing an illegal pronoun
r=LpSolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@265043 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-27 23:18:08 +00:00
bzrmirror%bugzilla.org
bad34e0a05 Bug 340160: Speed up LogActivityEntry()
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265042 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-27 23:03:35 +00:00
bzrmirror%bugzilla.org
d77972f21d Bug 851267: Bugzilla times out when a user has several thousands of votes
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@265041 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-27 22:47:58 +00:00
bzrmirror%bugzilla.org
0380ac9f19 Bug 917483 - Bug.update_attachment causes error when updating filename using key 'file_name'
git-svn-id: svn://10.0.0.236/trunk@265040 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-26 21:33:38 +00:00
bzrmirror%bugzilla.org
520e628db6 Bug 784072 (2nd part): Exclude extensions from POD coverage checks
git-svn-id: svn://10.0.0.236/trunk@265039 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-26 19:33:30 +00:00
bzrmirror%bugzilla.org
228763a596 fix bustage due to bug 891236: it doesn't pass t/002goodperl.t
git-svn-id: svn://10.0.0.236/trunk@265038 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-26 19:04:08 +00:00
bzrmirror%bugzilla.org
9f5ac2f5e3 Bug 920787: The "Flags:" label in bug reports is badly aligned
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265037 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-26 18:33:22 +00:00
bzrmirror%bugzilla.org
3dcb5f6e7e Bug 917669 - invalid or expired authentication tokens and cookies should throw errors, not be silently ignored
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265036 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-26 15:18:15 +00:00
bzrmirror%bugzilla.org
1a2043e408 Bug 893589 - 004template.t fails when templates in extension directory
r=dkl, a=simon


git-svn-id: svn://10.0.0.236/trunk@265035 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-26 02:33:06 +00:00
bzrmirror%bugzilla.org
153f419c69 Bug 769134 - Bugzilla unintentionally removes groups when changing products with multiple bugs
r=dkl, a=justdave


git-svn-id: svn://10.0.0.236/trunk@265034 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-26 02:23:54 +00:00
bzrmirror%bugzilla.org
dea1da2dcc Bug 714523 - editversions.cgi should use ->set_all
r=simon, a=simon


git-svn-id: svn://10.0.0.236/trunk@265033 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-26 02:21:06 +00:00
bzrmirror%bugzilla.org
91aabd7d29 Bug 621216 - Don't call GetQuip() if the user doesn't want quips
r=simon, a=simon


git-svn-id: svn://10.0.0.236/trunk@265032 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-26 02:18:21 +00:00
bzrmirror%bugzilla.org
55a3bcee1d Bug 455301: Don't show password box on userprefs.cgi if your auth method didn't use DB passwords
r=LpSolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@265031 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-25 18:04:11 +00:00
bzrmirror%bugzilla.org
96631b1ad3 Temporary fix for bug 916882: whitelist product and component when used with the changed* operators
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265030 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-24 09:48:22 +00:00
nrthomas%gmail.com
854a204a6d Bug 915871 - setup for Thunderbird ESR24 nightlies, p=Standard8, r=me
git-svn-id: svn://10.0.0.236/trunk@265029 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-23 23:18:49 +00:00
bzrmirror%bugzilla.org
a4143c11c6 Bug 919475: [Oracle] Crash when non-mandatory free text custom fields are left empty on bug creation
r=LpSolit a=justdave


git-svn-id: svn://10.0.0.236/trunk@265028 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-23 15:48:08 +00:00
bzrmirror%bugzilla.org
64c86cceda Bug 918647: "Use of uninitialized value" warnings when using quicksearch
r=simon, a=glob


git-svn-id: svn://10.0.0.236/trunk@265027 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-23 14:48:21 +00:00
bzrmirror%bugzilla.org
0779f38db2 Bug 918362 - The "order" parameter passed to Bug.search is ignored
r=LpSolit,a=glob


git-svn-id: svn://10.0.0.236/trunk@265026 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-20 14:32:59 +00:00
raliiev%mozilla.com
aead6d359c Bug 917438 - Please make FF24.0 release updates manual-only. r=nthomas
git-svn-id: svn://10.0.0.236/trunk@265025 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-19 19:07:57 +00:00
bzrmirror%bugzilla.org
8cff0ef92e Bug 897510 - Create and Modify User Screen must also contain password rules as hint
r=simon, a=glob


git-svn-id: svn://10.0.0.236/trunk@265024 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-19 03:27:59 +00:00
bzrmirror%bugzilla.org
a45b4852aa Bug 373820 - View User Account Log should include real name
r=simon, a=glob


git-svn-id: svn://10.0.0.236/trunk@265023 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-19 03:24:44 +00:00
bzrmirror%bugzilla.org
506ab857aa Bug 368541 - Make it obvious that the bug alias is not part of the bug summary
r=simon, a=simon


git-svn-id: svn://10.0.0.236/trunk@265022 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-19 03:21:35 +00:00
bzrmirror%bugzilla.org
9076e54006 Bug 365501 - admin/products/groupcontrol/updated uses p as br
r=simon, a=glob


git-svn-id: svn://10.0.0.236/trunk@265021 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-19 03:18:27 +00:00
bzrmirror%bugzilla.org
9f57c0e836 Bug 332034 - Add New Attachment as an option for attachment.cgi when we are not passed any parameters\nr=simon, a=glob
git-svn-id: svn://10.0.0.236/trunk@265020 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-19 03:03:25 +00:00
bzrmirror%bugzilla.org
141dd10046 Bug 578434 - Bug group checkboxes lay out poorly beside attachment field
- Backed out to make adjustments on screen size before the groups drop down


git-svn-id: svn://10.0.0.236/trunk@265019 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-18 17:03:10 +00:00
bzrmirror%bugzilla.org
a426117204 Bug 578434 - Bug group checkboxes lay out poorly beside attachment field
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265018 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-18 16:02:58 +00:00
bzrmirror%bugzilla.org
265af1fdb1 Bug 916979 - Bug.search ignores the "limit" parameter
a/r=glob


git-svn-id: svn://10.0.0.236/trunk@265017 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-18 15:18:07 +00:00
bzrmirror%bugzilla.org
9c86a83a1c fix typo in comment
git-svn-id: svn://10.0.0.236/trunk@265016 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-18 08:18:13 +00:00
bzrmirror%bugzilla.org
553099a147 Bug 877545: quicksearch shouldn't treat apostrophes as quote characters
r=simon, a=glob


git-svn-id: svn://10.0.0.236/trunk@265015 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-18 08:03:22 +00:00
bzrmirror%bugzilla.org
718aa82eda Bug 916935 - Add Access-Control-Allow-Headers to REST API to indicate which HTTP headers can be used when making the request
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265014 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-17 15:03:36 +00:00
raliiev%mozilla.com
32732fc9f5 Bug 916991 - Please throttle updates for mainstream TB 17 -> TB 24. r=nthomas
git-svn-id: svn://10.0.0.236/trunk@265013 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-17 10:22:48 +00:00
raliiev%mozilla.com
69986a8494 Bug 904606 - tracking bug for build and release of Firefox and Fennec 24.0. p=nthomas,r=rail
git-svn-id: svn://10.0.0.236/trunk@265012 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-17 10:20:36 +00:00
seabld
116c5f664a Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.20 to 2.21 build 1
git-svn-id: svn://10.0.0.236/trunk@265011 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-17 02:50:27 +00:00
bzrmirror%bugzilla.org
1d6a4fc9f5 Fix POD (bogus in bug 866927)
git-svn-id: svn://10.0.0.236/trunk@265010 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-16 22:03:23 +00:00
bzrmirror%bugzilla.org
7f5058edb2 Bug 785565: Search by change history between two dates doesn't give expected result
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265009 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-16 15:18:41 +00:00
bzrmirror%bugzilla.org
5cea11b84f Bug 914986 - Create Bug.update_attachment to update attachments via RPC/REST
r=dkl, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265008 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-12 23:45:55 +00:00
bzrmirror%bugzilla.org
981293cd25 Bug 911509: SOAP::Lite 1.0 no longer includes XMLRPC::Lite
r=dkl a=glob


git-svn-id: svn://10.0.0.236/trunk@265007 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-12 17:15:48 +00:00
bzrmirror%bugzilla.org
9ccc31d214 Bug 914262: KHTML-based browsers such as Konqueror do not support the Server-Push technology
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265006 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-10 21:15:44 +00:00
seabld
d02ec445c2 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.21b1 to 2.21b2 build 1
git-svn-id: svn://10.0.0.236/trunk@265005 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-10 01:19:39 +00:00
bzrmirror%bugzilla.org
65ca381322 Bug 914196 - Documentation for User.login should state cookies not used for JSONRPC and REST when making future connections
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@265004 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-09 17:30:44 +00:00
nrthomas%gmail.com
761f20e8f3 Bug 913307, Enable aurora updates for Metra, r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@265003 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-09 04:51:14 +00:00
nrthomas%gmail.com
23d7998cbf Bug 913303, Add ESR24 branch, r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@265002 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-09 04:49:31 +00:00
seabld
8515ba685c Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.20b3 to 2.21b1 build 1
git-svn-id: svn://10.0.0.236/trunk@265001 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-06 20:37:07 +00:00
bzrmirror%bugzilla.org
ecf9e2f59d Bug 801284: whine.pl should use DEFAULT_COLUMN_LIST as the default column list instead of its hardcoded list
r=LpSolit a=sgreen


git-svn-id: svn://10.0.0.236/trunk@265000 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-05 11:46:50 +00:00
bzrmirror%bugzilla.org
e48fdd253c Bug 909720 - Remove unused code in Bugzilla::Search
r=glob, a=glob


git-svn-id: svn://10.0.0.236/trunk@264999 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-04 01:08:14 +00:00
bzrmirror%bugzilla.org
5522dea500 Bug 875217 - SecurityError in Javascript on buglist.cgi
r=glob, a=glob


git-svn-id: svn://10.0.0.236/trunk@264998 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-04 00:51:41 +00:00
bzrmirror%bugzilla.org
81bba191b3 Bug 606509 - Text badly aligned for "deadline" and "bug numbered" in the search page
r=simon, a=simon


git-svn-id: svn://10.0.0.236/trunk@264997 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-04 00:21:57 +00:00
bzrmirror%bugzilla.org
9bf083039a Bug 331529 - editusers list should let me search for disabled users
r=simon, a=simon


git-svn-id: svn://10.0.0.236/trunk@264996 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-04 00:07:26 +00:00
bzrmirror%bugzilla.org
bbce5d90c0 Bug 901589: The 'isempty' operator does not work for custom multiselect fields
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@264995 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-03 10:31:35 +00:00
bzrmirror%bugzilla.org
16654bc0e5 Bug 911512: Bugzilla::DB::Oracle lacks POD coverage
r=LpSolit a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264994 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-03 10:23:54 +00:00
bzrmirror%bugzilla.org
6cf48709f9 Bug 911513: 007util.t fails due to a missing dependency to DateTime
r=LpSolit a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264993 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-03 10:16:35 +00:00
bzrmirror%bugzilla.org
cff457b6e5 Bug 848063: [Oracle] importxml.pl fails with ORA-01830: comment timestamps are not correctly formatted
r=LpSolit a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264992 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-03 09:52:39 +00:00
bzrmirror%bugzilla.org
0c1b57d002 Fix bustage on Oracle due to bug 898830
git-svn-id: svn://10.0.0.236/trunk@264991 18797224-902f-48f8-a5cc-f745e15eee43
2013-09-02 00:52:51 +00:00
bzrmirror%bugzilla.org
957efb8ca7 Bug 388653 - Stars in chart.html.tmpl could be thought as typos
r=simon, a=glob


git-svn-id: svn://10.0.0.236/trunk@264990 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-30 09:15:04 +00:00
bzrmirror%bugzilla.org
0e8af50a3e Bug 547311 - Remove the "align" attribute from <th>
r=simon, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264989 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-30 09:07:38 +00:00
bzrmirror%bugzilla.org
acb0db86c5 Bug 903895 - Allow more than 32k components
r=gerv, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264988 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-30 08:51:42 +00:00
bzrmirror%bugzilla.org
c83ee562ea Bug 893195 - Allow token based authentication for webservices
r=glob,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264987 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-27 04:06:36 +00:00
bzrmirror%bugzilla.org
cceb62130f Bug 908338 - Create a new webservice called User.valid_login that will verify if a cookie or login token is valid for the current user
r=glob,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264986 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-27 03:37:52 +00:00
bzrmirror%bugzilla.org
b11930d2c6 Bug 908572 - Grammatical error in "Query Defaults" admin params
r=simon, a=glob


git-svn-id: svn://10.0.0.236/trunk@264985 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-26 23:06:08 +00:00
bzrmirror%bugzilla.org
29b08ea331 Bug 903337 - Do not display the CC list and the "Remove selected CCs" checkbox if the CC list is empty
r=simon, a=glob


git-svn-id: svn://10.0.0.236/trunk@264984 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-26 22:58:58 +00:00
bzrmirror%bugzilla.org
798b70b055 Bug 601825 - "Linux Distributions" should link to the "Prerequisites" wiki page, not "Linux_Distro_Installation"
r=simon, a=glob


git-svn-id: svn://10.0.0.236/trunk@264983 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-26 22:52:15 +00:00
bzrmirror%bugzilla.org
3760b40226 Bug 477601 - Adapt Bug.search to use Search.pm
r=sgreen,a=glob


git-svn-id: svn://10.0.0.236/trunk@264982 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-26 17:22:13 +00:00
bzrmirror%bugzilla.org
ea2844f6d7 Bug 904568: emails generated by jobqueue.pl unable to reference custom fields
r=simon, a=simon


git-svn-id: svn://10.0.0.236/trunk@264981 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-26 16:21:53 +00:00
bzrmirror%bugzilla.org
12fca5ed38 Bug 884705 - Bugzilla->user does not return undef
r=simon, a=simon


git-svn-id: svn://10.0.0.236/trunk@264980 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-23 13:47:46 +00:00
bzrmirror%bugzilla.org
824688403b Bug 455016 - Documentation about "Boolean charts" talks about "equals" and so, while these choices have been renamed
r=simon, a=glob


git-svn-id: svn://10.0.0.236/trunk@264979 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-23 13:33:04 +00:00
bzrmirror%bugzilla.org
8f35e380eb Bug 891236 - Allow Redmine See Also URLs
r=justdave, a=justdave


git-svn-id: svn://10.0.0.236/trunk@264978 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-22 04:37:23 +00:00
bzrmirror%bugzilla.org
7dada9c616 Bug 891236 - Allow Redmine See Also URLs
r=justdave, a=justdave


git-svn-id: svn://10.0.0.236/trunk@264977 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-22 04:33:36 +00:00
bzrmirror%bugzilla.org
4f1fc8cbfc Bug 252004 - Cannot change capitalisation of Keywords
r=simon, a=glob


git-svn-id: svn://10.0.0.236/trunk@264976 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-22 04:18:06 +00:00
bzrmirror%bugzilla.org
954e34e258 Bug 907245 - Allow for URL params to also be passed with POST/PUT REST API requests
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@264975 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-21 20:03:10 +00:00
bzrmirror%bugzilla.org
790c3d21c6 Bug 905948: under mod_perl, HTTP/200 is returned when etags match If-None-Match
r=dkl, a=glob


git-svn-id: svn://10.0.0.236/trunk@264974 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-19 03:48:59 +00:00
bzrmirror%bugzilla.org
739e5965c8 Bug 905537 - Add support for iPod Touch in useragent strings for platform detection
r=LpSolit,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264973 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-19 03:33:34 +00:00
hwine%mozilla.com
25cc0b3d4a bug 904949 - unthrottle for 23.0.1; r=aki
git-svn-id: svn://10.0.0.236/trunk@264972 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-16 22:36:10 +00:00
bzrmirror%bugzilla.org
430baf5048 Bug 365499 - admin/products/groupcontrol/confirm-edit uses p as br
r=sgreen, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264971 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-15 23:17:02 +00:00
bzrmirror%bugzilla.org
04bc9e43d2 Bug 902314 - Make the title and headings consistent on the pre enter bug pages
r=dkl, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264970 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-15 23:16:02 +00:00
bzrmirror%bugzilla.org
68f6c3d877 Bug 853638 - Status and resolution values in dependency graphs not localizable.
r=dkl, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264969 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-15 11:30:58 +00:00
bzrmirror%bugzilla.org
688f173f36 Bug 105865: Bugzilla should pay attention to linebreaks when linkifying bug IDs in comments
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264968 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-14 23:30:58 +00:00
bzrmirror%bugzilla.org
e1ba79275b Bug 569177 - Add support for eTag for WebServices
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@264967 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:58:07 +00:00
bzrmirror%bugzilla.org
7538504a69 Bug 902515: Internet Explorer 11 receives multipart/x-mixed-replace content from buglist.cgi
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@264966 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:57:12 +00:00
bzrmirror%bugzilla.org
b2bc839e8c Bug 861582: Missing description in the "Bug Fields" page for "Importance"
r=sgreen a=justdave


git-svn-id: svn://10.0.0.236/trunk@264965 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:56:09 +00:00
bzrmirror%bugzilla.org
008ced32b6 Bug 898830: Improve loading time of show_bug.cgi
r=sgreen a=justdave


git-svn-id: svn://10.0.0.236/trunk@264964 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:55:07 +00:00
bzrmirror%bugzilla.org
4238ec3884 Bug 899586: Consecutive whitespaces in field values are ignored in <select> elements
r=sgreen a=glob


git-svn-id: svn://10.0.0.236/trunk@264963 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:54:06 +00:00
bzrmirror%bugzilla.org
28a4ace86f Bug 669535 - User pref for "Possible Duplicates"
- Failed test 'template/en/default/bug/create/create.html.tmpl contains tabs --WARNING'


git-svn-id: svn://10.0.0.236/trunk@264962 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:53:05 +00:00
bzrmirror%bugzilla.org
df552b5627 Bug 669535 - User pref for "Possible Duplicates"
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@264961 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:51:58 +00:00
bzrmirror%bugzilla.org
5ee67aa32c Bug 875732 - Need hooks for new column in saved-searches
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@264960 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:50:54 +00:00
bzrmirror%bugzilla.org
c76e9d1fca Bug 901620 - Grammar error in the documentation
r=sgreen, a=glob


git-svn-id: svn://10.0.0.236/trunk@264959 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:49:49 +00:00
bzrmirror%bugzilla.org
af9d0db12d Bug 817306 - Add additional words to test for reserved SQL words in schema
r=sgreen, a=glob


git-svn-id: svn://10.0.0.236/trunk@264958 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:48:49 +00:00
bzrmirror%bugzilla.org
c9f2d293ab Bug 868330 - Password creation directions incomplete
r=sgreen, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264957 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:47:50 +00:00
bzrmirror%bugzilla.org
3a5d0be0fe Bug 569177 - Add support for eTag for WebServices
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@264956 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:46:35 +00:00
bzrmirror%bugzilla.org
8b67949f5e Bug 902515: Internet Explorer 11 receives multipart/x-mixed-replace content from buglist.cgi
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/trunk@264955 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:45:11 +00:00
bzrmirror%bugzilla.org
8e3015c791 Bug 861582: Missing description in the "Bug Fields" page for "Importance"
r=sgreen a=justdave


git-svn-id: svn://10.0.0.236/trunk@264954 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:44:01 +00:00
bzrmirror%bugzilla.org
ebf24bde9d Bug 898830: Improve loading time of show_bug.cgi
r=sgreen a=justdave


git-svn-id: svn://10.0.0.236/trunk@264953 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:42:43 +00:00
bzrmirror%bugzilla.org
2e386f070e Bug 899586: Consecutive whitespaces in field values are ignored in <select> elements
r=sgreen a=glob


git-svn-id: svn://10.0.0.236/trunk@264952 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:41:32 +00:00
bzrmirror%bugzilla.org
0eb2dc5403 Bug 669535 - User pref for "Possible Duplicates"
- Failed test 'template/en/default/bug/create/create.html.tmpl contains tabs --WARNING'


git-svn-id: svn://10.0.0.236/trunk@264951 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:40:09 +00:00
bzrmirror%bugzilla.org
c1ef38d7c0 Bug 669535 - User pref for "Possible Duplicates"
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@264950 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:38:46 +00:00
bzrmirror%bugzilla.org
76dd179de8 Bug 875732 - Need hooks for new column in saved-searches
r=dkl,a=glob


git-svn-id: svn://10.0.0.236/trunk@264949 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:37:30 +00:00
bzrmirror%bugzilla.org
dbd7e57b7e Bug 901620 - Grammar error in the documentation
r=sgreen, a=glob


git-svn-id: svn://10.0.0.236/trunk@264948 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:36:06 +00:00
bzrmirror%bugzilla.org
6326b129f2 Bug 817306 - Add additional words to test for reserved SQL words in schema
r=sgreen, a=glob


git-svn-id: svn://10.0.0.236/trunk@264947 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:34:52 +00:00
bzrmirror%bugzilla.org
15a5422cd0 Bug 868330 - Password creation directions incomplete
r=sgreen, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264946 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:33:20 +00:00
bzrmirror%bugzilla.org
8ff6165081 Bug 897264 - letters_numbers_specialchars password restriction is incorrect
r=LpSolit, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264945 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:32:06 +00:00
bzrmirror%bugzilla.org
25cf6cbf86 Bug 899679 - Bug History page, "back to" should not be striked of only Bug # should be striked off.
r=sgreen, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264944 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:30:54 +00:00
bzrmirror%bugzilla.org
9986cefddf Bug 899679 - Bug History page, "back to" should not be striked of only Bug # should be striked off.
r=sgreen, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264943 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:29:25 +00:00
bzrmirror%bugzilla.org
8ff07e7fe8 Bug 898784 - Clarify on the CreateAccount page that email address is login when param emailsuffix is set.
r=sgreen, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264942 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:28:00 +00:00
bzrmirror%bugzilla.org
7589871fca Bug 491316 - Allow the reporter to enter keywords at bug creation
r=sgreen, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264941 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:26:57 +00:00
bzrmirror%bugzilla.org
aef015e77f Bug 467510 - Remove 'bug' from all page titles containing bug number
r=sgreen, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264940 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:25:34 +00:00
bzrmirror%bugzilla.org
18bebe478f Fix wrong links in REST POD
git-svn-id: svn://10.0.0.236/trunk@264939 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:24:24 +00:00
bzrmirror%bugzilla.org
3e0cf82647 Bug 834290: Add support for iPads and iPhones in useragent strings
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264938 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:23:03 +00:00
bzrmirror%bugzilla.org
75cd43d4b2 Bug 781672: checksetup.pl fails to check the version of the latest Apache2::SizeLimit release (it throws "Invalid version format (non-numeric data)")
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264937 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:21:47 +00:00
bzrmirror%bugzilla.org
cf1df474a4 Bug 896330: patchreader should not set the "expires" header
r=sgreen, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264936 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:20:27 +00:00
bzrmirror%bugzilla.org
516e001971 Bug 877078: shift bugmail generation to the jobqueue
r=sgreen, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264935 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:19:13 +00:00
bzrmirror%bugzilla.org
7c8317af84 Bug 402745 - Improve the error message displayed when accessing summarize_time.cgi with no bug ID
git-svn-id: svn://10.0.0.236/trunk@264934 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:17:51 +00:00
bzrmirror%bugzilla.org
4f4c1fa794 Bug 856736 - Set X-Bugzilla-Type to dep_changed for 'dependency changed" bugmail
r/a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264933 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:16:38 +00:00
bzrmirror%bugzilla.org
b9da772c51 Bug 237516 - confusing cancellation message for tokens
r=dkl,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264932 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:15:06 +00:00
bzrmirror%bugzilla.org
6738e57abc Bug 897029: Preload bug permissions when calling Bug.get to improve performance
r/a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264931 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:14:02 +00:00
bzrmirror%bugzilla.org
405ee04790 Bug 897003: Improve _strip_undefs() performance
r/a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264930 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 18:13:04 +00:00
despotdaemon
8b6f461004 Pseudo-automatic update of changes made by justdave@bugzilla.org.
git-svn-id: svn://10.0.0.236/trunk@264929 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 16:34:35 +00:00
despotdaemon
df72ecad47 Pseudo-automatic update of changes made by justdave@bugzilla.org.
git-svn-id: svn://10.0.0.236/trunk@264928 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-13 16:33:56 +00:00
hwine%mozilla.com
6d667b75b8 bug 903119 - throttle ff 23.0 to manual only; r=aki
git-svn-id: svn://10.0.0.236/trunk@264926 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-08 21:12:43 +00:00
despotdaemon
fcfd07b876 Pseudo-automatic update of changes made by gavin@gavinsharp.com.
git-svn-id: svn://10.0.0.236/trunk@264924 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-07 01:33:03 +00:00
despotdaemon
f69bda724e Pseudo-automatic update of changes made by gavin@gavinsharp.com.
git-svn-id: svn://10.0.0.236/trunk@264923 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-06 21:00:19 +00:00
despotdaemon
a5761cd19c Pseudo-automatic update of changes made by gavin@gavinsharp.com.
git-svn-id: svn://10.0.0.236/trunk@264922 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-06 21:00:17 +00:00
cltbld
9601e4cbb2 Bug 901780 - Tracking bug for build and release of firefox 23.0. patch=nthomas,r=rail
git-svn-id: svn://10.0.0.236/trunk@264921 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-06 12:36:28 +00:00
seabld
b530ea4034 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.19 to 2.20 build 1
git-svn-id: svn://10.0.0.236/trunk@264920 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-04 12:18:08 +00:00
seabld
6174de7271 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.20b2 to 2.20b3 build 1
git-svn-id: svn://10.0.0.236/trunk@264919 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-30 14:56:21 +00:00
despotdaemon
74094f2227 Pseudo-automatic update of changes made by gavin@gavinsharp.com.
git-svn-id: svn://10.0.0.236/trunk@264918 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-29 23:34:44 +00:00
mkanat%bugzilla.org
327c527c9e Bug 494675 - Message describing steps after user requests to change email address is confusing
r=dkl,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264917 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-26 22:15:46 +00:00
mkanat%bugzilla.org
a2559145a4 Bug 893618 - Bug status anchor different on create and modify bug page
r=LpSolit, a=glob


git-svn-id: svn://10.0.0.236/trunk@264916 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-26 00:15:45 +00:00
mkanat%bugzilla.org
7bdffeb5cc Bug 880093 - Cache filter_wants
r=glob, a=glob


git-svn-id: svn://10.0.0.236/trunk@264915 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-26 00:00:56 +00:00
mkanat%bugzilla.org
c7f10984da Bug 896183 - Change password screen mentions "New Password Again" it should be "Confirm new password"
r=dkl,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264914 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-25 21:15:50 +00:00
mkanat%bugzilla.org
78c2480695 Remove debug code
git-svn-id: svn://10.0.0.236/trunk@264913 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-25 13:15:56 +00:00
mkanat%bugzilla.org
2fb1f422b3 Bug 889403: syncLDAP.pl does not rederive regexp groups when updating login name
r=LpSolit a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264912 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-25 11:16:41 +00:00
mkanat%bugzilla.org
0d270401f9 Bug 880113 - Use the cache for the product and component name
r=LpSolit, a=glob


git-svn-id: svn://10.0.0.236/trunk@264911 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-25 04:31:02 +00:00
mkanat%bugzilla.org
822d0d1c51 Bug 897426: Revert the hack in Bugzilla->feature and make it more robust
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@264910 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-24 23:47:01 +00:00
mkanat%bugzilla.org
87667d3d49 Bug 896298: Bugzilla::JobQueue requires TheSchwartz 1.07 to use the prioritization of jobs
r=gerv a=glob


git-svn-id: svn://10.0.0.236/trunk@264909 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-24 23:46:03 +00:00
mkanat%bugzilla.org
6dacddb109 Bug 875728 - Need hook for links in common-links
r=rojanu,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264908 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-24 19:46:05 +00:00
mkanat%bugzilla.org
a6c552c3bd Bug 895309 - comments returned via the REST endpoint shouldn't be wrapped
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@264907 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-24 19:15:59 +00:00
mkanat%bugzilla.org
0153306d82 Bug 880653 - Add POD for Bug.possible_duplicates webservice
r=LpSolit,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264905 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-24 14:16:00 +00:00
mkanat%bugzilla.org
782af10c90 Bug 345194: fix for xt tests
git-svn-id: svn://10.0.0.236/trunk@264904 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-24 09:00:57 +00:00
mkanat%bugzilla.org
400f6c0a82 Bug 345194: Add "is empty" and "is not empty" search operators to the boolean chart
r=LpSolit, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264903 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-24 08:45:54 +00:00
mkanat%bugzilla.org
57ce902d6b Bug 533878: Allow relative date searches involving date/time custom fields
r=LpSolit, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264902 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-24 08:30:50 +00:00
mkanat%bugzilla.org
875a3c283c Bug 896066 - Allow REST WebService API to for GET /product to allow retrieval of multiple product objects instead of ids
git-svn-id: svn://10.0.0.236/trunk@264901 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-23 20:31:31 +00:00
mkanat%bugzilla.org
2d2dcc1cda Bug 896066 - Allow REST WebService API to for GET /product to allow retrieval of multiple product objects
r/a=glob


git-svn-id: svn://10.0.0.236/trunk@264900 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-23 20:30:51 +00:00
mkanat%bugzilla.org
09771e1bd7 Bug 871473: New code hook "before_read" in Migrate.pm
r=LpSolit a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264899 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-23 09:30:46 +00:00
mkanat%bugzilla.org
5d472aeab0 Bug 893953: Duplicated CSS rule for "bug_id_container input" in search_form.css
r=LpSolit a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264898 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-23 09:15:47 +00:00
mkanat%bugzilla.org
7ffbef95cc Bug 880227 - Install of Bugzilla DBI module fails due to mirror.hiwaay.net not being available
git-svn-id: svn://10.0.0.236/trunk@264897 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-23 00:05:03 +00:00
seabld
a4f69dfebd Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.20b1 to 2.20b2 build 1
git-svn-id: svn://10.0.0.236/trunk@264896 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-22 14:35:00 +00:00
mkanat%bugzilla.org
d4a1c19841 Bug 850986: don't allow setting a flag's requestee to a disabled account
r=dkl, a=justdave


git-svn-id: svn://10.0.0.236/trunk@264895 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-22 05:33:17 +00:00
mkanat%bugzilla.org
efedbac9b4 Bug 895306: REST endpoint returns both JSON and HTML errors when running under mod_perl
r=dkl, a=glob


git-svn-id: svn://10.0.0.236/trunk@264894 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-22 05:18:05 +00:00
mkanat%bugzilla.org
30fbe5e846 remove accidental commit from bug 866927
git-svn-id: svn://10.0.0.236/trunk@264893 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-19 06:46:02 +00:00
mkanat%bugzilla.org
27a6ff0d61 Bug 894221 - API Documentation Error
git-svn-id: svn://10.0.0.236/trunk@264892 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-16 06:00:49 +00:00
mkanat%bugzilla.org
1178aa4329 Bug 893922 - checksetup.pl failes to locate the string 'feature_rest'
git-svn-id: svn://10.0.0.236/trunk@264891 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-15 20:30:46 +00:00
mkanat%bugzilla.org
d9355618bf Bug 787328 - xmlrpc.cgi doesn't send any security-related headers
r=glob,a=justdave


git-svn-id: svn://10.0.0.236/trunk@264890 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-15 04:01:28 +00:00
mkanat%bugzilla.org
59d81c3300 Bug 866927 - Enhance Bugzilla WebServices to allow data access using REST
r=glob,a=justdave


git-svn-id: svn://10.0.0.236/trunk@264889 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-12 21:00:57 +00:00
despotdaemon
f399a5c93b Pseudo-automatic update of changes made by justdave@bugzilla.org.
git-svn-id: svn://10.0.0.236/trunk@264888 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-11 06:45:15 +00:00
despotdaemon
f1c91db98d Pseudo-automatic update of changes made by justdave@bugzilla.org.
git-svn-id: svn://10.0.0.236/trunk@264887 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-11 06:44:17 +00:00
despotdaemon
5bbd79aa62 Pseudo-automatic update of changes made by justdave@bugzilla.org.
git-svn-id: svn://10.0.0.236/trunk@264886 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-11 06:43:30 +00:00
despotdaemon
e279ecce16 Pseudo-automatic update of changes made by justdave@bugzilla.org.
git-svn-id: svn://10.0.0.236/trunk@264885 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-11 06:42:13 +00:00
seabld
c875aa70c0 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.19b2 to 2.20b1 build 1
git-svn-id: svn://10.0.0.236/trunk@264884 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-10 05:47:22 +00:00
mkanat%bugzilla.org
dac1d37569 Bug 885646: Bugzilla::BugMail::_get_diff should rejoin split activity entries
r=glob, a=justdave


git-svn-id: svn://10.0.0.236/trunk@264883 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-09 03:00:52 +00:00
mkanat%bugzilla.org
4090235bf6 Bug 890563: DateTime error when going to editwhines.cgi
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264882 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-06 10:30:55 +00:00
Callek%gmail.com
068de33664 Bug 889432 - Fully unthrottle Fx22.0 updates. r=aki
git-svn-id: svn://10.0.0.236/trunk@264881 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-02 18:06:49 +00:00
seabld
4acfebc28f Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.17.1 to 2.19 build 1
git-svn-id: svn://10.0.0.236/trunk@264880 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-01 05:28:41 +00:00
mkanat%bugzilla.org
a04a3c92d1 Bug 861519: The keyword field in the "Enter Bug" and "Change several bugs at once" pages no longer lists available keywords
a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264879 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-27 22:15:42 +00:00
catlee%mozilla.com
c75cd54d53 Bug 887947 - Throttle Firefox 22 to 0% r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@264878 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-27 20:26:50 +00:00
mkanat%bugzilla.org
9f5cfb78cf Remove incorrect linebreak
git-svn-id: svn://10.0.0.236/trunk@264877 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-27 12:30:43 +00:00
Callek%gmail.com
40364a5d2e Bug 885829 bustage fix, missing a comma
git-svn-id: svn://10.0.0.236/trunk@264876 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-27 08:34:44 +00:00
mkanat%bugzilla.org
efce004203 Bug 882568: Remove unnecessary text about a bug not being part of last search
r=dkl, a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264875 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-27 04:45:46 +00:00
asasaki%mozilla.com
c9072d48b1 bug 885829 - nightly-fig channel for fennec. r=nthomas
git-svn-id: svn://10.0.0.236/trunk@264874 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-26 23:38:06 +00:00
seabld
7352670c27 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.19b1 to 2.19b2 build 1
git-svn-id: svn://10.0.0.236/trunk@264873 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-26 00:51:48 +00:00
mkanat%bugzilla.org
923d5cb734 Bug 886034: Remove deprecated code about CGI 2.75
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264872 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-25 22:15:41 +00:00
catlee%mozilla.com
776a06ea67 Bug 886290: Throttle Firefox 22.0 to 10% r=rail
git-svn-id: svn://10.0.0.236/trunk@264871 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-25 12:43:11 +00:00
seabld
41fba31771 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.18b4 to 2.19b1 build 1
git-svn-id: svn://10.0.0.236/trunk@264870 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-20 16:08:09 +00:00
mkanat%bugzilla.org
927dc72434 Bug 880097 - Only retrieve database fetched values if requested
r=glob, a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264869 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-17 04:33:12 +00:00
mkanat%bugzilla.org
fb40c4d643 Bug 877083 - "Ignore Bug Mail" shouldn't lead to request email being dropped
r=glob,a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264868 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-12 16:30:58 +00:00
mkanat%bugzilla.org
76635652de Bug 875377: Hint how to change the email address should only be displayed if the address can be changed
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264867 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-11 16:30:59 +00:00
mkanat%bugzilla.org
b6f6a25c1e Bug 856158: A question mark inside quoted strings triggers flag detection when using QuickSearch
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264866 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-11 16:15:57 +00:00
mkanat%bugzilla.org
5710646ec6 Bug 880315: Fix malformed sql generated by the fix for bug 879055
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264865 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-07 05:31:00 +00:00
mkanat%bugzilla.org
ccca6b6569 Bug 878035: Do not disclose whether a user account exists or not when a user clicks "forgot password"
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264864 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-06 21:01:09 +00:00
mkanat%bugzilla.org
2ed501e295 Remove tabs
git-svn-id: svn://10.0.0.236/trunk@264863 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-05 19:15:48 +00:00
mkanat%bugzilla.org
6189a245c4 Bug 878623: Improvement in retrieving a classification name from bug
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264862 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-05 18:30:45 +00:00
mkanat%bugzilla.org
993f54b39d Bug 875744: Bug history messed up when two comments are made private
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264861 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-05 18:15:55 +00:00
mkanat%bugzilla.org
f01ff05e40 Bug 874944: Do not display the Excluded list when sending bugmails
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264860 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-05 12:46:00 +00:00
mkanat%bugzilla.org
d4e5454f9c Bug 879055: Add parenthesis to prevent anywordssubstr search from returning incorrect results.
r=glob, a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264859 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-05 05:45:47 +00:00
bhearsum%mozilla.com
3b36c97368 bug 866247: Map "MetroFirefox" to "Firefox" for URL handling for application updates. r=rail
git-svn-id: svn://10.0.0.236/trunk@264858 18797224-902f-48f8-a5cc-f745e15eee43
2013-06-03 12:45:10 +00:00
nrthomas%gmail.com
1282b5c402 Bug 875447 - Fully unthrottle Fx21.0 updates, r=rail
git-svn-id: svn://10.0.0.236/trunk@264857 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-23 21:23:44 +00:00
mkanat%bugzilla.org
92e6f289ef Bug 828344: add missing xt broken tests
git-svn-id: svn://10.0.0.236/trunk@264856 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-22 17:00:49 +00:00
mkanat%bugzilla.org
5e3b34a8cd Bug 874827 - Remove superfluous "and" in 4.4 release notes.
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264855 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-22 11:34:23 +00:00
catlee%mozilla.com
c49492bb9d Bug 874529: Increase Firefox 21 throttling to 25% r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@264854 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-21 18:21:22 +00:00
mkanat%bugzilla.org
b3ec94b82a Bug 828344: "contains all of the words" no longer looks for all words within the same comment or flag
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264853 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-20 18:01:00 +00:00
mkanat%bugzilla.org
3068bf6a84 Bug 873920: Whine e-mails to other people includes invalid link
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264852 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-20 14:00:45 +00:00
mkanat%bugzilla.org
1108c3e4bf Bug 870700: Release notes for Bugzilla 4.4
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264851 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-18 14:15:50 +00:00
asasaki%mozilla.com
807b51f663 bug 872883 - throttle Firefox 21.0 updates at 5%. r=nthomas
git-svn-id: svn://10.0.0.236/trunk@264850 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-17 21:50:15 +00:00
bhearsum%mozilla.com
114bc51e7b bug 872882: Please unthrottle Firefox 21.0 updates on Thursday May 16. r=bhearsum, patch=nthomas
git-svn-id: svn://10.0.0.236/trunk@264849 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-16 19:22:48 +00:00
bhearsum%mozilla.com
d7a4e20fdd bug 870883: Please push out FF21.0 updates throttled due to MS Patch Tuesday. r=bhearsum, p=nthomas
git-svn-id: svn://10.0.0.236/trunk@264848 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-14 13:00:39 +00:00
mkanat%bugzilla.org
56ec9ad8d7 Bug 850135 - hide the textarea custom fields by default with an (edit) link
- Removal of div around pre as suggested by reviewer


git-svn-id: svn://10.0.0.236/trunk@264847 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-10 15:16:04 +00:00
mkanat%bugzilla.org
c924686adf Bug 850135 - hide the textarea custom fields by default with an (edit) link
r=glob,a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264846 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-10 15:01:10 +00:00
mkanat%bugzilla.org
cfc0f23124 Bug 842068: Add 'group_updated_fields' hook to 'global/messages.html.tmpl'
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264845 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-10 11:31:03 +00:00
mkanat%bugzilla.org
56116634e2 Bug 828344: "contains all of the words" no longer looks for all words within the same comment or flag
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264844 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-10 08:31:09 +00:00
mkanat%bugzilla.org
8a77c1f55f Bug 212471: Tabular reports do not link bug counts involving the empty resolution correctly
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264843 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-05 21:45:58 +00:00
mkanat%bugzilla.org
918c246702 Bug 859118 - Bug.search called with no arguments returns all visible bugs, ignoring max_search_results and search_allow_no_criteria
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264842 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-03 22:31:17 +00:00
seabld
3fefc56206 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.18b3 to 2.18b4 build 1
git-svn-id: svn://10.0.0.236/trunk@264841 18797224-902f-48f8-a5cc-f745e15eee43
2013-05-03 08:41:32 +00:00
mkanat%bugzilla.org
c6221c165b Bug 848635: Old queries based on tags are no longer listed in the page footer by default when upgrading from 4.0 or older to 4.2
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264840 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-28 12:05:56 +00:00
mkanat%bugzilla.org
4390087735 Bug 861519: The keyword field in the "Enter Bug" page no longer lists available keywords
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264839 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-28 12:03:00 +00:00
mkanat%bugzilla.org
58d9e6b25a Bug 858909: When running checksetup.pl for the first time using Oracle as DB server, you get an "uninitialized value" warning
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264838 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-28 11:47:55 +00:00
seabld
adfbaeccc0 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.18b2 to 2.18b3 build 1
git-svn-id: svn://10.0.0.236/trunk@264837 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-27 11:05:47 +00:00
bhearsum%mozilla.com
b9c893af20 bug 866247: Map "MetroFirefox" to "Firefox" for URL handling for application updates. r=catlee
git-svn-id: svn://10.0.0.236/trunk@264836 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-26 21:39:36 +00:00
seabld
fa9ab382a7 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.18b1 to 2.18b2 build 1
git-svn-id: svn://10.0.0.236/trunk@264835 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-19 08:05:39 +00:00
mkanat%bugzilla.org
813f230e5d Bug 851591: Add a main-end hook into global/footer.html.tmpl to be able to display additional data before displaying the page footer
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264834 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-17 23:32:04 +00:00
mkanat%bugzilla.org
d7cecbd329 Bug 858911: Oracle fails with "ORA-04043: object T_GROUP_CONCAT does not exist" when installing Bugzilla for the first time
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264833 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-17 23:31:08 +00:00
mkanat%bugzilla.org
a48e0b5165 Bug 828344: Make "contains all of the words" look for all words within the same comment or flag
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264832 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-17 17:31:05 +00:00
mkanat%bugzilla.org
fa2d14609f Bug 782210: If a custom field depends on a product, component or classification, the "mandatory" bit is ignored on bug creation
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264831 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-16 10:16:12 +00:00
mkanat%bugzilla.org
aac23d5c8c Bug 861528: $user->can_enter_product() now returns the product object instead of 1
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264830 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-15 21:31:43 +00:00
seabld
b42687b980 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.17 to 2.17.1 build 1
git-svn-id: svn://10.0.0.236/trunk@264829 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-14 04:24:43 +00:00
Callek%gmail.com
a3f82e6233 Backout SM 2.17.1 change for an update re-run
git-svn-id: svn://10.0.0.236/trunk@264828 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-14 03:19:15 +00:00
mkanat%bugzilla.org
f4df81f8f8 Bug 861392: Be more descriptive about "Ignore Bug Email"
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264827 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-12 21:46:01 +00:00
seabld
bc7927cabf Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.17 to 2.17.1 build 1
git-svn-id: svn://10.0.0.236/trunk@264826 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-12 14:30:38 +00:00
bhearsum%mozilla.com
8513a4b538 bug 858634: tracking bug for build and release of firefox 20.0.1. r=rail
git-svn-id: svn://10.0.0.236/trunk@264825 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-11 18:29:33 +00:00
mkanat%bugzilla.org
53eae456e1 Bug 860723: Custom fields are shown twice in report axis selectors
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264824 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-11 13:30:55 +00:00
mkanat%bugzilla.org
eab1383ea8 Bug 860140: Remove the obsolete <blink> HTML element
r=sgreen a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264823 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-10 21:00:47 +00:00
mkanat%bugzilla.org
119efdeb98 Bug 148564 - Ability to ignore specific bugs (not get email from them, even as the reporter)
- Fix broken use of $cgi->param


git-svn-id: svn://10.0.0.236/trunk@264820 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-08 21:15:44 +00:00
mkanat%bugzilla.org
53f9009858 Remove unintentional code commits
git-svn-id: svn://10.0.0.236/trunk@264819 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-08 20:16:34 +00:00
mkanat%bugzilla.org
653540d7af Bug 148564 - Ability to ignore specific bugs (not get email from them, even as the reporter)
r=glob,r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264818 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-08 20:15:53 +00:00
mkanat%bugzilla.org
e230602cf9 Bug 857562: ajax_user_autocompletion param ignored on Search by People fields
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264817 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-05 20:01:51 +00:00
mkanat%bugzilla.org
cd83868136 Bug 855258: The dependency graph always uses urlbase, even when sslbase is in use
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264816 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-05 20:00:51 +00:00
seabld
a9e40e218b Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.17b4 to 2.18b1 build 1
git-svn-id: svn://10.0.0.236/trunk@264815 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-05 04:04:13 +00:00
nrthomas%gmail.com
b994627df9 Bug 858263, completely throttle updates to FF20, r=kmoir
git-svn-id: svn://10.0.0.236/trunk@264814 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-04 21:30:27 +00:00
bhearsum%mozilla.com
d4ebad97ac bug 837124: tracking bug for build and release of firefox 20.0 - throttle firefox 20 to 10%. r=catlee
git-svn-id: svn://10.0.0.236/trunk@264813 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-02 13:27:19 +00:00
seabld
ba094c63e5 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.16.2 to 2.17 build 1
git-svn-id: svn://10.0.0.236/trunk@264812 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-01 09:34:12 +00:00
mkanat%bugzilla.org
bb18fff464 Fix uninitialized warning caused by Bug 850639
git-svn-id: svn://10.0.0.236/trunk@264811 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-28 08:16:09 +00:00
seabld
bbf85a095a Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.17b3 to 2.17b4 build 1
git-svn-id: svn://10.0.0.236/trunk@264810 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-28 06:46:30 +00:00
mkanat%bugzilla.org
84b87b0c45 Bug 850639: Set an upper limit on the number of nodes the dependency graph will display
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264809 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-28 06:30:47 +00:00
mkanat%bugzilla.org
28414ced17 Bug 854074: Remove all references to the uwinnipeg.ca PPM repository as it is no longer available
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264807 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-25 19:30:44 +00:00
mkanat%bugzilla.org
d3f5c601c6 Bug 852943: selectClassification() is no longer used
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264806 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-25 19:00:48 +00:00
seabld
685fc54585 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.17b2 to 2.17b3 build 1
git-svn-id: svn://10.0.0.236/trunk@264805 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-21 07:34:19 +00:00
mkanat%bugzilla.org
ee068e46ac Bug 852560: Bugzilla cannot be installed with MySQL 5.6, because the have_innodb variable no longer exists
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264804 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-20 12:16:19 +00:00
mkanat%bugzilla.org
b595a1b9a1 Bug 852445: Mime type detection truncates the first 32 bytes from attachments
r=LpSolit,r=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264803 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-19 16:31:01 +00:00
seabld
1bc4b23434 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.17b1 to 2.17b2 build 1
git-svn-id: svn://10.0.0.236/trunk@264802 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-18 02:49:42 +00:00
mkanat%bugzilla.org
b66637ed30 Bug 830053: Should link to account information from the email preferences tab
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264801 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-16 16:46:49 +00:00
mkanat%bugzilla.org
4d851d8fa5 Bug 821717: Table headers in the "Saved Searches" and "Email Prefs" panels are wrongly right-aligned
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264800 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-16 16:46:08 +00:00
mkanat%bugzilla.org
3bfaeb37a8 Bug 827983: "[reply]" link besides the original description will insert ("in reply to comment #N+1") when the comments order is "Newest to Oldest, but keep Descritption at the top"
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264799 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-16 16:30:49 +00:00
mkanat%bugzilla.org
bebf868abe Bug 525195 - Invisible fields still show up in the "New:" bugmail (fields whose visibility depends on another field)
r=dkl,a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264798 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-14 21:02:43 +00:00
wtc%google.com
857bf178c5 Set NSPR version to 4.9.6.
git-svn-id: svn://10.0.0.236/trunk@264796 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-14 17:38:11 +00:00
wtc%google.com
f3d6bd7194 Bug 841651: Implement PR_SetThreadPriority() on Linux-based platforms
using per-thread nice values. The patch is contributed by Gabriele
Svelto <gsvelto@mozilla.com>. r=wtc.
Modified Files:
	configure configure.in pr/include/private/primpl.h
	pr/src/pthreads/ptthread.c


git-svn-id: svn://10.0.0.236/trunk@264795 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-14 17:34:33 +00:00
mkanat%bugzilla.org
486e82c2e0 Bug 850322 - make see-also's (add) button consistent with other buttons
r=glob,a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264794 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-13 15:16:02 +00:00
mkanat%bugzilla.org
a0dad8aed9 Bug 850309: Allow pasted attachments to be flagged as patches
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264793 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-13 13:45:43 +00:00
seabld
305c904b57 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.16.1 to 2.16.2 build 2
git-svn-id: svn://10.0.0.236/trunk@264792 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-13 02:19:49 +00:00
mkanat%bugzilla.org
027570d241 Bug 850126 - 'token' id defined twice on logged-out pages (in header and footer)
[r=LpSolit a=LpSolit]


git-svn-id: svn://10.0.0.236/trunk@264791 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-12 17:15:44 +00:00
seabld
f07eec5465 Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.16 to 2.16.1 build 1
git-svn-id: svn://10.0.0.236/trunk@264790 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-09 02:57:34 +00:00
mkanat%bugzilla.org
ad321b5af7 Bug 848250: Bug summary tooltip now includes "---" for unresolved bugs
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264789 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-08 11:45:48 +00:00
bhearsum%mozilla.com
83af283281 bug 846289: back out bug 844053 as part of next desktop firefox release - remove win8 special case. r=catlee, patch=rail
git-svn-id: svn://10.0.0.236/trunk@264788 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-07 22:09:35 +00:00
bhearsum%mozilla.com
8f793c4c89 bug 846289: disable win8-only updates for releasetest channel in prep for 19.0.2. r=rail, patch=nthomas
git-svn-id: svn://10.0.0.236/trunk@264787 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-07 13:49:23 +00:00
catlee%mozilla.com
8d4a5cd102 Bug 845447: Unthrottle Firefox 19.0 updates. r=rail
git-svn-id: svn://10.0.0.236/trunk@264786 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-26 21:33:00 +00:00
bhearsum%mozilla.com
ca3837bfa3 bug 844053: Update only win8 users to 19.0.1 - give win8 users their own update platform. r=catlee/bhearsum/rail, patch=catlee/bhearsum
git-svn-id: svn://10.0.0.236/trunk@264785 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-26 20:56:57 +00:00
ccooper%deadsquid.com
739497c9e0 b=802167
r=Callek
- unthrottle Firefox and Thunderbird ESRs


git-svn-id: svn://10.0.0.236/trunk@264784 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-25 19:25:01 +00:00
seabld
8f50bdc9a4 Automated configuration bump: mozBeta-seamonkey-branch-patcher2.cfg, from 2.16b5 to 2.17b1 build 1
git-svn-id: svn://10.0.0.236/trunk@264783 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-25 08:06:11 +00:00
asasaki%mozilla.com
db7da899b0 bug 841908 - fully throttle fx19. p=callek r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@264782 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-20 23:27:45 +00:00
bhearsum%mozilla.com
fc9008fcf4 bug 842855: Please prepare to make NT6.2 updates to FF19 manual only, temporarily. r=bhearsum, p=rail
git-svn-id: svn://10.0.0.236/trunk@264781 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-20 17:43:42 +00:00
asasaki%mozilla.com
ee1e5798ec bug 842742 - don't allow '..' in logfile. r=justdave
git-svn-id: svn://10.0.0.236/trunk@264780 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-20 07:10:48 +00:00
mkanat%bugzilla.org
cfe160dd7e Bug 842038: (CVE-2013-0785) [SECURITY] XSS in show_bug.cgi when using an invalid page format
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264770 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-19 17:33:12 +00:00
mkanat%bugzilla.org
0a81634be5 Bug 824399: (CVE-2013-0786) [SECURITY] build_subselect() leaks the existence of products and components you cannot access
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264768 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-19 17:15:41 +00:00
wtc%google.com
f7f5728a6a Bug 838769 (second attempt): Disable the ECC cipher suites if we cannot
send extensions, even if we support all the currently specified curves
(NSS_ECC_MORE_THAN_SUITE_B is set). r=agl,rrelyea.
Modified Files:
	ssl3con.c sslcon.c


git-svn-id: svn://10.0.0.236/trunk@264767 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-19 16:16:22 +00:00
Callek%gmail.com
1c4f42ad9b Bug 802167 - unthrottle 17.0 and 17.0.1 r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@264766 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-19 16:15:22 +00:00
wtc%google.com
2a2c53a714 Bug 841992: Remove the SunOS5.x.mk files for SunOS 5.9-5.11 (Solaris 9-11).
r=kaie.
Removed Files:
	SunOS5.10.mk SunOS5.10_i86pc.mk SunOS5.11.mk
	SunOS5.11_i86pc.mk SunOS5.8.mk SunOS5.8_i86pc.mk SunOS5.9.mk
	SunOS5.9_i86pc.mk


git-svn-id: svn://10.0.0.236/trunk@264765 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-19 16:03:58 +00:00
Callek%gmail.com
bc5643d892 Bug 841908 - Please release FF19 throttled at 50% r=bhearsum
git-svn-id: svn://10.0.0.236/trunk@264764 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-19 14:16:07 +00:00
Callek%gmail.com
a3a2d44b0b Bug 802167 - do esr10 -> esr17 updates. r=bhearsum p=coop
git-svn-id: svn://10.0.0.236/trunk@264763 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-19 14:13:14 +00:00
mkanat%bugzilla.org
62b65c08cc Bug 832262: Release notes for Bugzilla 4.4rc2
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264762 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-19 09:16:07 +00:00
wtc%google.com
8a71a49a4c Bug 841992: Use coreconf/SunOS5.mk for all Solaris versions. r=kaie.
Modified Files:
	SunOS5.mk config.mk


git-svn-id: svn://10.0.0.236/trunk@264760 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-18 23:39:06 +00:00
wtc%google.com
4cf83d6235 Bug 838769: Run strsclnt with SSL2 enabled only when testing the six SSL2
cipher suites.  r=kaie.


git-svn-id: svn://10.0.0.236/trunk@264759 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-18 23:25:11 +00:00
wtc%google.com
86e2ad1f64 Bug 841664: Remove a reference to the obsolete libfreebl_32int_3.so for
32-bit Solaris SPARC. r=kaie.


git-svn-id: svn://10.0.0.236/trunk@264758 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-18 21:30:39 +00:00
mkanat%bugzilla.org
e2adc8711a Bug 842063: HTML injection is possible using the bug alias
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264756 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-18 12:30:50 +00:00
mkanat%bugzilla.org
c9f1c0d400 Bug 824346 - The flaginclusions and flagexclusions DB tables have no UNIQUE index
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264755 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-18 10:31:36 +00:00
seabld
977c7cce3a Automated configuration bump: mozRelease-seamonkey-branch-patcher2.cfg, from 2.15.2 to 2.16 build 1
git-svn-id: svn://10.0.0.236/trunk@264754 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-18 08:00:29 +00:00
mkanat%bugzilla.org
205db08327 Bug 601875: Display the "allow UNCONFIRMED" column when listing products in editproducts.cgi
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264753 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-17 12:15:58 +00:00
mkanat%bugzilla.org
ce077f3d0e Fix regression due to bug 830330
git-svn-id: svn://10.0.0.236/trunk@264752 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-17 02:31:08 +00:00
mkanat%bugzilla.org
bf4a21552e Bug 839950: Cannot search by Change History on multi-select fields
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264751 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-17 01:31:06 +00:00
mkanat%bugzilla.org
f487b3403c Bug 836436: Add a "search_tabs" hook to allow additional search tabs
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264750 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-16 22:45:44 +00:00
mkanat%bugzilla.org
a66f442174 Bug 825758: Most Bugzilla::BugUrl::* modules incorrectly validate the domain name
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264749 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-16 22:30:58 +00:00
mkanat%bugzilla.org
2f2234daf8 Bug 840824: It is possible to create a new bug with a non active target milestone, version or component
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264748 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-16 22:00:42 +00:00
wtc%google.com
e4d4cb3f24 Bug 838769: back out the previous checkin. tests/memleak/memleak.sh runs
strsclnt with SSL2 enabled, so I need to fix that first.
Modified Files:
	ssl3con.c sslcon.c


git-svn-id: svn://10.0.0.236/trunk@264747 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-16 15:09:14 +00:00
kaie%kuix.de
e2c12581e7 Bug 360420, fix Windows deadlock bustage, add missing html request to tstclnt invocation, r=bustage
git-svn-id: svn://10.0.0.236/trunk@264746 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-16 14:48:46 +00:00
kaie%kuix.de
75e5d00b38 Bug 841883 - manpages+html for tools: fix dependency tracking, integrate into build system
git-svn-id: svn://10.0.0.236/trunk@264745 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-16 14:24:35 +00:00
wtc%google.com
a02af31053 Bug 838769: Disable the ECC cipher suites if we cannot send extensions,
even if we support all the currently specified curves
(NSS_ECC_MORE_THAN_SUITE_B is set). r=agl,rrelyea.
Modified Files:
	ssl3con.c sslcon.c


git-svn-id: svn://10.0.0.236/trunk@264744 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 20:27:53 +00:00
wtc%google.com
0411015ffd Bug 838769: Run the ECC SSL tests with SSL2 disabled and with TLS enabled
because ECC cipher suites need the Supported Elliptic Curves Extension.
r=kaie.
Modified Files:
	sslcov.txt sslstress.txt


git-svn-id: svn://10.0.0.236/trunk@264743 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 20:22:59 +00:00
wtc%google.com
90f4680a9f Bug 834795: Fix Visual C++ compiler warnings about unary minus operator
applied to unsigned type, by changing -r8_d to 0-r8_d. r=agl,rrelyea.


git-svn-id: svn://10.0.0.236/trunk@264742 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 19:18:45 +00:00
wtc%google.com
b909a112ed Bug 835091: Don't need to include <stdlib.h>. Declare internal functions as
static. Remove a block of commented out code. r=ryan.sleevi.


git-svn-id: svn://10.0.0.236/trunk@264741 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 19:15:04 +00:00
wtc%google.com
b9d53cbdb1 Bug 341127: Fix the invalid read and write in rc4_wordconv. Use
rc4_wordconv for x86 on all operating systems. r=ryan.sleevi.


git-svn-id: svn://10.0.0.236/trunk@264740 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 19:10:20 +00:00
wtc%google.com
3c415ffb6e Bug 840393: Improve error reporting. Fix a Visual C++ compiler warning on
signed/unsigned comparison in RC4_InitContext. r=ryan.sleevi.


git-svn-id: svn://10.0.0.236/trunk@264739 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 19:07:15 +00:00
wtc%google.com
fbd507eeb7 Bug 841664: Drop (32-bit) SPARC V8 processor support on Solaris. r=kaie.
Modified Files:
	coreconf/SunOS5.mk nss/lib/freebl/Makefile
	nss/lib/freebl/loader.c
Removed Files:
	nss/lib/freebl/mpi/mpv_sparcv8x.s


git-svn-id: svn://10.0.0.236/trunk@264738 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 18:48:42 +00:00
kaie%kuix.de
fd3579fa78 Bug 811331 / Bug 360420, add selfsigned OCSP stapling to selfserv, stapling support for strsclnt, run self-contained stapling tests, r=rrelyea
git-svn-id: svn://10.0.0.236/trunk@264737 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 17:57:01 +00:00
kaie%kuix.de
6fe835fb35 Bug 811331 / Bug 360420, OCSP Stapling, TLS server side implementation; add ability to produce invalid OCSP responses for testing purposes, r=rrelyea
git-svn-id: svn://10.0.0.236/trunk@264736 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 17:56:19 +00:00
kaie%kuix.de
7d2a505113 Bug 360420, OCSP Stapling, allow multiple status items, in an attempt to be prepared for future multi-stapling implementation. Introducing SECItemArray. r=rrelyea
git-svn-id: svn://10.0.0.236/trunk@264735 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 17:55:42 +00:00
kaie%kuix.de
80289d8043 Bug 700701 (as part of Bug 360420), Enhance tstclnt and ssltap to support OCSP stapling, r=rrelyea
git-svn-id: svn://10.0.0.236/trunk@264734 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 17:54:57 +00:00
kaie%kuix.de
a555bc1567 Overlapping fixes for Bug 554369 and Bug 360420. OCSP caching fixes by Adam Langley, r=kaie; Cache injection of OCSP stapling data inside default auth code, by me, r=rrelyea
git-svn-id: svn://10.0.0.236/trunk@264733 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 17:53:24 +00:00
kaie%kuix.de
96ed6ee6a5 Bug 360420, OCSP Stapling, TLS client side implementation, based on work by Adam Langley, with tweaks from me and bsmith. r=rrelyea
git-svn-id: svn://10.0.0.236/trunk@264732 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 17:52:45 +00:00
kaie%kuix.de
617b1e3ada set version to 3.14.4 Beta
git-svn-id: svn://10.0.0.236/trunk@264731 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 17:41:55 +00:00
mkanat%bugzilla.org
5522be984f Bug 838846: In Product.get, include_fields => ['components'] no longer returns data about components
r/a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264730 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 14:31:21 +00:00
mkanat%bugzilla.org
351a87d6c2 Bug 830330: Make flags honour bug_check_can_change_field
r=dkl, a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264729 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 06:17:10 +00:00
mkanat%bugzilla.org
ae669f8fb4 Bug 830333: Make the comment box hidden if bug_check_can_change_field reports the user is unable to comment on the bug
r=glob, a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264728 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 06:16:08 +00:00
mkanat%bugzilla.org
58393f06dc Bug 832893: changes jobqueue.pl to spawn worker processes to deliver bugmail to avoid memory leaks
r=dkl, a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264727 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 06:00:43 +00:00
mkanat%bugzilla.org
79d6a4f477 Bug 839095: Fix interdiff failing on mod_perl with "No valid patch files were found in the attachment"
r=dkl, a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264726 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-15 05:31:11 +00:00
872 changed files with 67269 additions and 38459 deletions

View File

@ -13,13 +13,13 @@ $fullname{'188'} = 'Application Suite';
$mode{'190'} = 'Closed';
$branch{'190'} = 'HEAD';
$fullname{'190'} = 'Bugzilla';
$blessed{'190'} = ['wurblzap%gmail.com','olav%bkor.dhs.org','ghendricks%novell.com',];
$super{'190'} = ['mkanat%bugzilla.org','lpsolit%gmail.com','justdave%bugzilla.org',];
$blessed{'190'} = ['wurblzap%gmail.com','olav%bkor.dhs.org','lpsolit%gmail.com','ghendricks%novell.com',];
$super{'190'} = ['bzrmirror%bugzilla.org','justdave%bugzilla.org',];
$mode{'204'} = 'Closed';
$branch{'204'} = 'BUGZILLA-2_18-BRANCH';
$fullname{'204'} = 'Bugzilla2.18';
$blessed{'204'} = ['myk%mozilla.org','vladd%bugzilla.org','olav%bkor.dhs.org','ghendricks%novell.com',];
$super{'204'} = ['mkanat%bugzilla.org','lpsolit%gmail.com','justdave%bugzilla.org',];
$blessed{'204'} = [];
$super{'204'} = ['justdave%bugzilla.org',];
$mode{'191'} = 'Closed';
$branch{'191'} = 'BUGZILLA-2_20-BRANCH';
$fullname{'191'} = 'Bugzilla2.20';
@ -354,118 +354,6 @@ if ($b eq 'BUGZILLA-3_4-BRANCH') {
if (m:^mozilla/webtools/bugzilla/.*$:) {return '220';}
}
if ($b eq 'HEAD') {
if (m:^mozilla/modules/libreg/.*$:) {return '84';}
if (m:^mozilla/java/webclient/.*$:) {return '127';}
if (m:^mozilla/content/svg/.*$:) {return '187';}
if (m:^mozilla/layout/svg/.*$:) {return '187';}
if (m:^db/sqlite3/.*$:) {return '216';}
if (m:^storage/.*$:) {return '216';}
if (m:^mozilla/java/dom/.*$:) {return '130';}
if (m:^mozilla/extensions/help/.*$:) {return '188';}
if (m:^mozilla/suite/.*$:) {return '188';}
if (m:^mozilla/content/xml/.*$:) {return '88';}
if (m:^mozilla/extensions/xmlextras/.*$:) {return '88';}
if (m:^mozilla/parser/expat/.*$:) {return '88';}
if (m:^mozilla/java/util/.*$:) {return '133';}
if (m:^mozilla/startupcache/.*$:) {return '89';}
if (m:^mozilla/tools/wizards/.*$:) {return '89';}
if (m:^mozilla/xpcom/[^/]*$:) {return '89';}
if (m:^mozilla/xpcom/base/.*$:) {return '89';}
if (m:^mozilla/xpcom/build/.*$:) {return '89';}
if (m:^mozilla/xpcom/components/.*$:) {return '89';}
if (m:^mozilla/xpcom/ds/.*$:) {return '89';}
if (m:^mozilla/xpcom/glue/.*$:) {return '89';}
if (m:^mozilla/xpcom/proxy/.*$:) {return '89';}
if (m:^mozilla/xpcom/sample/.*$:) {return '89';}
if (m:^mozilla/xpcom/stub/.*$:) {return '89';}
if (m:^mozilla/xpcom/tests/.*$:) {return '89';}
if (m:^mozilla/xpcom/threads/.*$:) {return '89';}
if (m:^mozilla/xpcom/tools/.*$:) {return '89';}
if (m:^mozilla/xpcom/windbgdlg/.*$:) {return '89';}
if (m:^mozilla/content/xbl/[^/]*$:) {return '199';}
if (m:^mozilla/content/xbl/public/.*$:) {return '199';}
if (m:^mozilla/content/xbl/src/.*$:) {return '199';}
if (m:^mozilla/webtools/bugzilla/.*$:) {return '190';}
if (m:^mozilla/xpcom/reflect/xptcall/.*$:) {return '206';}
if (m:^mozilla/content/xtf/.*$:) {return '200';}
if (m:^mozilla/layout/xtf/.*$:) {return '200';}
if (m:^mozilla/gfx/src/xprint/.*$:) {return '179';}
if (m:^mozilla/gfx/[^/]*$:) {return '201';}
if (m:^mozilla/gfx/cairo/.*$:) {return '201';}
if (m:^mozilla/gfx/public/.*$:) {return '201';}
if (m:^mozilla/gfx/src/[^/]*$:) {return '201';}
if (m:^mozilla/gfx/src/gtk/.*$:) {return '201';}
if (m:^mozilla/gfx/src/mac/.*$:) {return '201';}
if (m:^mozilla/gfx/src/shared/.*$:) {return '201';}
if (m:^mozilla/gfx/src/thebes/.*$:) {return '201';}
if (m:^mozilla/gfx/src/windows/.*$:) {return '201';}
if (m:^mozilla/gfx/thebes/.*$:) {return '201';}
if (m:^mozilla/modules/lcms/.*$:) {return '201';}
if (m:^mozilla/view/.*$:) {return '96';}
if (m:^mozilla/layout/[^/]*$:) {return '98';}
if (m:^mozilla/layout/base/.*$:) {return '98';}
if (m:^mozilla/layout/build/.*$:) {return '98';}
if (m:^mozilla/layout/doc/.*$:) {return '98';}
if (m:^mozilla/layout/forms/.*$:) {return '98';}
if (m:^mozilla/layout/generic/.*$:) {return '98';}
if (m:^mozilla/layout/html/.*$:) {return '98';}
if (m:^mozilla/layout/macbuild/.*$:) {return '98';}
if (m:^mozilla/layout/printing/.*$:) {return '98';}
if (m:^mozilla/layout/tables/.*$:) {return '98';}
if (m:^mozilla/layout/tools/.*$:) {return '98';}
if (m:^mozilla/xpinstall/.*$:) {return '150';}
if (m:^CVSROOT/commitcheck\.pl$:) {return '3';}
if (m:^CVSROOT/passwd$:) {return '3';}
if (m:^modules/libjar$:) {return '221';}
if (m:^mozilla/security/manager/.*$:) {return '151';}
if (m:^mozilla/layout/style/.*$:) {return '100';}
if (m:^mozilla/webtools/addons/.*$:) {return '185';}
if (m:^mozilla/webtools/aus/.*$:) {return '185';}
if (m:^mozilla/webtools/update/.*$:) {return '185';}
if (m:^mozilla/js/src/ctypes/.*$:) {return '223';}
if (m:^mozilla/dbm/.*$:) {return '145';}
if (m:^mozilla/security/coreconf/.*$:) {return '145';}
if (m:^mozilla/security/dbm/.*$:) {return '145';}
if (m:^mozilla/security/jss/.*$:) {return '145';}
if (m:^mozilla/security/nss/.*$:) {return '145';}
if (m:^mozilla/security/tinderbox/.*$:) {return '145';}
if (m:^mozilla/security/tinderlight/.*$:) {return '145';}
if (m:^mozilla/docshell/.*$:) {return '101';}
if (m:^mozilla/uriloader/.*$:) {return '101';}
if (m:^mozilla/webshell/.*$:) {return '101';}
if (m:^mozilla/mailnews/local/src/nsMovemail.*$:) {return '157';}
if (m:^mozilla/penelope/$:) {return '225';}
if (m:^mozilla/composer/.*$:) {return '173';}
if (m:^mozilla/parser/htmlparser$:) {return '102';}
if (m:^mozilla/embedding/.*$:) {return '208';}
if (m:^mozilla/[^/]*$:) {return '19';}
if (m:^mozilla/tools/README$:) {return '19';}
if (m:^mozilla/content/base/.*$:) {return '103';}
if (m:^mozilla/content/events/.*$:) {return '103';}
if (m:^mozilla/content/html/content/.*$:) {return '103';}
if (m:^mozilla/content/html/document/.*$:) {return '103';}
if (m:^mozilla/dom/[^/]*$:) {return '103';}
if (m:^mozilla/dom/base/.*$:) {return '103';}
if (m:^mozilla/dom/interfaces/.*$:) {return '103';}
if (m:^mozilla/dom/locales/.*$:) {return '103';}
if (m:^mozilla/dom/public/.*$:) {return '103';}
if (m:^mozilla/dom/src/.*$:) {return '103';}
if (m:^mozilla/dom/tests/.*$:) {return '103';}
if (m:^extension/python$:) {return '219';}
if (m:^mozilla/gfx/src/xlib/.*$:) {return '121';}
if (m:^mozilla/widget/src/xlib/.*$:) {return '121';}
if (m:^mozilla/widget/src/xlibxtbin/.*$:) {return '121';}
if (m:^mozilla/js/rhino/.*$:) {return '138';}
if (m:^mozilla/string/.*$:) {return '160';}
if (m:^mozilla/xpcom/string/.*$:) {return '160';}
if (m:^mozilla/webtools/partytool/.*$:) {return '209';}
if (m:^mozilla/xpfe/.*$:) {return '137';}
if (m:^mozilla/widget/src/qt/.*$:) {return '161';}
if (m:^mozilla/widget/src/gtk/.*$:) {return '49';}
if (m:^mozilla/widget/src/gtk2/.*$:) {return '49';}
if (m:^mozilla/widget/src/gtksuperwin/.*$:) {return '49';}
if (m:^mozilla/widget/src/gtkxtbin/.*$:) {return '49';}
if (m:^mozilla/js/tests/.*$:) {return '114';}
if (m:^mozilla/rdf/.*$:) {return '52';}
if (m:^mozilla/extensions/p3p/.*$:) {return '162';}
if (m:^mozilla/build/.*$:) {return '55';}
@ -587,6 +475,118 @@ if (m:^mozilla/modules/libpref/.*$:) {return '82';}
if (m:^mozilla/java/plugins/.*$:) {return '129';}
if (m:^mozilla/extensions/inspector/.*$:) {return '184';}
if (m:^mozilla/layout/inspector/.*$:) {return '184';}
if (m:^mozilla/modules/libreg/.*$:) {return '84';}
if (m:^mozilla/java/webclient/.*$:) {return '127';}
if (m:^mozilla/content/svg/.*$:) {return '187';}
if (m:^mozilla/layout/svg/.*$:) {return '187';}
if (m:^db/sqlite3/.*$:) {return '216';}
if (m:^storage/.*$:) {return '216';}
if (m:^mozilla/java/dom/.*$:) {return '130';}
if (m:^mozilla/extensions/help/.*$:) {return '188';}
if (m:^mozilla/suite/.*$:) {return '188';}
if (m:^mozilla/content/xml/.*$:) {return '88';}
if (m:^mozilla/extensions/xmlextras/.*$:) {return '88';}
if (m:^mozilla/parser/expat/.*$:) {return '88';}
if (m:^mozilla/java/util/.*$:) {return '133';}
if (m:^mozilla/startupcache/.*$:) {return '89';}
if (m:^mozilla/tools/wizards/.*$:) {return '89';}
if (m:^mozilla/xpcom/[^/]*$:) {return '89';}
if (m:^mozilla/xpcom/base/.*$:) {return '89';}
if (m:^mozilla/xpcom/build/.*$:) {return '89';}
if (m:^mozilla/xpcom/components/.*$:) {return '89';}
if (m:^mozilla/xpcom/ds/.*$:) {return '89';}
if (m:^mozilla/xpcom/glue/.*$:) {return '89';}
if (m:^mozilla/xpcom/proxy/.*$:) {return '89';}
if (m:^mozilla/xpcom/sample/.*$:) {return '89';}
if (m:^mozilla/xpcom/stub/.*$:) {return '89';}
if (m:^mozilla/xpcom/tests/.*$:) {return '89';}
if (m:^mozilla/xpcom/threads/.*$:) {return '89';}
if (m:^mozilla/xpcom/tools/.*$:) {return '89';}
if (m:^mozilla/xpcom/windbgdlg/.*$:) {return '89';}
if (m:^mozilla/content/xbl/[^/]*$:) {return '199';}
if (m:^mozilla/content/xbl/public/.*$:) {return '199';}
if (m:^mozilla/content/xbl/src/.*$:) {return '199';}
if (m:^mozilla/webtools/bugzilla/.*$:) {return '190';}
if (m:^mozilla/xpcom/reflect/xptcall/.*$:) {return '206';}
if (m:^mozilla/content/xtf/.*$:) {return '200';}
if (m:^mozilla/layout/xtf/.*$:) {return '200';}
if (m:^mozilla/gfx/src/xprint/.*$:) {return '179';}
if (m:^mozilla/gfx/[^/]*$:) {return '201';}
if (m:^mozilla/gfx/cairo/.*$:) {return '201';}
if (m:^mozilla/gfx/public/.*$:) {return '201';}
if (m:^mozilla/gfx/src/[^/]*$:) {return '201';}
if (m:^mozilla/gfx/src/gtk/.*$:) {return '201';}
if (m:^mozilla/gfx/src/mac/.*$:) {return '201';}
if (m:^mozilla/gfx/src/shared/.*$:) {return '201';}
if (m:^mozilla/gfx/src/thebes/.*$:) {return '201';}
if (m:^mozilla/gfx/src/windows/.*$:) {return '201';}
if (m:^mozilla/gfx/thebes/.*$:) {return '201';}
if (m:^mozilla/modules/lcms/.*$:) {return '201';}
if (m:^mozilla/view/.*$:) {return '96';}
if (m:^mozilla/layout/[^/]*$:) {return '98';}
if (m:^mozilla/layout/base/.*$:) {return '98';}
if (m:^mozilla/layout/build/.*$:) {return '98';}
if (m:^mozilla/layout/doc/.*$:) {return '98';}
if (m:^mozilla/layout/forms/.*$:) {return '98';}
if (m:^mozilla/layout/generic/.*$:) {return '98';}
if (m:^mozilla/layout/html/.*$:) {return '98';}
if (m:^mozilla/layout/macbuild/.*$:) {return '98';}
if (m:^mozilla/layout/printing/.*$:) {return '98';}
if (m:^mozilla/layout/tables/.*$:) {return '98';}
if (m:^mozilla/layout/tools/.*$:) {return '98';}
if (m:^mozilla/xpinstall/.*$:) {return '150';}
if (m:^CVSROOT/commitcheck\.pl$:) {return '3';}
if (m:^CVSROOT/passwd$:) {return '3';}
if (m:^modules/libjar$:) {return '221';}
if (m:^mozilla/security/manager/.*$:) {return '151';}
if (m:^mozilla/layout/style/.*$:) {return '100';}
if (m:^mozilla/webtools/addons/.*$:) {return '185';}
if (m:^mozilla/webtools/aus/.*$:) {return '185';}
if (m:^mozilla/webtools/update/.*$:) {return '185';}
if (m:^mozilla/js/src/ctypes/.*$:) {return '223';}
if (m:^mozilla/dbm/.*$:) {return '145';}
if (m:^mozilla/security/coreconf/.*$:) {return '145';}
if (m:^mozilla/security/dbm/.*$:) {return '145';}
if (m:^mozilla/security/jss/.*$:) {return '145';}
if (m:^mozilla/security/nss/.*$:) {return '145';}
if (m:^mozilla/security/tinderbox/.*$:) {return '145';}
if (m:^mozilla/security/tinderlight/.*$:) {return '145';}
if (m:^mozilla/docshell/.*$:) {return '101';}
if (m:^mozilla/uriloader/.*$:) {return '101';}
if (m:^mozilla/webshell/.*$:) {return '101';}
if (m:^mozilla/mailnews/local/src/nsMovemail.*$:) {return '157';}
if (m:^mozilla/penelope/$:) {return '225';}
if (m:^mozilla/composer/.*$:) {return '173';}
if (m:^mozilla/parser/htmlparser$:) {return '102';}
if (m:^mozilla/embedding/.*$:) {return '208';}
if (m:^mozilla/[^/]*$:) {return '19';}
if (m:^mozilla/tools/README$:) {return '19';}
if (m:^mozilla/content/base/.*$:) {return '103';}
if (m:^mozilla/content/events/.*$:) {return '103';}
if (m:^mozilla/content/html/content/.*$:) {return '103';}
if (m:^mozilla/content/html/document/.*$:) {return '103';}
if (m:^mozilla/dom/[^/]*$:) {return '103';}
if (m:^mozilla/dom/base/.*$:) {return '103';}
if (m:^mozilla/dom/interfaces/.*$:) {return '103';}
if (m:^mozilla/dom/locales/.*$:) {return '103';}
if (m:^mozilla/dom/public/.*$:) {return '103';}
if (m:^mozilla/dom/src/.*$:) {return '103';}
if (m:^mozilla/dom/tests/.*$:) {return '103';}
if (m:^extension/python$:) {return '219';}
if (m:^mozilla/gfx/src/xlib/.*$:) {return '121';}
if (m:^mozilla/widget/src/xlib/.*$:) {return '121';}
if (m:^mozilla/widget/src/xlibxtbin/.*$:) {return '121';}
if (m:^mozilla/js/rhino/.*$:) {return '138';}
if (m:^mozilla/string/.*$:) {return '160';}
if (m:^mozilla/xpcom/string/.*$:) {return '160';}
if (m:^mozilla/webtools/partytool/.*$:) {return '209';}
if (m:^mozilla/xpfe/.*$:) {return '137';}
if (m:^mozilla/widget/src/qt/.*$:) {return '161';}
if (m:^mozilla/widget/src/gtk/.*$:) {return '49';}
if (m:^mozilla/widget/src/gtk2/.*$:) {return '49';}
if (m:^mozilla/widget/src/gtksuperwin/.*$:) {return '49';}
if (m:^mozilla/widget/src/gtkxtbin/.*$:) {return '49';}
if (m:^mozilla/js/tests/.*$:) {return '114';}
}
if ($b eq 'NSPRPUB_PRE_4_2_CLIENT_BRANCH') {
if (m:^mozilla/nsprpub/.*$:) {return '146';}

View File

@ -13,5 +13,6 @@
#
# If the name "ALL" appears as a regular expression it is always used
# in addition to the first matching regex or "DEFAULT".
ALL $CVSROOT/CVSROOT/commitcheck.pl
ALL $CVSROOT/CVSROOT/readonlyusers.pl
#ALL $CVSROOT/CVSROOT/commitcheck.pl
#ALL $CVSROOT/CVSROOT/readonlyusers.pl
ALL $CVSROOT/CVSROOT/readonly

View File

@ -52,6 +52,7 @@ bugzilla%standard8.plus.com:lmzqmqShGzGYs:cvsuser
burnus%gmx.de:RBozBY9sekJRM:cvsuser
bz%barnson.org:hRMbA3bW5q6Ak:cvsuser
bzbarsky%mit.edu:YySJ0ECW0UqcM:cvsuser
bzrmirror%bugzilla.org:do0ZvZ/z.1YQM:cvsuser
caillon%redhat.com:S5LpV7HM4OOzo:cvsuser
callek%gmail.com:7c0ZoYCqNF3qk:cvsuser
catlee%mozilla.com:eY4mh1o1mljjg:cvsuser
@ -93,7 +94,7 @@ douglas%stebila.ca:FtOKWYCG./BN6:cvsuser
dougt%meer.net:QzucPi4akyAvo:cvsuser
driehuis%playbeing.org:BbR6IahGk6yGc:cvsuser
dschaffe%adobe.com:IVaq/BhZhOKOc:cvsuser
dtownsend%oxymoronical.com:azpGlFWejkYvY:cvsuser
dtownsend%oxymoronical.com:nN8k.deZPkAY6:cvsuser
dveditz%cruzio.com:S1X7iuOVZr0tI:cvsuser
dwitte%mozilla.com:atobJ8YkJm/x.:cvsuser
edburns%acm.org:z7zqfOtPH9oic:cvsuser
@ -173,6 +174,7 @@ kherron%fmailbox.com:rRN9eQFLs3af6:cvsuser
kieran%eternal.undonet.com:gVVzTaNHTa3HE:cvsuser
kiko%async.com.br:Uz8pBMTzv6gpo:cvsuser
kinmoz%netscape.net:RexUJ7MbhHOeE:cvsuser
klibby%mozilla.com:bQPoQ04OC8s.6:cvsadm
Kurt.Zenker%sun.com:PxXscXmcBiCWY:cvsuser
kyle.yuan%sun.com:4pSzbqjeADpcc:cvsuser
lars%mozilla.com:OIS1qjX2A4hPY:cvsuser

View File

@ -5621,7 +5621,7 @@ fi
_SAVE_LIBS="$LIBS"
LIBS="$LIBS $OS_LIBS"
for ac_func in lchown strerror dladdr
for ac_func in dladdr gettid lchown setpriority strerror syscall
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:5628: checking for $ac_func" >&5

View File

@ -2588,7 +2588,7 @@ dnl ========================================================
AC_PROG_GCC_TRADITIONAL
_SAVE_LIBS="$LIBS"
LIBS="$LIBS $OS_LIBS"
AC_CHECK_FUNCS(lchown strerror dladdr)
AC_CHECK_FUNCS(dladdr gettid lchown setpriority strerror syscall)
LIBS="$_SAVE_LIBS"
dnl AC_FUNC_MEMCMP

View File

@ -31,11 +31,11 @@ PR_BEGIN_EXTERN_C
** The format of the version string is
** "<major version>.<minor version>[.<patch level>] [<Beta>]"
*/
#define PR_VERSION "4.9.6 Beta"
#define PR_VERSION "4.9.6"
#define PR_VMAJOR 4
#define PR_VMINOR 9
#define PR_VPATCH 6
#define PR_BETA PR_TRUE
#define PR_BETA PR_FALSE
/*
** PRVersionCheck

View File

@ -50,6 +50,10 @@ typedef struct PRSegment PRSegment;
#include <sys/sem.h>
#endif
#ifdef HAVE_SYSCALL
#include <sys/syscall.h>
#endif
/*************************************************************************
***** A Word about Model Dependent Function Naming Convention ***********
*************************************************************************/
@ -186,6 +190,17 @@ typedef struct PTDebug
NSPR_API(void) PT_FPrintStats(PRFileDesc *fd, const char *msg);
/*
* On Linux and its derivatives POSIX priority scheduling works only for
* real-time threads. On those platforms we set thread's nice values
* instead which requires us to track kernel thread IDs for each POSIX
* thread we create.
*/
#if defined(LINUX) && defined(HAVE_SETPRIORITY) && \
((defined(HAVE_SYSCALL) && defined(SYS_gettid)) || defined(HAVE_GETTID))
#define _PR_NICE_PRIORITY_SCHEDULING
#endif
#else /* defined(_PR_PTHREADS) */
NSPR_API(void) PT_FPrintStats(PRFileDesc *fd, const char *msg);
@ -1540,6 +1555,9 @@ struct PRThread {
#if defined(_PR_PTHREADS)
pthread_t id; /* pthread identifier for the thread */
#ifdef _PR_NICE_PRIORITY_SCHEDULING
pid_t tid; /* Linux-specific kernel thread ID */
#endif
PRBool okToDelete; /* ok to delete the PRThread struct? */
PRCondVar *waiting; /* where the thread is waiting | NULL */
void *sp; /* recorded sp for garbage collection */

View File

@ -28,6 +28,14 @@
#undef _POSIX_THREAD_PRIORITY_SCHEDULING
#endif
#ifdef _PR_NICE_PRIORITY_SCHEDULING
#undef _POSIX_THREAD_PRIORITY_SCHEDULING
#include <sys/resource.h>
#ifndef HAVE_GETTID
#define gettid() (syscall(SYS_gettid))
#endif
#endif
/*
* Record whether or not we have the privilege to set the scheduling
* policy and priority of threads. 0 means that privilege is available.
@ -54,7 +62,9 @@ static void _pt_thread_death(void *arg);
static void _pt_thread_death_internal(void *arg, PRBool callDestructors);
static void init_pthread_gc_support(void);
#if defined(_PR_DCETHREADS) || defined(_POSIX_THREAD_PRIORITY_SCHEDULING)
#if defined(_PR_DCETHREADS) || \
defined(_POSIX_THREAD_PRIORITY_SCHEDULING) || \
defined(_PR_NICE_PRIORITY_SCHEDULING)
static PRIntn pt_PriorityMap(PRThreadPriority pri)
{
#ifdef NTO
@ -64,6 +74,13 @@ static PRIntn pt_PriorityMap(PRThreadPriority pri)
* Jerry.Kirk@Nexwarecorp.com
*/
return 10;
#elif defined(_PR_NICE_PRIORITY_SCHEDULING)
/* This maps high priorities to low nice values:
* PR_PRIORITY_LOW 1
* PR_PRIORITY_NORMAL 0
* PR_PRIORITY_HIGH -1
* PR_PRIORITY_URGENT -2 */
return 1 - pri;
#else
return pt_book.minPrio +
pri * (pt_book.maxPrio - pt_book.minPrio) / PR_PRIORITY_LAST;
@ -98,6 +115,9 @@ static void *_pt_root(void *arg)
PRIntn rv;
PRThread *thred = (PRThread*)arg;
PRBool detached = (thred->state & PT_THREAD_DETACHED) ? PR_TRUE : PR_FALSE;
#ifdef _PR_NICE_PRIORITY_SCHEDULING
pid_t tid;
#endif
/*
* Both the parent thread and this new thread set thred->id.
@ -110,6 +130,21 @@ static void *_pt_root(void *arg)
*/
thred->id = pthread_self();
#ifdef _PR_NICE_PRIORITY_SCHEDULING
/*
* We need to know the kernel thread ID of each thread in order to
* set its priority hence we do it here instead of at creation time.
*/
tid = gettid();
rv = setpriority(PRIO_PROCESS, tid, pt_PriorityMap(thred->priority));
PR_Lock(pt_book.ml);
thred->tid = tid;
PR_NotifyAllCondVar(pt_book.cv);
PR_Unlock(pt_book.ml);
#endif
/*
** DCE Threads can't detach during creation, so do it late.
** I would like to do it only here, but that doesn't seem
@ -224,6 +259,9 @@ static PRThread* pt_AttachThread(void)
thred->priority = PR_PRIORITY_NORMAL;
thred->id = pthread_self();
#ifdef _PR_NICE_PRIORITY_SCHEDULING
thred->tid = gettid();
#endif
rv = pthread_setspecific(pt_book.key, thred);
PR_ASSERT(0 == rv);
@ -644,6 +682,21 @@ PR_IMPLEMENT(void) PR_SetThreadPriority(PRThread *thred, PRThreadPriority newPri
if (rv != 0)
rv = -1;
}
#elif defined(_PR_NICE_PRIORITY_SCHEDULING)
PR_Lock(pt_book.ml);
while (thred->tid == 0)
PR_WaitCondVar(pt_book.cv, PR_INTERVAL_NO_TIMEOUT);
PR_Unlock(pt_book.ml);
rv = setpriority(PRIO_PROCESS, thred->tid, pt_PriorityMap(newPri));
if (rv == -1 && errno == EPERM)
{
/* We don't set pt_schedpriv to EPERM because adjusting the nice
* value might be permitted for certain ranges but not others */
PR_LOG(_pr_thread_lm, PR_LOG_MIN,
("PR_SetThreadPriority: no thread scheduling privilege"));
}
#endif
thred->priority = newPri;
@ -862,6 +915,9 @@ void _PR_InitThreads(
thred->startFunc = NULL;
thred->priority = priority;
thred->id = pthread_self();
#ifdef _PR_NICE_PRIORITY_SCHEDULING
thred->tid = gettid();
#endif
thred->state = (PT_THREAD_DETACHED | PT_THREAD_PRIMORD);
if (PR_SYSTEM_THREAD == type)

View File

@ -1,12 +0,0 @@
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include $(CORE_DEPTH)/coreconf/SunOS5.mk
ifeq ($(OS_RELEASE),5.10)
OS_DEFINES += -DSOLARIS2_10
endif
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc

View File

@ -1,19 +0,0 @@
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include $(CORE_DEPTH)/coreconf/SunOS5.mk
ifeq ($(USE_64),1)
CPU_ARCH = x86_64
else
CPU_ARCH = x86
OS_DEFINES += -Di386
endif
ifeq ($(OS_RELEASE),5.10_i86pc)
OS_DEFINES += -DSOLARIS2_10
endif
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc

View File

@ -1,12 +0,0 @@
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include $(CORE_DEPTH)/coreconf/SunOS5.mk
ifeq ($(OS_RELEASE),5.11)
OS_DEFINES += -DSOLARIS2_11
endif
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc

View File

@ -1,19 +0,0 @@
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include $(CORE_DEPTH)/coreconf/SunOS5.mk
ifeq ($(USE_64),1)
CPU_ARCH = x86_64
else
CPU_ARCH = x86
OS_DEFINES += -Di386
endif
ifeq ($(OS_RELEASE),5.11_i86pc)
OS_DEFINES += -DSOLARIS2_11
endif
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc

View File

@ -1,12 +0,0 @@
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include $(CORE_DEPTH)/coreconf/SunOS5.mk
ifeq ($(OS_RELEASE),5.8)
OS_DEFINES += -DSOLARIS2_8
endif
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc

View File

@ -1,16 +0,0 @@
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include $(CORE_DEPTH)/coreconf/SunOS5.mk
CPU_ARCH = x86
ARCHFLAG =
OS_DEFINES += -Di386
ifeq ($(OS_RELEASE),5.8_i86pc)
OS_DEFINES += -DSOLARIS2_8
endif
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc

View File

@ -1,12 +0,0 @@
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include $(CORE_DEPTH)/coreconf/SunOS5.mk
ifeq ($(OS_RELEASE),5.9)
OS_DEFINES += -DSOLARIS2_9
endif
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc

View File

@ -1,16 +0,0 @@
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include $(CORE_DEPTH)/coreconf/SunOS5.mk
CPU_ARCH = x86
ARCHFLAG =
OS_DEFINES += -Di386
ifeq ($(OS_RELEASE),5.9_i86pc)
OS_DEFINES += -DSOLARIS2_9
endif
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc

View File

@ -23,9 +23,9 @@ ifeq ($(USE_64), 1)
else
ifneq ($(OS_TEST),i86pc)
ifdef NS_USE_GCC
ARCHFLAG=-mcpu=v8
ARCHFLAG=-mcpu=v9
else
ARCHFLAG=-xarch=v8
ARCHFLAG=-xarch=v8plus
endif
endif
endif
@ -67,6 +67,15 @@ RANLIB = echo
CPU_ARCH = sparc
OS_DEFINES += -DSVR4 -DSYSV -D__svr4 -D__svr4__ -DSOLARIS -D_REENTRANT
ifeq ($(OS_TEST),i86pc)
ifeq ($(USE_64),1)
CPU_ARCH = x86_64
else
CPU_ARCH = x86
OS_DEFINES += -Di386
endif
endif
# Purify doesn't like -MDupdate
NOMD_OS_CFLAGS += $(DSO_CFLAGS) $(OS_DEFINES) $(SOL_CFLAGS)
@ -90,9 +99,6 @@ endif
PROCESS_MAP_FILE = grep -v ';-' $< | \
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
# ld options:
# -G: produce a shared object
# -z defs: no unresolved symbols allowed
@ -135,3 +141,4 @@ else
RPATH = -R '$$ORIGIN'
endif
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc

View File

@ -36,8 +36,12 @@ TARGET_OSES = FreeBSD BSD_OS NetBSD OpenUNIX OS2 QNX Darwin BeOS OpenBSD \
ifeq (,$(filter-out $(TARGET_OSES),$(OS_TARGET)))
include $(CORE_DEPTH)/coreconf/$(OS_TARGET).mk
else
ifeq ($(OS_TARGET),SunOS)
include $(CORE_DEPTH)/coreconf/SunOS5.mk
else
include $(CORE_DEPTH)/coreconf/$(OS_TARGET)$(OS_RELEASE).mk
endif
endif
#######################################################################
# [4.0] Master "Core Components" source and release <platform> tags #

View File

@ -122,6 +122,12 @@ else
$(MAKE) -C $(CORE_DEPTH)/dbm export libs
endif
build_docs:
$(MAKE) -C $(CORE_DEPTH)/nss/doc
clean_docs:
$(MAKE) -C $(CORE_DEPTH)/nss/doc clean
clobber_dbm:
$(MAKE) -C $(CORE_DEPTH)/dbm clobber

View File

@ -40,6 +40,7 @@
#include "sslproto.h"
#include "cert.h"
#include "certt.h"
#include "ocsp.h"
#ifndef PORT_Sprintf
#define PORT_Sprintf sprintf
@ -77,6 +78,21 @@ static PRUint32 loggerOps;
static PRUint32 loggerBytes;
static PRUint32 loggerBytesTCP;
static PRUint32 bulkSentChunks;
static enum ocspStaplingModeEnum {
osm_disabled, /* server doesn't support stapling */
osm_good, /* supply a signed good status */
osm_revoked, /* supply a signed revoked status */
osm_unknown, /* supply a signed unknown status */
osm_failure, /* supply a unsigned failure status, "try later" */
osm_badsig, /* supply a good status response with a bad signature */
osm_corrupted, /* supply a corrupted data block as the status */
osm_random, /* use a random response for each connection */
osm_ocsp /* retrieve ocsp status from external ocsp server,
use empty status if server is unavailable */
} ocspStaplingMode = osm_disabled;
typedef enum ocspStaplingModeEnum ocspStaplingModeType;
static char *ocspStaplingCA = NULL;
CERTCertificate * certForStatusWeakReference = NULL;
const int ssl2CipherSuites[] = {
SSL_EN_RC4_128_WITH_MD5, /* A */
@ -143,6 +159,7 @@ PrintUsageHeader(const char *progName)
" [-t threads] [-i pid_file] [-c ciphers] [-Y] [-d dbdir] [-g numblocks]\n"
" [-f password_file] [-L [seconds]] [-M maxProcs] [-P dbprefix]\n"
" [-V [min-version]:[max-version]] [-a sni_name]\n"
" [ T <good|revoked|unknown|badsig|corrupted|none|ocsp>] [-A ca]\n"
#ifdef NSS_ENABLE_ECC
" [-C SSLCacheEntries] [-e ec_nickname]\n"
#else
@ -189,6 +206,16 @@ PrintParameterUsage()
"-j means measure TCP throughput (for use with -g option)\n"
"-C SSLCacheEntries sets the maximum number of entries in the SSL\n"
" session cache\n"
"-T <mode> enable OCSP stapling. Possible modes:\n"
" none: don't send cert status (default)\n"
" good, revoked, unknown: Include locally signed response. Requires: -A\n"
" failure: return a failure response (try later, unsigned)\n"
" badsig: use a good status but with an invalid signature\n"
" corrupted: stapled cert status is an invalid block of data\n"
" random: each connection uses a random status from this list:\n"
" good, revoked, unknown, failure, badsig, corrupted\n"
" ocsp: fetch from external OCSP server using AIA, or none\n"
"-A <ca> Nickname of a CA used to sign a stapled cert status\n"
"-c Restrict ciphers\n"
"-Y prints cipher values allowed for parameter -c and exits\n"
, stderr);
@ -328,8 +355,11 @@ mySSLAuthCertificate(void *arg, PRFileDesc *fd, PRBool checkSig,
peerCert = SSL_PeerCertificate(fd);
PRINTF("selfserv: Subject: %s\nselfserv: Issuer : %s\n",
peerCert->subjectName, peerCert->issuerName);
if (peerCert) {
PRINTF("selfserv: Subject: %s\nselfserv: Issuer : %s\n",
peerCert->subjectName, peerCert->issuerName);
CERT_DestroyCertificate(peerCert);
}
rv = SSL_AuthCertificate(arg, fd, checkSig, isServer);
@ -340,7 +370,6 @@ mySSLAuthCertificate(void *arg, PRFileDesc *fd, PRBool checkSig,
FPRINTF(stderr, "selfserv: -- SSL3: Certificate Invalid, err %d.\n%s\n",
err, SECU_Strerror(err));
}
CERT_DestroyCertificate(peerCert);
FLUSH;
return rv;
}
@ -1036,6 +1065,130 @@ void stop_server()
PZ_TraceFlush();
}
SECItemArray *
makeTryLaterOCSPResponse(PRArenaPool *arena)
{
SECItemArray *result = NULL;
SECItem *ocspResponse = NULL;
ocspResponse = CERT_CreateEncodedOCSPErrorResponse(arena,
SEC_ERROR_OCSP_TRY_SERVER_LATER);
if (!ocspResponse)
errExit("cannot created ocspResponse");
result = SECITEM_AllocArray(arena, NULL, 1);
if (!result)
errExit("cannot allocate multiOcspResponses");
result->items[0].data = ocspResponse->data;
result->items[0].len = ocspResponse->len;
return result;
}
SECItemArray *
makeCorruptedOCSPResponse(PRArenaPool *arena)
{
SECItemArray *result = NULL;
SECItem *ocspResponse = NULL;
ocspResponse = SECITEM_AllocItem(arena, NULL, 1);
if (!ocspResponse)
errExit("cannot created ocspResponse");
result = SECITEM_AllocArray(arena, NULL, 1);
if (!result)
errExit("cannot allocate multiOcspResponses");
result->items[0].data = ocspResponse->data;
result->items[0].len = ocspResponse->len;
return result;
}
SECItemArray *
makeSignedOCSPResponse(PRArenaPool *arena, ocspStaplingModeType osm,
PRFileDesc *model_sock, CERTCertificate *cert)
{
SECItemArray *result = NULL;
SECItem *ocspResponse = NULL;
CERTOCSPSingleResponse **singleResponses;
CERTOCSPSingleResponse *sr;
CERTOCSPCertID *cid = NULL;
CERTCertificate *ca;
PRTime now = PR_Now();
PRTime nextUpdate;
const secuPWData *pwdata;
PORT_Assert(model_sock != NULL && cert != NULL);
ca = CERT_FindCertByNickname(CERT_GetDefaultCertDB(), ocspStaplingCA);
if (!ca)
errExit("cannot find CA");
cid = CERT_CreateOCSPCertID(cert, now);
if (!cid)
errExit("cannot created cid");
nextUpdate = now + 60*60*24 * PR_USEC_PER_SEC; /* plus 1 day */
switch (osm) {
case osm_good:
case osm_badsig:
sr = CERT_CreateOCSPSingleResponseGood(arena, cid, now,
&nextUpdate);
break;
case osm_unknown:
sr = CERT_CreateOCSPSingleResponseUnknown(arena, cid, now,
&nextUpdate);
break;
case osm_revoked:
sr = CERT_CreateOCSPSingleResponseRevoked(arena, cid, now,
&nextUpdate,
now - 60*60*24 * PR_USEC_PER_SEC, /* minus 1 day */
NULL);
break;
default:
PORT_Assert(0);
break;
}
if (!sr)
errExit("cannot create sr");
/* meaning of value 2: one entry + one end marker */
singleResponses = PORT_ArenaNewArray(arena, CERTOCSPSingleResponse*, 2);
if (singleResponses == NULL)
errExit("cannot allocate singleResponses");
singleResponses[0] = sr;
singleResponses[1] = NULL;
pwdata = SSL_RevealPinArg(model_sock);
ocspResponse = CERT_CreateEncodedOCSPSuccessResponse(arena,
(osm == osm_badsig) ? NULL : ca,
ocspResponderID_byName, now, singleResponses,
&pwdata);
if (!ocspResponse)
errExit("cannot created ocspResponse");
CERT_DestroyCertificate(ca);
ca = NULL;
result = SECITEM_AllocArray(arena, NULL, 1);
if (!result)
errExit("cannot allocate multiOcspResponses");
result->items[0].data = ocspResponse->data;
result->items[0].len = ocspResponse->len;
CERT_DestroyOCSPCertID(cid);
cid = NULL;
return result;
}
int
handle_connection(
PRFileDesc *tcp_sock,
@ -1063,6 +1216,8 @@ handle_connection(
char fileName[513];
char proto[128];
PRDescIdentity aboveLayer = PR_INVALID_IO_LAYER;
PRArenaPool *arena = NULL;
ocspStaplingModeType osm;
pBuf = buf;
bufRem = sizeof buf;
@ -1089,6 +1244,58 @@ handle_connection(
ssl_sock = tcp_sock;
}
arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);
if (!arena)
errExit("cannot allocate arena");
osm = ocspStaplingMode;
if (osm == osm_random) {
/* 6 different responses */
int r = rand() % 6;
switch (r) {
case 0: osm = osm_good; break;
case 1: osm = osm_revoked; break;
case 2: osm = osm_unknown; break;
case 3: osm = osm_badsig; break;
case 4: osm = osm_corrupted; break;
case 5: osm = osm_failure; break;
default: PORT_Assert(0); break;
}
}
if (osm != osm_disabled) {
SECItemArray *multiOcspResponses = NULL;
switch (osm) {
case osm_good:
case osm_revoked:
case osm_unknown:
case osm_badsig:
multiOcspResponses =
makeSignedOCSPResponse(arena, osm, ssl_sock,
certForStatusWeakReference);
break;
case osm_corrupted:
multiOcspResponses = makeCorruptedOCSPResponse(arena);
break;
case osm_failure:
multiOcspResponses = makeTryLaterOCSPResponse(arena);
break;
case osm_ocsp:
errExit("stapling mode \"ocsp\" not implemented");
break;
break;
default:
break;
}
if (multiOcspResponses) {
SSL_SetStapledOCSPResponses(ssl_sock, multiOcspResponses,
PR_FALSE /* no ownership transfer */);
}
}
PORT_FreeArena(arena, PR_FALSE);
arena = NULL;
if (loggingLayer) {
/* find the layer where our new layer is to be pushed */
aboveLayer = PR_GetLayersIdentity(ssl_sock->lower);
@ -1703,6 +1910,9 @@ server_main(
for (kea = kt_rsa; kea < kt_kea_size; kea++) {
if (cert[kea] != NULL) {
if (!certForStatusWeakReference)
certForStatusWeakReference = cert[kea];
secStatus = SSL_ConfigSecureServer(model_sock,
cert[kea], privKey[kea], kea);
if (secStatus != SECSuccess)
@ -1887,6 +2097,43 @@ beAGoodParent(int argc, char **argv, int maxProcs, PRFileDesc * listen_sock)
exit(9); \
}
SECStatus enableOCSPStapling(const char* mode)
{
if (!strcmp(mode, "good")) {
ocspStaplingMode = osm_good;
return SECSuccess;
}
if (!strcmp(mode, "unknown")) {
ocspStaplingMode = osm_unknown;
return SECSuccess;
}
if (!strcmp(mode, "revoked")) {
ocspStaplingMode = osm_revoked;
return SECSuccess;
}
if (!strcmp(mode, "badsig")) {
ocspStaplingMode = osm_badsig;
return SECSuccess;
}
if (!strcmp(mode, "corrupted")) {
ocspStaplingMode = osm_corrupted;
return SECSuccess;
}
if (!strcmp(mode, "failure")) {
ocspStaplingMode = osm_failure;
return SECSuccess;
}
if (!strcmp(mode, "random")) {
ocspStaplingMode = osm_random;
return SECSuccess;
}
if (!strcmp(mode, "ocsp")) {
ocspStaplingMode = osm_ocsp;
return SECSuccess;
}
return SECFailure;
}
int
main(int argc, char **argv)
{
@ -1938,12 +2185,14 @@ main(int argc, char **argv)
** numbers, then capital letters, then lower case, alphabetical.
*/
optstate = PL_CreateOptState(argc, argv,
"2:BC:DEL:M:NP:RV:Ya:bc:d:e:f:g:hi:jk:lmn:op:qrst:uvw:xyz");
"2:A:BC:DEL:M:NP:RT:V:Ya:bc:d:e:f:g:hi:jk:lmn:op:qrst:uvw:xyz");
while ((status = PL_GetNextOpt(optstate)) == PL_OPT_OK) {
++optionsFound;
switch(optstate->option) {
case '2': fileName = optstate->value; break;
case 'A': ocspStaplingCA = PORT_Strdup(optstate->value); break;
case 'B': bypassPKCS11 = PR_TRUE; break;
case 'C': if (optstate->value) NumSidCacheEntries = PORT_Atoi(optstate->value); break;
@ -1951,6 +2200,8 @@ main(int argc, char **argv)
case 'D': noDelay = PR_TRUE; break;
case 'E': disableStepDown = PR_TRUE; break;
case 'I': /* reserved for OCSP multi-stapling */ break;
case 'L':
logStats = PR_TRUE;
if (optstate->value == NULL) {
@ -1971,6 +2222,14 @@ main(int argc, char **argv)
case 'R': disableRollBack = PR_TRUE; break;
case 'T':
if (enableOCSPStapling(optstate->value) != SECSuccess) {
fprintf(stderr, "Invalid OCSP stapling mode.\n");
fprintf(stderr, "Run '%s -h' for usage information.\n", progName);
exit(53);
}
break;
case 'V': if (SECU_ParseSSLVersionRangeString(optstate->value,
enabledVersions, enableSSL2,
&enabledVersions, &enableSSL2) != SECSuccess) {
@ -2077,6 +2336,20 @@ main(int argc, char **argv)
Usage(progName);
exit(51);
}
switch (ocspStaplingMode) {
case osm_good:
case osm_revoked:
case osm_unknown:
case osm_random:
if (!ocspStaplingCA) {
fprintf(stderr, "Selected stapling response requires the -A parameter.\n");
fprintf(stderr, "Run '%s -h' for usage information.\n", progName);
exit(52);
}
break;
default:
break;
}
/* The -b (bindOnly) option is only used by the ssl.sh test
* script on Linux to determine whether a previous selfserv

View File

@ -33,8 +33,10 @@
#include "nss.h"
#include "cert.h"
#include "sslproto.h"
#include "ocsp.h"
#include "ocspti.h" /* internals for pretty-printing routines *only* */
#define VERSIONSTRING "$Revision: 1.23 $ ($Date: 2013-01-23 20:53:58 $) $Author: wtc%google.com $"
#define VERSIONSTRING "$Revision: 1.24 $ ($Date: 2013-02-15 17:54:56 $) $Author: kaie%kuix.de $"
struct _DataBufferList;
@ -733,6 +735,236 @@ unsigned int print_hello_extension(unsigned char * hsdata,
return pos;
}
/*
* Note this must match (exactly) the enumeration ocspResponseStatus.
*/
static char *responseStatusNames[] = {
"successful (Response has valid confirmations)",
"malformedRequest (Illegal confirmation request)",
"internalError (Internal error in issuer)",
"tryLater (Try again later)",
"unused ((4) is not used)",
"sigRequired (Must sign the request)",
"unauthorized (Request unauthorized)",
};
static void
print_ocsp_cert_id (FILE *out_file, CERTOCSPCertID *cert_id, int level)
{
SECU_Indent (out_file, level);
fprintf (out_file, "Cert ID:\n");
level++;
/*
SECU_PrintAlgorithmID (out_file, &(cert_id->hashAlgorithm),
"Hash Algorithm", level);
SECU_PrintAsHex (out_file, &(cert_id->issuerNameHash),
"Issuer Name Hash", level);
SECU_PrintAsHex (out_file, &(cert_id->issuerKeyHash),
"Issuer Key Hash", level);
*/
SECU_PrintInteger (out_file, &(cert_id->serialNumber),
"Serial Number", level);
/* XXX lookup the cert; if found, print something nice (nickname?) */
}
static void
print_ocsp_version (FILE *out_file, SECItem *version, int level)
{
if (version->len > 0) {
SECU_PrintInteger (out_file, version, "Version", level);
} else {
SECU_Indent (out_file, level);
fprintf (out_file, "Version: DEFAULT\n");
}
}
static void
print_responder_id (FILE *out_file, ocspResponderID *responderID, int level)
{
SECU_Indent (out_file, level);
fprintf (out_file, "Responder ID ");
switch (responderID->responderIDType) {
case ocspResponderID_byName:
fprintf (out_file, "(byName):\n");
SECU_PrintName (out_file, &(responderID->responderIDValue.name),
"Name", level + 1);
break;
case ocspResponderID_byKey:
fprintf (out_file, "(byKey):\n");
SECU_PrintAsHex (out_file, &(responderID->responderIDValue.keyHash),
"Key Hash", level + 1);
break;
default:
fprintf (out_file, "Unrecognized Responder ID Type\n");
break;
}
}
static void
print_ocsp_extensions (FILE *out_file, CERTCertExtension **extensions,
char *msg, int level)
{
if (extensions) {
SECU_PrintExtensions (out_file, extensions, msg, level);
} else {
SECU_Indent (out_file, level);
fprintf (out_file, "No %s\n", msg);
}
}
static void
print_revoked_info (FILE *out_file, ocspRevokedInfo *revoked_info, int level)
{
SECU_PrintGeneralizedTime (out_file, &(revoked_info->revocationTime),
"Revocation Time", level);
if (revoked_info->revocationReason != NULL) {
SECU_PrintAsHex (out_file, revoked_info->revocationReason,
"Revocation Reason", level);
} else {
SECU_Indent (out_file, level);
fprintf (out_file, "No Revocation Reason.\n");
}
}
static void
print_cert_status (FILE *out_file, ocspCertStatus *status, int level)
{
SECU_Indent (out_file, level);
fprintf (out_file, "Status: ");
switch (status->certStatusType) {
case ocspCertStatus_good:
fprintf (out_file, "Cert is good.\n");
break;
case ocspCertStatus_revoked:
fprintf (out_file, "Cert has been revoked.\n");
print_revoked_info (out_file, status->certStatusInfo.revokedInfo,
level + 1);
break;
case ocspCertStatus_unknown:
fprintf (out_file, "Cert is unknown to responder.\n");
break;
default:
fprintf (out_file, "Unrecognized status.\n");
break;
}
}
static void
print_single_response (FILE *out_file, CERTOCSPSingleResponse *single,
int level)
{
print_ocsp_cert_id (out_file, single->certID, level);
print_cert_status (out_file, single->certStatus, level);
SECU_PrintGeneralizedTime (out_file, &(single->thisUpdate),
"This Update", level);
if (single->nextUpdate != NULL) {
SECU_PrintGeneralizedTime (out_file, single->nextUpdate,
"Next Update", level);
} else {
SECU_Indent (out_file, level);
fprintf (out_file, "No Next Update\n");
}
print_ocsp_extensions (out_file, single->singleExtensions,
"Single Response Extensions", level);
}
static void
print_response_data (FILE *out_file, ocspResponseData *responseData, int level)
{
SECU_Indent (out_file, level);
fprintf (out_file, "Response Data:\n");
level++;
print_ocsp_version (out_file, &(responseData->version), level);
print_responder_id (out_file, responseData->responderID, level);
SECU_PrintGeneralizedTime (out_file, &(responseData->producedAt),
"Produced At", level);
if (responseData->responses != NULL) {
int i;
for (i = 0; responseData->responses[i] != NULL; i++) {
SECU_Indent (out_file, level);
fprintf (out_file, "Response %d:\n", i);
print_single_response (out_file, responseData->responses[i],
level + 1);
}
} else {
fprintf (out_file, "Response list is empty.\n");
}
print_ocsp_extensions (out_file, responseData->responseExtensions,
"Response Extensions", level);
}
static void
print_basic_response (FILE *out_file, ocspBasicOCSPResponse *basic, int level)
{
SECU_Indent (out_file, level);
fprintf (out_file, "Basic OCSP Response:\n");
level++;
print_response_data (out_file, basic->tbsResponseData, level);
}
static void
print_status_response(SECItem *data)
{
int level = 2;
CERTOCSPResponse *response;
response = CERT_DecodeOCSPResponse (data);
if (!response) {
SECU_Indent (stdout, level);
fprintf(stdout,"unable to decode certificate_status\n");
return;
}
SECU_Indent (stdout, level);
if (response->statusValue >= ocspResponse_min &&
response->statusValue <= ocspResponse_max) {
fprintf (stdout, "Response Status: %s\n",
responseStatusNames[response->statusValue]);
} else {
fprintf (stdout,
"Response Status: other (Status value %d out of defined range)\n",
(int)response->statusValue);
}
if (response->statusValue == ocspResponse_successful) {
ocspResponseBytes *responseBytes = response->responseBytes;
PORT_Assert (responseBytes != NULL);
level++;
SECU_PrintObjectID (stdout, &(responseBytes->responseType),
"Response Type", level);
switch (response->responseBytes->responseTypeTag) {
case SEC_OID_PKIX_OCSP_BASIC_RESPONSE:
print_basic_response (stdout,
responseBytes->decodedResponse.basic,
level);
break;
default:
SECU_Indent (stdout, level);
fprintf (stdout, "Unknown response syntax\n");
break;
}
} else {
SECU_Indent (stdout, level);
fprintf (stdout, "Unsuccessful response, no more information.\n");
}
CERT_DestroyOCSPResponse (response);
}
/* In the case of renegotiation, handshakes that occur in an already MAC'ed
* channel, by the time of this call, the caller has already removed the MAC
* from input recordLen. The only MAC'ed record that will get here with its
@ -791,6 +1023,7 @@ void print_ssl3_handshake(unsigned char *recordBuf,
case 15: PR_FPUTS("certificate_verify)\n" ); break;
case 16: PR_FPUTS("client_key_exchange)\n" ); break;
case 20: PR_FPUTS("finished)\n" ); break;
case 22: PR_FPUTS("certificate_status_request)\n" ); break;
default: PR_FPUTS("unknown)\n" ); break;
}
@ -1088,6 +1321,37 @@ void print_ssl3_handshake(unsigned char *recordBuf,
}
break;
case 22: /*certificate_status_request*/
{
SECItem data;
PRFileDesc *ofd;
static int ocspFileNumber;
char ocspFileName[20];
/* skip 4 bytes with handshake numbers, as in ssl3_HandleCertificateStatus */
data.type = siBuffer;
data.data = hsdata + 4;
data.len = sslh.length - 4;
print_status_response(&data);
PR_snprintf(ocspFileName, sizeof ocspFileName, "ocsp.%03d",
++ocspFileNumber);
ofd = PR_Open(ocspFileName, PR_WRONLY|PR_CREATE_FILE|PR_TRUNCATE,
0664);
if (!ofd) {
PR_fprintf(PR_STDOUT,
" data = { couldn't save file '%s' }\n",
ocspFileName);
} else {
PR_Write(ofd, data.data, data.len);
PR_fprintf(PR_STDOUT,
" data = { saved in file '%s' }\n",
ocspFileName);
PR_Close(ofd);
}
}
break;
default:
{
PR_fprintf(PR_STDOUT," UNKNOWN MESSAGE TYPE %d [%d] {\n",
@ -1137,7 +1401,6 @@ void print_ssl(DataBufferList *s, int length, unsigned char *buffer)
/* first, create a new buffer object for this piece of data. */
DataBuffer *db;
int i,l;
if (s->size == 0 && length > 0 && buffer[0] >= 32 && buffer[0] < 128) {
/* Not an SSL record, treat entire buffer as plaintext */
@ -1145,12 +1408,8 @@ void print_ssl(DataBufferList *s, int length, unsigned char *buffer)
return;
}
check_integrity(s);
i = 0;
l = length;
db = PR_NEW(struct _DataBuffer);
db->buffer = (unsigned char*)PORT_Alloc(length);

View File

@ -129,6 +129,7 @@ static PRBool ignoreErrors = PR_FALSE;
static PRBool enableSessionTickets = PR_FALSE;
static PRBool enableCompression = PR_FALSE;
static PRBool enableFalseStart = PR_FALSE;
static PRBool enableCertStatus = PR_FALSE;
PRIntervalTime maxInterval = PR_INTERVAL_NO_TIMEOUT;
@ -166,6 +167,7 @@ Usage(const char *progName)
" Example: \"-V ssl3:\" enables SSL 3 and newer.\n"
" -U means enable throttling up threads\n"
" -B bypasses the PKCS11 layer for SSL encryption and MACing\n"
" -T enable the cert_status extension (OCSP stapling)\n"
" -u enable TLS Session Ticket extension\n"
" -z enable compression\n"
" -g enable false start\n",
@ -226,6 +228,7 @@ mySSLAuthCertificate(void *arg, PRFileDesc *fd, PRBool checkSig,
{
SECStatus rv;
CERTCertificate * peerCert;
const SECItemArray *csa;
if (MakeCertOK>=2) {
return SECSuccess;
@ -234,6 +237,11 @@ mySSLAuthCertificate(void *arg, PRFileDesc *fd, PRBool checkSig,
PRINTF("strsclnt: Subject: %s\nstrsclnt: Issuer : %s\n",
peerCert->subjectName, peerCert->issuerName);
csa = SSL_PeerStapledOCSPResponses(fd);
if (csa) {
PRINTF("Received %d Cert Status items (OCSP stapled data)\n",
csa->len);
}
/* invoke the "default" AuthCert handler. */
rv = SSL_AuthCertificate(arg, fd, checkSig, isServer);
@ -1220,6 +1228,12 @@ client_main(
errExit("SSL_OptionSet SSL_ENABLE_FALSE_START");
}
if (enableCertStatus) {
rv = SSL_OptionSet(model_sock, SSL_ENABLE_OCSP_STAPLING, PR_TRUE);
if (rv != SECSuccess)
errExit("SSL_OptionSet SSL_ENABLE_OCSP_STAPLING");
}
SSL_SetPKCS11PinArg(model_sock, &pwdata);
SSL_SetURL(model_sock, hostName);
@ -1332,7 +1346,7 @@ main(int argc, char **argv)
optstate = PL_CreateOptState(argc, argv,
"BC:DNP:UV:W:a:c:d:f:gin:op:qst:uvw:z");
"BC:DNP:TUV:W:a:c:d:f:gin:op:qst:uvw:z");
while ((status = PL_GetNextOpt(optstate)) == PL_OPT_OK) {
switch(optstate->option) {
case 'B': bypassPKCS11 = PR_TRUE; break;
@ -1341,10 +1355,14 @@ main(int argc, char **argv)
case 'D': NoDelay = PR_TRUE; break;
case 'I': /* reserved for OCSP multi-stapling */ break;
case 'N': NoReuse = 1; break;
case 'P': fullhs = PORT_Atoi(optstate->value); break;
case 'T': enableCertStatus = PR_TRUE; break;
case 'U': ThrottleUp = PR_TRUE; break;
case 'V': if (SECU_ParseSSLVersionRangeString(optstate->value,

View File

@ -28,6 +28,7 @@
#include "prio.h"
#include "prnetdb.h"
#include "nss.h"
#include "ocsp.h"
#include "ssl.h"
#include "sslproto.h"
#include "pk11func.h"
@ -45,6 +46,13 @@
#define MAX_WAIT_FOR_SERVER 600
#define WAIT_INTERVAL 100
#define EXIT_CODE_HANDSHAKE_FAILED 254
#define EXIT_CODE_SIDECHANNELTEST_GOOD 0
#define EXIT_CODE_SIDECHANNELTEST_BADCERT 1
#define EXIT_CODE_SIDECHANNELTEST_NODATA 2
#define EXIT_CODE_SIDECHANNELTEST_REVOKED 3
PRIntervalTime maxInterval = PR_INTERVAL_NO_TIMEOUT;
int ssl2CipherSuites[] = {
@ -99,6 +107,7 @@ secuPWData pwdata = { PW_NONE, 0 };
void printSecurityInfo(PRFileDesc *fd)
{
CERTCertificate * cert;
const SECItemArray *csa;
SSL3Statistics * ssl3stats = SSL_GetStatistics();
SECStatus result;
SSLChannelInfo channel;
@ -144,6 +153,12 @@ void printSecurityInfo(PRFileDesc *fd)
"%ld stateless resumes\n",
ssl3stats->hsh_sid_cache_hits, ssl3stats->hsh_sid_cache_misses,
ssl3stats->hsh_sid_cache_not_ok, ssl3stats->hsh_sid_stateless_resumes);
csa = SSL_PeerStapledOCSPResponses(fd);
if (csa) {
fprintf(stderr, "Received %d Cert Status items (OCSP stapled data)\n",
csa->len);
}
}
void
@ -165,7 +180,7 @@ static void PrintUsageHeader(const char *progName)
fprintf(stderr,
"Usage: %s -h host [-a 1st_hs_name ] [-a 2nd_hs_name ] [-p port]\n"
"[-d certdir] [-n nickname] [-Bafosvx] [-c ciphers] [-Y]\n"
"[-V [min-version]:[max-version]]\n"
"[-V [min-version]:[max-version]] [-T]\n"
"[-r N] [-w passwd] [-W pwfile] [-q [-t seconds]]\n",
progName);
}
@ -205,6 +220,19 @@ static void PrintParameterUsage(void)
fprintf(stderr, "%-20s Enable the session ticket extension.\n", "-u");
fprintf(stderr, "%-20s Enable compression.\n", "-z");
fprintf(stderr, "%-20s Enable false start.\n", "-g");
fprintf(stderr, "%-20s Enable the cert_status extension (OCSP stapling).\n", "-T");
fprintf(stderr, "%-20s Require fresh revocation info from side channel.\n"
"%-20s -F once means: require for server cert only\n"
"%-20s -F twice means: require for intermediates, too\n"
"%-20s (Connect, handshake with server, disable dynamic download\n"
"%-20s of OCSP/CRL, verify cert using CERT_PKIXVerifyCert.)\n"
"%-20s Exit code:\n"
"%-20s 0: have fresh and valid revocation data, status good\n"
"%-20s 1: cert failed to verify, prior to revocation checking\n"
"%-20s 2: missing, old or invalid revocation data\n"
"%-20s 3: have fresh and valid revocation data, status revoked\n",
"-F", "", "", "", "", "", "", "", "", "");
fprintf(stderr, "%-20s Test -F allows 0=any (default), 1=only OCSP, 2=only CRL\n", "-M");
fprintf(stderr, "%-20s Restrict ciphers\n", "-c ciphers");
fprintf(stderr, "%-20s Print cipher values allowed for parameter -c and exit\n", "-Y");
}
@ -294,8 +322,14 @@ typedef struct
* peer's certificate and restart the handshake. */
void * dbHandle; /* Certificate database handle to use while
* authenticating the peer's certificate. */
PRBool testFreshStatusFromSideChannel;
PRErrorCode sideChannelRevocationTestResultCode;
PRBool requireDataForIntermediates;
PRBool allowOCSPSideChannelData;
PRBool allowCRLSideChannelData;
} ServerCertAuth;
/*
* Callback is called when incoming certificate is not valid.
* Returns SECSuccess to accept the cert anyway, SECFailure to reject.
@ -310,16 +344,208 @@ ownBadCertHandler(void * arg, PRFileDesc * socket)
return SECSuccess; /* override, say it's OK. */
}
#define EXIT_CODE_SIDECHANNELTEST_GOOD 0
#define EXIT_CODE_SIDECHANNELTEST_BADCERT 1
#define EXIT_CODE_SIDECHANNELTEST_NODATA 2
#define EXIT_CODE_SIDECHANNELTEST_REVOKED 3
static void
verifyFromSideChannel(CERTCertificate *cert, ServerCertAuth *sca)
{
PRUint64 revDoNotUse =
CERT_REV_M_DO_NOT_TEST_USING_THIS_METHOD;
PRUint64 revUseLocalOnlyAndSoftFail =
CERT_REV_M_TEST_USING_THIS_METHOD
| CERT_REV_M_FORBID_NETWORK_FETCHING
| CERT_REV_M_REQUIRE_INFO_ON_MISSING_SOURCE
| CERT_REV_M_IGNORE_MISSING_FRESH_INFO
| CERT_REV_M_STOP_TESTING_ON_FRESH_INFO;
PRUint64 revUseLocalOnlyAndHardFail =
CERT_REV_M_TEST_USING_THIS_METHOD
| CERT_REV_M_FORBID_NETWORK_FETCHING
| CERT_REV_M_REQUIRE_INFO_ON_MISSING_SOURCE
| CERT_REV_M_FAIL_ON_MISSING_FRESH_INFO
| CERT_REV_M_STOP_TESTING_ON_FRESH_INFO;
PRUint64 methodFlagsDoNotUse[2];
PRUint64 methodFlagsCheckSoftFail[2];
PRUint64 methodFlagsCheckHardFail[2];
CERTRevocationTests revTestsDoNotCheck;
CERTRevocationTests revTestsOverallSoftFail;
CERTRevocationTests revTestsOverallHardFail;
CERTRevocationFlags rev;
CERTValInParam cvin[2];
CERTValOutParam cvout[1];
SECStatus rv;
methodFlagsDoNotUse[cert_revocation_method_crl] = revDoNotUse;
methodFlagsDoNotUse[cert_revocation_method_ocsp] = revDoNotUse;
methodFlagsCheckSoftFail[cert_revocation_method_crl] =
sca->allowCRLSideChannelData ? revUseLocalOnlyAndSoftFail : revDoNotUse;
methodFlagsCheckSoftFail[cert_revocation_method_ocsp] =
sca->allowOCSPSideChannelData ? revUseLocalOnlyAndSoftFail : revDoNotUse;
methodFlagsCheckHardFail[cert_revocation_method_crl] =
sca->allowCRLSideChannelData ? revUseLocalOnlyAndHardFail : revDoNotUse;
methodFlagsCheckHardFail[cert_revocation_method_ocsp] =
sca->allowOCSPSideChannelData ? revUseLocalOnlyAndHardFail : revDoNotUse;
revTestsDoNotCheck.cert_rev_flags_per_method = methodFlagsDoNotUse;
revTestsDoNotCheck.number_of_defined_methods = 2;
revTestsDoNotCheck.number_of_preferred_methods = 0;
revTestsDoNotCheck.cert_rev_method_independent_flags =
CERT_REV_MI_TEST_ALL_LOCAL_INFORMATION_FIRST
| CERT_REV_MI_NO_OVERALL_INFO_REQUIREMENT;
revTestsOverallSoftFail.cert_rev_flags_per_method = 0; /* must define later */
revTestsOverallSoftFail.number_of_defined_methods = 2;
revTestsOverallSoftFail.number_of_preferred_methods = 0;
revTestsOverallSoftFail.cert_rev_method_independent_flags =
CERT_REV_MI_TEST_ALL_LOCAL_INFORMATION_FIRST
| CERT_REV_MI_NO_OVERALL_INFO_REQUIREMENT;
revTestsOverallHardFail.cert_rev_flags_per_method = 0; /* must define later */
revTestsOverallHardFail.number_of_defined_methods = 2;
revTestsOverallHardFail.number_of_preferred_methods = 0;
revTestsOverallHardFail.cert_rev_method_independent_flags =
CERT_REV_MI_TEST_ALL_LOCAL_INFORMATION_FIRST
| CERT_REV_MI_REQUIRE_SOME_FRESH_INFO_AVAILABLE;
rev.chainTests = revTestsDoNotCheck;
rev.leafTests = revTestsDoNotCheck;
cvin[0].type = cert_pi_revocationFlags;
cvin[0].value.pointer.revocation = &rev;
cvin[1].type = cert_pi_end;
cvout[0].type = cert_po_end;
/* Strategy:
*
* Verify with revocation checking disabled.
* On failure return 1.
*
* if result if "good", then continue testing.
*
* Verify with CERT_REV_M_FAIL_ON_MISSING_FRESH_INFO.
* If result is good, return 0.
*
* On failure continue testing, find out why it failed.
*
* Verify with CERT_REV_M_IGNORE_MISSING_FRESH_INFO
*
* If result is "good", then our previous test failed,
* because we don't have fresh revocation info, return 2.
*
* If result is still bad, we do have revocation info,
* and it says "revoked" or something equivalent, return 3.
*/
/* revocation checking disabled */
rv = CERT_PKIXVerifyCert(cert, certificateUsageSSLServer,
cvin, cvout, NULL);
if (rv != SECSuccess) {
sca->sideChannelRevocationTestResultCode =
EXIT_CODE_SIDECHANNELTEST_BADCERT;
return;
}
/* revocation checking, hard fail */
if (sca->allowOCSPSideChannelData && sca->allowCRLSideChannelData) {
/* any method is allowed. use soft fail on individual checks,
* but use hard fail on the overall check
*/
revTestsOverallHardFail.cert_rev_flags_per_method = methodFlagsCheckSoftFail;
}
else {
/* only one method is allowed. use hard fail on the individual checks.
* hard/soft fail is irrelevant on overall flags.
*/
revTestsOverallHardFail.cert_rev_flags_per_method = methodFlagsCheckHardFail;
}
rev.leafTests = revTestsOverallHardFail;
rev.chainTests =
sca->requireDataForIntermediates ? revTestsOverallHardFail : revTestsDoNotCheck;
rv = CERT_PKIXVerifyCert(cert, certificateUsageSSLServer,
cvin, cvout, NULL);
if (rv == SECSuccess) {
sca->sideChannelRevocationTestResultCode =
EXIT_CODE_SIDECHANNELTEST_GOOD;
return;
}
/* revocation checking, soft fail */
revTestsOverallSoftFail.cert_rev_flags_per_method = methodFlagsCheckSoftFail;
rev.leafTests = revTestsOverallSoftFail;
rev.chainTests =
sca->requireDataForIntermediates ? revTestsOverallSoftFail : revTestsDoNotCheck;
rv = CERT_PKIXVerifyCert(cert, certificateUsageSSLServer,
cvin, cvout, NULL);
if (rv == SECSuccess) {
sca->sideChannelRevocationTestResultCode =
EXIT_CODE_SIDECHANNELTEST_NODATA;
return;
}
sca->sideChannelRevocationTestResultCode =
EXIT_CODE_SIDECHANNELTEST_REVOKED;
}
static SECStatus
ownAuthCertificate(void *arg, PRFileDesc *fd, PRBool checkSig,
PRBool isServer)
{
ServerCertAuth * serverCertAuth = (ServerCertAuth *) arg;
if (!serverCertAuth->shouldPause) {
CERTCertificate *cert;
int i;
const SECItemArray *csa;
if (!serverCertAuth->testFreshStatusFromSideChannel) {
return SSL_AuthCertificate(serverCertAuth->dbHandle,
fd, checkSig, isServer);
}
/* No verification attempt must have happened before now,
* to ensure revocation data has been actively retrieved yet,
* or our test will produce incorrect results.
*/
cert = SSL_RevealCert(fd);
if (!cert) {
exit(254);
}
csa = SSL_PeerStapledOCSPResponses(fd);
if (csa) {
for (i = 0; i < csa->len; ++i) {
CERT_CacheOCSPResponseFromSideChannel(
serverCertAuth->dbHandle,
cert,
PR_Now(),
&csa->items[i],
arg);
}
}
verifyFromSideChannel(cert, serverCertAuth);
CERT_DestroyCertificate(cert);
/* return success to ensure our caller will continue and we will
* reach the code that handles
* serverCertAuth->sideChannelRevocationTestResultCode
*/
return SECSuccess;
}
FPRINTF(stderr, "%s: using asynchronous certificate validation\n",
progName);
PORT_Assert(serverCertAuth->shouldPause);
PORT_Assert(!serverCertAuth->isPaused);
serverCertAuth->isPaused = PR_TRUE;
return SECWouldBlock;
@ -576,6 +802,7 @@ int main(int argc, char **argv)
int enableSessionTickets = 0;
int enableCompression = 0;
int enableFalseStart = 0;
int enableCertStatus = 0;
PRSocketOptionData opt;
PRNetAddr addr;
PRPollDesc pollset[2];
@ -597,6 +824,11 @@ int main(int argc, char **argv)
serverCertAuth.shouldPause = PR_TRUE;
serverCertAuth.isPaused = PR_FALSE;
serverCertAuth.dbHandle = NULL;
serverCertAuth.testFreshStatusFromSideChannel = PR_FALSE;
serverCertAuth.sideChannelRevocationTestResultCode = EXIT_CODE_HANDSHAKE_FAILED;
serverCertAuth.requireDataForIntermediates = PR_FALSE;
serverCertAuth.allowOCSPSideChannelData = PR_TRUE;
serverCertAuth.allowCRLSideChannelData = PR_TRUE;
progName = strrchr(argv[0], '/');
if (!progName)
@ -614,7 +846,7 @@ int main(int argc, char **argv)
SSL_VersionRangeGetSupported(ssl_variant_stream, &enabledVersions);
optstate = PL_CreateOptState(argc, argv,
"BOSV:W:Ya:c:d:fgh:m:n:op:qr:st:uvw:xz");
"BFM:OSTV:W:Ya:c:d:fgh:m:n:op:qr:st:uvw:xz");
while ((optstatus = PL_GetNextOpt(optstate)) == PL_OPT_OK) {
switch (optstate->option) {
case '?':
@ -622,10 +854,38 @@ int main(int argc, char **argv)
case 'B': bypassPKCS11 = 1; break;
case 'F': if (serverCertAuth.testFreshStatusFromSideChannel) {
/* parameter given twice or more */
serverCertAuth.requireDataForIntermediates = PR_TRUE;
}
serverCertAuth.testFreshStatusFromSideChannel = PR_TRUE;
break;
case 'I': /* reserved for OCSP multi-stapling */ break;
case 'O': serverCertAuth.shouldPause = PR_FALSE; break;
case 'M': switch (atoi(optstate->value)) {
case 1:
serverCertAuth.allowOCSPSideChannelData = PR_TRUE;
serverCertAuth.allowCRLSideChannelData = PR_FALSE;
break;
case 2:
serverCertAuth.allowOCSPSideChannelData = PR_FALSE;
serverCertAuth.allowCRLSideChannelData = PR_TRUE;
break;
case 0:
default:
serverCertAuth.allowOCSPSideChannelData = PR_TRUE;
serverCertAuth.allowCRLSideChannelData = PR_TRUE;
break;
};
break;
case 'S': skipProtoHeader = PR_TRUE; break;
case 'T': enableCertStatus = 1; break;
case 'V': if (SECU_ParseSSLVersionRangeString(optstate->value,
enabledVersions, enableSSL2,
&enabledVersions, &enableSSL2) != SECSuccess) {
@ -702,6 +962,12 @@ int main(int argc, char **argv)
if (!host || !portno)
Usage(progName);
if (serverCertAuth.testFreshStatusFromSideChannel
&& serverCertAuth.shouldPause) {
fprintf(stderr, "%s: -F requires the use of -O\n", progName);
exit(1);
}
PR_Init( PR_SYSTEM_THREAD, PR_PRIORITY_NORMAL, 1);
PK11_SetPasswordFunc(SECU_GetModulePassword);
@ -816,7 +1082,10 @@ int main(int argc, char **argv)
}
opt.option = PR_SockOpt_Nonblocking;
opt.value.non_blocking = PR_TRUE;
opt.value.non_blocking = PR_TRUE; /* default */
if (serverCertAuth.testFreshStatusFromSideChannel) {
opt.value.non_blocking = PR_FALSE;
}
PR_SetSocketOption(s, &opt);
/*PR_SetSocketOption(PR_GetSpecialFD(PR_StandardInput), &opt);*/
@ -936,15 +1205,18 @@ int main(int argc, char **argv)
return 1;
}
/* enable cert status (OCSP stapling). */
rv = SSL_OptionSet(s, SSL_ENABLE_OCSP_STAPLING, enableCertStatus);
if (rv != SECSuccess) {
SECU_PrintError(progName, "error enabling cert status (OCSP stapling)");
return 1;
}
SSL_SetPKCS11PinArg(s, &pwdata);
serverCertAuth.dbHandle = CERT_GetDefaultCertDB();
if (serverCertAuth.shouldPause) {
SSL_AuthCertificateHook(s, ownAuthCertificate, &serverCertAuth);
} else {
SSL_AuthCertificateHook(s, SSL_AuthCertificate, serverCertAuth.dbHandle);
}
SSL_AuthCertificateHook(s, ownAuthCertificate, &serverCertAuth);
if (override) {
SSL_BadCertHook(s, ownBadCertHandler, NULL);
}
@ -1042,6 +1314,12 @@ int main(int argc, char **argv)
}
#endif
if (serverCertAuth.testFreshStatusFromSideChannel) {
SSL_ForceHandshake(s);
error = serverCertAuth.sideChannelRevocationTestResultCode;
goto done;
}
/*
** Select on stdin and on the socket. Write data from stdin to
** socket, read data from socket and write to stdout.
@ -1055,7 +1333,7 @@ int main(int argc, char **argv)
rv = restartHandshakeAfterServerCertIfNeeded(s, &serverCertAuth,
override);
if (rv != SECSuccess) {
error = 254; /* 254 (usually) means "handshake failed" */
error = EXIT_CODE_HANDSHAKE_FAILED;
SECU_PrintError(progName, "authentication of server cert failed");
goto done;
}
@ -1122,7 +1400,7 @@ int main(int argc, char **argv)
rv = restartHandshakeAfterServerCertIfNeeded(s,
&serverCertAuth, override);
if (rv != SECSuccess) {
error = 254; /* 254 (usually) means "handshake failed" */
error = EXIT_CODE_HANDSHAKE_FAILED;
SECU_PrintError(progName, "authentication of server cert failed");
goto done;
}

View File

@ -24,7 +24,7 @@ prepare: date-and-version
clean:
rm -f date.xml version.xml *.tar.bz2
rm -fr $(name) ascii html nroff
rm -fr $(name) ascii
date-and-version: date.xml version.xml
@ -55,13 +55,13 @@ tarball:
# manpages
#--------------------------------------------------------
%.1 : %.xml prepare
nroff/%.1 : %.xml
$(COMPILE.1) $<
MANPAGES = \
certutil.1 cmsutil.1 crlutil.1 pk12util.1 \
modutil.1 ssltap.1 derdump.1 signtool.1 signver.1 \
pp.1 vfychain.1 vfyserv.1
nroff/certutil.1 nroff/cmsutil.1 nroff/crlutil.1 nroff/pk12util.1 \
nroff/modutil.1 nroff/ssltap.1 nroff/derdump.1 nroff/signtool.1 nroff/signver.1 \
nroff/pp.1 nroff/vfychain.1 nroff/vfyserv.1
all-man: prepare $(MANPAGES)
@ -69,14 +69,13 @@ all-man: prepare $(MANPAGES)
# html pages
#--------------------------------------------------------
%.html : %.xml
html/%.html : %.xml
$(COMPILE.html) $<
mv html/index.html html/$@
mv html/index.html $@
HTMLPAGES = \
certutil.html cmsutil.html crlutil.html pk12util.html modutil.html \
ssltap.html derdump.html signtool.html signver.html pp.html \
vfychain.html vfyserv.html
html/certutil.html html/cmsutil.html html/crlutil.html html/pk12util.html html/modutil.html \
html/ssltap.html html/derdump.html html/signtool.html html/signver.html html/pp.html \
html/vfychain.html html/vfyserv.html
all-html: prepare $(HTMLPAGES)

View File

@ -0,0 +1,318 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>CERTUTIL</title><meta name="generator" content="DocBook XSL Stylesheets V1.77.1"><link rel="home" href="index.html" title="CERTUTIL"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">CERTUTIL</th></tr></table><hr></div><div class="refentry"><a name="certutil"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>certutil — Manage keys and certificate in the the NSS database.</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">certutil</code> [<em class="replaceable"><code>options</code></em>] [[<em class="replaceable"><code>arguments</code></em>]]</p></div></div><div class="refsection"><a name="idp225008"></a><h2>STATUS</h2><p>This documentation is still work in progress. Please contribute to the initial review in <a class="ulink" href="https://bugzilla.mozilla.org/show_bug.cgi?id=836477" target="_top">Mozilla NSS bug 836477</a>
</p></div><div class="refsection"><a name="description"></a><h2>Description</h2><p>The Certificate Database Tool, <span class="command"><strong>certutil</strong></span>, is a command-line utility that manages certs and keys in both NSS databases and other NSS tokens (such as smart cards). It can specifically list, generate, modify, or delete certificates within the database, create or change the password, generate new public and private key pairs, display the contents of the key database, or delete key pairs within the key database.</p><p>The key and certificate management process generally includes certificate issuance once keys and certificates have been created in the key database. This document discusses certificate and key database management. For information security module database management, see the <span class="command"><strong>modutil</strong></span> manpage.</p></div><div class="refsection"><a name="options"></a><h2>Options and Arguments</h2><p>Running <span class="command"><strong>certutil</strong></span> always requires one and only one option to specify the type of certificate operation. Each option may take arguments, anywhere from none to multiple arguments. Run the command option and <code class="option">-H</code> to see the arguments available for each command option.</p><p><span class="command"><strong>Command Options</strong></span></p><p>Command options are typically upper case. </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">-A </span></dt><dd><p>Add an existing certificate to a certificate database. The certificate database should already exist; if one is not present, this command option will initialize one by default. </p></dd><dt><span class="term">-B</span></dt><dd><p>Run a series of commands from the specified batch file. This requires the <code class="option">-i</code> argument.</p></dd><dt><span class="term">-C </span></dt><dd><p>Create a new binary certificate file from a binary certificate request file. Use the <code class="option">-i</code> argument to specify the certificate request file. If this argument is not used, <span class="command"><strong>certutil</strong></span> prompts for a filename. </p></dd><dt><span class="term">-D </span></dt><dd><p>Delete a certificate from the certificate database.</p></dd><dt><span class="term">-E </span></dt><dd><p>Add an email certificate to the certificate database.</p></dd><dt><span class="term">-F</span></dt><dd><p>Delete a private key from a key database. Specify the key to delete with the -n argument. Specify the database from which to delete the key with the
<code class="option">-d</code> argument. Use the <code class="option">-k</code> argument to specify explicitly whether to delete a DSA, RSA, or ECC key. If you don't use the <code class="option">-k</code> argument, the option looks for an RSA key matching the specified nickname.
</p><p>
When you delete keys, be sure to also remove any certificates associated with those keys from the certificate database, by using -D. Some smart cards do not let you remove a public key you have generated. In such a case, only the private key is deleted from the key pair. You can display the public key with the command certutil -K -h tokenname. </p></dd><dt><span class="term">-G </span></dt><dd><p>Generate a new public and private key pair within a key database. The key database should already exist; if one is not present, this option will initialize one by default. Some smart cards can store only one key pair. If you create a new key pair for such a card, the previous pair is overwritten.</p></dd><dt><span class="term">-H </span></dt><dd><p>Display a list of the command options and arguments used by the Certificate Database Tool.</p></dd><dt><span class="term">-K </span></dt><dd><p>List the key ID of keys in the key database. A key ID is the modulus of the RSA key or the publicValue of the DSA key. IDs are displayed in hexadecimal ("0x" is not shown).</p></dd><dt><span class="term">-L </span></dt><dd><p>List all the certificates, or display information about a named certificate, in a certificate database.
Use the -h tokenname argument to specify the certificate database on a particular hardware or software token.</p></dd><dt><span class="term">-M </span></dt><dd><p>Modify a certificate's trust attributes using the values of the -t argument.</p></dd><dt><span class="term">-N</span></dt><dd><p>Create new certificate and key databases.</p></dd><dt><span class="term">-O </span></dt><dd><p>Print the certificate chain.</p></dd><dt><span class="term">-R</span></dt><dd><p>Create a certificate request file that can be submitted to a Certificate Authority (CA) for processing into a finished certificate. Output defaults to standard out unless you use -o output-file argument.
Use the -a argument to specify ASCII output.</p></dd><dt><span class="term">-S </span></dt><dd><p>Create an individual certificate and add it to a certificate database.</p></dd><dt><span class="term">-T </span></dt><dd><p>Reset the key database or token.</p></dd><dt><span class="term">-U </span></dt><dd><p>List all available modules or print a single named module.</p></dd><dt><span class="term">-V </span></dt><dd><p>Check the validity of a certificate and its attributes.</p></dd><dt><span class="term">-W </span></dt><dd><p>Change the password to a key database.</p></dd><dt><span class="term">--merge</span></dt><dd><p>Merge a source database into the target database. This is used to merge legacy NSS databases (<code class="filename">cert8.db</code> and <code class="filename">key3.db</code>) into the newer SQLite databases (<code class="filename">cert9.db</code> and <code class="filename">key4.db</code>).</p></dd><dt><span class="term">--upgrade-merge</span></dt><dd><p>Upgrade an old database and merge it into a new database. This is used to migrate legacy NSS databases (<code class="filename">cert8.db</code> and <code class="filename">key3.db</code>) into the newer SQLite databases (<code class="filename">cert9.db</code> and <code class="filename">key4.db</code>).</p></dd></dl></div><p><span class="command"><strong>Arguments</strong></span></p><p>Arguments modify a command option and are usually lower case, numbers, or symbols.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">-a</span></dt><dd><p>Use ASCII format or allow the use of ASCII format for input or output. This formatting follows RFC 1113.
For certificate requests, ASCII output defaults to standard output unless redirected.</p></dd><dt><span class="term">-b validity-time</span></dt><dd><p>Specify a time at which a certificate is required to be valid. Use when checking certificate validity with the <code class="option">-V</code> option. The format of the <span class="emphasis"><em>validity-time</em></span> argument is <span class="emphasis"><em>YYMMDDHHMMSS[+HHMM|-HHMM|Z]</em></span>, which allows offsets to be set relative to the validity end time. Specifying seconds (<span class="emphasis"><em>SS</em></span>) is optional. When specifying an explicit time, use a Z at the end of the term, <span class="emphasis"><em>YYMMDDHHMMSSZ</em></span>, to close it. When specifying an offset time, use <span class="emphasis"><em>YYMMDDHHMMSS+HHMM</em></span> or <span class="emphasis"><em>YYMMDDHHMMSS-HHMM</em></span> for adding or subtracting time, respectively.
</p><p>
If this option is not used, the validity check defaults to the current system time.</p></dd><dt><span class="term">-c issuer</span></dt><dd><p>Identify the certificate of the CA from which a new certificate will derive its authenticity.
Use the exact nickname or alias of the CA certificate, or use the CA's email address. Bracket the issuer string
with quotation marks if it contains spaces. </p></dd><dt><span class="term">-d [prefix]directory</span></dt><dd><p>Specify the database directory containing the certificate and key database files.</p><p><span class="command"><strong>certutil</strong></span> supports two types of databases: the legacy security databases (<code class="filename">cert8.db</code>, <code class="filename">key3.db</code>, and <code class="filename">secmod.db</code>) and new SQLite databases (<code class="filename">cert9.db</code>, <code class="filename">key4.db</code>, and <code class="filename">pkcs11.txt</code>). If the prefix <span class="command"><strong>sql:</strong></span> is not used, then the tool assumes that the given databases are in the old format.</p><p>NSS recognizes the following prefixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="command"><strong>sql: explicitly requests the newer database</strong></span></p></li><li class="listitem"><p><span class="command"><strong>dbm: explicitly requests the older database</strong></span></p></li><li class="listitem"><p><span class="command"><strong>extern: explicitly reserved for future use</strong></span></p></li></ul></div></dd><dt><span class="term">-e </span></dt><dd><p>Check a certificate's signature during the process of validating a certificate.</p></dd><dt><span class="term">-f password-file</span></dt><dd><p>Specify a file that will automatically supply the password to include in a certificate
or to access a certificate database. This is a plain-text file containing one password. Be sure to prevent
unauthorized access to this file.</p></dd><dt><span class="term">-g keysize</span></dt><dd><p>Set a key size to use when generating new public and private key pairs. The minimum is 512 bits and the maximum is 8192 bits. The default is 1024 bits. Any size between the minimum and maximum is allowed.</p></dd><dt><span class="term">-h tokenname</span></dt><dd><p>Specify the name of a token to use or act on. Unless specified otherwise the default token is an internal slot.</p></dd><dt><span class="term">-i input_file</span></dt><dd><p>Pass an input file to the command. Depending on the command option, an input file can be a specific certificate, a certificate request file, or a batch file of commands.</p></dd><dt><span class="term">-k rsa|dsa|ec|all</span></dt><dd><p>Specify the type of a key. The valid options are RSA, DSA, ECC, or all. The default value is rsa. Specifying the type of key can avoid mistakes caused by duplicate nicknames.</p></dd><dt><span class="term">-k key-type-or-id</span></dt><dd><p>Specify the type or specific ID of a key. </p><p>
The valid key type options are RSA, DSA, ECC, or all. The default
value is rsa. Specifying the type of key can avoid mistakes caused by
duplicate nicknames. Giving a key type generates a new key pair;
giving the ID of an existing key reuses that key pair (which is
required to renew certificates).
</p><p>
The valid key type options are RSA, DSA, ECC, or all. The default
value is rsa. Specifying the type of key can avoid mistakes caused by
duplicate nicknames. Giving a key type generates a new key pair;
giving the ID of an existing key reuses that key pair (which is
required to renew certificates).
</p></dd><dt><span class="term">-l </span></dt><dd><p>Display detailed information when validating a certificate with the -V option.</p></dd><dt><span class="term">-m serial-number</span></dt><dd><p>Assign a unique serial number to a certificate being created. This operation should be performed by a CA. If no serial number is
provided a default serial number is made from the current time. Serial numbers are limited to integers </p></dd><dt><span class="term">-n nickname</span></dt><dd><p>Specify the nickname of a certificate or key to list, create, add to a database, modify, or validate. Bracket the nickname string with quotation marks if it contains spaces.</p></dd><dt><span class="term">-o output-file</span></dt><dd><p>Specify the output file name for new certificates or binary certificate requests. Bracket the output-file string with quotation marks if it contains spaces. If this argument is not used the output destination defaults to standard output.</p></dd><dt><span class="term">-P dbPrefix</span></dt><dd><p>Specify the prefix used on the certificate and key database file. This argument is provided to support legacy servers. Most applications do not use a database prefix.</p></dd><dt><span class="term">-p phone</span></dt><dd><p>Specify a contact telephone number to include in new certificates or certificate requests. Bracket this string with quotation marks if it contains spaces.</p></dd><dt><span class="term">-q pqgfile or curve-name</span></dt><dd><p>Read an alternate PQG value from the specified file when generating DSA key pairs. If this argument is not used, <span class="command"><strong>certutil</strong></span> generates its own PQG value. PQG files are created with a separate DSA utility.</p><p>Elliptic curve name is one of the ones from SUITE B: nistp256, nistp384, nistp521</p><p>
If NSS has been compiled with support curves outside of SUITE B:
sect163k1, nistk163, sect163r1, sect163r2,
nistb163, sect193r1, sect193r2, sect233k1, nistk233,
sect233r1, nistb233, sect239k1, sect283k1, nistk283,
sect283r1, nistb283, sect409k1, nistk409, sect409r1,
nistb409, sect571k1, nistk571, sect571r1, nistb571,
secp160k1, secp160r1, secp160r2, secp192k1, secp192r1,
nistp192, secp224k1, secp224r1, nistp224, secp256k1,
secp256r1, secp384r1, secp521r1,
prime192v1, prime192v2, prime192v3,
prime239v1, prime239v2, prime239v3, c2pnb163v1,
c2pnb163v2, c2pnb163v3, c2pnb176v1, c2tnb191v1,
c2tnb191v2, c2tnb191v3,
c2pnb208w1, c2tnb239v1, c2tnb239v2, c2tnb239v3,
c2pnb272w1, c2pnb304w1,
c2tnb359w1, c2pnb368w1, c2tnb431r1, secp112r1,
secp112r2, secp128r1, secp128r2, sect113r1, sect113r2
sect131r1, sect131r2
</p></dd><dt><span class="term">-r </span></dt><dd><p>Display a certificate's binary DER encoding when listing information about that certificate with the -L option.</p></dd><dt><span class="term">-s subject</span></dt><dd><p>Identify a particular certificate owner for new certificates or certificate requests. Bracket this string with quotation marks if it contains spaces. The subject identification format follows RFC #1485.</p></dd><dt><span class="term">-t trustargs</span></dt><dd><p>Specify the trust attributes to modify in an existing certificate or to apply to a certificate when creating it or adding it to a database. There are three available trust categories for each certificate, expressed in the order <span class="emphasis"><em>SSL, email, object signing</em></span> for each trust setting. In each category position, use none, any, or all
of the attribute codes:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
<span class="command"><strong>p</strong></span> - Valid peer
</p></li><li class="listitem"><p>
<span class="command"><strong>P</strong></span> - Trusted peer (implies p)
</p></li><li class="listitem"><p>
<span class="command"><strong>c</strong></span> - Valid CA
</p></li><li class="listitem"><p>
<span class="command"><strong>T</strong></span> - Trusted CA (implies c)
</p></li><li class="listitem"><p>
<span class="command"><strong>C</strong></span> - rusted CA for client authentication (ssl server only)
</p></li><li class="listitem"><p>
<span class="command"><strong>u</strong></span> - user
</p></li></ul></div><p>
The attribute codes for the categories are separated by commas, and the entire set of attributes enclosed by quotation marks. For example:
</p><p><span class="command"><strong>-t "TCu,Cu,Tuw"</strong></span></p><p>
Use the -L option to see a list of the current certificates and trust attributes in a certificate database. </p></dd><dt><span class="term">-u certusage</span></dt><dd><p>Specify a usage context to apply when validating a certificate with the -V option.</p><p>The contexts are the following:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="command"><strong>C</strong></span> (as an SSL client)</p></li><li class="listitem"><p><span class="command"><strong>V</strong></span> (as an SSL server)</p></li><li class="listitem"><p><span class="command"><strong>S</strong></span> (as an email signer)</p></li><li class="listitem"><p><span class="command"><strong>R</strong></span> (as an email recipient)</p></li><li class="listitem"><p><span class="command"><strong>O</strong></span> (as an OCSP status responder)</p></li><li class="listitem"><p><span class="command"><strong>J</strong></span> (as an object signer)</p></li></ul></div></dd><dt><span class="term">-v valid-months</span></dt><dd><p>Set the number of months a new certificate will be valid. The validity period begins at the current system time unless an offset is added or subtracted with the <code class="option">-w</code> option. If this argument is not used, the default validity period is three months. </p></dd><dt><span class="term">-w offset-months</span></dt><dd><p>Set an offset from the current system time, in months,
for the beginning of a certificate's validity period. Use when creating
the certificate or adding it to a database. Express the offset in integers,
using a minus sign (-) to indicate a negative offset. If this argument is
not used, the validity period begins at the current system time. The length
of the validity period is set with the -v argument. </p></dd><dt><span class="term">-X </span></dt><dd><p>Force the key and certificate database to open in read-write mode. This is used with the <code class="option">-U</code> and <code class="option">-L</code> command options.</p></dd><dt><span class="term">-x </span></dt><dd><p>Use <span class="command"><strong>certutil</strong></span> to generate the signature for a certificate being created or added to a database, rather than obtaining a signature from a separate CA.</p></dd><dt><span class="term">-y exp</span></dt><dd><p>Set an alternate exponent value to use in generating a new RSA public key for the database, instead of the default value of 65537. The available alternate values are 3 and 17.</p></dd><dt><span class="term">-z noise-file</span></dt><dd><p>Read a seed value from the specified file to generate a new private and public key pair. This argument makes it possible to use hardware-generated seed values or manually create a value from the keyboard. The minimum file size is 20 bytes.</p></dd><dt><span class="term">-0 SSO_password</span></dt><dd><p>Set a site security officer password on a token.</p></dd><dt><span class="term">-1 | --keyUsage keyword,keyword</span></dt><dd><p>Set a Netscape Certificate Type Extension in the certificate. There are several available keywords:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
digital signature
</p></li><li class="listitem"><p>
nonRepudiation
</p></li><li class="listitem"><p>
keyEncipherment
</p></li><li class="listitem"><p>
dataEncipherment
</p></li><li class="listitem"><p>
keyAgreement
</p></li><li class="listitem"><p>
certSigning
</p></li><li class="listitem"><p>
crlSigning
</p></li><li class="listitem"><p>
critical
</p></li></ul></div></dd><dt><span class="term">-2 </span></dt><dd><p>Add a basic constraint extension to a certificate that is being created or added to a database. This extension supports the certificate chain verification process. <span class="command"><strong>certutil</strong></span> prompts for the certificate constraint extension to select.</p><p>X.509 certificate extensions are described in RFC 5280.</p></dd><dt><span class="term">-3 </span></dt><dd><p>Add an authority key ID extension to a certificate that is being created or added to a database. This extension supports the identification of a particular certificate, from among multiple certificates associated with one subject name, as the correct issuer of a certificate. The Certificate Database Tool will prompt you to select the authority key ID extension.</p><p>X.509 certificate extensions are described in RFC 5280.</p></dd><dt><span class="term">-4 </span></dt><dd><p>Add a CRL distribution point extension to a certificate that is being created or added to a database. This extension identifies the URL of a certificate's associated certificate revocation list (CRL). <span class="command"><strong>certutil</strong></span> prompts for the URL.</p><p>X.509 certificate extensions are described in RFC 5280.</p></dd><dt><span class="term">-5 | --nsCertType keyword,keyword</span></dt><dd><p>Add a Netscape certificate type extension to a certificate that is being created or added to the database. There are several available keywords:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
sslClient
</p></li><li class="listitem"><p>
sslServer
</p></li><li class="listitem"><p>
smime
</p></li><li class="listitem"><p>
objectSigning
</p></li><li class="listitem"><p>
sslCA
</p></li><li class="listitem"><p>
smimeCA
</p></li><li class="listitem"><p>
objectSigningCA
</p></li><li class="listitem"><p>
critical
</p></li></ul></div><p>X.509 certificate extensions are described in RFC 5280.</p></dd><dt><span class="term">-6 | --extKeyUsage keyword,keyword</span></dt><dd><p>Add an extended key usage extension to a certificate that is being created or added to the database. Several keywords are available:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
serverAuth
</p></li><li class="listitem"><p>
clientAuth
</p></li><li class="listitem"><p>
codeSigning
</p></li><li class="listitem"><p>
emailProtection
</p></li><li class="listitem"><p>
timeStamp
</p></li><li class="listitem"><p>
ocspResponder
</p></li><li class="listitem"><p>
stepUp
</p></li><li class="listitem"><p>
msTrustListSign
</p></li><li class="listitem"><p>
critical
</p></li></ul></div><p>X.509 certificate extensions are described in RFC 5280.</p></dd><dt><span class="term">-7 emailAddrs</span></dt><dd><p>Add a comma-separated list of email addresses to the subject alternative name extension of a certificate or certificate request that is being created or added to the database. Subject alternative name extensions are described in Section 4.2.1.7 of RFC 3280.</p></dd><dt><span class="term">-8 dns-names</span></dt><dd><p>Add a comma-separated list of DNS names to the subject alternative name extension of a certificate or certificate request that is being created or added to the database. Subject alternative name extensions are described in Section 4.2.1.7 of RFC 3280.</p></dd><dt><span class="term">--extAIA</span></dt><dd><p>Add the Authority Information Access extension to the certificate. X.509 certificate extensions are described in RFC 5280.</p></dd><dt><span class="term">--extSIA</span></dt><dd><p>Add the Subject Information Access extension to the certificate. X.509 certificate extensions are described in RFC 5280.</p></dd><dt><span class="term">--extCP</span></dt><dd><p>Add the Certificate Policies extension to the certificate. X.509 certificate extensions are described in RFC 5280.</p></dd><dt><span class="term">--extPM</span></dt><dd><p>Add the Policy Mappings extension to the certificate. X.509 certificate extensions are described in RFC 5280.</p></dd><dt><span class="term">--extPC</span></dt><dd><p>Add the Policy Constraints extension to the certificate. X.509 certificate extensions are described in RFC 5280.</p></dd><dt><span class="term">--extIA</span></dt><dd><p>Add the Inhibit Any Policy Access extension to the certificate. X.509 certificate extensions are described in RFC 5280.</p></dd><dt><span class="term">--extSKID</span></dt><dd><p>Add the Subject Key ID extension to the certificate. X.509 certificate extensions are described in RFC 5280.</p></dd><dt><span class="term">--source-dir certdir</span></dt><dd><p>Identify the certificate database directory to upgrade.</p></dd><dt><span class="term">--source-prefix certdir</span></dt><dd><p>Give the prefix of the certificate and key databases to upgrade.</p></dd><dt><span class="term">--upgrade-id uniqueID</span></dt><dd><p>Give the unique ID of the database to upgrade.</p></dd><dt><span class="term">--upgrade-token-name name</span></dt><dd><p>Set the name of the token to use while it is being upgraded.</p></dd><dt><span class="term">-@ pwfile</span></dt><dd><p>Give the name of a password file to use for the database being upgraded.</p></dd></dl></div></div><div class="refsection"><a name="basic-usage"></a><h2>Usage and Examples</h2><p>
Most of the command options in the examples listed here have more arguments available. The arguments included in these examples are the most common ones or are used to illustrate a specific scenario. Use the <code class="option">-H</code> option to show the complete list of arguments for each command option.
</p><p><span class="command"><strong>Creating New Security Databases</strong></span></p><p>
Certificates, keys, and security modules related to managing certificates are stored in three related databases:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
cert8.db or cert9.db
</p></li><li class="listitem"><p>
key3.db or key4.db
</p></li><li class="listitem"><p>
secmod.db or pkcs11.txt
</p></li></ul></div><p>
These databases must be created before certificates or keys can be generated.
</p><pre class="programlisting">certutil -N -d [sql:]directory</pre><p><span class="command"><strong>Creating a Certificate Request</strong></span></p><p>
A certificate request contains most or all of the information that is used to generate the final certificate. This request is submitted separately to a certificate authority and is then approved by some mechanism (automatically or by human review). Once the request is approved, then the certificate is generated.
</p><pre class="programlisting">$ certutil -R -k key-type-or-id [-q pqgfile|curve-name] -g key-size -s subject [-h tokenname] -d [sql:]directory [-p phone] [-o output-file] [-a]</pre><p>
The <code class="option">-R</code> command options requires four arguments:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
<code class="option">-k</code> to specify either the key type to generate or, when renewing a certificate, the existing key pair to use
</p></li><li class="listitem"><p>
<code class="option">-g</code> to set the keysize of the key to generate
</p></li><li class="listitem"><p>
<code class="option">-s</code> to set the subject name of the certificate
</p></li><li class="listitem"><p>
<code class="option">-d</code> to give the security database directory
</p></li></ul></div><p>
The new certificate request can be output in ASCII format (<code class="option">-a</code>) or can be written to a specified file (<code class="option">-o</code>).
</p><p>
For example:
</p><pre class="programlisting">$ certutil -R -k ec -q nistb409 -g 512 -s "CN=John Smith,O=Example Corp,L=Mountain View,ST=California,C=US" -d sql:/home/my/sharednssdb -p 650-555-0123 -a -o cert.cer
Generating key. This may take a few moments...
Certificate request generated by Netscape
Phone: 650-555-0123
Common Name: John Smith
Email: (not ed)
Organization: Example Corp
State: California
Country: US
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIBIDCBywIBADBmMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEW
MBQGA1UEBxMNTW91bnRhaW4gVmlldzEVMBMGA1UEChMMRXhhbXBsZSBDb3JwMRMw
EQYDVQQDEwpKb2huIFNtaXRoMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMVUpDOZ
KmHnOx7reP8Cc0Lk+fFWEuYIDX9W5K/BioQOKvEjXyQZhit9aThzBVMoSf1Y1S8J
CzdUbCg1+IbnXaECAwEAAaAAMA0GCSqGSIb3DQEBBQUAA0EAryqZvpYrUtQ486Ny
qmtyQNjIi1F8c1Z+TL4uFYlMg8z6LG/J/u1E5t1QqB5e9Q4+BhRbrQjRR1JZx3tB
1hP9Gg==
-----END NEW CERTIFICATE REQUEST-----</pre><p><span class="command"><strong>Creating a Certificate</strong></span></p><p>
A valid certificate must be issued by a trusted CA. This can be done by specifying a CA certificate (<code class="option">-c</code>) that is stored in the certificate database. If a CA key pair is not available, you can create a self-signed certificate using the <code class="option">-x</code> argument with the <code class="option">-S</code> command option.
</p><pre class="programlisting">$ certutil -S -k rsa|dsa|ec -n certname -s subject [-c issuer |-x] -t trustargs -d [sql:]directory [-m serial-number] [-v valid-months] [-w offset-months] [-p phone] [-1] [-2] [-3] [-4] [-5 keyword] [-6 keyword] [-7 emailAddress] [-8 dns-names] [--extAIA] [--extSIA] [--extCP] [--extPM] [--extPC] [--extIA] [--extSKID]</pre><p>
The series of numbers and <code class="option">--ext*</code> options set certificate extensions that can be added to the certificate when it is generated by the CA.
</p><p>
For example, this creates a self-signed certificate:
</p><pre class="programlisting">$ certutil -S -s "CN=Example CA" -n my-ca-cert -x -t "C,C,C" -1 -2 -5 -m 3650</pre><p>
From there, new certificates can reference the self-signed certificate:
</p><pre class="programlisting">$ certutil -S -s "CN=My Server Cert" -n my-server-cert -c "my-ca-cert" -t "u,u,u" -1 -5 -6 -8 -m 730</pre><p><span class="command"><strong>Generating a Certificate from a Certificate Request</strong></span></p><p>
When a certificate request is created, a certificate can be generated by using the request and then referencing a certificate authority signing certificate (the <span class="emphasis"><em>issuer</em></span> specified in the <code class="option">-c</code> argument). The issuing certificate must be in the certificate database in the specified directory.
</p><pre class="programlisting">certutil -C -c issuer -i cert-request-file -o output-file [-m serial-number] [-v valid-months] [-w offset-months] -d [sql:]directory [-1] [-2] [-3] [-4] [-5 keyword] [-6 keyword] [-7 emailAddress] [-8 dns-names]</pre><p>
For example:
</p><pre class="programlisting">$ certutil -C -c "my-ca-cert" -i /home/certs/cert.req -o cert.cer -m 010 -v 12 -w 1 -d sql:/home/my/sharednssdb -1 nonRepudiation,dataEncipherment -5 sslClient -6 clientAuth -7 jsmith@example.com</pre><p><span class="command"><strong>Generating Key Pairs</strong></span></p><p>
Key pairs are generated automatically with a certificate request or certificate, but they can also be generated independently using the <code class="option">-G</code> command option.
</p><pre class="programlisting">certutil -G -d [sql:]directory | -h tokenname -k key-type -g key-size [-y exponent-value] -q pqgfile|curve-name</pre><p>
For example:
</p><pre class="programlisting">$ certutil -G -h lunasa -k ec -g 256 -q sect193r2</pre><p><span class="command"><strong>Listing Certificates</strong></span></p><p>
The <code class="option">-L</code> command option lists all of the certificates listed in the certificate database. The path to the directory (<code class="option">-d</code>) is required.
</p><pre class="programlisting">$ certutil -L -d sql:/home/my/sharednssdb
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
CA Administrator of Instance pki-ca1's Example Domain ID u,u,u
TPS Administrator's Example Domain ID u,u,u
Google Internet Authority ,,
Certificate Authority - Example Domain CT,C,C</pre><p>
Using additional arguments with <code class="option">-L</code> can return and print the information for a single, specific certificate. For example, the <code class="option">-n</code> argument passes the certificate name, while the <code class="option">-a</code> argument prints the certificate in ASCII format:
</p><pre class="programlisting">$ certutil -L -d sql:/home/my/sharednssdb -a -n "Certificate Authority - Example Domain"
-----BEGIN CERTIFICATE-----
MIIDmTCCAoGgAwIBAgIBATANBgkqhkiG9w0BAQUFADA5MRcwFQYDVQQKEw5FeGFt
cGxlIERvbWFpbjEeMBwGA1UEAxMVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTEw
MDQyOTIxNTY1OFoXDTEyMDQxODIxNTY1OFowOTEXMBUGA1UEChMORXhhbXBsZSBE
b21haW4xHjAcBgNVBAMTFUNlcnRpZmljYXRlIEF1dGhvcml0eTCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAO/bqUli2KwqXFKmMMG93KN1SANzNTXA/Vlf
Tmrih3hQgjvR1ktIY9aG6cB7DSKWmtHp/+p4PUCMqL4ZrSGt901qxkePyZ2dYmM2
RnelK+SEUIPiUtoZaDhNdiYsE/yuDE8vQWj0vHCVL0w72qFUcSQ/WZT7FCrnUIUI
udeWnoPSUn70gLhcj/lvxl7K9BHyD4Sq5CzktwYtFWLiiwV+ZY/Fl6JgbGaQyQB2
bP4iRMfloGqsxGuB1evWVDF1haGpFDSPgMnEPSLg3/3dXn+HDJbZ29EU8/xKzQEb
3V0AHKbu80zGllLEt2Zx/WDIrgJEN9yMfgKFpcmL+BvIRsmh0VsCAwEAAaOBqzCB
qDAfBgNVHSMEGDAWgBQATgxHQyRUfKIZtdp55bZlFr+tFzAPBgNVHRMBAf8EBTAD
AQH/MA4GA1UdDwEB/wQEAwIBxjAdBgNVHQ4EFgQUAE4MR0MkVHyiGbXaeeW2ZRa/
rRcwRQYIKwYBBQUHAQEEOTA3MDUGCCsGAQUFBzABhilodHRwOi8vbG9jYWxob3N0
LmxvY2FsZG9tYWluOjkxODAvY2Evb2NzcDANBgkqhkiG9w0BAQUFAAOCAQEAi8Gk
L3XO43u7/TDOeEsWPmq+jZsDZ3GZ85Ajt3KROLWeKVZZZa2E2Hnsvf2uXbk5amKe
lRxdSeRH9g85pv4KY7Z8xZ71NrI3+K3uwmnqkc6t0hhYb1mw/gx8OAAoluQx3biX
JBDxjI73Cf7XUopplHBjjiwyGIJUO8BEZJ5L+TF4P38MJz1snLtzZpEAX5bl0U76
bfu/tZFWBbE8YAWYtkCtMcalBPj6jn2WD3M01kGozW4mmbvsj1cRB9HnsGsqyHCu
U0ujlL1H/RWcjn607+CTeKH9jLMUqCIqPJNOa+kq/6F7NhNRRiuzASIbZc30BZ5a
nI7q5n1USM3eWQlVXw==
-----END CERTIFICATE-----</pre><p><span class="command"><strong>Listing Keys</strong></span></p><p>
Keys are the original material used to encrypt certificate data. The keys generated for certificates are stored separately, in the key database.
</p><p>
To list all keys in the database, use the <code class="option">-K</code> command option and the (required) <code class="option">-d</code> argument to give the path to the directory.
</p><pre class="programlisting">$ certutil -K -d sql:/home/my/sharednssdb
certutil: Checking token "NSS Certificate DB" in slot "NSS User Private Key and Certificate Services "
&lt; 0&gt; rsa 455a6673bde9375c2887ec8bf8016b3f9f35861d Thawte Freemail Member's Thawte Consulting (Pty) Ltd. ID
&lt; 1&gt; rsa 40defeeb522ade11090eacebaaf1196a172127df Example Domain Administrator Cert
&lt; 2&gt; rsa 1d0b06f44f6c03842f7d4f4a1dc78b3bcd1b85a5 John Smith user cert</pre><p>
There are ways to narrow the keys listed in the search results:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
To return a specific key, use the <code class="option">-n</code> <span class="emphasis"><em>name</em></span> argument with the name of the key.
</p></li><li class="listitem"><p>
If there are multiple security devices loaded, then the <code class="option">-h</code> <span class="emphasis"><em>tokenname</em></span> argument can search a specific token or all tokens.
</p></li><li class="listitem"><p>
If there are multiple key types available, then the <code class="option">-k</code> <span class="emphasis"><em>key-type</em></span> argument can search a specific type of key, like RSA, DSA, or ECC.
</p></li></ul></div><p><span class="command"><strong>Listing Security Modules</strong></span></p><p>
The devices that can be used to store certificates -- both internal databases and external devices like smart cards -- are recognized and used by loading security modules. The <code class="option">-U</code> command option lists all of the security modules listed in the <code class="filename">secmod.db</code> database. The path to the directory (<code class="option">-d</code>) is required.
</p><pre class="programlisting">$ certutil -U -d sql:/home/my/sharednssdb
slot: NSS User Private Key and Certificate Services
token: NSS Certificate DB
slot: NSS Internal Cryptographic Services
token: NSS Generic Crypto Services</pre><p><span class="command"><strong>Adding Certificates to the Database</strong></span></p><p>
Existing certificates or certificate requests can be added manually to the certificate database, even if they were generated elsewhere. This uses the <code class="option">-A</code> command option.
</p><pre class="programlisting">certutil -A -n certname -t trustargs -d [sql:]directory [-a] [-i input-file]</pre><p>
For example:
</p><pre class="programlisting">$ certutil -A -n "CN=My SSL Certificate" -t "u,u,u" -d sql:/home/my/sharednssdb -i /home/example-certs/cert.cer</pre><p>
A related command option, <code class="option">-E</code>, is used specifically to add email certificates to the certificate database. The <code class="option">-E</code> command has the same arguments as the <code class="option">-A</code> command. The trust arguments for certificates have the format <span class="emphasis"><em>SSL,S/MIME,Code-signing</em></span>, so the middle trust settings relate most to email certificates (though the others can be set). For example:
</p><pre class="programlisting">$ certutil -E -n "CN=John Smith Email Cert" -t ",Pu," -d sql:/home/my/sharednssdb -i /home/example-certs/email.cer</pre><p><span class="command"><strong>Deleting Certificates to the Database</strong></span></p><p>
Certificates can be deleted from a database using the <code class="option">-D</code> option. The only required options are to give the security database directory and to identify the certificate nickname.
</p><pre class="programlisting">certutil -D -d [sql:]directory -n "nickname"</pre><p>
For example:
</p><pre class="programlisting">$ certutil -D -d sql:/home/my/sharednssdb -n "my-ssl-cert"</pre><p><span class="command"><strong>Validating Certificates</strong></span></p><p>
A certificate contains an expiration date in itself, and expired certificates are easily rejected. However, certificates can also be revoked before they hit their expiration date. Checking whether a certificate has been revoked requires validating the certificate. Validation can also be used to ensure that the certificate is only used for the purposes it was initially issued for. Validation is carried out by the <code class="option">-V</code> command option.
</p><pre class="programlisting">certutil -V -n certificate-name [-b time] [-e] [-u cert-usage] -d [sql:]directory</pre><p>
For example, to validate an email certificate:
</p><pre class="programlisting">$ certutil -V -n "John Smith's Email Cert" -e -u S,R -d sql:/home/my/sharednssdb</pre><p><span class="command"><strong>Modifying Certificate Trust Settings</strong></span></p><p>
The trust settings (which relate to the operations that a certificate is allowed to be used for) can be changed after a certificate is created or added to the database. This is especially useful for CA certificates, but it can be performed for any type of certificate.
</p><pre class="programlisting">certutil -M -n certificate-name -t trust-args -d [sql:]directory</pre><p>
For example:
</p><pre class="programlisting">$ certutil -M -n "My CA Certificate" -d sql:/home/my/sharednssdb -t "CTu,CTu,CTu"</pre><p><span class="command"><strong>Printing the Certificate Chain</strong></span></p><p>
Certificates can be issued in <span class="emphasis"><em>chains</em></span> because every certificate authority itself has a certificate; when a CA issues a certificate, it essentially stamps that certificate with its own fingerprint. The <code class="option">-O</code> prints the full chain of a certificate, going from the initial CA (the root CA) through ever intermediary CA to the actual certificate. For example, for an email certificate with two CAs in the chain:
</p><pre class="programlisting">$ certutil -d sql:/home/my/sharednssdb -O -n "jsmith@example.com"
"Builtin Object Token:Thawte Personal Freemail CA" [E=personal-freemail@thawte.com,CN=Thawte Personal Freemail CA,OU=Certification Services Division,O=Thawte Consulting,L=Cape Town,ST=Western Cape,C=ZA]
"Thawte Personal Freemail Issuing CA - Thawte Consulting" [CN=Thawte Personal Freemail Issuing CA,O=Thawte Consulting (Pty) Ltd.,C=ZA]
"(null)" [E=jsmith@example.com,CN=Thawte Freemail Member]</pre><p><span class="command"><strong>Resetting a Token</strong></span></p><p>
The device which stores certificates -- both external hardware devices and internal software databases -- can be blanked and reused. This operation is performed on the device which stores the data, not directly on the security databases, so the location must be referenced through the token name (<code class="option">-h</code>) as well as any directory path. If there is no external token used, the default value is internal.
</p><pre class="programlisting">certutil -T -d [sql:]directory -h token-name -0 security-officer-password</pre><p>
Many networks have dedicated personnel who handle changes to security tokens (the security officer). This person must supply the password to access the specified token. For example:
</p><pre class="programlisting">$ certutil -T -d sql:/home/my/sharednssdb -h nethsm -0 secret</pre><p><span class="command"><strong>Upgrading or Merging the Security Databases</strong></span></p><p>
Many networks or applications may be using older BerkeleyDB versions of the certificate database (<code class="filename">cert8.db</code>). Databases can be upgraded to the new SQLite version of the database (<code class="filename">cert9.db</code>) using the <code class="option">--upgrade-merge</code> command option or existing databases can be merged with the new <code class="filename">cert9.db</code> databases using the <code class="option">---merge</code> command.
</p><p>
The <code class="option">--upgrade-merge</code> command must give information about the original database and then use the standard arguments (like <code class="option">-d</code>) to give the information about the new databases. The command also requires information that the tool uses for the process to upgrade and write over the original database.
</p><pre class="programlisting">certutil --upgrade-merge -d [sql:]directory [-P dbprefix] --source-dir directory --source-prefix dbprefix --upgrade-id id --upgrade-token-name name [-@ password-file]</pre><p>
For example:
</p><pre class="programlisting">$ certutil --upgrade-merge -d sql:/home/my/sharednssdb --source-dir /opt/my-app/alias/ --source-prefix serverapp- --upgrade-id 1 --upgrade-token-name internal</pre><p>
The <code class="option">--merge</code> command only requires information about the location of the original database; since it doesn't change the format of the database, it can write over information without performing interim step.
</p><pre class="programlisting">certutil --merge -d [sql:]directory [-P dbprefix] --source-dir directory --source-prefix dbprefix [-@ password-file]</pre><p>
For example:
</p><pre class="programlisting">$ certutil --merge -d sql:/home/my/sharednssdb --source-dir /opt/my-app/alias/ --source-prefix serverapp-</pre><p><span class="command"><strong>Running certutil Commands from a Batch File</strong></span></p><p>
A series of commands can be run sequentially from a text file with the <code class="option">-B</code> command option. The only argument for this specifies the input file.
</p><pre class="programlisting">$ certutil -B -i /path/to/batch-file</pre></div><div class="refsection"><a name="databases"></a><h2>NSS Database Types</h2><p>NSS originally used BerkeleyDB databases to store security information.
The last versions of these <span class="emphasis"><em>legacy</em></span> databases are:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
cert8.db for certificates
</p></li><li class="listitem"><p>
key3.db for keys
</p></li><li class="listitem"><p>
secmod.db for PKCS #11 module information
</p></li></ul></div><p>BerkeleyDB has performance limitations, though, which prevent it from being easily used by multiple applications simultaneously. NSS has
some flexibility that allows applications to use their own, independent database engine while keeping a shared database and working around the access issues. Still, NSS
requires more flexibility to provide a truly shared security database.</p><p>In 2009, NSS introduced a new set of databases that are SQLite databases rather than
BerkleyDB. These new databases provide more accessibility and performance:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
cert9.db for certificates
</p></li><li class="listitem"><p>
key4.db for keys
</p></li><li class="listitem"><p>
pkcs11.txt, which is listing of all of the PKCS #11 modules contained in a new subdirectory in the security databases directory
</p></li></ul></div><p>Because the SQLite databases are designed to be shared, these are the <span class="emphasis"><em>shared</em></span> database type. The shared database type is preferred; the legacy format is included for backward compatibility.</p><p>By default, the tools (<span class="command"><strong>certutil</strong></span>, <span class="command"><strong>pk12util</strong></span>, <span class="command"><strong>modutil</strong></span>) assume that the given security databases follow the more common legacy type.
Using the SQLite databases must be manually specified by using the <span class="command"><strong>sql:</strong></span> prefix with the given security directory. For example:</p><pre class="programlisting">$ certutil -L -d sql:/home/my/sharednssdb</pre><p>To set the shared database type as the default type for the tools, set the <code class="envar">NSS_DEFAULT_DB_TYPE</code> environment variable to <code class="envar">sql</code>:</p><pre class="programlisting">export NSS_DEFAULT_DB_TYPE="sql"</pre><p>This line can be set added to the <code class="filename">~/.bashrc</code> file to make the change permanent.</p><p>Most applications do not use the shared database by default, but they can be configured to use them. For example, this how-to article covers how to configure Firefox and Thunderbird to use the new shared NSS databases:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
https://wiki.mozilla.org/NSS_Shared_DB_Howto</p></li></ul></div><p>For an engineering draft on the changes in the shared NSS databases, see the NSS project wiki:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
https://wiki.mozilla.org/NSS_Shared_DB
</p></li></ul></div></div><div class="refsection"><a name="seealso"></a><h2>See Also</h2><p>pk12util (1)</p><p>modutil (1)</p><p><span class="command"><strong>certutil</strong></span> has arguments or operations that use features defined in several IETF RFCs.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
http://tools.ietf.org/html/rfc5280
</p></li><li class="listitem"><p>
http://tools.ietf.org/html/rfc1113
</p></li><li class="listitem"><p>
http://tools.ietf.org/html/rfc1485
</p></li></ul></div><p>The NSS wiki has information on the new database design and how to configure applications to use it.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
https://wiki.mozilla.org/NSS_Shared_DB_Howto</p></li><li class="listitem"><p>
https://wiki.mozilla.org/NSS_Shared_DB
</p></li></ul></div></div><div class="refsection"><a name="resources"></a><h2>Additional Resources</h2><p>For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at <a class="ulink" href="http://www.mozilla.org/projects/security/pki/nss/" target="_top">http://www.mozilla.org/projects/security/pki/nss/</a>. The NSS site relates directly to NSS code changes and releases.</p><p>Mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto</p><p>IRC: Freenode at #dogtag-pki</p></div><div class="refsection"><a name="authors"></a><h2>Authors</h2><p>The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun.</p><p>
Authors: Elio Maldonado &lt;emaldona@redhat.com&gt;, Deon Lackey &lt;dlackey@redhat.com&gt;.
</p></div><div class="refsection"><a name="license"></a><h2>LICENSE</h2><p>Licensed under the Mozilla Public License, version 1.1,
and/or the GNU General Public License, version 2 or later,
and/or the GNU Lesser General Public License, version 2.1 or later.
</p></div></div><div class="navfooter"><hr></div></body></html>

View File

@ -0,0 +1,32 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>CMSUTIL</title><meta name="generator" content="DocBook XSL Stylesheets V1.77.1"><link rel="home" href="index.html" title="CMSUTIL"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">CMSUTIL</th></tr></table><hr></div><div class="refentry"><a name="cmsutil"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>cmsutil — Performs basic cryptograpic operations, such as encryption and decryption, on Cryptographic Message Syntax (CMS) messages.</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">cmsutil</code> [<em class="replaceable"><code>options</code></em>] [[<em class="replaceable"><code>arguments</code></em>]]</p></div></div><div class="refsection"><a name="idp187936"></a><h2>STATUS</h2><p>This documentation is still work in progress. Please contribute to the initial review in <a class="ulink" href="https://bugzilla.mozilla.org/show_bug.cgi?id=836477" target="_top">Mozilla NSS bug 836477</a>
</p></div><div class="refsection"><a name="description"></a><h2>Description</h2><p>The <span class="command"><strong>cmsutil</strong></span> command-line uses the S/MIME Toolkit to perform basic operations, such as encryption and decryption, on Cryptographic Message Syntax (CMS) messages.
</p><p>
To run cmsutil, type the command cmsutil option [arguments] where option and arguments are combinations of the options and arguments listed in the following section.
Each command takes one option. Each option may take zero or more arguments.
To see a usage string, issue the command without options.
</p></div><div class="refsection"><a name="options"></a><h2>Options and Arguments</h2><p>
</p><p><span class="command"><strong>Options</strong></span></p><p>
Options specify an action. Option arguments modify an action.
The options and arguments for the cmsutil command are defined as follows:
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">-D </span></dt><dd><p>Decode a message.</p></dd><dt><span class="term">-C</span></dt><dd><p>Encrypt a message.</p></dd><dt><span class="term">-E </span></dt><dd><p>Envelope a message.</p></dd><dt><span class="term">-O </span></dt><dd><p>Create a certificates-only message.</p></dd><dt><span class="term">-S </span></dt><dd><p>Sign a message.</p></dd></dl></div><p><span class="command"><strong>Arguments</strong></span></p><p>Option arguments modify an action and are lowercase.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">-c content </span></dt><dd><p>Use this detached content (decode only).</p></dd><dt><span class="term">-d dbdir</span></dt><dd><p>Specify the key/certificate database directory (default is ".")</p></dd><dt><span class="term">-e envfile</span></dt><dd><p>Specify a file containing an enveloped message for a set of recipients to which you would like to send an encrypted message. If this is the first encrypted message for that set of recipients, a new enveloped message will be created that you can then use for future messages (encrypt only).</p></dd><dt><span class="term">-G</span></dt><dd><p>Include a signing time attribute (sign only).</p></dd><dt><span class="term">-h num</span></dt><dd><p>Generate email headers with info about CMS message (decode only).</p></dd><dt><span class="term">-i infile</span></dt><dd><p>Use infile as a source of data (default is stdin).</p></dd><dt><span class="term">-N nickname</span></dt><dd><p>Specify nickname of certificate to sign with (sign only).</p></dd><dt><span class="term">-n </span></dt><dd><p>Suppress output of contents (decode only).</p></dd><dt><span class="term">-o outfile</span></dt><dd><p>Use outfile as a destination of data (default is stdout).</p></dd><dt><span class="term">-P</span></dt><dd><p>Include an S/MIME capabilities attribute.</p></dd><dt><span class="term">-p password</span></dt><dd><p>Use password as key database password.</p></dd><dt><span class="term">-r recipient1,recipient2, ...</span></dt><dd><p>
Specify list of recipients (email addresses) for an encrypted or enveloped message.
For certificates-only message, list of certificates to send.
</p></dd><dt><span class="term">-T</span></dt><dd><p>Suppress content in CMS message (sign only).</p></dd><dt><span class="term">-u certusage</span></dt><dd><p>Set type of cert usage (default is certUsageEmailSigner).</p></dd><dt><span class="term">-Y ekprefnick</span></dt><dd><p>Specify an encryption key preference by nickname.</p></dd></dl></div></div><div class="refsection"><a name="usage"></a><h2>Usage</h2><p>Encrypt Example</p><pre class="programlisting">
cmsutil -C [-i infile] [-o outfile] [-d dbdir] [-p password] -r "recipient1,recipient2, . . ." -e envfile
</pre><p>Decode Example</p><pre class="programlisting">
cmsutil -D [-i infile] [-o outfile] [-d dbdir] [-p password] [-c content] [-n] [-h num]
</pre><p>Envelope Example</p><pre class="programlisting">
cmsutil -E [-i infile] [-o outfile] [-d dbdir] [-p password] -r "recipient1,recipient2, ..."
</pre><p>Certificate-only Example</p><pre class="programlisting">
cmsutil -O [-i infile] [-o outfile] [-d dbdir] [-p password] -r "cert1,cert2, . . ."
</pre><p>Sign Message Example</p><pre class="programlisting">
cmsutil -S [-i infile] [-o outfile] [-d dbdir] [-p password] -N nickname[-TGP] [-Y ekprefnick]
</pre></div><div class="refsection"><a name="idp95504"></a><h2>See also</h2><p>certutil(1)</p></div><div class="refsection"><a name="seealso"></a><h2>See Also</h2><p></p><p>
</p><p>
</p><p>
</p></div><div class="refsection"><a name="resources"></a><h2>Additional Resources</h2><p>For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at <a class="ulink" href="http://www.mozilla.org/projects/security/pki/nss/" target="_top">http://www.mozilla.org/projects/security/pki/nss/</a>. The NSS site relates directly to NSS code changes and releases.</p><p>Mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto</p><p>IRC: Freenode at #dogtag-pki</p></div><div class="refsection"><a name="authors"></a><h2>Authors</h2><p>The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun.</p><p>
Authors: Elio Maldonado &lt;emaldona@redhat.com&gt;, Deon Lackey &lt;dlackey@redhat.com&gt;.
</p></div><div class="refsection"><a name="license"></a><h2>LICENSE</h2><p>Licensed under the Mozilla Public License, version 1.1,
and/or the GNU General Public License, version 2 or later,
and/or the GNU Lesser General Public License, version 2.1 or later.
</p></div></div><div class="navfooter"><hr></div></body></html>

View File

@ -0,0 +1,211 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>CRLUTIL</title><meta name="generator" content="DocBook XSL Stylesheets V1.77.1"><link rel="home" href="index.html" title="CRLUTIL"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">CRLUTIL</th></tr></table><hr></div><div class="refentry"><a name="crlutil"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>crlutil —
List, generate, modify, or delete CRLs within the NSS security database file(s) and list, create, modify or delete certificates entries in a particular CRL.
</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">crlutil</code> [<em class="replaceable"><code>options</code></em>] [[<em class="replaceable"><code>arguments</code></em>]]</p></div></div><div class="refsection"><a name="idp188816"></a><h2>STATUS</h2><p>This documentation is still work in progress. Please contribute to the initial review in <a class="ulink" href="https://bugzilla.mozilla.org/show_bug.cgi?id=836477" target="_top">Mozilla NSS bug 836477</a>
</p></div><div class="refsection"><a name="description"></a><h2>Description</h2><p>The Certificate Revocation List (CRL) Management Tool, <span class="command"><strong>crlutil</strong></span>, is a command-line utility that can list, generate, modify, or delete CRLs within the NSS security database file(s) and list, create, modify or delete certificates entries in a particular CRL.
</p><p>
The key and certificate management process generally begins with creating keys in the key database, then generating and managing certificates in the certificate database(see certutil tool) and continues with certificates expiration or revocation.
</p><p>
This document discusses certificate revocation list management. For information on security module database management, see Using the Security Module Database Tool. For information on certificate and key database management, see Using the Certificate Database Tool.
</p><p>
To run the Certificate Revocation List Management Tool, type the command
</p><p>
crlutil option [arguments]
</p><p>
where options and arguments are combinations of the options and arguments listed in the following section. Each command takes one option. Each option may take zero or more arguments. To see a usage string, issue the command without options, or with the -H option.
</p></div><div class="refsection"><a name="options"></a><h2>Options and Arguments</h2><p>
</p><p><span class="command"><strong>Options</strong></span></p><p>
Options specify an action. Option arguments modify an action.
The options and arguments for the crlutil command are defined as follows:
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">-G </span></dt><dd><p>
Create new Certificate Revocation List(CRL).
</p></dd><dt><span class="term">-D </span></dt><dd><p>
Delete Certificate Revocation List from cert database.
</p></dd><dt><span class="term">-I </span></dt><dd><p>
Import a CRL to the cert database
</p></dd><dt><span class="term">-E </span></dt><dd><p>
Erase all CRLs of specified type from the cert database
</p></dd><dt><span class="term">-L </span></dt><dd><p>
List existing CRL located in cert database file.
</p></dd><dt><span class="term">-S </span></dt><dd><p>
Show contents of a CRL file which isn't stored in the database.
</p></dd><dt><span class="term">-M </span></dt><dd><p>
Modify existing CRL which can be located in cert db or in arbitrary file. If located in file it should be encoded in ASN.1 encode format.
</p></dd><dt><span class="term">-G </span></dt><dd><p>
</p></dd></dl></div><p><span class="command"><strong>Arguments</strong></span></p><p>Option arguments modify an action and are lowercase.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">-B </span></dt><dd><p>
Bypass CA signature checks.
</p></dd><dt><span class="term">-P dbprefix </span></dt><dd><p>
Specify the prefix used on the NSS security database files (for example, my_cert8.db and my_key3.db). This option is provided as a special case. Changing the names of the certificate and key databases is not recommended.
</p></dd><dt><span class="term">-a </span></dt><dd><p>
Use ASCII format or allow the use of ASCII format for input and output. This formatting follows RFC #1113.
</p></dd><dt><span class="term">-c crl-gen-file </span></dt><dd><p>
Specify script file that will be used to control crl generation/modification. See crl-cript-file format below. If options -M|-G is used and -c crl-script-file is not specified, crlutil will read script data from standard input.
</p></dd><dt><span class="term">-d directory </span></dt><dd><p>
Specify the database directory containing the certificate and key database files. On Unix the Certificate Database Tool defaults to $HOME/.netscape (that is, ~/.netscape). On Windows NT the default is the current directory.
</p><p>
The NSS database files must reside in the same directory.
</p></dd><dt><span class="term">-i crl-file </span></dt><dd><p>
Specify the file which contains the CRL to import or show.
</p></dd><dt><span class="term">-f password-file </span></dt><dd><p>
Specify a file that will automatically supply the password to include in a certificate or to access a certificate database. This is a plain-text file containing one password. Be sure to prevent unauthorized access to this file.
</p></dd><dt><span class="term">-l algorithm-name </span></dt><dd><p>
Specify a specific signature algorithm. List of possible algorithms: MD2 | MD4 | MD5 | SHA1 | SHA256 | SHA384 | SHA512
</p></dd><dt><span class="term">-n nickname </span></dt><dd><p>
Specify the nickname of a certificate or key to list, create, add to a database, modify, or validate. Bracket the nickname string with quotation marks if it contains spaces.
</p></dd><dt><span class="term">-o output-file </span></dt><dd><p>
Specify the output file name for new CRL. Bracket the output-file string with quotation marks if it contains spaces. If this argument is not used the output destination defaults to standard output.
</p></dd><dt><span class="term">-t crl-type </span></dt><dd><p>
Specify type of CRL. possible types are: 0 - SEC_KRL_TYPE, 1 - SEC_CRL_TYPE. This option is obsolete
</p></dd><dt><span class="term">-u url </span></dt><dd><p>
Specify the url.
</p></dd></dl></div></div><div class="refsection"><a name="syntax"></a><h2>CRL Generation script syntax</h2><p>CRL generation script file has the following syntax:</p><p>
* Line with comments should have # as a first symbol of a line</p><p>
* Set "this update" or "next update" CRL fields:
</p><p>
update=YYYYMMDDhhmmssZ
nextupdate=YYYYMMDDhhmmssZ
</p><p>
Field "next update" is optional. Time should be in GeneralizedTime format (YYYYMMDDhhmmssZ).
For example: 20050204153000Z
</p><p>* Add an extension to a CRL or a crl certificate entry:</p><p>addext extension-name critical/non-critical [arg1[arg2 ...]]</p><p>Where:</p><p>
extension-name: string value of a name of known extensions.
critical/non-critical: is 1 when extension is critical and 0 otherwise.
arg1, arg2: specific to extension type extension parameters
</p><p>
addext uses the range that was set earlier by addcert and will install an extension to every cert entries within the range.
</p><p>
* Add certificate entries(s) to CRL:
</p><p>
addcert range date
</p><p>
range: two integer values separated by dash: range of certificates that will be added by this command. dash is used as a delimiter. Only one cert will be added if there is no delimiter.
date: revocation date of a cert. Date should be represented in GeneralizedTime format (YYYYMMDDhhmmssZ).
</p><p>
* Remove certificate entry(s) from CRL
</p><p>
rmcert range
</p><p>
Where:
</p><p>
range: two integer values separated by dash: range of certificates that will be added by this command. dash is used as a delimiter. Only one cert will be added if there is no delimiter.
</p><p>
* Change range of certificate entry(s) in CRL
</p><p>
range new-range
</p><p>
Where:
</p><p>
new-range: two integer values separated by dash: range of certificates that will be added by this command. dash is used as a delimiter. Only one cert will be added if there is no delimiter.
</p><p>
Implemented Extensions
</p><p>
The extensions defined for CRL provide methods for associating additional attributes with CRLs of theirs entries. For more information see RFC #3280
</p><p>
* Add The Authority Key Identifier extension:
</p><p>
The authority key identifier extension provides a means of identifying the public key corresponding to the private key used to sign a CRL.
</p><p>
authKeyId critical [key-id | dn cert-serial]
</p><p>
Where:
</p><p>
authKeyIdent: identifies the name of an extension
critical: value of 1 of 0. Should be set to 1 if this extension is critical or 0 otherwise.
key-id: key identifier represented in octet string. dn:: is a CA distinguished name cert-serial: authority certificate serial number.
</p><p>
* Add Issuer Alternative Name extension:
</p><p>
The issuer alternative names extension allows additional identities to be associated with the issuer of the CRL. Defined options include an rfc822 name (electronic mail address), a DNS name, an IP address, and a URI.
</p><p>
issuerAltNames non-critical name-list
</p><p>
Where:
</p><p>
subjAltNames: identifies the name of an extension
should be set to 0 since this is non-critical extension
name-list: comma separated list of names
</p><p>
* Add CRL Number extension:
</p><p>
The CRL number is a non-critical CRL extension which conveys a monotonically increasing sequence number for a given CRL scope and CRL issuer. This extension allows users to easily determine when a particular CRL supersedes another CRL
</p><p>
crlNumber non-critical number
</p><p>
Where:
</p><p>
crlNumber: identifies the name of an extension
critical: should be set to 0 since this is non-critical extension
number: value of long which identifies the sequential number of a CRL.
</p><p>
* Add Revocation Reason Code extension:
</p><p>
The reasonCode is a non-critical CRL entry extension that identifies the reason for the certificate revocation.
</p><p>
reasonCode non-critical code
</p><p>
Where:
</p><p>
reasonCode: identifies the name of an extension
non-critical: should be set to 0 since this is non-critical extension
code: the following codes are available:
</p><p>
unspecified (0),
keyCompromise (1),
cACompromise (2),
affiliationChanged (3),
superseded (4),
cessationOfOperation (5),
certificateHold (6),
removeFromCRL (8),
privilegeWithdrawn (9),
aACompromise (10)
</p><p>
* Add Invalidity Date extension:
</p><p>
The invalidity date is a non-critical CRL entry extension that provides the date on which it is known or suspected that the private key was compromised or that the certificate otherwise became invalid.
</p><p>
invalidityDate non-critical date
</p><p>
Where:
</p><p>
crlNumber: identifies the name of an extension
non-critical: should be set to 0 since this is non-critical extension date: invalidity date of a cert. Date should be represented in GeneralizedTime format (YYYYMMDDhhmmssZ).
</p></div><div class="refsection"><a name="usage"></a><h2>Usage</h2><p>
The Certificate Revocation List Management Tool's capabilities are grouped as follows, using these combinations of options and arguments. Options and arguments in square brackets are optional, those without square brackets are required.
</p><p>See "Implemented extensions" for more information regarding extensions and their parameters.</p><p>
* Creating or modifying a CRL:
</p><pre class="programlisting">
crlutil -G|-M -c crl-gen-file -n nickname [-i crl] [-u url] [-d keydir] [-P dbprefix] [-l alg] [-a] [-B]
</pre><p>
* Listing all CRls or a named CRL:
</p><pre class="programlisting">
crlutil -L [-n crl-name] [-d krydir]
</pre><p>
* Deleting CRL from db:
</p><pre class="programlisting">
crlutil -D -n nickname [-d keydir] [-P dbprefix]
</pre><p>
* Erasing CRLs from db:
</p><pre class="programlisting">
crlutil -E [-d keydir] [-P dbprefix]
</pre><p>
* Deleting CRL from db:
</p><pre class="programlisting">
crlutil -D -n nickname [-d keydir] [-P dbprefix]
</pre><p>
* Erasing CRLs from db:
</p><pre class="programlisting">
crlutil -E [-d keydir] [-P dbprefix]
</pre><p>
* Import CRL from file:
</p><pre class="programlisting">
crlutil -I -i crl [-t crlType] [-u url] [-d keydir] [-P dbprefix] [-B]
</pre></div><div class="refsection"><a name="idp5089136"></a><h2>See also</h2><p>certutil(1)</p></div><div class="refsection"><a name="seealso"></a><h2>See Also</h2><p></p><p>
</p><p>
</p><p>
</p></div><div class="refsection"><a name="resources"></a><h2>Additional Resources</h2><p>For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at <a class="ulink" href="http://www.mozilla.org/projects/security/pki/nss/" target="_top">http://www.mozilla.org/projects/security/pki/nss/</a>. The NSS site relates directly to NSS code changes and releases.</p><p>Mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto</p><p>IRC: Freenode at #dogtag-pki</p></div><div class="refsection"><a name="authors"></a><h2>Authors</h2><p>The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun.</p><p>
Authors: Elio Maldonado &lt;emaldona@redhat.com&gt;, Deon Lackey &lt;dlackey@redhat.com&gt;.
</p></div><div class="refsection"><a name="license"></a><h2>LICENSE</h2><p>Licensed under the Mozilla Public License, version 1.1,
and/or the GNU General Public License, version 2 or later,
and/or the GNU Lesser General Public License, version 2.1 or later.
</p></div></div><div class="navfooter"><hr></div></body></html>

View File

@ -0,0 +1,7 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>DERDUMP</title><meta name="generator" content="DocBook XSL Stylesheets V1.77.1"><link rel="home" href="index.html" title="DERDUMP"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">DERDUMP</th></tr></table><hr></div><div class="refentry"><a name="derdump"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>derdump — Dumps C-sequence strings from a DER encoded certificate file</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">derdump</code> [<code class="option">-r</code>] [<code class="option">-i <em class="replaceable"><code>input-file</code></em></code>] [<code class="option">-o <em class="replaceable"><code>output-file</code></em></code>]</p></div></div><div class="refsection"><a name="idp4817536"></a><h2>STATUS</h2><p>This documentation is still work in progress. Please contribute to the initial review in <a class="ulink" href="https://bugzilla.mozilla.org/show_bug.cgi?id=836477" target="_top">Mozilla NSS bug 836477</a>
</p></div><div class="refsection"><a name="idp2658976"></a><h2>Description</h2><p><span class="command"><strong>derdump </strong></span>dumps C-sequence strings from a DER encode certificate file </p></div><div class="refsection"><a name="idp4859136"></a><h2>Options</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option">-r </code></span></dt><dd>For formatted items, dump raw bytes as well</dd><dt><span class="term"><code class="option">-i </code> <em class="replaceable"><code>DER encoded file</code></em></span></dt><dd>Define an input file to use (default is stdin)</dd><dt><span class="term"><code class="option">-o </code> <em class="replaceable"><code>output file</code></em></span></dt><dd>Define an output file to use (default is stdout).</dd></dl></div></div><div class="refsection"><a name="resources"></a><h2>Additional Resources</h2><p>NSS is maintained in conjunction with PKI and security-related projects through Mozilla dn Fedora. The most closely-related project is Dogtag PKI, with a project wiki at <a class="ulink" href="http://pki.fedoraproject.org/wiki/" target="_top">PKI Wiki</a>. </p><p>For information specifically about NSS, the NSS project wiki is located at <a class="ulink" href="http://www.mozilla.org/projects/security/pki/nss/" target="_top">Mozilla NSS site</a>. The NSS site relates directly to NSS code changes and releases.</p><p>Mailing lists: pki-devel@redhat.com and pki-users@redhat.com</p><p>IRC: Freenode at #dogtag-pki</p></div><div class="refsection"><a name="authors"></a><h2>Authors</h2><p>The NSS tools were written and maintained by developers with Netscape and now with Red Hat.</p><p>
Authors: Gerhardus Geldenhuis &lt;gerhardus.geldenhuis@gmail.com&gt;. Elio Maldonado &lt;emaldona@redhat.com&gt;, Deon Lackey &lt;dlackey@redhat.com&gt;
</p></div><div class="refsection"><a name="license"></a><h2>LICENSE</h2><p>Licensed under the Mozilla Public License, version 1.1,
and/or the GNU General Public License, version 2 or later,
and/or the GNU Lesser General Public License, version 2.1 or later.
</p></div></div><div class="navfooter"><hr></div></body></html>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,82 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>PK12UTIL</title><meta name="generator" content="DocBook XSL Stylesheets V1.77.1"><link rel="home" href="index.html" title="PK12UTIL"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">PK12UTIL</th></tr></table><hr></div><div class="refentry"><a name="pk12util"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>pk12util — Export and import keys and certificate to or from a PKCS #12 file and the NSS database</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">pk12util</code> [-i p12File [-h tokenname] [-v] [common-options] ] [
-l p12File [-h tokenname] [-r] [common-options] ] [
-o p12File -n certname [-c keyCipher] [-C certCipher] [-m|--key_len keyLen] [-n|--cert_key_len certKeyLen] [common-options] ] [
common-options are:
[-d [sql:]directory] [-P dbprefix] [-k slotPasswordFile|-K slotPassword] [-w p12filePasswordFile|-W p12filePassword]
]</p></div></div><div class="refsection"><a name="idp189856"></a><h2>STATUS</h2><p>This documentation is still work in progress. Please contribute to the initial review in <a class="ulink" href="https://bugzilla.mozilla.org/show_bug.cgi?id=836477" target="_top">Mozilla NSS bug 836477</a>
</p></div><div class="refsection"><a name="description"></a><h2>Description</h2><p>The PKCS #12 utility, <span class="command"><strong>pk12util</strong></span>, enables sharing certificates among any server that supports PKCS#12. The tool can import certificates and keys from PKCS#12 files into security databases, export certificates, and list certificates and keys.</p></div><div class="refsection"><a name="options"></a><h2>Options and Arguments</h2><p><span class="command"><strong>Options</strong></span></p><div class="variablelist"><dl class="variablelist"><dt><span class="term">-i p12file</span></dt><dd><p>Import keys and certificates from a PKCS#12 file into a security database.</p></dd><dt><span class="term">-l p12file</span></dt><dd><p>List the keys and certificates in PKCS#12 file.</p></dd><dt><span class="term">-o p12file</span></dt><dd><p>Export keys and certificates from the security database to a PKCS#12 file.</p></dd></dl></div><p><span class="command"><strong>Arguments</strong></span></p><div class="variablelist"><dl class="variablelist"><dt><span class="term">-n certname</span></dt><dd><p>Specify the nickname of the cert and private key to export.</p></dd><dt><span class="term">-d [sql:]directory</span></dt><dd><p>Specify the database directory into which to import to or export from certificates and keys.</p><p><span class="command"><strong>pk12util</strong></span> supports two types of databases: the legacy security databases (<code class="filename">cert8.db</code>, <code class="filename">key3.db</code>, and <code class="filename">secmod.db</code>) and new SQLite databases (<code class="filename">cert9.db</code>, <code class="filename">key4.db</code>, and <code class="filename">pkcs11.txt</code>). If the prefix <span class="command"><strong>sql:</strong></span> is not used, then the tool assumes that the given databases are in the old format.</p></dd><dt><span class="term">-P prefix</span></dt><dd><p>Specify the prefix used on the certificate and key databases. This option is provided as a special case.
Changing the names of the certificate and key databases is not recommended.</p></dd><dt><span class="term">-h tokenname</span></dt><dd><p>Specify the name of the token to import into or export from.</p></dd><dt><span class="term">-v </span></dt><dd><p>Enable debug logging when importing.</p></dd><dt><span class="term">-k slotPasswordFile</span></dt><dd><p>Specify the text file containing the slot's password.</p></dd><dt><span class="term">-K slotPassword</span></dt><dd><p>Specify the slot's password.</p></dd><dt><span class="term">-w p12filePasswordFile</span></dt><dd><p>Specify the text file containing the pkcs #12 file password.</p></dd><dt><span class="term">-W p12filePassword</span></dt><dd><p>Specify the pkcs #12 file password.</p></dd><dt><span class="term">-c keyCipher</span></dt><dd><p>Specify the key encryption algorithm.</p></dd><dt><span class="term">-C certCipher</span></dt><dd><p>Specify the key cert (overall package) encryption algorithm.</p></dd><dt><span class="term">-m | --key-len keyLength</span></dt><dd><p>Specify the desired length of the symmetric key to be used to encrypt the private key.</p></dd><dt><span class="term">-n | --cert-key-len certKeyLength</span></dt><dd><p>Specify the desired length of the symmetric key to be used to encrypt the certificates and other meta-data.</p></dd><dt><span class="term">-r</span></dt><dd><p>Dumps all of the data in raw (binary) form. This must be saved as a DER file. The default is to return information in a pretty-print ASCII format, which displays the information about the certificates and public keys in the p12 file.</p></dd></dl></div></div><div class="refsection"><a name="return-codes"></a><h2>Return Codes</h2><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> 0 - No error</p></li><li class="listitem"><p> 1 - User Cancelled</p></li><li class="listitem"><p> 2 - Usage error</p></li><li class="listitem"><p> 6 - NLS init error</p></li><li class="listitem"><p> 8 - Certificate DB open error</p></li><li class="listitem"><p> 9 - Key DB open error</p></li><li class="listitem"><p> 10 - File initialization error</p></li><li class="listitem"><p> 11 - Unicode conversion error</p></li><li class="listitem"><p> 12 - Temporary file creation error</p></li><li class="listitem"><p> 13 - PKCS11 get slot error</p></li><li class="listitem"><p> 14 - PKCS12 decoder start error</p></li><li class="listitem"><p> 15 - error read from import file</p></li><li class="listitem"><p> 16 - pkcs12 decode error</p></li><li class="listitem"><p> 17 - pkcs12 decoder verify error</p></li><li class="listitem"><p> 18 - pkcs12 decoder validate bags error</p></li><li class="listitem"><p> 19 - pkcs12 decoder import bags error</p></li><li class="listitem"><p> 20 - key db conversion version 3 to version 2 error</p></li><li class="listitem"><p> 21 - cert db conversion version 7 to version 5 error</p></li><li class="listitem"><p> 22 - cert and key dbs patch error</p></li><li class="listitem"><p> 23 - get default cert db error</p></li><li class="listitem"><p> 24 - find cert by nickname error</p></li><li class="listitem"><p> 25 - create export context error</p></li><li class="listitem"><p> 26 - PKCS12 add password itegrity error</p></li><li class="listitem"><p> 27 - cert and key Safes creation error</p></li><li class="listitem"><p> 28 - PKCS12 add cert and key error</p></li><li class="listitem"><p> 29 - PKCS12 encode error</p></li></ul></div></div><div class="refsection"><a name="examples"></a><h2>Examples</h2><p><span class="command"><strong>Importing Keys and Certificates</strong></span></p><p>The most basic usage of <span class="command"><strong>pk12util</strong></span> for importing a certificate or key is the PKCS#12 input file (<code class="option">-i</code>) and some way to specify the security database being accessed (either <code class="option">-d</code> for a directory or <code class="option">-h</code> for a token).
</p><pre class="programlisting">pk12util -i p12File [-h tokenname] [-v] [-d [sql:]directory] [-P dbprefix] [-k slotPasswordFile|-K slotPassword] [-w p12filePasswordFile|-W p12filePassword]</pre><p>For example:</p><pre class="programlisting"># pk12util -i /tmp/cert-files/users.p12 -d sql:/home/my/sharednssdb
Enter a password which will be used to encrypt your keys.
The password should be at least 8 characters long,
and should contain at least one non-alphabetic character.
Enter new password:
Re-enter password:
Enter password for PKCS12 file:
pk12util: PKCS12 IMPORT SUCCESSFUL</pre><p><span class="command"><strong>Exporting Keys and Certificates</strong></span></p><p>Using the <span class="command"><strong>pk12util</strong></span> command to export certificates and keys requires both the name of the certificate to extract from the database (<code class="option">-n</code>) and the PKCS#12-formatted output file to write to. There are optional parameters that can be used to encrypt the file to protect the certificate material.
</p><pre class="programlisting">pk12util -o p12File -n certname [-c keyCipher] [-C certCipher] [-m|--key_len keyLen] [-n|--cert_key_len certKeyLen] [-d [sql:]directory] [-P dbprefix] [-k slotPasswordFile|-K slotPassword] [-w p12filePasswordFile|-W p12filePassword]</pre><p>For example:</p><pre class="programlisting"># pk12util -o certs.p12 -n Server-Cert -d sql:/home/my/sharednssdb
Enter password for PKCS12 file:
Re-enter password: </pre><p><span class="command"><strong>Listing Keys and Certificates</strong></span></p><p>The information in a <code class="filename">.p12</code> file are not human-readable. The certificates and keys in the file can be printed (listed) in a human-readable pretty-print format that shows information for every certificate and any public keys in the <code class="filename">.p12</code> file.
</p><pre class="programlisting">pk12util -l p12File [-h tokenname] [-r] [-d [sql:]directory] [-P dbprefix] [-k slotPasswordFile|-K slotPassword] [-w p12filePasswordFile|-W p12filePassword]</pre><p>For example, this prints the default ASCII output:</p><pre class="programlisting"># pk12util -l certs.p12
Enter password for PKCS12 file:
Key(shrouded):
Friendly Name: Thawte Freemail Member's Thawte Consulting (Pty) Ltd. ID
Encryption algorithm: PKCS #12 V2 PBE With SHA-1 And 3KEY Triple DES-CBC
Parameters:
Salt:
45:2e:6a:a0:03:4d:7b:a1:63:3c:15:ea:67:37:62:1f
Iteration Count: 1 (0x1)
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 13 (0xd)
Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption
Issuer: "E=personal-freemail@thawte.com,CN=Thawte Personal Freemail C
A,OU=Certification Services Division,O=Thawte Consulting,L=Cape T
own,ST=Western Cape,C=ZA"
....</pre><p>Alternatively, the <code class="option">-r</code> prints the certificates and then exports them into separate DER binary files. This allows the certificates to be fed to another application that supports <code class="filename">.p12</code> files. Each certificate is written to a sequentially-number file, beginning with <code class="filename">file0001.der</code> and continuing through <code class="filename">file000N.der</code>, incrementing the number for every certificate:</p><pre class="programlisting"># pk12util -l test.p12 -r
Enter password for PKCS12 file:
Key(shrouded):
Friendly Name: Thawte Freemail Member's Thawte Consulting (Pty) Ltd. ID
Encryption algorithm: PKCS #12 V2 PBE With SHA-1 And 3KEY Triple DES-CBC
Parameters:
Salt:
45:2e:6a:a0:03:4d:7b:a1:63:3c:15:ea:67:37:62:1f
Iteration Count: 1 (0x1)
Certificate Friendly Name: Thawte Personal Freemail Issuing CA - Thawte Consulting
Certificate Friendly Name: Thawte Freemail Member's Thawte Consulting (Pty) Ltd. ID</pre></div><div class="refsection"><a name="encryption"></a><h2>Password Encryption</h2><p>PKCS#12 provides for not only the protection of the private keys but also the certificate and meta-data associated with the keys. Password-based encryption is used to protect private keys on export to a PKCS#12 file and, optionally, the entire package. If no algorithm is specified, the tool defaults to using <span class="command"><strong>PKCS12 V2 PBE with SHA1 and 3KEY Triple DES-cbc</strong></span> for private key encryption. <span class="command"><strong>PKCS12 V2 PBE with SHA1 and 40 Bit RC4</strong></span> is the default for the overall package encryption when not in FIPS mode. When in FIPS mode, there is no package encryption.</p><p>The private key is always protected with strong encryption by default.</p><p>Several types of ciphers are supported.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">Symmetric CBC ciphers for PKCS#5 V2</span></dt><dd><p>DES_CBC</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>RC2-CBC</p></li><li class="listitem"><p>RC5-CBCPad</p></li><li class="listitem"><p>DES-EDE3-CBC (the default for key encryption)</p></li><li class="listitem"><p>AES-128-CBC</p></li><li class="listitem"><p>AES-192-CBC</p></li><li class="listitem"><p>AES-256-CBC</p></li><li class="listitem"><p>CAMELLIA-128-CBC</p></li><li class="listitem"><p>CAMELLIA-192-CBC</p></li><li class="listitem"><p>CAMELLIA-256-CBC</p></li></ul></div></dd><dt><span class="term">PKCS#12 PBE ciphers</span></dt><dd><p>PKCS #12 PBE with Sha1 and 128 Bit RC4</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>PKCS #12 PBE with Sha1 and 40 Bit RC4</p></li><li class="listitem"><p>PKCS #12 PBE with Sha1 and Triple DES CBC</p></li><li class="listitem"><p>PKCS #12 PBE with Sha1 and 128 Bit RC2 CBC</p></li><li class="listitem"><p>PKCS #12 PBE with Sha1 and 40 Bit RC2 CBC</p></li><li class="listitem"><p>PKCS12 V2 PBE with SHA1 and 128 Bit RC4</p></li><li class="listitem"><p>PKCS12 V2 PBE with SHA1 and 40 Bit RC4 (the default for non-FIPS mode)</p></li><li class="listitem"><p>PKCS12 V2 PBE with SHA1 and 3KEY Triple DES-cbc</p></li><li class="listitem"><p>PKCS12 V2 PBE with SHA1 and 2KEY Triple DES-cbc</p></li><li class="listitem"><p>PKCS12 V2 PBE with SHA1 and 128 Bit RC2 CBC</p></li><li class="listitem"><p>PKCS12 V2 PBE with SHA1 and 40 Bit RC2 CBC</p></li></ul></div></dd><dt><span class="term">PKCS#5 PBE ciphers</span></dt><dd><p>PKCS #5 Password Based Encryption with MD2 and DES CBC</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>PKCS #5 Password Based Encryption with MD5 and DES CBC</p></li><li class="listitem"><p>PKCS #5 Password Based Encryption with SHA1 and DES CBC</p></li></ul></div></dd></dl></div><p>With PKCS#12, the crypto provider may be the soft token module or an external hardware module. If the cryptographic module does not support the requested algorithm, then the next best fit will be selected (usually the default). If no suitable replacement for the desired algorithm can be found, the tool returns the error <span class="emphasis"><em>no security module can perform the requested operation</em></span>.</p></div><div class="refsection"><a name="databases"></a><h2>NSS Database Types</h2><p>NSS originally used BerkeleyDB databases to store security information.
The last versions of these <span class="emphasis"><em>legacy</em></span> databases are:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
cert8.db for certificates
</p></li><li class="listitem"><p>
key3.db for keys
</p></li><li class="listitem"><p>
secmod.db for PKCS #11 module information
</p></li></ul></div><p>BerkeleyDB has performance limitations, though, which prevent it from being easily used by multiple applications simultaneously. NSS has
some flexibility that allows applications to use their own, independent database engine while keeping a shared database and working around the access issues. Still, NSS
requires more flexibility to provide a truly shared security database.</p><p>In 2009, NSS introduced a new set of databases that are SQLite databases rather than
BerkleyDB. These new databases provide more accessibility and performance:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
cert9.db for certificates
</p></li><li class="listitem"><p>
key4.db for keys
</p></li><li class="listitem"><p>
pkcs11.txt, which is listing of all of the PKCS #11 modules contained in a new subdirectory in the security databases directory
</p></li></ul></div><p>Because the SQLite databases are designed to be shared, these are the <span class="emphasis"><em>shared</em></span> database type. The shared database type is preferred; the legacy format is included for backward compatibility.</p><p>By default, the tools (<span class="command"><strong>certutil</strong></span>, <span class="command"><strong>pk12util</strong></span>, <span class="command"><strong>modutil</strong></span>) assume that the given security databases follow the more common legacy type.
Using the SQLite databases must be manually specified by using the <span class="command"><strong>sql:</strong></span> prefix with the given security directory. For example:</p><pre class="programlisting"># pk12util -i /tmp/cert-files/users.p12 -d sql:/home/my/sharednssdb</pre><p>To set the shared database type as the default type for the tools, set the <code class="envar">NSS_DEFAULT_DB_TYPE</code> environment variable to <code class="envar">sql</code>:</p><pre class="programlisting">export NSS_DEFAULT_DB_TYPE="sql"</pre><p>This line can be set added to the <code class="filename">~/.bashrc</code> file to make the change permanent.</p><p>Most applications do not use the shared database by default, but they can be configured to use them. For example, this how-to article covers how to configure Firefox and Thunderbird to use the new shared NSS databases:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
https://wiki.mozilla.org/NSS_Shared_DB_Howto</p></li></ul></div><p>For an engineering draft on the changes in the shared NSS databases, see the NSS project wiki:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
https://wiki.mozilla.org/NSS_Shared_DB
</p></li></ul></div></div><div class="refsection"><a name="seealso"></a><h2>See Also</h2><p>certutil (1)</p><p>modutil (1)</p><p>The NSS wiki has information on the new database design and how to configure applications to use it.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
https://wiki.mozilla.org/NSS_Shared_DB_Howto</p></li><li class="listitem"><p>
https://wiki.mozilla.org/NSS_Shared_DB
</p></li></ul></div></div><div class="refsection"><a name="resources"></a><h2>Additional Resources</h2><p>For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at <a class="ulink" href="http://www.mozilla.org/projects/security/pki/nss/" target="_top">http://www.mozilla.org/projects/security/pki/nss/</a>. The NSS site relates directly to NSS code changes and releases.</p><p>Mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto</p><p>IRC: Freenode at #dogtag-pki</p></div><div class="refsection"><a name="authors"></a><h2>Authors</h2><p>The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun.</p><p>
Authors: Elio Maldonado &lt;emaldona@redhat.com&gt;, Deon Lackey &lt;dlackey@redhat.com&gt;.
</p></div><div class="refsection"><a name="license"></a><h2>LICENSE</h2><p>Licensed under the Mozilla Public License, version 1.1,
and/or the GNU General Public License, version 2 or later,
and/or the GNU Lesser General Public License, version 2.1 or later.
</p></div></div><div class="navfooter"><hr></div></body></html>

View File

@ -0,0 +1,9 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>PP</title><meta name="generator" content="DocBook XSL Stylesheets V1.77.1"><link rel="home" href="index.html" title="PP"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">PP</th></tr></table><hr></div><div class="refentry"><a name="pp"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>pp — Prints certificates, keys, crls, and pkcs7 files</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">pp -t type [-a] [-i input] [-o output]</code> </p></div></div><div class="refsection"><a name="idp2827632"></a><h2>STATUS</h2><p>This documentation is still work in progress. Please contribute to the initial review in <a class="ulink" href="https://bugzilla.mozilla.org/show_bug.cgi?id=836477" target="_top">Mozilla NSS bug 836477</a>
</p></div><div class="refsection"><a name="idp4746848"></a><h2>Description</h2><p><span class="command"><strong>pp </strong></span>pretty-prints private and public key, certificate, certificate-request,
pkcs7 or crl files
</p></div><div class="refsection"><a name="idp2528512"></a><h2>Options</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option">-t </code> <em class="replaceable"><code>type</code></em></span></dt><dd><p class="simpara">specify the input, one of {private-key | public-key | certificate | certificate-request | pkcs7 | crl}</p><p class="simpara"></p></dd><dt><span class="term"><code class="option">-a </code></span></dt><dd>Input is in ascii encoded form (RFC1113)</dd><dt><span class="term"><code class="option">-i </code> <em class="replaceable"><code>inputfile</code></em></span></dt><dd>Define an input file to use (default is stdin)</dd><dt><span class="term"><code class="option">-u </code> <em class="replaceable"><code>outputfile</code></em></span></dt><dd>Define an output file to use (default is stdout)</dd></dl></div></div><div class="refsection"><a name="resources"></a><h2>Additional Resources</h2><p>NSS is maintained in conjunction with PKI and security-related projects through Mozilla dn Fedora. The most closely-related project is Dogtag PKI, with a project wiki at <a class="ulink" href="http://pki.fedoraproject.org/wiki/" target="_top">PKI Wiki</a>. </p><p>For information specifically about NSS, the NSS project wiki is located at <a class="ulink" href="http://www.mozilla.org/projects/security/pki/nss/" target="_top">Mozilla NSS site</a>. The NSS site relates directly to NSS code changes and releases.</p><p>Mailing lists: pki-devel@redhat.com and pki-users@redhat.com</p><p>IRC: Freenode at #dogtag-pki</p></div><div class="refsection"><a name="authors"></a><h2>Authors</h2><p>The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun.</p><p>
Authors: Elio Maldonado &lt;emaldona@redhat.com&gt;, Deon Lackey &lt;dlackey@redhat.com&gt;.
</p></div><div class="refsection"><a name="license"></a><h2>LICENSE</h2><p>Licensed under the Mozilla Public License, version 1.1,
and/or the GNU General Public License, version 2 or later,
and/or the GNU Lesser General Public License, version 2.1 or later.
</p></div></div><div class="navfooter"><hr></div></body></html>

View File

@ -0,0 +1,286 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>signtool</title><meta name="generator" content="DocBook XSL Stylesheets V1.77.1"><link rel="home" href="index.html" title="signtool"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">signtool</th></tr></table><hr></div><div class="refentry"><a name="signtool"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>signtool — Digitally sign objects and files.</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">signtool</code> [-k keyName] [[-h]] [[-H]] [[-l]] [[-L]] [[-M]] [[-v]] [[-w]] [[-G nickname]] [[--keysize | -s size]] [[-b basename]] [[-c Compression Level] ] [[-d cert-dir] ] [[-i installer script] ] [[-m metafile] ] [[-x name] ] [[-f filename] ] [[-t|--token tokenname] ] [[-e extension] ] [[-o] ] [[-z] ] [[-X] ] [[--outfile] ] [[--verbose value] ] [[--norecurse] ] [[--leavearc] ] [[-j directory] ] [[-Z jarfile] ] [[-O] ] [[-p password] ] [directory-tree] [archive]</p></div></div><div class="refsection"><a name="idp4673616"></a><h2>STATUS</h2><p>This documentation is still work in progress. Please contribute to the initial review in <a class="ulink" href="https://bugzilla.mozilla.org/show_bug.cgi?id=836477" target="_top">Mozilla NSS bug 836477</a>
</p></div><div class="refsection"><a name="description"></a><h2>Description</h2><p>The Signing Tool, <span class="command"><strong>signtool</strong></span>, creates digital signatures and uses a Java Archive (JAR) file to associate the signatures with files in a directory. Electronic software distribution over any network involves potential security problems. To help address some of these problems, you can associate digital signatures with the files in a JAR archive. Digital signatures allow SSL-enabled clients to perform two important operations:</p><p>* Confirm the identity of the individual, company, or other entity whose digital signature is associated with the files</p><p>* Check whether the files have been tampered with since being signed</p><p>If you have a signing certificate, you can use Netscape Signing Tool to digitally sign files and package them as a JAR file. An object-signing certificate is a special kind of certificate that allows you to associate your digital signature with one or more files.</p><p>An individual file can potentially be signed with multiple digital signatures. For example, a commercial software developer might sign the files that constitute a software product to prove that the files are indeed from a particular company. A network administrator manager might sign the same files with an additional digital signature based on a company-generated certificate to indicate that the product is approved for use within the company.</p><p>The significance of a digital signature is comparable to the significance of a handwritten signature. Once you have signed a file, it is difficult to claim later that you didn't sign it. In some situations, a digital signature may be considered as legally binding as a handwritten signature. Therefore, you should take great care to ensure that you can stand behind any file you sign and distribute.</p><p>For example, if you are a software developer, you should test your code to make sure it is virus-free before signing it. Similarly, if you are a network administrator, you should make sure, before signing any code, that it comes from a reliable source and will run correctly with the software installed on the machines to which you are distributing it.</p><p>Before you can use Netscape Signing Tool to sign files, you must have an object-signing certificate, which is a special certificate whose associated private key is used to create digital signatures. For testing purposes only, you can create an object-signing certificate with Netscape Signing Tool 1.3. When testing is finished and you are ready to disitribute your software, you should obtain an object-signing certificate from one of two kinds of sources:</p><p>* An independent certificate authority (CA) that authenticates your identity and charges you a fee. You typically get a certificate from an independent CA if you want to sign software that will be distributed over the Internet.</p><p>* CA server software running on your corporate intranet or extranet. Netscape Certificate Management System provides a complete management solution for creating, deploying, and managing certificates, including CAs that issue object-signing certificates.</p><p>You must also have a certificate for the CA that issues your signing certificate before you can sign files. If the certificate authority's certificate isn't already installed in your copy of Communicator, you typically install it by clicking the appropriate link on the certificate authority's web site, for example on the page from which you initiated enrollment for your signing certificate. This is the case for some test certificates, as well as certificates issued by Netscape Certificate Management System: you must download the the CA certificate in addition to obtaining your own signing certificate. CA certificates for several certificate authorities are preinstalled in the Communicator certificate database.</p><p>When you receive an object-signing certificate for your own use, it is automatically installed in your copy of the Communicator client software. Communicator supports the public-key cryptography standard known as PKCS #12, which governs key portability. You can, for example, move an object-signing certificate and its associated private key from one computer to another on a credit-card-sized device called a smart card.</p></div><div class="refsection"><a name="options"></a><h2>Options</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">-b basename</span></dt><dd><p>Specifies the base filename for the .rsa and .sf files in the META-INF directory to conform with the JAR format. For example, <span class="emphasis"><em>-b signatures</em></span> causes the files to be named signatures.rsa and signatures.sf. The default is signtool.</p></dd><dt><span class="term">-c#</span></dt><dd><p>
Specifies the compression level for the -J or -Z option. The symbol # represents a number from 0 to 9, where 0 means no compression and 9 means maximum compression. The higher the level of compression, the smaller the output but the longer the operation takes.
If the -c# option is not used with either the -J or the -Z option, the default compression value used by both the -J and -Z options is 6.
</p></dd><dt><span class="term">-d certdir</span></dt><dd><p>
Specifies your certificate database directory; that is, the directory in which you placed your key3.db and cert7.db files. To specify the current directory, use "-d." (including the period).
The Unix version of signtool assumes ~/.netscape unless told otherwise. The NT version of signtool always requires the use of the -d option to specify where the database files are located.
</p></dd><dt><span class="term">-e extension</span></dt><dd><p>
Tells signtool to sign only files with the given extension; for example, use -e".class" to sign only Java class files. Note that with Netscape Signing Tool version 1.1 and later this option can appear multiple times on one command line, making it possible to specify multiple file types or classes to include.
</p></dd><dt><span class="term">-f commandfile</span></dt><dd><p>
Specifies a text file containing Netscape Signing Tool options and arguments in keyword=value format. All options and arguments can be expressed through this file. For more information about the syntax used with this file, see "Tips and Techniques".
</p></dd><dt><span class="term">-i scriptname</span></dt><dd><p>
Specifies the name of an installer script for SmartUpdate. This script installs files from the JAR archive in the local system after SmartUpdate has validated the digital signature. For more details, see the description of -m that follows. The -i option provides a straightforward way to provide this information if you don't need to specify any metadata other than an installer script.
</p></dd><dt><span class="term">-j directory</span></dt><dd><p>
Specifies a special JavaScript directory. This option causes the specified directory to be signed and tags its entries as inline JavaScript. This special type of entry does not have to appear in the JAR file itself. Instead, it is located in the HTML page containing the inline scripts. When you use signtool -v, these entries are displayed with the string NOT PRESENT.
</p></dd><dt><span class="term">-k key ... directory</span></dt><dd><p>
Specifies the nickname (key) of the certificate you want to sign with and signs the files in the specified directory. The directory to sign is always specified as the last command-line argument. Thus, it is possible to write
signtool -k MyCert -d . signdir
You may have trouble if the nickname contains a single quotation mark. To avoid problems, escape the quotation mark using the escape conventions for your platform.
It's also possible to use the -k option without signing any files or specifying a directory. For example, you can use it with the -l option to get detailed information about a particular signing certificate.
</p></dd><dt><span class="term">-G nickname</span></dt><dd><p>
Generates a new private-public key pair and corresponding object-signing certificate with the given nickname.
The newly generated keys and certificate are installed into the key and certificate databases in the directory specified by the -d option. With the NT version of Netscape Signing Tool, you must use the -d option with the -G option. With the Unix version of Netscape Signing Tool, omitting the -d option causes the tool to install the keys and certificate in the Communicator key and certificate databases. If you are installing the keys and certificate in the Communicator databases, you must exit Communicator before using this option; otherwise, you risk corrupting the databases. In all cases, the certificate is also output to a file named x509.cacert, which has the MIME-type application/x-x509-ca-cert.
Unlike certificates normally used to sign finished code to be distributed over a network, a test certificate created with -G is not signed by a recognized certificate authority. Instead, it is self-signed. In addition, a single test signing certificate functions as both an object-signing certificate and a CA. When you are using it to sign objects, it behaves like an object-signing certificate. When it is imported into browser software such as Communicator, it behaves like an object-signing CA and cannot be used to sign objects.
The -G option is available in Netscape Signing Tool 1.0 and later versions only. By default, it produces only RSA certificates with 1024-byte keys in the internal token. However, you can use the -s option specify the required key size and the -t option to specify the token. For more information about the use of the -G option, see "Generating Test Object-Signing Certificates""Generating Test Object-Signing Certificates" on page 1241.
</p></dd><dt><span class="term">-l</span></dt><dd><p>
Lists signing certificates, including issuing CAs. If any of your certificates are expired or invalid, the list will so specify. This option can be used with the -k option to list detailed information about a particular signing certificate.
The -l option is available in Netscape Signing Tool 1.0 and later versions only.
</p></dd><dt><span class="term">-J</span></dt><dd><p>
Signs a directory of HTML files containing JavaScript and creates as many archive files as are specified in the HTML tags. Even if signtool creates more than one archive file, you need to supply the key database password only once.
The -J option is available only in Netscape Signing Tool 1.0 and later versions. The -J option cannot be used at the same time as the -Z option.
If the -c# option is not used with the -J option, the default compression value is 6.
Note that versions 1.1 and later of Netscape Signing Tool correctly recognizes the CODEBASE attribute, allows paths to be expressed for the CLASS and SRC attributes instead of filenames only, processes LINK tags and parses HTML correctly, and offers clearer error messages.
</p></dd><dt><span class="term">-L</span></dt><dd><p>
Lists the certificates in your database. An asterisk appears to the left of the nickname for any certificate that can be used to sign objects with signtool.
</p></dd><dt><span class="term">--leavearc</span></dt><dd><p>
Retains the temporary .arc (archive) directories that the -J option creates. These directories are automatically erased by default. Retaining the temporary directories can be an aid to debugging.
</p></dd><dt><span class="term">-m metafile</span></dt><dd><p>
Specifies the name of a metadata control file. Metadata is signed information attached either to the JAR archive itself or to files within the archive. This metadata can be any ASCII string, but is used mainly for specifying an installer script.
The metadata file contains one entry per line, each with three fields:
field #1: file specification, or + if you want to specify global metadata (that is, metadata about the JAR archive itself or all entries in the archive)
field #2: the name of the data you are specifying; for example: Install-Script
field #3: data corresponding to the name in field #2
For example, the -i option uses the equivalent of this line:
+ Install-Script: script.js
This example associates a MIME type with a file:
movie.qt MIME-Type: video/quicktime
For information about the way installer script information appears in the manifest file for a JAR archive, see The JAR Format on Netscape DevEdge.
</p></dd><dt><span class="term">-M</span></dt><dd><p>
Lists the PKCS #11 modules available to signtool, including smart cards.
The -M option is available in Netscape Signing Tool 1.0 and later versions only.
For information on using Netscape Signing Tool with smart cards, see "Using Netscape Signing Tool with Smart Cards".
For information on using the -M option to verify FIPS-140-1 validated mode, see "Netscape Signing Tool and FIPS-140-1".
</p></dd><dt><span class="term">--norecurse</span></dt><dd><p>
Blocks recursion into subdirectories when signing a directory's contents or when parsing HTML.
</p></dd><dt><span class="term">-o</span></dt><dd><p>
Optimizes the archive for size. Use this only if you are signing very large archives containing hundreds of files. This option makes the manifest files (required by the JAR format) considerably smaller, but they contain slightly less information.
</p></dd><dt><span class="term">--outfile outputfile</span></dt><dd><p>
Specifies a file to receive redirected output from Netscape Signing Tool.
</p></dd><dt><span class="term">-p password</span></dt><dd><p>
Specifies a password for the private-key database. Note that the password entered on the command line is displayed as plain text.
</p></dd><dt><span class="term">-s keysize</span></dt><dd><p>
Specifies the size of the key for generated certificate. Use the -M option to find out what tokens are available.
The -s option can be used with the -G option only.
</p></dd><dt><span class="term">-t token</span></dt><dd><p>
Specifies which available token should generate the key and receive the certificate. Use the -M option to find out what tokens are available.
The -t option can be used with the -G option only.
</p></dd><dt><span class="term">-v archive</span></dt><dd><p>
Displays the contents of an archive and verifies the cryptographic integrity of the digital signatures it contains and the files with which they are associated. This includes checking that the certificate for the issuer of the object-signing certificate is listed in the certificate database, that the CA's digital signature on the object-signing certificate is valid, that the relevant certificates have not expired, and so on.
</p></dd><dt><span class="term">--verbosity value</span></dt><dd><p>
Sets the quantity of information Netscape Signing Tool generates in operation. A value of 0 (zero) is the default and gives full information. A value of -1 suppresses most messages, but not error messages.
</p></dd><dt><span class="term">-w archive</span></dt><dd><p>
Displays the names of signers of any files in the archive.
</p></dd><dt><span class="term">-x directory</span></dt><dd><p>
Excludes the specified directory from signing. Note that with Netscape Signing Tool version 1.1 and later this option can appear multiple times on one command line, making it possible to specify several particular directories to exclude.
</p></dd><dt><span class="term">-z</span></dt><dd><p>
Tells signtool not to store the signing time in the digital signature. This option is useful if you want the expiration date of the signature checked against the current date and time rather than the time the files were signed.
</p></dd><dt><span class="term">-Z jarfile</span></dt><dd><p>
Creates a JAR file with the specified name. You must specify this option if you want signtool to create the JAR file; it does not do so automatically. If you don't specify -Z, you must use an external ZIP tool to create the JAR file.
The -Z option cannot be used at the same time as the -J option.
If the -c# option is not used with the -Z option, the default compression value is 6.</p></dd></dl></div></div><div class="refsection"><a name="command-file"></a><h2>The Command File Format</h2><p>Entries in a Netscape Signing Tool command file have this general format:
keyword=value
Everything before the = sign on a single line is a keyword, and everything from the = sign to the end of line is a value. The value may include = signs; only the first = sign on a line is interpreted. Blank lines are ignored, but white space on a line with keywords and values is assumed to be part of the keyword (if it comes before the equal sign) or part of the value (if it comes after the first equal sign). Keywords are case insensitive, values are generally case sensitive. Since the = sign and newline delimit the value, it should not be quoted. </p><p><span class="command"><strong>Subsection</strong></span></p><div class="variablelist"><dl class="variablelist"><dt><span class="term">basename</span></dt><dd><p>Same as -b option.</p></dd><dt><span class="term">compression</span></dt><dd><p>
Same as -c option.
</p></dd><dt><span class="term">certdir</span></dt><dd><p>
Same as -d option.
</p></dd><dt><span class="term">extension</span></dt><dd><p>
Same as -e option.
</p></dd><dt><span class="term">generate</span></dt><dd><p>
Same as -G option.
</p></dd><dt><span class="term">installscript</span></dt><dd><p>
Same as -i option.
</p></dd><dt><span class="term">javascriptdir</span></dt><dd><p>
Same as -j option.
</p></dd><dt><span class="term">htmldir</span></dt><dd><p>
Same as -J option.
</p></dd><dt><span class="term">certname</span></dt><dd><p>
Nickname of certificate, as with -k and -l -k options.
</p></dd><dt><span class="term">signdir</span></dt><dd><p>
The directory to be signed, as with -k option.
</p></dd><dt><span class="term">list</span></dt><dd><p>
Same as -l option. Value is ignored, but = sign must be present.
</p></dd><dt><span class="term">listall</span></dt><dd><p>
Same as -L option. Value is ignored, but = sign must be present.
</p></dd><dt><span class="term">metafile</span></dt><dd><p>
Same as -m option.
</p></dd><dt><span class="term">modules</span></dt><dd><p>
Same as -M option. Value is ignored, but = sign must be present.
</p></dd><dt><span class="term">optimize</span></dt><dd><p>
Same as -o option. Value is ignored, but = sign must be present.
</p></dd><dt><span class="term">password</span></dt><dd><p>
Same as -p option.
</p></dd><dt><span class="term">keysize</span></dt><dd><p>
Same as -s option.
</p></dd><dt><span class="term">token</span></dt><dd><p>
Same as -t option.
</p></dd><dt><span class="term">verify</span></dt><dd><p>
Same as -v option.
</p></dd><dt><span class="term">who</span></dt><dd><p>
Same as -w option.
</p></dd><dt><span class="term">exclude</span></dt><dd><p>
Same as -x option.
</p></dd><dt><span class="term">notime</span></dt><dd><p>
Same as -z option. value is ignored, but = sign must be present.
</p></dd><dt><span class="term">jarfile</span></dt><dd><p>
Same as -Z option.
</p></dd><dt><span class="term">outfile</span></dt><dd><p>
Name of a file to which output and error messages will be redirected. This option has no command-line equivalent.
</p></dd></dl></div></div><div class="refsection"><a name="examples"></a><h2>Extended Examples</h2><p>The following example will do this and that
</p><p><span class="command"><strong>Listing Available Signing Certificates</strong></span></p><p>You use the -L option to list the nicknames for all available certificates and check which ones are signing certificates.</p><pre class="programlisting">signtool -L
using certificate directory: /u/jsmith/.netscape
S Certificates
- ------------
BBN Certificate Services CA Root 1
IBM World Registry CA
VeriSign Class 1 CA - Individual Subscriber - VeriSign, Inc.
GTE CyberTrust Root CA
Uptime Group Plc. Class 4 CA
* Verisign Object Signing Cert
Integrion CA
GTE CyberTrust Secure Server CA
AT&amp;T Directory Services
* test object signing cert
Uptime Group Plc. Class 1 CA
VeriSign Class 1 Primary CA
- ------------
Certificates that can be used to sign objects have *'s to their left. </pre><p>Two signing certificates are displayed: Verisign Object Signing Cert and test object signing cert.</p><p>You use the -l option to get a list of signing certificates only, including the signing CA for each.</p><pre class="programlisting">signtool -l
using certificate directory: /u/jsmith/.netscape
Object signing certificates
---------------------------------------
Verisign Object Signing Cert
Issued by: VeriSign, Inc. - Verisign, Inc.
Expires: Tue May 19, 1998
test object signing cert
Issued by: test object signing cert (Signtool 1.0 Testing
Certificate (960187691))
Expires: Sun May 17, 1998
---------------------------------------</pre><p>For a list including CAs, use the <code class="option">-L</code> option.</p><p><span class="command"><strong>Signing a File</strong></span></p><p>1. Create an empty directory.</p><pre class="programlisting">mkdir signdir</pre><p>2. Put some file into it.</p><pre class="programlisting">echo boo &gt; signdir/test.f</pre><p>3. Specify the name of your object-signing certificate and sign the directory.</p><pre class="programlisting">signtool -k MySignCert -Z testjar.jar signdir
using key "MySignCert"
using certificate directory: /u/jsmith/.netscape
Generating signdir/META-INF/manifest.mf file..
--&gt; test.f
adding signdir/test.f to testjar.jar
Generating signtool.sf file..
Enter Password or Pin for "Communicator Certificate DB":
adding signdir/META-INF/manifest.mf to testjar.jar
adding signdir/META-INF/signtool.sf to testjar.jar
adding signdir/META-INF/signtool.rsa to testjar.jar
tree "signdir" signed successfully</pre><p>4. Test the archive you just created.</p><pre class="programlisting">signtool -v testjar.jar
using certificate directory: /u/jsmith/.netscape
archive "testjar.jar" has passed crypto verification.
status path
------------ -------------------
verified test.f</pre><p><span class="command"><strong>Using Netscape Signing Tool with a ZIP Utility</strong></span></p><p>To use Netscape Signing Tool with a ZIP utility, you must have the utility in your path environment variable. You should use the zip.exe utility rather than pkzip.exe, which cannot handle long filenames. You can use a ZIP utility instead of the -Z option to package a signed archive into a JAR file after you have signed it:</p><pre class="programlisting">cd signdir
zip -r ../myjar.jar *
adding: META-INF/ (stored 0%)
adding: META-INF/manifest.mf (deflated 15%)
adding: META-INF/signtool.sf (deflated 28%)
adding: META-INF/signtool.rsa (stored 0%)
adding: text.txt (stored 0%)</pre><p><span class="command"><strong>Generating the Keys and Certificate</strong></span></p><p>The signtool option -G generates a new public-private key pair and certificate. It takes the nickname of the new certificate as an argument. The newly generated keys and certificate are installed into the key and certificate databases in the directory specified by the -d option. With the NT version of Netscape Signing Tool, you must use the -d option with the -G option. With the Unix version of Netscape Signing Tool, omitting the -d option causes the tool to install the keys and certificate in the Communicator key and certificate databases. In all cases, the certificate is also output to a file named x509.cacert, which has the MIME-type application/x-x509-ca-cert.</p><p>Certificates contain standard information about the entity they identify, such as the common name and organization name. Netscape Signing Tool prompts you for this information when you run the command with the -G option. However, all of the requested fields are optional for test certificates. If you do not enter a common name, the tool provides a default name. In the following example, the user input is in boldface:</p><pre class="programlisting">signtool -G MyTestCert
using certificate directory: /u/someuser/.netscape
Enter certificate information. All fields are optional. Acceptable
characters are numbers, letters, spaces, and apostrophes.
certificate common name: Test Object Signing Certificate
organization: Netscape Communications Corp.
organization unit: Server Products Division
state or province: California
country (must be exactly 2 characters): US
username: someuser
email address: someuser@netscape.com
Enter Password or Pin for "Communicator Certificate DB": [Password will not echo]
generated public/private key pair
certificate request generated
certificate has been signed
certificate "MyTestCert" added to database
Exported certificate to x509.raw and x509.cacert.</pre><p>The certificate information is read from standard input. Therefore, the information can be read from a file using the redirection operator (&lt;) in some operating systems. To create a file for this purpose, enter each of the seven input fields, in order, on a separate line. Make sure there is a newline character at the end of the last line. Then run signtool with standard input redirected from your file as follows:</p><pre class="programlisting">signtool -G MyTestCert inputfile</pre><p>The prompts show up on the screen, but the responses will be automatically read from the file. The password will still be read from the console unless you use the -p option to give the password on the command line.</p><p><span class="command"><strong>Using the -M Option to List Smart Cards</strong></span></p><p>You can use the -M option to list the PKCS #11 modules, including smart cards, that are available to signtool:</p><pre class="programlisting">signtool -d "c:\netscape\users\jsmith" -M
using certificate directory: c:\netscape\users\username
Listing of PKCS11 modules
-----------------------------------------------
1. Netscape Internal PKCS #11 Module
(this module is internally loaded)
slots: 2 slots attached
status: loaded
slot: Communicator Internal Cryptographic Services Version 4.0
token: Communicator Generic Crypto Svcs
slot: Communicator User Private Key and Certificate Services
token: Communicator Certificate DB
2. CryptOS
(this is an external module)
DLL name: core32
slots: 1 slots attached
status: loaded
slot: Litronic 210
token:
----------------------------------------------- </pre><p><span class="command"><strong>Using Netscape Signing Tool and a Smart Card to Sign Files</strong></span></p><p>The signtool command normally takes an argument of the -k option to specify a signing certificate. To sign with a smart card, you supply only the fully qualified name of the certificate.</p><p>To see fully qualified certificate names when you run Communicator, click the Security button in Navigator, then click Yours under Certificates in the left frame. Fully qualified names are of the format smart card:certificate, for example "MyCard:My Signing Cert". You use this name with the -k argument as follows:</p><pre class="programlisting">signtool -k "MyCard:My Signing Cert" directory</pre><p><span class="command"><strong>Verifying FIPS Mode</strong></span></p><p>Use the -M option to verify that you are using the FIPS-140-1 module.</p><pre class="programlisting">signtool -d "c:\netscape\users\jsmith" -M
using certificate directory: c:\netscape\users\jsmith
Listing of PKCS11 modules
-----------------------------------------------
1. Netscape Internal PKCS #11 Module
(this module is internally loaded)
slots: 2 slots attached
status: loaded
slot: Communicator Internal Cryptographic Services Version 4.0
token: Communicator Generic Crypto Svcs
slot: Communicator User Private Key and Certificate Services
token: Communicator Certificate DB
-----------------------------------------------</pre><p>This Unix example shows that Netscape Signing Tool is using a FIPS-140-1 module:</p><pre class="programlisting">signtool -d "c:\netscape\users\jsmith" -M
using certificate directory: c:\netscape\users\jsmith
Enter Password or Pin for "Communicator Certificate DB": [password will not echo]
Listing of PKCS11 modules
-----------------------------------------------
1. Netscape Internal FIPS PKCS #11 Module
(this module is internally loaded)
slots: 1 slots attached
status: loaded
slot: Netscape Internal FIPS-140-1 Cryptographic Services
token: Communicator Certificate DB
-----------------------------------------------</pre></div><div class="refsection"><a name="seealso"></a><h2>See Also</h2><p>signver (1)</p><p>The NSS wiki has information on the new database design and how to configure applications to use it.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
https://wiki.mozilla.org/NSS_Shared_DB_Howto</p></li><li class="listitem"><p>
https://wiki.mozilla.org/NSS_Shared_DB
</p></li></ul></div></div><div class="refsection"><a name="resources"></a><h2>Additional Resources</h2><p>For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at <a class="ulink" href="http://www.mozilla.org/projects/security/pki/nss/" target="_top">http://www.mozilla.org/projects/security/pki/nss/</a>. The NSS site relates directly to NSS code changes and releases.</p><p>Mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto</p><p>IRC: Freenode at #dogtag-pki</p></div><div class="refsection"><a name="authors"></a><h2>Authors</h2><p>The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun.</p><p>
Authors: Elio Maldonado &lt;emaldona@redhat.com&gt;, Deon Lackey &lt;dlackey@redhat.com&gt;.
</p></div><div class="refsection"><a name="license"></a><h2>LICENSE</h2><p>Licensed under the Mozilla Public License, version 1.1,
and/or the GNU General Public License, version 2 or later,
and/or the GNU Lesser General Public License, version 2.1 or later.
</p></div></div><div class="navfooter"><hr></div></body></html>

View File

@ -0,0 +1,35 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>SIGNVER</title><meta name="generator" content="DocBook XSL Stylesheets V1.77.1"><link rel="home" href="index.html" title="SIGNVER"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">SIGNVER</th></tr></table><hr></div><div class="refentry"><a name="signver"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>signver — Verify a detached PKCS#7 signature for a file.</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">signtool</code> -A | -V -d <em class="replaceable"><code>directory</code></em> [-a] [-i <em class="replaceable"><code>input_file</code></em>] [-o <em class="replaceable"><code>output_file</code></em>] [-s <em class="replaceable"><code>signature_file</code></em>] [-v]</p></div></div><div class="refsection"><a name="idp4236688"></a><h2>STATUS</h2><p>This documentation is still work in progress. Please contribute to the initial review in <a class="ulink" href="https://bugzilla.mozilla.org/show_bug.cgi?id=836477" target="_top">Mozilla NSS bug 836477</a>
</p></div><div class="refsection"><a name="description"></a><h2>Description</h2><p>The Signature Verification Tool, <span class="command"><strong>signver</strong></span>, is a simple command-line utility that unpacks a base-64-encoded PKCS#7 signed object and verifies the digital signature using standard cryptographic techniques. The Signature Verification Tool can also display the contents of the signed object.</p></div><div class="refsection"><a name="options"></a><h2>Options</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">-A</span></dt><dd><p>Displays all of the information in the PKCS#7 signature.</p></dd><dt><span class="term">-V</span></dt><dd><p>Verifies the digital signature.</p></dd><dt><span class="term">-d [sql:]<span class="emphasis"><em>directory</em></span></span></dt><dd><p>Specify the database directory which contains the certificates and keys.</p><p><span class="command"><strong>signver</strong></span> supports two types of databases: the legacy security databases (<code class="filename">cert8.db</code>, <code class="filename">key3.db</code>, and <code class="filename">secmod.db</code>) and new SQLite databases (<code class="filename">cert9.db</code>, <code class="filename">key4.db</code>, and <code class="filename">pkcs11.txt</code>). If the prefix <span class="command"><strong>sql:</strong></span> is not used, then the tool assumes that the given databases are in the old format.</p></dd><dt><span class="term">-a</span></dt><dd><p>Sets that the given signature file is in ASCII format.</p></dd><dt><span class="term">-i <span class="emphasis"><em>input_file</em></span></span></dt><dd><p>Gives the input file for the object with signed data.</p></dd><dt><span class="term">-o <span class="emphasis"><em>output_file</em></span></span></dt><dd><p>Gives the output file to which to write the results.</p></dd><dt><span class="term">-s <span class="emphasis"><em>signature_file</em></span></span></dt><dd><p>Gives the input file for the digital signature.</p></dd><dt><span class="term">-v</span></dt><dd><p>Enables verbose output.</p></dd></dl></div></div><div class="refsection"><a name="examples"></a><h2>Extended Examples</h2><div class="refsection"><a name="idp367200"></a><h3>Verifying a Signature</h3><p>The <code class="option">-V</code> option verifies that the signature in a given signature file is valid when used to sign the given object (from the input file).</p><pre class="programlisting">signver -V -s <em class="replaceable"><code>signature_file</code></em> -i <em class="replaceable"><code>signed_file</code></em> -d sql:/home/my/sharednssdb
signatureValid=yes</pre></div><div class="refsection"><a name="idp370464"></a><h3>Printing Signature Data</h3><p>
The <code class="option">-A</code> option prints all of the information contained in a signature file. Using the <code class="option">-o</code> option prints the signature file information to the given output file rather than stdout.
</p><pre class="programlisting">signver -A -s <em class="replaceable"><code>signature_file</code></em> -o <em class="replaceable"><code>output_file</code></em></pre></div></div><div class="refsection"><a name="databases"></a><h2>NSS Database Types</h2><p>NSS originally used BerkeleyDB databases to store security information.
The last versions of these <span class="emphasis"><em>legacy</em></span> databases are:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
cert8.db for certificates
</p></li><li class="listitem"><p>
key3.db for keys
</p></li><li class="listitem"><p>
secmod.db for PKCS #11 module information
</p></li></ul></div><p>BerkeleyDB has performance limitations, though, which prevent it from being easily used by multiple applications simultaneously. NSS has
some flexibility that allows applications to use their own, independent database engine while keeping a shared database and working around the access issues. Still, NSS
requires more flexibility to provide a truly shared security database.</p><p>In 2009, NSS introduced a new set of databases that are SQLite databases rather than
BerkleyDB. These new databases provide more accessibility and performance:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
cert9.db for certificates
</p></li><li class="listitem"><p>
key4.db for keys
</p></li><li class="listitem"><p>
pkcs11.txt, which is listing of all of the PKCS #11 modules contained in a new subdirectory in the security databases directory
</p></li></ul></div><p>Because the SQLite databases are designed to be shared, these are the <span class="emphasis"><em>shared</em></span> database type. The shared database type is preferred; the legacy format is included for backward compatibility.</p><p>By default, the tools (<span class="command"><strong>certutil</strong></span>, <span class="command"><strong>pk12util</strong></span>, <span class="command"><strong>modutil</strong></span>) assume that the given security databases follow the more common legacy type.
Using the SQLite databases must be manually specified by using the <span class="command"><strong>sql:</strong></span> prefix with the given security directory. For example:</p><pre class="programlisting"># signver -A -s <em class="replaceable"><code>signature</code></em> -d sql:/home/my/sharednssdb</pre><p>To set the shared database type as the default type for the tools, set the <code class="envar">NSS_DEFAULT_DB_TYPE</code> environment variable to <code class="envar">sql</code>:</p><pre class="programlisting">export NSS_DEFAULT_DB_TYPE="sql"</pre><p>This line can be set added to the <code class="filename">~/.bashrc</code> file to make the change permanent.</p><p>Most applications do not use the shared database by default, but they can be configured to use them. For example, this how-to article covers how to configure Firefox and Thunderbird to use the new shared NSS databases:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
https://wiki.mozilla.org/NSS_Shared_DB_Howto</p></li></ul></div><p>For an engineering draft on the changes in the shared NSS databases, see the NSS project wiki:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
https://wiki.mozilla.org/NSS_Shared_DB
</p></li></ul></div></div><div class="refsection"><a name="seealso"></a><h2>See Also</h2><p>signtool (1)</p><p>The NSS wiki has information on the new database design and how to configure applications to use it.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Setting up the shared NSS database</p><p>https://wiki.mozilla.org/NSS_Shared_DB_Howto</p></li><li class="listitem"><p>
Engineering and technical information about the shared NSS database
</p><p>
https://wiki.mozilla.org/NSS_Shared_DB
</p></li></ul></div></div><div class="refsection"><a name="resources"></a><h2>Additional Resources</h2><p>For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at <a class="ulink" href="http://www.mozilla.org/projects/security/pki/nss/" target="_top">http://www.mozilla.org/projects/security/pki/nss/</a>. The NSS site relates directly to NSS code changes and releases.</p><p>Mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto</p><p>IRC: Freenode at #dogtag-pki</p></div><div class="refsection"><a name="authors"></a><h2>Authors</h2><p>The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun.</p><p>
Authors: Elio Maldonado &lt;emaldona@redhat.com&gt;, Deon Lackey &lt;dlackey@redhat.com&gt;.
</p></div><div class="refsection"><a name="license"></a><h2>LICENSE</h2><p>Licensed under the Mozilla Public License, version 1.1,
and/or the GNU General Public License, version 2 or later,
and/or the GNU Lesser General Public License, version 2.1 or later.
</p></div></div><div class="navfooter"><hr></div></body></html>

View File

@ -0,0 +1,422 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>SSLTAP</title><meta name="generator" content="DocBook XSL Stylesheets V1.77.1"><link rel="home" href="index.html" title="SSLTAP"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">SSLTAP</th></tr></table><hr></div><div class="refentry"><a name="ssltap"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ssltap — Tap into SSL connections and display the data going by </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">libssltap</code> [-vhfsxl] [-p port] [hostname:port]</p></div></div><div class="refsection"><a name="idp3926848"></a><h2>STATUS</h2><p>This documentation is still work in progress. Please contribute to the initial review in <a class="ulink" href="https://bugzilla.mozilla.org/show_bug.cgi?id=836477" target="_top">Mozilla NSS bug 836477</a>
</p></div><div class="refsection"><a name="description"></a><h2>Description</h2><p>The SSL Debugging Tool <span class="command"><strong>ssltap</strong></span> is an SSL-aware command-line proxy. It watches TCP connections and displays the data going by. If a connection is SSL, the data display includes interpreted SSL records and handshaking</p></div><div class="refsection"><a name="options"></a><h2>Options</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">-v </span></dt><dd><p>Print a version string for the tool.</p></dd><dt><span class="term">-h </span></dt><dd><p>
Turn on hex/ASCII printing. Instead of outputting raw data, the command interprets each record as a numbered line of hex values, followed by the same data as ASCII characters. The two parts are separated by a vertical bar. Nonprinting characters are replaced by dots.
</p></dd><dt><span class="term">-f </span></dt><dd><p>
Turn on fancy printing. Output is printed in colored HTML. Data sent from the client to the server is in blue; the server's reply is in red. When used with looping mode, the different connections are separated with horizontal lines. You can use this option to upload the output into a browser.
</p></dd><dt><span class="term">-s </span></dt><dd><p>
Turn on SSL parsing and decoding. The tool does not automatically detect SSL sessions. If you are intercepting an SSL connection, use this option so that the tool can detect and decode SSL structures.
</p><p>
If the tool detects a certificate chain, it saves the DER-encoded certificates into files in the current directory. The files are named cert.0x, where x is the sequence number of the certificate.
</p><p>
If the -s option is used with -h, two separate parts are printed for each record: the plain hex/ASCII output, and the parsed SSL output.
</p></dd><dt><span class="term">-x </span></dt><dd><p>
Turn on hex/ASCII printing of undecoded data inside parsed SSL records. Used only with the -s option.
This option uses the same output format as the -h option.
</p></dd><dt><span class="term">-l prefix</span></dt><dd><p>
Turn on looping; that is, continue to accept connections rather than stopping after the first connection is complete.
</p></dd><dt><span class="term">-p port</span></dt><dd><p>Change the default rendezvous port (1924) to another port.</p><p>The following are well-known port numbers:</p><p>
* HTTP 80
</p><p>
* HTTPS 443
</p><p>
* SMTP 25
</p><p>
* FTP 21
</p><p>
* IMAP 143
</p><p>
* IMAPS 993 (IMAP over SSL)
</p><p>
* NNTP 119
</p><p>
* NNTPS 563 (NNTP over SSL)
</p></dd></dl></div></div><div class="refsection"><a name="basic-usage"></a><h2>Usage and Examples</h2><p>
You can use the SSL Debugging Tool to intercept any connection information. Although you can run the tool at its most basic by issuing the ssltap command with no options other than hostname:port, the information you get in this way is not very useful. For example, assume your development machine is called intercept. The simplest way to use the debugging tool is to execute the following command from a command shell:
</p><pre class="programlisting">$ ssltap www.netscape.com</pre><p>
The program waits for an incoming connection on the default port 1924. In your browser window, enter the URL http://intercept:1924. The browser retrieves the requested page from the server at www.netscape.com, but the page is intercepted and passed on to the browser by the debugging tool on intercept. On its way to the browser, the data is printed to the command shell from which you issued the command. Data sent from the client to the server is surrounded by the following symbols: --&gt; [ data ] Data sent from the server to the client is surrounded by the following symbols:
"left arrow"-- [ data ] The raw data stream is sent to standard output and is not interpreted in any way. This can result in peculiar effects, such as sounds, flashes, and even crashes of the command shell window. To output a basic, printable interpretation of the data, use the -h option, or, if you are looking at an SSL connection, the -s option. You will notice that the page you retrieved looks incomplete in the browser. This is because, by default, the tool closes down after the first connection is complete, so the browser is not able to load images. To make the tool
continue to accept connections, switch on looping mode with the -l option. The following examples show the output from commonly used combinations of options.
</p><p>Example 1 </p><pre class="programlisting">$ ssltap.exe -sx -p 444 interzone.mcom.com:443 &gt; sx.txt</pre><p>Output </p><pre class="programlisting">
Connected to interzone.mcom.com:443
--&gt;; [
alloclen = 66 bytes
[ssl2] ClientHelloV2 {
version = {0x03, 0x00}
cipher-specs-length = 39 (0x27)
sid-length = 0 (0x00)
challenge-length = 16 (0x10)
cipher-suites = {
(0x010080) SSL2/RSA/RC4-128/MD5
(0x020080) SSL2/RSA/RC4-40/MD5
(0x030080) SSL2/RSA/RC2CBC128/MD5
(0x040080) SSL2/RSA/RC2CBC40/MD5
(0x060040) SSL2/RSA/DES64CBC/MD5
(0x0700c0) SSL2/RSA/3DES192EDE-CBC/MD5
(0x000004) SSL3/RSA/RC4-128/MD5
(0x00ffe0) SSL3/RSA-FIPS/3DES192EDE-CBC/SHA
(0x00000a) SSL3/RSA/3DES192EDE-CBC/SHA
(0x00ffe1) SSL3/RSA-FIPS/DES64CBC/SHA
(0x000009) SSL3/RSA/DES64CBC/SHA
(0x000003) SSL3/RSA/RC4-40/MD5
(0x000006) SSL3/RSA/RC2CBC40/MD5
}
session-id = { }
challenge = { 0xec5d 0x8edb 0x37c9 0xb5c9 0x7b70 0x8fe9 0xd1d3
0x2592 }
}
]
&lt;-- [
SSLRecord {
0: 16 03 00 03 e5 |.....
type = 22 (handshake)
version = { 3,0 }
length = 997 (0x3e5)
handshake {
0: 02 00 00 46 |...F
type = 2 (server_hello)
length = 70 (0x000046)
ServerHello {
server_version = {3, 0}
random = {...}
0: 77 8c 6e 26 6c 0c ec c0 d9 58 4f 47 d3 2d 01 45 |
wn&amp;l.ì..XOG.-.E
10: 5c 17 75 43 a7 4c 88 c7 88 64 3c 50 41 48 4f 7f |
\.uC§L.Ç.d&lt;PAHO.
session ID = {
length = 32
contents = {..}
0: 14 11 07 a8 2a 31 91 29 11 94 40 37 57 10 a7 32 | ...¨*1.)..@7W.§2
10: 56 6f 52 62 fe 3d b3 65 b1 e4 13 0f 52 a3 c8 f6 | VoRbþ=³e±...R£È.
}
cipher_suite = (0x0003) SSL3/RSA/RC4-40/MD5
}
0: 0b 00 02 c5 |...Å
type = 11 (certificate)
length = 709 (0x0002c5)
CertificateChain {
chainlength = 706 (0x02c2)
Certificate {
size = 703 (0x02bf)
data = { saved in file 'cert.001' }
}
}
0: 0c 00 00 ca |....
type = 12 (server_key_exchange)
length = 202 (0x0000ca)
0: 0e 00 00 00 |....
type = 14 (server_hello_done)
length = 0 (0x000000)
}
}
]
--&gt; [
SSLRecord {
0: 16 03 00 00 44 |....D
type = 22 (handshake)
version = { 3,0 }
length = 68 (0x44)
handshake {
0: 10 00 00 40 |...@
type = 16 (client_key_exchange)
length = 64 (0x000040)
ClientKeyExchange {
message = {...}
}
}
}
]
--&gt; [
SSLRecord {
0: 14 03 00 00 01 |.....
type = 20 (change_cipher_spec)
version = { 3,0 }
length = 1 (0x1)
0: 01 |.
}
SSLRecord {
0: 16 03 00 00 38 |....8
type = 22 (handshake)
version = { 3,0 }
length = 56 (0x38)
&lt; encrypted &gt;
}
]
&lt;-- [
SSLRecord {
0: 14 03 00 00 01 |.....
type = 20 (change_cipher_spec)
version = { 3,0 }
length = 1 (0x1)
0: 01 |.
}
]
&lt;-- [
SSLRecord {
0: 16 03 00 00 38 |....8
type = 22 (handshake)
version = { 3,0 }
length = 56 (0x38)
&lt; encrypted &gt;
}
]
--&gt; [
SSLRecord {
0: 17 03 00 01 1f |.....
type = 23 (application_data)
version = { 3,0 }
length = 287 (0x11f)
&lt; encrypted &gt;
}
]
&lt;-- [
SSLRecord {
0: 17 03 00 00 a0 |....
type = 23 (application_data)
version = { 3,0 }
length = 160 (0xa0)
&lt; encrypted &gt;
}
]
&lt;-- [
SSLRecord {
0: 17 03 00 00 df |....ß
type = 23 (application_data)
version = { 3,0 }
length = 223 (0xdf)
&lt; encrypted &gt;
}
SSLRecord {
0: 15 03 00 00 12 |.....
type = 21 (alert)
version = { 3,0 }
length = 18 (0x12)
&lt; encrypted &gt;
}
]
Server socket closed.
</pre><p>Example 2</p><p>
The -s option turns on SSL parsing. Because the -x option is not used in this example, undecoded values are output as raw data. The output is routed to a text file.
</p><pre class="programlisting">$ ssltap -s -p 444 interzone.mcom.com:443 &gt; s.txt</pre><p>Output </p><pre class="programlisting">
Connected to interzone.mcom.com:443
--&gt; [
alloclen = 63 bytes
[ssl2] ClientHelloV2 {
version = {0x03, 0x00}
cipher-specs-length = 36 (0x24)
sid-length = 0 (0x00)
challenge-length = 16 (0x10)
cipher-suites = {
(0x010080) SSL2/RSA/RC4-128/MD5
(0x020080) SSL2/RSA/RC4-40/MD5
(0x030080) SSL2/RSA/RC2CBC128/MD5
(0x060040) SSL2/RSA/DES64CBC/MD5
(0x0700c0) SSL2/RSA/3DES192EDE-CBC/MD5
(0x000004) SSL3/RSA/RC4-128/MD5
(0x00ffe0) SSL3/RSA-FIPS/3DES192EDE-CBC/SHA
(0x00000a) SSL3/RSA/3DES192EDE-CBC/SHA
(0x00ffe1) SSL3/RSA-FIPS/DES64CBC/SHA
(0x000009) SSL3/RSA/DES64CBC/SHA
(0x000003) SSL3/RSA/RC4-40/MD5
}
session-id = { }
challenge = { 0x713c 0x9338 0x30e1 0xf8d6 0xb934 0x7351 0x200c
0x3fd0 }
]
&gt;-- [
SSLRecord {
type = 22 (handshake)
version = { 3,0 }
length = 997 (0x3e5)
handshake {
type = 2 (server_hello)
length = 70 (0x000046)
ServerHello {
server_version = {3, 0}
random = {...}
session ID = {
length = 32
contents = {..}
}
cipher_suite = (0x0003) SSL3/RSA/RC4-40/MD5
}
type = 11 (certificate)
length = 709 (0x0002c5)
CertificateChain {
chainlength = 706 (0x02c2)
Certificate {
size = 703 (0x02bf)
data = { saved in file 'cert.001' }
}
}
type = 12 (server_key_exchange)
length = 202 (0x0000ca)
type = 14 (server_hello_done)
length = 0 (0x000000)
}
}
]
--&gt; [
SSLRecord {
type = 22 (handshake)
version = { 3,0 }
length = 68 (0x44)
handshake {
type = 16 (client_key_exchange)
length = 64 (0x000040)
ClientKeyExchange {
message = {...}
}
}
}
]
--&gt; [
SSLRecord {
type = 20 (change_cipher_spec)
version = { 3,0 }
length = 1 (0x1)
}
SSLRecord {
type = 22 (handshake)
version = { 3,0 }
length = 56 (0x38)
&gt; encrypted &gt;
}
]
&gt;-- [
SSLRecord {
type = 20 (change_cipher_spec)
version = { 3,0 }
length = 1 (0x1)
}
]
&gt;-- [
SSLRecord {
type = 22 (handshake)
version = { 3,0 }
length = 56 (0x38)
&gt; encrypted &gt;
}
]
--&gt; [
SSLRecord {
type = 23 (application_data)
version = { 3,0 }
length = 287 (0x11f)
&gt; encrypted &gt;
}
]
[
SSLRecord {
type = 23 (application_data)
version = { 3,0 }
length = 160 (0xa0)
&gt; encrypted &gt;
}
]
&gt;-- [
SSLRecord {
type = 23 (application_data)
version = { 3,0 }
length = 223 (0xdf)
&gt; encrypted &gt;
}
SSLRecord {
type = 21 (alert)
version = { 3,0 }
length = 18 (0x12)
&gt; encrypted &gt;
}
]
Server socket closed.
</pre><p>Example 3</p><p>
In this example, the -h option turns hex/ASCII format. There is no SSL parsing or decoding. The output is routed to a text file.
</p><pre class="programlisting">$ ssltap -h -p 444 interzone.mcom.com:443 &gt; h.txt</pre><p>Output </p><pre class="programlisting">
Connected to interzone.mcom.com:443
--&gt; [
0: 80 40 01 03 00 00 27 00 00 00 10 01 00 80 02 00 | .@....'.........
10: 80 03 00 80 04 00 80 06 00 40 07 00 c0 00 00 04 | .........@......
20: 00 ff e0 00 00 0a 00 ff e1 00 00 09 00 00 03 00 | ........á.......
30: 00 06 9b fe 5b 56 96 49 1f 9f ca dd d5 ba b9 52 | ..þ[V.I.\xd9 ...º¹R
40: 6f 2d |o-
]
&lt;-- [
0: 16 03 00 03 e5 02 00 00 46 03 00 7f e5 0d 1b 1d | ........F.......
10: 68 7f 3a 79 60 d5 17 3c 1d 9c 96 b3 88 d2 69 3b | h.:y`..&lt;..³.Òi;
20: 78 e2 4b 8b a6 52 12 4b 46 e8 c2 20 14 11 89 05 | x.K.¦R.KFè. ...
30: 4d 52 91 fd 93 e0 51 48 91 90 08 96 c1 b6 76 77 | MR.ý..QH.....¶vw
40: 2a f4 00 08 a1 06 61 a2 64 1f 2e 9b 00 03 00 0b | *ô..¡.a¢d......
50: 00 02 c5 00 02 c2 00 02 bf 30 82 02 bb 30 82 02 | ..Å......0...0..
60: 24 a0 03 02 01 02 02 02 01 36 30 0d 06 09 2a 86 | $ .......60...*.
70: 48 86 f7 0d 01 01 04 05 00 30 77 31 0b 30 09 06 | H.÷......0w1.0..
80: 03 55 04 06 13 02 55 53 31 2c 30 2a 06 03 55 04 | .U....US1,0*..U.
90: 0a 13 23 4e 65 74 73 63 61 70 65 20 43 6f 6d 6d | ..#Netscape Comm
a0: 75 6e 69 63 61 74 69 6f 6e 73 20 43 6f 72 70 6f | unications Corpo
b0: 72 61 74 69 6f 6e 31 11 30 0f 06 03 55 04 0b 13 | ration1.0...U...
c0: 08 48 61 72 64 63 6f 72 65 31 27 30 25 06 03 55 | .Hardcore1'0%..U
d0: 04 03 13 1e 48 61 72 64 63 6f 72 65 20 43 65 72 | ....Hardcore Cer
e0: 74 69 66 69 63 61 74 65 20 53 65 72 76 65 72 20 | tificate Server
f0: 49 49 30 1e 17 0d 39 38 30 35 31 36 30 31 30 33 | II0...9805160103
&lt;additional data lines&gt;
]
&lt;additional records in same format&gt;
Server socket closed.
</pre><p>Example 4</p><p>
In this example, the -s option turns on SSL parsing, and the -h option turns on hex/ASCII format.
Both formats are shown for each record. The output is routed to a text file.
</p><pre class="programlisting">$ ssltap -hs -p 444 interzone.mcom.com:443 &gt; hs.txt</pre><p>Output </p><pre class="programlisting">
Connected to interzone.mcom.com:443
--&gt; [
0: 80 3d 01 03 00 00 24 00 00 00 10 01 00 80 02 00 | .=....$.........
10: 80 03 00 80 04 00 80 06 00 40 07 00 c0 00 00 04 | .........@......
20: 00 ff e0 00 00 0a 00 ff e1 00 00 09 00 00 03 03 | ........á.......
30: 55 e6 e4 99 79 c7 d7 2c 86 78 96 5d b5 cf e9 |U..yÇ\xb0 ,.x.]µÏé
alloclen = 63 bytes
[ssl2] ClientHelloV2 {
version = {0x03, 0x00}
cipher-specs-length = 36 (0x24)
sid-length = 0 (0x00)
challenge-length = 16 (0x10)
cipher-suites = {
(0x010080) SSL2/RSA/RC4-128/MD5
(0x020080) SSL2/RSA/RC4-40/MD5
(0x030080) SSL2/RSA/RC2CBC128/MD5
(0x040080) SSL2/RSA/RC2CBC40/MD5
(0x060040) SSL2/RSA/DES64CBC/MD5
(0x0700c0) SSL2/RSA/3DES192EDE-CBC/MD5
(0x000004) SSL3/RSA/RC4-128/MD5
(0x00ffe0) SSL3/RSA-FIPS/3DES192EDE-CBC/SHA
(0x00000a) SSL3/RSA/3DES192EDE-CBC/SHA
(0x00ffe1) SSL3/RSA-FIPS/DES64CBC/SHA
(0x000009) SSL3/RSA/DES64CBC/SHA
(0x000003) SSL3/RSA/RC4-40/MD5
}
session-id = { }
challenge = { 0x0355 0xe6e4 0x9979 0xc7d7 0x2c86 0x7896 0x5db
0xcfe9 }
}
]
&lt;additional records in same formats&gt;
Server socket closed.
</pre></div><div class="refsection"><a name="usage-tips"></a><h2>Usage Tips</h2><p>
When SSL restarts a previous session, it makes use of cached information to do a partial handshake.
If you wish to capture a full SSL handshake, restart the browser to clear the session id cache.
</p><p>
If you run the tool on a machine other than the SSL server to which you are trying to connect,
the browser will complain that the host name you are trying to connect to is different from the certificate.
If you are using the default BadCert callback, you can still connect through a dialog. If you are not using
the default BadCert callback, the one you supply must allow for this possibility.
</p></div><div class="refsection"><a name="seealso"></a><h2>See Also</h2><p>The NSS Security Tools are also documented at <a class="ulink" href="http://www.mozilla.org/projects/security/pki/nss/tools" target="_top">http://www.mozilla.org/projects/security/pki/nss/</a>.</p></div><div class="refsection"><a name="resources"></a><h2>Additional Resources</h2><p>For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at <a class="ulink" href="http://www.mozilla.org/projects/security/pki/nss/" target="_top">http://www.mozilla.org/projects/security/pki/nss/</a>. The NSS site relates directly to NSS code changes and releases.</p><p>Mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto</p><p>IRC: Freenode at #dogtag-pki</p></div><div class="refsection"><a name="authors"></a><h2>Authors</h2><p>The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun.</p><p>
Authors: Elio Maldonado &lt;emaldona@redhat.com&gt;, Deon Lackey &lt;dlackey@redhat.com&gt;.
</p></div><div class="refsection"><a name="license"></a><h2>LICENSE</h2><p>Licensed under the Mozilla Public License, version 1.1,
and/or the GNU General Public License, version 2 or later,
and/or the GNU Lesser General Public License, version 2.1 or later.
</p></div></div><div class="navfooter"><hr></div></body></html>

View File

@ -0,0 +1,28 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>VFYCHAIN</title><meta name="generator" content="DocBook XSL Stylesheets V1.77.1"><link rel="home" href="index.html" title="VFYCHAIN"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">VFYCHAIN</th></tr></table><hr></div><div class="refentry"><a name="vfychain"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>vfychain — vfychain [options] [revocation options] certfile [[options] certfile] ...</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">vfychain</code> </p></div></div><div class="refsection"><a name="idp522256"></a><h2>STATUS</h2><p>This documentation is still work in progress. Please contribute to the initial review in <a class="ulink" href="https://bugzilla.mozilla.org/show_bug.cgi?id=836477" target="_top">Mozilla NSS bug 836477</a>
</p></div><div class="refsection"><a name="description"></a><h2>Description</h2><p>The verification Tool, <span class="command"><strong>vfychain</strong></span>, verifies certificate chains. <span class="command"><strong>modutil</strong></span> can add and delete PKCS #11 modules, change passwords on security databases, set defaults, list module contents, enable or disable slots, enable or disable FIPS 140-2 compliance, and assign default providers for cryptographic operations. This tool can also create certificate, key, and module security database files.</p><p>The tasks associated with security module database management are part of a process that typically also involves managing key databases and certificate databases.</p></div><div class="refsection"><a name="options"></a><h2>Options</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option">-a</code></span></dt><dd>the following certfile is base64 encoded</dd><dt><span class="term"><code class="option">-b </code> <em class="replaceable"><code>YYMMDDHHMMZ</code></em></span></dt><dd>Validate date (default: now)</dd><dt><span class="term"><code class="option">-d </code> <em class="replaceable"><code>directory</code></em></span></dt><dd>database directory</dd><dt><span class="term"><code class="option">-f </code> </span></dt><dd>Enable cert fetching from AIA URL</dd><dt><span class="term"><code class="option">-o </code> <em class="replaceable"><code>oid</code></em></span></dt><dd>Set policy OID for cert validation(Format OID.1.2.3)</dd><dt><span class="term"><code class="option">-p </code></span></dt><dd><p class="simpara">Use PKIX Library to validate certificate by calling:</p><p class="simpara"> * CERT_VerifyCertificate if specified once,</p><p class="simpara"> * CERT_PKIXVerifyCert if specified twice and more.</p></dd><dt><span class="term"><code class="option">-r </code></span></dt><dd>Following certfile is raw binary DER (default)</dd><dt><span class="term"><code class="option">-t</code></span></dt><dd>Following cert is explicitly trusted (overrides db trust)</dd><dt><span class="term"><code class="option">-u </code> <em class="replaceable"><code>usage</code></em></span></dt><dd><p>
0=SSL client, 1=SSL server, 2=SSL StepUp, 3=SSL CA,
4=Email signer, 5=Email recipient, 6=Object signer,
9=ProtectedObjectSigner, 10=OCSP responder, 11=Any CA
</p></dd><dt><span class="term"><code class="option">-T </code></span></dt><dd>Trust both explicit trust anchors (-t) and the database. (Without this option, the default is to only trust certificates marked -t, if there are any, or to trust the database if there are certificates marked -t.)
</dd><dt><span class="term"><code class="option">-v </code></span></dt><dd>Verbose mode. Prints root cert subject(double the
argument for whole root cert info)
</dd><dt><span class="term"><code class="option">-w </code> <em class="replaceable"><code>password</code></em></span></dt><dd>Database password</dd><dt><span class="term"><code class="option">-W </code> <em class="replaceable"><code>pwfile</code></em></span></dt><dd>Password file</dd><dt><span class="term"><code class="option"></code></span></dt><dd><p class="simpara">Revocation options for PKIX API (invoked with -pp options) is a
collection of the following flags:
[-g type [-h flags] [-m type [-s flags]] ...] ...</p><p class="simpara">Where: </p></dd><dt><span class="term"><code class="option">-g </code> <em class="replaceable"><code>test-type</code></em></span></dt><dd>Sets status checking test type. Possible values
are "leaf" or "chain"
</dd><dt><span class="term"><code class="option">-g </code> <em class="replaceable"><code>test type</code></em></span></dt><dd>Sets status checking test type. Possible values
are "leaf" or "chain".
</dd><dt><span class="term"><code class="option">-h </code> <em class="replaceable"><code>test flags</code></em></span></dt><dd>Sets revocation flags for the test type it
follows. Possible flags: "testLocalInfoFirst" and
"requireFreshInfo".
</dd><dt><span class="term"><code class="option">-m </code> <em class="replaceable"><code>method type</code></em></span></dt><dd>Sets method type for the test type it follows.
Possible types are "crl" and "ocsp".
</dd><dt><span class="term"><code class="option">-s </code> <em class="replaceable"><code>method flags</code></em></span></dt><dd>Sets revocation flags for the method it follows.
Possible types are "doNotUse", "forbidFetching",
"ignoreDefaultSrc", "requireInfo" and "failIfNoInfo".
</dd></dl></div></div><div class="refsection"><a name="resources"></a><h2>Additional Resources</h2><p>For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at <a class="ulink" href="http://www.mozilla.org/projects/security/pki/nss/" target="_top">http://www.mozilla.org/projects/security/pki/nss/</a>. The NSS site relates directly to NSS code changes and releases.</p><p>Mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto</p><p>IRC: Freenode at #dogtag-pki</p></div><div class="refsection"><a name="authors"></a><h2>Authors</h2><p>The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun.</p><p>
Authors: Elio Maldonado &lt;emaldona@redhat.com&gt;, Deon Lackey &lt;dlackey@redhat.com&gt;.
</p></div><div class="refsection"><a name="license"></a><h2>LICENSE</h2><p>Licensed under the Mozilla Public License, version 1.1,
and/or the GNU General Public License, version 2 or later,
and/or the GNU Lesser General Public License, version 2.1 or later.
</p></div></div><div class="navfooter"><hr></div></body></html>

View File

@ -0,0 +1,7 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>VFYSERV</title><meta name="generator" content="DocBook XSL Stylesheets V1.77.1"><link rel="home" href="index.html" title="VFYSERV"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">VFYSERV</th></tr></table><hr></div><div class="refentry"><a name="vfyserv"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>vfyserv — TBD</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">vfyserv</code> </p></div></div><div class="refsection"><a name="idp188000"></a><h2>STATUS</h2><p>This documentation is still work in progress. Please contribute to the initial review in <a class="ulink" href="https://bugzilla.mozilla.org/show_bug.cgi?id=836477" target="_top">Mozilla NSS bug 836477</a>
</p></div><div class="refsection"><a name="description"></a><h2>Description</h2><p>The <span class="command"><strong>vfyserv </strong></span> tool verifies a certificate chain</p></div><div class="refsection"><a name="options"></a><h2>Options</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option"></code> <em class="replaceable"><code></code></em></span></dt><dd><p class="simpara"></p><p class="simpara"></p></dd></dl></div></div><div class="refsection"><a name="resources"></a><h2>Additional Resources</h2><p>For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at <a class="ulink" href="http://www.mozilla.org/projects/security/pki/nss/" target="_top">http://www.mozilla.org/projects/security/pki/nss/</a>. The NSS site relates directly to NSS code changes and releases.</p><p>Mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto</p><p>IRC: Freenode at #dogtag-pki</p></div><div class="refsection"><a name="authors"></a><h2>Authors</h2><p>The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun.</p><p>
Authors: Elio Maldonado &lt;emaldona@redhat.com&gt;, Deon Lackey &lt;dlackey@redhat.com&gt;.
</p></div><div class="refsection"><a name="license"></a><h2>LICENSE</h2><p>Licensed under the Mozilla Public License, version 1.1,
and/or the GNU General Public License, version 2 or later,
and/or the GNU Lesser General Public License, version 2.1 or later.
</p></div></div><div class="navfooter"><hr></div></body></html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,251 @@
'\" t
.\" Title: CMSUTIL
.\" Author: [see the "Authors" section]
.\" Generator: DocBook XSL Stylesheets v1.77.1 <http://docbook.sf.net/>
.\" Date: 15 February 2013
.\" Manual: NSS Security Tools
.\" Source: nss-tools
.\" Language: English
.\"
.TH "CMSUTIL" "1" "15 February 2013" "nss-tools" "NSS Security Tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
cmsutil \- Performs basic cryptograpic operations, such as encryption and decryption, on Cryptographic Message Syntax (CMS) messages\&.
.SH "SYNOPSIS"
.HP \w'\fBcmsutil\fR\ 'u
\fBcmsutil\fR [\fIoptions\fR] [[\fIarguments\fR]]
.SH "STATUS"
.PP
This documentation is still work in progress\&. Please contribute to the initial review in
\m[blue]\fBMozilla NSS bug 836477\fR\m[]\&\s-2\u[1]\d\s+2
.SH "DESCRIPTION"
.PP
The
\fBcmsutil\fR
command\-line uses the S/MIME Toolkit to perform basic operations, such as encryption and decryption, on Cryptographic Message Syntax (CMS) messages\&.
.PP
To run cmsutil, type the command cmsutil option [arguments] where option and arguments are combinations of the options and arguments listed in the following section\&. Each command takes one option\&. Each option may take zero or more arguments\&. To see a usage string, issue the command without options\&.
.SH "OPTIONS AND ARGUMENTS"
.PP
.PP
\fBOptions\fR
.PP
Options specify an action\&. Option arguments modify an action\&. The options and arguments for the cmsutil command are defined as follows:
.PP
\-D
.RS 4
Decode a message\&.
.RE
.PP
\-C
.RS 4
Encrypt a message\&.
.RE
.PP
\-E
.RS 4
Envelope a message\&.
.RE
.PP
\-O
.RS 4
Create a certificates\-only message\&.
.RE
.PP
\-S
.RS 4
Sign a message\&.
.RE
.PP
\fBArguments\fR
.PP
Option arguments modify an action and are lowercase\&.
.PP
\-c content
.RS 4
Use this detached content (decode only)\&.
.RE
.PP
\-d dbdir
.RS 4
Specify the key/certificate database directory (default is "\&.")
.RE
.PP
\-e envfile
.RS 4
Specify a file containing an enveloped message for a set of recipients to which you would like to send an encrypted message\&. If this is the first encrypted message for that set of recipients, a new enveloped message will be created that you can then use for future messages (encrypt only)\&.
.RE
.PP
\-G
.RS 4
Include a signing time attribute (sign only)\&.
.RE
.PP
\-h num
.RS 4
Generate email headers with info about CMS message (decode only)\&.
.RE
.PP
\-i infile
.RS 4
Use infile as a source of data (default is stdin)\&.
.RE
.PP
\-N nickname
.RS 4
Specify nickname of certificate to sign with (sign only)\&.
.RE
.PP
\-n
.RS 4
Suppress output of contents (decode only)\&.
.RE
.PP
\-o outfile
.RS 4
Use outfile as a destination of data (default is stdout)\&.
.RE
.PP
\-P
.RS 4
Include an S/MIME capabilities attribute\&.
.RE
.PP
\-p password
.RS 4
Use password as key database password\&.
.RE
.PP
\-r recipient1,recipient2, \&.\&.\&.
.RS 4
Specify list of recipients (email addresses) for an encrypted or enveloped message\&. For certificates\-only message, list of certificates to send\&.
.RE
.PP
\-T
.RS 4
Suppress content in CMS message (sign only)\&.
.RE
.PP
\-u certusage
.RS 4
Set type of cert usage (default is certUsageEmailSigner)\&.
.RE
.PP
\-Y ekprefnick
.RS 4
Specify an encryption key preference by nickname\&.
.RE
.SH "USAGE"
.PP
Encrypt Example
.sp
.if n \{\
.RS 4
.\}
.nf
cmsutil \-C [\-i infile] [\-o outfile] [\-d dbdir] [\-p password] \-r "recipient1,recipient2, \&. \&. \&." \-e envfile
.fi
.if n \{\
.RE
.\}
.PP
Decode Example
.sp
.if n \{\
.RS 4
.\}
.nf
cmsutil \-D [\-i infile] [\-o outfile] [\-d dbdir] [\-p password] [\-c content] [\-n] [\-h num]
.fi
.if n \{\
.RE
.\}
.PP
Envelope Example
.sp
.if n \{\
.RS 4
.\}
.nf
cmsutil \-E [\-i infile] [\-o outfile] [\-d dbdir] [\-p password] \-r "recipient1,recipient2, \&.\&.\&."
.fi
.if n \{\
.RE
.\}
.PP
Certificate\-only Example
.sp
.if n \{\
.RS 4
.\}
.nf
cmsutil \-O [\-i infile] [\-o outfile] [\-d dbdir] [\-p password] \-r "cert1,cert2, \&. \&. \&."
.fi
.if n \{\
.RE
.\}
.PP
Sign Message Example
.sp
.if n \{\
.RS 4
.\}
.nf
cmsutil \-S [\-i infile] [\-o outfile] [\-d dbdir] [\-p password] \-N nickname[\-TGP] [\-Y ekprefnick]
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.PP
certutil(1)
.SH "SEE ALSO"
.PP
.PP
.PP
.PP
.SH "ADDITIONAL RESOURCES"
.PP
For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at
\m[blue]\fBhttp://www\&.mozilla\&.org/projects/security/pki/nss/\fR\m[]\&. The NSS site relates directly to NSS code changes and releases\&.
.PP
Mailing lists: https://lists\&.mozilla\&.org/listinfo/dev\-tech\-crypto
.PP
IRC: Freenode at #dogtag\-pki
.SH "AUTHORS"
.PP
The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun\&.
.PP
Authors: Elio Maldonado <emaldona@redhat\&.com>, Deon Lackey <dlackey@redhat\&.com>\&.
.SH "LICENSE"
.PP
Licensed under the Mozilla Public License, version 1\&.1, and/or the GNU General Public License, version 2 or later, and/or the GNU Lesser General Public License, version 2\&.1 or later\&.
.SH "NOTES"
.IP " 1." 4
Mozilla NSS bug 836477
.RS 4
\%https://bugzilla.mozilla.org/show_bug.cgi?id=836477
.RE

View File

@ -0,0 +1,388 @@
'\" t
.\" Title: CRLUTIL
.\" Author: [see the "Authors" section]
.\" Generator: DocBook XSL Stylesheets v1.77.1 <http://docbook.sf.net/>
.\" Date: 15 February 2013
.\" Manual: NSS Security Tools
.\" Source: nss-tools
.\" Language: English
.\"
.TH "CRLUTIL" "1" "15 February 2013" "nss-tools" "NSS Security Tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
crlutil \- List, generate, modify, or delete CRLs within the NSS security database file(s) and list, create, modify or delete certificates entries in a particular CRL\&.
.SH "SYNOPSIS"
.HP \w'\fBcrlutil\fR\ 'u
\fBcrlutil\fR [\fIoptions\fR] [[\fIarguments\fR]]
.SH "STATUS"
.PP
This documentation is still work in progress\&. Please contribute to the initial review in
\m[blue]\fBMozilla NSS bug 836477\fR\m[]\&\s-2\u[1]\d\s+2
.SH "DESCRIPTION"
.PP
The Certificate Revocation List (CRL) Management Tool,
\fBcrlutil\fR, is a command\-line utility that can list, generate, modify, or delete CRLs within the NSS security database file(s) and list, create, modify or delete certificates entries in a particular CRL\&.
.PP
The key and certificate management process generally begins with creating keys in the key database, then generating and managing certificates in the certificate database(see certutil tool) and continues with certificates expiration or revocation\&.
.PP
This document discusses certificate revocation list management\&. For information on security module database management, see Using the Security Module Database Tool\&. For information on certificate and key database management, see Using the Certificate Database Tool\&.
.PP
To run the Certificate Revocation List Management Tool, type the command
.PP
crlutil option [arguments]
.PP
where options and arguments are combinations of the options and arguments listed in the following section\&. Each command takes one option\&. Each option may take zero or more arguments\&. To see a usage string, issue the command without options, or with the \-H option\&.
.SH "OPTIONS AND ARGUMENTS"
.PP
.PP
\fBOptions\fR
.PP
Options specify an action\&. Option arguments modify an action\&. The options and arguments for the crlutil command are defined as follows:
.PP
\-G
.RS 4
Create new Certificate Revocation List(CRL)\&.
.RE
.PP
\-D
.RS 4
Delete Certificate Revocation List from cert database\&.
.RE
.PP
\-I
.RS 4
Import a CRL to the cert database
.RE
.PP
\-E
.RS 4
Erase all CRLs of specified type from the cert database
.RE
.PP
\-L
.RS 4
List existing CRL located in cert database file\&.
.RE
.PP
\-S
.RS 4
Show contents of a CRL file which isn\*(Aqt stored in the database\&.
.RE
.PP
\-M
.RS 4
Modify existing CRL which can be located in cert db or in arbitrary file\&. If located in file it should be encoded in ASN\&.1 encode format\&.
.RE
.PP
\-G
.RS 4
.RE
.PP
\fBArguments\fR
.PP
Option arguments modify an action and are lowercase\&.
.PP
\-B
.RS 4
Bypass CA signature checks\&.
.RE
.PP
\-P dbprefix
.RS 4
Specify the prefix used on the NSS security database files (for example, my_cert8\&.db and my_key3\&.db)\&. This option is provided as a special case\&. Changing the names of the certificate and key databases is not recommended\&.
.RE
.PP
\-a
.RS 4
Use ASCII format or allow the use of ASCII format for input and output\&. This formatting follows RFC #1113\&.
.RE
.PP
\-c crl\-gen\-file
.RS 4
Specify script file that will be used to control crl generation/modification\&. See crl\-cript\-file format below\&. If options \-M|\-G is used and \-c crl\-script\-file is not specified, crlutil will read script data from standard input\&.
.RE
.PP
\-d directory
.RS 4
Specify the database directory containing the certificate and key database files\&. On Unix the Certificate Database Tool defaults to $HOME/\&.netscape (that is, ~/\&.netscape)\&. On Windows NT the default is the current directory\&.
.sp
The NSS database files must reside in the same directory\&.
.RE
.PP
\-i crl\-file
.RS 4
Specify the file which contains the CRL to import or show\&.
.RE
.PP
\-f password\-file
.RS 4
Specify a file that will automatically supply the password to include in a certificate or to access a certificate database\&. This is a plain\-text file containing one password\&. Be sure to prevent unauthorized access to this file\&.
.RE
.PP
\-l algorithm\-name
.RS 4
Specify a specific signature algorithm\&. List of possible algorithms: MD2 | MD4 | MD5 | SHA1 | SHA256 | SHA384 | SHA512
.RE
.PP
\-n nickname
.RS 4
Specify the nickname of a certificate or key to list, create, add to a database, modify, or validate\&. Bracket the nickname string with quotation marks if it contains spaces\&.
.RE
.PP
\-o output\-file
.RS 4
Specify the output file name for new CRL\&. Bracket the output\-file string with quotation marks if it contains spaces\&. If this argument is not used the output destination defaults to standard output\&.
.RE
.PP
\-t crl\-type
.RS 4
Specify type of CRL\&. possible types are: 0 \- SEC_KRL_TYPE, 1 \- SEC_CRL_TYPE\&. This option is obsolete
.RE
.PP
\-u url
.RS 4
Specify the url\&.
.RE
.SH "CRL GENERATION SCRIPT SYNTAX"
.PP
CRL generation script file has the following syntax:
.PP
* Line with comments should have # as a first symbol of a line
.PP
* Set "this update" or "next update" CRL fields:
.PP
update=YYYYMMDDhhmmssZ nextupdate=YYYYMMDDhhmmssZ
.PP
Field "next update" is optional\&. Time should be in GeneralizedTime format (YYYYMMDDhhmmssZ)\&. For example: 20050204153000Z
.PP
* Add an extension to a CRL or a crl certificate entry:
.PP
addext extension\-name critical/non\-critical [arg1[arg2 \&.\&.\&.]]
.PP
Where:
.PP
extension\-name: string value of a name of known extensions\&. critical/non\-critical: is 1 when extension is critical and 0 otherwise\&. arg1, arg2: specific to extension type extension parameters
.PP
addext uses the range that was set earlier by addcert and will install an extension to every cert entries within the range\&.
.PP
* Add certificate entries(s) to CRL:
.PP
addcert range date
.PP
range: two integer values separated by dash: range of certificates that will be added by this command\&. dash is used as a delimiter\&. Only one cert will be added if there is no delimiter\&. date: revocation date of a cert\&. Date should be represented in GeneralizedTime format (YYYYMMDDhhmmssZ)\&.
.PP
* Remove certificate entry(s) from CRL
.PP
rmcert range
.PP
Where:
.PP
range: two integer values separated by dash: range of certificates that will be added by this command\&. dash is used as a delimiter\&. Only one cert will be added if there is no delimiter\&.
.PP
* Change range of certificate entry(s) in CRL
.PP
range new\-range
.PP
Where:
.PP
new\-range: two integer values separated by dash: range of certificates that will be added by this command\&. dash is used as a delimiter\&. Only one cert will be added if there is no delimiter\&.
.PP
Implemented Extensions
.PP
The extensions defined for CRL provide methods for associating additional attributes with CRLs of theirs entries\&. For more information see RFC #3280
.PP
* Add The Authority Key Identifier extension:
.PP
The authority key identifier extension provides a means of identifying the public key corresponding to the private key used to sign a CRL\&.
.PP
authKeyId critical [key\-id | dn cert\-serial]
.PP
Where:
.PP
authKeyIdent: identifies the name of an extension critical: value of 1 of 0\&. Should be set to 1 if this extension is critical or 0 otherwise\&. key\-id: key identifier represented in octet string\&. dn:: is a CA distinguished name cert\-serial: authority certificate serial number\&.
.PP
* Add Issuer Alternative Name extension:
.PP
The issuer alternative names extension allows additional identities to be associated with the issuer of the CRL\&. Defined options include an rfc822 name (electronic mail address), a DNS name, an IP address, and a URI\&.
.PP
issuerAltNames non\-critical name\-list
.PP
Where:
.PP
subjAltNames: identifies the name of an extension should be set to 0 since this is non\-critical extension name\-list: comma separated list of names
.PP
* Add CRL Number extension:
.PP
The CRL number is a non\-critical CRL extension which conveys a monotonically increasing sequence number for a given CRL scope and CRL issuer\&. This extension allows users to easily determine when a particular CRL supersedes another CRL
.PP
crlNumber non\-critical number
.PP
Where:
.PP
crlNumber: identifies the name of an extension critical: should be set to 0 since this is non\-critical extension number: value of long which identifies the sequential number of a CRL\&.
.PP
* Add Revocation Reason Code extension:
.PP
The reasonCode is a non\-critical CRL entry extension that identifies the reason for the certificate revocation\&.
.PP
reasonCode non\-critical code
.PP
Where:
.PP
reasonCode: identifies the name of an extension non\-critical: should be set to 0 since this is non\-critical extension code: the following codes are available:
.PP
unspecified (0), keyCompromise (1), cACompromise (2), affiliationChanged (3), superseded (4), cessationOfOperation (5), certificateHold (6), removeFromCRL (8), privilegeWithdrawn (9), aACompromise (10)
.PP
* Add Invalidity Date extension:
.PP
The invalidity date is a non\-critical CRL entry extension that provides the date on which it is known or suspected that the private key was compromised or that the certificate otherwise became invalid\&.
.PP
invalidityDate non\-critical date
.PP
Where:
.PP
crlNumber: identifies the name of an extension non\-critical: should be set to 0 since this is non\-critical extension date: invalidity date of a cert\&. Date should be represented in GeneralizedTime format (YYYYMMDDhhmmssZ)\&.
.SH "USAGE"
.PP
The Certificate Revocation List Management Tool\*(Aqs capabilities are grouped as follows, using these combinations of options and arguments\&. Options and arguments in square brackets are optional, those without square brackets are required\&.
.PP
See "Implemented extensions" for more information regarding extensions and their parameters\&.
.PP
* Creating or modifying a CRL:
.sp
.if n \{\
.RS 4
.\}
.nf
crlutil \-G|\-M \-c crl\-gen\-file \-n nickname [\-i crl] [\-u url] [\-d keydir] [\-P dbprefix] [\-l alg] [\-a] [\-B]
.fi
.if n \{\
.RE
.\}
.PP
* Listing all CRls or a named CRL:
.sp
.if n \{\
.RS 4
.\}
.nf
crlutil \-L [\-n crl\-name] [\-d krydir]
.fi
.if n \{\
.RE
.\}
.PP
* Deleting CRL from db:
.sp
.if n \{\
.RS 4
.\}
.nf
crlutil \-D \-n nickname [\-d keydir] [\-P dbprefix]
.fi
.if n \{\
.RE
.\}
.PP
* Erasing CRLs from db:
.sp
.if n \{\
.RS 4
.\}
.nf
crlutil \-E [\-d keydir] [\-P dbprefix]
.fi
.if n \{\
.RE
.\}
.PP
* Deleting CRL from db:
.sp
.if n \{\
.RS 4
.\}
.nf
crlutil \-D \-n nickname [\-d keydir] [\-P dbprefix]
.fi
.if n \{\
.RE
.\}
.PP
* Erasing CRLs from db:
.sp
.if n \{\
.RS 4
.\}
.nf
crlutil \-E [\-d keydir] [\-P dbprefix]
.fi
.if n \{\
.RE
.\}
.PP
* Import CRL from file:
.sp
.if n \{\
.RS 4
.\}
.nf
crlutil \-I \-i crl [\-t crlType] [\-u url] [\-d keydir] [\-P dbprefix] [\-B]
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.PP
certutil(1)
.SH "SEE ALSO"
.PP
.PP
.PP
.PP
.SH "ADDITIONAL RESOURCES"
.PP
For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at
\m[blue]\fBhttp://www\&.mozilla\&.org/projects/security/pki/nss/\fR\m[]\&. The NSS site relates directly to NSS code changes and releases\&.
.PP
Mailing lists: https://lists\&.mozilla\&.org/listinfo/dev\-tech\-crypto
.PP
IRC: Freenode at #dogtag\-pki
.SH "AUTHORS"
.PP
The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun\&.
.PP
Authors: Elio Maldonado <emaldona@redhat\&.com>, Deon Lackey <dlackey@redhat\&.com>\&.
.SH "LICENSE"
.PP
Licensed under the Mozilla Public License, version 1\&.1, and/or the GNU General Public License, version 2 or later, and/or the GNU Lesser General Public License, version 2\&.1 or later\&.
.SH "NOTES"
.IP " 1." 4
Mozilla NSS bug 836477
.RS 4
\%https://bugzilla.mozilla.org/show_bug.cgi?id=836477
.RE

View File

@ -0,0 +1,92 @@
'\" t
.\" Title: DERDUMP
.\" Author: [see the "Authors" section]
.\" Generator: DocBook XSL Stylesheets v1.77.1 <http://docbook.sf.net/>
.\" Date: 15 February 2013
.\" Manual: NSS Security Tools
.\" Source: nss-tools
.\" Language: English
.\"
.TH "DERDUMP" "1" "15 February 2013" "nss-tools" "NSS Security Tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
derdump_ \- Dumps C\-sequence strings from a DER encoded certificate file
.SH "SYNOPSIS"
.HP \w'\fBderdump\fR\ 'u
\fBderdump\fR [\fB\-r\fR] [\fB\-i\ \fR\fB\fIinput\-file\fR\fR] [\fB\-o\ \fR\fB\fIoutput\-file\fR\fR]
.SH "STATUS"
.PP
This documentation is still work in progress\&. Please contribute to the initial review in
\m[blue]\fBMozilla NSS bug 836477\fR\m[]\&\s-2\u[1]\d\s+2
.SH "DESCRIPTION"
.PP
\fBderdump \fRdumps C\-sequence strings from a DER encode certificate file
.SH "OPTIONS"
.PP
\fB\-r \fR
.RS 4
For formatted items, dump raw bytes as well
.RE
.PP
\fB\-i \fR \fIDER encoded file\fR
.RS 4
Define an input file to use (default is stdin)
.RE
.PP
\fB\-o \fR \fIoutput file\fR
.RS 4
Define an output file to use (default is stdout)\&.
.RE
.SH "ADDITIONAL RESOURCES"
.PP
NSS is maintained in conjunction with PKI and security\-related projects through Mozilla dn Fedora\&. The most closely\-related project is Dogtag PKI, with a project wiki at
\m[blue]\fBPKI Wiki\fR\m[]\&\s-2\u[2]\d\s+2\&.
.PP
For information specifically about NSS, the NSS project wiki is located at
\m[blue]\fBMozilla NSS site\fR\m[]\&\s-2\u[3]\d\s+2\&. The NSS site relates directly to NSS code changes and releases\&.
.PP
Mailing lists: pki\-devel@redhat\&.com and pki\-users@redhat\&.com
.PP
IRC: Freenode at #dogtag\-pki
.SH "AUTHORS"
.PP
The NSS tools were written and maintained by developers with Netscape and now with Red Hat\&.
.PP
Authors: Gerhardus Geldenhuis <gerhardus\&.geldenhuis@gmail\&.com>\&. Elio Maldonado <emaldona@redhat\&.com>, Deon Lackey <dlackey@redhat\&.com>
.SH "LICENSE"
.PP
Licensed under the Mozilla Public License, version 1\&.1, and/or the GNU General Public License, version 2 or later, and/or the GNU Lesser General Public License, version 2\&.1 or later\&.
.SH "NOTES"
.IP " 1." 4
Mozilla NSS bug 836477
.RS 4
\%https://bugzilla.mozilla.org/show_bug.cgi?id=836477
.RE
.IP " 2." 4
PKI Wiki
.RS 4
\%http://pki.fedoraproject.org/wiki/
.RE
.IP " 3." 4
Mozilla NSS site
.RS 4
\%http://www.mozilla.org/projects/security/pki/nss/
.RE

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,98 @@
'\" t
.\" Title: PP
.\" Author: [see the "Authors" section]
.\" Generator: DocBook XSL Stylesheets v1.77.1 <http://docbook.sf.net/>
.\" Date: 15 February 2013
.\" Manual: NSS Security Tools
.\" Source: nss-tools
.\" Language: English
.\"
.TH "PP" "1" "15 February 2013" "nss-tools" "NSS Security Tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
pp \- Prints certificates, keys, crls, and pkcs7 files
.SH "SYNOPSIS"
.HP \w'\fBpp\ \-t\ type\ [\-a]\ [\-i\ input]\ [\-o\ output]\fR\ 'u
\fBpp \-t type [\-a] [\-i input] [\-o output]\fR
.SH "STATUS"
.PP
This documentation is still work in progress\&. Please contribute to the initial review in
\m[blue]\fBMozilla NSS bug 836477\fR\m[]\&\s-2\u[1]\d\s+2
.SH "DESCRIPTION"
.PP
\fBpp \fRpretty\-prints private and public key, certificate, certificate\-request, pkcs7 or crl files
.SH "OPTIONS"
.PP
\fB\-t \fR \fItype\fR
.RS 4
specify the input, one of {private\-key | public\-key | certificate | certificate\-request | pkcs7 | crl}
.sp
.RE
.PP
\fB\-a \fR
.RS 4
Input is in ascii encoded form (RFC1113)
.RE
.PP
\fB\-i \fR \fIinputfile\fR
.RS 4
Define an input file to use (default is stdin)
.RE
.PP
\fB\-u \fR \fIoutputfile\fR
.RS 4
Define an output file to use (default is stdout)
.RE
.SH "ADDITIONAL RESOURCES"
.PP
NSS is maintained in conjunction with PKI and security\-related projects through Mozilla dn Fedora\&. The most closely\-related project is Dogtag PKI, with a project wiki at
\m[blue]\fBPKI Wiki\fR\m[]\&\s-2\u[2]\d\s+2\&.
.PP
For information specifically about NSS, the NSS project wiki is located at
\m[blue]\fBMozilla NSS site\fR\m[]\&\s-2\u[3]\d\s+2\&. The NSS site relates directly to NSS code changes and releases\&.
.PP
Mailing lists: pki\-devel@redhat\&.com and pki\-users@redhat\&.com
.PP
IRC: Freenode at #dogtag\-pki
.SH "AUTHORS"
.PP
The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun\&.
.PP
Authors: Elio Maldonado <emaldona@redhat\&.com>, Deon Lackey <dlackey@redhat\&.com>\&.
.SH "LICENSE"
.PP
Licensed under the Mozilla Public License, version 1\&.1, and/or the GNU General Public License, version 2 or later, and/or the GNU Lesser General Public License, version 2\&.1 or later\&.
.SH "NOTES"
.IP " 1." 4
Mozilla NSS bug 836477
.RS 4
\%https://bugzilla.mozilla.org/show_bug.cgi?id=836477
.RE
.IP " 2." 4
PKI Wiki
.RS 4
\%http://pki.fedoraproject.org/wiki/
.RE
.IP " 3." 4
Mozilla NSS site
.RS 4
\%http://www.mozilla.org/projects/security/pki/nss/
.RE

View File

@ -0,0 +1,681 @@
'\" t
.\" Title: signtool
.\" Author: [see the "Authors" section]
.\" Generator: DocBook XSL Stylesheets v1.77.1 <http://docbook.sf.net/>
.\" Date: 15 February 2013
.\" Manual: NSS Security Tools
.\" Source: nss-tools
.\" Language: English
.\"
.TH "SIGNTOOL" "1" "15 February 2013" "nss-tools" "NSS Security Tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
signtool \- Digitally sign objects and files\&.
.SH "SYNOPSIS"
.HP \w'\fBsigntool\fR\ 'u
\fBsigntool\fR [\-k\ keyName] [[\-h]] [[\-H]] [[\-l]] [[\-L]] [[\-M]] [[\-v]] [[\-w]] [[\-G\ nickname]] [[\-\-keysize\ |\ \-s\ size]] [[\-b\ basename]] [[\-c\ Compression\ Level]] [[\-d\ cert\-dir]] [[\-i\ installer\ script]] [[\-m\ metafile]] [[\-x\ name]] [[\-f\ filename]] [[\-t|\-\-token\ tokenname]] [[\-e\ extension]] [[\-o]] [[\-z]] [[\-X]] [[\-\-outfile]] [[\-\-verbose\ value]] [[\-\-norecurse]] [[\-\-leavearc]] [[\-j\ directory]] [[\-Z\ jarfile]] [[\-O]] [[\-p\ password]] [directory\-tree] [archive]
.SH "STATUS"
.PP
This documentation is still work in progress\&. Please contribute to the initial review in
\m[blue]\fBMozilla NSS bug 836477\fR\m[]\&\s-2\u[1]\d\s+2
.SH "DESCRIPTION"
.PP
The Signing Tool,
\fBsigntool\fR, creates digital signatures and uses a Java Archive (JAR) file to associate the signatures with files in a directory\&. Electronic software distribution over any network involves potential security problems\&. To help address some of these problems, you can associate digital signatures with the files in a JAR archive\&. Digital signatures allow SSL\-enabled clients to perform two important operations:
.PP
* Confirm the identity of the individual, company, or other entity whose digital signature is associated with the files
.PP
* Check whether the files have been tampered with since being signed
.PP
If you have a signing certificate, you can use Netscape Signing Tool to digitally sign files and package them as a JAR file\&. An object\-signing certificate is a special kind of certificate that allows you to associate your digital signature with one or more files\&.
.PP
An individual file can potentially be signed with multiple digital signatures\&. For example, a commercial software developer might sign the files that constitute a software product to prove that the files are indeed from a particular company\&. A network administrator manager might sign the same files with an additional digital signature based on a company\-generated certificate to indicate that the product is approved for use within the company\&.
.PP
The significance of a digital signature is comparable to the significance of a handwritten signature\&. Once you have signed a file, it is difficult to claim later that you didn\*(Aqt sign it\&. In some situations, a digital signature may be considered as legally binding as a handwritten signature\&. Therefore, you should take great care to ensure that you can stand behind any file you sign and distribute\&.
.PP
For example, if you are a software developer, you should test your code to make sure it is virus\-free before signing it\&. Similarly, if you are a network administrator, you should make sure, before signing any code, that it comes from a reliable source and will run correctly with the software installed on the machines to which you are distributing it\&.
.PP
Before you can use Netscape Signing Tool to sign files, you must have an object\-signing certificate, which is a special certificate whose associated private key is used to create digital signatures\&. For testing purposes only, you can create an object\-signing certificate with Netscape Signing Tool 1\&.3\&. When testing is finished and you are ready to disitribute your software, you should obtain an object\-signing certificate from one of two kinds of sources:
.PP
* An independent certificate authority (CA) that authenticates your identity and charges you a fee\&. You typically get a certificate from an independent CA if you want to sign software that will be distributed over the Internet\&.
.PP
* CA server software running on your corporate intranet or extranet\&. Netscape Certificate Management System provides a complete management solution for creating, deploying, and managing certificates, including CAs that issue object\-signing certificates\&.
.PP
You must also have a certificate for the CA that issues your signing certificate before you can sign files\&. If the certificate authority\*(Aqs certificate isn\*(Aqt already installed in your copy of Communicator, you typically install it by clicking the appropriate link on the certificate authority\*(Aqs web site, for example on the page from which you initiated enrollment for your signing certificate\&. This is the case for some test certificates, as well as certificates issued by Netscape Certificate Management System: you must download the the CA certificate in addition to obtaining your own signing certificate\&. CA certificates for several certificate authorities are preinstalled in the Communicator certificate database\&.
.PP
When you receive an object\-signing certificate for your own use, it is automatically installed in your copy of the Communicator client software\&. Communicator supports the public\-key cryptography standard known as PKCS #12, which governs key portability\&. You can, for example, move an object\-signing certificate and its associated private key from one computer to another on a credit\-card\-sized device called a smart card\&.
.SH "OPTIONS"
.PP
\-b basename
.RS 4
Specifies the base filename for the \&.rsa and \&.sf files in the META\-INF directory to conform with the JAR format\&. For example,
\fI\-b signatures\fR
causes the files to be named signatures\&.rsa and signatures\&.sf\&. The default is signtool\&.
.RE
.PP
\-c#
.RS 4
Specifies the compression level for the \-J or \-Z option\&. The symbol # represents a number from 0 to 9, where 0 means no compression and 9 means maximum compression\&. The higher the level of compression, the smaller the output but the longer the operation takes\&. If the \-c# option is not used with either the \-J or the \-Z option, the default compression value used by both the \-J and \-Z options is 6\&.
.RE
.PP
\-d certdir
.RS 4
Specifies your certificate database directory; that is, the directory in which you placed your key3\&.db and cert7\&.db files\&. To specify the current directory, use "\-d\&." (including the period)\&. The Unix version of signtool assumes ~/\&.netscape unless told otherwise\&. The NT version of signtool always requires the use of the \-d option to specify where the database files are located\&.
.RE
.PP
\-e extension
.RS 4
Tells signtool to sign only files with the given extension; for example, use \-e"\&.class" to sign only Java class files\&. Note that with Netscape Signing Tool version 1\&.1 and later this option can appear multiple times on one command line, making it possible to specify multiple file types or classes to include\&.
.RE
.PP
\-f commandfile
.RS 4
Specifies a text file containing Netscape Signing Tool options and arguments in keyword=value format\&. All options and arguments can be expressed through this file\&. For more information about the syntax used with this file, see "Tips and Techniques"\&.
.RE
.PP
\-i scriptname
.RS 4
Specifies the name of an installer script for SmartUpdate\&. This script installs files from the JAR archive in the local system after SmartUpdate has validated the digital signature\&. For more details, see the description of \-m that follows\&. The \-i option provides a straightforward way to provide this information if you don\*(Aqt need to specify any metadata other than an installer script\&.
.RE
.PP
\-j directory
.RS 4
Specifies a special JavaScript directory\&. This option causes the specified directory to be signed and tags its entries as inline JavaScript\&. This special type of entry does not have to appear in the JAR file itself\&. Instead, it is located in the HTML page containing the inline scripts\&. When you use signtool \-v, these entries are displayed with the string NOT PRESENT\&.
.RE
.PP
\-k key \&.\&.\&. directory
.RS 4
Specifies the nickname (key) of the certificate you want to sign with and signs the files in the specified directory\&. The directory to sign is always specified as the last command\-line argument\&. Thus, it is possible to write signtool \-k MyCert \-d \&. signdir You may have trouble if the nickname contains a single quotation mark\&. To avoid problems, escape the quotation mark using the escape conventions for your platform\&. It\*(Aqs also possible to use the \-k option without signing any files or specifying a directory\&. For example, you can use it with the \-l option to get detailed information about a particular signing certificate\&.
.RE
.PP
\-G nickname
.RS 4
Generates a new private\-public key pair and corresponding object\-signing certificate with the given nickname\&. The newly generated keys and certificate are installed into the key and certificate databases in the directory specified by the \-d option\&. With the NT version of Netscape Signing Tool, you must use the \-d option with the \-G option\&. With the Unix version of Netscape Signing Tool, omitting the \-d option causes the tool to install the keys and certificate in the Communicator key and certificate databases\&. If you are installing the keys and certificate in the Communicator databases, you must exit Communicator before using this option; otherwise, you risk corrupting the databases\&. In all cases, the certificate is also output to a file named x509\&.cacert, which has the MIME\-type application/x\-x509\-ca\-cert\&. Unlike certificates normally used to sign finished code to be distributed over a network, a test certificate created with \-G is not signed by a recognized certificate authority\&. Instead, it is self\-signed\&. In addition, a single test signing certificate functions as both an object\-signing certificate and a CA\&. When you are using it to sign objects, it behaves like an object\-signing certificate\&. When it is imported into browser software such as Communicator, it behaves like an object\-signing CA and cannot be used to sign objects\&. The \-G option is available in Netscape Signing Tool 1\&.0 and later versions only\&. By default, it produces only RSA certificates with 1024\-byte keys in the internal token\&. However, you can use the \-s option specify the required key size and the \-t option to specify the token\&. For more information about the use of the \-G option, see "Generating Test Object\-Signing Certificates""Generating Test Object\-Signing Certificates" on page 1241\&.
.RE
.PP
\-l
.RS 4
Lists signing certificates, including issuing CAs\&. If any of your certificates are expired or invalid, the list will so specify\&. This option can be used with the \-k option to list detailed information about a particular signing certificate\&. The \-l option is available in Netscape Signing Tool 1\&.0 and later versions only\&.
.RE
.PP
\-J
.RS 4
Signs a directory of HTML files containing JavaScript and creates as many archive files as are specified in the HTML tags\&. Even if signtool creates more than one archive file, you need to supply the key database password only once\&. The \-J option is available only in Netscape Signing Tool 1\&.0 and later versions\&. The \-J option cannot be used at the same time as the \-Z option\&. If the \-c# option is not used with the \-J option, the default compression value is 6\&. Note that versions 1\&.1 and later of Netscape Signing Tool correctly recognizes the CODEBASE attribute, allows paths to be expressed for the CLASS and SRC attributes instead of filenames only, processes LINK tags and parses HTML correctly, and offers clearer error messages\&.
.RE
.PP
\-L
.RS 4
Lists the certificates in your database\&. An asterisk appears to the left of the nickname for any certificate that can be used to sign objects with signtool\&.
.RE
.PP
\-\-leavearc
.RS 4
Retains the temporary \&.arc (archive) directories that the \-J option creates\&. These directories are automatically erased by default\&. Retaining the temporary directories can be an aid to debugging\&.
.RE
.PP
\-m metafile
.RS 4
Specifies the name of a metadata control file\&. Metadata is signed information attached either to the JAR archive itself or to files within the archive\&. This metadata can be any ASCII string, but is used mainly for specifying an installer script\&. The metadata file contains one entry per line, each with three fields: field #1: file specification, or + if you want to specify global metadata (that is, metadata about the JAR archive itself or all entries in the archive) field #2: the name of the data you are specifying; for example: Install\-Script field #3: data corresponding to the name in field #2 For example, the \-i option uses the equivalent of this line: + Install\-Script: script\&.js This example associates a MIME type with a file: movie\&.qt MIME\-Type: video/quicktime For information about the way installer script information appears in the manifest file for a JAR archive, see The JAR Format on Netscape DevEdge\&.
.RE
.PP
\-M
.RS 4
Lists the PKCS #11 modules available to signtool, including smart cards\&. The \-M option is available in Netscape Signing Tool 1\&.0 and later versions only\&. For information on using Netscape Signing Tool with smart cards, see "Using Netscape Signing Tool with Smart Cards"\&. For information on using the \-M option to verify FIPS\-140\-1 validated mode, see "Netscape Signing Tool and FIPS\-140\-1"\&.
.RE
.PP
\-\-norecurse
.RS 4
Blocks recursion into subdirectories when signing a directory\*(Aqs contents or when parsing HTML\&.
.RE
.PP
\-o
.RS 4
Optimizes the archive for size\&. Use this only if you are signing very large archives containing hundreds of files\&. This option makes the manifest files (required by the JAR format) considerably smaller, but they contain slightly less information\&.
.RE
.PP
\-\-outfile outputfile
.RS 4
Specifies a file to receive redirected output from Netscape Signing Tool\&.
.RE
.PP
\-p password
.RS 4
Specifies a password for the private\-key database\&. Note that the password entered on the command line is displayed as plain text\&.
.RE
.PP
\-s keysize
.RS 4
Specifies the size of the key for generated certificate\&. Use the \-M option to find out what tokens are available\&. The \-s option can be used with the \-G option only\&.
.RE
.PP
\-t token
.RS 4
Specifies which available token should generate the key and receive the certificate\&. Use the \-M option to find out what tokens are available\&. The \-t option can be used with the \-G option only\&.
.RE
.PP
\-v archive
.RS 4
Displays the contents of an archive and verifies the cryptographic integrity of the digital signatures it contains and the files with which they are associated\&. This includes checking that the certificate for the issuer of the object\-signing certificate is listed in the certificate database, that the CA\*(Aqs digital signature on the object\-signing certificate is valid, that the relevant certificates have not expired, and so on\&.
.RE
.PP
\-\-verbosity value
.RS 4
Sets the quantity of information Netscape Signing Tool generates in operation\&. A value of 0 (zero) is the default and gives full information\&. A value of \-1 suppresses most messages, but not error messages\&.
.RE
.PP
\-w archive
.RS 4
Displays the names of signers of any files in the archive\&.
.RE
.PP
\-x directory
.RS 4
Excludes the specified directory from signing\&. Note that with Netscape Signing Tool version 1\&.1 and later this option can appear multiple times on one command line, making it possible to specify several particular directories to exclude\&.
.RE
.PP
\-z
.RS 4
Tells signtool not to store the signing time in the digital signature\&. This option is useful if you want the expiration date of the signature checked against the current date and time rather than the time the files were signed\&.
.RE
.PP
\-Z jarfile
.RS 4
Creates a JAR file with the specified name\&. You must specify this option if you want signtool to create the JAR file; it does not do so automatically\&. If you don\*(Aqt specify \-Z, you must use an external ZIP tool to create the JAR file\&. The \-Z option cannot be used at the same time as the \-J option\&. If the \-c# option is not used with the \-Z option, the default compression value is 6\&.
.RE
.SH "THE COMMAND FILE FORMAT"
.PP
Entries in a Netscape Signing Tool command file have this general format: keyword=value Everything before the = sign on a single line is a keyword, and everything from the = sign to the end of line is a value\&. The value may include = signs; only the first = sign on a line is interpreted\&. Blank lines are ignored, but white space on a line with keywords and values is assumed to be part of the keyword (if it comes before the equal sign) or part of the value (if it comes after the first equal sign)\&. Keywords are case insensitive, values are generally case sensitive\&. Since the = sign and newline delimit the value, it should not be quoted\&.
.PP
\fBSubsection\fR
.PP
basename
.RS 4
Same as \-b option\&.
.RE
.PP
compression
.RS 4
Same as \-c option\&.
.RE
.PP
certdir
.RS 4
Same as \-d option\&.
.RE
.PP
extension
.RS 4
Same as \-e option\&.
.RE
.PP
generate
.RS 4
Same as \-G option\&.
.RE
.PP
installscript
.RS 4
Same as \-i option\&.
.RE
.PP
javascriptdir
.RS 4
Same as \-j option\&.
.RE
.PP
htmldir
.RS 4
Same as \-J option\&.
.RE
.PP
certname
.RS 4
Nickname of certificate, as with \-k and \-l \-k options\&.
.RE
.PP
signdir
.RS 4
The directory to be signed, as with \-k option\&.
.RE
.PP
list
.RS 4
Same as \-l option\&. Value is ignored, but = sign must be present\&.
.RE
.PP
listall
.RS 4
Same as \-L option\&. Value is ignored, but = sign must be present\&.
.RE
.PP
metafile
.RS 4
Same as \-m option\&.
.RE
.PP
modules
.RS 4
Same as \-M option\&. Value is ignored, but = sign must be present\&.
.RE
.PP
optimize
.RS 4
Same as \-o option\&. Value is ignored, but = sign must be present\&.
.RE
.PP
password
.RS 4
Same as \-p option\&.
.RE
.PP
keysize
.RS 4
Same as \-s option\&.
.RE
.PP
token
.RS 4
Same as \-t option\&.
.RE
.PP
verify
.RS 4
Same as \-v option\&.
.RE
.PP
who
.RS 4
Same as \-w option\&.
.RE
.PP
exclude
.RS 4
Same as \-x option\&.
.RE
.PP
notime
.RS 4
Same as \-z option\&. value is ignored, but = sign must be present\&.
.RE
.PP
jarfile
.RS 4
Same as \-Z option\&.
.RE
.PP
outfile
.RS 4
Name of a file to which output and error messages will be redirected\&. This option has no command\-line equivalent\&.
.RE
.SH "EXTENDED EXAMPLES"
.PP
The following example will do this and that
.PP
\fBListing Available Signing Certificates\fR
.PP
You use the \-L option to list the nicknames for all available certificates and check which ones are signing certificates\&.
.sp
.if n \{\
.RS 4
.\}
.nf
signtool \-L
using certificate directory: /u/jsmith/\&.netscape
S Certificates
\- \-\-\-\-\-\-\-\-\-\-\-\-
BBN Certificate Services CA Root 1
IBM World Registry CA
VeriSign Class 1 CA \- Individual Subscriber \- VeriSign, Inc\&.
GTE CyberTrust Root CA
Uptime Group Plc\&. Class 4 CA
* Verisign Object Signing Cert
Integrion CA
GTE CyberTrust Secure Server CA
AT&T Directory Services
* test object signing cert
Uptime Group Plc\&. Class 1 CA
VeriSign Class 1 Primary CA
\- \-\-\-\-\-\-\-\-\-\-\-\-
Certificates that can be used to sign objects have *\*(Aqs to their left\&.
.fi
.if n \{\
.RE
.\}
.PP
Two signing certificates are displayed: Verisign Object Signing Cert and test object signing cert\&.
.PP
You use the \-l option to get a list of signing certificates only, including the signing CA for each\&.
.sp
.if n \{\
.RS 4
.\}
.nf
signtool \-l
using certificate directory: /u/jsmith/\&.netscape
Object signing certificates
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
Verisign Object Signing Cert
Issued by: VeriSign, Inc\&. \- Verisign, Inc\&.
Expires: Tue May 19, 1998
test object signing cert
Issued by: test object signing cert (Signtool 1\&.0 Testing
Certificate (960187691))
Expires: Sun May 17, 1998
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
.fi
.if n \{\
.RE
.\}
.PP
For a list including CAs, use the
\fB\-L\fR
option\&.
.PP
\fBSigning a File\fR
.PP
1\&. Create an empty directory\&.
.sp
.if n \{\
.RS 4
.\}
.nf
mkdir signdir
.fi
.if n \{\
.RE
.\}
.PP
2\&. Put some file into it\&.
.sp
.if n \{\
.RS 4
.\}
.nf
echo boo > signdir/test\&.f
.fi
.if n \{\
.RE
.\}
.PP
3\&. Specify the name of your object\-signing certificate and sign the directory\&.
.sp
.if n \{\
.RS 4
.\}
.nf
signtool \-k MySignCert \-Z testjar\&.jar signdir
using key "MySignCert"
using certificate directory: /u/jsmith/\&.netscape
Generating signdir/META\-INF/manifest\&.mf file\&.\&.
\-\-> test\&.f
adding signdir/test\&.f to testjar\&.jar
Generating signtool\&.sf file\&.\&.
Enter Password or Pin for "Communicator Certificate DB":
adding signdir/META\-INF/manifest\&.mf to testjar\&.jar
adding signdir/META\-INF/signtool\&.sf to testjar\&.jar
adding signdir/META\-INF/signtool\&.rsa to testjar\&.jar
tree "signdir" signed successfully
.fi
.if n \{\
.RE
.\}
.PP
4\&. Test the archive you just created\&.
.sp
.if n \{\
.RS 4
.\}
.nf
signtool \-v testjar\&.jar
using certificate directory: /u/jsmith/\&.netscape
archive "testjar\&.jar" has passed crypto verification\&.
status path
\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
verified test\&.f
.fi
.if n \{\
.RE
.\}
.PP
\fBUsing Netscape Signing Tool with a ZIP Utility\fR
.PP
To use Netscape Signing Tool with a ZIP utility, you must have the utility in your path environment variable\&. You should use the zip\&.exe utility rather than pkzip\&.exe, which cannot handle long filenames\&. You can use a ZIP utility instead of the \-Z option to package a signed archive into a JAR file after you have signed it:
.sp
.if n \{\
.RS 4
.\}
.nf
cd signdir
zip \-r \&.\&./myjar\&.jar *
adding: META\-INF/ (stored 0%)
adding: META\-INF/manifest\&.mf (deflated 15%)
adding: META\-INF/signtool\&.sf (deflated 28%)
adding: META\-INF/signtool\&.rsa (stored 0%)
adding: text\&.txt (stored 0%)
.fi
.if n \{\
.RE
.\}
.PP
\fBGenerating the Keys and Certificate\fR
.PP
The signtool option \-G generates a new public\-private key pair and certificate\&. It takes the nickname of the new certificate as an argument\&. The newly generated keys and certificate are installed into the key and certificate databases in the directory specified by the \-d option\&. With the NT version of Netscape Signing Tool, you must use the \-d option with the \-G option\&. With the Unix version of Netscape Signing Tool, omitting the \-d option causes the tool to install the keys and certificate in the Communicator key and certificate databases\&. In all cases, the certificate is also output to a file named x509\&.cacert, which has the MIME\-type application/x\-x509\-ca\-cert\&.
.PP
Certificates contain standard information about the entity they identify, such as the common name and organization name\&. Netscape Signing Tool prompts you for this information when you run the command with the \-G option\&. However, all of the requested fields are optional for test certificates\&. If you do not enter a common name, the tool provides a default name\&. In the following example, the user input is in boldface:
.sp
.if n \{\
.RS 4
.\}
.nf
signtool \-G MyTestCert
using certificate directory: /u/someuser/\&.netscape
Enter certificate information\&. All fields are optional\&. Acceptable
characters are numbers, letters, spaces, and apostrophes\&.
certificate common name: Test Object Signing Certificate
organization: Netscape Communications Corp\&.
organization unit: Server Products Division
state or province: California
country (must be exactly 2 characters): US
username: someuser
email address: someuser@netscape\&.com
Enter Password or Pin for "Communicator Certificate DB": [Password will not echo]
generated public/private key pair
certificate request generated
certificate has been signed
certificate "MyTestCert" added to database
Exported certificate to x509\&.raw and x509\&.cacert\&.
.fi
.if n \{\
.RE
.\}
.PP
The certificate information is read from standard input\&. Therefore, the information can be read from a file using the redirection operator (<) in some operating systems\&. To create a file for this purpose, enter each of the seven input fields, in order, on a separate line\&. Make sure there is a newline character at the end of the last line\&. Then run signtool with standard input redirected from your file as follows:
.sp
.if n \{\
.RS 4
.\}
.nf
signtool \-G MyTestCert inputfile
.fi
.if n \{\
.RE
.\}
.PP
The prompts show up on the screen, but the responses will be automatically read from the file\&. The password will still be read from the console unless you use the \-p option to give the password on the command line\&.
.PP
\fBUsing the \-M Option to List Smart Cards\fR
.PP
You can use the \-M option to list the PKCS #11 modules, including smart cards, that are available to signtool:
.sp
.if n \{\
.RS 4
.\}
.nf
signtool \-d "c:\enetscape\eusers\ejsmith" \-M
using certificate directory: c:\enetscape\eusers\eusername
Listing of PKCS11 modules
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
1\&. Netscape Internal PKCS #11 Module
(this module is internally loaded)
slots: 2 slots attached
status: loaded
slot: Communicator Internal Cryptographic Services Version 4\&.0
token: Communicator Generic Crypto Svcs
slot: Communicator User Private Key and Certificate Services
token: Communicator Certificate DB
2\&. CryptOS
(this is an external module)
DLL name: core32
slots: 1 slots attached
status: loaded
slot: Litronic 210
token:
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
.fi
.if n \{\
.RE
.\}
.PP
\fBUsing Netscape Signing Tool and a Smart Card to Sign Files\fR
.PP
The signtool command normally takes an argument of the \-k option to specify a signing certificate\&. To sign with a smart card, you supply only the fully qualified name of the certificate\&.
.PP
To see fully qualified certificate names when you run Communicator, click the Security button in Navigator, then click Yours under Certificates in the left frame\&. Fully qualified names are of the format smart card:certificate, for example "MyCard:My Signing Cert"\&. You use this name with the \-k argument as follows:
.sp
.if n \{\
.RS 4
.\}
.nf
signtool \-k "MyCard:My Signing Cert" directory
.fi
.if n \{\
.RE
.\}
.PP
\fBVerifying FIPS Mode\fR
.PP
Use the \-M option to verify that you are using the FIPS\-140\-1 module\&.
.sp
.if n \{\
.RS 4
.\}
.nf
signtool \-d "c:\enetscape\eusers\ejsmith" \-M
using certificate directory: c:\enetscape\eusers\ejsmith
Listing of PKCS11 modules
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
1\&. Netscape Internal PKCS #11 Module
(this module is internally loaded)
slots: 2 slots attached
status: loaded
slot: Communicator Internal Cryptographic Services Version 4\&.0
token: Communicator Generic Crypto Svcs
slot: Communicator User Private Key and Certificate Services
token: Communicator Certificate DB
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
.fi
.if n \{\
.RE
.\}
.PP
This Unix example shows that Netscape Signing Tool is using a FIPS\-140\-1 module:
.sp
.if n \{\
.RS 4
.\}
.nf
signtool \-d "c:\enetscape\eusers\ejsmith" \-M
using certificate directory: c:\enetscape\eusers\ejsmith
Enter Password or Pin for "Communicator Certificate DB": [password will not echo]
Listing of PKCS11 modules
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
1\&. Netscape Internal FIPS PKCS #11 Module
(this module is internally loaded)
slots: 1 slots attached
status: loaded
slot: Netscape Internal FIPS\-140\-1 Cryptographic Services
token: Communicator Certificate DB
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.PP
signver (1)
.PP
The NSS wiki has information on the new database design and how to configure applications to use it\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
https://wiki\&.mozilla\&.org/NSS_Shared_DB_Howto
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
https://wiki\&.mozilla\&.org/NSS_Shared_DB
.RE
.SH "ADDITIONAL RESOURCES"
.PP
For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at
\m[blue]\fBhttp://www\&.mozilla\&.org/projects/security/pki/nss/\fR\m[]\&. The NSS site relates directly to NSS code changes and releases\&.
.PP
Mailing lists: https://lists\&.mozilla\&.org/listinfo/dev\-tech\-crypto
.PP
IRC: Freenode at #dogtag\-pki
.SH "AUTHORS"
.PP
The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun\&.
.PP
Authors: Elio Maldonado <emaldona@redhat\&.com>, Deon Lackey <dlackey@redhat\&.com>\&.
.SH "LICENSE"
.PP
Licensed under the Mozilla Public License, version 1\&.1, and/or the GNU General Public License, version 2 or later, and/or the GNU Lesser General Public License, version 2\&.1 or later\&.
.SH "NOTES"
.IP " 1." 4
Mozilla NSS bug 836477
.RS 4
\%https://bugzilla.mozilla.org/show_bug.cgi?id=836477
.RE

View File

@ -0,0 +1,320 @@
'\" t
.\" Title: SIGNVER
.\" Author: [see the "Authors" section]
.\" Generator: DocBook XSL Stylesheets v1.77.1 <http://docbook.sf.net/>
.\" Date: 15 February 2013
.\" Manual: NSS Security Tools
.\" Source: nss-tools
.\" Language: English
.\"
.TH "SIGNVER" "1" "15 February 2013" "nss-tools" "NSS Security Tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
signver \- Verify a detached PKCS#7 signature for a file\&.
.SH "SYNOPSIS"
.HP \w'\fBsigntool\fR\ 'u
\fBsigntool\fR \-A | \-V \-d\ \fIdirectory\fR [\-a] [\-i\ \fIinput_file\fR] [\-o\ \fIoutput_file\fR] [\-s\ \fIsignature_file\fR] [\-v]
.SH "STATUS"
.PP
This documentation is still work in progress\&. Please contribute to the initial review in
\m[blue]\fBMozilla NSS bug 836477\fR\m[]\&\s-2\u[1]\d\s+2
.SH "DESCRIPTION"
.PP
The Signature Verification Tool,
\fBsignver\fR, is a simple command\-line utility that unpacks a base\-64\-encoded PKCS#7 signed object and verifies the digital signature using standard cryptographic techniques\&. The Signature Verification Tool can also display the contents of the signed object\&.
.SH "OPTIONS"
.PP
\-A
.RS 4
Displays all of the information in the PKCS#7 signature\&.
.RE
.PP
\-V
.RS 4
Verifies the digital signature\&.
.RE
.PP
\-d [sql:]\fIdirectory\fR
.RS 4
Specify the database directory which contains the certificates and keys\&.
.sp
\fBsignver\fR
supports two types of databases: the legacy security databases (cert8\&.db,
key3\&.db, and
secmod\&.db) and new SQLite databases (cert9\&.db,
key4\&.db, and
pkcs11\&.txt)\&. If the prefix
\fBsql:\fR
is not used, then the tool assumes that the given databases are in the old format\&.
.RE
.PP
\-a
.RS 4
Sets that the given signature file is in ASCII format\&.
.RE
.PP
\-i \fIinput_file\fR
.RS 4
Gives the input file for the object with signed data\&.
.RE
.PP
\-o \fIoutput_file\fR
.RS 4
Gives the output file to which to write the results\&.
.RE
.PP
\-s \fIsignature_file\fR
.RS 4
Gives the input file for the digital signature\&.
.RE
.PP
\-v
.RS 4
Enables verbose output\&.
.RE
.SH "EXTENDED EXAMPLES"
.SS "Verifying a Signature"
.PP
The
\fB\-V\fR
option verifies that the signature in a given signature file is valid when used to sign the given object (from the input file)\&.
.sp
.if n \{\
.RS 4
.\}
.nf
signver \-V \-s \fIsignature_file\fR \-i \fIsigned_file\fR \-d sql:/home/my/sharednssdb
signatureValid=yes
.fi
.if n \{\
.RE
.\}
.SS "Printing Signature Data"
.PP
The
\fB\-A\fR
option prints all of the information contained in a signature file\&. Using the
\fB\-o\fR
option prints the signature file information to the given output file rather than stdout\&.
.sp
.if n \{\
.RS 4
.\}
.nf
signver \-A \-s \fIsignature_file\fR \-o \fIoutput_file\fR
.fi
.if n \{\
.RE
.\}
.SH "NSS DATABASE TYPES"
.PP
NSS originally used BerkeleyDB databases to store security information\&. The last versions of these
\fIlegacy\fR
databases are:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
cert8\&.db for certificates
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
key3\&.db for keys
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
secmod\&.db for PKCS #11 module information
.RE
.PP
BerkeleyDB has performance limitations, though, which prevent it from being easily used by multiple applications simultaneously\&. NSS has some flexibility that allows applications to use their own, independent database engine while keeping a shared database and working around the access issues\&. Still, NSS requires more flexibility to provide a truly shared security database\&.
.PP
In 2009, NSS introduced a new set of databases that are SQLite databases rather than BerkleyDB\&. These new databases provide more accessibility and performance:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
cert9\&.db for certificates
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
key4\&.db for keys
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
pkcs11\&.txt, which is listing of all of the PKCS #11 modules contained in a new subdirectory in the security databases directory
.RE
.PP
Because the SQLite databases are designed to be shared, these are the
\fIshared\fR
database type\&. The shared database type is preferred; the legacy format is included for backward compatibility\&.
.PP
By default, the tools (\fBcertutil\fR,
\fBpk12util\fR,
\fBmodutil\fR) assume that the given security databases follow the more common legacy type\&. Using the SQLite databases must be manually specified by using the
\fBsql:\fR
prefix with the given security directory\&. For example:
.sp
.if n \{\
.RS 4
.\}
.nf
# signver \-A \-s \fIsignature\fR \-d sql:/home/my/sharednssdb
.fi
.if n \{\
.RE
.\}
.PP
To set the shared database type as the default type for the tools, set the
\fBNSS_DEFAULT_DB_TYPE\fR
environment variable to
\fBsql\fR:
.sp
.if n \{\
.RS 4
.\}
.nf
export NSS_DEFAULT_DB_TYPE="sql"
.fi
.if n \{\
.RE
.\}
.PP
This line can be set added to the
~/\&.bashrc
file to make the change permanent\&.
.PP
Most applications do not use the shared database by default, but they can be configured to use them\&. For example, this how\-to article covers how to configure Firefox and Thunderbird to use the new shared NSS databases:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
https://wiki\&.mozilla\&.org/NSS_Shared_DB_Howto
.RE
.PP
For an engineering draft on the changes in the shared NSS databases, see the NSS project wiki:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
https://wiki\&.mozilla\&.org/NSS_Shared_DB
.RE
.SH "SEE ALSO"
.PP
signtool (1)
.PP
The NSS wiki has information on the new database design and how to configure applications to use it\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Setting up the shared NSS database
.sp
https://wiki\&.mozilla\&.org/NSS_Shared_DB_Howto
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Engineering and technical information about the shared NSS database
.sp
https://wiki\&.mozilla\&.org/NSS_Shared_DB
.RE
.SH "ADDITIONAL RESOURCES"
.PP
For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at
\m[blue]\fBhttp://www\&.mozilla\&.org/projects/security/pki/nss/\fR\m[]\&. The NSS site relates directly to NSS code changes and releases\&.
.PP
Mailing lists: https://lists\&.mozilla\&.org/listinfo/dev\-tech\-crypto
.PP
IRC: Freenode at #dogtag\-pki
.SH "AUTHORS"
.PP
The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun\&.
.PP
Authors: Elio Maldonado <emaldona@redhat\&.com>, Deon Lackey <dlackey@redhat\&.com>\&.
.SH "LICENSE"
.PP
Licensed under the Mozilla Public License, version 1\&.1, and/or the GNU General Public License, version 2 or later, and/or the GNU Lesser General Public License, version 2\&.1 or later\&.
.SH "NOTES"
.IP " 1." 4
Mozilla NSS bug 836477
.RS 4
\%https://bugzilla.mozilla.org/show_bug.cgi?id=836477
.RE

View File

@ -0,0 +1,609 @@
'\" t
.\" Title: SSLTAP
.\" Author: [see the "Authors" section]
.\" Generator: DocBook XSL Stylesheets v1.77.1 <http://docbook.sf.net/>
.\" Date: 15 February 2013
.\" Manual: NSS Security Tools
.\" Source: nss-tools
.\" Language: English
.\"
.TH "SSLTAP" "1" "15 February 2013" "nss-tools" "NSS Security Tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
ssltap \- Tap into SSL connections and display the data going by
.SH "SYNOPSIS"
.HP \w'\fBlibssltap\fR\ 'u
\fBlibssltap\fR [\-vhfsxl] [\-p\ port] [hostname:port]
.SH "STATUS"
.PP
This documentation is still work in progress\&. Please contribute to the initial review in
\m[blue]\fBMozilla NSS bug 836477\fR\m[]\&\s-2\u[1]\d\s+2
.SH "DESCRIPTION"
.PP
The SSL Debugging Tool
\fBssltap\fR
is an SSL\-aware command\-line proxy\&. It watches TCP connections and displays the data going by\&. If a connection is SSL, the data display includes interpreted SSL records and handshaking
.SH "OPTIONS"
.PP
\-v
.RS 4
Print a version string for the tool\&.
.RE
.PP
\-h
.RS 4
Turn on hex/ASCII printing\&. Instead of outputting raw data, the command interprets each record as a numbered line of hex values, followed by the same data as ASCII characters\&. The two parts are separated by a vertical bar\&. Nonprinting characters are replaced by dots\&.
.RE
.PP
\-f
.RS 4
Turn on fancy printing\&. Output is printed in colored HTML\&. Data sent from the client to the server is in blue; the server\*(Aqs reply is in red\&. When used with looping mode, the different connections are separated with horizontal lines\&. You can use this option to upload the output into a browser\&.
.RE
.PP
\-s
.RS 4
Turn on SSL parsing and decoding\&. The tool does not automatically detect SSL sessions\&. If you are intercepting an SSL connection, use this option so that the tool can detect and decode SSL structures\&.
.sp
If the tool detects a certificate chain, it saves the DER\-encoded certificates into files in the current directory\&. The files are named cert\&.0x, where x is the sequence number of the certificate\&.
.sp
If the \-s option is used with \-h, two separate parts are printed for each record: the plain hex/ASCII output, and the parsed SSL output\&.
.RE
.PP
\-x
.RS 4
Turn on hex/ASCII printing of undecoded data inside parsed SSL records\&. Used only with the \-s option\&. This option uses the same output format as the \-h option\&.
.RE
.PP
\-l prefix
.RS 4
Turn on looping; that is, continue to accept connections rather than stopping after the first connection is complete\&.
.RE
.PP
\-p port
.RS 4
Change the default rendezvous port (1924) to another port\&.
.sp
The following are well\-known port numbers:
.sp
* HTTP 80
.sp
* HTTPS 443
.sp
* SMTP 25
.sp
* FTP 21
.sp
* IMAP 143
.sp
* IMAPS 993 (IMAP over SSL)
.sp
* NNTP 119
.sp
* NNTPS 563 (NNTP over SSL)
.RE
.SH "USAGE AND EXAMPLES"
.PP
You can use the SSL Debugging Tool to intercept any connection information\&. Although you can run the tool at its most basic by issuing the ssltap command with no options other than hostname:port, the information you get in this way is not very useful\&. For example, assume your development machine is called intercept\&. The simplest way to use the debugging tool is to execute the following command from a command shell:
.sp
.if n \{\
.RS 4
.\}
.nf
$ ssltap www\&.netscape\&.com
.fi
.if n \{\
.RE
.\}
.PP
The program waits for an incoming connection on the default port 1924\&. In your browser window, enter the URL http://intercept:1924\&. The browser retrieves the requested page from the server at www\&.netscape\&.com, but the page is intercepted and passed on to the browser by the debugging tool on intercept\&. On its way to the browser, the data is printed to the command shell from which you issued the command\&. Data sent from the client to the server is surrounded by the following symbols: \-\-> [ data ] Data sent from the server to the client is surrounded by the following symbols: "left arrow"\-\- [ data ] The raw data stream is sent to standard output and is not interpreted in any way\&. This can result in peculiar effects, such as sounds, flashes, and even crashes of the command shell window\&. To output a basic, printable interpretation of the data, use the \-h option, or, if you are looking at an SSL connection, the \-s option\&. You will notice that the page you retrieved looks incomplete in the browser\&. This is because, by default, the tool closes down after the first connection is complete, so the browser is not able to load images\&. To make the tool continue to accept connections, switch on looping mode with the \-l option\&. The following examples show the output from commonly used combinations of options\&.
.PP
Example 1
.sp
.if n \{\
.RS 4
.\}
.nf
$ ssltap\&.exe \-sx \-p 444 interzone\&.mcom\&.com:443 > sx\&.txt
.fi
.if n \{\
.RE
.\}
.PP
Output
.sp
.if n \{\
.RS 4
.\}
.nf
Connected to interzone\&.mcom\&.com:443
\-\->; [
alloclen = 66 bytes
[ssl2] ClientHelloV2 {
version = {0x03, 0x00}
cipher\-specs\-length = 39 (0x27)
sid\-length = 0 (0x00)
challenge\-length = 16 (0x10)
cipher\-suites = {
(0x010080) SSL2/RSA/RC4\-128/MD5
(0x020080) SSL2/RSA/RC4\-40/MD5
(0x030080) SSL2/RSA/RC2CBC128/MD5
(0x040080) SSL2/RSA/RC2CBC40/MD5
(0x060040) SSL2/RSA/DES64CBC/MD5
(0x0700c0) SSL2/RSA/3DES192EDE\-CBC/MD5
(0x000004) SSL3/RSA/RC4\-128/MD5
(0x00ffe0) SSL3/RSA\-FIPS/3DES192EDE\-CBC/SHA
(0x00000a) SSL3/RSA/3DES192EDE\-CBC/SHA
(0x00ffe1) SSL3/RSA\-FIPS/DES64CBC/SHA
(0x000009) SSL3/RSA/DES64CBC/SHA
(0x000003) SSL3/RSA/RC4\-40/MD5
(0x000006) SSL3/RSA/RC2CBC40/MD5
}
session\-id = { }
challenge = { 0xec5d 0x8edb 0x37c9 0xb5c9 0x7b70 0x8fe9 0xd1d3
0x2592 }
}
]
<\-\- [
SSLRecord {
0: 16 03 00 03 e5 |\&.\&.\&.\&.\&.
type = 22 (handshake)
version = { 3,0 }
length = 997 (0x3e5)
handshake {
0: 02 00 00 46 |\&.\&.\&.F
type = 2 (server_hello)
length = 70 (0x000046)
ServerHello {
server_version = {3, 0}
random = {\&.\&.\&.}
0: 77 8c 6e 26 6c 0c ec c0 d9 58 4f 47 d3 2d 01 45 |
wn&l\&.\(`i\&.\&.XOG\&.\-\&.E
10: 5c 17 75 43 a7 4c 88 c7 88 64 3c 50 41 48 4f 7f |
\e\&.uC\(scL\&.\(,C\&.d<PAHO\&.
session ID = {
length = 32
contents = {\&.\&.}
0: 14 11 07 a8 2a 31 91 29 11 94 40 37 57 10 a7 32 | \&.\&.\&.\(ad*1\&.)\&.\&.@7W\&.\(sc2
10: 56 6f 52 62 fe 3d b3 65 b1 e4 13 0f 52 a3 c8 f6 | VoRb\(Tp=\(S3e\(+-\&.\&.\&.R\(Po\(`E\&.
}
cipher_suite = (0x0003) SSL3/RSA/RC4\-40/MD5
}
0: 0b 00 02 c5 |\&.\&.\&.\(oA
type = 11 (certificate)
length = 709 (0x0002c5)
CertificateChain {
chainlength = 706 (0x02c2)
Certificate {
size = 703 (0x02bf)
data = { saved in file \*(Aqcert\&.001\*(Aq }
}
}
0: 0c 00 00 ca |\&.\&.\&.\&.
type = 12 (server_key_exchange)
length = 202 (0x0000ca)
0: 0e 00 00 00 |\&.\&.\&.\&.
type = 14 (server_hello_done)
length = 0 (0x000000)
}
}
]
\-\-> [
SSLRecord {
0: 16 03 00 00 44 |\&.\&.\&.\&.D
type = 22 (handshake)
version = { 3,0 }
length = 68 (0x44)
handshake {
0: 10 00 00 40 |\&.\&.\&.@
type = 16 (client_key_exchange)
length = 64 (0x000040)
ClientKeyExchange {
message = {\&.\&.\&.}
}
}
}
]
\-\-> [
SSLRecord {
0: 14 03 00 00 01 |\&.\&.\&.\&.\&.
type = 20 (change_cipher_spec)
version = { 3,0 }
length = 1 (0x1)
0: 01 |\&.
}
SSLRecord {
0: 16 03 00 00 38 |\&.\&.\&.\&.8
type = 22 (handshake)
version = { 3,0 }
length = 56 (0x38)
< encrypted >
}
]
<\-\- [
SSLRecord {
0: 14 03 00 00 01 |\&.\&.\&.\&.\&.
type = 20 (change_cipher_spec)
version = { 3,0 }
length = 1 (0x1)
0: 01 |\&.
}
]
<\-\- [
SSLRecord {
0: 16 03 00 00 38 |\&.\&.\&.\&.8
type = 22 (handshake)
version = { 3,0 }
length = 56 (0x38)
< encrypted >
}
]
\-\-> [
SSLRecord {
0: 17 03 00 01 1f |\&.\&.\&.\&.\&.
type = 23 (application_data)
version = { 3,0 }
length = 287 (0x11f)
< encrypted >
}
]
<\-\- [
SSLRecord {
0: 17 03 00 00 a0 |\&.\&.\&.\&.
type = 23 (application_data)
version = { 3,0 }
length = 160 (0xa0)
< encrypted >
}
]
<\-\- [
SSLRecord {
0: 17 03 00 00 df |\&.\&.\&.\&.\(ss
type = 23 (application_data)
version = { 3,0 }
length = 223 (0xdf)
< encrypted >
}
SSLRecord {
0: 15 03 00 00 12 |\&.\&.\&.\&.\&.
type = 21 (alert)
version = { 3,0 }
length = 18 (0x12)
< encrypted >
}
]
Server socket closed\&.
.fi
.if n \{\
.RE
.\}
.PP
Example 2
.PP
The \-s option turns on SSL parsing\&. Because the \-x option is not used in this example, undecoded values are output as raw data\&. The output is routed to a text file\&.
.sp
.if n \{\
.RS 4
.\}
.nf
$ ssltap \-s \-p 444 interzone\&.mcom\&.com:443 > s\&.txt
.fi
.if n \{\
.RE
.\}
.PP
Output
.sp
.if n \{\
.RS 4
.\}
.nf
Connected to interzone\&.mcom\&.com:443
\-\-> [
alloclen = 63 bytes
[ssl2] ClientHelloV2 {
version = {0x03, 0x00}
cipher\-specs\-length = 36 (0x24)
sid\-length = 0 (0x00)
challenge\-length = 16 (0x10)
cipher\-suites = {
(0x010080) SSL2/RSA/RC4\-128/MD5
(0x020080) SSL2/RSA/RC4\-40/MD5
(0x030080) SSL2/RSA/RC2CBC128/MD5
(0x060040) SSL2/RSA/DES64CBC/MD5
(0x0700c0) SSL2/RSA/3DES192EDE\-CBC/MD5
(0x000004) SSL3/RSA/RC4\-128/MD5
(0x00ffe0) SSL3/RSA\-FIPS/3DES192EDE\-CBC/SHA
(0x00000a) SSL3/RSA/3DES192EDE\-CBC/SHA
(0x00ffe1) SSL3/RSA\-FIPS/DES64CBC/SHA
(0x000009) SSL3/RSA/DES64CBC/SHA
(0x000003) SSL3/RSA/RC4\-40/MD5
}
session\-id = { }
challenge = { 0x713c 0x9338 0x30e1 0xf8d6 0xb934 0x7351 0x200c
0x3fd0 }
]
>\-\- [
SSLRecord {
type = 22 (handshake)
version = { 3,0 }
length = 997 (0x3e5)
handshake {
type = 2 (server_hello)
length = 70 (0x000046)
ServerHello {
server_version = {3, 0}
random = {\&.\&.\&.}
session ID = {
length = 32
contents = {\&.\&.}
}
cipher_suite = (0x0003) SSL3/RSA/RC4\-40/MD5
}
type = 11 (certificate)
length = 709 (0x0002c5)
CertificateChain {
chainlength = 706 (0x02c2)
Certificate {
size = 703 (0x02bf)
data = { saved in file \*(Aqcert\&.001\*(Aq }
}
}
type = 12 (server_key_exchange)
length = 202 (0x0000ca)
type = 14 (server_hello_done)
length = 0 (0x000000)
}
}
]
\-\-> [
SSLRecord {
type = 22 (handshake)
version = { 3,0 }
length = 68 (0x44)
handshake {
type = 16 (client_key_exchange)
length = 64 (0x000040)
ClientKeyExchange {
message = {\&.\&.\&.}
}
}
}
]
\-\-> [
SSLRecord {
type = 20 (change_cipher_spec)
version = { 3,0 }
length = 1 (0x1)
}
SSLRecord {
type = 22 (handshake)
version = { 3,0 }
length = 56 (0x38)
> encrypted >
}
]
>\-\- [
SSLRecord {
type = 20 (change_cipher_spec)
version = { 3,0 }
length = 1 (0x1)
}
]
>\-\- [
SSLRecord {
type = 22 (handshake)
version = { 3,0 }
length = 56 (0x38)
> encrypted >
}
]
\-\-> [
SSLRecord {
type = 23 (application_data)
version = { 3,0 }
length = 287 (0x11f)
> encrypted >
}
]
[
SSLRecord {
type = 23 (application_data)
version = { 3,0 }
length = 160 (0xa0)
> encrypted >
}
]
>\-\- [
SSLRecord {
type = 23 (application_data)
version = { 3,0 }
length = 223 (0xdf)
> encrypted >
}
SSLRecord {
type = 21 (alert)
version = { 3,0 }
length = 18 (0x12)
> encrypted >
}
]
Server socket closed\&.
.fi
.if n \{\
.RE
.\}
.PP
Example 3
.PP
In this example, the \-h option turns hex/ASCII format\&. There is no SSL parsing or decoding\&. The output is routed to a text file\&.
.sp
.if n \{\
.RS 4
.\}
.nf
$ ssltap \-h \-p 444 interzone\&.mcom\&.com:443 > h\&.txt
.fi
.if n \{\
.RE
.\}
.PP
Output
.sp
.if n \{\
.RS 4
.\}
.nf
Connected to interzone\&.mcom\&.com:443
\-\-> [
0: 80 40 01 03 00 00 27 00 00 00 10 01 00 80 02 00 | \&.@\&.\&.\&.\&.\*(Aq\&.\&.\&.\&.\&.\&.\&.\&.\&.
10: 80 03 00 80 04 00 80 06 00 40 07 00 c0 00 00 04 | \&.\&.\&.\&.\&.\&.\&.\&.\&.@\&.\&.\&.\&.\&.\&.
20: 00 ff e0 00 00 0a 00 ff e1 00 00 09 00 00 03 00 | \&.\&.\&.\&.\&.\&.\&.\&.\('a\&.\&.\&.\&.\&.\&.\&.
30: 00 06 9b fe 5b 56 96 49 1f 9f ca dd d5 ba b9 52 | \&.\&.\(Tp[V\&.I\&.\exd9 \&.\&.\&.\(Om\(S1R
40: 6f 2d |o\-
]
<\-\- [
0: 16 03 00 03 e5 02 00 00 46 03 00 7f e5 0d 1b 1d | \&.\&.\&.\&.\&.\&.\&.\&.F\&.\&.\&.\&.\&.\&.\&.
10: 68 7f 3a 79 60 d5 17 3c 1d 9c 96 b3 88 d2 69 3b | h\&.:y`\&.\&.<\&.\&.\(S3\&.\(`Oi;
20: 78 e2 4b 8b a6 52 12 4b 46 e8 c2 20 14 11 89 05 | x\&.K\&.\(bbR\&.KF\(`e\&. \&.\&.\&.
30: 4d 52 91 fd 93 e0 51 48 91 90 08 96 c1 b6 76 77 | MR\&.\('y\&.\&.QH\&.\&.\&.\&.\&.\(psvw
40: 2a f4 00 08 a1 06 61 a2 64 1f 2e 9b 00 03 00 0b | *\(^o\&.\&.\(r!\&.a\(ctd\&.\&.\&.\&.\&.\&.
50: 00 02 c5 00 02 c2 00 02 bf 30 82 02 bb 30 82 02 | \&.\&.\(oA\&.\&.\&.\&.\&.\&.0\&.\&.\&.0\&.\&.
60: 24 a0 03 02 01 02 02 02 01 36 30 0d 06 09 2a 86 | $ \&.\&.\&.\&.\&.\&.\&.60\&.\&.\&.*\&.
70: 48 86 f7 0d 01 01 04 05 00 30 77 31 0b 30 09 06 | H\&.\(di\&.\&.\&.\&.\&.\&.0w1\&.0\&.\&.
80: 03 55 04 06 13 02 55 53 31 2c 30 2a 06 03 55 04 | \&.U\&.\&.\&.\&.US1,0*\&.\&.U\&.
90: 0a 13 23 4e 65 74 73 63 61 70 65 20 43 6f 6d 6d | \&.\&.#Netscape Comm
a0: 75 6e 69 63 61 74 69 6f 6e 73 20 43 6f 72 70 6f | unications Corpo
b0: 72 61 74 69 6f 6e 31 11 30 0f 06 03 55 04 0b 13 | ration1\&.0\&.\&.\&.U\&.\&.\&.
c0: 08 48 61 72 64 63 6f 72 65 31 27 30 25 06 03 55 | \&.Hardcore1\*(Aq0%\&.\&.U
d0: 04 03 13 1e 48 61 72 64 63 6f 72 65 20 43 65 72 | \&.\&.\&.\&.Hardcore Cer
e0: 74 69 66 69 63 61 74 65 20 53 65 72 76 65 72 20 | tificate Server
f0: 49 49 30 1e 17 0d 39 38 30 35 31 36 30 31 30 33 | II0\&.\&.\&.9805160103
<additional data lines>
]
<additional records in same format>
Server socket closed\&.
.fi
.if n \{\
.RE
.\}
.PP
Example 4
.PP
In this example, the \-s option turns on SSL parsing, and the \-h option turns on hex/ASCII format\&. Both formats are shown for each record\&. The output is routed to a text file\&.
.sp
.if n \{\
.RS 4
.\}
.nf
$ ssltap \-hs \-p 444 interzone\&.mcom\&.com:443 > hs\&.txt
.fi
.if n \{\
.RE
.\}
.PP
Output
.sp
.if n \{\
.RS 4
.\}
.nf
Connected to interzone\&.mcom\&.com:443
\-\-> [
0: 80 3d 01 03 00 00 24 00 00 00 10 01 00 80 02 00 | \&.=\&.\&.\&.\&.$\&.\&.\&.\&.\&.\&.\&.\&.\&.
10: 80 03 00 80 04 00 80 06 00 40 07 00 c0 00 00 04 | \&.\&.\&.\&.\&.\&.\&.\&.\&.@\&.\&.\&.\&.\&.\&.
20: 00 ff e0 00 00 0a 00 ff e1 00 00 09 00 00 03 03 | \&.\&.\&.\&.\&.\&.\&.\&.\('a\&.\&.\&.\&.\&.\&.\&.
30: 55 e6 e4 99 79 c7 d7 2c 86 78 96 5d b5 cf e9 |U\&.\&.y\(,C\exb0 ,\&.x\&.]\(mc\(:I\('e
alloclen = 63 bytes
[ssl2] ClientHelloV2 {
version = {0x03, 0x00}
cipher\-specs\-length = 36 (0x24)
sid\-length = 0 (0x00)
challenge\-length = 16 (0x10)
cipher\-suites = {
(0x010080) SSL2/RSA/RC4\-128/MD5
(0x020080) SSL2/RSA/RC4\-40/MD5
(0x030080) SSL2/RSA/RC2CBC128/MD5
(0x040080) SSL2/RSA/RC2CBC40/MD5
(0x060040) SSL2/RSA/DES64CBC/MD5
(0x0700c0) SSL2/RSA/3DES192EDE\-CBC/MD5
(0x000004) SSL3/RSA/RC4\-128/MD5
(0x00ffe0) SSL3/RSA\-FIPS/3DES192EDE\-CBC/SHA
(0x00000a) SSL3/RSA/3DES192EDE\-CBC/SHA
(0x00ffe1) SSL3/RSA\-FIPS/DES64CBC/SHA
(0x000009) SSL3/RSA/DES64CBC/SHA
(0x000003) SSL3/RSA/RC4\-40/MD5
}
session\-id = { }
challenge = { 0x0355 0xe6e4 0x9979 0xc7d7 0x2c86 0x7896 0x5db
0xcfe9 }
}
]
<additional records in same formats>
Server socket closed\&.
.fi
.if n \{\
.RE
.\}
.SH "USAGE TIPS"
.PP
When SSL restarts a previous session, it makes use of cached information to do a partial handshake\&. If you wish to capture a full SSL handshake, restart the browser to clear the session id cache\&.
.PP
If you run the tool on a machine other than the SSL server to which you are trying to connect, the browser will complain that the host name you are trying to connect to is different from the certificate\&. If you are using the default BadCert callback, you can still connect through a dialog\&. If you are not using the default BadCert callback, the one you supply must allow for this possibility\&.
.SH "SEE ALSO"
.PP
The NSS Security Tools are also documented at
\m[blue]\fBhttp://www\&.mozilla\&.org/projects/security/pki/nss/\fR\m[]\&\s-2\u[2]\d\s+2\&.
.SH "ADDITIONAL RESOURCES"
.PP
For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at
\m[blue]\fBhttp://www\&.mozilla\&.org/projects/security/pki/nss/\fR\m[]\&. The NSS site relates directly to NSS code changes and releases\&.
.PP
Mailing lists: https://lists\&.mozilla\&.org/listinfo/dev\-tech\-crypto
.PP
IRC: Freenode at #dogtag\-pki
.SH "AUTHORS"
.PP
The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun\&.
.PP
Authors: Elio Maldonado <emaldona@redhat\&.com>, Deon Lackey <dlackey@redhat\&.com>\&.
.SH "LICENSE"
.PP
Licensed under the Mozilla Public License, version 1\&.1, and/or the GNU General Public License, version 2 or later, and/or the GNU Lesser General Public License, version 2\&.1 or later\&.
.SH "NOTES"
.IP " 1." 4
Mozilla NSS bug 836477
.RS 4
\%https://bugzilla.mozilla.org/show_bug.cgi?id=836477
.RE
.IP " 2." 4
http://www.mozilla.org/projects/security/pki/nss/
.RS 4
\%http://www.mozilla.org/projects/security/pki/nss/tools
.RE

View File

@ -0,0 +1,169 @@
'\" t
.\" Title: VFYCHAIN
.\" Author: [see the "Authors" section]
.\" Generator: DocBook XSL Stylesheets v1.77.1 <http://docbook.sf.net/>
.\" Date: 15 February 2013
.\" Manual: NSS Security Tools
.\" Source: nss-tools
.\" Language: English
.\"
.TH "VFYCHAIN" "1" "15 February 2013" "nss-tools" "NSS Security Tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
vfychain_ \- vfychain [options] [revocation options] certfile [[options] certfile] \&.\&.\&.
.SH "SYNOPSIS"
.HP \w'\fBvfychain\fR\ 'u
\fBvfychain\fR
.SH "STATUS"
.PP
This documentation is still work in progress\&. Please contribute to the initial review in
\m[blue]\fBMozilla NSS bug 836477\fR\m[]\&\s-2\u[1]\d\s+2
.SH "DESCRIPTION"
.PP
The verification Tool,
\fBvfychain\fR, verifies certificate chains\&.
\fBmodutil\fR
can add and delete PKCS #11 modules, change passwords on security databases, set defaults, list module contents, enable or disable slots, enable or disable FIPS 140\-2 compliance, and assign default providers for cryptographic operations\&. This tool can also create certificate, key, and module security database files\&.
.PP
The tasks associated with security module database management are part of a process that typically also involves managing key databases and certificate databases\&.
.SH "OPTIONS"
.PP
\fB\-a\fR
.RS 4
the following certfile is base64 encoded
.RE
.PP
\fB\-b \fR \fIYYMMDDHHMMZ\fR
.RS 4
Validate date (default: now)
.RE
.PP
\fB\-d \fR \fIdirectory\fR
.RS 4
database directory
.RE
.PP
\fB\-f \fR
.RS 4
Enable cert fetching from AIA URL
.RE
.PP
\fB\-o \fR \fIoid\fR
.RS 4
Set policy OID for cert validation(Format OID\&.1\&.2\&.3)
.RE
.PP
\fB\-p \fR
.RS 4
Use PKIX Library to validate certificate by calling:
.sp
* CERT_VerifyCertificate if specified once,
.sp
* CERT_PKIXVerifyCert if specified twice and more\&.
.RE
.PP
\fB\-r \fR
.RS 4
Following certfile is raw binary DER (default)
.RE
.PP
\fB\-t\fR
.RS 4
Following cert is explicitly trusted (overrides db trust)
.RE
.PP
\fB\-u \fR \fIusage\fR
.RS 4
0=SSL client, 1=SSL server, 2=SSL StepUp, 3=SSL CA, 4=Email signer, 5=Email recipient, 6=Object signer, 9=ProtectedObjectSigner, 10=OCSP responder, 11=Any CA
.RE
.PP
\fB\-T \fR
.RS 4
Trust both explicit trust anchors (\-t) and the database\&. (Without this option, the default is to only trust certificates marked \-t, if there are any, or to trust the database if there are certificates marked \-t\&.)
.RE
.PP
\fB\-v \fR
.RS 4
Verbose mode\&. Prints root cert subject(double the argument for whole root cert info)
.RE
.PP
\fB\-w \fR \fIpassword\fR
.RS 4
Database password
.RE
.PP
\fB\-W \fR \fIpwfile\fR
.RS 4
Password file
.RE
.PP
.RS 4
Revocation options for PKIX API (invoked with \-pp options) is a collection of the following flags: [\-g type [\-h flags] [\-m type [\-s flags]] \&.\&.\&.] \&.\&.\&.
.sp
Where:
.RE
.PP
\fB\-g \fR \fItest\-type\fR
.RS 4
Sets status checking test type\&. Possible values are "leaf" or "chain"
.RE
.PP
\fB\-g \fR \fItest type\fR
.RS 4
Sets status checking test type\&. Possible values are "leaf" or "chain"\&.
.RE
.PP
\fB\-h \fR \fItest flags\fR
.RS 4
Sets revocation flags for the test type it follows\&. Possible flags: "testLocalInfoFirst" and "requireFreshInfo"\&.
.RE
.PP
\fB\-m \fR \fImethod type\fR
.RS 4
Sets method type for the test type it follows\&. Possible types are "crl" and "ocsp"\&.
.RE
.PP
\fB\-s \fR \fImethod flags\fR
.RS 4
Sets revocation flags for the method it follows\&. Possible types are "doNotUse", "forbidFetching", "ignoreDefaultSrc", "requireInfo" and "failIfNoInfo"\&.
.RE
.SH "ADDITIONAL RESOURCES"
.PP
For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at
\m[blue]\fBhttp://www\&.mozilla\&.org/projects/security/pki/nss/\fR\m[]\&. The NSS site relates directly to NSS code changes and releases\&.
.PP
Mailing lists: https://lists\&.mozilla\&.org/listinfo/dev\-tech\-crypto
.PP
IRC: Freenode at #dogtag\-pki
.SH "AUTHORS"
.PP
The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun\&.
.PP
Authors: Elio Maldonado <emaldona@redhat\&.com>, Deon Lackey <dlackey@redhat\&.com>\&.
.SH "LICENSE"
.PP
Licensed under the Mozilla Public License, version 1\&.1, and/or the GNU General Public License, version 2 or later, and/or the GNU Lesser General Public License, version 2\&.1 or later\&.
.SH "NOTES"
.IP " 1." 4
Mozilla NSS bug 836477
.RS 4
\%https://bugzilla.mozilla.org/show_bug.cgi?id=836477
.RE

View File

@ -0,0 +1,70 @@
'\" t
.\" Title: VFYSERV
.\" Author: [see the "Authors" section]
.\" Generator: DocBook XSL Stylesheets v1.77.1 <http://docbook.sf.net/>
.\" Date: 15 February 2013
.\" Manual: NSS Security Tools
.\" Source: nss-tools
.\" Language: English
.\"
.TH "VFYSERV" "1" "15 February 2013" "nss-tools" "NSS Security Tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
vfyserv_ \- TBD
.SH "SYNOPSIS"
.HP \w'\fBvfyserv\fR\ 'u
\fBvfyserv\fR
.SH "STATUS"
.PP
This documentation is still work in progress\&. Please contribute to the initial review in
\m[blue]\fBMozilla NSS bug 836477\fR\m[]\&\s-2\u[1]\d\s+2
.SH "DESCRIPTION"
.PP
The
\fBvfyserv \fR
tool verifies a certificate chain
.SH "OPTIONS"
.PP
.RS 4
.sp
.RE
.SH "ADDITIONAL RESOURCES"
.PP
For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at
\m[blue]\fBhttp://www\&.mozilla\&.org/projects/security/pki/nss/\fR\m[]\&. The NSS site relates directly to NSS code changes and releases\&.
.PP
Mailing lists: https://lists\&.mozilla\&.org/listinfo/dev\-tech\-crypto
.PP
IRC: Freenode at #dogtag\-pki
.SH "AUTHORS"
.PP
The NSS tools were written and maintained by developers with Netscape, Red Hat, and Sun\&.
.PP
Authors: Elio Maldonado <emaldona@redhat\&.com>, Deon Lackey <dlackey@redhat\&.com>\&.
.SH "LICENSE"
.PP
Licensed under the Mozilla Public License, version 1\&.1, and/or the GNU General Public License, version 2 or later, and/or the GNU Lesser General Public License, version 2\&.1 or later\&.
.SH "NOTES"
.IP " 1." 4
Mozilla NSS bug 836477
.RS 4
\%https://bugzilla.mozilla.org/show_bug.cgi?id=836477
.RE

View File

@ -6,7 +6,7 @@
* Implementation of OCSP services, for both client and server.
* (XXX, really, mostly just for client right now, but intended to do both.)
*
* $Id: ocsp.c,v 1.77 2013-01-23 23:05:50 kaie%kuix.de Exp $
* $Id: ocsp.c,v 1.79 2013-02-15 17:56:18 kaie%kuix.de Exp $
*/
#include "prerror.h"
@ -124,9 +124,9 @@ ocsp_CacheEncodedOCSPResponse(CERTCertDBHandle *handle,
CERTCertificate *cert,
int64 time,
void *pwArg,
SECItem *encodedResponse,
const SECItem *encodedResponse,
PRBool cacheInvalid,
PRBool *certIDWasConsumed,
PRBool cacheNegative,
SECStatus *rv_ocsp);
static SECStatus
@ -140,6 +140,9 @@ ocsp_GetVerifiedSingleResponseForCertID(CERTCertDBHandle *handle,
static SECStatus
ocsp_CertRevokedAfter(ocspRevokedInfo *revokedInfo, int64 time);
static CERTOCSPCertID *
cert_DupOCSPCertID(CERTOCSPCertID *src);
#ifndef DEBUG
#define OCSP_TRACE(msg)
#define OCSP_TRACE_TIME(msg, time)
@ -766,6 +769,9 @@ ocsp_IsCacheItemFresh(OCSPCacheItem *cacheItem)
/*
* Status in *certIDWasConsumed will always be correct, regardless of
* return value.
* If the caller is unable to transfer ownership of certID,
* then the caller must set certIDWasConsumed to NULL,
* and this function will potentially duplicate the certID object.
*/
static SECStatus
ocsp_CreateOrUpdateCacheEntry(OCSPCacheData *cache,
@ -777,10 +783,7 @@ ocsp_CreateOrUpdateCacheEntry(OCSPCacheData *cache,
OCSPCacheItem *cacheItem;
OCSP_TRACE(("OCSP ocsp_CreateOrUpdateCacheEntry\n"));
if (!certIDWasConsumed) {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
return SECFailure;
}
if (certIDWasConsumed)
*certIDWasConsumed = PR_FALSE;
PR_EnterMonitor(OCSP_Global.monitor);
@ -788,23 +791,47 @@ ocsp_CreateOrUpdateCacheEntry(OCSPCacheData *cache,
cacheItem = ocsp_FindCacheEntry(cache, certID);
if (!cacheItem) {
rv = ocsp_CreateCacheItemAndConsumeCertID(cache, certID,
CERTOCSPCertID *myCertID;
if (certIDWasConsumed) {
myCertID = certID;
*certIDWasConsumed = PR_TRUE;
} else {
myCertID = cert_DupOCSPCertID(certID);
if (!myCertID) {
PR_ExitMonitor(OCSP_Global.monitor);
PORT_SetError(PR_OUT_OF_MEMORY_ERROR);
return SECFailure;
}
}
rv = ocsp_CreateCacheItemAndConsumeCertID(cache, myCertID,
&cacheItem);
if (rv != SECSuccess) {
PR_ExitMonitor(OCSP_Global.monitor);
return rv;
}
*certIDWasConsumed = PR_TRUE;
}
if (single) {
rv = ocsp_SetCacheItemResponse(cacheItem, single);
if (rv != SECSuccess) {
ocsp_RemoveCacheItem(cache, cacheItem);
PR_ExitMonitor(OCSP_Global.monitor);
return rv;
PRTime thisUpdate;
rv = DER_GeneralizedTimeToTime(&thisUpdate, &single->thisUpdate);
if (!cacheItem->haveThisUpdate ||
(rv == SECSuccess && cacheItem->thisUpdate < thisUpdate)) {
rv = ocsp_SetCacheItemResponse(cacheItem, single);
if (rv != SECSuccess) {
ocsp_RemoveCacheItem(cache, cacheItem);
PR_ExitMonitor(OCSP_Global.monitor);
return rv;
}
} else {
OCSP_TRACE(("Not caching response because the response is not newer than the cache"));
}
} else {
cacheItem->missingResponseError = PORT_GetError();
if (cacheItem->certStatusArena) {
PORT_FreeArena(cacheItem->certStatusArena, PR_FALSE);
cacheItem->certStatusArena = NULL;
}
}
ocsp_FreshenCacheItemNextFetchAttemptTime(cacheItem);
ocsp_CheckCacheSize(cache);
@ -1545,7 +1572,7 @@ CERT_DestroyOCSPCertID(CERTOCSPCertID* certID)
* results in a NULL being returned (and an appropriate error set).
*/
static SECItem *
SECItem *
ocsp_DigestValue(PRArenaPool *arena, SECOidTag digestAlg,
SECItem *fill, const SECItem *src)
{
@ -1752,6 +1779,54 @@ CERT_CreateOCSPCertID(CERTCertificate *cert, int64 time)
return certID;
}
static CERTOCSPCertID *
cert_DupOCSPCertID(CERTOCSPCertID *src)
{
CERTOCSPCertID *dest;
PRArenaPool *arena = NULL;
if (!src) {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
return NULL;
}
arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);
if (!arena)
goto loser;
dest = PORT_ArenaZNew(arena, CERTOCSPCertID);
if (!dest)
goto loser;
#define DUPHELP(element) \
if (src->element.data) { \
if (SECITEM_CopyItem(arena, &dest->element, &src->element) \
!= SECSuccess) \
goto loser; \
}
DUPHELP(hashAlgorithm.algorithm)
DUPHELP(hashAlgorithm.parameters)
DUPHELP(issuerNameHash)
DUPHELP(issuerKeyHash)
DUPHELP(serialNumber)
DUPHELP(issuerSHA1NameHash)
DUPHELP(issuerMD5NameHash)
DUPHELP(issuerMD2NameHash)
DUPHELP(issuerSHA1KeyHash)
DUPHELP(issuerMD5KeyHash)
DUPHELP(issuerMD2KeyHash)
dest->poolp = arena;
return dest;
loser:
if (arena)
PORT_FreeArena(arena, PR_FALSE);
PORT_SetError(PR_OUT_OF_MEMORY_ERROR);
return NULL;
}
/*
* Callback to set Extensions in request object
*/
@ -2535,7 +2610,7 @@ ocsp_DecodeResponseBytes(PRArenaPool *arena, ocspResponseBytes *rbytes)
* or a low-level or internal error occurred).
*/
CERTOCSPResponse *
CERT_DecodeOCSPResponse(SECItem *src)
CERT_DecodeOCSPResponse(const SECItem *src)
{
PRArenaPool *arena = NULL;
CERTOCSPResponse *response = NULL;
@ -4817,15 +4892,58 @@ SECStatus
CERT_CacheOCSPResponseFromSideChannel(CERTCertDBHandle *handle,
CERTCertificate *cert,
int64 time,
SECItem *encodedResponse,
const SECItem *encodedResponse,
void *pwArg)
{
CERTOCSPCertID *certID;
CERTOCSPCertID *certID = NULL;
PRBool certIDWasConsumed = PR_FALSE;
SECStatus rv = SECFailure;
SECStatus rvOcsp;
SECErrorCodes dummy_error_code; /* we ignore this */
/* The OCSP cache can be in three states regarding this certificate:
* + Good (cached, timely, 'good' response, or revoked in the future)
* + Revoked (cached, timely, but doesn't fit in the last category)
* + Miss (no knowledge)
*
* Likewise, the side-channel information can be
* + Good (timely, 'good' response, or revoked in the future)
* + Revoked (timely, but doesn't fit in the last category)
* + Invalid (bad syntax, bad signature, not timely etc)
*
* The common case is that the cache result is Good and so is the
* side-channel information. We want to save processing time in this case
* so we say that any time we see a Good result from the cache we return
* early.
*
* Cache result
* | Good Revoked Miss
* ---+--------------------------------------------
* G | noop Cache more Cache it
* S | recent result
* i |
* d |
* e |
* R | noop Cache more Cache it
* C | recent result
* h |
* a |
* n |
* n I | noop Noop Noop
* e |
* l |
*
* When we fetch from the network we might choose to cache a negative
* result when the response is invalid. This saves us hammering, uselessly,
* at a broken responder. However, side channels are commonly attacker
* controlled and so we must not cache a negative result for an Invalid
* side channel.
*/
if (!cert) {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
return SECFailure;
}
certID = CERT_CreateOCSPCertID(cert, time);
if (!certID)
return SECFailure;
@ -4833,22 +4951,18 @@ CERT_CacheOCSPResponseFromSideChannel(CERTCertDBHandle *handle,
certID, time, PR_FALSE, /* ignoreGlobalOcspFailureSetting */
&rvOcsp, &dummy_error_code);
if (rv == SECSuccess && rvOcsp == SECSuccess) {
/* The cached value is good. We don't want to waste time validating
* this OCSP response. */
/* The cached value is good. We don't want to waste time validating
* this OCSP response. This is the first column in the table above. */
CERT_DestroyOCSPCertID(certID);
return rv;
}
/* Since the OCSP response came from a side channel it is attacker
* controlled. The attacker can have chosen any valid OCSP response,
* including responses from the past. In this case,
* ocsp_GetVerifiedSingleResponseForCertID will fail. If we recorded a
* negative cache entry in this case, then the attacker would have
* 'poisoned' our cache (denial of service), so we don't record negative
* results. */
rv = ocsp_CacheEncodedOCSPResponse(handle, certID, cert, time, pwArg,
encodedResponse, &certIDWasConsumed,
PR_FALSE /* don't cache failures */,
/* The logic for caching the more recent response is handled in
* ocsp_CreateOrUpdateCacheEntry, which is called by this function. */
rv = ocsp_CacheEncodedOCSPResponse(handle, certID, cert, time,
pwArg, encodedResponse,
PR_FALSE /* don't cache if invalid */,
&certIDWasConsumed,
&rvOcsp);
if (!certIDWasConsumed) {
CERT_DestroyOCSPCertID(certID);
@ -4936,8 +5050,9 @@ ocsp_GetOCSPStatusFromNetwork(CERTCertDBHandle *handle,
}
rv = ocsp_CacheEncodedOCSPResponse(handle, certID, cert, time, pwArg,
encodedResponse, certIDWasConsumed,
PR_TRUE /* cache failures */, rv_ocsp);
encodedResponse,
PR_TRUE /* cache if invalid */,
certIDWasConsumed, rv_ocsp);
loser:
if (request != NULL)
@ -4975,6 +5090,9 @@ loser:
* the opaque argument to the password prompting function.
* SECItem *encodedResponse
* the DER encoded bytes of the OCSP response
* PRBool cacheInvalid
* If true then invalid responses will cause a negative cache entry to be
* created. (Invalid means bad syntax, bad signature etc)
* PRBool *certIDWasConsumed
* (output) on return, this is true iff |certID| was consumed by this
* function.
@ -4990,9 +5108,9 @@ ocsp_CacheEncodedOCSPResponse(CERTCertDBHandle *handle,
CERTCertificate *cert,
int64 time,
void *pwArg,
SECItem *encodedResponse,
const SECItem *encodedResponse,
PRBool cacheInvalid,
PRBool *certIDWasConsumed,
PRBool cacheNegative,
SECStatus *rv_ocsp)
{
CERTOCSPResponse *response = NULL;
@ -5051,7 +5169,8 @@ ocsp_CacheEncodedOCSPResponse(CERTCertDBHandle *handle,
*rv_ocsp = ocsp_SingleResponseCertHasGoodStatus(single, time);
loser:
if (cacheNegative || *rv_ocsp == SECSuccess) {
/* If single == NULL here then the response was invalid. */
if (single != NULL || cacheInvalid) {
PR_EnterMonitor(OCSP_Global.monitor);
if (OCSP_Global.maxCacheEntries >= 0) {
/* single == NULL means: remember response failure */

View File

@ -5,7 +5,7 @@
/*
* Interface to the OCSP implementation.
*
* $Id: ocsp.h,v 1.24 2012-12-12 16:03:44 wtc%google.com Exp $
* $Id: ocsp.h,v 1.25 2013-02-15 17:53:24 kaie%kuix.de Exp $
*/
#ifndef _OCSP_H_
@ -300,7 +300,7 @@ CERT_DestroyOCSPRequest(CERTOCSPRequest *request);
* or a low-level or internal error occurred).
*/
extern CERTOCSPResponse *
CERT_DecodeOCSPResponse(SECItem *src);
CERT_DecodeOCSPResponse(const SECItem *src);
/*
* FUNCTION: CERT_DestroyOCSPResponse
@ -551,7 +551,7 @@ extern SECStatus
CERT_CacheOCSPResponseFromSideChannel(CERTCertDBHandle *handle,
CERTCertificate *cert,
PRTime time,
SECItem *encodedResponse,
const SECItem *encodedResponse,
void *pwArg);
/*

View File

@ -4,7 +4,7 @@
/*
* ocspi.h - NSS internal interfaces to OCSP code
*
* $Id: ocspi.h,v 1.13 2012-12-12 19:29:40 wtc%google.com Exp $
* $Id: ocspi.h,v 1.14 2013-02-15 17:56:18 kaie%kuix.de Exp $
*/
#ifndef _OCSPI_H_
@ -19,6 +19,10 @@ ocsp_GetResponseData(CERTOCSPResponse *response, SECItem **tbsResponseDataDER);
ocspSignature *
ocsp_GetResponseSignature(CERTOCSPResponse *response);
SECItem *
ocsp_DigestValue(PRArenaPool *arena, SECOidTag digestAlg,
SECItem *fill, const SECItem *src);
PRBool
ocsp_CertIsOCSPDefaultResponder(CERTCertDBHandle *handle, CERTCertificate *cert);

View File

@ -355,6 +355,8 @@ CERT_CreateOCSPSingleResponseRevoked(
return ocsp_CreateSingleResponse(arena, id, cs, thisUpdate, nextUpdate);
}
/* responderCert == 0 means:
* create a response with an invalid signature (for testing purposes) */
SECItem*
CERT_CreateEncodedOCSPSuccessResponse(
PLArenaPool *arena,
@ -377,7 +379,7 @@ CERT_CreateEncodedOCSPSuccessResponse(
SECKEYPrivateKey *privKey = NULL;
SECItem *result = NULL;
if (!arena || !responderCert || !responses) {
if (!arena || !responses) {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
return NULL;
}
@ -414,58 +416,106 @@ CERT_CreateEncodedOCSPSuccessResponse(
if (DER_TimeToGeneralizedTimeArena(tmpArena, &rd->producedAt, producedAt)
!= SECSuccess)
goto done;
rid->responderIDType = responderIDType;
if (responderIDType == ocspResponderID_byName) {
responderIDTemplate = ocsp_ResponderIDByNameTemplate;
if (CERT_CopyName(tmpArena, &rid->responderIDValue.name,
&responderCert->subject) != SECSuccess)
goto done;
if (!responderCert) {
/* use invalid signature for testing purposes */
char dummyChar = 'd';
SECItem dummy;
dummy.len = 1;
dummy.data = &dummyChar;
/* it's easier to produdce a keyHash out of nowhere,
* than to produce an encoded subject,
* so for our dummy response we always use byKey
*/
rid->responderIDType = ocspResponderID_byKey;
if (!ocsp_DigestValue(tmpArena, SEC_OID_SHA1, &rid->responderIDValue.keyHash,
&dummy))
goto done;
if (!SEC_ASN1EncodeItem(tmpArena, &rd->derResponderID, rid,
ocsp_ResponderIDByKeyTemplate))
goto done;
br->tbsResponseData = rd;
if (!SEC_ASN1EncodeItem(tmpArena, &br->tbsResponseDataDER, br->tbsResponseData,
ocsp_myResponseDataTemplate))
goto done;
br->responseSignature.derCerts = PORT_ArenaNewArray(tmpArena, SECItem*, 1);
if (!br->responseSignature.derCerts)
goto done;
br->responseSignature.derCerts[0] = NULL;
algID = SEC_GetSignatureAlgorithmOidTag(rsaKey, SEC_OID_SHA1);
if (algID == SEC_OID_UNKNOWN)
goto done;
/* match the regular signature code, which doesn't use the arena */
if (!SECITEM_AllocItem(NULL, &br->responseSignature.signature, 1))
goto done;
PORT_Memcpy(br->responseSignature.signature.data, &dummyChar, 1);
/* convert len-in-bytes to len-in-bits */
br->responseSignature.signature.len = br->responseSignature.signature.len << 3;
}
else {
responderIDTemplate = ocsp_ResponderIDByKeyTemplate;
if (!CERT_GetSPKIDigest(tmpArena, responderCert, SEC_OID_SHA1,
&rid->responderIDValue.keyHash))
goto done;
rid->responderIDType = responderIDType;
if (responderIDType == ocspResponderID_byName) {
responderIDTemplate = ocsp_ResponderIDByNameTemplate;
if (CERT_CopyName(tmpArena, &rid->responderIDValue.name,
&responderCert->subject) != SECSuccess)
goto done;
}
else {
responderIDTemplate = ocsp_ResponderIDByKeyTemplate;
if (!CERT_GetSPKIDigest(tmpArena, responderCert, SEC_OID_SHA1,
&rid->responderIDValue.keyHash))
goto done;
}
if (!SEC_ASN1EncodeItem(tmpArena, &rd->derResponderID, rid,
responderIDTemplate))
goto done;
br->tbsResponseData = rd;
if (!SEC_ASN1EncodeItem(tmpArena, &br->tbsResponseDataDER, br->tbsResponseData,
ocsp_myResponseDataTemplate))
goto done;
br->responseSignature.derCerts = PORT_ArenaNewArray(tmpArena, SECItem*, 1);
if (!br->responseSignature.derCerts)
goto done;
br->responseSignature.derCerts[0] = NULL;
privKey = PK11_FindKeyByAnyCert(responderCert, wincx);
if (!privKey)
goto done;
algID = SEC_GetSignatureAlgorithmOidTag(privKey->keyType, SEC_OID_SHA1);
if (algID == SEC_OID_UNKNOWN)
goto done;
if (SEC_SignData(&br->responseSignature.signature,
br->tbsResponseDataDER.data, br->tbsResponseDataDER.len,
privKey, algID)
!= SECSuccess)
goto done;
/* convert len-in-bytes to len-in-bits */
br->responseSignature.signature.len = br->responseSignature.signature.len << 3;
/* br->responseSignature.signature wasn't allocated from arena,
* we must free it when done. */
}
if (!SEC_ASN1EncodeItem(tmpArena, &rd->derResponderID, rid,
responderIDTemplate))
goto done;
br->tbsResponseData = rd;
if (!SEC_ASN1EncodeItem(tmpArena, &br->tbsResponseDataDER, br->tbsResponseData,
ocsp_myResponseDataTemplate))
goto done;
br->responseSignature.derCerts = PORT_ArenaNewArray(tmpArena, SECItem*, 1);
if (!br->responseSignature.derCerts)
goto done;
br->responseSignature.derCerts[0] = NULL;
privKey = PK11_FindKeyByAnyCert(responderCert, wincx);
if (!privKey)
goto done;
algID = SEC_GetSignatureAlgorithmOidTag(privKey->keyType, SEC_OID_SHA1);
if (algID == SEC_OID_UNKNOWN)
goto done;
if (SEC_SignData(&br->responseSignature.signature,
br->tbsResponseDataDER.data, br->tbsResponseDataDER.len,
privKey, algID)
!= SECSuccess)
goto done;
/* convert len-in-bytes to len-in-bits */
br->responseSignature.signature.len = br->responseSignature.signature.len << 3;
/* br->responseSignature.signature wasn't allocated from arena,
* we must free it when done. */
if (SECOID_SetAlgorithmID(tmpArena, &br->responseSignature.signatureAlgorithm, algID, 0)
!= SECSuccess)
goto done;
!= SECSuccess)
goto done;
if (!SEC_ASN1EncodeItem(tmpArena, &rb->response, br,
ocsp_EncodeBasicOCSPResponseTemplate))

View File

@ -284,7 +284,6 @@ ifeq ($(CPU_ARCH),sparc)
HAVE_ABI64_INT = 1
HAVE_ABI64_FPU = 1
else
HAVE_ABI32_INT32 = 1
HAVE_ABI32_FPU = 1
HAVE_ABI32_INT64 = 1
endif
@ -292,9 +291,6 @@ ifeq ($(CPU_ARCH),sparc)
SOLARIS_AS = /usr/ccs/bin/as
#### set arch, asm, c flags
ifdef NS_USE_GCC
ifdef USE_ABI32_INT32
# default ARCHFLAG=-mcpu=v8 set by coreconf/sunOS5.mk
endif
ifdef USE_ABI32_INT64
ARCHFLAG=-mcpu=v9 -Wa,-xarch=v8plus
SOLARIS_AS_FLAGS = -xarch=v8plus -K PIC
@ -327,9 +323,6 @@ ifeq ($(CPU_ARCH),sparc)
# to what we used in NSS 3.10.
FPU_TARGET_OPTIMIZER = -xchip=ultra2
endif
ifdef USE_ABI32_INT32
#ARCHFLAG=-xarch=v8 set in coreconf/sunOS5.mk
endif
ifdef USE_ABI32_INT64
# this builds for Sparc v8+a ABI32_FPU architecture, 64-bit registers,
# 32-bit ABI, it uses 64-bit words, integer arithmetic,
@ -385,12 +378,6 @@ ifeq ($(CPU_ARCH),sparc)
endif # NS_USE_GCC
### set flags for both GCC and Sun cc
ifdef USE_ABI32_INT32
# this builds for Sparc v8 pure 32-bit architecture
DEFINES += -DMP_USE_UINT_DIGIT -DMP_ASSEMBLY_MULTIPLY
ASFILES = mpv_sparcv8x.s
DEFINES += -DSHA_NO_LONG_LONG # avoid 64-bit arithmetic in SHA512
endif
ifdef USE_ABI32_INT64
# this builds for Sparc v8+a ABI32_FPU architecture, 64-bit registers,
# 32-bit ABI, it uses 64-bit words, integer arithmetic, no FPU

View File

@ -4,8 +4,6 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* See NOTES ON UMRs, Unititialized Memory Reads, below. */
#ifdef FREEBL_NO_DEPEND
#include "stubs.h"
#endif
@ -18,7 +16,7 @@
/* Architecture-dependent defines */
#if defined(SOLARIS) || defined(HPUX) || defined(i386) || defined(IRIX) || \
#if defined(SOLARIS) || defined(HPUX) || defined(NSS_X86) || \
defined(_WIN64)
/* Convert the byte-stream to a word-stream */
#define CONVERT_TO_WORDS
@ -119,7 +117,7 @@ RC4_InitContext(RC4Context *cx, const unsigned char *key, unsigned int len,
const unsigned char * unused1, int unused2,
unsigned int unused3, unsigned int unused4)
{
int i;
unsigned int i;
PRUint8 j, tmp;
PRUint8 K[256];
PRUint8 *L;
@ -127,7 +125,7 @@ RC4_InitContext(RC4Context *cx, const unsigned char *key, unsigned int len,
/* verify the key length. */
PORT_Assert(len > 0 && len < ARCFOUR_STATE_SIZE);
if (len == 0 || len >= ARCFOUR_STATE_SIZE) {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
PORT_SetError(SEC_ERROR_BAD_KEY);
return SECFailure;
}
if (cx == NULL) {
@ -215,7 +213,7 @@ rc4_no_opt(RC4Context *cx, unsigned char *output,
unsigned int index;
PORT_Assert(maxOutputLen >= inputLen);
if (maxOutputLen < inputLen) {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
PORT_SetError(SEC_ERROR_OUTPUT_LEN);
return SECFailure;
}
for (index=0; index < inputLen; index++) {
@ -248,7 +246,7 @@ rc4_unrolled(RC4Context *cx, unsigned char *output,
int index;
PORT_Assert(maxOutputLen >= inputLen);
if (maxOutputLen < inputLen) {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
PORT_SetError(SEC_ERROR_OUTPUT_LEN);
return SECFailure;
}
for (index = inputLen / 8; index-- > 0; input += 8, output += 8) {
@ -349,40 +347,26 @@ rc4_unrolled(RC4Context *cx, unsigned char *output,
#define LSH <<
#endif
#ifdef IS_LITTLE_ENDIAN
#define LEFTMOST_BYTE_SHIFT 0
#define NEXT_BYTE_SHIFT(shift) shift + 8
#else
#define LEFTMOST_BYTE_SHIFT 8*(WORDSIZE - 1)
#define NEXT_BYTE_SHIFT(shift) shift - 8
#endif
#ifdef CONVERT_TO_WORDS
/* NOTE about UMRs, Uninitialized Memory Reads.
*
* This code reads all input data a WORD at a time, rather than byte at
* a time, and writes all output data a WORD at a time. Shifting and
* masking is used to remove unwanted data and realign bytes when
* needed. The first and last words of output are read, modified, and
* written when needed to preserve any unchanged bytes. This is a huge
* win on machines with high memory latency.
*
* However, when the input and output buffers do not begin and end on WORD
* boundaries, and the WORDS in memory that contain the first and last
* bytes of those buffers contain uninitialized data, then this code will
* read those uninitialized bytes, causing a UMR error to be reported by
* some tools.
*
* These UMRs are NOT a problem, NOT errors, and do NOT need to be "fixed".
*
* All the words read and written contain at least one byte that is
* part of the input data or output data. No words are read or written
* that do not contain data that is part of the buffer. Therefore,
* these UMRs cannot cause page faults or other problems unless the
* buffers have been assigned to improper addresses that would cause
* page faults with or without UMRs.
*/
static SECStatus
rc4_wordconv(RC4Context *cx, unsigned char *output,
unsigned int *outputLen, unsigned int maxOutputLen,
const unsigned char *input, unsigned int inputLen)
{
ptrdiff_t inOffset = (ptrdiff_t)input % WORDSIZE;
ptrdiff_t outOffset = (ptrdiff_t)output % WORDSIZE;
register WORD streamWord, mask;
register WORD *pInWord, *pOutWord;
PR_STATIC_ASSERT(sizeof(PRUword) == sizeof(ptrdiff_t));
unsigned int inOffset = (PRUword)input % WORDSIZE;
unsigned int outOffset = (PRUword)output % WORDSIZE;
register WORD streamWord;
register const WORD *pInWord;
register WORD *pOutWord;
register WORD inWord, nextInWord;
PRUint8 t;
register Stype tmpSi, tmpSj;
@ -390,11 +374,13 @@ rc4_wordconv(RC4Context *cx, unsigned char *output,
register PRUint8 tmpj = cx->j;
unsigned int byteCount;
unsigned int bufShift, invBufShift;
int i;
unsigned int i;
const unsigned char *finalIn;
unsigned char *finalOut;
PORT_Assert(maxOutputLen >= inputLen);
if (maxOutputLen < inputLen) {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
PORT_SetError(SEC_ERROR_OUTPUT_LEN);
return SECFailure;
}
if (inputLen < 2*WORDSIZE) {
@ -402,7 +388,8 @@ rc4_wordconv(RC4Context *cx, unsigned char *output,
return rc4_no_opt(cx, output, outputLen, maxOutputLen, input, inputLen);
}
*outputLen = inputLen;
pInWord = (WORD *)(input - inOffset);
pInWord = (const WORD *)(input - inOffset);
pOutWord = (WORD *)(output - outOffset);
if (inOffset < outOffset) {
bufShift = 8*(outOffset - inOffset);
invBufShift = 8*WORDSIZE - bufShift;
@ -419,52 +406,42 @@ rc4_wordconv(RC4Context *cx, unsigned char *output,
/* least one partial word of input should ALWAYS be loaded. */
/*****************************************************************/
if (outOffset) {
/* Generate input and stream words aligned relative to the
* partial output buffer.
*/
byteCount = WORDSIZE - outOffset;
pOutWord = (WORD *)(output - outOffset);
mask = streamWord = 0;
#ifdef IS_LITTLE_ENDIAN
for (i = WORDSIZE - byteCount; i < WORDSIZE; i++) {
#else
for (i = byteCount - 1; i >= 0; --i) {
#endif
for (i = 0; i < byteCount; i++) {
ARCFOUR_NEXT_BYTE();
streamWord |= (WORD)(cx->S[t]) << 8*i;
mask |= MASK1BYTE << 8*i;
} /* } */
inWord = *pInWord++; /* UMR? see comments above. */
output[i] = cx->S[t] ^ input[i];
}
/* Consumed byteCount bytes of input */
inputLen -= byteCount;
pInWord++;
/* move to next word of output */
pOutWord++;
/* If buffers are relatively misaligned, shift the bytes in inWord
* to be aligned to the output buffer.
*/
nextInWord = 0;
if (inOffset < outOffset) {
/* Have more bytes than needed, shift remainder into nextInWord */
nextInWord = inWord LSH 8*(inOffset + byteCount);
inWord = inWord RSH bufShift;
} else if (inOffset > outOffset) {
/* Didn't get enough bytes from current input word, load another
* word and then shift remainder into nextInWord.
/* The first input word (which may be partial) has more bytes
* than needed. Copy the remainder to inWord.
*/
nextInWord = *pInWord++;
inWord = (inWord LSH invBufShift) |
(nextInWord RSH bufShift);
nextInWord = nextInWord LSH invBufShift;
unsigned int shift = LEFTMOST_BYTE_SHIFT;
inWord = 0;
for (i = 0; i < outOffset - inOffset; i++) {
inWord |= (WORD)input[byteCount + i] << shift;
shift = NEXT_BYTE_SHIFT(shift);
}
} else if (inOffset > outOffset) {
/* Consumed some bytes in the second input word. Copy the
* remainder to inWord.
*/
inWord = *pInWord++;
inWord = inWord LSH invBufShift;
} else {
inWord = 0;
}
/* Store output of first partial word */
*pOutWord = (*pOutWord & ~mask) | ((inWord ^ streamWord) & mask);
/* UMR? See comments above. */
/* Consumed byteCount bytes of input */
inputLen -= byteCount;
/* move to next word of output */
pOutWord++;
/* inWord has been consumed, but there may be bytes in nextInWord */
inWord = nextInWord;
} else {
/* output is word-aligned */
pOutWord = (WORD *)output;
if (inOffset) {
/* Input is not word-aligned. The first word load of input
* will not produce a full word of input bytes, so one word
@ -474,8 +451,13 @@ rc4_wordconv(RC4Context *cx, unsigned char *output,
* loop must execute at least once because the input must
* be at least two words.
*/
inWord = *pInWord++; /* UMR? see comments above. */
inWord = inWord LSH invBufShift;
unsigned int shift = LEFTMOST_BYTE_SHIFT;
inWord = 0;
for (i = 0; i < WORDSIZE - inOffset; i++) {
inWord |= (WORD)input[i] << shift;
shift = NEXT_BYTE_SHIFT(shift);
}
pInWord++;
} else {
/* Input is word-aligned. The first word load of input
* will produce a full word of input bytes, so nothing
@ -510,12 +492,7 @@ rc4_wordconv(RC4Context *cx, unsigned char *output,
cx->j = tmpj;
return SECSuccess;
}
/* If the amount of remaining input is greater than the amount
* bytes pulled from the current input word, need to do another
* word load. What's left in inWord will be consumed in step 3.
*/
if (inputLen > WORDSIZE - inOffset)
inWord |= *pInWord RSH bufShift; /* UMR? See above. */
finalIn = (const unsigned char *)pInWord - WORDSIZE + inOffset;
} else {
for (; inputLen >= WORDSIZE; inputLen -= WORDSIZE) {
inWord = *pInWord++;
@ -527,31 +504,18 @@ rc4_wordconv(RC4Context *cx, unsigned char *output,
cx->i = tmpi;
cx->j = tmpj;
return SECSuccess;
} else {
/* A partial input word remains at the tail. Load it.
* The relevant bytes will be consumed in step 3.
*/
inWord = *pInWord; /* UMR? See comments above */
}
finalIn = (const unsigned char *)pInWord;
}
/*****************************************************************/
/* Step 3: */
/* A partial word of input remains, and it is already loaded */
/* into nextInWord. Shift appropriately and consume the bytes */
/* used in the partial word. */
/* Do the remaining partial word of input one byte at a time. */
/*****************************************************************/
mask = streamWord = 0;
#ifdef IS_LITTLE_ENDIAN
for (i = 0; i < inputLen; ++i) {
#else
for (i = WORDSIZE - 1; i >= WORDSIZE - inputLen; --i) {
#endif
finalOut = (unsigned char *)pOutWord;
for (i = 0; i < inputLen; i++) {
ARCFOUR_NEXT_BYTE();
streamWord |= (WORD)(cx->S[t]) << 8*i;
mask |= MASK1BYTE << 8*i;
} /* } */
/* UMR? See comments above. */
*pOutWord = (*pOutWord & ~mask) | ((inWord ^ streamWord) & mask);
finalOut[i] = cx->S[t] ^ finalIn[i];
}
cx->i = tmpi;
cx->j = tmpj;
return SECSuccess;
@ -566,7 +530,7 @@ RC4_Encrypt(RC4Context *cx, unsigned char *output,
{
PORT_Assert(maxOutputLen >= inputLen);
if (maxOutputLen < inputLen) {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
PORT_SetError(SEC_ERROR_OUTPUT_LEN);
return SECFailure;
}
#if defined(NSS_BEVAND_ARCFOUR)
@ -588,7 +552,7 @@ SECStatus RC4_Decrypt(RC4Context *cx, unsigned char *output,
{
PORT_Assert(maxOutputLen >= inputLen);
if (maxOutputLen < inputLen) {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
PORT_SetError(SEC_ERROR_OUTPUT_LEN);
return SECFailure;
}
/* decrypt and encrypt are same operation. */

View File

@ -6,12 +6,11 @@
#include "mpi.h"
#include "mplogic.h"
#include "mpi-priv.h"
#include <stdlib.h>
/* Fast modular reduction for p256 = 2^256 - 2^224 + 2^192+ 2^96 - 1. a can be r.
* Uses algorithm 2.29 from Hankerson, Menezes, Vanstone. Guide to
* Elliptic Curve Cryptography. */
mp_err
static mp_err
ec_GFp_nistp256_mod(const mp_int *a, mp_int *r, const GFMethod *meth)
{
mp_err res = MP_OKAY;
@ -159,10 +158,10 @@ ec_GFp_nistp256_mod(const mp_int *a, mp_int *r, const GFMethod *meth)
MP_ADD_CARRY(r0, r8_d, r0, 0, carry);
MP_ADD_CARRY(r1, 0, r1, carry, carry);
MP_ADD_CARRY(r2, 0, r2, carry, carry);
MP_ADD_CARRY(r3, -r8_d, r3, carry, carry);
MP_ADD_CARRY(r3, 0-r8_d, r3, carry, carry);
MP_ADD_CARRY(r4, MP_DIGIT_MAX, r4, carry, carry);
MP_ADD_CARRY(r5, MP_DIGIT_MAX, r5, carry, carry);
MP_ADD_CARRY(r6, -(r8_d+1), r6, carry, carry);
MP_ADD_CARRY(r6, 0-(r8_d+1), r6, carry, carry);
MP_ADD_CARRY(r7, (r8_d-1), r7, carry, carry);
r8 = carry;
}
@ -173,12 +172,12 @@ ec_GFp_nistp256_mod(const mp_int *a, mp_int *r, const GFMethod *meth)
MP_SUB_BORROW(r0, r8_d, r0, 0, carry);
MP_SUB_BORROW(r1, 0, r1, carry, carry);
MP_SUB_BORROW(r2, 0, r2, carry, carry);
MP_SUB_BORROW(r3, -r8_d, r3, carry, carry);
MP_SUB_BORROW(r3, 0-r8_d, r3, carry, carry);
MP_SUB_BORROW(r4, MP_DIGIT_MAX, r4, carry, carry);
MP_SUB_BORROW(r5, MP_DIGIT_MAX, r5, carry, carry);
MP_SUB_BORROW(r6, -(r8_d+1), r6, carry, carry);
MP_SUB_BORROW(r6, 0-(r8_d+1), r6, carry, carry);
MP_SUB_BORROW(r7, (r8_d-1), r7, carry, carry);
r8 = -carry;
r8 = 0-carry;
}
if (a != r) {
MP_CHECKOK(s_mp_pad(r,8));
@ -203,24 +202,7 @@ ec_GFp_nistp256_mod(const mp_int *a, mp_int *r, const GFMethod *meth)
&& (r0 == MP_DIGIT_MAX)))))) {
MP_CHECKOK(mp_sub(r, &meth->irr, r));
}
#ifdef notdef
/* smooth the negatives */
while (MP_SIGN(r) != MP_ZPOS) {
MP_CHECKOK(mp_add(r, &meth->irr, r));
}
while (MP_USED(r) > 8) {
MP_CHECKOK(mp_sub(r, &meth->irr, r));
}
/* final reduction if necessary */
if (MP_DIGIT(r,7) >= MP_DIGIT(&meth->irr,7)) {
if (mp_cmp(r,&meth->irr) != MP_LT) {
MP_CHECKOK(mp_sub(r, &meth->irr, r));
}
}
#endif
s_mp_clamp(r);
#else
switch (a_used) {
@ -307,7 +289,7 @@ ec_GFp_nistp256_mod(const mp_int *a, mp_int *r, const GFMethod *meth)
mp_digit r4_long = r4;
mp_digit r4l = (r4_long << 32);
MP_ADD_CARRY(r0, r4_long, r0, 0, carry);
MP_ADD_CARRY(r1, -r4l, r1, carry, carry);
MP_ADD_CARRY(r1, 0-r4l, r1, carry, carry);
MP_ADD_CARRY(r2, MP_DIGIT_MAX, r2, carry, carry);
MP_ADD_CARRY(r3, r4l-r4_long-1,r3, carry, carry);
r4 = carry;
@ -318,10 +300,10 @@ ec_GFp_nistp256_mod(const mp_int *a, mp_int *r, const GFMethod *meth)
mp_digit r4_long = -r4;
mp_digit r4l = (r4_long << 32);
MP_SUB_BORROW(r0, r4_long, r0, 0, carry);
MP_SUB_BORROW(r1, -r4l, r1, carry, carry);
MP_SUB_BORROW(r1, 0-r4l, r1, carry, carry);
MP_SUB_BORROW(r2, MP_DIGIT_MAX, r2, carry, carry);
MP_SUB_BORROW(r3, r4l-r4_long-1,r3, carry, carry);
r4 = -carry;
r4 = 0-carry;
}
if (a != r) {
@ -355,7 +337,7 @@ ec_GFp_nistp256_mod(const mp_int *a, mp_int *r, const GFMethod *meth)
/* Compute the square of polynomial a, reduce modulo p256. Store the
* result in r. r could be a. Uses optimized modular reduction for p256.
*/
mp_err
static mp_err
ec_GFp_nistp256_sqr(const mp_int *a, mp_int *r, const GFMethod *meth)
{
mp_err res = MP_OKAY;
@ -369,7 +351,7 @@ ec_GFp_nistp256_sqr(const mp_int *a, mp_int *r, const GFMethod *meth)
/* Compute the product of two polynomials a and b, reduce modulo p256.
* Store the result in r. r could be a or b; a could be b. Uses
* optimized modular reduction for p256. */
mp_err
static mp_err
ec_GFp_nistp256_mul(const mp_int *a, const mp_int *b, mp_int *r,
const GFMethod *meth)
{

View File

@ -4,7 +4,7 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* $Id: loader.c,v 1.60 2013-02-06 22:20:22 wtc%google.com Exp $ */
/* $Id: loader.c,v 1.61 2013-02-15 18:48:42 wtc%google.com Exp $ */
#include "loader.h"
#include "prmem.h"
@ -36,7 +36,8 @@ const static char fpu_hybrid_isa[] = "sparcv9+vis";
const static char fpu_hybrid_shared_lib[] = "libfreebl_32fpu_3.so";
const static char int_hybrid_shared_lib[] = "libfreebl_32int64_3.so";
const static char non_hybrid_shared_lib[] = "libfreebl_32int_3.so";
/* This was for SPARC V8, now obsolete. */
const static char *const non_hybrid_shared_lib = NULL;
const static char int_hybrid_isa[] = "sparcv8plus";
const static char fpu_hybrid_isa[] = "sparcv8plus+vis";

View File

@ -1,144 +0,0 @@
! Inner multiply loop functions for pure 32-bit Sparc v8 CPUs.
! This Source Code Form is subject to the terms of the Mozilla Public
! License, v. 2.0. If a copy of the MPL was not distributed with this
! file, You can obtain one at http://mozilla.org/MPL/2.0/.
! $Id: mpv_sparcv8x.s,v 1.3 2012-04-25 14:49:50 gerv%gerv.net Exp $
.file "mpv_sparcv8x.s"
.align 8
.section ".text",#alloc,#execinstr
.global s_mpv_mul_d
s_mpv_mul_d:
save %sp, -0x60, %sp
mov %i0, %o0
clr %g4
cmp %i1, 0x0
be .L103
sub %i1, 0x1, %o5
ld [%o0], %g1
.L101:
umul %g1, %i2, %g2
rd %y, %g1
add %g2, %g4, %g3
mov %g1, %o4
add %o0, 0x4, %o0
cmp %g3, %g4
blu,a .L102
add %g1, 0x1, %o4
.L102:
st %g3, [%i3]
mov %o5, %g1
add %i3, 0x4, %i3
cmp %g1, 0x0
mov %o4, %g4
sub %o5, 0x1, %o5
bne,a .L101
ld [%o0], %g1
.L103:
st %g4, [%i3]
ret
restore
.type s_mpv_mul_d,2
.size s_mpv_mul_d,(.-s_mpv_mul_d)
.align 16
.global s_mpv_mul_d_add
s_mpv_mul_d_add:
save %sp, -0x60, %sp
mov %i0, %o0
clr %g4
cmp %i1, 0x0
be .L204
sub %i1, 0x1, %o5
ld [%o0], %g1
.L201:
umul %g1, %i2, %g2
rd %y, %g1
add %g2, %g4, %g3
mov %g1, %o4
add %o0, 0x4, %o0
cmp %g3, %g4
blu,a .L202
add %g1, 0x1, %o4
.L202:
ld [%i3], %g2
add %g3, %g2, %g1
cmp %g1, %g2
blu,a .L203
add %o4, 0x1, %o4
.L203:
st %g1, [%i3]
mov %o5, %g1
add %i3, 0x4, %i3
cmp %g1, 0x0
mov %o4, %g4
sub %o5, 0x1, %o5
bne,a .L201
ld [%o0], %g1
.L204:
st %g4, [%i3]
ret
restore
.type s_mpv_mul_d_add,2
.size s_mpv_mul_d_add,(.-s_mpv_mul_d_add)
.align 16
.global s_mpv_mul_d_add_prop
s_mpv_mul_d_add_prop:
save %sp, -0x60, %sp
mov %i0, %o0
clr %o5
cmp %i1, 0x0
be .L30x70
sub %i1, 0x1, %g4
ld [%o0], %g1
.L30x1c:
umul %g1, %i2, %g2
rd %y, %g1
add %g2, %o5, %g3
mov %g1, %o4
add %o0, 0x4, %o0
cmp %g3, %o5
blu,a .L30x3c
add %g1, 0x1, %o4
.L30x3c:
ld [%i3], %g2
add %g3, %g2, %g1
cmp %g1, %g2
blu,a .L30x50
add %o4, 0x1, %o4
.L30x50:
st %g1, [%i3]
mov %g4, %g1
add %i3, 0x4, %i3
cmp %g1, 0x0
mov %o4, %o5
sub %g4, 0x1, %g4
bne,a .L30x1c
ld [%o0], %g1
.L30x70:
cmp %o5, 0x0
be .L30xa0
nop
ld [%i3], %g1
.L30x80:
add %o5, %g1, %g2
st %g2, [%i3]
add %i3, 0x4, %i3
cmp %g2, %g1
addx %g0, 0x0, %o5
cmp %o5, 0x0
bne,a .L30x80
ld [%i3], %g1
.L30xa0:
ret
restore
.type s_mpv_mul_d_add_prop,2
.size s_mpv_mul_d_add_prop,(.-s_mpv_mul_d_add_prop)

View File

@ -4,7 +4,7 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* $Id: nss.h,v 1.104 2013-02-14 19:16:13 kaie%kuix.de Exp $ */
/* $Id: nss.h,v 1.105 2013-02-15 17:41:55 kaie%kuix.de Exp $ */
#ifndef __nss_h_
#define __nss_h_
@ -34,12 +34,12 @@
* The format of the version string should be
* "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]"
*/
#define NSS_VERSION "3.14.3.0" _NSS_ECC_STRING _NSS_CUSTOMIZED
#define NSS_VERSION "3.14.4.0" _NSS_ECC_STRING _NSS_CUSTOMIZED "Beta"
#define NSS_VMAJOR 3
#define NSS_VMINOR 14
#define NSS_VPATCH 3
#define NSS_VPATCH 4
#define NSS_VBUILD 0
#define NSS_BETA PR_FALSE
#define NSS_BETA PR_TRUE
#ifndef RC_INVOKED

View File

@ -25,11 +25,11 @@
* The format of the version string should be
* "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]"
*/
#define SOFTOKEN_VERSION "3.14.3.0" SOFTOKEN_ECC_STRING
#define SOFTOKEN_VERSION "3.14.4.0" SOFTOKEN_ECC_STRING "Beta"
#define SOFTOKEN_VMAJOR 3
#define SOFTOKEN_VMINOR 14
#define SOFTOKEN_VPATCH 3
#define SOFTOKEN_VPATCH 4
#define SOFTOKEN_VBUILD 0
#define SOFTOKEN_BETA PR_FALSE
#define SOFTOKEN_BETA PR_TRUE
#endif /* _SOFTKVER_H_ */

View File

@ -400,3 +400,6 @@ ER3(SSL_ERROR_RX_UNEXPECTED_HELLO_VERIFY_REQUEST, (SSL_ERROR_BASE + 123),
ER3(SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_VERSION, (SSL_ERROR_BASE + 124),
"SSL feature not supported for the protocol version.")
ER3(SSL_ERROR_RX_UNEXPECTED_CERT_STATUS, (SSL_ERROR_BASE + 125),
"SSL received an unexpected Certificate Status handshake message.")

View File

@ -156,3 +156,10 @@ SSL_SetSRTPCiphers;
;+ local:
;+*;
;+};
;+NSS_3.14.2 { # NSS 3.14.2 release
;+ global:
SSL_PeerStapledOCSPResponses;
SSL_SetStapledOCSPResponses;
;+ local:
;+*;
;+};

View File

@ -4,7 +4,7 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* $Id: ssl.h,v 1.59 2012-09-21 21:58:43 wtc%google.com Exp $ */
/* $Id: ssl.h,v 1.62 2013-02-15 17:56:19 kaie%kuix.de Exp $ */
#ifndef __ssl_h_
#define __ssl_h_
@ -158,6 +158,7 @@ SSL_IMPORT PRFileDesc *DTLS_ImportFD(PRFileDesc *model, PRFileDesc *fd);
* accept fragmented alerts).
*/
#define SSL_CBC_RANDOM_IV 23
#define SSL_ENABLE_OCSP_STAPLING 24 /* Request OCSP stapling (client) */
#ifdef SSL_DEPRECATED_FUNCTION
/* Old deprecated function names */
@ -397,6 +398,35 @@ SSL_IMPORT SECStatus SSL_SecurityStatus(PRFileDesc *fd, int *on, char **cipher,
*/
SSL_IMPORT CERTCertificate *SSL_PeerCertificate(PRFileDesc *fd);
/* SSL_PeerStapledOCSPResponses returns the OCSP responses that were provided
* by the TLS server. The return value is a pointer to an internal SECItemArray
* that contains the returned OCSP responses; it is only valid until the
* callback function that calls SSL_PeerStapledOCSPResponses returns.
*
* If no OCSP responses were given by the server then the result will be empty.
* If there was an error, then the result will be NULL.
*
* You must set the SSL_ENABLE_OCSP_STAPLING option to enable OCSP stapling.
* to be provided by a server.
*
* libssl does not do any validation of the OCSP response itself; the
* authenticate certificate hook is responsible for doing so. The default
* authenticate certificate hook, SSL_AuthCertificate, does not implement
* any OCSP stapling funtionality, but this may change in future versions.
*/
SSL_IMPORT const SECItemArray * SSL_PeerStapledOCSPResponses(PRFileDesc *fd);
/* SSL_SetStapledOCSPResponses stores an array of one or multiple OCSP responses
* in the fd's data, which may be sent as part of a server side cert_status
* handshake message.
* If takeOwnership is false, the function will duplicate the responses.
* If takeOwnership is true, the ownership of responses is transfered into the
* SSL library, and the caller must stop using it.
*/
SSL_IMPORT SECStatus
SSL_SetStapledOCSPResponses(PRFileDesc *fd, SECItemArray *responses,
PRBool takeOwnership);
/*
** Authenticate certificate hook. Called when a certificate comes in
** (because of SSL_REQUIRE_CERTIFICATE in SSL_Enable) to authenticate the
@ -417,6 +447,16 @@ SSL_IMPORT CERTCertificate *SSL_PeerCertificate(PRFileDesc *fd);
** See the documentation for SSL_AuthCertificateComplete for more information
** about the asynchronous behavior that occurs when the authenticate
** certificate hook returns SECWouldBlock.
**
** RFC 6066 says that clients should send the bad_certificate_status_response
** alert when they encounter an error processing the stapled OCSP response.
** libssl does not provide a way for the authenticate certificate hook to
** indicate that an OCSP error (SEC_ERROR_OCSP_*) that it returns is an error
** in the stapled OCSP response or an error in some other OCSP response.
** Further, NSS does not provide a convenient way to control or determine
** which OCSP response(s) were used to validate a certificate chain.
** Consequently, the current version of libssl does not ever send the
** bad_certificate_status_response alert. This may change in future releases.
*/
typedef SECStatus (PR_CALLBACK *SSLAuthCertificate)(void *arg, PRFileDesc *fd,
PRBool checkSig,

View File

@ -5,7 +5,7 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* $Id: ssl3con.c,v 1.201 2013-02-07 01:29:19 wtc%google.com Exp $ */
/* $Id: ssl3con.c,v 1.207 2013-02-19 16:16:22 wtc%google.com Exp $ */
/* TODO(ekr): Implement HelloVerifyRequest on server side. OK for now. */
@ -49,6 +49,7 @@ static SECStatus ssl3_DeriveConnectionKeysPKCS11(sslSocket *ss);
static SECStatus ssl3_HandshakeFailure( sslSocket *ss);
static SECStatus ssl3_InitState( sslSocket *ss);
static SECStatus ssl3_SendCertificate( sslSocket *ss);
static SECStatus ssl3_SendCertificateStatus( sslSocket *ss);
static SECStatus ssl3_SendEmptyCertificate( sslSocket *ss);
static SECStatus ssl3_SendCertificateRequest(sslSocket *ss);
static SECStatus ssl3_SendNextProto( sslSocket *ss);
@ -4381,7 +4382,7 @@ ssl3_SendClientHello(sslSocket *ss, PRBool resending)
total_exten_len += 2;
}
#if defined(NSS_ENABLE_ECC) && !defined(NSS_ECC_MORE_THAN_SUITE_B)
#if defined(NSS_ENABLE_ECC)
if (!total_exten_len || !isTLS) {
/* not sending the elliptic_curves and ec_point_formats extensions */
ssl3_DisableECCSuites(ss, NULL); /* disable all ECC suites */
@ -6491,6 +6492,10 @@ ssl3_SendServerHelloSequence(sslSocket *ss)
if (rv != SECSuccess) {
return rv; /* error code is set. */
}
rv = ssl3_SendCertificateStatus(ss);
if (rv != SECSuccess) {
return rv; /* error code is set. */
}
/* We have to do this after the call to ssl3_SendServerHello,
* because kea_def is set up by ssl3_SendServerHello().
*/
@ -8433,6 +8438,52 @@ ssl3_SendCertificate(sslSocket *ss)
return SECSuccess;
}
/*
* Used by server only.
* single-stapling, send only a single cert status
*/
static SECStatus
ssl3_SendCertificateStatus(sslSocket *ss)
{
SECStatus rv;
CERTCertificateList *certChain;
int len = 0;
int i;
SSL3KEAType certIndex;
SSL_TRC(3, ("%d: SSL3[%d]: send certificate status handshake",
SSL_GETPID(), ss->fd));
PORT_Assert( ss->opt.noLocks || ssl_HaveXmitBufLock(ss));
PORT_Assert( ss->opt.noLocks || ssl_HaveSSL3HandshakeLock(ss));
if (!ssl3_ExtensionNegotiated(ss, ssl_cert_status_xtn))
return SECSuccess;
if (!ss->certStatusArray)
return SECSuccess;
/* Use the array's first item only (single stapling) */
len = 1 + ss->certStatusArray->items[0].len + 3;
rv = ssl3_AppendHandshakeHeader(ss, certificate_status, len);
if (rv != SECSuccess) {
return rv; /* err set by AppendHandshake. */
}
rv = ssl3_AppendHandshakeNumber(ss, 1 /*ocsp*/, 1);
if (rv != SECSuccess)
return rv; /* err set by AppendHandshake. */
rv = ssl3_AppendHandshakeVariable(ss,
ss->certStatusArray->items[0].data,
ss->certStatusArray->items[0].len,
3);
if (rv != SECSuccess)
return rv; /* err set by AppendHandshake. */
return SECSuccess;
}
/* This is used to delete the CA certificates in the peer certificate chain
* from the cert database after they've been validated.
*/
@ -8450,6 +8501,57 @@ ssl3_CleanupPeerCerts(sslSocket *ss)
ss->ssl3.peerCertChain = NULL;
}
/* Called from ssl3_HandleHandshakeMessage() when it has deciphered a complete
* ssl3 CertificateStatus message.
* Caller must hold Handshake and RecvBuf locks.
* This is always called before ssl3_HandleCertificate, even if the Certificate
* message is sent first.
*/
static SECStatus
ssl3_HandleCertificateStatus(sslSocket *ss, SSL3Opaque *b, PRUint32 length)
{
PRInt32 status, len;
PORT_Assert(ss->ssl3.hs.ws == wait_certificate_status);
/* Consume the CertificateStatusType enum */
status = ssl3_ConsumeHandshakeNumber(ss, 1, &b, &length);
if (status != 1 /* ocsp */) {
goto format_loser;
}
len = ssl3_ConsumeHandshakeNumber(ss, 3, &b, &length);
if (len != length) {
goto format_loser;
}
#define MAX_CERTSTATUS_LEN 0x1ffff /* 128k - 1 */
if (length > MAX_CERTSTATUS_LEN)
goto format_loser;
#undef MAX_CERTSTATUS_LEN
/* Array size 1, because we currently implement single-stapling only*/
SECITEM_AllocArray(NULL, &ss->sec.ci.sid->peerCertStatus, 1);
if (!ss->sec.ci.sid->peerCertStatus.items)
return SECFailure;
ss->sec.ci.sid->peerCertStatus.items[0].data = PORT_Alloc(length);
if (!ss->sec.ci.sid->peerCertStatus.items[0].data) {
SECITEM_FreeArray(&ss->sec.ci.sid->peerCertStatus, PR_FALSE);
return SECFailure;
}
PORT_Memcpy(ss->sec.ci.sid->peerCertStatus.items[0].data, b, length);
ss->sec.ci.sid->peerCertStatus.items[0].len = length;
ss->sec.ci.sid->peerCertStatus.items[0].type = siBuffer;
return SECSuccess;
format_loser:
return ssl3_DecodeError(ss);
}
static SECStatus ssl3_AuthCertificate(sslSocket *ss);
/* Called from ssl3_HandleHandshakeMessage() when it has deciphered a complete
* ssl3 Certificate message.
* Caller must hold Handshake and RecvBuf locks.
@ -8516,7 +8618,8 @@ ssl3_HandleCertificate(sslSocket *ss, SSL3Opaque *b, PRUint32 length)
errCode = PORT_GetError();
goto loser;
}
goto server_no_cert;
ss->ssl3.hs.ws = wait_client_key;
return SECSuccess;
}
ss->ssl3.peerCertArena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);
@ -8595,6 +8698,48 @@ ssl3_HandleCertificate(sslSocket *ss, SSL3Opaque *b, PRUint32 length)
SECKEY_UpdateCertPQG(ss->sec.peerCert);
if (!isServer && ssl3_ExtensionNegotiated(ss, ssl_cert_status_xtn)) {
ss->ssl3.hs.ws = wait_certificate_status;
rv = SECSuccess;
} else {
rv = ssl3_AuthCertificate(ss); /* sets ss->ssl3.hs.ws */
}
return rv;
ambiguous_err:
errCode = PORT_GetError();
switch (errCode) {
case PR_OUT_OF_MEMORY_ERROR:
case SEC_ERROR_BAD_DATABASE:
case SEC_ERROR_NO_MEMORY:
if (isTLS) {
desc = internal_error;
goto alert_loser;
}
goto loser;
}
ssl3_SendAlertForCertError(ss, errCode);
goto loser;
decode_loser:
desc = isTLS ? decode_error : bad_certificate;
alert_loser:
(void)SSL3_SendAlert(ss, alert_fatal, desc);
loser:
(void)ssl_MapLowLevelError(errCode);
return SECFailure;
}
static SECStatus
ssl3_AuthCertificate(sslSocket *ss)
{
SECStatus rv;
PRBool isServer = (PRBool)(!!ss->sec.isServer);
int errCode;
ss->ssl3.hs.authCertificatePending = PR_FALSE;
/*
@ -8691,7 +8836,6 @@ ssl3_HandleCertificate(sslSocket *ss, SSL3Opaque *b, PRUint32 length)
ss->ssl3.hs.ws = wait_server_key; /* allow server_key_exchange */
}
} else {
server_no_cert:
ss->ssl3.hs.ws = wait_client_key;
}
@ -8704,34 +8848,7 @@ server_no_cert:
return rv;
ambiguous_err:
errCode = PORT_GetError();
switch (errCode) {
case PR_OUT_OF_MEMORY_ERROR:
case SEC_ERROR_BAD_DATABASE:
case SEC_ERROR_NO_MEMORY:
if (isTLS) {
desc = internal_error;
goto alert_loser;
}
goto loser;
}
ssl3_SendAlertForCertError(ss, errCode);
goto loser;
decode_loser:
desc = isTLS ? decode_error : bad_certificate;
alert_loser:
(void)SSL3_SendAlert(ss, alert_fatal, desc);
loser:
ssl3_CleanupPeerCerts(ss);
if (ss->sec.peerCert != NULL) {
CERT_DestroyCertificate(ss->sec.peerCert);
ss->sec.peerCert = NULL;
}
(void)ssl_MapLowLevelError(errCode);
return SECFailure;
}
@ -9420,7 +9537,26 @@ ssl3_HandleHandshakeMessage(sslSocket *ss, SSL3Opaque *b, PRUint32 length)
}
PORT_SetError(0); /* each message starts with no error. */
switch (ss->ssl3.hs.msg_type) {
/* The CertificateStatus message is optional. We process the message if we
* get one when it is allowed, but otherwise we just carry on.
*/
if (ss->ssl3.hs.ws == wait_certificate_status) {
/* We must process any CertificateStatus message before we call
* ssl3_AuthCertificate, as ssl3_AuthCertificate needs any stapled OCSP
* response we get.
*/
if (ss->ssl3.hs.msg_type == certificate_status) {
rv = ssl3_HandleCertificateStatus(ss, b, length);
if (rv != SECSuccess)
return rv;
}
/* Regardless of whether we got a CertificateStatus message, we must
* authenticate the cert before we handle any more handshake messages.
*/
rv = ssl3_AuthCertificate(ss); /* sets ss->ssl3.hs.ws */
} else switch (ss->ssl3.hs.msg_type) {
case hello_request:
if (length != 0) {
(void)ssl3_DecodeError(ss);
@ -9461,6 +9597,11 @@ ssl3_HandleHandshakeMessage(sslSocket *ss, SSL3Opaque *b, PRUint32 length)
case certificate:
rv = ssl3_HandleCertificate(ss, b, length);
break;
case certificate_status:
/* The good case is handled above */
PORT_SetError(SSL_ERROR_RX_UNEXPECTED_CERT_STATUS);
rv = SECFailure;
break;
case server_key_exchange:
if (ss->sec.isServer) {
(void)SSL3_SendAlert(ss, alert_fatal, unexpected_message);

View File

@ -6,7 +6,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* TLS extension code moved here from ssl3ecc.c */
/* $Id: ssl3ext.c,v 1.30 2012-11-13 01:26:40 wtc%google.com Exp $ */
/* $Id: ssl3ext.c,v 1.32 2013-02-15 17:56:19 kaie%kuix.de Exp $ */
#include "nssrenam.h"
#include "nss.h"
@ -61,6 +61,15 @@ static PRInt32 ssl3_SendUseSRTPXtn(sslSocket *ss, PRBool append,
PRUint32 maxBytes);
static SECStatus ssl3_HandleUseSRTPXtn(sslSocket * ss, PRUint16 ex_type,
SECItem *data);
static SECStatus ssl3_ServerSendStatusRequestXtn(sslSocket * ss,
PRBool append, PRUint32 maxBytes);
static SECStatus ssl3_ServerHandleStatusRequestXtn(sslSocket *ss,
PRUint16 ex_type, SECItem *data);
static SECStatus ssl3_ClientHandleStatusRequestXtn(sslSocket *ss,
PRUint16 ex_type,
SECItem *data);
static PRInt32 ssl3_ClientSendStatusRequestXtn(sslSocket * ss, PRBool append,
PRUint32 maxBytes);
/*
* Write bytes. Using this function means the SECItem structure
@ -222,6 +231,7 @@ static const ssl3HelloExtensionHandler clientHelloHandlers[] = {
{ ssl_renegotiation_info_xtn, &ssl3_HandleRenegotiationInfoXtn },
{ ssl_next_proto_nego_xtn, &ssl3_ServerHandleNextProtoNegoXtn },
{ ssl_use_srtp_xtn, &ssl3_HandleUseSRTPXtn },
{ ssl_cert_status_xtn, &ssl3_ServerHandleStatusRequestXtn },
{ -1, NULL }
};
@ -234,6 +244,7 @@ static const ssl3HelloExtensionHandler serverHelloHandlersTLS[] = {
{ ssl_renegotiation_info_xtn, &ssl3_HandleRenegotiationInfoXtn },
{ ssl_next_proto_nego_xtn, &ssl3_ClientHandleNextProtoNegoXtn },
{ ssl_use_srtp_xtn, &ssl3_HandleUseSRTPXtn },
{ ssl_cert_status_xtn, &ssl3_ClientHandleStatusRequestXtn },
{ -1, NULL }
};
@ -258,7 +269,8 @@ ssl3HelloExtensionSender clientHelloSendersTLS[SSL_MAX_EXTENSIONS] = {
#endif
{ ssl_session_ticket_xtn, &ssl3_SendSessionTicketXtn },
{ ssl_next_proto_nego_xtn, &ssl3_ClientSendNextProtoNegoXtn },
{ ssl_use_srtp_xtn, &ssl3_SendUseSRTPXtn }
{ ssl_use_srtp_xtn, &ssl3_SendUseSRTPXtn },
{ ssl_cert_status_xtn, &ssl3_ClientSendStatusRequestXtn }
/* any extra entries will appear as { 0, NULL } */
};
@ -648,6 +660,101 @@ loser:
return -1;
}
static SECStatus
ssl3_ClientHandleStatusRequestXtn(sslSocket *ss, PRUint16 ex_type,
SECItem *data)
{
/* The echoed extension must be empty. */
if (data->len != 0)
return SECFailure;
/* Keep track of negotiated extensions. */
ss->xtnData.negotiated[ss->xtnData.numNegotiated++] = ex_type;
return SECSuccess;
}
static PRInt32
ssl3_ServerSendStatusRequestXtn(
sslSocket * ss,
PRBool append,
PRUint32 maxBytes)
{
PRInt32 extension_length;
SECStatus rv;
if (!ss->certStatusArray)
return 0;
extension_length = 2 + 2;
if (append && maxBytes >= extension_length) {
/* extension_type */
rv = ssl3_AppendHandshakeNumber(ss, ssl_cert_status_xtn, 2);
if (rv != SECSuccess)
return -1;
/* length of extension_data */
rv = ssl3_AppendHandshakeNumber(ss, 0, 2);
if (rv != SECSuccess)
return -1;
}
return extension_length;
}
/* ssl3_ClientSendStatusRequestXtn builds the status_request extension on the
* client side. See RFC 4366 section 3.6. */
static PRInt32
ssl3_ClientSendStatusRequestXtn(sslSocket * ss, PRBool append,
PRUint32 maxBytes)
{
PRInt32 extension_length;
if (!ss->opt.enableOCSPStapling)
return 0;
/* extension_type (2-bytes) +
* length(extension_data) (2-bytes) +
* status_type (1) +
* responder_id_list length (2) +
* request_extensions length (2)
*/
extension_length = 9;
if (append && maxBytes >= extension_length) {
SECStatus rv;
TLSExtensionData *xtnData;
/* extension_type */
rv = ssl3_AppendHandshakeNumber(ss, ssl_cert_status_xtn, 2);
if (rv != SECSuccess)
return -1;
rv = ssl3_AppendHandshakeNumber(ss, extension_length - 4, 2);
if (rv != SECSuccess)
return -1;
rv = ssl3_AppendHandshakeNumber(ss, 1 /* status_type ocsp */, 1);
if (rv != SECSuccess)
return -1;
/* A zero length responder_id_list means that the responders are
* implicitly known to the server. */
rv = ssl3_AppendHandshakeNumber(ss, 0, 2);
if (rv != SECSuccess)
return -1;
/* A zero length request_extensions means that there are no extensions.
* Specifically, we don't set the id-pkix-ocsp-nonce extension. This
* means that the server can replay a cached OCSP response to us. */
rv = ssl3_AppendHandshakeNumber(ss, 0, 2);
if (rv != SECSuccess)
return -1;
xtnData = &ss->xtnData;
xtnData->advertised[xtnData->numAdvertised++] = ssl_cert_status_xtn;
} else if (maxBytes < extension_length) {
PORT_Assert(0);
return 0;
}
return extension_length;
}
/*
* NewSessionTicket
* Called from ssl3_HandleFinished
@ -1630,6 +1737,22 @@ ssl3_SendRenegotiationInfoXtn(
return needed;
}
static SECStatus
ssl3_ServerHandleStatusRequestXtn(sslSocket *ss, PRUint16 ex_type,
SECItem *data)
{
SECStatus rv = SECSuccess;
PRUint32 len = 0;
/* remember that we got this extension. */
ss->xtnData.negotiated[ss->xtnData.numNegotiated++] = ex_type;
PORT_Assert(ss->sec.isServer);
/* prepare to send back the appropriate response */
rv = ssl3_RegisterServerHelloExtensionSender(ss, ex_type,
ssl3_ServerSendStatusRequestXtn);
return rv;
}
/* This function runs in both the client and server. */
static SECStatus
ssl3_HandleRenegotiationInfoXtn(sslSocket *ss, PRUint16 ex_type, SECItem *data)

View File

@ -5,7 +5,7 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* $Id: ssl3prot.h,v 1.22 2012-04-25 14:50:12 gerv%gerv.net Exp $ */
/* $Id: ssl3prot.h,v 1.23 2013-02-15 17:52:45 kaie%kuix.de Exp $ */
#ifndef __ssl3proto_h_
#define __ssl3proto_h_
@ -129,6 +129,7 @@ typedef enum {
certificate_verify = 15,
client_key_exchange = 16,
finished = 20,
certificate_status = 22,
next_proto = 67
} SSL3HandshakeType;

View File

@ -1,13 +1,14 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* $Id: sslauth.c,v 1.18 2012-04-25 14:50:12 gerv%gerv.net Exp $ */
/* $Id: sslauth.c,v 1.20 2013-02-15 17:55:41 kaie%kuix.de Exp $ */
#include "cert.h"
#include "secitem.h"
#include "ssl.h"
#include "sslimpl.h"
#include "sslproto.h"
#include "pk11func.h"
#include "ocsp.h"
/* NEED LOCKS IN HERE. */
CERTCertificate *
@ -214,6 +215,9 @@ SSL_AuthCertificate(void *arg, PRFileDesc *fd, PRBool checkSig, PRBool isServer)
sslSocket * ss;
SECCertUsage certUsage;
const char * hostname = NULL;
PRTime now = PR_Now();
SECItemArray *certStatusArray;
unsigned int i;
ss = ssl_FindSocket(fd);
PORT_Assert(ss != NULL);
@ -222,12 +226,18 @@ SSL_AuthCertificate(void *arg, PRFileDesc *fd, PRBool checkSig, PRBool isServer)
}
handle = (CERTCertDBHandle *)arg;
certStatusArray = &ss->sec.ci.sid->peerCertStatus;
for (i = 0; i < certStatusArray->len; ++i) {
CERT_CacheOCSPResponseFromSideChannel(handle, ss->sec.peerCert,
now, &certStatusArray->items[i], arg);
}
/* this may seem backwards, but isn't. */
certUsage = isServer ? certUsageSSLClient : certUsageSSLServer;
rv = CERT_VerifyCertNow(handle, ss->sec.peerCert, checkSig, certUsage,
ss->pkcs11PinArg);
rv = CERT_VerifyCert(handle, ss->sec.peerCert, checkSig, certUsage,
now, ss->pkcs11PinArg, NULL);
if ( rv != SECSuccess || isServer )
return rv;

View File

@ -4,7 +4,7 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* $Id: sslcon.c,v 1.52 2012-07-17 14:43:11 kaie%kuix.de Exp $ */
/* $Id: sslcon.c,v 1.55 2013-02-19 16:16:22 wtc%google.com Exp $ */
#include "nssrenam.h"
#include "cert.h"
@ -3102,7 +3102,7 @@ ssl2_BeginClientHandshake(sslSocket *ss)
return rv;
}
#if defined(NSS_ENABLE_ECC) && !defined(NSS_ECC_MORE_THAN_SUITE_B)
#if defined(NSS_ENABLE_ECC)
/* ensure we don't neogtiate ECC cipher suites with SSL2 hello */
ssl3_DisableECCSuites(ss, NULL); /* disable all ECC suites */
if (ss->cipherSpecs != NULL) {

View File

@ -4,7 +4,7 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* $Id: sslerr.h,v 1.25 2012-07-13 00:51:57 wtc%google.com Exp $ */
/* $Id: sslerr.h,v 1.26 2013-02-15 17:52:45 kaie%kuix.de Exp $ */
#ifndef __SSL_ERR_H_
#define __SSL_ERR_H_
@ -188,6 +188,8 @@ SSL_ERROR_RX_UNEXPECTED_HELLO_VERIFY_REQUEST = (SSL_ERROR_BASE + 123),
SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_VERSION = (SSL_ERROR_BASE + 124),
SSL_ERROR_RX_UNEXPECTED_CERT_STATUS = (SSL_ERROR_BASE + 125),
SSL_ERROR_END_OF_LIST /* let the c compiler determine the value of this. */
} SSLErrorCodes;
#endif /* NO_SECURITY_ERROR_ENUM */

View File

@ -5,7 +5,7 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* $Id: sslimpl.h,v 1.109 2012-11-14 01:14:12 wtc%google.com Exp $ */
/* $Id: sslimpl.h,v 1.112 2013-02-15 17:56:19 kaie%kuix.de Exp $ */
#ifndef __sslimpl_h_
#define __sslimpl_h_
@ -316,6 +316,7 @@ typedef struct sslOptionsStr {
unsigned int requireSafeNegotiation : 1; /* 22 */
unsigned int enableFalseStart : 1; /* 23 */
unsigned int cbcRandomIV : 1; /* 24 */
unsigned int enableOCSPStapling : 1; /* 25 */
} sslOptions;
typedef enum { sslHandshakingUndetermined = 0,
@ -575,6 +576,7 @@ struct sslSessionIDStr {
sslSessionID * next; /* chain used for client sockets, only */
CERTCertificate * peerCert;
SECItemArray peerCertStatus; /* client only */
const char * peerID; /* client only */
const char * urlSvrName; /* client only */
CERTCertificate * localCert;
@ -717,6 +719,7 @@ typedef enum {
wait_change_cipher,
wait_finished,
wait_server_hello,
wait_certificate_status,
wait_server_cert,
wait_server_key,
wait_cert_request,
@ -1175,6 +1178,7 @@ const unsigned char * preferredCipher;
/* Configuration state for server sockets */
/* server cert and key for each KEA type */
sslServerCerts serverCerts[kt_kea_size];
SECItemArray * certStatusArray;
ssl3CipherSuiteCfg cipherSuites[ssl_V3_SUITES_IMPLEMENTED];
ssl3KeyPair * ephemeralECDHKeyPair; /* for ECDHE-* handshake */

View File

@ -4,7 +4,7 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* $Id: sslnonce.c,v 1.28 2012-11-14 01:14:12 wtc%google.com Exp $ */
/* $Id: sslnonce.c,v 1.30 2013-02-15 17:55:41 kaie%kuix.de Exp $ */
#include "cert.h"
#include "pk11pub.h"
@ -184,6 +184,12 @@ ssl_DestroySID(sslSessionID *sid)
if ( sid->peerCert ) {
CERT_DestroyCertificate(sid->peerCert);
}
if (sid->peerCertStatus.len) {
SECITEM_FreeArray(&sid->peerCertStatus, PR_FALSE);
sid->peerCertStatus.items = NULL;
sid->peerCertStatus.len = 0;
}
if ( sid->localCert ) {
CERT_DestroyCertificate(sid->localCert);
}

View File

@ -6,7 +6,7 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* $Id: sslsock.c,v 1.99 2012-12-20 20:29:36 bsmith%mozilla.com Exp $ */
/* $Id: sslsock.c,v 1.102 2013-02-15 17:56:19 kaie%kuix.de Exp $ */
#include "seccomon.h"
#include "cert.h"
#include "keyhi.h"
@ -153,7 +153,8 @@ static sslOptions ssl_defaults = {
2, /* enableRenegotiation (default: requires extension) */
PR_FALSE, /* requireSafeNegotiation */
PR_FALSE, /* enableFalseStart */
PR_TRUE /* cbcRandomIV */
PR_TRUE, /* cbcRandomIV */
PR_FALSE /* enableOCSPStapling */
};
/*
@ -326,6 +327,8 @@ ssl_DupSocket(sslSocket *os)
ssl3_GetKeyPairRef(os->stepDownKeyPair);
ss->ephemeralECDHKeyPair = !os->ephemeralECDHKeyPair ? NULL :
ssl3_GetKeyPairRef(os->ephemeralECDHKeyPair);
ss->certStatusArray = !os->certStatusArray ? NULL :
SECITEM_DupArray(NULL, os->certStatusArray);
/*
* XXX the preceding CERT_ and SECKEY_ functions can fail and return NULL.
* XXX We should detect this, and not just march on with NULL pointers.
@ -437,6 +440,10 @@ ssl_DestroySocketContents(sslSocket *ss)
ssl3_FreeKeyPair(ss->ephemeralECDHKeyPair);
ss->ephemeralECDHKeyPair = NULL;
}
if (ss->certStatusArray) {
SECITEM_FreeArray(ss->certStatusArray, PR_TRUE);
ss->certStatusArray = NULL;
}
SECITEM_FreeItem(&ss->opt.nextProtoNego, PR_FALSE);
PORT_Assert(!ss->xtnData.sniNameArr);
if (ss->xtnData.sniNameArr) {
@ -827,6 +834,10 @@ SSL_OptionSet(PRFileDesc *fd, PRInt32 which, PRBool on)
ss->opt.cbcRandomIV = on;
break;
case SSL_ENABLE_OCSP_STAPLING:
ss->opt.enableOCSPStapling = on;
break;
default:
PORT_SetError(SEC_ERROR_INVALID_ARGS);
rv = SECFailure;
@ -896,6 +907,7 @@ SSL_OptionGet(PRFileDesc *fd, PRInt32 which, PRBool *pOn)
on = ss->opt.requireSafeNegotiation; break;
case SSL_ENABLE_FALSE_START: on = ss->opt.enableFalseStart; break;
case SSL_CBC_RANDOM_IV: on = ss->opt.cbcRandomIV; break;
case SSL_ENABLE_OCSP_STAPLING: on = ss->opt.enableOCSPStapling; break;
default:
PORT_SetError(SEC_ERROR_INVALID_ARGS);
@ -954,6 +966,9 @@ SSL_OptionGetDefault(PRInt32 which, PRBool *pOn)
break;
case SSL_ENABLE_FALSE_START: on = ssl_defaults.enableFalseStart; break;
case SSL_CBC_RANDOM_IV: on = ssl_defaults.cbcRandomIV; break;
case SSL_ENABLE_OCSP_STAPLING:
on = ssl_defaults.enableOCSPStapling;
break;
default:
PORT_SetError(SEC_ERROR_INVALID_ARGS);
@ -1117,6 +1132,10 @@ SSL_OptionSetDefault(PRInt32 which, PRBool on)
ssl_defaults.cbcRandomIV = on;
break;
case SSL_ENABLE_OCSP_STAPLING:
ssl_defaults.enableOCSPStapling = on;
break;
default:
PORT_SetError(SEC_ERROR_INVALID_ARGS);
return SECFailure;
@ -1675,6 +1694,13 @@ SSL_ReconfigFD(PRFileDesc *model, PRFileDesc *fd)
ss->ephemeralECDHKeyPair =
ssl3_GetKeyPairRef(sm->ephemeralECDHKeyPair);
}
if (sm->certStatusArray) {
if (ss->certStatusArray) {
SECITEM_FreeArray(ss->certStatusArray, PR_TRUE);
ss->certStatusArray = NULL;
}
ss->certStatusArray = SECITEM_DupArray(NULL, sm->certStatusArray);
}
/* copy trust anchor names */
if (sm->ssl3.ca_list) {
if (ss->ssl3.ca_list) {
@ -1853,6 +1879,25 @@ SSL_VersionRangeSet(PRFileDesc *fd, const SSLVersionRange *vrange)
return SECSuccess;
}
const SECItemArray *
SSL_PeerStapledOCSPResponses(PRFileDesc *fd)
{
sslSocket *ss = ssl_FindSocket(fd);
if (!ss) {
SSL_DBG(("%d: SSL[%d]: bad socket in SSL_PeerStapledOCSPResponses",
SSL_GETPID(), fd));
return NULL;
}
if (!ss->sec.ci.sid) {
PORT_SetError(SEC_ERROR_NOT_INITIALIZED);
return NULL;
}
return &ss->sec.ci.sid->peerCertStatus;
}
/************************************************************************/
/* The following functions are the TOP LEVEL SSL functions.
** They all get called through the NSPRIOMethods table below.
@ -2190,6 +2235,34 @@ ssl_GetSockName(PRFileDesc *fd, PRNetAddr *name)
return (PRStatus)(*ss->ops->getsockname)(ss, name);
}
SECStatus
SSL_SetStapledOCSPResponses(PRFileDesc *fd, SECItemArray *responses,
PRBool takeOwnership)
{
sslSocket *ss;
ss = ssl_FindSocket(fd);
if (!ss) {
SSL_DBG(("%d: SSL[%d]: bad socket in SSL_SetStapledOCSPResponses",
SSL_GETPID(), fd));
return SECFailure;
}
if (ss->certStatusArray) {
SECITEM_FreeArray(ss->certStatusArray, PR_TRUE);
ss->certStatusArray = NULL;
}
if (responses) {
if (takeOwnership) {
ss->certStatusArray = responses;
}
else {
ss->certStatusArray = SECITEM_DupArray(NULL, responses);
}
}
return (ss->certStatusArray || !responses) ? SECSuccess : SECFailure;
}
SECStatus
SSL_SetSockPeerID(PRFileDesc *fd, const char *peerID)
{
@ -2197,7 +2270,7 @@ SSL_SetSockPeerID(PRFileDesc *fd, const char *peerID)
ss = ssl_FindSocket(fd);
if (!ss) {
SSL_DBG(("%d: SSL[%d]: bad socket in SSL_SetCacheIndex",
SSL_DBG(("%d: SSL[%d]: bad socket in SSL_SetSockPeerID",
SSL_GETPID(), fd));
return SECFailure;
}
@ -2890,6 +2963,7 @@ ssl_NewSocket(PRBool makeLocks, SSLProtocolVariant protocolVariant)
}
ss->stepDownKeyPair = NULL;
ss->dbHandle = CERT_GetDefaultCertDB();
ss->certStatusArray = NULL;
/* Provide default implementation of hooks */
ss->authCertificate = SSL_AuthCertificate;

View File

@ -4,7 +4,7 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* $Id: sslt.h,v 1.23 2012-06-07 02:06:19 wtc%google.com Exp $ */
/* $Id: sslt.h,v 1.24 2013-02-15 17:52:45 kaie%kuix.de Exp $ */
#ifndef __sslt_h_
#define __sslt_h_
@ -175,6 +175,7 @@ typedef enum {
/* Update SSL_MAX_EXTENSIONS whenever a new extension type is added. */
typedef enum {
ssl_server_name_xtn = 0,
ssl_cert_status_xtn = 5,
#ifdef NSS_ENABLE_ECC
ssl_elliptic_curves_xtn = 10,
ssl_ec_point_formats_xtn = 11,
@ -185,6 +186,6 @@ typedef enum {
ssl_renegotiation_info_xtn = 0xff01 /* experimental number */
} SSLExtensionType;
#define SSL_MAX_EXTENSIONS 7
#define SSL_MAX_EXTENSIONS 8
#endif /* __sslt_h_ */

View File

@ -261,3 +261,12 @@ NSSUTIL_QuoteSize;
;+ local:
;+ *;
;+};
;+NSSUTIL_3.14.2 { # NSS Utilities 3.14.2 release
;+ global:
SECITEM_AllocArray;
SECITEM_DupArray;
SECITEM_FreeArray;
SECITEM_ZfreeArray;
;+ local:
;+ *;
;+};

View File

@ -19,12 +19,12 @@
* The format of the version string should be
* "<major version>.<minor version>[.<patch level>[.<build number>]][ <Beta>]"
*/
#define NSSUTIL_VERSION "3.14.3.0"
#define NSSUTIL_VERSION "3.14.4.0 Beta"
#define NSSUTIL_VMAJOR 3
#define NSSUTIL_VMINOR 14
#define NSSUTIL_VPATCH 3
#define NSSUTIL_VPATCH 4
#define NSSUTIL_VBUILD 0
#define NSSUTIL_BETA PR_FALSE
#define NSSUTIL_BETA PR_TRUE
SEC_BEGIN_PROTOS

View File

@ -9,7 +9,7 @@
* for security libraries. It should not be dependent on any other
* headers, and should not require linking with any libraries.
*
* $Id: seccomon.h,v 1.8 2012-04-25 14:50:16 gerv%gerv.net Exp $
* $Id: seccomon.h,v 1.9 2013-02-15 17:55:42 kaie%kuix.de Exp $
*/
#ifndef _SECCOMMON_H_
@ -56,6 +56,13 @@ struct SECItemStr {
unsigned int len;
};
typedef struct SECItemArrayStr SECItemArray;
struct SECItemArrayStr {
SECItem *items;
unsigned int len;
};
/*
** A status code. Status's are used by procedures that return status
** values. Again the motivation is so that a compiler can generate

View File

@ -5,13 +5,14 @@
/*
* Support routines for SECItem data structure.
*
* $Id: secitem.c,v 1.18 2012-04-25 14:50:16 gerv%gerv.net Exp $
* $Id: secitem.c,v 1.20 2013-02-15 17:56:19 kaie%kuix.de Exp $
*/
#include "seccomon.h"
#include "secitem.h"
#include "base64.h"
#include "secerr.h"
#include "secport.h"
SECItem *
SECITEM_AllocItem(PRArenaPool *arena, SECItem *item, unsigned int len)
@ -294,3 +295,125 @@ SECITEM_HashCompare ( const void *k1, const void *k2)
return SECITEM_ItemsAreEqual(i1,i2);
}
SECItemArray *
SECITEM_AllocArray(PLArenaPool *arena, SECItemArray *array, unsigned int len)
{
SECItemArray *result = NULL;
void *mark = NULL;
if (arena != NULL) {
mark = PORT_ArenaMark(arena);
}
if (array == NULL) {
if (arena != NULL) {
result = PORT_ArenaZAlloc(arena, sizeof(SECItemArray));
} else {
result = PORT_ZAlloc(sizeof(SECItemArray));
}
if (result == NULL) {
goto loser;
}
} else {
PORT_Assert(array->items == NULL);
result = array;
}
result->len = len;
if (len) {
if (arena != NULL) {
result->items = PORT_ArenaZNewArray(arena, SECItem, len);
} else {
result->items = PORT_ZNewArray(SECItem, len);
}
if (result->items == NULL) {
goto loser;
}
} else {
result->items = NULL;
}
if (mark) {
PORT_ArenaUnmark(arena, mark);
}
return(result);
loser:
if ( arena != NULL ) {
if (mark) {
PORT_ArenaRelease(arena, mark);
}
if (array != NULL) {
array->items = NULL;
array->len = 0;
}
} else {
if (result != NULL && array == NULL) {
PORT_Free(result);
}
/*
* If array is not NULL, the above has set array->data and
* array->len to 0.
*/
}
return(NULL);
}
void secitem_FreeArray(SECItemArray *array, PRBool zero_items, PRBool freeit)
{
unsigned int i;
if (!array || !array->len || !array->items)
return;
for (i=0; i<array->len; ++i) {
SECItem *item = &array->items[i];
if (item->data) {
if (zero_items) {
SECITEM_ZfreeItem(item, PR_FALSE);
} else {
SECITEM_FreeItem(item, PR_FALSE);
}
}
}
if (freeit)
PORT_Free(array);
}
void SECITEM_FreeArray(SECItemArray *array, PRBool freeit)
{
secitem_FreeArray(array, PR_FALSE, freeit);
}
void SECITEM_ZfreeArray(SECItemArray *array, PRBool freeit)
{
secitem_FreeArray(array, PR_TRUE, freeit);
}
SECItemArray *
SECITEM_DupArray(PLArenaPool *arena, const SECItemArray *from)
{
SECItemArray *result;
unsigned int i;
if (!from || !from->items || !from->len)
return NULL;
result = SECITEM_AllocArray(arena, NULL, from->len);
if (!result)
return NULL;
for (i=0; i<from->len; ++i) {
SECStatus rv = SECITEM_CopyItem(arena,
&result->items[i], &from->items[i]);
if (rv != SECSuccess) {
SECITEM_ZfreeArray(result, PR_TRUE);
return NULL;
}
}
return result;
}

View File

@ -11,7 +11,7 @@
* secitem.h - public data structures and prototypes for handling
* SECItems
*
* $Id: secitem.h,v 1.9 2012-04-25 14:50:16 gerv%gerv.net Exp $
* $Id: secitem.h,v 1.11 2013-02-15 17:56:19 kaie%kuix.de Exp $
*/
#include "plarena.h"
@ -90,6 +90,12 @@ PLHashNumber PR_CALLBACK SECITEM_Hash ( const void *key);
PRIntn PR_CALLBACK SECITEM_HashCompare ( const void *k1, const void *k2);
extern SECItemArray *SECITEM_AllocArray(PLArenaPool *arena,
SECItemArray *array,
unsigned int len);
extern SECItemArray *SECITEM_DupArray(PLArenaPool *arena, const SECItemArray *from);
extern void SECITEM_FreeArray(SECItemArray *array, PRBool freeit);
extern void SECITEM_ZfreeArray(SECItemArray *array, PRBool freeit);
SEC_END_PROTOS

View File

@ -183,7 +183,7 @@ run_cycle_upgrade_db()
init_directories
if [ -r "${OLDHOSTDIR}/cert.log" ]; then
DIRS="alicedir bobdir CA cert_extensions client clientCA dave eccurves eve ext_client ext_server fips SDR server serverCA tools/copydir cert.log cert.done tests.*"
DIRS="alicedir bobdir CA cert_extensions client clientCA dave eccurves eve ext_client ext_server fips SDR server serverCA stapling tools/copydir cert.log cert.done tests.*"
for i in $DIRS
do
cp -r ${OLDHOSTDIR}/${i} ${HOSTDIR} #2> /dev/null
@ -281,7 +281,7 @@ ALL_TESTS=${TESTS}
nss_ssl_tests="crl bypass_normal normal_bypass fips_normal normal_fips iopr"
NSS_SSL_TESTS="${NSS_SSL_TESTS:-$nss_ssl_tests}"
nss_ssl_run="cov auth stress"
nss_ssl_run="cov auth stapling stress"
NSS_SSL_RUN="${NSS_SSL_RUN:-$nss_ssl_run}"
SCRIPTNAME=all.sh

View File

@ -74,6 +74,23 @@ cert_log() ###################### write the cert_status file
echo $* >>${CERT_LOG_FILE}
}
########################################################################
# function wraps calls to pk12util, also: writes action and options
# to stdout.
# Params are the same as to pk12util.
# Returns pk12util status
#
pk12u()
{
echo "${CU_ACTION} --------------------------"
echo "pk12util $@"
${BINDIR}/pk12util $@
RET=$?
return $RET
}
################################ certu #################################
# local shell function to call certutil, also: writes action and options to
# stdout, sets variable RET and writes results to the html file results
@ -921,6 +938,12 @@ cert_ssl()
else
cert_log "SUCCESS: SSL passed"
fi
echo "$SCRIPTNAME: Creating database for OCSP stapling tests ==============="
echo "cp -rv ${SERVERDIR} ${STAPLINGDIR}"
cp -rv ${R_SERVERDIR} ${R_STAPLINGDIR}
pk12u -o ${R_STAPLINGDIR}/ca.p12 -n TestCA -k ${R_PWFILE} -w ${R_PWFILE} -d ${R_CADIR}
pk12u -i ${R_STAPLINGDIR}/ca.p12 -k ${R_PWFILE} -w ${R_PWFILE} -d ${R_STAPLINGDIR}
}
############################## cert_stresscerts ################################
# local shell function to create client certs for SSL stresstest

View File

@ -75,6 +75,7 @@ if [ -z "${INIT_SOURCED}" -o "${INIT_SOURCED}" != "TRUE" ]; then
IOPR_OCSP_CLIENTDIR=${HOSTDIR}/client_ocsp_iopr
CERT_EXTENSIONS_DIR=${HOSTDIR}/cert_extensions
STAPLINGDIR=${HOSTDIR}/stapling
PWFILE=${HOSTDIR}/tests.pw
NOISE_FILE=${HOSTDIR}/tests_noise
@ -537,6 +538,7 @@ if [ -z "${INIT_SOURCED}" -o "${INIT_SOURCED}" != "TRUE" ]; then
R_EXT_SERVERDIR=../ext_server
R_EXT_CLIENTDIR=../ext_client
R_CERT_EXT=../cert_extensions
R_STAPLINGDIR=../stapling
#
# profiles are either paths or domains depending on the setting of

View File

@ -63,7 +63,7 @@ dbupgrade_main()
# test upgrade to the new database
echo "nss" > ${PWFILE}
html_head "Legacy to shared Library update"
dirs="alicedir bobdir CA cert_extensions client clientCA dave eccurves eve ext_client ext_server SDR server serverCA tools/copydir"
dirs="alicedir bobdir CA cert_extensions client clientCA dave eccurves eve ext_client ext_server SDR server serverCA stapling tools/copydir"
for i in $dirs
do
echo $i

View File

@ -93,7 +93,7 @@ memleak_init()
FREEBL_LIST="${FREEBL_DEFAULT} libfreebl_64int_3"
else
FREEBL_DEFAULT="libfreebl_32fpu_3"
FREEBL_LIST="${FREEBL_DEFAULT} libfreebl_32int_3 libfreebl_32int64_3"
FREEBL_LIST="${FREEBL_DEFAULT} libfreebl_32int64_3"
fi
else
if [ "${BIT_NAME}" = "64" ] ; then
@ -366,11 +366,19 @@ run_selfserv_dbg()
run_strsclnt()
{
for cipher in ${cipher_list}; do
ATTR="${STRSCLNT_ATTR} -C ${cipher}"
if [ "${cipher}" = "f" -o "${cipher}" = "g" ] ; then
VMIN="ssl3"
VMAX=
case "${cipher}" in
A|B|C|D|E|F)
# Enable SSL 2 only for SSL 2 cipher suites.
VMIN="ssl2"
;;
f|g)
# TLS 1.1 disallows export cipher suites.
ATTR="${ATTR} -V :tls1.0"
fi
VMAX="tls1.0"
;;
esac
ATTR="${STRSCLNT_ATTR} -C ${cipher} -V ${VMIN}:${VMAX}"
echo "${SCRIPTNAME}: -------- Trying cipher ${cipher}:"
echo "strsclnt ${ATTR}"
${BINDIR}/strsclnt ${ATTR}
@ -403,11 +411,19 @@ run_strsclnt()
run_strsclnt_dbg()
{
for cipher in ${cipher_list}; do
ATTR="${STRSCLNT_ATTR} -C ${cipher}"
if [ "${cipher}" = "f" -o "${cipher}" = "g" ] ; then
VMIN="ssl3"
VMAX=
case "${cipher}" in
A|B|C|D|E|F)
# Enable SSL 2 only for SSL 2 cipher suites.
VMIN="ssl2"
;;
f|g)
# TLS 1.1 disallows export cipher suites.
ATTR="${ATTR} -V :tls1.0"
fi
VMAX="tls1.0"
;;
esac
ATTR="${STRSCLNT_ATTR} -C ${cipher} -V ${VMIN}:${VMAX}"
${RUN_COMMAND_DBG} ${BINDIR}/strsclnt ${CLIENT_OPTION} ${ATTR}
ret=$?
if [ $ret -ne 0 ]; then

View File

@ -44,9 +44,75 @@ ocsp_init()
SCRIPTNAME=ocsp.sh
echo "$SCRIPTNAME: OCSP tests ==============================="
REQF=${QADIR}/ssl/sslreq.dat
cd ${CLIENTDIR}
}
ocsp_stapling()
{
TESTNAME="startssl valid, supports OCSP stapling"
echo "$SCRIPTNAME: $TESTNAME"
echo "tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 5143 -d . < ${REQF}"
${BINDIR}/tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 5143 -d . < ${REQF}
html_msg $? 0 "$TESTNAME"
TESTNAME="startssl revoked, supports OCSP stapling"
echo "$SCRIPTNAME: $TESTNAME"
echo "tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 5144 -d . < ${REQF}"
${BINDIR}/tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 5144 -d . < ${REQF}
html_msg $? 3 "$TESTNAME"
TESTNAME="comodo trial test expired revoked, supports OCSP stapling"
echo "$SCRIPTNAME: $TESTNAME"
echo "tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 5145 -d . < ${REQF}"
${BINDIR}/tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 5145 -d . < ${REQF}
html_msg $? 1 "$TESTNAME"
TESTNAME="thawte (expired) valid, supports OCSP stapling"
echo "$SCRIPTNAME: $TESTNAME"
echo "tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 5146 -d . < ${REQF}"
${BINDIR}/tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 5146 -d . < ${REQF}
html_msg $? 1 "$TESTNAME"
TESTNAME="thawte (expired) revoked, supports OCSP stapling"
echo "$SCRIPTNAME: $TESTNAME"
echo "tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 5147 -d . < ${REQF}"
${BINDIR}/tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 5147 -d . < ${REQF}
html_msg $? 1 "$TESTNAME"
TESTNAME="digicert valid, supports OCSP stapling"
echo "$SCRIPTNAME: $TESTNAME"
echo "tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 5148 -d . < ${REQF}"
${BINDIR}/tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 5148 -d . < ${REQF}
html_msg $? 0 "$TESTNAME"
TESTNAME="digicert revoked, supports OCSP stapling"
echo "$SCRIPTNAME: $TESTNAME"
echo "tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 5149 -d . < ${REQF}"
${BINDIR}/tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 5149 -d . < ${REQF}
html_msg $? 3 "$TESTNAME"
TESTNAME="live valid, supports OCSP stapling"
echo "$SCRIPTNAME: $TESTNAME"
echo "tstclnt -V tls1.0: -T -v -F -M 1 -O -h login.live.com -p 443 -d . < ${REQF}"
${BINDIR}/tstclnt -V tls1.0: -T -v -F -M 1 -O -h login.live.com -p 443 -d . < ${REQF}
html_msg $? 0 "$TESTNAME"
TESTNAME="startssl valid, doesn't support OCSP stapling"
echo "$SCRIPTNAME: $TESTNAME"
echo "tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 443 -d . < ${REQF}"
${BINDIR}/tstclnt -V tls1.0: -T -v -F -M 1 -O -h kuix.de -p 443 -d . < ${REQF}
html_msg $? 2 "$TESTNAME"
TESTNAME="cacert untrusted, doesn't support OCSP stapling"
echo "$SCRIPTNAME: $TESTNAME"
echo "tstclnt -V tls1.0: -T -v -F -M 1 -O -h www.cacert.org -p 443 -d . < ${REQF}"
${BINDIR}/tstclnt -V tls1.0: -T -v -F -M 1 -O -h www.cacert.org -p 443 -d . < ${REQF}
html_msg $? 1 "$TESTNAME"
}
################## main #################################################
ocsp_init
ocsp_iopr_run
ocsp_stapling

View File

@ -58,7 +58,7 @@ ssl_init()
PORT=${PORT-8443}
NSS_SSL_TESTS=${NSS_SSL_TESTS:-normal_normal}
nss_ssl_run="cov auth stress"
nss_ssl_run="stapling cov auth stress"
NSS_SSL_RUN=${NSS_SSL_RUN:-$nss_ssl_run}
# Test case files
@ -404,6 +404,131 @@ ssl_auth()
html "</TABLE><BR>"
}
ssl_stapling_sub()
{
testname=$1
SO=$2
value=$3
if [ "$NORM_EXT" = "Extended Test" ] ; then
# these tests use the ext_client directory for tstclnt,
# which doesn't contain the required "TestCA" for server cert
# verification, I don't know if it would be OK to add it...
echo "$SCRIPTNAME: skipping $testname for $NORM_EXT"
return 0
fi
if [ "$SERVER_MODE" = "fips" -o "$CLIENT_MODE" = "fips" ] ; then
echo "$SCRIPTNAME: skipping $testname (non-FIPS only)"
return 0
fi
SAVE_SERVER_OPTIONS=${SERVER_OPTIONS}
SERVER_OPTIONS="${SERVER_OPTIONS} ${SO}"
SAVE_P_R_SERVERDIR=${P_R_SERVERDIR}
P_R_SERVERDIR=${P_R_SERVERDIR}/../stapling/
echo "${testname}"
start_selfserv
echo "tstclnt -p ${PORT} -h ${HOSTADDR} -f -d ${P_R_CLIENTDIR} -v ${CLIENT_OPTIONS} \\"
echo " -T -O -F -M 1 -V ssl3: < ${REQUEST_FILE}"
rm ${TMP}/$HOST.tmp.$$ 2>/dev/null
${PROFTOOL} ${BINDIR}/tstclnt -p ${PORT} -h ${HOSTADDR} -f ${CLIENT_OPTIONS} \
-d ${P_R_CLIENTDIR} -v -T -O -F -M 1 -V ssl3: < ${REQUEST_FILE} \
>${TMP}/$HOST.tmp.$$ 2>&1
ret=$?
cat ${TMP}/$HOST.tmp.$$
rm ${TMP}/$HOST.tmp.$$ 2>/dev/null
# hopefully no workaround for bug #402058 needed here?
# (see commands in ssl_auth
html_msg $ret $value "${testname}" \
"produced a returncode of $ret, expected is $value"
kill_selfserv
SERVER_OPTIONS=${SAVE_SERVER_OPTIONS}
P_R_SERVERDIR=${SAVE_P_R_SERVERDIR}
}
ssl_stapling_stress()
{
testname="Stress OCSP stapling, server uses random status"
SO="-A TestCA -T random"
value=0
if [ "$NORM_EXT" = "Extended Test" ] ; then
# these tests use the ext_client directory for tstclnt,
# which doesn't contain the required "TestCA" for server cert
# verification, I don't know if it would be OK to add it...
echo "$SCRIPTNAME: skipping $testname for $NORM_EXT"
return 0
fi
if [ "$SERVER_MODE" = "fips" -o "$CLIENT_MODE" = "fips" ] ; then
echo "$SCRIPTNAME: skipping $testname (non-FIPS only)"
return 0
fi
SAVE_SERVER_OPTIONS=${SERVER_OPTIONS}
SERVER_OPTIONS="${SERVER_OPTIONS} ${SO}"
SAVE_P_R_SERVERDIR=${P_R_SERVERDIR}
P_R_SERVERDIR=${P_R_SERVERDIR}/../stapling/
echo "${testname}"
start_selfserv
echo "strsclnt -q -p ${PORT} -d ${P_R_CLIENTDIR} ${CLIENT_OPTIONS} -w nss \\"
echo " -c 1000 -V ssl3: -N -T $verbose ${HOSTADDR}"
echo "strsclnt started at `date`"
${PROFTOOL} ${BINDIR}/strsclnt -q -p ${PORT} -d ${P_R_CLIENTDIR} ${CLIENT_OPTIONS} -w nss \
-c 1000 -V ssl3: -N -T $verbose ${HOSTADDR}
ret=$?
echo "strsclnt completed at `date`"
html_msg $ret $value \
"${testname}" \
"produced a returncode of $ret, expected is $value."
kill_selfserv
SERVER_OPTIONS=${SAVE_SERVER_OPTIONS}
P_R_SERVERDIR=${SAVE_P_R_SERVERDIR}
}
############################ ssl_stapling ##############################
# local shell function to perform SSL Cert Status (OCSP Stapling) tests
########################################################################
ssl_stapling()
{
html_head "SSL Cert Status (OCSP Stapling) $NORM_EXT - server $SERVER_MODE/client $CLIENT_MODE $ECC_STRING"
# tstclnt Exit code:
# 0: have fresh and valid revocation data, status good
# 1: cert failed to verify, prior to revocation checking
# 2: missing, old or invalid revocation data
# 3: have fresh and valid revocation data, status revoked
# selfserv modes
# good, revoked, unkown: Include locally signed response. Requires: -A
# failure: Include OCSP failure status, such as "try later" (unsigned)
# badsig: use a good status but with an invalid signature
# corrupted: stapled cert status is an invalid block of data
ssl_stapling_sub "OCSP stapling, signed response, good status" "-A TestCA -T good" 0
ssl_stapling_sub "OCSP stapling, signed response, revoked status" "-A TestCA -T revoked" 3
ssl_stapling_sub "OCSP stapling, signed response, unknown status" "-A TestCA -T unknown" 2
ssl_stapling_sub "OCSP stapling, unsigned failure response" "-A TestCA -T failure" 2
ssl_stapling_sub "OCSP stapling, good status, bad signature" "-A TestCA -T badsig" 2
ssl_stapling_sub "OCSP stapling, invalid cert status data" "-A TestCA -T corrupted" 2
ssl_stapling_sub "Valid cert, Server doesn't staple" "" 2
ssl_stapling_stress
html "</TABLE><BR>"
}
############################## ssl_stress ##############################
# local shell function to perform SSL stress test
@ -801,6 +926,9 @@ ssl_run()
for SSL_RUN in ${NSS_SSL_RUN}
do
case "${SSL_RUN}" in
"stapling")
ssl_stapling
;;
"cov")
ssl_cov
;;

View File

@ -72,29 +72,6 @@
noECC TLS11 y TLS11_RSA_WITH_AES_256_CBC_SHA
noECC TLS11 z TLS11_RSA_WITH_NULL_SHA
#
# ECC ciphers (SSL3)
#
ECC SSL3 :C001 SSL3_ECDH_ECDSA_WITH_NULL_SHA
ECC SSL3 :C002 SSL3_ECDH_ECDSA_WITH_RC4_128_SHA
ECC SSL3 :C003 SSL3_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
ECC SSL3 :C004 SSL3_ECDH_ECDSA_WITH_AES_128_CBC_SHA
ECC SSL3 :C005 SSL3_ECDH_ECDSA_WITH_AES_256_CBC_SHA
ECC SSL3 :C006 SSL3_ECDHE_ECDSA_WITH_NULL_SHA
ECC SSL3 :C007 SSL3_ECDHE_ECDSA_WITH_RC4_128_SHA
ECC SSL3 :C008 SSL3_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
ECC SSL3 :C009 SSL3_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
ECC SSL3 :C00A SSL3_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
ECC SSL3 :C00B SSL3_ECDH_RSA_WITH_NULL_SHA
ECC SSL3 :C00C SSL3_ECDH_RSA_WITH_RC4_128_SHA
ECC SSL3 :C00D SSL3_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
ECC SSL3 :C00E SSL3_ECDH_RSA_WITH_AES_128_CBC_SHA
ECC SSL3 :C00F SSL3_ECDH_RSA_WITH_AES_256_CBC_SHA
ECC SSL3 :C010 SSL3_ECDHE_RSA_WITH_NULL_SHA
ECC SSL3 :C011 SSL3_ECDHE_RSA_WITH_RC4_128_SHA
ECC SSL3 :C012 SSL3_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
ECC SSL3 :C013 SSL3_ECDHE_RSA_WITH_AES_128_CBC_SHA
ECC SSL3 :C014 SSL3_ECDHE_RSA_WITH_AES_256_CBC_SHA
#
# ECC ciphers (TLS)
#
ECC TLS10 :C001 TLS_ECDH_ECDSA_WITH_NULL_SHA

View File

@ -35,8 +35,7 @@
#
# ############################ ECC ciphers ############################
#
ECC 0 -c_:C009 -c_100_-C_:C009_-N_-V_:ssl3 Stress SSL3 ECDHE-ECDSA AES 128 CBC with SHA (no reuse)
ECC 0 -c_:C013 -c_1000_-C_:C013_-V_:ssl3 Stress SSL3 ECDHE-RSA AES 128 CBC with SHA
ECC 0 -c_:C009 -V_ssl3:_-c_100_-C_:C009_-N Stress TLS ECDHE-ECDSA AES 128 CBC with SHA (no reuse)
ECC 0 -c_:C004 -V_ssl3:_-c_100_-C_:C004_-N Stress TLS ECDH-ECDSA AES 128 CBC with SHA (no reuse)
ECC 0 -c_:C00E -V_ssl3:_-c_100_-C_:C00E_-N Stress TLS ECDH-RSA AES 128 CBC with SHA (no reuse)
ECC 0 -c_:C013 -V_ssl3:_-c_1000_-C_:C013 Stress TLS ECDHE-RSA AES 128 CBC with SHA
@ -44,9 +43,9 @@
#
# add client auth versions here...
#
ECC 0 -r_-r_-c_:C009 -c_10_-C_:C009_-N_-V_:ssl3_-n_TestUser-ec Stress SSL3 ECDHE-ECDSA AES 128 CBC with SHA (no reuse, client auth)
ECC 0 -r_-r_-c_:C013 -c_100_-C_:C013_-V_:ssl3_-n_TestUser-ec Stress SSL3 ECDHE-RSA AES 128 CBC with SHA (client auth)
ECC 0 -r_-r_-c_:C004 -c_10_-C_:C004_-N_-n_TestUser-ec Stress TLS ECDH-ECDSA AES 128 CBC with SHA (no reuse, client auth)
ECC 0 -r_-r_-c_:C00E -c_10_-C_:C00E_-N_-n_TestUser-ecmixed Stress TLS ECDH-RSA AES 128 CBC with SHA (no reuse, client auth)
ECC 0 -r_-r_-c_:C013 -c_100_-C_:C013_-n_TestUser-ec Stress TLS ECDHE-RSA AES 128 CBC with SHA(client auth)
ECC 0 -r_-r_-c_:C009 -V_ssl3:_-c_10_-C_:C009_-N_-n_TestUser-ec Stress TLS ECDHE-ECDSA AES 128 CBC with SHA (no reuse, client auth)
ECC 0 -r_-r_-c_:C013 -V_ssl3:_-c_100_-C_:C013_-n_TestUser-ec Stress TLS ECDHE-RSA AES 128 CBC with SHA (client auth)
ECC 0 -r_-r_-c_:C004 -V_ssl3:_-c_10_-C_:C004_-N_-n_TestUser-ec Stress TLS ECDH-ECDSA AES 128 CBC with SHA (no reuse, client auth)
ECC 0 -r_-r_-c_:C00E -V_ssl3:_-c_10_-C_:C00E_-N_-n_TestUser-ecmixed Stress TLS ECDH-RSA AES 128 CBC with SHA (no reuse, client auth)
ECC 0 -r_-r_-c_:C013 -V_ssl3:_-c_100_-C_:C013_-n_TestUser-ec Stress TLS ECDHE-RSA AES 128 CBC with SHA(client auth)
ECC 0 -r_-r_-c_:C013_-u -V_ssl3:_-c_100_-C_:C013_-n_TestUser-ec_-u Stress TLS ECDHE-RSA AES 128 CBC with SHA(session ticket, client auth)

View File

@ -1,11 +1 @@
AUS
AUS is a multi-faceted web service. It contains:
* ./? -- build scripts for patch generation and creation of update metadata
* ./xml -- PHP XML generation code based on build data
* ./sanity -- Simple PHP scripts to test for regressions
For more information on AUS, view the wiki page at:
http://wiki.mozilla.org/AUS
Contact: <morgamic@mozilla.com>
AUS is on death's door. https://wiki.mozilla.org/Balrog is the new hotness.

View File

@ -75,6 +75,11 @@ define('THROTTLE_LEVEL',100);
// Turns logging throttled hits on and off.
define('THROTTLE_LOGGING',false);
// This defines explicit throttling levels per locale. It overrides global and
// product throttling only for the specified locales.
$localeThrottling = array(
);
// This defines explicit throttling levels. If global throttling is on, these
// override global levels. If it is off, this still works. For example, this
// is 10% throttling (only 10% of the time updates are offered):
@ -83,6 +88,92 @@ define('THROTTLE_LOGGING',false);
// "UNTHROTTLED" == 100 (or remove the entry)
$productThrottling = array(
'Firefox' => array(
'10.0' => 100,
'10.0.1' => 100,
'10.0.2' => 100,
'11.0' => 100,
'12.0' => 100,
'13.0' => 100,
'13.0.1' => 100,
'14.0.1' => 100,
'15.0' => 100,
'15.0.1' => 100,
'16.0' => 100,
'16.0.1' => 100,
'16.0.2' => 100,
'17.0' => 100,
'17.0.1' => 100,
'18.0' => 100,
'18.0.1' => 100,
'18.0.2' => 100,
'19.0' => 100,
'19.0.1' => 100,
'19.0.2' => 100,
'20.0' => 100,
'20.0.1' => 100,
'21.0' => 100,
'22.0' => 100,
'23.0' => 100,
'23.0.1' => 100,
'24.0' => 100,
'25.0' => 100,
'25.0.1' => 100,
'26.0' => 100,
'27.0' => 100,
'27.0.1' => 100,
'28.0' => 100,
'29.0' => 100,
'29.0.1' => 100,
'30.0' => 100,
'31.0' => 100,
'32.0' => 100,
'32.0.1' => 100,
'32.0.2' => 100,
'32.0.3' => 100,
'33.0' => 100,
'33.0.1' => 100,
'33.0.2' => 100,
'33.0.3' => 100,
'33.1' => 100,
'33.1.1' => 100,
'34.0' => 100,
'34.0.5' => 100,
),
'Thunderbird' => array(
'10.0' => 100,
'10.0.1' => 100,
'10.0.2' => 100,
'11.0' => 100,
'11.0.1' => 100,
'12.0' => 100,
'12.0.1' => 100,
'13.0' => 100,
'13.0.1' => 100,
'14.0' => 100,
'15.0' => 100,
'15.0.1' => 100,
'16.0' => 100,
'16.0.1' => 100,
'16.0.2' => 100,
'17.0' => 100,
'17.0.2' => 100,
'17.0.3' => 100,
'17.0.4' => 100,
'17.0.5' => 100,
'17.0.6' => 100,
'17.0.7' => 100,
'17.0.8' => 100,
'24.0' => 100,
'24.0.1' => 100,
'24.1.0' => 100,
'24.1.1' => 100,
'24.2.0' => 100,
'24.3.0' => 100,
'24.4.0' => 100,
'24.5.0' => 100,
'24.6.0' => 100,
),
);
// List of exceptions for throttling.
@ -98,7 +189,350 @@ $productThrottling = array(
// In this example, 3.0.11 with channel names that match these channels will not
// be throttled unless there is a global throttle enabled.
$throttleExceptions = array(
);
'10.0' => array(
'betatest',
'releasetest',
'esrtest',
'esrreleasetest',
'beta',
'esr'
),
'10.0.1' => array(
'betatest',
'releasetest',
'esrtest',
'esrreleasetest',
'beta',
'esr'
),
'10.0.2' => array(
'betatest',
'releasetest',
'esrtest',
'esrreleasetest',
'beta',
'esr'
),
'11.0' => array(
'betatest',
'releasetest',
'beta'
),
'12.0' => array(
'betatest',
'releasetest',
'beta'
),
'13.0' => array(
'betatest',
'releasetest',
'beta'
),
'13.0.1' => array(
'betatest',
'releasetest',
'beta'
),
'14.0.1' => array(
'betatest',
'releasetest',
'beta'
),
'15.0' => array(
'betatest',
'releasetest',
'beta'
),
'15.0.1' => array(
'betatest',
'releasetest',
'beta'
),
'16.0' => array(
'betatest',
'releasetest',
'beta'
),
'16.0.1' => array(
'betatest',
'releasetest',
'beta'
),
'16.0.2' => array(
'betatest',
'releasetest',
'beta'
),
'17.0' => array(
'betatest',
'releasetest',
'esrtest',
'esrreleasetest',
'esr',
'beta'
),
'17.0.1' => array(
'betatest',
'releasetest',
'esrtest',
'esrreleasetest',
'esr',
'beta'
),
'17.0.2' => array(
'esrtest',
'esrreleasetest',
'esr'
),
'17.0.3' => array(
'esrtest',
'esrreleasetest',
'esr'
),
'17.0.4' => array(
'esrtest',
'esrreleasetest',
'esr'
),
'17.0.5' => array(
'esrtest',
'esrreleasetest',
'esr'
),
'17.0.6' => array(
'esrtest',
'esrreleasetest',
'esr'
),
'17.0.7' => array(
'esrtest',
'esrreleasetest',
'esr'
),
'17.0.8' => array(
'esrtest',
'esrreleasetest',
'esr'
),
'18.0' => array(
'betatest',
'releasetest',
'beta'
),
'18.0.1' => array(
'betatest',
'releasetest',
'beta'
),
'18.0.2' => array(
'betatest',
'releasetest',
'beta'
),
'19.0' => array(
'betatest',
'releasetest',
'beta'
),
'19.0.1' => array(
'betatest',
'releasetest',
'beta'
),
'19.0.2' => array(
'betatest',
'releasetest',
'beta'
),
'20.0' => array(
'betatest',
'releasetest',
'beta'
),
'20.0.1' => array(
'betatest',
'releasetest',
'beta'
),
'21.0' => array(
'betatest',
'releasetest',
'beta'
),
'22.0' => array(
'betatest',
'releasetest',
'beta'
),
'23.0' => array(
'betatest',
'releasetest',
'beta'
),
'23.0.1' => array(
'betatest',
'releasetest',
'beta'
),
'24.0' => array(
'betatest',
'releasetest',
'beta',
'esrtest',
'esrreleasetest',
'esr',
),
'24.0.1' => array(
'betatest',
'releasetest',
'beta'
),
'24.1.0' => array(
'betatest',
'releasetest',
'beta'
),
'24.1.1' => array(
'betatest',
'releasetest',
'beta'
),
'24.2.0' => array(
'betatest',
'releasetest',
'beta'
),
'24.3.0' => array(
'betatest',
'releasetest',
'beta'
),
'24.4.0' => array(
'betatest',
'releasetest',
'beta'
),
'24.5.0' => array(
'betatest',
'releasetest',
'beta'
),
'24.6.0' => array(
'betatest',
'releasetest',
'beta'
),
'25.0' => array(
'betatest',
'releasetest',
'beta'
),
'25.0.1' => array(
'betatest',
'releasetest',
'beta'
),
'26.0' => array(
'betatest',
'releasetest',
'beta'
),
'27.0' => array(
'betatest',
'releasetest',
'beta'
),
'27.0.1' => array(
'betatest',
'releasetest',
'beta'
),
'28.0' => array(
'betatest',
'releasetest',
'beta'
),
'29.0' => array(
'betatest',
'releasetest',
'beta'
),
'29.0.1' => array(
'betatest',
'releasetest',
'beta'
),
'30.0' => array(
'betatest',
'releasetest',
'beta'
),
'31.0' => array(
'betatest',
'releasetest',
'beta'
),
'32.0' => array(
'betatest',
'releasetest',
'beta'
),
'32.0.1' => array(
'betatest',
'releasetest',
'beta'
),
'32.0.2' => array(
'betatest',
'releasetest',
'beta'
),
'32.0.3' => array(
'betatest',
'releasetest',
'beta'
),
'33.0' => array(
'betatest',
'releasetest',
'beta'
),
'33.0.1' => array(
'betatest',
'releasetest',
'beta'
),
'33.0.2' => array(
'betatest',
'releasetest',
'beta'
),
'33.0.3' => array(
'betatest',
'releasetest',
'beta'
),
'33.1' => array(
'betatest',
'releasetest',
'beta'
),
'33.1.1' => array(
'betatest',
'releasetest',
'beta'
),
'34.0' => array(
'betatest',
'releasetest',
'beta'
),
'34.0.5' => array(
'betatest',
'releasetest',
'beta'
),
);
// These are channels that have access to nightly updates.
@ -106,6 +540,7 @@ $throttleExceptions = array(
$nightlyChannels = array(
'nightly',
'nightlytest',
'nightly-alder',
'nightly-tracemonkey',
'nightly-electrolysis',
'nightly-mozilla-2.1',
@ -115,11 +550,14 @@ $nightlyChannels = array(
'nightly-birch',
'nightly-ash',
'nightly-elm',
'nightly-fig',
'nightly-ionmonkey',
'nightly-oak',
'nightly-profiling',
'nightly-esr10',
'nightly-esr17',
'nightly-esr24',
'nightly-esr31',
'aurora',
'auroratest'
);
@ -129,10 +567,21 @@ $nightlyChannels = array(
// @todo replace this with a better datasource that can be easily managed via a GUI.
// The ordering is !important!, given the wildcard block at the bottom.
$productBranchVersions = array(
'MetroFirefox' => array(
'*' => array(
'nightly' => 'mozilla-central',
'nightlytest' => 'mozilla-central-test',
'nightly-alder' => 'alder',
'nightly-oak' => 'oak',
'aurora' => 'mozilla-aurora',
'auroratest' => 'mozilla-aurora-test'
)
),
'Firefox' => array(
'*' => array(
'nightly' => 'mozilla-central',
'nightlytest' => 'mozilla-central-test',
'nightly-alder' => 'alder',
'nightly-tracemonkey' => 'tracemonkey',
'nightly-electrolysis' => 'electrolysis',
'nightly-jaegermonkey' => 'jaegermonkey',
@ -144,8 +593,10 @@ $productBranchVersions = array(
'nightly-ionmonkey' => 'ionmonkey',
'nightly-oak' => 'oak',
'nightly-profiling' => 'mozilla-central',
'nightly-esr10' => 'mozilla-esr10',
'nightly-esr17' => 'mozilla-esr17',
'nightly-esr10' => 'mozilla-esr24',
'nightly-esr17' => 'mozilla-esr24',
'nightly-esr24' => 'mozilla-esr31',
'nightly-esr31' => 'mozilla-esr31',
'aurora' => 'mozilla-aurora',
'auroratest' => 'mozilla-aurora-test'
)
@ -160,7 +611,8 @@ $productBranchVersions = array(
'nightly-birch' => 'mozilla-central',
'nightly-ash' => 'ash',
'nightly-maple' => 'maple',
'nightly-oak' => 'oak'
'nightly-oak' => 'oak',
'nightly-fig' => 'fig'
)
),
'Thunderbird' => array(
@ -169,6 +621,8 @@ $productBranchVersions = array(
'nightlytest' => 'comm-central-test',
'nightly-esr10' => 'comm-esr10',
'nightly-esr17' => 'comm-esr17',
'nightly-esr24' => 'comm-esr24',
'nightly-esr31' => 'comm-esr31',
'aurora' => 'comm-aurora',
'auroratest' => 'comm-aurora-test'
),
@ -287,7 +741,7 @@ $unsupportedPlatforms = array(
'GTK 2.15.',
'GTK 2.16.',
'GTK 2.17.',
),
)
),
'Thunderbird' => array(
// Mac 10.2/10.3, Win < 2k, GTK < 2.10 - bug 418129

View File

@ -362,7 +362,7 @@ class Patch extends AUS_Object {
//
// If the file does exist, we don't ever fall back, which is the hacky way to stop the fallback behavior,
// but the only way we have so far.
if (!$this->isChangingChannel() && !empty($channel) && $this->setPath($product,$platform,$locale,$version,$build,3,$channel) && !file_exists($this->path) && preg_match('/^[\w\-]+\-cck\-.[\w\-]+$/',$channel)) {
if (!$this->isChangingChannel() && !empty($channel) && $this->setPath($product,$platform,$locale,$version,$build,3,$channel) && !file_exists($this->path) && preg_match('/^[\w\-]+\-cck\-.[\w\-\.]+$/',$channel)) {
// Partner fallback channel to be used if the partner-specific update doesn't exist or work.
$buf = array();

View File

@ -100,7 +100,6 @@ if ( $clean['product'] == 'Firefox'
exit;
}
// Check to see if the user is explicitly requesting an update. If they are,
// skip throttling. If they aren't, and throttling is enabled, first check
// explicit throttling. If no specific rules exist, fallback to global rules.
@ -113,12 +112,16 @@ if ( (empty($_GET['force']) || $_GET['force']!=1) ) {
$aus = new AUS_Object();
// Check explicit throttling.
if ( !$aus->isThrottleException($clean['version'], $clean['channel'])
&& isset($productThrottling[$clean['product']][$clean['version']])
&& mt_rand(0,99) >= $productThrottling[$clean['product']][$clean['version']]
) {
$throttleMe = true;
if ( !$aus->isThrottleException($clean['version'], $clean['channel']) ) {
// check if locale based throttling is set. Do not use product based throttling if set
if ( isset($localeThrottling[$clean['product']][$clean['version']][$clean['locale']]) ) {
if ( mt_rand(0,99) >= $localeThrottling[$clean['product']][$clean['version']][$clean['locale']] ){
$throttleMe = true;
}
} elseif ( isset($productThrottling[$clean['product']][$clean['version']])
&& mt_rand(0,99) >= $productThrottling[$clean['product']][$clean['version']] ) {
$throttleMe = true;
}
// Check global throttling.
} elseif ( defined('THROTTLE_GLOBAL') && THROTTLE_GLOBAL &&
defined('THROTTLE_LEVEL') &&

View File

@ -0,0 +1,2 @@
User-agent: *
Disallow: /

View File

@ -42,7 +42,7 @@ sub WriteParams {
my $v = $::param{'version'};
delete $::param{'version'}; # Don't write the version number out to
# the params file.
print PARAM_FID GenerateCode('%::param');
print PARAM_FID Data::Dumper->Dump([\%::param], ['*::param']);
$::param{'version'} = $v;
print PARAM_FID "1;\n";
close PARAM_FID;

View File

@ -36,6 +36,8 @@ use Mail::Mailer;
use Mail::Internet;
use Mail::Header;
use Data::Dumper;
$ENV{'MAILADDRESS'} = Param('maintainer');
# use Carp; # for confess
@ -261,63 +263,6 @@ sub SplitEnumType {
}
##
## Routines to generate perl code that will reinitialize variables
## correctly when eval'ed
##
# Generate a string which, when later interpreted by the Perl compiler, will
# be the same as the given string.
sub PerlQuote {
my ($str) = (@_);
$str =~ s/([\\\'])/\\$1/g;
$str =~ s/\0/\\0/g;
return "'$str'";
}
sub GenerateArrayCode {
my ($ref) = (@_);
my @list;
foreach my $i (@$ref) {
push @list, PerlQuote($i);
}
return join(',', @list);
}
# Given the name of a global variable, generate Perl code that, if later
# executed, would restore the variable to its current value.
sub GenerateCode {
my ($name) = (@_);
my $result = $name . " = ";
if ($name =~ /^\$/) {
my $value = eval($name);
if (ref($value) eq "ARRAY") {
$result .= "[" . GenerateArrayCode($value) . "]";
} else {
$result .= PerlQuote(eval($name));
}
} elsif ($name =~ /^@/) {
my @value = eval($name);
$result .= "(" . GenerateArrayCode(\@value) . ")";
} elsif ($name =~ '%') {
$result = "";
foreach my $k (sort { uc($a) cmp uc($b)} eval("keys $name")) {
$result .= GenerateCode("\$" . substr($name, 1) .
"{'" . $k . "'}");
}
return $result;
} else {
die "Can't do $name -- unacceptable variable type.";
}
$result .= ";\n";
return $result;
}
##
## Locking and Logging routines
##
@ -650,7 +595,7 @@ sub PickNewBatchID {
$batchfile = DataDir() . "/batchid.pl";
LockOpen(\*BATCH, "> $batchfile", "Couldn't write $batchfile");
print BATCH GenerateCode('$::BatchID');
print BATCH Data::Dumper->Dump([\$::BatchID],['*::BatchID']);
close(BATCH);
Unlock();
}
@ -709,14 +654,14 @@ sub WriteCheckins {
undef(%person);
foreach $i ('TreeOpen', 'LastGoodTimeStamp', 'CloseTimeStamp') {
print TEMP GenerateCode("\$::$i");
}
print TEMP GenerateCode('@::CheckInList');
print TEMP Data::Dumper->Dump([\$::TreeOpen, \$::LastGoodTimeStamp,
\$::CloseTimeStamp, \@::CheckInList],
['*::TreeOpen','*::LastGoodTimeStamp',
'*::CloseTimeStamp','*::CheckInList']);
foreach $checkin (@::CheckInList) {
my $info = eval("\\\%$checkin");
print TEMP GenerateCode("\%$checkin");
print TEMP Data::Dumper->Dump([\%$checkin],['*'.$checkin]);
$person{$$info{'person'}} = 1;
}
print TEMP "1;\n";
@ -791,7 +736,7 @@ sub WriteMOTD {
LockOpen(\*MOTD, "> $motd_file", "Couldn't create $motd_file");
chmod(0666, $motd_file);
print MOTD GenerateCode('$::MOTD');
print MOTD Data::Dumper->Dump([\$::MOTD],['*::MOTD']);
close(MOTD);
Unlock();
}

View File

@ -1,10 +1,8 @@
.htaccess
/lib/*
/template/en/custom
/docs/bugzilla.ent
/docs/en/xml/bugzilla.ent
/docs/en/txt
/docs/en/html
/docs/en/txt
/docs/en/pdf
/skins/custom
/graphs
@ -12,21 +10,5 @@
/localconfig
/index.html
/skins/contrib/Dusk/IE-fixes.css
/skins/contrib/Dusk/admin.css
/skins/contrib/Dusk/attachment.css
/skins/contrib/Dusk/create_attachment.css
/skins/contrib/Dusk/dependency-tree.css
/skins/contrib/Dusk/duplicates.css
/skins/contrib/Dusk/editusers.css
/skins/contrib/Dusk/enter_bug.css
/skins/contrib/Dusk/help.css
/skins/contrib/Dusk/panel.css
/skins/contrib/Dusk/page.css
/skins/contrib/Dusk/params.css
/skins/contrib/Dusk/reports.css
/skins/contrib/Dusk/show_bug.css
/skins/contrib/Dusk/search_form.css
/skins/contrib/Dusk/show_multiple.css
/skins/contrib/Dusk/summarize-time.css
.DS_Store
/skins/contrib/Dusk/bug.css

View File

@ -1 +1 @@
8571
9388

16
mozilla/webtools/bugzilla/.gitignore vendored Normal file
View File

@ -0,0 +1,16 @@
.htaccess
/lib/*
/template/en/custom
/docs/en/rst/extensions/*
/docs/en/rst/api/extensions/*
/docs/en/html
/docs/en/txt
/docs/en/pdf
/skins/custom
/graphs
/data
/localconfig
/index.html
/skins/contrib/Dusk/admin.css
/skins/contrib/Dusk/bug.css

View File

@ -0,0 +1 @@
dc3e779d94ef2be397660f102240d1d9c83d5147

View File

@ -1,6 +1,21 @@
# Don't allow people to retrieve non-cgi executable files or our private data
<FilesMatch (\.pm|\.pl|\.tmpl|localconfig.*)$>
deny from all
<FilesMatch (\.pm|\.pl|\.tmpl|localconfig.*|cpanfile)$>
<IfModule mod_version.c>
<IfVersion < 2.4>
Deny from all
</IfVersion>
<IfVersion >= 2.4>
<IfModule mod_perl.c>
Deny from all
</IfModule>
<IfModule !mod_perl.c>
Require all denied
</IfModule>
</IfVersion>
</IfModule>
<IfModule !mod_version.c>
Deny from all
</IfModule>
</FilesMatch>
Options -Indexes
@ -26,3 +41,9 @@ Options -Indexes
</IfModule>
</IfModule>
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteOptions inherit
RewriteRule ^rest/(.*)$ rest.cgi/$1 [NE]
</IfModule>

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