Compare commits

..

529 Commits

Author SHA1 Message Date
(no author)
b562cfa05d This commit was manufactured by cvs2svn to create tag 'Bugzilla_Stable'.
git-svn-id: svn://10.0.0.236/tags/Bugzilla_Stable@265940 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-15 16:15:46 +00:00
bzrmirror%bugzilla.org
9fe1b0cc6e Bumped version to 4.0.18
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265937 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-15 16:15:43 +00:00
bzrmirror%bugzilla.org
095a812c9e Bug 1154321: Release notes for 4.0.18
r=LpSolit,a=dkl


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265935 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-15 03:45:46 +00:00
bzrmirror%bugzilla.org
e976f0e273 Bug 1154099: Bug.get_bugs and Bug.get_history are missing from PUBLIC_METHODS (for backwards compatibility)
r=LpSolit a=glob


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265934 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-14 23:46:38 +00:00
bzrmirror%bugzilla.org
57e3fcdc5e 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/branches/BUGZILLA-4_0-BRANCH@265930 18797224-902f-48f8-a5cc-f745e15eee43
2015-04-13 20:45:45 +00:00
bzrmirror%bugzilla.org
e83f527cf7 Bug 1137669: 003safesys.t doesn't test any file due to a missing -T argument
r=dylan a=glob


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265883 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-16 17:31:30 +00:00
bzrmirror%bugzilla.org
e94409fcc2 (TaskCluster) Allow retrieval of the selenium.log for Selenium tests
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265840 18797224-902f-48f8-a5cc-f745e15eee43
2015-03-03 20:16:30 +00:00
bzrmirror%bugzilla.org
ac9b494748 Intial checking of taskgraph.json for TaskCluster CI
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265835 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-24 23:45:41 +00:00
bzrmirror%bugzilla.org
58bf77ff3e - Force use of PostgreSQL 9.1
- Configure DB users in travis.yml


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265807 18797224-902f-48f8-a5cc-f745e15eee43
2015-02-17 02:45:41 +00:00
bzrmirror%bugzilla.org
ecf2d4b20c Fix typo
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265801 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-28 16:15:45 +00:00
bzrmirror%bugzilla.org
fb711ff6d3 Bump version post-release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265800 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-27 20:30:46 +00:00
bzrmirror%bugzilla.org
46becded6d Bump version to 4.0.17
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265798 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-27 17:46:23 +00:00
bzrmirror%bugzilla.org
aa492ee1c5 Bug 1090275 - WebServices modules should maintain a whitelist of methods that are allowed instead of allowing access to any function imported into its namespace
- Fixed regression from erroneous cut and paste


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265797 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-27 17:45:44 +00:00
bzrmirror%bugzilla.org
35429c28d6 Bug 1125189: Release notes for 4.0.16
r=justdave,a=dkl


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265796 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-27 16:00:45 +00:00
bzrmirror%bugzilla.org
cbf3136026 Bug 1124716: regression caused by bug 1090275 to whitelist webservice methods causes test failures with t/012throwables.t
r=dylan,a=glob


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265795 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-23 17:45:45 +00:00
bzrmirror%bugzilla.org
0d2763fe01 Bump version post-release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265794 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-21 22:45:51 +00:00
bzrmirror%bugzilla.org
47cbb4fa49 Bumped version to 4.0.16
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265792 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-21 21:30:42 +00:00
bzrmirror%bugzilla.org
d858d86220 Bug 1090275: WebServices modules should maintain a whitelist of methods that are allowed instead of allowing access to any function imported into its namespace
r=dylan,a=glob


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265791 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-21 21:00:45 +00:00
bzrmirror%bugzilla.org
b25e44f000 Bug 1079065: [SECURITY] Always use the 3 arguments form for open() to prevent shell code injection
r=dylan,a=simon


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265790 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-21 20:46:00 +00:00
bzrmirror%bugzilla.org
20714a9e71 Fix typo
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265789 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-19 21:30:46 +00:00
bzrmirror%bugzilla.org
af291776dd Bug 1118988: Release notes for 4.0.16
r=LpSolit,a=glob


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265788 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-19 20:45:44 +00:00
bzrmirror%bugzilla.org
5c0b2edb93 Bug 1085182: Bugzilla::Bug->check must check that a bug ID is defined when it gets a hashref
r=dkl a=glob


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265782 18797224-902f-48f8-a5cc-f745e15eee43
2015-01-05 18:45:44 +00:00
bzrmirror%bugzilla.org
cb39c353d9 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/branches/BUGZILLA-4_0-BRANCH@265678 18797224-902f-48f8-a5cc-f745e15eee43
2014-11-19 17:31:45 +00:00
bzrmirror%bugzilla.org
1f7525b5ff 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/branches/BUGZILLA-4_0-BRANCH@265621 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-16 07:46:34 +00:00
bzrmirror%bugzilla.org
5d0966631b Bump version post-release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265610 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-06 18:46:24 +00:00
bzrmirror%bugzilla.org
fe0c9d81ad Bump version to 4.0.15
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265607 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-06 15:30:46 +00:00
bzrmirror%bugzilla.org
597e26f3e9 Bug 1054702: CSV export vulnerable to formulae injection
r=glob,a=glob


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265605 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-06 15:01:28 +00:00
bzrmirror%bugzilla.org
802209aef9 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/branches/BUGZILLA-4_0-BRANCH@265603 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-06 14:48:02 +00:00
bzrmirror%bugzilla.org
150ce60639 Bug 1074980: Forbid the { foo => $cgi->param() } syntax to prevent data override
r=dkl,a=sgreen


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


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265600 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-06 14:31:49 +00:00
bzrmirror%bugzilla.org
1b01513c24 Bug 1072494: Release notes for 4.0.15
r=LpSolit,a=sgreen


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265599 18797224-902f-48f8-a5cc-f745e15eee43
2014-10-06 14:30:57 +00:00
bzrmirror%bugzilla.org
4b79017161 Bump version post-release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265477 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-24 21:46:37 +00:00
bzrmirror%bugzilla.org
c5ff5462cf Bump version to 4.0.14 (corrected)
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265473 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-24 17:31:23 +00:00
bzrmirror%bugzilla.org
13bf215d31 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/branches/BUGZILLA-4_0-BRANCH@265472 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-24 17:30:45 +00:00
bzrmirror%bugzilla.org
386c4c75e3 Bump version to 4.0.14
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265471 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-24 17:01:23 +00:00
bzrmirror%bugzilla.org
5a727910e4 Bug 1042091 - Release notes for 4.0.14
r=glob


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265470 18797224-902f-48f8-a5cc-f745e15eee43
2014-07-24 17:00:44 +00:00
bzrmirror%bugzilla.org
9428ac45ec Bug 1011250 - Updates IRC notification text to include commit message and also send to #bugzilla
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265405 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-15 22:01:23 +00:00
bzrmirror%bugzilla.org
42b3130650 Bug 983275 - Switch Bugzilla's CI testing from Tinderbox to travis-ci
- Only run webservices for Pg and Mysql with Perl 5.12 due to interaction bug
in 5.10


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265404 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-15 03:00:40 +00:00
bzrmirror%bugzilla.org
929cbfe8af Bug 983275 - Switch Bugzilla's CI testing from Tinderbox to travis-ci
- Only run webservices for Pg with Perl 5.12 due to interaction bug in
5.10


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265403 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-14 21:00:41 +00:00
bzrmirror%bugzilla.org
752e894dbb Bug 983275 - Switch Bugzilla's CI testing from Tinderbox to travis-ci
- Added the PostgreSQL webservices/selenium tests


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265393 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-08 21:00:39 +00:00
bzrmirror%bugzilla.org
85c20b06ae Bug 983275 - Switch Bugzilla's CI testing from Tinderbox to travis-ci
- Updated notification settings


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265392 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-07 16:32:02 +00:00
bzrmirror%bugzilla.org
7bc31c2e8f Bug 983275 - Switch Bugzilla's CI testing from Tinderbox to travis-ci
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265391 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-07 16:31:25 +00:00
bzrmirror%bugzilla.org
b791ba92f0 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/branches/BUGZILLA-4_0-BRANCH@265385 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-02 20:45:39 +00:00
bzrmirror%bugzilla.org
32d79a9d4f Bug 983275 - Switch Bugzilla's CI testing from Tinderbox to travis-ci
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265382 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-02 16:15:40 +00:00
bzrmirror%bugzilla.org
5e8bca5378 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/branches/BUGZILLA-4_0-BRANCH@265375 18797224-902f-48f8-a5cc-f745e15eee43
2014-05-01 21:15:41 +00:00
bzrmirror%bugzilla.org
bbf036b736 Bumped version post-release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265353 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-21 21:16:24 +00:00
bzrmirror%bugzilla.org
db1539167c Bump version to 4.0.13
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265349 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-18 22:16:37 +00:00
bzrmirror%bugzilla.org
92205206f0 Bug 998484: Release notes for Bugzilla 4.0.13
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265347 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-18 22:01:25 +00:00
bzrmirror%bugzilla.org
b7342cb5f3 Bug 998323 - URLs pasted in comments are no longer displayed
r=LpSolit,a=justdave


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265344 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-18 21:15:39 +00:00
bzrmirror%bugzilla.org
08a529eda4 Bumped version post-release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265339 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-17 21:31:33 +00:00
bzrmirror%bugzilla.org
b309930596 Bumped version to 4.0.12
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265337 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-17 17:46:24 +00:00
bzrmirror%bugzilla.org
1fa2629eb3 Bug 968576: [SECURITY] Dangerous control characters allowed in Bugzilla text
r=glob a=justdave


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265335 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-17 17:01:18 +00:00
bzrmirror%bugzilla.org
02d012ed6a Fix POD to make tests happy
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265334 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-17 17:00:41 +00:00
bzrmirror%bugzilla.org
5c58aa22ee Bug 996169: Release notes for Bugzilla 4.0.12
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265323 18797224-902f-48f8-a5cc-f745e15eee43
2014-04-15 22:01:23 +00:00
bzrmirror%bugzilla.org
797b0b43f5 Copied over .bzrignore to .gitignore
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265286 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-14 18:30:45 +00:00
bzrmirror%bugzilla.org
00cfaadeb6 Added .gitrev.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265281 18797224-902f-48f8-a5cc-f745e15eee43
2014-03-11 20:00:48 +00:00
bzrmirror%bugzilla.org
3c049c8b28 Bug 942599: Documentation about possible_duplicates() lists 'products' as argument instead of 'product'
r=dkl a=justdave


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265135 18797224-902f-48f8-a5cc-f745e15eee43
2013-12-05 22:46:42 +00:00
bzrmirror%bugzilla.org
be81ebe143 Bump version post-release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265068 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-17 15:21:03 +00:00
bzrmirror%bugzilla.org
70d1c471c4 Bump version to 4.0.11
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265063 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-16 20:47:53 +00:00
bzrmirror%bugzilla.org
3a52cc32a7 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/branches/BUGZILLA-4_0-BRANCH@265061 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-16 17:33:13 +00:00
bzrmirror%bugzilla.org
b8daed2326 Bug 913904: (CVE-2013-1734) [SECURITY] CSRF when updating attachments
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265060 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-16 17:29:09 +00:00
bzrmirror%bugzilla.org
a837536af3 Bug 906745 - In MySQL, tokens are not case-sensitive, reducing total entropy and allowing easier brute force
r=LpSolit,a=sgreen


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265058 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-16 17:03:59 +00:00
bzrmirror%bugzilla.org
ced7a0a876 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/branches/BUGZILLA-4_0-BRANCH@265057 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-16 17:01:24 +00:00
bzrmirror%bugzilla.org
8dc631e917 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/branches/BUGZILLA-4_0-BRANCH@265056 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-16 16:57:35 +00:00
bzrmirror%bugzilla.org
92af6088cd Bug 912639: Release notes for Bugzilla 4.0.11
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@265051 18797224-902f-48f8-a5cc-f745e15eee43
2013-10-11 22:15:49 +00:00
mkanat%bugzilla.org
f59e01f234 Bug 902515: Internet Explorer 11 receives multipart/x-mixed-replace content from buglist.cgi
r=dkl a=sgreen


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264927 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-09 09:47:58 +00:00
mkanat%bugzilla.org
dfcc944b14 Bug 901620 - Grammar error in the documentation
r=sgreen, a=glob


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264925 18797224-902f-48f8-a5cc-f745e15eee43
2013-08-07 05:30:58 +00:00
mkanat%bugzilla.org
2e42bbc302 Bug 880653 - Add POD for Bug.possible_duplicates webservice
r=LpSolit,a=sgreen


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264906 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-24 14:31:00 +00:00
mkanat%bugzilla.org
152b15ae2e Bug 787328 - xmlrpc.cgi doesn't send any security-related headers
r=glob,a=justdave


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264890 18797224-902f-48f8-a5cc-f745e15eee43
2013-07-15 04:01:28 +00:00
mkanat%bugzilla.org
1e733a2646 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/branches/BUGZILLA-4_0-BRANCH@264830 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-15 21:31:43 +00:00
mkanat%bugzilla.org
15488a3014 Bug 355620: Lines enclosed in <simplelist> do not wrap in the PDF version of the Bugzilla Guide
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264821 18797224-902f-48f8-a5cc-f745e15eee43
2013-04-09 10:30:44 +00:00
mkanat%bugzilla.org
3c0f998ba7 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/branches/BUGZILLA-4_0-BRANCH@264808 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-26 11:15:58 +00:00
mkanat%bugzilla.org
07e4f1d919 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/branches/BUGZILLA-4_0-BRANCH@264804 18797224-902f-48f8-a5cc-f745e15eee43
2013-03-20 12:16:19 +00:00
mkanat%bugzilla.org
dbb3885b9d Bump version post-release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264779 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-20 01:30:38 +00:00
mkanat%bugzilla.org
420ec93017 Bumped current year
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264777 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-19 18:46:34 +00:00
mkanat%bugzilla.org
4923e4f9d5 Bump version to 4.0.10
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264771 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-19 17:45:54 +00:00
mkanat%bugzilla.org
91f1886684 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/branches/BUGZILLA-4_0-BRANCH@264770 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-19 17:33:12 +00:00
mkanat%bugzilla.org
388ddeef0f 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/branches/BUGZILLA-4_0-BRANCH@264769 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-19 17:32:38 +00:00
mkanat%bugzilla.org
5ba6e8c08c Bug 832265: Release notes for Bugzilla 4.0.10
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264761 18797224-902f-48f8-a5cc-f745e15eee43
2013-02-19 09:01:02 +00:00
mkanat%bugzilla.org
7f9982c216 Bug 771100: Attaching a file to a bug with Perl 5.16 fails
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264658 18797224-902f-48f8-a5cc-f745e15eee43
2013-01-21 12:45:38 +00:00
mkanat%bugzilla.org
7da4afeb09 Bug 826678: Disable warnings about the deprecated Return::Value module when loading Email::Send
r=wicked a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264623 18797224-902f-48f8-a5cc-f745e15eee43
2013-01-05 23:31:21 +00:00
mkanat%bugzilla.org
f508951d09 Bug 824616: The urlbase field in global/header.html.tmpl must be filtered
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264619 18797224-902f-48f8-a5cc-f745e15eee43
2013-01-03 12:31:28 +00:00
mkanat%bugzilla.org
0fdd0dece1 Bug 579189 - New methods added to Bugzilla/User.pm by bug 24896 have no POD
r=dkl, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264496 18797224-902f-48f8-a5cc-f745e15eee43
2012-11-29 19:30:43 +00:00
mkanat%bugzilla.org
19a66c4673 Bug 640756 - Make the documentation clearer that attachments created with Bug.add_attachment must by of type 'base64' when non-ASCII
.
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264470 18797224-902f-48f8-a5cc-f745e15eee43
2012-11-20 19:16:20 +00:00
mkanat%bugzilla.org
a2c550384f Bump version post-release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264435 18797224-902f-48f8-a5cc-f745e15eee43
2012-11-13 23:31:18 +00:00
mkanat%bugzilla.org
00a140e827 Bump version to 4.0.9
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264429 18797224-902f-48f8-a5cc-f745e15eee43
2012-11-13 20:00:41 +00:00
mkanat%bugzilla.org
e842ff1c8b Bug 808845 (CVE-2012-5475): [SECURITY] Security vulnerability in YUI's swfstore.swf in YUI 2.8.2 and 2.9.0
a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264426 18797224-902f-48f8-a5cc-f745e15eee43
2012-11-13 17:47:01 +00:00
mkanat%bugzilla.org
636fa6afe1 Bug 781850 (CVE-2012-4198): [SECURITY] Do not leak the existence of groups when using User.get()
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264425 18797224-902f-48f8-a5cc-f745e15eee43
2012-11-13 17:46:24 +00:00
mkanat%bugzilla.org
dd21d3d7d3 Bug 802204 (CVE-2012-4197): [SECURITY] Marking an attachment you cannot see as obsolete can disclose its description
r=gerv a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264424 18797224-902f-48f8-a5cc-f745e15eee43
2012-11-13 17:31:57 +00:00
mkanat%bugzilla.org
50c5bda19d Bug 731178 (CVE-2012-4199): [SECURITY] field-events.js.tmpl discloses product and component names that the user is not allowed to see
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264423 18797224-902f-48f8-a5cc-f745e15eee43
2012-11-13 17:16:56 +00:00
mkanat%bugzilla.org
3fe95ece18 Fix typo
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264399 18797224-902f-48f8-a5cc-f745e15eee43
2012-11-02 13:03:22 +00:00
mkanat%bugzilla.org
d87638b2e2 Bug 807937: Fix POD
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264398 18797224-902f-48f8-a5cc-f745e15eee43
2012-11-02 13:02:41 +00:00
mkanat%bugzilla.org
06d7430968 Bug 805649: Release notes for Bugzilla 4.0.9
r=dkl


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264391 18797224-902f-48f8-a5cc-f745e15eee43
2012-10-30 21:30:43 +00:00
mkanat%bugzilla.org
ae0d2cb19e Fix typo
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264338 18797224-902f-48f8-a5cc-f745e15eee43
2012-10-13 21:31:56 +00:00
mkanat%bugzilla.org
e42aec1148 Bug 790909: Editing dependencies from the "Change Several Bugs at Once" page does not work as expected (bug IDs are incorrectly parsed)
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264300 18797224-902f-48f8-a5cc-f745e15eee43
2012-10-04 16:02:22 +00:00
mkanat%bugzilla.org
6e74e81608 Bug 757935: Bugs with resolution MOVED cannot be edited
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264289 18797224-902f-48f8-a5cc-f745e15eee43
2012-10-03 17:46:25 +00:00
mkanat%bugzilla.org
f1d58bbf00 Bug 790215 - Flag names are not properly escaped when displayed on confirm user match page
[r=LpSolit a=LpSolit]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264212 18797224-902f-48f8-a5cc-f745e15eee43
2012-09-11 19:29:05 +00:00
mkanat%bugzilla.org
8a1f56d99a Bumped version post-release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264186 18797224-902f-48f8-a5cc-f745e15eee43
2012-08-30 20:32:17 +00:00
mkanat%bugzilla.org
ddca5da73e Bump version to 4.0.8
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264182 18797224-902f-48f8-a5cc-f745e15eee43
2012-08-30 19:16:21 +00:00
mkanat%bugzilla.org
6e111ef217 Bug 785470: (CVE-2012-3981) [SECURITY] Missing escaping of the username can lead to LDAP injection
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264179 18797224-902f-48f8-a5cc-f745e15eee43
2012-08-30 18:33:26 +00:00
mkanat%bugzilla.org
df4ee7c380 Bug 785522: [SECURITY] Block access to templates in extensions/
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264178 18797224-902f-48f8-a5cc-f745e15eee43
2012-08-30 18:32:13 +00:00
mkanat%bugzilla.org
3052af6d3b Bug 786352: Release notes for Bugzilla 4.0.8
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264172 18797224-902f-48f8-a5cc-f745e15eee43
2012-08-29 14:47:48 +00:00
mkanat%bugzilla.org
5698f83886 Bug 785917: Custom field descriptions are not properly escaped when displayed as bug list column headers
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264161 18797224-902f-48f8-a5cc-f745e15eee43
2012-08-27 18:32:07 +00:00
mkanat%bugzilla.org
72066c1233 Bug 682317 - Bug.create is incorrectly documented as ignoring invalid fields; it should say it produces an error
r=dkl, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264114 18797224-902f-48f8-a5cc-f745e15eee43
2012-08-03 17:01:30 +00:00
mkanat%bugzilla.org
752dc36b8f Bumped version post release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264081 18797224-902f-48f8-a5cc-f745e15eee43
2012-07-26 23:01:15 +00:00
mkanat%bugzilla.org
2e174ba9dd Bump version to 4.0.7
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264077 18797224-902f-48f8-a5cc-f745e15eee43
2012-07-26 21:45:41 +00:00
mkanat%bugzilla.org
5902c5d0cb Bug 777586: (CVE-2012-1969) [SECURITY] The description of private attachments is still visible to unauthorized users when mentioned in a comment
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264073 18797224-902f-48f8-a5cc-f745e15eee43
2012-07-26 21:16:55 +00:00
mkanat%bugzilla.org
db54375ddd Bug 777675: Release notes for Bugzilla 4.0.7
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264067 18797224-902f-48f8-a5cc-f745e15eee43
2012-07-26 14:00:44 +00:00
mkanat%bugzilla.org
3869f341e1 Bug 776103 - Syntax error in Bugzilla::User::Setting API doc
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@264065 18797224-902f-48f8-a5cc-f745e15eee43
2012-07-25 21:46:57 +00:00
mkanat%bugzilla.org
d063d8405c Bug 768870: The "Un-forget the search" link has no token
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263995 18797224-902f-48f8-a5cc-f745e15eee43
2012-06-27 16:16:21 +00:00
mkanat%bugzilla.org
be17459875 Bug 754561 - Escape HTML in keywords in the auto-complete form
[r=LpSolit a=LpSolit]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263869 18797224-902f-48f8-a5cc-f745e15eee43
2012-05-29 15:01:23 +00:00
mkanat%bugzilla.org
fd56c90478 Bug 756314: Fix dropping of unique matches when the "confirm page" page is display.
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263865 18797224-902f-48f8-a5cc-f745e15eee43
2012-05-28 17:00:39 +00:00
mkanat%bugzilla.org
179912ff95 Bumping the version post-release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263718 18797224-902f-48f8-a5cc-f745e15eee43
2012-04-18 22:33:02 +00:00
mkanat%bugzilla.org
92ca787774 Bump version to 4.0.6
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263713 18797224-902f-48f8-a5cc-f745e15eee43
2012-04-18 18:01:39 +00:00
mkanat%bugzilla.org
040f94dd9e Bug 745397: (CVE-2012-0466) [SECURITY] The JS template for buglists permits attackers to access all bugs that the victim can see
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263712 18797224-902f-48f8-a5cc-f745e15eee43
2012-04-18 17:08:02 +00:00
mkanat%bugzilla.org
620b5cd8ec Bug 728639: (CVE-2012-0465) [SECURITY] User lockout policy can be bypassed by altering the X-FORWARDED-FOR header
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263711 18797224-902f-48f8-a5cc-f745e15eee43
2012-04-18 17:06:52 +00:00
mkanat%bugzilla.org
4400d3c7bb Bug 746547: SMALLSERIAL is of type INT2, not INT1
r=timello a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263709 18797224-902f-48f8-a5cc-f745e15eee43
2012-04-18 15:04:18 +00:00
mkanat%bugzilla.org
97a1e9d4ca Bug 741077: Update relnotes for 4.0.6
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263701 18797224-902f-48f8-a5cc-f745e15eee43
2012-04-17 19:31:39 +00:00
mkanat%bugzilla.org
40308feb00 Bug 741077: Release notes for Bugzilla 4.0.6
r=dkl


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263676 18797224-902f-48f8-a5cc-f745e15eee43
2012-04-12 19:16:08 +00:00
mkanat%bugzilla.org
bb5b08cc57 Bug 733458: The "creator" argument is listed twice for the Bug.search WebService method
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263598 18797224-902f-48f8-a5cc-f745e15eee43
2012-03-22 19:02:53 +00:00
mkanat%bugzilla.org
f3065f9da3 Bug 731725 - In the documentation license, the address of the FSF is incorrect
r=dkl, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263512 18797224-902f-48f8-a5cc-f745e15eee43
2012-03-01 23:05:25 +00:00
mkanat%bugzilla.org
6a9ee8dc21 Bug 731219: Fix XMLRPC breakage when content-type contains a charset
r=dkl, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263500 18797224-902f-48f8-a5cc-f745e15eee43
2012-02-29 05:03:15 +00:00
mkanat%bugzilla.org
70171d44fb Bug 696352: Required fields have broken colors
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263485 18797224-902f-48f8-a5cc-f745e15eee43
2012-02-25 14:35:20 +00:00
dlawrence%mozilla.com
8019024a98 Bumped version number post-release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263472 18797224-902f-48f8-a5cc-f745e15eee43
2012-02-22 18:23:23 +00:00
dlawrence%mozilla.com
7aacd6d91b Rolled back version bump for 4.0.5+
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263470 18797224-902f-48f8-a5cc-f745e15eee43
2012-02-22 18:06:22 +00:00
mkanat%bugzilla.org
821166867d Bumped the version number post-release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263467 18797224-902f-48f8-a5cc-f745e15eee43
2012-02-22 15:46:57 +00:00
mkanat%bugzilla.org
c9dea496d4 Bumped version to 4.0.5
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263466 18797224-902f-48f8-a5cc-f745e15eee43
2012-02-22 15:34:33 +00:00
mkanat%bugzilla.org
d568f97c43 Bug 725663 - (CVE-2012-0453) [SECURITY] CSRF vulnerability in the XML-RPC API when using mod_perl
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263465 18797224-902f-48f8-a5cc-f745e15eee43
2012-02-22 15:32:12 +00:00
mkanat%bugzilla.org
198f8c249d Bug 727893: Release notes for Bugzilla 4.0.5
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263442 18797224-902f-48f8-a5cc-f745e15eee43
2012-02-17 20:16:29 +00:00
mkanat%bugzilla.org
d7dc40e0c6 Test 1 fails if PERLLIB contains paths with whitespace.
r=gerv; a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263412 18797224-902f-48f8-a5cc-f745e15eee43
2012-02-15 18:04:20 +00:00
mkanat%bugzilla.org
26e2568713 Bug 727240: The POD for Bug.attachments is wrong about the format of the returned data
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263407 18797224-902f-48f8-a5cc-f745e15eee43
2012-02-14 22:24:30 +00:00
mkanat%bugzilla.org
72649d145a Bug 722161: Clickjacking is possible in "View All" with HTML attachments
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263364 18797224-902f-48f8-a5cc-f745e15eee43
2012-02-08 16:02:50 +00:00
mkanat%bugzilla.org
6885029fd3 Bump the version number post-release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263354 18797224-902f-48f8-a5cc-f745e15eee43
2012-02-01 00:04:54 +00:00
mkanat%bugzilla.org
f33b3eda26 Bumped to correct date
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263351 18797224-902f-48f8-a5cc-f745e15eee43
2012-01-31 17:31:47 +00:00
mkanat%bugzilla.org
36ebe12ba3 Bumped to version 4.0.4
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263344 18797224-902f-48f8-a5cc-f745e15eee43
2012-01-31 16:47:04 +00:00
mkanat%bugzilla.org
d21ff6ea40 Bug 718319: (CVE-2012-0440) [SECURITY] JSON-RPC permits to bypass token checks and can lead to CSRF (no victim's action required)
r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263341 18797224-902f-48f8-a5cc-f745e15eee43
2012-01-31 16:16:56 +00:00
mkanat%bugzilla.org
ebeabba5e8 Bug 714472: (CVE-2012-0448) [SECURITY] utf8 homoglyphs are allowed in email addresses, which could allow an attacker to be CC'ed to private bugs by accident
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263337 18797224-902f-48f8-a5cc-f745e15eee43
2012-01-31 15:48:18 +00:00
mkanat%bugzilla.org
c9895bf644 Bug 720752 - Release notes for Bugzilla 4.0.4
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263322 18797224-902f-48f8-a5cc-f745e15eee43
2012-01-27 22:16:47 +00:00
mkanat%bugzilla.org
d0ce1035af Bug 469068: SMTP parameters not documented
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263293 18797224-902f-48f8-a5cc-f745e15eee43
2012-01-21 11:20:52 +00:00
mkanat%bugzilla.org
ebdff28520 Bug 715733 - When deleting a user account, related data in the profile_search table is not removed
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263264 18797224-902f-48f8-a5cc-f745e15eee43
2012-01-12 22:16:52 +00:00
mkanat%bugzilla.org
2c239363ec Bug 591638: In the admin page, the link to edit field values is named 'Field Values', not 'Legal Values'
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263253 18797224-902f-48f8-a5cc-f745e15eee43
2012-01-11 12:35:15 +00:00
mkanat%bugzilla.org
235673bb5b Bug 715650 - User auto-completion does not work in request.cgi for requester and requestee as expected
r=timello, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263250 18797224-902f-48f8-a5cc-f745e15eee43
2012-01-11 06:16:23 +00:00
mkanat%bugzilla.org
4456c93001 Bug 716283: Clickjacking in the attachment "Details" page allows to bypass token checks
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263245 18797224-902f-48f8-a5cc-f745e15eee43
2012-01-10 00:16:16 +00:00
mkanat%bugzilla.org
8e95fe4e8b Bug 319684: The documentation is unclear about how to disable quips
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263237 18797224-902f-48f8-a5cc-f745e15eee43
2012-01-06 10:06:02 +00:00
mkanat%bugzilla.org
64b1a9d142 Bug 641957: The documentation should mention that the voting system is now an extension
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263235 18797224-902f-48f8-a5cc-f745e15eee43
2012-01-06 09:53:14 +00:00
mkanat%bugzilla.org
d938ce842f Bug 715705: User auto-completion doesn't work for watched users in the email prefs tab
r=timello a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263232 18797224-902f-48f8-a5cc-f745e15eee43
2012-01-06 09:51:50 +00:00
mkanat%bugzilla.org
ad955fb495 Bug 714664: The content of the "emailregexpdesc" parameter is not escaped when displayed to the user
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263229 18797224-902f-48f8-a5cc-f745e15eee43
2012-01-06 00:39:49 +00:00
mkanat%bugzilla.org
fcedb45128 Bug 706753: Bugzilla will not work with newest version of JSON::RPC 1.01 due to non-backward compatibility
r=dkl r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263226 18797224-902f-48f8-a5cc-f745e15eee43
2012-01-05 01:02:37 +00:00
mkanat%bugzilla.org
c6ee7aa266 Bump the version number post-release
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263216 18797224-902f-48f8-a5cc-f745e15eee43
2011-12-29 18:03:54 +00:00
mkanat%bugzilla.org
b109733298 Bump version for 4.0.3
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263207 18797224-902f-48f8-a5cc-f745e15eee43
2011-12-28 23:16:24 +00:00
mkanat%bugzilla.org
118c8d3319 Bug 711714: (CVE-2011-3667) [SECURITY] The User.offer_account_by_email WebService method lets you create new user accounts independently of the value of Bugzilla::Auth::Verify::*::user_can_create_account
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263205 18797224-902f-48f8-a5cc-f745e15eee43
2011-12-28 22:21:31 +00:00
mkanat%bugzilla.org
f3cb64b4d1 Bug 697699 - (CVE-2011-3657) [SECURITY] XSS when viewing new charts or tabular and graphical reports in debug mode
r=gerv, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263202 18797224-902f-48f8-a5cc-f745e15eee43
2011-12-28 22:03:37 +00:00
mkanat%bugzilla.org
1fd7c5c5e0 Bug 713345: Release notes for Bugzilla 4.0.3
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263199 18797224-902f-48f8-a5cc-f745e15eee43
2011-12-28 16:46:19 +00:00
mkanat%bugzilla.org
b2e657b27a Bug 707428: Custom field values whose visibility depends on another field value do not remain selected after editing a bug
r=wicked a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263164 18797224-902f-48f8-a5cc-f745e15eee43
2011-12-15 15:31:22 +00:00
mkanat%bugzilla.org
5700ff9ce4 Bug 644281: When the sort order of a buglist is modified, the "Show next bug in my list" user pref still uses the original sort order to decide which bug to display next
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263147 18797224-902f-48f8-a5cc-f745e15eee43
2011-12-08 23:32:33 +00:00
mkanat%bugzilla.org
1f666fe502 Bug 707170: Several features about custom fields are missing in the documentation
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263146 18797224-902f-48f8-a5cc-f745e15eee43
2011-12-08 23:03:26 +00:00
mkanat%bugzilla.org
de0268f582 Bug 657290: Bug.add_attachment() stores truncated timestamps in the DB (seconds are missing)
r=dkl a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263137 18797224-902f-48f8-a5cc-f745e15eee43
2011-12-06 12:05:31 +00:00
mkanat%bugzilla.org
6df13f362e Bug 550299: User fields are left blank in buglists and whines when local user accounts are used (i.e. they have no @company.com suffix)
r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263136 18797224-902f-48f8-a5cc-f745e15eee43
2011-12-06 12:04:13 +00:00
mkanat%bugzilla.org
0b85a2884f Bug 692354: Incorrect parameter type in WebServices documentation for Bug.add_comment
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263135 18797224-902f-48f8-a5cc-f745e15eee43
2011-12-05 21:35:28 +00:00
mkanat%bugzilla.org
2e4cca9c0c Bug 707594: Fix broken account lockout notifications
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263130 18797224-902f-48f8-a5cc-f745e15eee43
2011-12-05 16:48:52 +00:00
mkanat%bugzilla.org
c6d56a2e9e Bug 701350: Oracle crashes if the 'maxattachmentsize' parameter is set to a too small value
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263129 18797224-902f-48f8-a5cc-f745e15eee43
2011-12-05 16:17:32 +00:00
mkanat%bugzilla.org
eb1e05361e Bug 591610: Custom field doc doesn't include 'Bug ID' type
r=timello a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263128 18797224-902f-48f8-a5cc-f745e15eee43
2011-12-02 16:50:47 +00:00
mkanat%bugzilla.org
450f9a9ae3 Bug 591636: "is mandatory" is not documented in the Custom Fields section
r=timello a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263127 18797224-902f-48f8-a5cc-f745e15eee43
2011-12-02 16:47:29 +00:00
mkanat%bugzilla.org
38a6885296 Bug 706118: Session token not deleted during a bug mass-change
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263112 18797224-902f-48f8-a5cc-f745e15eee43
2011-11-29 16:16:19 +00:00
mkanat%bugzilla.org
fad9d4512c Bug 277073: Make whining trap errors thrown by Search.pm
r=wicked a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263106 18797224-902f-48f8-a5cc-f745e15eee43
2011-11-27 23:16:42 +00:00
mkanat%bugzilla.org
1cf396aba6 Fix missing-space bugs in error messages. a=LpSolit.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263032 18797224-902f-48f8-a5cc-f745e15eee43
2011-11-01 17:32:33 +00:00
mkanat%bugzilla.org
2f50aaf522 Bug 685552 - Email auto-completion causes server to thrash
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@263012 18797224-902f-48f8-a5cc-f745e15eee43
2011-10-24 22:19:56 +00:00
mkanat%bugzilla.org
1144f41a1a Bug 686860: Correctly calculate Hours Worked in buglists
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262992 18797224-902f-48f8-a5cc-f745e15eee43
2011-10-18 21:46:29 +00:00
mkanat%bugzilla.org
a644285360 Bug 691243: Fix typo
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262987 18797224-902f-48f8-a5cc-f745e15eee43
2011-10-15 13:35:13 +00:00
mkanat%bugzilla.org
2a0c670d1f Bug 620694: MySQL is not 'required' RDBMS for Bugzilla
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262981 18797224-902f-48f8-a5cc-f745e15eee43
2011-10-15 12:50:10 +00:00
mkanat%bugzilla.org
22c4146d83 Bug 445804: Suggested crontab configuration opens security hole
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262979 18797224-902f-48f8-a5cc-f745e15eee43
2011-10-15 12:35:24 +00:00
mkanat%bugzilla.org
ace3e156bf Bug 691845: importxml.pl complains if an open bug has the resolution field set to ''
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262970 18797224-902f-48f8-a5cc-f745e15eee43
2011-10-07 22:47:30 +00:00
mkanat%bugzilla.org
d784f25d96 $user->is_mover no longer exists, see bug 556422
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262956 18797224-902f-48f8-a5cc-f745e15eee43
2011-10-04 21:47:29 +00:00
mkanat%bugzilla.org
325e07d936 Bug 682203 - migrate.pl fails at requirements check.
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262779 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-31 13:32:51 +00:00
mkanat%bugzilla.org
afa59fde4a Bug 680780: Advanced Search: help for field Comment is missing a space
r=wicked a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262747 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-29 23:33:39 +00:00
mkanat%bugzilla.org
157caf81c6 Bug 682747: Wrong check in editusers.cgi
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262746 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-29 23:17:41 +00:00
mkanat%bugzilla.org
1ffbde451f Bug 622487: Product and component mismatch: a product without any component gets components of another product in the Advanced Search page
r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262735 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-27 09:46:16 +00:00
mkanat%bugzilla.org
9ad8e26f1c Bug 678844: When trying to edit a non-existent classification, the error message has missing words
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262666 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-16 11:32:36 +00:00
mkanat%bugzilla.org
ceed5cb286 Bug 678772: version.pm 0.92 and newer forbids negative values, making checksetup.pl to fail
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262663 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-16 01:49:56 +00:00
mkanat%bugzilla.org
a0ab02e077 Bug 654496: Duplicate bug detection doesn't work when using Oracle
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262662 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-16 01:48:50 +00:00
mkanat%bugzilla.org
60e9f66f35 Bug 582209: Bugzilla::DB::Oracle::adjust_statement() LIMIT code corrupts sub-selects
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262661 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-16 01:32:37 +00:00
mkanat%bugzilla.org
7b4d379625 Bug 460074: Make post_bug.cgi use should_set for the group field, so it
are undef in Bugzilla::Bug->create if not passed to post_bug. This fixes
a bug with the guided bug form creating bugs without any groups.
r=LpSolit, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262658 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-16 01:03:57 +00:00
mkanat%bugzilla.org
ff3c7d989a Bug 677187: If the attachment filename contains a newline, an error is thrown when trying to download the attachment
r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262638 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-10 00:01:23 +00:00
mkanat%bugzilla.org
129123c8c8 Bump version number post-release.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262609 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-06 00:17:34 +00:00
mkanat%bugzilla.org
fa4ba15e37 Bump version number for 4.0.2.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262591 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-05 00:17:43 +00:00
mkanat%bugzilla.org
ad86c110a7 Bug 670868: (CVE-2011-2978) [SECURITY] Account preferences page trusts user-modifiable field for obtaining current e-mail address
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262586 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-04 21:06:12 +00:00
mkanat%bugzilla.org
6772fb21a0 Bug 637981: (CVE-2011-2379) [SECURITY] "Raw Unified" patch diffs can cause XSS on this domain in IE 6-8 and Safari
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262585 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-04 20:49:57 +00:00
mkanat%bugzilla.org
5db8cada1d Bug 660502: (CVE-2011-2977) [SECURITY] Temporary files for uploaded attachments are not deleted on Windows
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262584 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-04 20:33:34 +00:00
mkanat%bugzilla.org
bc09cda02b Bug 653477: (CVE-2011-2380) [SECURITY] Group names can be guessed when creating or editing a bug
r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262581 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-04 20:17:35 +00:00
mkanat%bugzilla.org
8be8caaeb6 Bug 657158 - (CVE-2011-2381) [SECURITY] Request email headers for attachment containing newline are corrupt
[r=LpSolit a=LpSolit]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262579 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-04 19:32:30 +00:00
mkanat%bugzilla.org
6ec8ab0bbe Bug 676237: The traceback in code-error.html.tmpl is displayed on a single line
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262575 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-04 11:02:40 +00:00
mkanat%bugzilla.org
860536e019 Bug 655910: When calling ./install-module.pl --all, install LWP before XML::Twig, else arguments passed to build XML::Twig are propagated to Net::HTTP which then fails
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262567 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-03 08:02:35 +00:00
mkanat%bugzilla.org
c3a7a98ec3 Bug 675754: Release notes for Bugzilla 4.0.2
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262566 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-03 02:02:31 +00:00
mkanat%bugzilla.org
23bf68ef9b Bug 634812: Having a very large number of custom fields can make displaying show_bug.cgi slow
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262562 18797224-902f-48f8-a5cc-f745e15eee43
2011-08-01 08:48:47 +00:00
mkanat%bugzilla.org
125ef08b3d Bug 673702: Undefined get_add_fk_sql in Bugzilla/DB/Schema.pm
r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262556 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-31 12:18:21 +00:00
mkanat%bugzilla.org
d4bebc7db2 Bug 655912: install-module.pl is unable to install LWP::UserAgent on Perl <5.8.8, because LWP 6.0 now requires 5.8.8 as a minimum
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262554 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-31 12:02:44 +00:00
mkanat%bugzilla.org
727c949d2b Bug 673976: Style for #somebugs is duplicated in create-guided.html.tmpl
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262533 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-26 09:32:48 +00:00
mkanat%bugzilla.org
a79ff76db9 Bug 647158: The Error Console in Firefox reports
"unbalanced tree was written using document.write()"
when reporting a new bug or when visiting the "User Authentication" panel in the Parameters page
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262532 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-26 09:17:29 +00:00
mkanat%bugzilla.org
bda12aedbe Bug 674089: Add a new hook 'end_object_name' in user-error.html.tmpl template
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262529 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-26 00:32:53 +00:00
mkanat%bugzilla.org
4be53cab96 Bug 674117: Add a new hook 'auth_failure_object' in user-error.html.tmpl template
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262528 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-26 00:02:41 +00:00
mkanat%bugzilla.org
2b09af02f7 Remove an extra comma which makes the W3C CSS validator to complain
r=wicked on IRC


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262527 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-25 19:23:22 +00:00
mkanat%bugzilla.org
bbac497fdf Bug 642388: Description of field days_elapsed missing from global/field-descs.none.tmpl
r=wurblzap a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262524 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-25 19:22:11 +00:00
mkanat%bugzilla.org
70429b5e6a Bug 652663 - When using bug_format_comment hook some replacements can happen more than once causing broken links
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262521 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-25 05:32:46 +00:00
mkanat%bugzilla.org
c86cbb3b63 Bug 670670 - New hook for requests.cgi that allows for additional links after attachment descriptions.
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262513 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-22 15:17:39 +00:00
mkanat%bugzilla.org
21c4f5f0a6 Bug 600810: Use XMLRPC::Transport::HTTP:Apache as base class under mod_perl
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262511 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-20 17:01:25 +00:00
mkanat%bugzilla.org
16c558038f Bug 669223: Add a new hook 'before_table' in list-classifications.html.tmpl template
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262509 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-20 09:18:45 +00:00
mkanat%bugzilla.org
17e54fb09f Bug 561170: Fix various warnings thrown with Perl 5.12
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262497 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-18 00:47:50 +00:00
mkanat%bugzilla.org
96d9601078 Bug 670128: Missing explicit exit after calls to $cgi->redirect(), making the rest of the scripts to be executed
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262495 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-18 00:34:12 +00:00
mkanat%bugzilla.org
801e541b15 Bug 657561: Invalid XMLRPC response generated if an optional custom integer field is empty
(we should return undef rather than an empty string when a field is undefined)
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262465 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-06 14:34:42 +00:00
mkanat%bugzilla.org
9cbcd9e84e Bug 652410 - 500+ consecutive lines of markup whitespace in show_bug.cgi flags table, depending on flag states
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262464 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-06 14:33:13 +00:00
mkanat%bugzilla.org
b65ff8338c Bug 658929 - User autocomplete is very slow when there are lots of users in the profiles table
Reverted patch that changed disabledtext = '' to LENGTH(disabledtext) = 0 as gave no real improvement.


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262461 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-05 22:09:30 +00:00
mkanat%bugzilla.org
f78a6e3580 Bug 666695 - Voting Extension templates have unfiltered directives
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262458 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-05 05:01:53 +00:00
mkanat%bugzilla.org
da7e12a7e2 Bug 666699 - Example extension templates have unfiltered directives
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262456 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-05 04:16:39 +00:00
mkanat%bugzilla.org
eae14eb878 Revert wrong indentation, see bug 652427
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262443 18797224-902f-48f8-a5cc-f745e15eee43
2011-07-01 17:02:25 +00:00
mkanat%bugzilla.org
ba8e6cec7e Bug 652427: Going back to the new bug page loses the description if possible duplicates have been searched for
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262437 18797224-902f-48f8-a5cc-f745e15eee43
2011-06-29 05:18:36 +00:00
mkanat%bugzilla.org
78045a5a9c Bug 666781 - t/008filter.t should not require filterexceptions.pl when one does not exist especially with extensions
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262434 18797224-902f-48f8-a5cc-f745e15eee43
2011-06-28 21:01:48 +00:00
mkanat%bugzilla.org
2e349ab7ce Bug 658929 - User autocomplete is very slow when there are lots of users in the profiles table
r=glob, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262402 18797224-902f-48f8-a5cc-f745e15eee43
2011-06-15 19:37:18 +00:00
mkanat%bugzilla.org
abd9ccffe1 Bug 656769: Fix bz_fireEvent for IE9
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262394 18797224-902f-48f8-a5cc-f745e15eee43
2011-06-14 10:08:53 +00:00
mkanat%bugzilla.org
b7cdcf951b Bug 663696: Remove 'config' hook example from the Example extension
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262381 18797224-902f-48f8-a5cc-f745e15eee43
2011-06-13 02:07:39 +00:00
mkanat%bugzilla.org
0504a69d88 Bug 663208: Recursive "Verify new product details" page when attempting to move multiple bugs to another product
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262379 18797224-902f-48f8-a5cc-f745e15eee43
2011-06-11 01:37:04 +00:00
mkanat%bugzilla.org
f8e2b97b66 Bug 649281 - Add ircs:// to url protocols for external links in comment
author=Matt Selsky, r=dkl, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262370 18797224-902f-48f8-a5cc-f745e15eee43
2011-06-06 20:22:14 +00:00
mkanat%bugzilla.org
f82b7bde18 Bug 659816: Fix url_decoding of utf8 strings
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262350 18797224-902f-48f8-a5cc-f745e15eee43
2011-05-30 08:33:40 +00:00
mkanat%bugzilla.org
4de0952ec6 Bug 659185: html_quote() escapes @ causing mailto links to not be processed
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262340 18797224-902f-48f8-a5cc-f745e15eee43
2011-05-24 07:05:38 +00:00
mkanat%bugzilla.org
76e6ffa52b Bug 659124 - New template hook in bug/show-header.html.tmpl to allow manipulating header information for show_bug.cgi
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262337 18797224-902f-48f8-a5cc-f745e15eee43
2011-05-23 21:48:15 +00:00
mkanat%bugzilla.org
6b46f0c4c6 Bug 658905: flag_handler() gets arguments in the wrong order in importxml.pl
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262335 18797224-902f-48f8-a5cc-f745e15eee43
2011-05-23 17:12:53 +00:00
mkanat%bugzilla.org
52171a4864 Bug 657707: importxml.pl crashes when importing keywords
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262334 18797224-902f-48f8-a5cc-f745e15eee43
2011-05-23 17:10:03 +00:00
mkanat%bugzilla.org
fe885067ed Bug 648096: UWinnipeg (theory PPM repo) instructions are not necessary with recent ActiveState releases
r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262331 18797224-902f-48f8-a5cc-f745e15eee43
2011-05-22 23:03:41 +00:00
mkanat%bugzilla.org
54498315f9 Bug 658056 - Improper HTML on show_bug.cgi page when user is logged out
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262327 18797224-902f-48f8-a5cc-f745e15eee43
2011-05-18 22:18:41 +00:00
mkanat%bugzilla.org
2b2d0bfdfc Bug 653659 - Cannot shrink-back attachment description textarea on detailed edit
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262303 18797224-902f-48f8-a5cc-f745e15eee43
2011-05-09 16:03:43 +00:00
mkanat%bugzilla.org
1af3f824a7 Bug 653341: Bug.create() fails to error out if an invalid group is passed
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262298 18797224-902f-48f8-a5cc-f745e15eee43
2011-05-06 21:05:42 +00:00
mkanat%bugzilla.org
e9c6041d72 Bug 654833 - New hook to add additional attachment action links to the attachment details page
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262291 18797224-902f-48f8-a5cc-f745e15eee43
2011-05-05 20:18:44 +00:00
mkanat%bugzilla.org
d97a1b8183 Bug 652625 - Empty queries still get run because the list_id parameter is added to them
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262286 18797224-902f-48f8-a5cc-f745e15eee43
2011-05-04 22:03:57 +00:00
mkanat%bugzilla.org
d2a4d3715c Bug 653406: fix escaping of url vars in error messages
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262270 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-29 05:49:35 +00:00
mkanat%bugzilla.org
e435e289b8 Bug 653404: Misleading error message when file to be attached is not readable by browser
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262267 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-28 15:03:54 +00:00
mkanat%bugzilla.org
b545bc6e2b Bump the version number post-release.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262263 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-28 04:06:09 +00:00
mkanat%bugzilla.org
5b34a99432 Bump version number for 4.0.1.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262257 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-28 02:18:43 +00:00
mkanat%bugzilla.org
44b06e0ba0 Bug 538428: bugzilla.dtd is not valid
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262254 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-28 01:48:30 +00:00
mkanat%bugzilla.org
7991b93f8e Bug 601524: Linkified bug summaries in buglists look weird
r=pyrzak r=LpSolit a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262253 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-28 01:18:43 +00:00
mkanat%bugzilla.org
a4d9ab3df2 Comment Bug 653273 - Release Notes for Bugzilla 4.0.1
r=LpSolit, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262250 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-28 00:28:43 +00:00
mkanat%bugzilla.org
0c47a3b9a1 Bug 653263: XML bug files do not contain fields whose value evaluates to "false"
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262248 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-27 23:03:39 +00:00
mkanat%bugzilla.org
8f58348974 Bug 581422: Improve the formatting of the attachment detail view.
r=pyrzak, r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262247 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-27 22:33:37 +00:00
mkanat%bugzilla.org
652942b3d1 Bug 646578: Make Math::Random::Secure fail to install if its dependencies
don't install properly, when using install-module.pl.
r=glob, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262244 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-27 22:22:46 +00:00
mkanat%bugzilla.org
474ab9bdde Bug 640719: Allow creating bookmarkable templates without passing validation,
on enter_bug.cgi
r=pyrzak, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262243 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-27 22:20:11 +00:00
mkanat%bugzilla.org
0dd82846dc Bug 643910: Email notifications from a blocked bug have the timestamp from its last change instead of the timestamp of the blocker
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262242 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-27 22:02:18 +00:00
mkanat%bugzilla.org
35f230d63f Bug 652338: The "Component" multi-select field in the search page automatically scrolls to the top of the list every time you select a component
r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262236 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-26 22:33:32 +00:00
mkanat%bugzilla.org
50328769fc Bug 562329: importxml.pl shouldn't set the resolution to INVALID when a closed bug has none
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262230 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-25 19:18:43 +00:00
mkanat%bugzilla.org
988fc82f40 Bug 652405: All user fields (assignee, QA contact, Add CC) have the page title as the "title" attribute
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262227 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-25 16:48:28 +00:00
mkanat%bugzilla.org
bce2afd661 Bug 650173: Make the Priority column on the buglist wide-enough to fit
the new default priority names
r=wicked, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262225 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-25 00:20:10 +00:00
mkanat%bugzilla.org
ab525ee7b3 Bug 652381: The "Show Votes" page is completely broken
r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262223 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-24 23:18:44 +00:00
mkanat%bugzilla.org
e6ba77e8c5 Bug 652165: Flagmails have a wrong Date: value
r=wicked a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262222 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-23 17:26:03 +00:00
mkanat%bugzilla.org
7b5f402e7c Fix typo in POD
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262218 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-22 15:50:50 +00:00
mkanat%bugzilla.org
385e674d57 Bug 650593: Bugzilla crashes when the database is gone, even when shutdownhtml is set
r=justdave a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262203 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-21 01:33:37 +00:00
mkanat%bugzilla.org
e26ee27fe4 Bug 641519: userAutocomplete is not compatible with Bugzilla configured to use "local" usernames
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262196 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-19 13:34:13 +00:00
mkanat%bugzilla.org
12cc907a4c Bug 646209: Offer "UTC" as a timezone option in General Preferences
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262139 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-05 00:20:02 +00:00
mkanat%bugzilla.org
3ef1cec3f6 Bug 468375: Add example code for hooks that were missing it.
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262135 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-05 00:06:29 +00:00
mkanat%bugzilla.org
7d9d746454 Bug 644334 - Add hook to Bugzilla::Install::Filesystem to allow extensions to create files/directories/htaccess
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262130 18797224-902f-48f8-a5cc-f745e15eee43
2011-04-01 04:05:49 +00:00
mkanat%bugzilla.org
fe55db7db2 Bug 644285: Fix javascript errors while creating data sets
r=dkl, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262105 18797224-902f-48f8-a5cc-f745e15eee43
2011-03-24 12:32:05 +00:00
mkanat%bugzilla.org
4a2fee1ed4 Bug 311392 - Typos and proper name of Red Hat's stuff
author=Matt Selksy <selsky_at_columbia_dot_edu>, r=dkl, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262089 18797224-902f-48f8-a5cc-f745e15eee43
2011-03-22 20:21:02 +00:00
mkanat%bugzilla.org
7810db7cb5 Bug 586011 - Change references to 'DarwinPorts' to 'MacPorts' (proper project name)
author=Matt Selsky <selsky_at_columbia_dot_edu>, r=dkl,a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262069 18797224-902f-48f8-a5cc-f745e15eee43
2011-03-18 21:04:46 +00:00
mkanat%bugzilla.org
3dcb38ce1d Bug 640184: Use CSS3 border radius styles
r=glob, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@262034 18797224-902f-48f8-a5cc-f745e15eee43
2011-03-10 07:46:44 +00:00
mkanat%bugzilla.org
c2c96f2cf8 Bug 634144: Make possible_duplicates work on PostgreSQL
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261977 18797224-902f-48f8-a5cc-f745e15eee43
2011-03-01 13:50:26 +00:00
mkanat%bugzilla.org
62e41bb91f Bug 621925: Avoid 'used only once' warning when loading extensions
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261971 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-25 04:48:16 +00:00
mkanat%bugzilla.org
981aa17ed3 Bug 634826: .htaccess file permissions are not set by checksetup.pl
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261950 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-17 22:48:21 +00:00
mkanat%bugzilla.org
93a079f2e3 Bump the version number post-release.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261947 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-15 18:18:34 +00:00
mkanat%bugzilla.org
6b8b524c49 Bump version number for 4.0.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261945 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-15 17:17:25 +00:00
mkanat%bugzilla.org
91fe59dd71 Bug 634243: Stop confirm-match.html.tmpl from sending extra, empty values for
each field being confirmed. This fixes a bug where confirming would fail,
displaying a value with an extra comma at the end.
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261944 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-15 16:33:48 +00:00
mkanat%bugzilla.org
19cfaceadb Remove the "unknown_keyword" error, which is no longer used.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261943 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-15 06:01:48 +00:00
mkanat%bugzilla.org
df405604bb Bug 490322: Make "allwords" work with the keywords field, again.
r=glob, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261942 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-15 05:48:11 +00:00
mkanat%bugzilla.org
3e969d8852 Bug 480044: Use dashes instead of colons to separate bug IDs in the BUGLIST cookie, because colons are HTML-escaped, making the cookie bigger than the 4k limit
r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261941 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-14 22:04:53 +00:00
mkanat%bugzilla.org
297384c75f Remove tabs and fix some formatting in Bugzilla::DB::Pg.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261940 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-14 20:36:14 +00:00
mkanat%bugzilla.org
8041edb04a Bug 633055: Make Bug.legal_values explicitly throw an error if you pass "undef"
for the "field" parameter
r=dkl, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261939 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-14 20:31:54 +00:00
mkanat%bugzilla.org
9a04575284 Bug 616981: Make whine.pl work with PostgreSQL 8.4+ by fixing sql_string_until
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261938 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-14 20:27:00 +00:00
mkanat%bugzilla.org
07dd9f4c2b Bug 609538: Make the JSON-RPC interface support UTF-8 when a recent version
of LWP is installed
r=dkl, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261937 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-14 20:22:19 +00:00
mkanat%bugzilla.org
122b71491f Bug 603127: Make checksetup.pl require DBD::Pg 2.17.2 when using Pg 9.0 or
later.
r=dkl, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261935 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-14 20:05:48 +00:00
mkanat%bugzilla.org
5332cf908b Bug 633422: Fix the documentation for User.get's include_disabled parameter
and make User.get check that its required parameters are passed.
r=LpSolit, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261932 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-14 07:51:04 +00:00
mkanat%bugzilla.org
ae7c1323b7 Bug 633298 - Please add a 'form' hook to attachment/create.html.tmpl and attachment/edit.html.tmpl
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261922 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-11 22:05:27 +00:00
mkanat%bugzilla.org
9be0b6a917 Bug 606511 - Bug.search should allow use of include_fields and exclude_fields
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261921 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-11 22:03:34 +00:00
mkanat%bugzilla.org
3dcad3da1a Fix a POD compilation error.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261914 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-11 01:06:30 +00:00
mkanat%bugzilla.org
f891421dc0 Fix the POD of Bug.add_attachment to reflect that it now automatically
picks the content_type of text/plain when you set is_patch to true.


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261913 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-11 01:04:58 +00:00
mkanat%bugzilla.org
e9f214ef14 Bug 633041: Add an error code for zero_length_file and fill in content_type
for patches when content_type is missing in Bug.add_attachment in the
WebService
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261912 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-11 00:33:27 +00:00
mkanat%bugzilla.org
688917d8bb Bug 630750: Don't let "." and "lib" get into @INC when running under
mod_perl
r=dkl, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261891 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-03 21:49:37 +00:00
mkanat%bugzilla.org
88ff8f368a Bug 461014 - How to create a private attachment in enter_bug.cgi not obvious
r=reed,a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261883 18797224-902f-48f8-a5cc-f745e15eee43
2011-02-01 16:03:27 +00:00
mkanat%bugzilla.org
7d81e97f5d Bug 629007: Example in quicksearch priority shortcut is incorrect
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261879 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-31 23:05:07 +00:00
mkanat%bugzilla.org
94c2468a8b Bug 622679 - Autocomplete suggests inactive/disabled accounts as matches
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261854 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-27 22:16:52 +00:00
mkanat%bugzilla.org
1a8bb7bf49 Allow extensions to alter quicksearch terms and search format. r=mkanat.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261850 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-27 13:03:40 +00:00
mkanat%bugzilla.org
219ce259e5 Fix missing documentation. r=mkanat.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261847 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-27 12:05:21 +00:00
mkanat%bugzilla.org
bf6030bf6a Add diffs parameter to bugmail_recipients hook. r=mkanat.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261843 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-27 10:50:24 +00:00
mkanat%bugzilla.org
658b8a5ca1 Bump the version number post-release.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261828 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-25 02:06:03 +00:00
mkanat%bugzilla.org
feb3bab1bd Bump the version number for 4.0rc2.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261818 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-24 23:43:34 +00:00
mkanat%bugzilla.org
ebc0ab6d89 Bug 619594: (CVE-2010-4568) [SECURITY] Improve the randomness of
generate_random_password, to protect against an account compromise issue
and other critical vulnerabilities.
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261817 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-24 22:07:59 +00:00
mkanat%bugzilla.org
010d9932db Bug 621105 - [SECURITY] Voting lacks CSRF protection
r=mkanat,a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261814 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-24 19:53:26 +00:00
mkanat%bugzilla.org
658daf014e Bug 619588: (CVE-2010-4567) [SECURITY] Safety checks that disallow clicking for javascript: or data: URLs in the URL field can be evaded with prefixed whitespace
and

Bug 628034: (CVE-2011-0048) [SECURITY] For not-logged-in users, the URL field doesn't safeguard against javascript: or data: URLs

r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261813 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-24 18:53:58 +00:00
mkanat%bugzilla.org
e75fbf0672 Bug 621572: (CVE-2010-4572) [SECURITY] chart.cgi vulnerable to header-injection due to use of |print "Location:"| instead of $cgi->redirect
[r=mkanat a=LpSolit]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261812 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-24 18:31:15 +00:00
mkanat%bugzilla.org
5facb5e3fd Bug 619648: (CVE-2010-4570) [SECURITY] XSS via summary in "possible duplicates" table due to lack of encoding by YUI
[r=mkanat a=LpSolit]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261811 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-24 18:25:20 +00:00
mkanat%bugzilla.org
bae2d718df Bug 619637: (CVE-2010-4569) [SECURITY] XSS in user autocomplete due to lack of encoding by YUI
[r=mkanat r=dkl a=LpSolit]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261810 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-24 18:23:31 +00:00
mkanat%bugzilla.org
b953b8067d Bug 621110: [SECURITY] Quips (adding/approving/deleting) lacks CSRF protection
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261806 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-24 17:38:25 +00:00
mkanat%bugzilla.org
99400b6c80 Bug 621108: [SECURITY] Creating/editing charts lacks CSRF protection
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261805 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-24 17:27:06 +00:00
mkanat%bugzilla.org
a09da32128 Bug 621107: [SECURITY] Sanity checking lacks CSRF protection
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261804 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-24 17:20:55 +00:00
mkanat%bugzilla.org
51a8aa1a14 Bug 621090: [SECURITY] Adding saved searches lacks CSRF protection
r=mkanat a=justdave


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261803 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-24 17:02:20 +00:00
mkanat%bugzilla.org
eb7ffcf602 An optional module was accidentally listed in the "required" section of the
release notes.


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261798 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-24 04:21:54 +00:00
mkanat%bugzilla.org
33ad90f4c6 Bug 627910: Update Release Notes for Bugzilla 4.0rc2
r=reed


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261797 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-24 04:20:14 +00:00
mkanat%bugzilla.org
e021804d59 Bug 621128 - Remove trailing whitespace from '<div id="view_disabled" >'
[r=reed a=LpSolit]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261795 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-22 21:33:53 +00:00
mkanat%bugzilla.org
32842732f6 Bug 621109: Column changing lacks CSRF protection
r=dkl a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261792 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-22 17:33:23 +00:00
mkanat%bugzilla.org
547b712918 Bug 627854: Add 'form' hook to create-guided.html.tmpl similar to create.html.tmpl
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261785 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-21 21:50:19 +00:00
mkanat%bugzilla.org
ee59edf683 Bug 591165: (CVE-2010-4411) [SECURITY] Bump minimum required version of CGI.pm to v3.51 in order to address header injection vulnerability.
[r=mkanat a=mkanat]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261784 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-21 21:22:55 +00:00
mkanat%bugzilla.org
d08915c9d6 Bug 627660 - Rename "Send" button on final create account page to "Create", as nothing is actually sent.
[r=mkanat a=mkanat]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261783 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-21 21:03:23 +00:00
mkanat%bugzilla.org
970d3469ec Bug 626292 - "Make description private" checkbox should set bz_private class on the comment box
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261782 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-21 06:48:14 +00:00
mkanat%bugzilla.org
6e519349e3 Bug 623608 - Add intro/outro extension hooks to footer.html.tmpl
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261780 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-21 05:19:52 +00:00
mkanat%bugzilla.org
88509a0a82 Bug 625190: Typo and Missing FK in Bugzilla::DB::Schema
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261748 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-15 00:19:58 +00:00
mkanat%bugzilla.org
95a2e64ef9 Bug 618841: Bare word "bug" in release notes
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261732 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-09 14:36:48 +00:00
mkanat%bugzilla.org
2b21720865 Bug 622204: Bugzilla::Migrate crashes trying to create bugs with resolutions
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261731 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-09 14:35:14 +00:00
mkanat%bugzilla.org
3567f8fe5a Bug 255524: The duplicates table inherits no CSS classes when viewed in simple format
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261728 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-07 12:50:04 +00:00
mkanat%bugzilla.org
31ef49da46 Document how to add user settings. r,a=mkanat.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261709 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-05 17:03:49 +00:00
mkanat%bugzilla.org
feae4816d9 Bug 622822 - add additional_links hook to front page. r,a=mkanat.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261707 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-05 10:50:18 +00:00
mkanat%bugzilla.org
560361c5b7 Bug 622437: Remove 'colchange_columns' hook from the Example extension
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261705 18797224-902f-48f8-a5cc-f745e15eee43
2011-01-02 20:04:09 +00:00
mkanat%bugzilla.org
f6edf0720e Bug 622105 - Misspelling in setting_info_invalid error message
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261703 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-30 17:03:17 +00:00
mkanat%bugzilla.org
59edbe7e37 Bug 621597: Make mod_perl.pl do the INC configuration itself, instead of
requiring it to be in httpd.conf.
r=dkl, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261700 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-28 23:04:08 +00:00
mkanat%bugzilla.org
33c20ff8a1 Bug 618844: Make clear that the Apache module must be enabled in release notes
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261698 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-27 22:51:56 +00:00
mkanat%bugzilla.org
d7381f30ef Bug 618842: Enclose checksetup.pl between <kbd> and </kbd> tags in templates
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261697 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-27 22:50:19 +00:00
mkanat%bugzilla.org
ebe08de9c3 Bug 599539: Update the mod_perl.pl code for Apache2::SizeLimit 0.93
r=glob, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261696 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-27 22:33:31 +00:00
mkanat%bugzilla.org
da79192243 Bug 615574: Make every search done by buglist.cgi create a list_id, so that
even Saved Searches get "last list" support.
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261694 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-27 22:21:47 +00:00
mkanat%bugzilla.org
f935696458 Bug 603762: Vertical margins between header, footer, and content are not consistent
r=pyrzak a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261693 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-27 22:20:12 +00:00
mkanat%bugzilla.org
cb16644b08 Bug 588013: Fix typo
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261692 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-27 22:05:20 +00:00
mkanat%bugzilla.org
30a7327010 Bug 620796: Make Bugzilla::Migrate skip abnormal fields when doing
create_legal_values (otherwise it tried to create Components there, when
it should not have).
r=mkanat, a=mkanat (module owner)


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261683 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-22 00:03:24 +00:00
mkanat%bugzilla.org
edf9ec9bc0 Bug 475894 - Send the 'X-Frame-Options: SAMEORIGIN' header to help protect against clickjacking.
[r=mkanat a=mkanat]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261679 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-18 08:48:34 +00:00
mkanat%bugzilla.org
7d5f45fe22 Bug 313583: Relnote that long_list.cgi, showattachment.cgi and xml.cgi will be removed from Bugzilla 4.2.
They are all deprecated since Bugzilla 2.19.
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261664 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-15 23:19:08 +00:00
mkanat%bugzilla.org
277d3ec810 Bug 617477: Fix numerous consistency and behavior issues surrounding Bug.update
and Bugzilla::Bug. See https://bugzilla.mozilla.org/show_bug.cgi?id=617477#c2
for details.
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261654 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-13 21:04:01 +00:00
mkanat%bugzilla.org
ac3a7fa00a Bug 618161: Make VERSION into a constant in two included extensions so that
calling $class->VERSION on them won't throw an error on Perl 5.12 when there
are non-numeric characters in BUGZILLA_VERSION.
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261651 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-12 19:03:37 +00:00
mkanat%bugzilla.org
a9ba671ffe Bug 610182: Support enabling UNCONFIRMED in all products when using
contrib/convert-workflow.pl
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261647 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-10 21:48:44 +00:00
mkanat%bugzilla.org
eb8bc57054 Bug 617684: Values starting with a dot or an underscore are no longer hidden in reports
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261636 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-08 20:19:55 +00:00
mkanat%bugzilla.org
933ee9a595 Bug 567953: Components which exist in several products are duplicated in tabular reports
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261634 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-08 15:48:33 +00:00
mkanat%bugzilla.org
9f4af6173f Bug 617030 - Add an error code for json_rpc_invalid_callback, and fix the
regex used by _bz_callback in Bugzilla::WebService::Server::JSONRPC to
accept numbers other than 0 or 1.
r=LpSolit, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261631 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-06 19:18:34 +00:00
mkanat%bugzilla.org
4e6a589ae5 Bug 542931: Bug in SOAP::Lite prevents WebService:XMLRPC logins from persisting
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261629 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-06 17:18:37 +00:00
mkanat%bugzilla.org
de640bb330 Bug 607138: Don't send the Strict-Transport-Security header for the
attachment_base.
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261628 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-06 16:03:52 +00:00
mkanat%bugzilla.org
36f4d2675f Bug 607675: In Firefox, YAHOO.util.Event.addListener/on events no longer exist after a user clicks back
r:LpSolit, a:mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261615 18797224-902f-48f8-a5cc-f745e15eee43
2010-12-03 00:18:20 +00:00
mkanat%bugzilla.org
ec4c73bac6 Bug 416784: In PostgreSQL 8.1 and newer, createuser takes the argument -R instead of -A
r=manu a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261600 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-27 21:22:33 +00:00
mkanat%bugzilla.org
3d6371479e Bug 386600: Implement auto-completion for the requestee field
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261585 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-21 13:33:32 +00:00
mkanat%bugzilla.org
b2fe69ad22 Bug 611891: Don't generate cookies for logins done over GET via the WebService
r=glob, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261568 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-15 07:48:21 +00:00
mkanat%bugzilla.org
bdcfa4d720 Bug 610217: config.cgi?ctype=rdf should include product.allows_unconfirmed
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261565 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-14 19:23:28 +00:00
mkanat%bugzilla.org
ca80e77285 Bug 611974: collectstats.pl --regenerate fails with PostgreSQL 8.4.x (sql_from_days() doesn't accept integers as argument)
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261564 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-14 19:23:27 +00:00
mkanat%bugzilla.org
e23ce78a9b Bug 611979: Undefined subroutine &Bugzilla::Config::Advanced::check_multi when enabling strict_transport_security
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261563 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-14 19:04:13 +00:00
mkanat%bugzilla.org
b58f932c62 Bug 611623: The alias is not filtered in QuickSearch when passed to show_bug.cgi
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261561 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-13 00:20:10 +00:00
mkanat%bugzilla.org
ffc23e2e7f Bug 591165: (CVE-2010-2761) [SECURITY] Bump minimum required version of CGI.pm to v3.50 in order to address header injection vulnerability.
[r=mkanat a=mkanat]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261557 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-11 02:20:43 +00:00
mkanat%bugzilla.org
6d78b08a51 Bug 591535: "Give me some help" link's iframe behavior is no longer necessary
r=LpSolit r=mkanat a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261548 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-11 00:03:39 +00:00
mkanat%bugzilla.org
9ea97c6a51 Bug 596611: Add a hook to email_in.pl
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261527 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-04 17:23:45 +00:00
mkanat%bugzilla.org
50928d975a Bug 485418: Code and template hooks for userprefs.cgi to be able to add additional tabs
r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261526 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-04 17:20:39 +00:00
mkanat%bugzilla.org
456003fca2 Bug 605573: List all available WebService methods at the top of the POD
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261525 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-04 17:09:27 +00:00
mkanat%bugzilla.org
9e4f5b4a62 Bug 474766: The [details] string is duplicated when replying to a comment containing a link to an attachment
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261524 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-04 17:09:26 +00:00
mkanat%bugzilla.org
c23304ec28 Bump the version number post-release.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261518 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-03 01:50:41 +00:00
mkanat%bugzilla.org
c19ab4e619 Bump version number for 4.0rc1.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261509 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-03 00:44:34 +00:00
mkanat%bugzilla.org
57c17433aa Bug 600464: (CVE-2010-3172) [SECURITY] Content/Header injection due to non-random multipart/x-mixed-replace boundary
r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261506 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-02 23:37:45 +00:00
mkanat%bugzilla.org
37d74b0ce1 Bug 419014: (CVE-2010-3764) [SECURITY] Old charts are not project specific, and product names are viewable in graphs/
r=wurblzap a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261505 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-02 23:23:21 +00:00
mkanat%bugzilla.org
6bb08d8470 Bug 607581: URLs in the See Also field are not linkified when the user is logged out
r=pyrzak a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261504 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-02 23:07:07 +00:00
mkanat%bugzilla.org
9163c7f8a7 Bug 608375: The calendar widget is not available in the Time Summary page
r=wicked a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261503 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-02 23:05:31 +00:00
mkanat%bugzilla.org
8d8ab09bdb Bug 606618: Update YUI to 2.8.2
r=LpSolit, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261500 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-01 00:19:05 +00:00
mkanat%bugzilla.org
1f561077f7 Bug 607323: Be clearer in the release notes that a new Apache configuration
is required
r=LpSolit, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261499 18797224-902f-48f8-a5cc-f745e15eee43
2010-11-01 00:03:32 +00:00
mkanat%bugzilla.org
32a1634518 Bug 607966: Use of qw(...) as parentheses is deprecated since Perl 5.13.5
r=gerv a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261490 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-28 15:35:02 +00:00
mkanat%bugzilla.org
8f355c19e8 Bug 585802: Change the cc/user autocomplete (and backend) usermatching to ignore spaces / search on space separated names
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261489 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-28 13:33:38 +00:00
mkanat%bugzilla.org
0a4a258e66 Bug 607716: The attachment content is pasted into a comment when editing an attachment with JS disabled
r=LpSolit r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261487 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-28 00:48:20 +00:00
mkanat%bugzilla.org
814dbe1463 Bug 602458: Add is_mandatory to Bug.fields output
r=timello, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261473 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-27 08:12:13 +00:00
mkanat%bugzilla.org
e4434f9e2d Bug 581933: Make YUI user autocomplete work with non-ASCII characters
r=Wurblzap, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261472 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-27 08:08:17 +00:00
mkanat%bugzilla.org
1711d6a82c The browser-side comment-wrapping patch didn't actually make 4.0, so remove
it from the release notes.


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261466 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-26 23:18:25 +00:00
mkanat%bugzilla.org
a6bfe7490c Bug 600230 - Add a unique Message-ID to all outgoing e-mails.
[r=LpSolit a=mkanat]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261463 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-26 21:21:25 +00:00
mkanat%bugzilla.org
73080f921d Bug 607083: Improve the error message that install-module.pl prints when
you specify an invalid CPAN module.
r=mkanat, a=mkanat (module owner)


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261462 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-26 21:21:24 +00:00
mkanat%bugzilla.org
77ab12635e Bug 607361: Creating an attachment without a "comment" param in the URL causes an internal error
a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261461 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-26 18:35:08 +00:00
mkanat%bugzilla.org
212b0a0161 Bug 451759: Hide "Add to footer" checkboxes when not sharing a saved searches
r=timello a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261460 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-25 17:18:19 +00:00
mkanat%bugzilla.org
7bd4ec32bc Bug 606518: query.cgi#chart doesn't work anymore (again)
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261456 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-24 18:18:25 +00:00
mkanat%bugzilla.org
65c22e8ccd A better fix for Bug 577053: We only upgrade an old workflow to a new
one if we're upgrading from a version of Bugzilla before 4.0, and we
figure this out now by checking the existence of bugs_activity.comment_id.
r=LpSolit, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261455 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-23 01:48:06 +00:00
mkanat%bugzilla.org
ccc52a5221 Bug 604256: Release Notes for Bugzilla 4.0rc1.
r=LpSolit, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261454 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-23 00:33:15 +00:00
mkanat%bugzilla.org
76509a7e62 Bug 593138: When confirming a CSRF violation (the confirm-action page),
include an HTML comment describing the exact violation that occurred, so
that screen-scrapers can know what violation they hit.
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261453 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-23 00:10:32 +00:00
mkanat%bugzilla.org
785389ebfb Bug 473557: Make the "Collapse All Comments" link work properly even when
the "comment order" preference is set to "newest to oldest with description
at top"
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261452 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-23 00:08:55 +00:00
mkanat%bugzilla.org
f28de274c1 Bug 578513: Rename cc_accessible and reporter_accessible to is_cc_accessible
and is_reporter_accessible in the WebService.
r=timello, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261451 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-23 00:07:14 +00:00
mkanat%bugzilla.org
417f458c7a Bug 413648: Attachment mime type handling should strip leading and trailing spaces
a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261444 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-22 13:05:03 +00:00
mkanat%bugzilla.org
7f5fe712ec Bug 598014: Document how to mark the initial comment as private when using Bug.create()
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261440 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-21 00:01:45 +00:00
mkanat%bugzilla.org
be69073790 Bug 605425: Non-english templates are no longer precompiled by checksetup
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261435 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-20 23:03:45 +00:00
mkanat%bugzilla.org
88a566cae5 Bug 605693: Make config.cgi?ctype=rdf faster
r=timello a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261433 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-20 12:19:08 +00:00
mkanat%bugzilla.org
bd04563acd Bug 553266: config.cgi?ctype=rdf spends most of its time loading flagtypes from the database
a=LpSolit (module owner)


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261430 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-20 00:48:51 +00:00
mkanat%bugzilla.org
8877996431 Bug 339270: When editing a simple search, the bug status is lost
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261423 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-18 09:49:49 +00:00
mkanat%bugzilla.org
bf99f8e113 Bug 596079: Merge content-types.html.tmpl with createformcontents.html.tmpl
r=timello a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261422 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-16 14:44:07 +00:00
mkanat%bugzilla.org
b1655ce2a2 Bug 604835: Have checksetup.pl give WS_EXECUTE permissions to .pl scripts that
ship with extensions.
r=mkanat, a=mkanat (module owner)


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261419 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-16 01:18:45 +00:00
mkanat%bugzilla.org
6e55c92b2c Bug 604107: The link to delete the value 0 of custom fields is broken
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261405 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-15 01:20:24 +00:00
mkanat%bugzilla.org
b47ae20c9a Bug 604522: t/012throwables.t doesn't catch new user errors correctly
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261404 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-15 00:21:59 +00:00
mkanat%bugzilla.org
a3c230bf03 Bug 575947: Users with passwords length less than 6 characters can't login after migration from 3.4.x or older to 3.6 or newer
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261395 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-14 00:53:22 +00:00
mkanat%bugzilla.org
8a38211ca1 Bug 600598: "Can't call method "bug_list" on unblessed reference" error thrown when editing a bug which is in the BUGLIST cookie but not in a recent saved search, with action="next_bug"
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261394 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-14 00:50:18 +00:00
mkanat%bugzilla.org
2569f50f4b Bug 600616: show_bug.cgi: Invalid parameter passed to Bugzilla::Search::Recent::_init (cookie)
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261391 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-13 23:52:21 +00:00
mkanat%bugzilla.org
aa074772ee Bug 581448: Localize the status and resolution values in the list of
possible duplicates on enter_bug.cgi
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261389 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-13 23:39:25 +00:00
mkanat%bugzilla.org
5bf4c988a5 Bug 593887: Perl 5.14 requires HTML::Parser 3.67 and DBI 1.614
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261387 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-13 23:37:30 +00:00
mkanat%bugzilla.org
c96bdf17ee Bug 505165: The flags.setter_id DB column cannot be NULL
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261385 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-13 23:18:49 +00:00
mkanat%bugzilla.org
cfe7ef4224 Bug 599953: Editing an advanced search doesn't remember values passed to discrete custom fields added by extensions
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261384 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-13 22:50:00 +00:00
mkanat%bugzilla.org
1a809e2911 Bug 603654: Pronouns in boolean charts return no results anymore
r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261383 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-13 22:32:03 +00:00
mkanat%bugzilla.org
87b3b87ecf Bug 603314 - Unprivileged users cannot create bugs any more.
Adding a code comment post-checkin; see bug for details.


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261382 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-13 16:49:40 +00:00
mkanat%bugzilla.org
8553156fe6 Bug 603314 - Unprivileged users cannot create bugs any more.
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261372 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-11 16:18:42 +00:00
mkanat%bugzilla.org
45b0577ada Bug 602832: 008filter.t doesn't catch [%~ ~%] correctly
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261369 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-09 11:34:36 +00:00
mkanat%bugzilla.org
5ad487f081 s/Extensionn/Extension/ (no bug).
[r=mkanat a=mkanat@IRC]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261344 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-05 04:35:36 +00:00
mkanat%bugzilla.org
b654d4bdc9 Bug 601142: useless horizontal scrollbar always visible on show_bug.cgi in Classic skin
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261328 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-03 01:19:55 +00:00
mkanat%bugzilla.org
49ffdc7994 Bug 601218 - Do not display (show) when the CC list is empty
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261326 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-02 23:48:17 +00:00
mkanat%bugzilla.org
c045ceeb52 Bug 578267: Fix a few minor UI issues with the new keyword autocomplete changes
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261324 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-02 23:37:28 +00:00
mkanat%bugzilla.org
98f05f5a00 Bug 597762: When filing bugs, the validation messages do not draw enough attention to themselves
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261323 18797224-902f-48f8-a5cc-f745e15eee43
2010-10-02 23:35:48 +00:00
mkanat%bugzilla.org
9a85ff4ac1 Bug 573195: Make Bug.get return all of a bug's standard and custom field
information
r=dkl, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261302 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-30 01:03:22 +00:00
mkanat%bugzilla.org
b4cde6aa8f Bug 600475 - Support the 'includeSubDomains' flag as an option for the 'Strict-Transport-Security' advanced option in order to protect subdomains.
[r=glob a=mkanat]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261301 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-29 19:03:27 +00:00
mkanat%bugzilla.org
5155eb72f5 Bug 598213: Change the color of the border on the header so that the header
doesn't look misaligned on gray backgrounds.
r=pyrzak, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261297 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-28 03:49:27 +00:00
mkanat%bugzilla.org
0a30fdd1e3 Bug 597772: Make add_see_also check for undef input
r=timello, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261296 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-28 03:45:07 +00:00
mkanat%bugzilla.org
a5a7e2923d Change "Bugzilla" to [% terms.Bugzilla %] in admin/params/advanced.html.tmpl.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261295 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-28 03:43:28 +00:00
mkanat%bugzilla.org
24c5cf1e83 Bug 595380: Add a ?mtime string to all of the manually-inserted
<script src> and <link href> tags in Bugzilla
r=glob, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261294 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-28 03:41:31 +00:00
mkanat%bugzilla.org
4657e20014 Bug 594990: Make the Strict-Transport-Security HTTP header only be sent
if a particular parameter is enabled.
r=glob, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261293 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-28 03:39:43 +00:00
mkanat%bugzilla.org
b4a386a668 Bug 599023: importxml.pl fails if UNCONFIRMED is the single bug status allowed when reporting a new bug
r=ghendricks a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261269 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-23 18:58:04 +00:00
mkanat%bugzilla.org
970e68d502 Bug 595712: Return to bug page after login doesn't work with javascript disabled
r=ghendricks a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261268 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-23 18:56:25 +00:00
mkanat%bugzilla.org
9909d7c22e Bug 598147: Can't call method "isa" without a package or object reference
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261263 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-22 12:05:03 +00:00
mkanat%bugzilla.org
3f1eae8c85 Bug 585028: Advanced Shortcut for Priority (P1-5 as search word) broken
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261259 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-21 16:34:26 +00:00
mkanat%bugzilla.org
1b01d00516 Remove an incorrect checkin fix in bug 136225
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261257 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-19 18:18:22 +00:00
mkanat%bugzilla.org
c61242ffc9 Bug 589547: Wrong description for editing a flag
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261256 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-19 00:26:45 +00:00
mkanat%bugzilla.org
ddd7252f80 Add a missing "FILTER html" to the bug_url_invalid error message.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261252 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-19 00:13:16 +00:00
mkanat%bugzilla.org
886d19a807 Bug 589525: fix typo
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261250 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-19 00:11:22 +00:00
mkanat%bugzilla.org
c863c0a709 Bug 593170: Disallow urls like "show_bug.cgi?id=2323" (with no domain) in
the See Also field.
r=timello, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261246 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-18 23:57:24 +00:00
mkanat%bugzilla.org
600c72051e Bug 582339: fix typo
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261245 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-18 23:54:04 +00:00
mkanat%bugzilla.org
991794d8d3 Bug 594947: show_bug text boxes are not 100% width
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261244 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-18 23:52:15 +00:00
mkanat%bugzilla.org
dbd5b16af8 Bug 584427: Move "Only bugs with at least X votes" search form to the
"Detailed Bug Information" section of query.cgi
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261243 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-18 23:50:28 +00:00
mkanat%bugzilla.org
b75262ac7c Bug 586244: Make mod_expires and mod_headers optional
r=glob, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261241 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-18 23:43:47 +00:00
mkanat%bugzilla.org
85d9ceb5a0 Bug 574338: When comment box is positioned at [top|bottom], include "Add Comment" link at [bottom|top]
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261240 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-18 23:42:05 +00:00
mkanat%bugzilla.org
58d627be39 Bug 578256 - Autocomplete user names in the search UI
r=pyrzak, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261238 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-18 23:40:14 +00:00
mkanat%bugzilla.org
98f4f3c2d1 Bug 577835: Improve the error message displayed when you put an invalid
Bug URL into the See Also field.


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261237 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-18 23:38:39 +00:00
mkanat%bugzilla.org
ebc89b21fe Bug 136225: Make summary a link in buglists
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261233 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-18 23:22:11 +00:00
mkanat%bugzilla.org
78f4dd421c Bug 594155: IE6 throws JS errors when filing new bugs
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261232 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-18 23:20:19 +00:00
mkanat%bugzilla.org
559499e851 Bug 595664: Maximum password length is hardcoded in the UI when editing user accounts
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261206 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-14 19:06:24 +00:00
mkanat%bugzilla.org
fc8a1184f7 Bug 596038: The before_table hook needs to be moved before tableheader
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261203 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-14 15:36:12 +00:00
mkanat%bugzilla.org
865259580b Bug 271758: noresolveonopenblockers = on doesn't allow removing open blockers and resolve the bug in a single change
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261187 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-08 12:03:44 +00:00
mkanat%bugzilla.org
f5994a0ef2 Bug 594038 - Add new hook 'end' in footer.html.tmpl
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261186 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-08 02:50:20 +00:00
mkanat%bugzilla.org
fbd7cc744d Bug 516457: Bump the Email::MIME requirement to avoid a memory leak that
jobqueue.pl was hitting.
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261184 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-08 01:48:41 +00:00
mkanat%bugzilla.org
343f2dec50 Bug 590144: The deadline is not kept in saved searches when set to 'Now'
r=ghendricks a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261176 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-02 19:03:01 +00:00
mkanat%bugzilla.org
dba7274ed2 Bug 587793: Add a new "object_end_of_create" hook so that extensions can
operate on any new objects
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261163 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-01 23:06:21 +00:00
mkanat%bugzilla.org
86ecf73007 Bug 592480: Only one person is added to CC list when multiple are specified
r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261160 18797224-902f-48f8-a5cc-f745e15eee43
2010-09-01 21:19:16 +00:00
mkanat%bugzilla.org
ec2ca412b8 Bug 580865: Rename the "edit" link on Attachment Details to "edit details"
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261149 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-29 21:51:31 +00:00
mkanat%bugzilla.org
b686edfe3b Bug 580217: Starting a bug summary with ">" would make it purple
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261148 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-29 21:47:42 +00:00
mkanat%bugzilla.org
f76ff38681 Bug 578599: Make it easier to scroll down past the attachment view in the
Details screen when using a mouse wheel, by making the view pane not take
up the whole window.
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261147 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-29 21:42:59 +00:00
mkanat%bugzilla.org
ce4d80ed8a Bug 577574: Make YUI's unload listener into a "pagehide" listener on
browsers that support it. Before this patch, fields using YUI autocomplete
were losing their entered data when pressing "Back" in the browser
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261146 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-29 21:41:02 +00:00
mkanat%bugzilla.org
49571d90b6 Bug 571637: Put the Custom Search (formerly "Boolean Charts") UI behind
a show/hide widget
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261145 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-29 21:38:58 +00:00
mkanat%bugzilla.org
e19c8a4fab Bug 571636: Make the Advanced Search UI follow a grid design
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261141 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-29 21:19:09 +00:00
mkanat%bugzilla.org
89e0bf67af Bug 591218 - Add missing 'longdesclength' form field to fix problem when receiving a mid-air after selecting "Submit only my new comment" on mid-air page.
[r=mkanat a=mkanat]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261115 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-28 08:51:22 +00:00
mkanat%bugzilla.org
025275bc7d Bug 583243: Add new hook 'search_operator_field_override'
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261094 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-24 21:32:13 +00:00
mkanat%bugzilla.org
7bdd41a8a6 Bug 584115: Some comments incorrectly disappear for users not in the timetracking group
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261078 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-21 10:38:24 +00:00
mkanat%bugzilla.org
d2a3dadfe2 Bug 583154: If you don't comment while setting the work_time (Hours Worked) field, you get an empty comment in bugmails
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261077 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-21 10:36:26 +00:00
mkanat%bugzilla.org
c9a8efeaa1 Bug 583884: User autocomplete fills in empty values instead of the autocomplete value
r=pyrzak r=mkanat a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261040 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-13 09:49:05 +00:00
mkanat%bugzilla.org
d1682b88c0 Bug 581690: Restore the ability to move several bugs at once to another installation
r=ghendricks a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261032 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-12 23:19:11 +00:00
mkanat%bugzilla.org
303dd0e1df Bug 585852 - Fix error message for 'file_too_large' to not mention "non-patch attachments", as that distinction was removed in 3.6+.
[r=mkanat a=mkanat]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261011 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-10 04:03:00 +00:00
mkanat%bugzilla.org
f3f198b363 Bug 585498 - RADIUS auth isn't experimental any more.
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261008 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-08 22:18:07 +00:00
mkanat%bugzilla.org
2e9ddb7e82 Bug 585454 - In flagmail, the Date header field splits the Subject header field in two.
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261007 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-08 16:03:08 +00:00
mkanat%bugzilla.org
6e5107ce78 s/where missing/were missing/ (no bug)
[r=mkanat a=mkanat] (via IRC)


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260995 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-06 06:19:25 +00:00
mkanat%bugzilla.org
2765952727 Bump version number post-release.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260993 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-06 02:35:39 +00:00
mkanat%bugzilla.org
79227ae71c Update the "landfillbase" in the documentation to point to the 4.0 branch
instead of tip.


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260992 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-06 02:16:37 +00:00
mkanat%bugzilla.org
da38e0d4f5 Bump the version number for 3.7.3.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260984 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-06 01:16:42 +00:00
mkanat%bugzilla.org
d94dda7109 Bug 584032: Cannot set requestees on bug creation
r=pyrzak a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260977 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-04 23:33:06 +00:00
mkanat%bugzilla.org
8bc3c8d20b Bug 583690: (CVE-2010-2759) [SECURITY][PostgreSQL] Bugzilla crashes when viewing a bug if a comment contains 'bug <num>' or 'attachment <num>' where <num> is greater than the max allowed integer
r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260976 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-04 22:22:01 +00:00
mkanat%bugzilla.org
35a9c63dec Bug 450013: (CVE-2010-2757) [SECURITY] Can sudo a user without sending email
r=glob a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260974 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-04 21:52:54 +00:00
mkanat%bugzilla.org
28ac3e4fe0 Bug 417048: (CVE-2010-2756) [SECURITY] Boolean charts let me query for users being in any given group
r=mkanat a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260972 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-04 21:35:40 +00:00
mkanat%bugzilla.org
d33849a35b Bug 583649: Release Notes for Bugzilla 3.6.2
r=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260969 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-04 18:19:33 +00:00
mkanat%bugzilla.org
52ce906fcd Bug 584036: _sync_fulltext() not called when (un)setting an existing comment as private
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260965 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-04 00:49:23 +00:00
mkanat%bugzilla.org
a4c65bd8f6 Bug 584021: FILTER txt should also remove &nbsp;
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260963 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-04 00:33:02 +00:00
mkanat%bugzilla.org
d901a2ef92 Bug 584018: @foo= bar in email_in.pl is not parsed correctly, due to a missing whitespace before "="
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260960 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-04 00:19:38 +00:00
mkanat%bugzilla.org
6505c8090c Bug 584069: IE6 throws many JS errors
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260957 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-03 22:03:21 +00:00
mkanat%bugzilla.org
f242f237ea Bug 453425 - Send "X-Content-Type-Options: nosniff" header when displaying attachments so IE8 doesn't try to sniff the content type.
[r=LpSolit a=LpSolit]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260948 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-03 18:03:12 +00:00
mkanat%bugzilla.org
7a4bc2c460 Bug 583287: Some fields should not be displayed in bugmail for new bugs
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260943 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-02 23:21:13 +00:00
mkanat%bugzilla.org
0538eab478 Bug 583165: (Un)setting a comment as private doesn't update bugs.delta_ts
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260942 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-02 23:19:42 +00:00
mkanat%bugzilla.org
567caab5a6 Bug 553884: Quicksearch incorrectly treats "-" in quotes as negation
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260940 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-02 02:19:36 +00:00
mkanat%bugzilla.org
1ee07e55b6 Bug 583622: email_in.pl doesn't let me set timetracking fields
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260939 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-02 01:49:26 +00:00
mkanat%bugzilla.org
0bc17fa4c0 Bug 578494: We can't use "shellwords" to split words for sql_fulltext on Pg,
because it doesn't work with unbalanced single quotes. So we just do a hack
to make Quicksearch work right, for Pg.
r=LpSolit, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260938 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-02 01:34:28 +00:00
mkanat%bugzilla.org
6f7bf5e626 Bug 578572: Make the user autocomplete and keyword autocomplete behave
similarly, and fix a race condition in user autocomplete where sometimes
an older result would appear after a newer result, overriding the newer
result.
r=pyrzak, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260937 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-02 01:04:58 +00:00
mkanat%bugzilla.org
9d2f7eb596 Bug 577956: Bugs which were never confirmed cannot be reopened as UNCONFIRMED
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260935 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-01 23:37:33 +00:00
mkanat%bugzilla.org
76b0ed207f Bug 581622: When a quicksearch includes the "content" field, it is limited to 200 bugs
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260934 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-01 23:37:32 +00:00
mkanat%bugzilla.org
fb87307aad Bug 547748: Wrong parsing of email_in emails if some @field has no data
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260933 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-01 23:19:29 +00:00
mkanat%bugzilla.org
b72933e674 Bug 581327: The patch to allow commas in Product (etc.) names broke the
entering of comma-separated values in other search fields, like bug_id.
So now we split on commas in text fields, but not for <select> fields.
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260932 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-01 23:03:07 +00:00
mkanat%bugzilla.org
43017dd620 Bug 526272: Do not duplicate the 'File a new bug in the "Foo" product' link when the buglist is empty
r=timello a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260930 18797224-902f-48f8-a5cc-f745e15eee43
2010-08-01 22:49:33 +00:00
mkanat%bugzilla.org
cbbf4284fe Bug 583167: The "X-Bugzilla-Changed-Fields:" header in bugmails is unreadable
r=reed a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260920 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-30 03:48:01 +00:00
mkanat%bugzilla.org
361bc9ff7b Bug 581798: Remove whitespaces from URLs when listing classifications and products in editproducts.cgi
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260892 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-26 12:18:44 +00:00
mkanat%bugzilla.org
98a8c7b732 Bug 581693: Missing whitespace for the auth_failure_action hook
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260884 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-25 12:18:29 +00:00
mkanat%bugzilla.org
d43fbb81eb Bug 581668: Obsolete groups have no name nor ID when moving a bug to another product
r=timello a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260875 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-24 15:03:06 +00:00
mkanat%bugzilla.org
955d7ab82d Bug 581663: Directive closed twice
r=timello a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260874 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-24 13:33:23 +00:00
mkanat%bugzilla.org
ea29be4ff1 Bug 581326 – Misleading JSON error message.
Patch by Marc Schumann <wurblzap@gmail.com>, r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260872 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-23 22:03:14 +00:00
mkanat%bugzilla.org
11e8f6b221 skins/README was missed in the original checkin for bug 428313.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260862 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-23 12:02:04 +00:00
mkanat%bugzilla.org
c5e6b104f7 Bug 581311: Bring the documentation of various hooks in Bugzilla::Hook
up to date
r=mkanat, a=mkanat (module owner)


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260861 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-23 11:52:16 +00:00
mkanat%bugzilla.org
d3f94eba1b Bug 581316 – Minor typos in notification reason descriptions.
Patch by Marc Schumann <wurblzap@gmail.com>, r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260860 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-23 11:49:01 +00:00
mkanat%bugzilla.org
5edcea68ab Bug 578240 - Re-add "owner" as a quicksearch alias for searching for "assigned_to"
[r=mkanat a=mkanat]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260852 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-23 02:09:13 +00:00
mkanat%bugzilla.org
06cd1c7911 Bug 578494: When doing a QuickSearch on a phrase, pass the phrase quoted
to the fulltext engine, so that it knows it's a phrase.
r=LpSolit, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260851 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-23 02:07:49 +00:00
mkanat%bugzilla.org
2fbd4846ea Bug 577054: ChoiceInterface was denying the deletion of any value if
the field had *any* value-controlling values.
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260849 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-23 01:49:27 +00:00
mkanat%bugzilla.org
2fb29a7479 Bug 556579: Back out the patch from bug 554819, because it caused special
characters in quoted strings to be interpreted instead of passed along.
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260847 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-23 01:34:43 +00:00
mkanat%bugzilla.org
6492aec295 Bug 67036: Allow searching for values that have commas in them when
searching the multi-select boxes on the Advanced Search page (like product,
component, version, etc.)
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260846 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-23 01:33:16 +00:00
mkanat%bugzilla.org
cf083a1139 Bug 580761: YUI scripts no longer work
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260839 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-21 21:18:19 +00:00
mkanat%bugzilla.org
6116d87648 Bug 428313: Properly expire the browser's CSS and JS cache when there
are new versions of those files. This also eliminates single-file skins
and should also allow Extensions to have skins.
r=glob, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260830 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-21 03:48:22 +00:00
mkanat%bugzilla.org
263544534f Bug 579514: Make Bug.attachments also return attachment data
r=dkl, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260827 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-20 22:03:21 +00:00
mkanat%bugzilla.org
068c80657b Bug 575475: ANSI coloring of error messages was hiding template compilation
errors
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260819 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-20 06:04:54 +00:00
mkanat%bugzilla.org
168ee40278 Bug 576912: Make the automatic duplicate detection table appear onkeyup
instead of onblur, but give it a delay so that (a) we're not sending
too many queries and (b) so that it doesn't appear at the exact same
time as you click Submit Bug (making the "Submit Bug" click not work)
r=timello, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260816 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-19 23:33:03 +00:00
mkanat%bugzilla.org
ac8056f82b Bug 579695: Make xt/search.t do substring tests using a more consistent
substring length, thus fixing an intermittent failure that would
show up when searching the cf_multi_select field.
r=mkanat, a=mkanat (module owner)


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260808 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-18 09:18:08 +00:00
mkanat%bugzilla.org
620555577d Bug 578335: The "Show next bug in my list" user pref either doesn't display the next bug or display one from the wrong buglist
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260799 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-16 10:04:35 +00:00
mkanat%bugzilla.org
5401593a51 Bug 578258: Calling votes.cgi with no arguments should either display the user's votes, or give a better error message if the extension is disabled
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260798 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-16 10:03:11 +00:00
mkanat%bugzilla.org
c701e279ab Bug 521416: Some web servers fail to set the QUERY_STRING parameter
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260786 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-15 17:34:25 +00:00
mkanat%bugzilla.org
28a0b1798c Bug 455585: Installation docs should recommend using package management instead of CPAN
r=glob


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260783 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-15 11:24:26 +00:00
mkanat%bugzilla.org
b26fb704b2 Bug 193193: Better explain what the checkboxes in Edit Users-Group Access/Privileges are for
r=glob


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260782 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-15 11:07:36 +00:00
mkanat%bugzilla.org
f9d48426a5 Bug 472452: Rephrase documentation about deleting custom fields
r=glob


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260779 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-15 10:33:10 +00:00
mkanat%bugzilla.org
2fc87bb4db The changes to accept positional parameters in XML-RPC meant that sometimes
$params wouldn't just be undef, but actually missing, so validate() was
getting @keys where $params should have been.


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260766 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-14 04:04:43 +00:00
mkanat%bugzilla.org
879e5e5a35 2nd part of bug 536183: Update the default workflow
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260761 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-14 00:19:43 +00:00
mkanat%bugzilla.org
dad4debae5 Bug 577765: Allow XML-RPC to accept multiple positional parameters
r=ghendricks, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260758 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 23:27:05 +00:00
mkanat%bugzilla.org
a9bd4aaf0b Bug 536183: Docs claim bug lifecycle is "hard-coded" despite that's no longer true
r=gerv a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260757 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 23:27:04 +00:00
mkanat%bugzilla.org
d0042f4f67 Bug 577765: Allow XML-RPC to accept multiple positional parameters
r=ghendricks, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260756 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 23:21:34 +00:00
mkanat%bugzilla.org
c1cea53475 Bug 578366: Missing </dl>
r/a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260751 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 23:07:37 +00:00
mkanat%bugzilla.org
162369fded Bug 578324: The "Hours Worked" field in show_bug.cgi rejects all values passed to it if it would make the Remaining Time negative
r/a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260750 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 23:05:56 +00:00
mkanat%bugzilla.org
2c91534083 Bug 412074: Ability to add attachments to a bug via the WebService
(Bug.add_attachment)
r=timello, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260748 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 22:48:31 +00:00
mkanat%bugzilla.org
82e9867904 Bug 236651: Remove obsolete instructions from the "2.1.5 Perl Modules" section
r=reed


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260739 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 08:35:04 +00:00
mkanat%bugzilla.org
6f659f0f4b Bug 578007: Requests queue page has a broken table layout for various groupings
r=reed a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260738 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 08:19:35 +00:00
mkanat%bugzilla.org
3743b9cd76 Bug 578253 - Add autocomplete support to the requester and requestee fields on request.cgi
[r=mkanat a=mkanat]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260733 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 03:33:30 +00:00
mkanat%bugzilla.org
84dfb6fdbb Bug 578253 - Add autocomplete support to the add users to watch input field
[r=mkanat a=mkanat]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260732 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 02:37:01 +00:00
mkanat%bugzilla.org
e2f5acc8b7 Bug 577602: Using multi-selects as buglist columns on PostgreSQL was broken
r=LpSolit, a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260731 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 02:35:13 +00:00
mkanat%bugzilla.org
3bd52c4b6e Bug 521463: Use consistent CSS for text input fields on enter_bug,
show_bug, post_bug, etc.
r=dkl, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260729 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 02:26:23 +00:00
mkanat%bugzilla.org
bd5fba9343 Bug 490767: Make validation happen with JS, when filing a bug
r=pyrzak, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260728 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 02:24:44 +00:00
mkanat%bugzilla.org
c07a6591c2 alias_not_allowed should be multiple_alias_not_allowed
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260727 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 02:23:04 +00:00
mkanat%bugzilla.org
77cf5d275c Bug 415813: Implement Bug.update() as an API for WebServices
r=dkl, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260726 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 01:51:32 +00:00
mkanat%bugzilla.org
b466a3e931 Fix regression due to bug 372979, a=mkanat on IRC
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260725 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 01:49:58 +00:00
mkanat%bugzilla.org
3c85c43924 Bug 578241: Use the same ID in enter_bug.cgi and show_bug.cgi for group checkboxes
r=reed a=LpSolit


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260722 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-13 01:03:13 +00:00
mkanat%bugzilla.org
85a6c4b6f3 Bug 578003: E-mail notifications are missing datetime for comments
r=glob a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260719 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-12 23:34:28 +00:00
mkanat%bugzilla.org
c44f322605 Bug 577881 - Add missing space before 'class' parameter in global/textarea.html.tmpl so class and previous parameters don't run into each other.
[r=LpSolit a=LpSolit]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260715 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-12 17:49:32 +00:00
mkanat%bugzilla.org
62028589e5 Bug 563894: Milestone URL needs to be removed from documentation
r=wicked


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260713 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-11 17:19:38 +00:00
mkanat%bugzilla.org
1ac127651b Bug 577754: Make updating bugs_fulltext during checksetup.pl WAY faster
for MySQL.
r=mkanat, a=mkanat (module owner)


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260707 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-10 05:36:00 +00:00
mkanat%bugzilla.org
e84bb4c031 Remove the empty "index" directory from Dusk.
git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260705 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-10 04:48:30 +00:00
mkanat%bugzilla.org
662196cf91 Bug 451219: Allow altering from one SERIAL type to another on PostgreSQL,
for people upgrading Testopia from 1.3 to 2.0+.
r=mkanat, a=mkanat (module owner)


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260703 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-10 04:23:40 +00:00
mkanat%bugzilla.org
e54df88dc4 Bug 493653: Replace the bugzilla homepage images
r=mkanat, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260700 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-09 18:17:10 +00:00
mkanat%bugzilla.org
f639216b85 Bug 577588: xt/seach.t was sometimes not properly translating special
<> values into the actual bug value, for searching
r=mkanat, a=mkanat (module owner)


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260690 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-09 02:03:26 +00:00
mkanat%bugzilla.org
9721aa076f Bug 577577: Make bz_drop_fk be tolerant of SQL failure
r=mkanat, a=mkanat (module owner)


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260688 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-08 23:50:06 +00:00
mkanat%bugzilla.org
edb35569c7 Bug 567981 - Restore ability for page.cgi pages to contain . characters, but don't permit '..' at all.
[r=mkanat a=mkanat]


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260684 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-08 22:04:23 +00:00
mkanat%bugzilla.org
e2efc625e8 Bug 577415: Allow positional parameters for XML-RPC, because Testopia
uses them.
r=ghendricks, a=mkanat


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260682 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-08 20:35:21 +00:00
mkanat%bugzilla.org
ef72be48e0 Bug 577520: Make the "Adding new table..." message not appear during
xt/search.t
r=mkanat, a=mkanat (module owner)


git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260675 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-08 18:18:29 +00:00
(no author)
6c54a70923 This commit was manufactured by cvs2svn to create branch 'BUGZILLA-
4_0-BRANCH'.

git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260671 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-08 06:33:22 +00:00
54185 changed files with 50285 additions and 10621035 deletions

View File

@@ -1 +0,0 @@
CVSROOT/history

View File

@@ -1,4 +0,0 @@
If you change the modules file, you *MUST* run:
check-modules.pl modules
*before* cvs committing the new modules file.

View File

@@ -1,257 +0,0 @@
#!/usr/bin/env perl
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is this file as it was released upon February 25, 1999.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# check-modules.pl - Check cvs modules file for duplicates and syntax errors.
#
# TODO:
# - Parse output of 'cvs co -c' command in addition to the raw file.
#
# Send comments, improvements, bugs to Steve Lamm (slamm@netscape.com).
# $Id: check-modules.pl,v 1.1 2000-06-01 11:03:22 leaf%mozilla.org Exp $
require 5.004;
use Getopt::Std;
sub usage
{
my ($progname) = $0 =~ /([^\/]+)$/;
die "Usage: $progname [options] [<module_file>]
Reads from stdin if no file is given.
Options:
-v Verbose. Print the modules and what they include.
-h Print this usage message.
";
}
&usage if !getopts('hv');
&usage if defined($opt_h);
######################################################################
# begin main
# The subroutine &parse_input creates the globals @module_names,
# %module_tree, and %line_number (described below).
&parse_input;
foreach $module (@module_names)
{
&check_module($module);
}
# end main
######################################################################
# begin subroutines
sub parse_input
{
# Globals created:
# @module_names - List of module names in the order they are seen.
# %module_tree - Hash table of lists. Keys are module names.
# Values are lists of module names and diretories.
# %line_number - Hash indexed by module name and module item.
# Values are line numbers.
@module_names = ();
%module_tree = ();
%line_number = ();
while (<>)
{
next if /^\#/ || /^\s*$/;
# Check for a module definition
if (/^([_a-zA-Z0-9]+)\s+(?:-l\s+)?-a\s*(.*)$/)
{
my ($module_name) = $1;
my (@sub_items) = ();
my ($line) = $2;
push @module_names, $module_name;
# Read line continuations (i.e. lines with '\' on the end).
while ($line =~ /\\$/)
{
chomp $line;
$line =~ s/^\s*(.*?)\s*\\$/$1/;
if (length($line) > 0)
{
my (@line_items) = split(/\s+/, $line);
push @sub_items, @line_items;
&save_line_numbers($module_name, $., @line_items);
}
$line = <>;
}
chomp $line;
$line =~ s/^\s*(.*?)\s*$/$1/;
my (@line_items) = split(/\s+/, $line);
push @sub_items, @line_items;
&save_line_numbers($module_name, $., @line_items);
$module_tree{$module_name} = \@sub_items;
}
else
{
die "Unexpected input: line $.: $_\n";
}
}
}
sub check_module
{
my ($module) = $_[0];
my ($sub_module, $sub_dir, $prev_module);
# Globals created:
# %have_checked - List of modules already checked.
# %full_list - All the directories for a module.
# Indexed by module and sub directory.
# Values are the module that added the directory.
return if defined($have_checked{$module});
$full_list{$module} = {};
foreach $sub_module ( &get_modules($module) )
{
&check_module($sub_module);
# Add the directories of the sub_module to this module
while (($sub_dir, $prev_module) = each %{$full_list{$sub_module}})
{
$full_list{$module}{$sub_dir} = $prev_module;
}
}
foreach $sub_dir ( &get_directories($module) )
{
if (defined($full_list{$module}{$sub_dir}))
{
my ($previous_module) = $full_list{$module}{$sub_dir};
&warn_multiple($sub_dir, $module, $previous_module);
}
else
{
$full_list{$module}{$sub_dir} = $module;
# Check if parent or child of directory was previously added
#
&check_inclusion($sub_dir, $module);
}
}
if (defined($opt_v))
{
print "$module\n";
while (($sub_dir, $prev_module) = each %{$full_list{$module}})
{
print " $sub_dir, $prev_module\n";
}
}
$have_checked{$module} = 1;
}
sub get_modules
{
my ($module) = $_[0];
my (@output) = ();
my ($sub_item);
foreach $sub_item ( @{ $module_tree{$module} } )
{
push @output, $sub_item if defined($module_tree{$sub_item});
}
return @output;
}
sub get_directories
{
my ($module) = $_[0];
my (@output) = ();
my ($sub_item);
foreach $sub_item ( @{ $module_tree{$module} } )
{
push @output, $sub_item unless defined($module_tree{$sub_item});
}
return @output;
}
sub save_line_numbers
{
my ($module, $line_num, @sub_items) = @_;
my ($sub_item);
foreach $sub_item (@sub_items)
{
if (defined($line_number{$module}{$sub_item}))
{
$line_number{$module}{$sub_item} =
"$line_number{$module}{$sub_item}, $line_num";
}
else
{
$line_number{$module}{$sub_item} = $line_num;
}
}
}
sub warn_multiple
{
my ($sub_item, $module, $previous_module) = @_;
my ($line_txt) = '';
my (@lines) = split(', ', $line_number{$module}{$sub_item});
push(@lines, split(', ', $line_number{$previous_module}{$sub_item}))
unless $previous_module eq $module;
$line_txt = "lines ".join(', ', sort { $a <=> $b } @lines);
warn "Error: Multiple listing: $line_txt: $sub_item.\n";
}
sub check_inclusion
{
my ($sub_dir, $module) = @_;
my ($dir);
foreach $dir (keys %{$full_list{$module}})
{
next if $dir eq $sub_dir;
if (length($dir) < length($sub_dir))
{
my ($temp) = $sub_dir;
$sub_dir = $dir;
$dir = $temp;
}
if ($dir =~ /^$sub_dir\//)
{
warn "Warning: $dir (line "
.$line_number{$full_list{$module}{$dir}}{$dir}
.") pulled by $sub_dir (line "
.$line_number{$full_list{$module}{$sub_dir}}{$sub_dir}
.")\n";
}
}
}

View File

@@ -1,21 +0,0 @@
# The "checkoutlist" file is used to support additional version controlled
# administrative files in $CVSROOT/CVSROOT, such as template files.
#
# The first entry on a line is a filename which will be checked out from
# the corresponding RCS file in the $CVSROOT/CVSROOT directory.
# The remainder of the line is an error message to use if the file cannot
# be checked out.
#
# File format:
#
# [<whitespace>]<filename><whitespace><error message><end-of-line>
#
# comment lines begin with '#'
passwd
readers
commitcheck.pl
dolog.pl
FilesToNotExport
cvsmailfilter.pl
sendnotification.pl
readonlyusers.pl

View File

@@ -1,711 +0,0 @@
#!/usr/bin/perl --
# DO NOT EDIT THIS FILE! You must instead go to https://despot.mozilla.org/, and
# tweak things from there.
$mode{'180'} = 'Closed';
$branch{'180'} = 'HEAD';
$fullname{'180'} = 'accessibility';
$blessed{'180'} = ['aaronleventhal%moonset.net',];
$super{'180'} = ['marco.zehe%googlemail.com','ginn.chen%sun.com','dbolter%mozilla.com','surkov.alexander%gmail.com',];
$mode{'188'} = 'Open';
$branch{'188'} = 'HEAD';
$fullname{'188'} = 'Application Suite';
$mode{'190'} = 'Closed';
$branch{'190'} = 'HEAD';
$fullname{'190'} = 'Bugzilla';
$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'} = [];
$super{'204'} = ['justdave%bugzilla.org',];
$mode{'191'} = 'Closed';
$branch{'191'} = 'BUGZILLA-2_20-BRANCH';
$fullname{'191'} = 'Bugzilla2.20';
$blessed{'191'} = ['myk%mozilla.org','wurblzap%gmail.com','vladd%bugzilla.org','olav%bkor.dhs.org','ghendricks%novell.com',];
$super{'191'} = ['mkanat%bugzilla.org','lpsolit%gmail.com','justdave%bugzilla.org',];
$mode{'203'} = 'Closed';
$branch{'203'} = 'BUGZILLA-2_22-BRANCH';
$fullname{'203'} = 'Bugzilla2.22';
$blessed{'203'} = ['wurblzap%gmail.com','vladd%bugzilla.org','reed%reedloden.com','olav%bkor.dhs.org','myk%mozilla.org','ghendricks%novell.com',];
$super{'203'} = ['mkanat%bugzilla.org','lpsolit%gmail.com','justdave%bugzilla.org',];
$mode{'212'} = 'Closed';
$branch{'212'} = 'BUGZILLA-3_0-BRANCH';
$fullname{'212'} = 'Bugzilla3.0';
$blessed{'212'} = ['wurblzap%gmail.com','vladd%bugzilla.org','olav%bkor.dhs.org','myk%mozilla.org','ghendricks%novell.com',];
$super{'212'} = ['mkanat%bugzilla.org','lpsolit%gmail.com','justdave%bugzilla.org',];
$mode{'217'} = 'Closed';
$branch{'217'} = 'BUGZILLA-3_2-BRANCH';
$fullname{'217'} = 'Bugzilla3.2';
$blessed{'217'} = ['wurblzap%gmail.com','vladd%bugzilla.org','olav%bkor.dhs.org','myk%mozilla.org','ghendricks%novell.com',];
$super{'217'} = ['mkanat%bugzilla.org','lpsolit%gmail.com','justdave%bugzilla.org',];
$mode{'220'} = 'Closed';
$branch{'220'} = 'BUGZILLA-3_4-BRANCH';
$fullname{'220'} = 'Bugzilla3.4';
$blessed{'220'} = ['wurblzap%gmail.com','olav%bkor.dhs.org','ghendricks%novell.com','dlawrence%mozilla.com',];
$super{'220'} = ['mkanat%bugzilla.org','lpsolit%gmail.com','justdave%bugzilla.org',];
$mode{'214'} = 'Open';
$branch{'214'} = 'HEAD';
$fullname{'214'} = 'Build and Release Tools';
$mode{'55'} = 'Open';
$branch{'55'} = 'HEAD';
$fullname{'55'} = 'Build Config';
$mode{'226'} = 'Open';
$branch{'226'} = 'HEAD';
$fullname{'226'} = 'Build Config: comm-central';
$mode{'183'} = 'Open';
$branch{'183'} = 'HEAD';
$fullname{'183'} = 'calendar';
$mode{'210'} = 'Open';
$branch{'210'} = 'HEAD';
$fullname{'210'} = 'camino';
$mode{'211'} = 'Open';
$branch{'211'} = 'HEAD';
$fullname{'211'} = 'ChatZilla';
$mode{'146'} = 'Restricted';
$branch{'146'} = 'NSPRPUB_PRE_4_2_CLIENT_BRANCH';
$fullname{'146'} = 'Client NSPR';
$blessed{'146'} = ['sgautherie.bz%free.fr','mozilla%weilbacher.org','kaie%kuix.de','julien.pierre.boogz%sun.com','gerv%gerv.net','alexei.volkov.bugs%sun.com','unai.gaston%sun.com',];
$super{'146'} = ['ted.mielczarek%gmail.com','wtc%google.com','nelson%bolyard.com',];
$mode{'213'} = 'Open';
$branch{'213'} = 'HEAD';
$fullname{'213'} = 'Code Analysis and Debugging Tools';
$mode{'56'} = 'Open';
$branch{'56'} = 'HEAD';
$fullname{'56'} = 'Composer';
$mode{'171'} = 'Open';
$branch{'171'} = 'HEAD';
$fullname{'171'} = 'Cookies and Permissions';
$mode{'4'} = 'Open';
$branch{'4'} = 'HEAD';
$fullname{'4'} = 'default';
$defaultid = '4';
$mode{'3'} = 'Closed';
$branch{'3'} = 'HEAD';
$fullname{'3'} = 'despotaccess';
$blessed{'3'} = [];
$super{'3'} = ['justdave%bugzilla.org','despotdaemon',];
$mode{'59'} = 'Open';
$branch{'59'} = 'HEAD';
$fullname{'59'} = 'Directory SDK';
$mode{'101'} = 'Open';
$branch{'101'} = 'HEAD';
$fullname{'101'} = 'docshell';
$mode{'103'} = 'Open';
$branch{'103'} = 'HEAD';
$fullname{'103'} = 'Document Object Model';
$mode{'184'} = 'Open';
$branch{'184'} = 'HEAD';
$fullname{'184'} = 'DOM Inspector';
$mode{'208'} = 'Open';
$branch{'208'} = 'HEAD';
$fullname{'208'} = 'Embedding';
$mode{'181'} = 'Open';
$branch{'181'} = 'HEAD';
$fullname{'181'} = 'Find As You Type';
$mode{'166'} = 'Open';
$branch{'166'} = 'HEAD';
$fullname{'166'} = 'Firefox';
$mode{'182'} = 'Open';
$branch{'182'} = 'HEAD';
$fullname{'182'} = 'Global Key Bindings';
$mode{'201'} = 'Open';
$branch{'201'} = 'HEAD';
$fullname{'201'} = 'Graphics';
$mode{'144'} = 'Open';
$branch{'144'} = 'HEAD';
$fullname{'144'} = 'GTK Embedding Widget';
$mode{'102'} = 'Open';
$branch{'102'} = 'HEAD';
$fullname{'102'} = 'HTML Parser';
$mode{'67'} = 'Open';
$branch{'67'} = 'HEAD';
$fullname{'67'} = 'I18N Library';
$mode{'63'} = 'Open';
$branch{'63'} = 'HEAD';
$fullname{'63'} = 'ImageLib';
$mode{'130'} = 'Open';
$branch{'130'} = 'HEAD';
$fullname{'130'} = 'Java APIs for DOM';
$mode{'127'} = 'Open';
$branch{'127'} = 'HEAD';
$fullname{'127'} = 'Java APIs to WebShell';
$mode{'68'} = 'Open';
$branch{'68'} = 'HEAD';
$fullname{'68'} = 'Java Stubs';
$mode{'128'} = 'Open';
$branch{'128'} = 'HEAD';
$fullname{'128'} = 'Java to XPCOM Bridge';
$mode{'133'} = 'Open';
$branch{'133'} = 'HEAD';
$fullname{'133'} = 'Java Utility Classes';
$mode{'129'} = 'Open';
$branch{'129'} = 'HEAD';
$fullname{'129'} = 'Java-Implemented Plugins';
$mode{'70'} = 'Restricted';
$branch{'70'} = 'HEAD';
$fullname{'70'} = 'JavaScript';
$blessed{'70'} = ['vladimir%pobox.com','timeless%mozdev.org','sayrer%gmail.com','reed%reedloden.com','peterv%propagandism.org','pavlov%pavlov.net','jst%mozilla.org','jruderman%hmc.edu','jag%tty.nl','gerv%gerv.net','gavin%gavinsharp.com','dveditz%cruzio.com','dbaron%dbaron.org','daumling%adobe.com','cls%seawood.org','bzbarsky%mit.edu','bryner%brianryner.com','benjamin%smedbergs.us','bclary%bclary.com',];
$super{'70'} = ['shaver%mozilla.org','mrbkap%gmail.com','lwagner%mozilla.com','jwalden%mit.edu','jorendorff%mozilla.com','igor%mir2.org','graydon%mozilla.com','crowder%fiverocks.com','brendan%mozilla.org',];
$mode{'207'} = 'Open';
$branch{'207'} = 'HEAD';
$fullname{'207'} = 'JavaScript Debugger Backend';
$mode{'223'} = 'Open';
$branch{'223'} = 'HEAD';
$fullname{'223'} = 'js-ctypes';
$mode{'114'} = 'Open';
$branch{'114'} = 'HEAD';
$fullname{'114'} = 'js-tests';
$mode{'98'} = 'Open';
$branch{'98'} = 'HEAD';
$fullname{'98'} = 'Layout Engine';
$mode{'221'} = 'Open';
$branch{'221'} = 'HEAD';
$fullname{'221'} = 'libjar';
$mode{'72'} = 'Open';
$branch{'72'} = 'HEAD';
$fullname{'72'} = 'LiveConnect';
$mode{'123'} = 'Open';
$branch{'123'} = 'HEAD';
$fullname{'123'} = 'Mail and News Backend';
$mode{'165'} = 'Open';
$branch{'165'} = 'HEAD';
$fullname{'165'} = 'MathML';
$mode{'124'} = 'Open';
$branch{'124'} = 'HEAD';
$fullname{'124'} = 'MIME';
$mode{'157'} = 'Open';
$branch{'157'} = 'HEAD';
$fullname{'157'} = 'Movemail';
$mode{'19'} = 'Open';
$branch{'19'} = 'HEAD';
$fullname{'19'} = 'mozilla-toplevel';
$mode{'77'} = 'Open';
$branch{'77'} = 'HEAD';
$fullname{'77'} = 'NetLib';
$mode{'78'} = 'Restricted';
$branch{'78'} = 'HEAD';
$fullname{'78'} = 'NSPR';
$blessed{'78'} = ['gerv%gerv.net','mozilla%weilbacher.org','kaie%kuix.de','christophe.ravel.bugs%sun.com','bsmith%mozilla.com','alexei.volkov.bugs%sun.com',];
$super{'78'} = ['ted.mielczarek%gmail.com','wtc%google.com','nelson%bolyard.com',];
$mode{'163'} = 'Restricted';
$branch{'163'} = 'NSS_3_11_BRANCH';
$fullname{'163'} = 'NSS Stable Release Branch';
$blessed{'163'} = ['gerv%gerv.net','douglas%stebila.ca',];
$super{'163'} = ['slavomir.katuscak%sun.com','kaie%kuix.de','glen.beasley%sun.com','emaldona%redhat.com','christophe.ravel.bugs%sun.com','alexei.volkov.bugs%sun.com','wtc%google.com','rrelyea%redhat.com','nelson%bolyard.com','julien.pierre.boogz%sun.com',];
$mode{'162'} = 'Open';
$branch{'162'} = 'HEAD';
$fullname{'162'} = 'P3P';
$mode{'209'} = 'Open';
$branch{'209'} = 'HEAD';
$fullname{'209'} = 'Party Tool';
$mode{'225'} = 'Open';
$branch{'225'} = 'HEAD';
$fullname{'225'} = 'Penelope';
$mode{'81'} = 'Open';
$branch{'81'} = 'HEAD';
$fullname{'81'} = 'Plugins';
$mode{'82'} = 'Open';
$branch{'82'} = 'HEAD';
$fullname{'82'} = 'Preferences';
$mode{'69'} = 'Open';
$branch{'69'} = 'HEAD';
$fullname{'69'} = 'Privilege Manager';
$mode{'219'} = 'Open';
$branch{'219'} = 'HEAD';
$fullname{'219'} = 'PyXPCOM';
$mode{'161'} = 'Open';
$branch{'161'} = 'HEAD';
$fullname{'161'} = 'Qt-based gfx and widget';
$mode{'52'} = 'Open';
$branch{'52'} = 'HEAD';
$fullname{'52'} = 'RDF';
$mode{'84'} = 'Open';
$branch{'84'} = 'HEAD';
$fullname{'84'} = 'Registry';
$mode{'113'} = 'Open';
$branch{'113'} = 'HEAD';
$fullname{'113'} = 'REMOVEME - Photon';
$mode{'121'} = 'Open';
$branch{'121'} = 'HEAD';
$fullname{'121'} = 'REMOVEME - Xlib-based gfx and widget';
$mode{'179'} = 'Open';
$branch{'179'} = 'HEAD';
$fullname{'179'} = 'REMOVEME - XPrint';
$mode{'138'} = 'Open';
$branch{'138'} = 'HEAD';
$fullname{'138'} = 'Rhino';
$mode{'145'} = 'Restricted';
$branch{'145'} = 'HEAD';
$fullname{'145'} = 'security';
$blessed{'145'} = ['gerv%gerv.net','cfu%redhat.com',];
$super{'145'} = ['ryan.sleevi%gmail.com','kaie%kuix.de','emaldona%redhat.com','bsmith%mozilla.com','wtc%google.com','rrelyea%redhat.com',];
$mode{'151'} = 'Open';
$branch{'151'} = 'HEAD';
$fullname{'151'} = 'Security - Mozilla PSM Glue';
$mode{'173'} = 'Open';
$branch{'173'} = 'HEAD';
$fullname{'173'} = 'Standalone Composer';
$mode{'216'} = 'Open';
$branch{'216'} = 'HEAD';
$fullname{'216'} = 'storage';
$mode{'160'} = 'Open';
$branch{'160'} = 'HEAD';
$fullname{'160'} = 'String';
$mode{'100'} = 'Open';
$branch{'100'} = 'HEAD';
$fullname{'100'} = 'Style System';
$mode{'187'} = 'Open';
$branch{'187'} = 'HEAD';
$fullname{'187'} = 'SVG';
$mode{'205'} = 'Restricted';
$branch{'205'} = 'HEAD';
$fullname{'205'} = 'Tamarin';
$blessed{'205'} = [];
$super{'205'} = ['treilly%adobe.com','tierney%adobe.com','stejohns%adobe.com','brendan%mozilla.org','jodyer%adobe.com','edwsmith%adobe.com',];
$mode{'215'} = 'Open';
$branch{'215'} = 'HEAD';
$fullname{'215'} = 'Test Harness';
$mode{'202'} = 'Open';
$branch{'202'} = 'HEAD';
$fullname{'202'} = 'Testing Infrastructure';
$mode{'170'} = 'Open';
$branch{'170'} = 'HEAD';
$fullname{'170'} = 'Thunderbird';
$mode{'169'} = 'Open';
$branch{'169'} = 'HEAD';
$fullname{'169'} = 'toolkit';
$mode{'185'} = 'Open';
$branch{'185'} = 'HEAD';
$fullname{'185'} = 'Update Service';
$mode{'71'} = 'Open';
$branch{'71'} = 'HEAD';
$fullname{'71'} = 'Venkman';
$mode{'96'} = 'Open';
$branch{'96'} = 'HEAD';
$fullname{'96'} = 'View System';
$mode{'177'} = 'Open';
$branch{'177'} = 'HEAD';
$fullname{'177'} = 'Widget';
$mode{'172'} = 'Open';
$branch{'172'} = 'HEAD';
$fullname{'172'} = 'Widget - BeOS';
$mode{'49'} = 'Open';
$branch{'49'} = 'HEAD';
$fullname{'49'} = 'Widget - GTK';
$mode{'178'} = 'Open';
$branch{'178'} = 'HEAD';
$fullname{'178'} = 'Widget - Mac OS X';
$mode{'175'} = 'Open';
$branch{'175'} = 'HEAD';
$fullname{'175'} = 'Widget - Windows';
$mode{'199'} = 'Open';
$branch{'199'} = 'HEAD';
$fullname{'199'} = 'XBL';
$mode{'88'} = 'Open';
$branch{'88'} = 'HEAD';
$fullname{'88'} = 'XML';
$mode{'137'} = 'Open';
$branch{'137'} = 'HEAD';
$fullname{'137'} = 'XPApps';
$mode{'89'} = 'Open';
$branch{'89'} = 'HEAD';
$fullname{'89'} = 'XPCOM';
$mode{'118'} = 'Open';
$branch{'118'} = 'HEAD';
$fullname{'118'} = 'XPConnect';
$mode{'117'} = 'Open';
$branch{'117'} = 'HEAD';
$fullname{'117'} = 'XPIDL';
$mode{'150'} = 'Open';
$branch{'150'} = 'HEAD';
$fullname{'150'} = 'XPInstall';
$mode{'206'} = 'Open';
$branch{'206'} = 'HEAD';
$fullname{'206'} = 'xptcall';
$mode{'106'} = 'Open';
$branch{'106'} = 'HEAD';
$fullname{'106'} = 'XPToolkit';
$mode{'140'} = 'Open';
$branch{'140'} = 'HEAD';
$fullname{'140'} = 'XSLT Processor';
$mode{'200'} = 'Open';
$branch{'200'} = 'HEAD';
$fullname{'200'} = 'XTF';
sub GetT {
($b,$_) = (@_);
if ($b eq 'BUGZILLA-2_18-BRANCH') {
if (m:^mozilla/webtools/bugzilla/.*$:) {return '204';}
}
if ($b eq 'BUGZILLA-2_20-BRANCH') {
if (m:^mozilla/webtools/bugzilla/.*$:) {return '191';}
}
if ($b eq 'BUGZILLA-2_22-BRANCH') {
if (m:^mozilla/webtools/bugzilla/.*$:) {return '203';}
}
if ($b eq 'BUGZILLA-3_0-BRANCH') {
if (m:^mozilla/webtools/bugzilla/.*$:) {return '212';}
}
if ($b eq 'BUGZILLA-3_2-BRANCH') {
if (m:^mozilla/webtools/bugzilla/.*$:) {return '217';}
}
if ($b eq 'BUGZILLA-3_4-BRANCH') {
if (m:^mozilla/webtools/bugzilla/.*$:) {return '220';}
}
if ($b eq 'HEAD') {
if (m:^mozilla/rdf/.*$:) {return '52';}
if (m:^mozilla/extensions/p3p/.*$:) {return '162';}
if (m:^mozilla/build/.*$:) {return '55';}
if (m:^mozilla/config/.*$:) {return '55';}
if (m:^mozilla/tools/cross-commit$:) {return '55';}
if (m:^mozilla/tools/cvs2hg-import\.py$:) {return '55';}
if (m:^mozilla/tools/cvsmgmt/.*$:) {return '55';}
if (m:^mozilla/tools/elf-dynstr-gc/.*$:) {return '55';}
if (m:^mozilla/tools/relic/.*$:) {return '55';}
if (m:^mozilla/tools/trees\.pl$:) {return '55';}
if (m:^mozilla/content/xslt/.*$:) {return '140';}
if (m:^mozilla/extensions/transformiix/.*$:) {return '140';}
if (m:^mozilla/layout/mathml/.*$:) {return '165';}
if (m:^mozilla/editor/.*$:) {return '56';}
if (m:^mozilla/calendar/.*$:) {return '183';}
if (m:^mozilla/browser/.*$:) {return '166';}
if (m:^mozilla/other-licenses/branding/firefox/.*$:) {return '166';}
if (m:^mozilla/directory/.*$:) {return '59';}
if (m:^mozilla/gfx/src/photon/.*$:) {return '113';}
if (m:^mozilla/widget/src/photon/.*$:) {return '113';}
if (m:^mozilla/chrome/.*$:) {return '169';}
if (m:^mozilla/profile/.*$:) {return '169';}
if (m:^mozilla/toolkit/.*$:) {return '169';}
if (m:^mozilla/xulrunner/.*$:) {return '169';}
if (m:^mozilla/jpeg/.*$:) {return '63';}
if (m:^mozilla/modules/libimg/png/.*$:) {return '63';}
if (m:^mozilla/modules/libpr0n/.*$:) {return '63';}
if (m:^mozilla/modules/zlib/.*$:) {return '63';}
if (m:^mozilla/content/xul/.*$:) {return '106';}
if (m:^mozilla/layout/xul/.*$:) {return '106';}
if (m:^mozilla/mail/.*$:) {return '170';}
if (m:^mozilla/other-licenses/branding/thunderbird/.*$:) {return '170';}
if (m:^mozilla/testing/.*$:) {return '202';}
if (m:^mozilla/tools/httptester/.*$:) {return '202';}
if (m:^mozilla/tools/page-loader/.*$:) {return '202';}
if (m:^mozilla/tools/test-harness/.*$:) {return '202';}
if (m:^mozilla/tools/tests/.*$:) {return '202';}
if (m:^mozilla/tools/testserver/.*$:) {return '202';}
if (m:^mozilla/tools/testy/.*$:) {return '202';}
if (m:^mozilla/extensions/cookie/.*$:) {return '171';}
if (m:^mozilla/netwerk/cookie/.*$:) {return '171';}
if (m:^mozilla/intl/.*$:) {return '67';}
if (m:^mozilla/extensions/irc/.*$:) {return '211';}
if (m:^mozilla/widget/src/beos/.*$:) {return '172';}
if (m:^mozilla/modules/oji/.*$:) {return '68';}
if (m:^mozilla/nav-java/.*$:) {return '68';}
if (m:^mozilla/sun-java/.*$:) {return '68';}
if (m:^mozilla/tools/botrunner\.py$:) {return '214';}
if (m:^mozilla/tools/build-environment/.*$:) {return '214';}
if (m:^mozilla/tools/build/.*$:) {return '214';}
if (m:^mozilla/tools/buildbot-configs/.*$:) {return '214';}
if (m:^mozilla/tools/buildbot/.*$:) {return '214';}
if (m:^mozilla/tools/buildbotcustom/.*$:) {return '214';}
if (m:^mozilla/tools/l10n/.*$:) {return '214';}
if (m:^mozilla/tools/MozBuild/.*$:) {return '214';}
if (m:^mozilla/tools/patcher-configs/.*$:) {return '214';}
if (m:^mozilla/tools/patcher/.*$:) {return '214';}
if (m:^mozilla/tools/release/.*$:) {return '214';}
if (m:^mozilla/tools/tinderbox-configs/.*$:) {return '214';}
if (m:^mozilla/tools/tinderbox/.*$:) {return '214';}
if (m:^mozilla/tools/update-packaging/.*$:) {return '214';}
if (m:^mozilla/caps/.*$:) {return '69';}
if (m:^mozilla/tools/codesighs/.*$:) {return '213';}
if (m:^mozilla/tools/debug/.*$:) {return '213';}
if (m:^mozilla/tools/dreftool/.*$:) {return '213';}
if (m:^mozilla/tools/dumpdeps/.*$:) {return '213';}
if (m:^mozilla/tools/footprint/.*$:) {return '213';}
if (m:^mozilla/tools/jprof/.*$:) {return '213';}
if (m:^mozilla/tools/leaky/.*$:) {return '213';}
if (m:^mozilla/tools/memory/.*$:) {return '213';}
if (m:^mozilla/tools/module-deps/.*$:) {return '213';}
if (m:^mozilla/tools/performance/.*$:) {return '213';}
if (m:^mozilla/tools/post_compile/.*$:) {return '213';}
if (m:^mozilla/tools/preloader/.*$:) {return '213';}
if (m:^mozilla/tools/rb/.*$:) {return '213';}
if (m:^mozilla/tools/reorder/.*$:) {return '213';}
if (m:^mozilla/tools/trace-malloc/.*$:) {return '213';}
if (m:^mozilla/tools/uuiddeps/.*$:) {return '213';}
if (m:^mozilla/widget/src/windows/.*$:) {return '175';}
if (m:^mozilla/js/src/[^/]*$:) {return '70';}
if (m:^mozilla/js/src/config/.*$:) {return '70';}
if (m:^mozilla/js/src/editline/.*$:) {return '70';}
if (m:^mozilla/js/src/fdlibm/.*$:) {return '70';}
if (m:^mozilla/xpcom/typelib/.*$:) {return '117';}
if (m:^mozilla/camino/.*$:) {return '210';}
if (m:^mozilla/extensions/venkman/.*$:) {return '71';}
if (m:^mozilla/js/src/xpconnect/.*$:) {return '118';}
if (m:^mozilla/widget/[^/]*$:) {return '177';}
if (m:^mozilla/widget/public/.*$:) {return '177';}
if (m:^mozilla/widget/src/[^/]*$:) {return '177';}
if (m:^mozilla/widget/src/xpwidgets/.*$:) {return '177';}
if (m:^mozilla/js/src/liveconnect/.*$:) {return '72';}
if (m:^mozilla/js/jsd/.*$:) {return '207';}
if (m:^mozilla/widget/src/cocoa/.*$:) {return '178';}
if (m:^mozilla/netwerk/[^/]*$:) {return '77';}
if (m:^mozilla/netwerk/base/.*$:) {return '77';}
if (m:^mozilla/netwerk/build/.*$:) {return '77';}
if (m:^mozilla/netwerk/cache/.*$:) {return '77';}
if (m:^mozilla/netwerk/dns/.*$:) {return '77';}
if (m:^mozilla/netwerk/locales/.*$:) {return '77';}
if (m:^mozilla/netwerk/mime/.*$:) {return '77';}
if (m:^mozilla/netwerk/protocol/.*$:) {return '77';}
if (m:^mozilla/netwerk/resources/.*$:) {return '77';}
if (m:^mozilla/netwerk/socket/.*$:) {return '77';}
if (m:^mozilla/netwerk/streamconv/.*$:) {return '77';}
if (m:^mozilla/netwerk/system/.*$:) {return '77';}
if (m:^mozilla/netwerk/test/.*$:) {return '77';}
if (m:^mozilla/netwerk/testserver/.*$:) {return '77';}
if (m:^mozilla/mailnews/[^/]*$:) {return '123';}
if (m:^mozilla/accessibility/.*$:) {return '180';}
if (m:^mozilla/nsprpub/.*$:) {return '78';}
if (m:^mozilla/mailnews/mime/[^/]*$:) {return '124';}
if (m:^mozilla/extensions/typeaheadfind/.*$:) {return '181';}
if (m:^mozilla/dom/plugins/.*$:) {return '81';}
if (m:^mozilla/modules/plugin/.*$:) {return '81';}
if (m:^mozilla/extensions/java$:) {return '128';}
if (m:^mozilla/content/xbl/builtin/.*$:) {return '182';}
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';}
}
if ($b eq 'NSS_3_11_BRANCH') {
if (m:^mozilla/dbm/.*$:) {return '163';}
if (m:^mozilla/security/coreconf/.*$:) {return '163';}
if (m:^mozilla/security/dbm/.*$:) {return '163';}
if (m:^mozilla/security/nss/.*$:) {return '163';}
}
return '';
}
$debug = 0;
$origrepository = shift(@ARGV);
@files = @ARGV;
$envcvsroot = $ENV{'CVSROOT'};
open( REP, "<CVS/Repository");
$repository = <REP>;
chop($repository);
close(REP);
$repository =~ s:^$envcvsroot/::;
$doit = 0;
$| = 1;
if( $debug){
print STDERR "----------------------------------------------\n";
print STDERR "files: @files\n";
print STDERR "origrepository: $origrepository\n";
print STDERR " repository: $repository\n";
print STDERR "----------------------------------------------\n";
}
open(ENT, "<CVS/Entries" );
while( <ENT> ){
chop;
($d,$fn,$rev,$mod_time,$sticky,$tag) = split(/\//);
if ($tag =~ /^T(.*)$/) {
$fbranch{$fn} = $1;
}
}
close ENT;
foreach $f (@files) {
$b = "";
if (defined $fbranch{$f}) {$b = $fbranch{$f};}
if ($b eq "") {$b = "HEAD";}
$t = GetT($b, "$repository/$f");
if ($debug) {
print STDERR "GetT returned '$t' for '$repository/$f' branch '$b'\n";
}
if ($t eq "") {
$t = $defaultid;
}
if (!defined $mode{$t} || $mode{$t} eq "Open") {
next;
}
if ($debug) {
print STDERR "Checking twig $t\n";
}
# OK, we have a match. See if we're allowed to checkin here.
if ($username eq "") {
$username = $ENV{"CVS_USER"} || getlogin || (getpwuid($<))[0] || "nobody";
if ($debug) {
print STDERR "Username is $username\n";
print STDERR "getlogin returns " . getlogin . "\n";
print STDERR '(getpwuid($<))[0] returns ' . (getpwuid($<))[0] . "\n";
print STDERR "Environment:\n";
foreach $key (sort(keys %ENV)) {
print STDERR $key, '=', $ENV{$key}, "\n";
}
}
}
$ok = 0;
$s = $super{$t};
foreach $u (@$s) {
if ($debug) {
print STDERR "Checking against super $u\n";
}
if ($u eq $username) {
$ok = 1;
break;
}
}
if ($mode{$t} eq "Restricted") {
my $b = $blessed{$t};
foreach $u (@$b) {
if ($debug) {
print STDERR "Checking against blessed $u\n";
}
if ($u eq $username) {
$ok = 1;
break;
}
}
}
if (!$ok) {
print STDERR "You may not check into partition $fullname{$t}\n";
print STDERR "the file $repository/$f on branch $b\n";
print STDERR "If you think you should be allowed to, send mail to\n";
print STDERR "one of the below people:\n";
$s = $super{$t};
foreach $u (@$s) {
$u =~ s/%/@/;
print STDERR " $u\n";
}
exit 1;
}
}
exit 0;

View File

@@ -1,18 +0,0 @@
# The "commitinfo" file is used to control pre-commit checks.
# The filter on the right is invoked with the repository and a list
# of files to check. A non-zero exit of the filter program will
# cause the commit to be aborted.
#
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being committed to, relative
# to the $CVSROOT. For the first match that is found, then the remainder
# of the line is the name of the filter to run.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# 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/readonly

View File

@@ -1,8 +0,0 @@
# Set this to "no" if pserver shouldn't check system users/passwords
#SystemAuth=no
# Set `PreservePermissions' to `yes' to save file status information
# in the repository.
#PreservePermissions=no
LockDir=/var/lock/cvsroot

View File

@@ -1,48 +0,0 @@
__.SYMDEF*
_gen
_jmc
_stubs
_xpidlgen
._.DS_Store
._.FBCIndex
._.FBCLockFolder
.*.timestamp
.d
.depends
.deps
.DS_Store
.FBCIndex
.FBCLockFolder
.gdbinit
.HSancillary
.makedepend
.Makedepend
.MCC_Cache_FAT
.MCC_Global_History
.md
.pure
*_DBG_EDT.OBJ
*_DBG.OBJ
*_DBG.OBJD
*_OPT_EDT.OBJ
*_OPT.OBJ
*.class
*.dll
*.dylib
*.exp
*.flc
*.lib
*.map
*.pdb
*.rc
*.res
*.rpo
depend.mk
made
make.dep
make.log
Makefile
manifest.mnw
nuke
so_locations
ti_files

View File

@@ -1,24 +0,0 @@
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin;export PATH
(
URL="subdir=`dirname $1`&files=`basename $1`"
echo "Subject: $1"
echo 'Content-Type: text/html; charset=us-ascii'
echo 'Content-Transfer-Encoding: 7bit'
echo 'Content-Disposition: inline'
TMP=/tmp/cvsmf.$$
trap "rm -f $TMP" 0 1 2 15
cat > $TMP
BRANCH=`sed -n 's@^Revision/Branch: \(.*\)@\1@p' $TMP`
if test -n "$BRANCH"; then
URL="$URL&branch=$BRANCH"
fi
echo '<A HREF="http://warp.netscape.com/webtools/bonsai/cvsview2.cgi?'$URL'&command=DIRECTORY">View differences</A><BR>\n'
) | mail $2

View File

@@ -1,134 +0,0 @@
#!/usr/bin/perl
# -*- Mode: perl; indent-tabs-mode: nil -*-
# Arguments:
#
# -a Only send checkin messages which contain added files. All other checkin
# messages will be ignored.
# -u <url> Base URL for the Bonsai directory; "/cvsview2.cgi" will get
# appended to this with appropriate args.
# -h <hostname> Host whose SMTP server we will contact to send mail.
# -s <string> String specifying dir and filenames. As generated by "%s"
# in a CVSROOT/loginfo file
# -f <file> A regexp. If present, then only checkins to files whose
# name (without the directory) matches the regexp will generate mail.
#
# The remaining args are email addresses of people who should get notified.
use strict;
use Mail::Mailer;
my $debug = 0;
my $addsonly = 0;
my $showcommitter = 0;
# Set use_sendmail = 0 to send mail via $mailhost using SMTP
my $use_sendmail = 0;
my $mailhost = "smtp.mozilla.org";
my $urlbase = "";
my $cvsargs = "";
my $cvsroot = "";
my @mailto;
my $fileregexp = "";
my $username = $ENV{"CVS_USER"} || getlogin || (getpwuid($<))[0] || "nobody";
while (@ARGV) {
my $arg = shift @ARGV;
if ($arg eq '-d') {
$debug = 1;
print STDERR "Debug turned on...\n";
} elsif ($arg eq '-c') {
$showcommitter = 1;
} elsif ($arg eq '-r') {
$cvsroot = shift @ARGV;
} elsif ($arg eq '-h') {
$mailhost = shift @ARGV;
} elsif ($arg eq '-u') {
$urlbase = shift @ARGV;
} elsif ($arg eq '-s') {
$cvsargs = shift @ARGV;
} elsif ($arg eq '-f') {
$fileregexp = shift @ARGV;
} elsif ($arg eq '-a') {
$addsonly = 1;
} else {
push(@mailto, $arg);
}
}
my $url = "";
if ($urlbase ne "" && $cvsargs ne "") {
my @list = split(/ /, $cvsargs);
my $dir = shift @list;
if ($fileregexp ne "") {
if (grep(m/$fileregexp/, @list) <= 0) {
exit;
}
}
$url = $urlbase . "/cvsview2.cgi?command=DIRECTORY&subdir=$dir&files=" .
join(':', @list);
}
my $message = "";
if ($showcommitter) {
$message .= "Changes committed by $username:\n\n";
}
my $filesadded = 0;
while (<>) {
my $line = $_;
if ($line =~ m@^ Tag: (.*)$@) {
if ($url ne "") {
$url .= "&branch=$1";
}
}
# if we see that files have been added on this checkin, remember that fact
#
if ($line =~ m@^Added Files:@) {
$filesadded = 1;
}
$message .= $line;
}
# bail out if this is an adds-only run and no files have been added
#
if ($addsonly == 1 && $filesadded == 0 ) {
exit 0;
}
if ($url ne "") {
if ($cvsroot ne "") {
$url .= "&root=$cvsroot";
}
$message = "Diffs: $url\n\n" . $message;
}
chop(my $hostname = `hostname --fqdn`);
my $mailer;
if ($use_sendmail) {
$mailer = Mail::Mailer->new("sendmail");
} else {
$mailer = Mail::Mailer->new("smtp", Server => $mailhost);
}
die("Failed to send mail notification\n") if !defined($mailer);
my %headers;
$headers{'From'} = "$username <cvsmailfilter\@$hostname>";
$headers{'To'} = \@mailto;
$headers{'Subject'} = $cvsargs;
$headers{'MIME-Version'} = '1.0';
$headers{'Content-Type'} = 'text/plain; charset=UTF-8'; # assume everything is UTF-8
$headers{'Content-Transfer-Encoding'} = '8bit';
$headers{'Content-Disposition'} = 'inline';
$mailer->open(\%headers);
print $mailer $message;
$mailer->close;

View File

@@ -1,27 +0,0 @@
# This file affects handling of files based on their names.
#
# The -t/-f options allow one to treat directories of files
# as a single file, or to transform a file in other ways on
# its way in and out of CVS.
#
# The -m option specifies whether CVS attempts to merge files.
#
# The -k option specifies keyword expansion (e.g. -kb for binary).
#
# Format of wrapper file ($CVSROOT/CVSROOT/cvswrappers or .cvswrappers)
#
# wildcard [option value][option value]...
#
# where option is one of
# -f from cvs filter value: path to filter
# -t to cvs filter value: path to filter
# -m update methodology value: MERGE or COPY
# -k expansion mode value: b, o, kkv, &c
#
# and value is a single-quote delimited value.
# For example:
#*.gif -k 'b'
*.png -k 'b'
*.gif -k 'b'
*.jpg -k 'b'
*.jpeg -k 'b'

View File

@@ -1,512 +0,0 @@
#! /usr/bin/perl
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bonsai CVS tool.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Mike Taylor <bear@code-bear.com>
# Christopher Seawood <cls@seawood.org>
# You need to put this in your CVSROOT directory, and check it in. (Change the
# first line above to point to a real live perl5.) Add "dolog.pl" to
# CVSROOT/checkoutlist, and check it in. Then, add a line to your
# CVSROOT/loginfo file that says something like:
#
# ALL $CVSROOT/CVSROOT/dolog.pl [-u ${USER}] -r /cvsroot bonsai-checkin-daemon@my.bonsai.machine
#
# or if you do not want to use SMTP at all, add:
#
# ALL ( $CVSROOT/CVSROOT/dolog.pl -r /cvsroot -n | /bonsai/handleCheckinMail.pl )
#
# Replace "/cvsroot" with the name of the CVS root directory, and
# "my.bonsai.machine" with the name of the machine Bonsai runs on.
# Now, on my.bonsai.machine, add a mail alias so that mail sent to
# "bonsai-checkin-daemon" will get piped to handleCheckinMail.pl.
use bytes;
use File::Basename;
use Mail::Mailer;
# Set use_sendmail = 0 to send mail via $mailhost using SMTP
$use_sendmail = 0;
$username = $ENV{"CVS_USER"} || getlogin || (getpwuid($<))[0] || "nobody";
$envcvsroot = $ENV{'CVSROOT'};
$cvsroot = $envcvsroot;
$flag_debug = 0;
$flag_tagcmd = 0;
$repository = '';
$repository_tag = '';
$mailhost = 'smtp.mozilla.org';
$rlogcommand = '/usr/bin/rlog';
$output2mail = 1;
@mailto = ();
@changed_files = ();
@added_files = ();
@removed_files = ();
@log_lines = ();
@outlist = ();
@import_tags = ();
@import_new_files = ();
@import_changed_files = ();
$STATE_NONE = 0;
$STATE_CHANGED = 1;
$STATE_ADDED = 2;
$STATE_REMOVED = 3;
$STATE_LOG = 4;
$STATE_IMPORT_STATUS = 5;
$STATE_IMPORT_TAGS = 6;
$STATE_IMPORT_FILES = 7;
&process_args;
if ($flag_debug) {
print STDERR "----------------------------------------------\n";
print STDERR "LOGINFO:\n";
print STDERR " pwd:" . `pwd` . "\n";
print STDERR " Args @ARGV\n";
print STDERR " CVSROOT: $cvsroot\n";
print STDERR " who: $username\n";
print STDERR " Repository: $repository\n";
print STDERR " mailto: @mailto\n";
print STDERR "----------------------------------------------\n";
}
if ($flag_tagcmd) {
&process_tag_command;
} else {
&get_loginfo;
&process_cvs_info;
}
if ($flag_debug) {
print STDERR "----------------------------------------------\n";
print STDERR "OUTLIST:\n";
print STDERR @outlist;
print STDERR "----------------------------------------------\n";
}
if ($output2mail) {
&mail_notification;
} else {
&stdout_notification;
}
0;
sub process_args {
while (@ARGV) {
$arg = shift @ARGV;
if ($arg eq '-d') {
$flag_debug = 1;
print STDERR "Debug turned on...\n";
} elsif ($arg eq '-r') {
$cvsroot = shift @ARGV;
} elsif ($arg eq '-u') {
$username = shift @ARGV;
} elsif ($arg eq '-t') {
$flag_tagcmd = 1;
last; # Keep the rest in ARGV; they're handled later.
} elsif ($arg eq '-h') {
$mailhost = shift @ARGV;
} elsif ($arg eq '-n') {
$output2mail = 0;
} else {
push(@mailto, $arg);
}
}
if ($repository eq '') {
open(REP, "<CVS/Repository");
$repository = <REP>;
chop($repository);
close(REP);
}
$repository =~ s:^$cvsroot/::;
$repository =~ s:^$envcvsroot/::;
}
sub get_loginfo {
if ($flag_debug) {
print STDERR "----------------------------------------------\n";
}
# Iterate over the body of the message collecting information.
#
$state = $STATE_NONE;
while (<STDIN>) {
chop; # Drop the newline
if ($flag_debug) {
print STDERR "$_\n";
}
if (/^In directory/) {
next;
}
if (/^Modified Files/) { $state = $STATE_CHANGED; next; }
if (/^Added Files/) { $state = $STATE_ADDED; next; }
if (/^Removed Files/) { $state = $STATE_REMOVED; next; }
if (/^Log Message/) { $state = $STATE_LOG; next; }
s/^[ \t\n]+//; # delete leading whitespace
s/[ \t\n]+$//; # delete trailing whitespace
if ($state != $STATE_LOG && /^Tag:/) { ($repository_tag = $_) =~ s/^Tag:\s*(\S+).*/$1/; }
if ($state == $STATE_CHANGED && !(/^Tag:/)) { push(@changed_files, split); }
if ($state == $STATE_ADDED && !(/^Tag:/)) { push(@added_files, split); }
if ($state == $STATE_REMOVED && !(/^Tag:/)) { push(@removed_files, split); }
if ($state == $STATE_LOG && (m/^Status:$/)) {
push(@log_lines, $_);
$state = $STATE_IMPORT_STATUS;
next;
}
if ($state == $STATE_IMPORT_STATUS) {
my ($itag, $istat, @rest);
while (<STDIN>) {
chomp;
print STDERR "$_\n" if ($flag_debug);
push(@log_lines, $_);
if ($state == $STATE_IMPORT_STATUS) {
next if (m/^\s*$/);
if (m/^Vendor Tag:/) {
($vendor_tag = $_) =~ s/^Vendor Tag:\s+([\w-]+).*/$1/;
$state = $STATE_IMPORT_TAGS;
next;
} else {
$state = $STATE_LOG;
last;
}
}
if ($state == $STATE_IMPORT_TAGS) {
if (m/^\s*$/) {
$state = $STATE_IMPORT_FILES;
} else {
($itag = $_) =~ s/^(Release Tags:)?\s+([\w-]+).*/$2/;
push(@import_tags, $itag);
}
next;
}
if ($state == $STATE_IMPORT_FILES) {
if (m/^\s*$/) {
$state = $STATE_LOG;
last;
}
($istat, @rest) = split(/ /, $_, 2);
if ($istat eq 'N') {
push(@import_new_files, @rest);
} elsif ($istat eq 'U') {
push(@import_changed_files, @rest);
}
# Ignore everything else
next;
}
}
}
if ($state == $STATE_LOG) { push(@log_lines, $_); }
}
# If any of the filenames in the arrays below contain spaces,
# things get broken later on in the code.
# fix the filename array by using the get_filename sub.
@fixed_changed_files = @{&get_filename("C", @changed_files)};
@fixed_added_files = @{&get_filename("A", @added_files)};
@fixed_removed_files = @{&get_filename("R", @removed_files)};
@fixed_import_new_files = @{&get_filename("I", @import_new_files)};
@fixed_import_changed_files = @{&get_filename("I", @import_changed_files)};
# now replace the old broken arrays with the new fixed arrays and
# carry on.
@changed_files = @fixed_changed_files;
@added_files = @fixed_added_files;
@removed_files = @fixed_removed_files;
@import_new_files = @fixed_import_new_files;
@import_changed_files = @fixed_import_changed_files;
if ($flag_debug) {
print STDERR "----------------------------------------------\n"
. "changed files: @changed_files\n"
. "added files: @added_files\n"
. "removed files: @removed_files\n"
. "new imported files: @import_new_files\n"
. "changed imported files: @import_changed_files\n";
print STDERR "----------------------------------------------\n";
}
}
sub get_filename {
my ($state, @files) = @_;
my @fixed_files;
my $FILE_EXIST = 0;
my $FILE_CHECKED = 0;
my $file;
my $partial_file;
my $path, $apath;
if ($flag_debug) {
print STDERR "\n-- get_filename ------------------------\n";
}
foreach my $scalar (@files) {
if ($FILE_CHECKED && ! $FILE_EXISTS) {
$file = "$partial_file $scalar";
} else{
$file = $scalar;
}
if ($state eq "I") {
$path = "$envcvsroot/$file";
$apath = "$envcvsroot/Attic/$file";
} else {
$path = "$envcvsroot/$repository/$file";
$apath = "$envcvsroot/$repository/Attic/$file";
}
if ($flag_debug) {
print STDERR "changed file: $file\n";
print STDERR "path: $path\n";
}
if (-r "$path,v" || -r "$apath,v") {
push(@fixed_files, $file);
$FILE_EXISTS = 1;
$FILE_CHECKED = 1;
if ($flag_debug){
print STDERR "file exists\n";
}
} else {
$partial_file = $file;
$FILE_EXISTS = 0;
$FILE_CHECKED = 1;
if ($flag_debug) {
print STDERR "file does not exist\n";
}
}
}
if ($flag_debug) {
print STDERR "\@fixed_files: @fixed_files\n";
print STDERR "-------------------------------------------\n\n";
}
return \@fixed_files;
}
sub process_cvs_info {
local($d,$fn,$rev,$mod_time,$sticky,$tag,$stat,@d,$rcsfile);
if (!open(ENT, "<CVS/Entries.Log")) {
open(ENT, "<CVS/Entries");
}
$time = time;
while (<ENT>) {
chop;
($d,$fn,$rev,$mod_time,$sticky,$tag) = split(/\//);
$stat = 'C';
for $i (@changed_files, "BEATME.NOW", @added_files) {
if ($i eq "BEATME.NOW") { $stat = 'A'; }
if ($i eq $fn) {
$rcsfile = "$envcvsroot/$repository/$fn,v";
if (! -r $rcsfile) {
$rcsfile = "$envcvsroot/$repository/Attic/$fn,v";
}
$rlogcmd = "$rlogcommand -N -r$rev " . shell_escape($rcsfile);
open(LOG, "$rlogcmd |")
|| print STDERR "dolog.pl: Couldn't run rlog\n";
while (<LOG>) {
if (/^date:.* author: ([^;]*);.*/) {
$username = $1;
if (/lines: \+([0-9]*) -([0-9]*)/) {
$lines_added = $1;
$lines_removed = $2;
}
}
}
close(LOG);
push(@outlist,
("$stat|$time|$username|$cvsroot|$repository|$fn|$rev|$sticky|$tag|$lines_added|$lines_removed\n"));
}
}
}
close(ENT);
for $i (@removed_files) {
push(@outlist,
("R|$time|$username|$cvsroot|$repository|$i|||$repository_tag\n"));
}
my $headrev;
my $found_desc;
# Process new imported files
foreach $fn (@import_new_files) {
my ($file, $dir, $suffix) = &fileparse($fn, ",v");
$dir =~ s@/$@@;
$found_desc = 0;
$headrev = 0;
$lines_added = 0;
$lines_removed = 0;
$rcsfile = "$envcvsroot/$dir/${file},v";
if (! -r $rcsfile) {
$rcsfile = "$envcvsroot/$dir/Attic/${file},v";
}
$rlogcmd = "$rlogcommand -N " . &shell_escape($rcsfile);
open(LOG, "$rlogcmd |") ||
print STDERR "dolog.pl: Couldn't run import rlog\n";
while (<LOG>) {
$found_desc++, next if (m/^description:$/);
$headrev = $1 if (!$found_desc && m/^head: (\d+[\.\d+]+)$/);
$rev = $1 if (m/^revision (\d+[\.\d+]+)$/);
if (m/^date:.* author: ([^;]*);.*/) {
$username = $1;
if (m/lines: \+([0-9]*) -([0-9]*)/) {
$lines_added = $1;
$lines_removed = $2;
}
# Add the head revision entry
if ($headrev eq $rev) {
push(@outlist,
("A|$time|$username|$cvsroot|$dir|$file|$headrev|" .
"||$lines_added|$lines_removed\n"));
last;
}
}
}
close(LOG);
}
# Process changed imported files
my $search_tag = $import_tags[0];
my ($search_rev, $found_rev, $found_srev);
foreach $fn (@import_changed_files) {
my ($file, $dir, $suffix) = &fileparse($fn, ",v");
$dir =~ s@/$@@;
$found_desc = 0;
$found_rev = 0;
$found_srev = 0;
$search_rev = '';
$lines_added = 0;
$lines_removed = 0;
last if (!defined($search_tag));
$rcsfile = "$envcvsroot/$dir/${file},v";
if (! -r $rcsfile) {
$rcsfile = "$envcvsroot/$dir/Attic/${file},v";
}
$rlogcmd = "$rlogcommand " . &shell_escape($rcsfile);
open(LOG, "$rlogcmd |") ||
print STDERR "dolog.pl: Couldn't run import rlog\n";
while (<LOG>) {
$found_desc++, next if (m/^description:$/);
if (!$found_desc && m/^\s*$search_tag: (\d+[\.\d+]+)$/) {
$search_rev = $1;
$found_srev++;
next;
}
if (!$found_desc && $found_srev && m/^\s*[\w-]+: $search_rev$/) {
# Revision already exists so no actual changes
# were made during this import, so do nothing
last;
}
$found_rev++, next if ($found_srev && m/^revision $search_rev$/);
if ($found_rev && m/^date:.* author: ([^;]*);.*/) {
$username = $1;
if (m/lines: \+([0-9]*) -([0-9]*)/) {
$lines_added = $1;
$lines_removed = $2;
}
push(@outlist,
("C|$time|$username|$cvsroot|$dir|$file|$search_rev|" .
"$search_tag||$lines_added|$lines_removed\n"));
last;
}
}
close(LOG);
}
# make sure dolog has something to parse when it sends its load off
if (!scalar(@log_lines)) {
push @log_lines, "EMPTY LOG MESSAGE";
}
push(@outlist, "LOGCOMMENT\n");
push(@outlist, join("\n",@log_lines));
push(@outlist, "\n:ENDLOGCOMMENT\n");
}
sub process_tag_command {
local($str,$part,$time);
$time = time;
$str = "Tag|$cvsroot|$time";
while (@ARGV) {
$part = shift @ARGV;
$str .= "|" . $part;
}
push(@outlist, ("$str\n"));
}
sub do_commitinfo {
}
sub mail_notification {
chop(my $hostname = `hostname --fqdn`);
my $mailer;
if ($use_sendmail) {
$mailer = Mail::Mailer->new("sendmail");
} else {
$mailer = Mail::Mailer->new("smtp", Server => $mailhost);
}
die("Failed to send mail notification\n") if !defined($mailer);
my %headers;
$headers{'From'} = "bonsai-daemon\@$hostname";
$headers{'To'} = \@mailto;
if ($flag_tagcmd) {
$headers{'Subject'} = "cvs tag in $repository";
} else {
$headers{'Subject'} = "cvs commit to $repository";
}
$mailer->open(\%headers);
print $mailer @outlist;
$mailer->close;
}
sub stdout_notification {
chop(my $hostname = `hostname`);
print "MAIL FROM: bonsai-daemon\@$hostname\n";
print "RCPT TO: root\@localhost\n";
print "DATA\n";
if ($flag_tagcmd) {
print "Subject: cvs tag in $repository\n";
} else {
print "Subject: cvs commit to $repository\n";
}
print "\n";
print @outlist, "\n";
print ".\n";
}
# Quotify a string, suitable for invoking a shell process
sub shell_escape {
my ($file) = @_;
$file =~ s/([ \"\'\?\$\&\|\!<>\(\)\[\]\;\:])/\\$1/g;
return $file;
}

View File

@@ -1,21 +0,0 @@
# The "editinfo" file is used to allow verification of logging
# information. It works best when a template (as specified in the
# rcsinfo file) is provided for the logging procedure. Given a
# template with locations for, a bug-id number, a list of people who
# reviewed the code before it can be checked in, and an external
# process to catalog the differences that were code reviewed, the
# following test can be applied to the code:
#
# Making sure that the entered bug-id number is correct.
# Validating that the code that was reviewed is indeed the code being
# checked in (using the bug-id number or a seperate review
# number to identify this particular code set.).
#
# If any of the above test failed, then the commit would be aborted.
#
# Actions such as mailing a copy of the report to each reviewer are
# better handled by an entry in the loginfo file.
#
# One thing that should be noted is the the ALL keyword is not
# supported. There can be only one entry that matches a given
# repository.

View File

@@ -1,40 +0,0 @@
# The "loginfo" file controls where "cvs commit" log information
# is sent. The first entry on a line is a regular expression which must match
# the directory that the change is being made to, relative to the
# $CVSROOT. If a match is found, then the remainder of the line is a filter
# program that should expect log information on its standard input.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name ALL appears as a regular expression it is always used
# in addition to the first matching regex or DEFAULT.
#
# You may specify a format string as part of the
# filter. The string is composed of a `%' followed
# by a single format character, or followed by a set of format
# characters surrounded by `{' and `}' as separators. The format
# characters are:
#
# s = file name
# V = old version number (pre-checkin)
# v = new version number (post-checkin)
#
ALL $CVSROOT/CVSROOT/dolog.pl -h 127.0.0.1 -r /cvsroot bonsai-checkin-daemon@bonsai.mozilla.org
# send mail for new files added
ALL $CVSROOT/CVSROOT/cvsmailfilter.pl -a -u http://bonsai.mozilla.org -r /cvsroot -s %s cvs-adds@mozilla.org
# crypto checkins deserve more attention
mozilla/security $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tech-crypto-checkins@lists.mozilla.org
mozilla/extensions/psm-glue $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tech-crypto-checkins@lists.mozilla.org
mozilla/netwerk/security $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tech-crypto-checkins@lists.mozilla.org
mozilla/netwerk/protocol/http/src $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tech-crypto-checkins@lists.mozilla.org
mozilla/netwerk/socket/ssl $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tech-crypto-checkins@lists.mozilla.org
mozilla/netwerk/socket/tests $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tech-crypto-checkins@lists.mozilla.org
mozilla/dbm $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tech-crypto-checkins@lists.mozilla.org
# misc modules
mozilla/webtools/bugzilla $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s cvs-checkins@bugzilla.org
mozilla/testing/performance/talos $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tree-management@lists.mozilla.org
CVSROOT $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s -f modules sysalerts@mozilla.org

View File

@@ -1,866 +0,0 @@
# Three different line formats are valid:
# key -a aliases...
# key [options] directory
# key [options] directory files...
#
# Where "options" are composed of:
# -i prog Run "prog" on "cvs commit" from top-level of module.
# -o prog Run "prog" on "cvs checkout" of module.
# -e prog Run "prog" on "cvs export" of module.
# -t prog Run "prog" on "cvs rtag" of module.
# -u prog Run "prog" on "cvs update" of module.
# -d dir Place module in directory "dir" instead of module name.
# -l Top-level directory only -- do not recurse.
#
# NOTE: If you change any of the "Run" options above, you'll have to
# release and re-checkout any working directories of these modules.
#
# And "directory" is a path to a directory relative to $CVSROOT.
#
# The "-a" option specifies an alias. An alias is interpreted as if
# everything on the right of the "-a" had been typed on the command line.
#
# You can encode a module within a module by using the special '&'
# character to interpose another module into the current module. This
# can be useful for creating a module that consists of many directories
# spread out over the entire source repository.
######################################################################
#
# Module that contains the LEGAL and the LICENSE file. This should be
# a part of every logical source pull for a component. Care should
# be given so that this module is not specified twice for a given
# source pull.
#
MozillaLicense -a \
mozilla/LEGAL \
mozilla/LICENSE
Grendel -a \
MozillaLicense \
mozilla/grendel
######################################################################
#
# Modules for the MozillaClassic Browser, based on the original
# layout engine. If you wish to develop on the Mozilla Classic
# codebase, pull using these modules and using the branch tag
# MozillaSourceClassic_19981026_BRANCH.
# These modules should be considered obsolete.
#
MozillaSource -a \
MozillaSourceWin \
MozillaSourceMac \
MozillaSourceUnix
MozillaSourceWin -a \
MozillaSourceCommon \
MozillaSourceWinOnly
MozillaSourceMac -a \
MozillaSourceCommon \
MozillaSourceMacOnly
MozillaSourceUnix -a \
MozillaSourceCommon \
MozillaSourceUnixOnly \
mozilla/cmd/xfe \
mozilla/cmd/gnomefe \
mozilla/cmd/qtfe \
mozilla/cmd/ybfe
MozillaSourceMotif -a \
MozillaSourceCommon \
mozilla/cmd/xfe \
MozillaSourceUnixOnly
MozillaSourceQtfe -a \
MozillaSourceCommon \
mozilla/cmd/qtfe \
MozillaSourceUnixOnly
MozillaSourceGnomefe -a \
MozillaSourceCommon \
mozilla/cmd/gnomefe \
MozillaSourceUnixOnly
MozillaSourceYbfe -a \
MozillaSourceCommon \
mozilla/cmd/ybfe \
MozillaSourceUnixOnly
MozillaSourceCommon -a \
mozilla/LEGAL \
mozilla/LICENSE \
mozilla/base \
mozilla/build \
!mozilla/build/mac/client.mac \
mozilla/include \
mozilla/caps \
mozilla/jpeg \
mozilla/js \
mozilla/lib/htmldlgs \
mozilla/lib/layout \
mozilla/lib/libcnv \
mozilla/lib/libdom \
mozilla/lib/libi18n \
mozilla/lib/liblayer \
mozilla/lib/libmisc \
mozilla/lib/libmime \
mozilla/lib/libmocha \
mozilla/lib/libnet \
mozilla/lib/libparse \
mozilla/lib/libpics \
mozilla/lib/libpwcac \
mozilla/lib/libstyle \
mozilla/lib/mailto \
mozilla/lib/plugin \
mozilla/lib/xlate \
mozilla/lib/xp \
mozilla/modules/calendar \
mozilla/modules/edtplug/classes \
mozilla/modules/edtplug/src \
mozilla/modules/edtplug/include \
mozilla/modules/libfont/classes \
mozilla/modules/libfont/public \
mozilla/modules/libfont/src \
mozilla/modules/libhook \
mozilla/modules/libimg \
mozilla/modules/libnls \
mozilla/modules/libpref \
mozilla/modules/libreg \
mozilla/modules/libutil \
mozilla/modules/oji \
mozilla/modules/plugin \
mozilla/modules/progress/src \
mozilla/modules/rdf \
mozilla/modules/schedulr \
mozilla/modules/security/freenav \
mozilla/modules/softupdt/classes \
mozilla/modules/softupdt/include \
mozilla/modules/softupdt/src \
mozilla/modules/xml \
mozilla/modules/zlib/src \
mozilla/nav-java/stubs \
mozilla/network \
mozilla/nsprpub \
mozilla/privacy \
mozilla/xpcom \
mozilla/l10n \
mozilla/dbm \
mozilla/README
MozillaSourceWinOnly -a \
mozilla/client.mak \
mozilla/cmd/makefile.win \
mozilla/cmd/wincom \
mozilla/cmd/winfe \
mozilla/config \
mozilla/lib/makefile.win \
mozilla/modules/coreincl \
mozilla/modules/edtplug/makefile.win \
mozilla/makefile.win \
mozilla/modules/libfont/jmcgen \
mozilla/modules/libfont/makefile.win \
mozilla/modules/libfont/producers/makefile.win \
mozilla/modules/libfont/producers/win \
mozilla/modules/libfont/producers/win/classes \
mozilla/modules/libfont/producers/win/classes/netscape \
mozilla/modules/libfont/producers/win/src \
mozilla/modules/makefile.win \
mozilla/modules/progress/makefile.win \
mozilla/modules/progress/public \
mozilla/modules/security/makefile.win \
mozilla/modules/softupdt/makefile.win \
mozilla/modules/zlib/makefile.win \
mozilla/nav-java/makefile.win \
JavaStubWin
MozillaSourceUnixOnly -a \
mozilla/.cvsignore \
mozilla/Makefile \
mozilla/Makefile.in \
mozilla/configure \
mozilla/configure.in \
mozilla/allmakefiles.sh \
mozilla/cmd/Makefile \
mozilla/cmd/Makefile.in \
mozilla/cmd/stubfe \
mozilla/cmd/unixfe \
mozilla/config/.cvsignore \
mozilla/config/AIX.mk \
mozilla/config/BSD_OS.mk \
mozilla/config/DGUX.mk \
mozilla/config/FreeBSD.mk \
mozilla/config/HP-UX.mk \
mozilla/config/IRIX.mk \
mozilla/config/Linux.mk \
mozilla/config/NCR.mk \
mozilla/config/NEC.mk \
mozilla/config/NEWS-OS.mk \
mozilla/config/NEXTSTEP.mk \
mozilla/config/NetBSD.mk \
mozilla/config/OSF1.mk \
mozilla/config/OpenBSD.mk \
mozilla/config/QNX.mk \
mozilla/config/Rhapsody.mk \
mozilla/config/SCOOS.mk \
mozilla/config/SINIX.mk \
mozilla/config/SunOS.mk \
mozilla/config/SunOS4.mk \
mozilla/config/SunOS5.mk \
mozilla/config/UNIXWARE.mk \
mozilla/config/common.mk \
mozilla/config/config.mk \
mozilla/config/coreconf.mk \
mozilla/config/rules.mk \
mozilla/config/Makefile \
mozilla/config/Makefile.in \
mozilla/config/autoconf.mk.in \
mozilla/config/bdate.c \
mozilla/config/bdate.pl \
mozilla/config/aboutime.pl \
mozilla/config/bsdecho.c \
mozilla/config/clobber_miss.pl \
mozilla/config/config.guess \
mozilla/config/cvsco.pl \
mozilla/config/fastcwd.pl \
mozilla/config/gtscc.c \
mozilla/config/makecopy.c \
mozilla/config/mangle.c \
mozilla/config/mantomak.c \
mozilla/config/mkdepend \
mozilla/config/mkdetect \
mozilla/config/nfspwd.pl \
mozilla/config/nodl.pl \
mozilla/config/nsinstall.c \
mozilla/config/outofdate.pl \
mozilla/config/pathsub.c \
mozilla/config/pathsub.h \
mozilla/config/pkg2dpth.pl \
mozilla/config/ports \
mozilla/config/revdepth.pl \
mozilla/config/set-timebomb.pl \
mozilla/config/sj.pl \
mozilla/lib/Makefile \
mozilla/lib/Makefile.in \
mozilla/modules/edtplug/Makefile \
mozilla/modules/edtplug/Makefile.in \
mozilla/modules/libfont/jmcgen \
mozilla/modules/libfont/Makefile \
mozilla/modules/libfont/Makefile.in \
mozilla/modules/libfont/producers/Makefile \
mozilla/modules/libfont/producers/Makefile.in \
mozilla/modules/Makefile \
mozilla/modules/Makefile.in \
mozilla/modules/progress/Makefile \
mozilla/modules/progress/Makefile.in \
mozilla/modules/progress/public \
mozilla/modules/security/Makefile \
mozilla/modules/security/Makefile.in \
mozilla/modules/softupdt/Makefile \
mozilla/modules/softupdt/Makefile.in \
mozilla/modules/zlib/Makefile \
mozilla/modules/zlib/Makefile.in \
mozilla/nav-java/Makefile \
mozilla/nav-java/Makefile.in \
mozilla/lib/mariner \
JavaStubUnix
MozillaSourceMacOnly -a \
mozilla/config/mac \
mozilla/config/bdate.pl \
mozilla/config/aboutime.pl \
mozilla/config/mac-set-timebomb.pl \
mozilla/cmd/macfe \
mozilla/lib/mac/AutoAdmin \
mozilla/lib/mac/Includes \
mozilla/lib/mac/MacMemoryAllocator \
mozilla/lib/mac/Misc \
mozilla/lib/mac/MoreFiles \
mozilla/lib/mac/NSRuntime \
mozilla/lib/mac/NSStdLib \
mozilla/lib/mac/patches \
mozilla/lib/mac/PowerPlant \
mozilla/lib/mac/UserInterface \
mozilla/modules/coreincl \
mozilla/modules/edtplug/macbuild \
mozilla/modules/libfont \
mozilla/modules/progress/macbuild \
mozilla/modules/progress/public \
mozilla/modules/softupdt/macbuild \
mozilla/modules/zlib/macbuild \
mozilla/lib/mariner \
JavaStubMac
JavaStubAll -a \
JavaStubWin \
JavaStubMac \
JavaStubUnix
JavaStubCore -a \
mozilla/sun-java/stubs/include \
mozilla/sun-java/stubs/src
JavaStubMac -a \
JavaStubCore \
mozilla/sun-java/stubs/macbuild \
mozilla/sun-java/stubs/macjri
JavaStubUnix -a \
JavaStubCore \
mozilla/sun-java/Makefile \
mozilla/sun-java/Makefile.in \
mozilla/sun-java/stubs/jri \
mozilla/sun-java/stubs/Makefile \
mozilla/sun-java/stubs/Makefile.in
JavaStubWin -a \
JavaStubCore \
mozilla/sun-java/makefile.win \
mozilla/sun-java/stubs/jri \
mozilla/sun-java/stubs/makefile.win
######################################################################
#
# Modules for the raptor layout effort. Note that raptor dist is temporary
# until raptor is integrated into the mainline build.
#
RaptorDoc -a \
mozilla/LICENSE \
mozilla/LEGAL \
mozilla/README/nglayout
RaptorDist -a \
mozilla/configure.in \
mozilla/allmakefiles.sh \
mozilla/Makefile.in \
mozilla/makefile.win \
mozilla/build \
!mozilla/build/mac/client.mac \
mozilla/caps \
mozilla/config \
mozilla/dbm \
mozilla/editor \
mozilla/include \
mozilla/intl \
mozilla/jpeg \
JSClient \
mozilla/lib/liblayer \
mozilla/lib/libpwcac \
mozilla/lib/xp \
mozilla/modules/libimg \
mozilla/modules/libjar \
mozilla/modules/libpref \
mozilla/modules/libreg \
mozilla/modules/libutil \
mozilla/modules/oji \
mozilla/modules/plugin \
mozilla/modules/security/freenav \
mozilla/modules/zlib \
mozilla/nav-java \
mozilla/network \
mozilla/nsprpub \
mozilla/rdf \
mozilla/silentdl \
mozilla/sun-java \
mozilla/xpcom
RaptorLayout -a \
mozilla/base \
mozilla/dom \
mozilla/gfx \
mozilla/expat \
mozilla/htmlparser \
mozilla/layout \
mozilla/view \
mozilla/webshell \
mozilla/widget
Raptor -a \
RaptorDoc \
RaptorDist \
RaptorLayout
RaptorWin -a \
Raptor
RaptorUnix -a \
Raptor \
mozilla/aclocal.m4 \
mozilla/nglayout.mk
RaptorMac -a \
Raptor \
mozilla/build/mac \
mozilla/cmd/macfe/applevnt \
mozilla/cmd/macfe/central \
mozilla/cmd/macfe/gui \
mozilla/cmd/macfe/include \
mozilla/cmd/macfe/pch \
mozilla/cmd/macfe/projects \
mozilla/cmd/macfe/utility \
mozilla/lib/mac/MacMemoryAllocator \
mozilla/lib/mac/Misc \
mozilla/lib/mac/MoreFiles \
mozilla/lib/mac/NSRuntime \
mozilla/lib/mac/NSStdLib \
mozilla/lib/mac/PowerPlant
#####################
# An all inclusive modules for tinderbox to use
#####################
RaptorAll -a \
RaptorWin \
RaptorUnix \
RaptorMac
#####################
# Transformiix module (xslt processor)
#####################
TransformiixStandalone -a \
mozilla/config \
mozilla/expat \
mozilla/extensions/transformiix
#######################################################################
# Modules for the Directory SDK. There are two users of the libldap
# Mozilla and the DirectorySDK. Maintained by Chuck Boatwright
# cboatwri@netscape.com
#
DirectorySDKSource -a \
DirectorySDKSourceCommon \
DirectorySDKSourceBuild
DirectorySDKSourceC -a \
mozilla/directory/ldapsdk.mak \
mozilla/directory/ldapsdk.mk \
mozilla/directory/buildsdk.txt \
mozilla/directory/Makefile \
mozilla/directory/c-sdk
DirectorySDKSourceJava -a \
mozilla/directory/buildjsdk.txt \
mozilla/directory/java-sdk
DirectorySDKSourceCommon -a \
DirectorySDKSourceC \
DirectorySDKSourceJava
DirectorySDKSourceBuild -a \
mozilla/config \
mozilla/nsprpub
PerLDAP -a \
mozilla/directory/perldap
#######################################################################
# Modules for the Messenging Server SDK. Code maintained by Prasad Yendluri
# (prasad@netscape.com)
#
MessagingSDK -a \
mozilla/msgsdk
#######################################################################
# Modules for Calendar client.
# (spider@netscape.com)
#
CalendarClient -a \
mozilla/calendar \
mozilla/modules/calendar \
mozilla/htmlparser \
mozilla/gconfig \
mozilla/gfx \
mozilla/widget \
mozilla/xpfc \
mozilla/view
#######################################################################
# Modules for the JavaScript
# (fur@netscape.com)
#
JSRef -a \
mozilla/js/src
#
# Can't pull all of js/src, because the server-style config filenames
# are illegal on some operating systems.
#
JSClient -a \
mozilla/js/Makefile.in \
mozilla/js/makefile.win \
mozilla/js/macbuild \
mozilla/js/src \
mozilla/js/.cvsignore \
!mozilla/js/src/config \
!mozilla/js/src/editline \
!mozilla/js/src/liveconnect/config \
!mozilla/js/src/mininspr \
!mozilla/js/src/os \
!mozilla/js/src/perlconnect \
!mozilla/js/src/sh \
!mozilla/js/src/xpcom
#######################################################################
# Modules for SeaMonkey
# (5.0 Browser and 5.0 Mail/News based on nglayout)
#
# Initial wild ass guess: cyeh@netscape.com
# Second guess: mcafee@netscape.com
#
# We might want to do the platform-specific stuff like:
# SeaMonkeyCoreFoo = SeaMonkeyCore + <stuff for platform Foo>
# and so on, for each module.
#
NSPR -a \
mozilla/nsprpub
SeaMonkeyCore -a \
mozilla/.cvsignore \
mozilla/README \
mozilla/README.txt \
mozilla/client.mk \
mozilla/client.mak \
mozilla/configure \
mozilla/configure.in \
mozilla/allmakefiles.sh \
mozilla/Makefile.in \
mozilla/makefile.win \
mozilla/aclocal.m4 \
mozilla/build \
!mozilla/build/mac/client.mac \
mozilla/caps \
mozilla/config \
mozilla/dbm \
mozilla/db/.cvsignore \
mozilla/db/Makefile.in \
mozilla/db/makefile.win \
mozilla/db/mork \
mozilla/db/mdb \
mozilla/docshell \
mozilla/embedding \
mozilla/gc/boehm \
mozilla/include \
mozilla/intl \
mozilla/jpeg \
mozilla/js/jsd \
!mozilla/js/jsd/jsdb \
!mozilla/js/jsd/classes \
!mozilla/js/jsd/corba \
!mozilla/js/jsd/java \
!mozilla/js/jsd/javawrap \
JSClient \
mozilla/lib/mac/MacMemoryAllocator \
mozilla/lib/mac/Misc \
mozilla/lib/mac/MoreFiles \
mozilla/lib/mac/NSRuntime \
mozilla/lib/mac/NSStdLib \
mozilla/lib/mac/NSStartup \
mozilla/lib/mac/PowerPlant \
mozilla/lib/mac/InterfaceLib \
mozilla/lib/mac/embedding \
mozilla/modules/appfilelocprovider \
mozilla/modules/libimg \
mozilla/modules/libjar \
mozilla/modules/libpref \
mozilla/modules/libreg \
mozilla/modules/libutil \
mozilla/modules/mpfilelocprovider \
mozilla/modules/oji \
mozilla/modules/plugin \
mozilla/modules/security/freenav \
mozilla/modules/staticmod \
mozilla/modules/zlib \
mozilla/nav-java \
mozilla/network \
mozilla/netwerk \
mozilla/nglayout.mk \
mozilla/plugin/oji \
mozilla/profile \
mozilla/rdf \
mozilla/string \
mozilla/sun-java \
mozilla/tools/leaky \
mozilla/tools/preloader \
mozilla/tools/elf-dynstr-gc \
mozilla/uriloader \
mozilla/xpcom \
mozilla/xpinstall \
MozillaLicense
SeaMonkeyLayout -a \
SeaMonkeyCore \
mozilla/content \
mozilla/dom \
mozilla/gfx \
mozilla/htmlparser \
mozilla/parser \
mozilla/layout \
mozilla/view \
mozilla/webshell \
mozilla/widget \
mozilla/expat
SeaMonkeyXPToolKit -a \
SeaMonkeyLayout \
mozilla/themes \
mozilla/xpfe
SeaMonkeyBrowser -a \
mozilla/directory/xpcom \
mozilla/editor/Makefile.in \
mozilla/editor/public \
mozilla/extensions \
SeaMonkeyXPToolKit
# This needs work!
SeaMonkeyMailNews -a \
SeaMonkeyLayout \
mozilla/mailnews \
!mozilla/mailnews/db/mdb \
!mozilla/mailnews/db/mork \
SeaMonkeyEditor -a \
SeaMonkeyBrowser \
mozilla/editor \
mozilla/mailnews
SeaMonkeyL10n -a \
mozilla/l10n/makefile.win \
mozilla/l10n/makefiles.all \
mozilla/l10n/Makefile.in \
mozilla/l10n/langpacks/makefile.win \
mozilla/l10n/langpacks/Makefile.in \
mozilla/l10n/langpacks/en-DE \
mozilla/l10n/langpacks/en-GB
#############################################################
# This module is the whole banana, and this
# is the module that tinderbox and bonsai should
# track.
#
# Right now Editor pulls Browser which pulls XPToolKit
# which pulls Layout which pulls Core. But eventually,
# there will be more differentiation and uniqueness so
# All will need to contain more than Editor. Perhaps it
# will contain SeaMonkeyUnix, SeaMonkeyMac, SeaMonkeyWin
# et cetera, et cetera, et cetera. But that is in the
# future. --sarah
#
SeaMonkeyAll -a \
SeaMonkeyEditor \
SeaMonkeyL10n
Blackwood -a \
mozilla/java
SeaMonkeyBlackwood -a \
SeaMonkeyAll \
Blackwood
#############################################################
#
# Alexander Larsson's GTK+ widget for embedding mozilla into
# gtk applications.
#
#############################################################
GtkMozilla -a \
mozilla/webshell/embed/gtk
############################################################
#
# Module for Chimera, the embedded MacOSX browser.
# Because this project is mixing a branched SeaMonkeyAll
# with a trunk mozilla/chimera, we need a small module here
# for tinderbox to track mozilla/chimera. This module
# should be temporary until mozilla/chimera joins another
# major module. -mcafee
#
# 3/3/03: Chimera -> Camino name change. Temporarily adding
# new camino directory to Chimera, also adding new Camino
# module. -mcafee
#############################################################
Chimera -a \
mozilla/chimera \
mozilla/camino \
SeaMonkeyAll
Camino -a \
mozilla/camino \
SeaMonkeyAll
#############################################################
#
# Modules For Webtools
#
#############################################################
Bugzilla -a \
mozilla/webtools/bugzilla
Bonsai -a \
mozilla/webtools/bonsai
LXR -a \
mozilla/webtools/lxr
Tinderbox -a \
mozilla/webtools/tinderbox
Testopia -a \
mozilla/webtools/testopia
Webtools -a \
Bugzilla \
Bonsai \
LXR \
Tinderbox
#############################################################
#
# Module for the java webclient (edburns)
#
#############################################################
Webclient -a \
mozilla/java/Makefile.in \
mozilla/java/build.xml \
mozilla/java/README \
mozilla/java/config \
mozilla/java/dom/README \
mozilla/java/dom/build.xml \
mozilla/java/dom/classes \
mozilla/java/dom/jni \
mozilla/java/dom/src \
mozilla/java/external \
mozilla/java/makefiles \
mozilla/java/util \
mozilla/java/webclient \
mozilla/java/webclient/README \
mozilla/java/webclient/build-tests.xml \
mozilla/java/webclient/build.xml \
mozilla/java/webclient/classes_spec \
mozilla/java/webclient/config \
mozilla/java/webclient/src_ie \
mozilla/java/webclient/src_moz \
mozilla/java/webclient/src_share \
mozilla/java/webclient/test/automated \
mozilla/java/webclient/test/manual \
mozilla/java/dist
#############################################################
#
# Modules for Network Security Services
# Java Security Services
#
#############################################################
NSS -a \
mozilla/dbm \
mozilla/security/dbm \
mozilla/security/nss \
mozilla/security/coreconf
JSS -a \
mozilla/security/jss
SecurityServices -a \
mozilla/security/tinderbox \
NSPR \
NSS \
JSS
#############################################################
#
# Module for Mozilla Tinderbox
#
#############################################################
CoreTinderboxAll -a \
SeaMonkeyAll \
mozilla/security/psm \
mozilla/accessible \
mozilla/ipc/ipcd \
mozilla/security/manager \
mozilla/tools/trace-malloc \
mozilla/modules/lcms \
mozilla/modules/libpr0n \
mozilla/modules/libmar \
mozilla/modules/libbz2 \
mozilla/toolkit \
mozilla/storage \
mozilla/db/morkreader \
mozilla/db/sqlite3 \
mozilla/memory/jemalloc \
TestHarness
# should this be called SuiteTinderboxAll ?
MozillaTinderboxAll -a \
CoreTinderboxAll \
mozilla/suite \
mozilla/xulrunner
# mozilla uses mozilla/security/manager from
# the tip, not the nss branch
#
# commenting out NSS because the client uses a static tag so watching
# checkins as they happen is of no use to us
# NSS \
# commenting out NSPR because tinderbox is broken in such a way that
# checkins to the branch (which we care about) do not show up but
# checkins do the tip (which we don't care about) do. Getting rid of
# this so its not 100% false positives.
# NSPR \
# same with ldap
# mozilla/directory/c-sdk
# This module will let us track branches where all the subcomponents
# are on the same tag
CoreBranchTinderboxAll -a \
CoreTinderboxAll \
NSS \
NSPR \
mozilla/directory/c-sdk
# should this be called SuiteBranchTinderboxAll ?
MozillaBranchTinderboxAll -a \
CoreBranchTinderboxAll \
mozilla/suite
AviaryBranchTinderbox -a \
CoreBranchTinderboxAll \
mozilla/browser \
mozilla/chrome \
mozilla/mail
# thunderbird's tinderbox module
ThunderbirdTinderbox -a \
CoreTinderboxAll \
mozilla/mail \
mozilla/chrome
# this is for the phoenix tinderbox
PhoenixTinderbox -a \
CoreTinderboxAll \
mozilla/browser \
mozilla/chrome \
!mozilla/extensions/irc
# For special trees like Mozilla 1.8 --chase
AviarySuiteBranchTinderbox -a \
CoreBranchTinderboxAll \
mozilla/browser \
mozilla/chrome \
mozilla/mail \
mozilla/suite
# Test Harness code
TestHarness -a \
mozilla/tools/test-harness/xpcshell-simple \
mozilla/testing/crashtest \
mozilla/testing/mochitest

View File

@@ -1,14 +0,0 @@
# The "notify" file controls where notifications from watches set by
# "cvs watch add" or "cvs edit" are sent. The first entry on a line is
# a regular expression which is tested against the directory that the
# change is being made to, relative to the $CVSROOT. If it matches,
# then the remainder of the line is a filter program that should contain
# one occurrence of %s for the user to notify, and information on its
# standard input.
#
# "ALL" or "DEFAULT" can be used in place of the regular expression.
#
# For example:
#ALL mail %s -s "CVS notification"
ALL $CVSROOT/CVSROOT/sendnotification.pl %s

View File

@@ -1,338 +0,0 @@
# DO NOT EDIT THIS FILE! You must instead go to https://despot.mozilla.org/, and
# tweak things from there.
aaronleventhal%moonset.net:S0MUPohMWfaMo:cvsuser
aaronr%us.ibm.com:Fk/Gm8/Pavt5E:cvsuser
ajschult%verizon.net:586bcad8BLjJ.:cvsuser
akkzilla%shallowsky.com:LyPNKDRAkCEfM:cvsuser
alecf%flett.org:xY/EzwiSEg43U:cvsuser
alex%croczilla.com:.qnz.iJA.rUaQ:cvsuser
alexei.volkov.bugs%sun.com:4kk40jCYel.cQ:cvsuser
alfred.peng%sun.com:XeuD7j8pQQlfU:cvsuser
allan%beaufour.dk:HqCPQ9INvQHOk:cvsuser
alqahira%ardisson.org:/Q09uNupx65ko:cvsuser
amardare%qnx.com:.nnbfi3s/6pLw:cvsuser
andreas.otte%debitel.net:kydQ2aAIGwhkA:cvsuser
annie.sullivan%gmail.com:udBz8JbukFZ8I:cvsuser
anodelman%mozilla.com:GbVxnw5oI8qDM:cvsuser
anton.bobrov%sun.com:I/GPt4WI84v2s:cvsuser
antonio.gomes%indt.org.br:5Th4Q/mTAB6fg:cvsuser
aravind%mozilla.com:QBQ7ZP8fvKCk2:cvsuser
asa%mozilla.org:KwQFH5YHrDGVw:cvsuser
asac%jwsdot.com:5Ttz4cO1tOAUI:cvsuser
asasaki%mozilla.com:OvcxjU43UXiZU:cvsuser
asqueella%gmail.com:.UwhPbirT2aic:cvsuser
atremon%elansoftware.com:W3ra7Lu0bCR92:cvsuser
ause%sun.com:J7sS6Z5BS4BsA:cvsuser
axel%pike.org:J0ntXH8PN.yTA:cvsuser
bbaetz%acm.org:JhmLaLDTsT/h2:cvsuser
bclary%bclary.com:TYy8zRTOlkZWU:cvsuser
bear%mozilla.com:QPUD827Visics:cvsuser
beckley%qualcomm.com:oqzqNk6Hm.K52:cvsuser
benc%meer.net:.mc9O4VQuREws:cvsuser
beng%bengoodger.com:qP3ON3NucalGw:cvsuser
benjamin%smedbergs.us:dvB/veJh3IxkM:cvsuser
bent.mozilla%gmail.com:VTFl7s.ZNXBIc:cvsuser
bhearsum%mozilla.com:bc9sC.7gLvhWA:cvsuser
bienvenu%nventure.com:dzcEj09V1HQLg:cvsuser
biswatosh.chakraborty%sun.com:Cj89QwJpG0/hc:cvsuser
blassey%mozilla.com:gIEKQwXOhM9z2:cvsuser
blizzard%mozilla.com:qNva3X2geFCuY:cvsuser
bmlk%gmx.de:diOpGSeH3syIs:cvsuser
bobbyholley%gmail.com:UEdaVxj7BVsMY:cvsuser
brade%comcast.net:ouetdVzWLzsWs:cvsuser
BradleyJunk%cinci.rr.com:EOOl4wp9MNcU6:cvsuser
brendan%mozilla.org:N7wZcaY7Bs9nw:cvsadm
brettw%gmail.com:Jm1XbKZwUGoHs:cvsuser
browning%uwalumni.com:MgeOzDk/xxhD6:cvsuser
bryner%brianryner.com:gy5stVpStoVNw:cvsuser
bugreport%peshkin.net:PgnY246SzUcHk:cvsuser
bugzilla%babylonsounds.com:/Cu/c717IBD1w:cvsuser
bugzilla%glob.com.au:O.LFwfIctGxh6:cvsuser
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
cbarrett%mozilla.com:TFDyorFt/0ICk:cvsuser
cbiesinger%gmail.com:SmMxtOg6tGNJg:cvsuser
ccooper%deadsquid.com:.a8HcC8mM7pks:cvsuser
Chris.Yeh%nokia.com:98WX9EeAZIt/6:cvsuser
christophe.ravel.bugs%sun.com:m72kIhpCT13sg:cvsuser
cls%seawood.org:YLAr7ajnaXezg:cvsuser
cltbld%netscape.com:mla4CZgCloBSU:cvsuser
cmp%mozilla.org:N6s8fO4X.RRV.:cvsuser
cpeyer%adobe.com:/J3KHO2IWNqBk:cvsuser
crowder%fiverocks.com:nTJiASZEqtksI:cvsuser
cst%yecc.com:FsXA0AnQhG/kg:cvsuser
ctalbert%mozilla.com:9UNADg/pEZyzA:cvsuser
daniel%glazman.org:voZRrCYpgF9AU:cvsuser
danm-moz%comcast.net:3h6FdkzmMqnyA:cvsuser
dansmith%adobe.com:XXuMiHbfmTlRQ:cvsuser
dao%mozilla.com:s.1QwzYPRMD5c:cvsuser
darin%meer.net:BFlqb/kSuCdKo:cvsuser
daumling%adobe.com:PZxEWCXipcjEI:cvsuser
david%bozemanpass.com:CSVK8gML2ph9c:cvsuser
db48x%yahoo.com:WOXgUg7VfNR2s:cvsuser
dbaron%dbaron.org:Ufu45S7XqztOY:cvsuser
dbolter%mozilla.com:Pj95SMWINbfQY:cvsuser
dcamp%mozilla.com:8J1lYA6aDXWgI:cvsuser
dean_tessman%hotmail.com:AM2BZ7M0nDhlM:cvsuser
deb%dria.org:tevrBpdIX/IAw:cvsuser
despotdaemon:gNFxPV183TGDc:cvsadm
dholbert%cs.stanford.edu:DP/HW2hXEZoDg:cvsuser
diegohcg%gmail.com:Vs/1h.ZP6RmZg:cvsuser
dietrich%mozilla.com:V5GbjeqBWgCQc:cvsuser
dlawrence%mozilla.com:Jb37f1UZbg4g2:cvsuser
dmandelin%mozilla.com:omKcEsk6wjg9s:cvsuser
dmose%mozilla.org:sTIo1zYddteQc:cvsadm
dolske%mozilla.com:yYw1gOmZMtaAM:cvsuser
doronr%us.ibm.com:BntrR9DKOvfRw:cvsuser
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:nN8k.deZPkAY6:cvsuser
dveditz%cruzio.com:S1X7iuOVZr0tI:cvsuser
dwitte%mozilla.com:atobJ8YkJm/x.:cvsuser
edburns%acm.org:z7zqfOtPH9oic:cvsuser
edward.lee%engineering.uiuc.edu:JQQPKcRtozeJY:cvsuser
ehsan.akhgari%gmail.com:ZAquXcDKuPuNk:cvsuser
emaijala%kolumbus.fi:HlHx6Z2VwOLeg:cvsuser
emaldona%redhat.com:E.pBgfrTvGowM:cvsuser
enndeakin%gmail.com:gQGH2TE1LSHR.:cvsuser
erhyuan%pacbell.net:b6.iRP5wVeO1s:cvsuser
erik%dasbistro.com:RleOQJ5O4vqSI:cvsuser
erik%vanderpoel.org:UIUlMPWTelYIE:cvsuser
Evan.Yan%Sun.COM:y6fet2ZQuQjxw:cvsuser
fantasai.cvs%inkedblade.net:.wuTh0oK1y23M:cvsuser
firefox%blakeross.com:iecsxCayirMQw:cvsuser
flamingice%sourmilk.net:9xh1/DFw2ODOU:cvsuser
florian%queze.net:fYk7exIMhk3I.:cvsuser
gandalf%firefox.pl:gag9.o44ly07A:cvsuser
gavin%gavinsharp.com:pMMNzxf5m93DM:cvsuser
gavin%picsel.com:3fMXVt7Cqmgo.:cvsuser
gerv%gerv.net:/3awrKKpfLPvQ:cvsuser
ghendricks%novell.com:EHmq1PZa1a00s:cvsuser
gijskruitbosch%gmail.com:9n2/iwbsnMyiw:cvsuser
ginn.chen%sun.com:.yE1Sk2DszKf2:cvsuser
glen.beasley%sun.com:Bg3n.ccr13OvI:cvsuser
gozer%mozillamessaging.com:Qbfiaq/6nsg6s:cvsuser
graydon%mozilla.com:oifQirJbZia3U:cvsuser
guy.pyrzak%gmail.com:aCVt2H8vDraHM:cvsuser
hannes%helma.at:kf..K/fIFAHks:cvsuser
hjtoi%comcast.net:52AbDkgxmkRfY:cvsuser
honzab.moz%firemni.cz:r0fsdafA2Nd2M:cvsuser
hpradhan%hotpop.com:Z9A47ej9QDVYc:cvsuser
hwaara%gmail.com:74eCB7AZi/Bm2:cvsuser
ian%hixie.ch:nibu2mA5/kgco:cvsuser
iann_cvs%blueyonder.co.uk:bVhEvG7dtzxWg:cvsuser
igor%mir2.org:MM9XCaPQ9hSyA:cvsuser
inonit%inonit.com:Om4RcBfTOXpSw:cvsuser
ispiked%gmail.com:fIoVRIBQ9Yf26:cvsuser
jag%tty.nl:JfxrrkZerNZv.:cvsuser
jake%bugzilla.org:mjldF4ES.KxbI:cvsuser
Jan.Varga%gmail.com:itS5ZJXFiEJC2:cvsuser
jasone%canonware.com:Oe69thka5Drg2:cvsuser
jay%mozilla.org:./8ppoCBU7xKE:cvsuser
jdrew%mozilla.com:H94cmzCtc22L6:cvsuser
jeff.hedlund%matrixsi.com:dUxvk4HDbIrkA:cvsuser
jgmyers%speakeasy.net:tj/q7ALULIlLM:cvsuser
jhopkins%mozillamessaging.com:F3Gyejh.h.L3I:cvsuser
jim_nance%yahoo.com:MW2pItooimXQc:cvsuser
jmathies%mozilla.com:JMun7n79fcZrE:cvsuser
jminta%gmail.com:xECVGDTSeqbz2:cvsuser
jodyer%adobe.com:RSXkcpr/Wp4VE:cvsuser
joe%retrovirus.com:qUSVkAd/h8mko:cvsuser
john%johnkeiser.com:UEgKBivGIzptw:cvsuser
johnath%mozilla.com:kyyPyUgFhqYjQ:cvsuser
jonas%sicking.cc:HmAX9bYyCA47k:cvsuser
jorendorff%mozilla.com:E.PR9.l6FO.0I:cvsuser
joshmoz%gmail.com:X9Pi3H9iwCIb2:cvsuser
jouni%heikniemi.net:ykttS9UKWXc9E:cvsuser
jresig%mozilla.com:6cSYi6oRTWDoE:cvsuser
jruderman%hmc.edu:mwr0yF3PJ5H2g:cvsuser
jscott%mozilla.com:PcwAYdu4UOrto:cvsuser
jshin1987%gmail.com:j6/TcPcy/KYgg:cvsuser
jst%mozilla.org:ry1WSdsxrYVhg:cvsuser
julien.pierre.boogz%sun.com:2ebjC0cACURyU:cvsuser
justdave%bugzilla.org:Xi4EgN7Xvi7z6:cvsadm
justin%mozilla.com:44P/1lpTCFMo.:cvsadm
jwalden%mit.edu:DYcaTEuBX5WEA:cvsuser
jwatt%jwatt.org:rQgtjD.FtjqWY:cvsuser
kaie%kuix.de:.hgVIsvtes.Fw:cvsuser
kairo%kairo.at:P3GfvvKlerCks:cvsuser
karl.kornel%mindspeed.com:9Vq/LWyYItegs:cvsuser
karlt+%karlt.net:w1Gi9UP1A0i4Y:cvsuser
katakai%japan.sun.com:qJPfrx26UNm2.:cvsuser
kerz%mozillazine.org:PrxCfYo5gxNi.:cvsuser
kestesisme%yahoo.com:5Ld0f8MhzQggw:cvsuser
kevin.heart%gmail.com:8lliOE5JWdETk:cvsuser
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
lars%trolltech.com:sGvT16I8vdbYY:cvsuser
leaf%mozilla.org:yDi7DUMDdLeDk:cvsuser
leif%ogre.com:NSpnZ.4teg8CA:cvsuser
leon.sha%sun.com:VfiWfb3UX3.Iw:cvsuser
lianliming%gmail.com:q1NmFx6CiR/cE:cvsuser
light%rathedg.com:G9NscomPqxBJg:cvsuser
locka%iol.ie:Odt22ztoqh7Pc:cvsuser
longsonr%gmail.com:n0H6qvTySWbsY:cvsuser
lordpixel%mac.com:pBoWsz5/W/1/o:cvsuser
louie.zhao%sun.com:ajsxRr.217rWY:cvsuser
lpsolit%gmail.com:s2V0JuW2d3qG.:cvsuser
lwagner%mozilla.com:nn8UYSg1EVCR6:cvsuser
marco.zehe%googlemail.com:/.MEQU1hGEtlE:cvsuser
marco%gnome.org:zKqukw72.KsUw:cvsuser
mark.finkle%gmail.com:.CMOa5pzz2ey6:cvsuser
mark%lussumo.com:dNKgwl4OUxxHY:cvsuser
mark%moxienet.com:xXj.wmda2UrCM:cvsuser
mark%plogs.net:9a8m5d2zmZBzA:cvsuser
marria%gmail.com:UXJ8PJcEKNij2:cvsuser
martijn.martijn%gmail.com:dQsvqxjujoE9g:cvsuser
masayuki%d-toybox.com:Px8OA0y98uKTY:cvsuser
mats.palmgren%bredband.net:xBfocrUUc/wis:cvsuser
mattwillis%gmail.com:TiZNJlJ.RHoBs:cvsuser
mattyt%tpg.com.au:c/z7/vNQ/Vv1I:cvsuser
mcafee%mocha.com:Y/0zK7Dff2W8.:cvsuser
mcharleb%qualcomm.com:Uyg8fRoqDJSPE:cvsuser
mconnor%steelgryphon.com:KLpr7Zj8uPkes:cvsuser
mcs%pearlcrescent.com:1K9aYq1ivwd6s:cvsuser
mcsmurf%mcsmurf.de:zYsbEuLO7wm76:cvsuser
mgalli%geckonnection.com:Myf1X1IRZtvK6:cvsuser
mhammond%skippinet.com.au:T1kpFNZuhvQ0I:cvsuser
michael.buettner%sun.com:NkL7l4mYwuirs:cvsuser
mike%meer.net:3rKv1ZMBpeR36:cvsuser
mkanat%bugzilla.org:UsNXKY7u6ozDw:cvsuser
mkaply%us.ibm.com:1Ui2NF/0U00sI:cvsuser
mkmelin+mozilla%iki.fi:6koUOtAKdEXB2:cvsuser
mnyromyr%tprac.de:8JwFnN3UC8w.w:cvsuser
morgamic%mozilla.com:oMf2l.pEwcLAc:cvsuser
mostafah%oeone.com:DaYs.xDcUaa72:cvsuser
mozilla.BenB%bucksch.org:7/oOTh8e41HmY:cvsuser
mozilla.mano%sent.com:rXnDyx.hnVKyk:cvsuser
mozilla%boelzle.org:IhnkPcmU2aaTM:cvsuser
mozilla%colinogilvie.co.uk:JlBNqlkELDhhI:cvsuser
mozilla%justcameron.com:eCz/XDzlP8Cwg:cvsuser
mozilla%kewis.ch:K/pXr12MlfCWc:cvsuser
mozilla%weilbacher.org:eoZapDeWw57LY:cvsuser
mozmail%daveliebreich.com:P3fSEyqi8O9S2yba:cvsuser
mozpreed%sigkill.com:BvqmKaKN1qcNE:cvsadm
mrbkap%gmail.com:UMeeFwmDqd7II:cvsuser
mschroeder%mozilla.x-home.org:iWrL1IFBbV/sw:cvsuser
mstange%themasta.com:xXppy8/VqgZYk:cvsuser
mvl%exedo.nl:kpiBYLuZnAosE:cvsuser
myk%mozilla.org:UPia1WceZof6E:cvsadm
m_kato%ga2.so-net.ne.jp:FoloD5kECUuTo:cvsuser
nboyd%atg.com:hbKSEw6zIzn8A:cvsuser
neil.williams%sun.com:5demyASX0XQLE:cvsuser
neil%parkwaycc.co.uk:dIqJP4XsRGQIw:cvsuser
nelson%bolyard.com:AVyk3HXWf.ujs:cvsuser
nhosoi%redhat.com:Kc7DN3G6DWNVc:cvsuser
nick.kreeger%park.edu:8w9jrG44s9v9o:cvsuser
nkwan%redhat.com:Evx20xUpj8Gk2:cvsuser
nrthomas%gmail.com:39NAPUEFnNHP.:cvsuser
olav%bkor.dhs.org:fuDFH7wT/SfrM:cvsuser
Olli.Pettay%helsinki.fi:JNyNghF5OJ9Xo:cvsuser
oremj%mozilla.com:Vu3lChH7COMLs:cvsadm
pamg.bugs%gmail.com:t.cstj7r1wyFo:cvsuser
paper%animecity.nu:zZz20Ze5U4roc:cvsuser
pavlov%pavlov.net:Wm/3gCaQhXNLo:cvsuser
pcbeard%mac.com:2Eed7KIBNPtL6:cvsuser
pedemont%us.ibm.com:yXrIQ7nPbCytE:cvsuser
pete%mozdevgroup.com:8I2QCUKNKooqA:cvsuser
peterv%propagandism.org:tknmYRfnctNHY:cvsuser
philringnalda%gmail.com:QfBdPW0n3i/vE:cvsuser
Pidgeot18%gmail.com:3AKyGBnLGhuQk:cvsuser
pinkerton%aol.net:SXjRJmDJDtb1U:cvsuser
pkasting%google.com:LyTm7xG6RxIAo:cvsuser
pkw%us.ibm.com:8b/bmWBPVi2ug:cvsuser
prasad%medhas.org:UFVpNiIq80k0w:cvsuser
psychoticwolf%carolina.rr.com:utvOR5.5Us.kU:cvsuser
ptran%mozilla.com:.vSQA1Tg/CD9.:cvsadm
p_ch%verizon.net:9sotrJUSTkw2o:cvsuser
rbs%maths.uq.edu.au:2urVlBcTziPaA:cvsuser
rcampbell%mozilla.com:/T/10DQgIOWm6:cvsuser
redfive%acm.org:bwZbPN1gYEnPo:cvsuser
reed%reedloden.com:hTsN0cuIWUQL2:cvsadm
rflint%ryanflint.com:6jZQWQz6aMM6E:cvsuser
rginda%hacksrus.com:TRTBrAIOV/zck:cvsuser
richard.freedman%sun.com:8SW/naR5ntHSs:cvsuser
richm%stanfordalumni.org:CMqOc556cwVPA:cvsuser
rick.ju%sun.com:O/OoCMTnW5sUE:cvsuser
rj.keller%beonex.com:Kg0SscFg1bZfw:cvsuser
rjesup%wgate.com:5Ccmc2hO67zAk:cvsuser
robarnold%cmu.edu:ID9AnqMmrJIH2:cvsuser
robert%accettura.com:ofCq6Xe9Mdsk6:cvsuser
robert%roberthelmer.com:8wnUosvUV2zI.:cvsuser
robin.lu%sun.com:QX/01AXloHL0A:cvsuser
rob_strong%exchangecode.com:QcQeM1Fhopr1A:cvsuser
roc+%cs.cmu.edu:7yP.3Z8FERo/.:cvsuser
romaxa%gmail.com:ERMq0/01GM3DU:cvsuser
rrelyea%redhat.com:SnAaVLpexLWKw:cvsuser
samuel%sieb.net:UyA4IG.2.LceA:cvsuser
sancus%off.net:Z1FCTZbwRr8xI:cvsuser
sayrer%gmail.com:Bi0wR2pc2rfyE:cvsuser
scc%mozilla.org:rSANuSFML82vc:cvsuser
schrep%mozilla.com:HOyCtawx2RMLg:cvsuser
scootermorris%comcast.net:wQk4tagONTuMg:cvsuser
scott%scott-macgregor.org:/iUxoWYhl45Gw:cvsuser
sdwilsh%shawnwilsher.com:vlJz/BjeP89rw:cvsuser
sebo.moz%googlemail.com:lC8mJxyQ4sjDA:cvsuser
sergei_d%fi.tartu.ee:2pMVH6CMfBao6:cvsuser
sgautherie.bz%free.fr:zRDfcZjqityUw:cvsuser
sharparrow1%yahoo.com:.ksEGiKJj1sdU:cvsuser
shaver%mozilla.org:I4.grysVnENVM:cvsadm
silver%warwickcompsoc.co.uk:jn1zaL3oWEYT6:cvsuser
simford%yahoo.com:fV41vy16txOL6:cvsuser
slavomir.katuscak%sun.com:zzZvFAbWtnVt6:cvsuser
smfr%smfr.org:2mFWUaEqjN7lE:cvsuser
smichaud%pobox.com:LVTaYwQdcsyLA:cvsuser
smontagu%smontagu.org:GR7KUGsPjdY/6:cvsuser
sparkins%redhat.com:v47uXV/9jevOo:cvsuser
sspitzer%mozilla.org:6pWx3PlzU0tYQ:cvsuser
ssu0262%aol.com:cfNlpxCKVXQtQ:cvsuser
Stefan.Borggraefe%gmx.de:h788WO/3xUGRc:cvsuser
stefanh%inbox.com:hWmK3E9KdRisc:cvsuser
steffen.wilberg%web.de:Sj/Ybb7X9aaRI:cvsuser
stephen%noved.org:eUTehPWJZ96oI:cvsuser
stridey%gmail.com:1dIxxxcOFboTM:cvsuser
stuart.morgan%alumni.case.edu:osIW3RwEUQsgM:cvsuser
surkov.alexander%gmail.com:j7fhI7d42nVNU:cvsuser
szegedia%freemail.hu:wnmu1pi.2s982:cvsuser
ted.mielczarek%gmail.com:RZ395urzBvt8Q:cvsuser
tglek%mozilla.com:WvBRjnHMP9ZTU:cvsuser
thomas.benisch%sun.com:VS9sGUhKBH37s:cvsuser
tierney%adobe.com:/l37fMGOOoRuA:cvsuser
timeless%mozdev.org:/rmja24l1sOYs:cvsuser
toddw%activestate.com:7bfDWjDX3IqGk:cvsuser
tony%ponderer.org:I25wmbIx2NMV.:cvsuser
tor%cs.brown.edu:.GLVprG/lOpjM:cvsuser
travis%sedsystems.ca:GeYiqvJTK4qvM:cvsuser
treilly%adobe.com:.NcUbzHumfIHE:cvsuser
treydrake%yahoo.com:Y6aSEsZf.GcP2:cvsuser
ulf%loop.to:nyAdDm7URuxog:cvsuser
uriber%gmail.com:UbuwPpUMiAJGI:cvsuser
vitaly%rathedg.com:gCpWN92cgp7aU:cvsuser
vladimir%pobox.com:ZcFYwCPC7dvjE:cvsuser
wclouser%mozilla.com:7kMqx9pigCvx2:cvsuser
webmail%kmgerich.com:K7U1HCAoxFv2E:cvsuser
wildriding%gmail.com:C5sZHT45QR.ks:cvsuser
wolfe%lobo.us:lv89GmGhY7/16:cvsuser
wr%rosenauer.org:ZfCN63R6WKPWc:cvsuser
wsharp%adobe.com:k/vjPPnrjMKsQ:cvsuser
wtc%google.com:qv4XOpmSQjJG2:cvsuser
wurblzap%gmail.com:pto2PHYncXBQY:cvsuser
Xiaobin.Lu%eng.Sun.com:MrrYDdtVNWvV6:cvsuser
yinbolian%gmail.com:SXDI.XmKRDr7s:cvsuser
zach%zachlipton.com:GLozolSujiqSo:cvsuser
zack%kde.org:OcOf3QFUvN/v2:cvsuser
zhayupeng%gmail.com:rXMiOKAkMlQts:cvsuser

View File

@@ -1,13 +0,0 @@
# The "rcsinfo" file is used to control templates with which the editor
# is invoked on commit and import.
#
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being made to, relative to the
# $CVSROOT. For the first match that is found, then the remainder of the
# line is the name of the file that contains the template.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name "ALL" appears as a regular expression it is always used
# in addition to the first matching regex or "DEFAULT".

View File

@@ -1,47 +0,0 @@
#!/usr/bin/perl
#
# This is a simple script that forces specified users to
# have read-only access to the CVS repository when using SSH.
# This must be done in a pre-commit check script, as SSH users
# must have an account on the server with access to the repository.
# Returning "0" means the account is allowed to check-in. Any other
# return type will stop the commit from occurring.
#
# Authors: Reed Loden <reed@mozilla.com>
# Aravind Gottipati <aravind@mozilla.com>
#
# To make it work, you need to add the script name to
# CVSROOT/checkoutlist so that the script is checked out correctly
# on the CVS server.
# Also, you need to add a line to your
# CVSROOT/commitinfo file that says something like:
#
# ALL $CVSROOT/CVSROOT/readonlyusers.pl
use strict;
use warnings;
# Hash of read-only users
my %read_only_users = (
'calbld' => 1,
'caminobld' => 1,
'ffxbld' => 1,
'l10nbld' => 1,
'nobody' => 1,
'stgbld' => 1,
'qabld' => 1,
'unittest' => 1,
'trybld' => 1,
'xrbld' => 1
);
my $username = $ENV{'CVS_USER'} || getlogin || (getpwuid($<))[0] || 'nobody';
if (exists $read_only_users{$username}) {
print STDERR "The $username account is not permitted to check-in to this CVS repository.\n";
print STDERR "If you think it should be allowed to do so, please contact\n";
print STDERR "the system administrators at sysadmins\@mozilla.org.\n";
exit 1;
}
exit 0;

View File

@@ -1,78 +0,0 @@
#!/usr/bin/perl
use Socket;
sub get_response_code {
my ($expecting) = @_;
# if ($flag_debug) {
# print STDERR "SMTP: Waiting for code $expecting\n";
# }
while (1) {
my $line = <S>;
# if ($flag_debug) {
# print STDERR "SMTP: $line";
# }
if ($line =~ /^[0-9]*-/) {
next;
}
if ($line =~ /(^[0-9]*) /) {
my $code = $1;
if ($code == $expecting) {
# if ($flag_debug) {
# print STDERR "SMTP: got it.\n";
# }
return;
}
die "Bad response from SMTP -- $line";
}
}
}
my @mailto;
my $i;
foreach $i (@ARGV) {
# Deal with our "%" encoding of email addresses.
if ($i !~ /\@/) {
$i =~ s/%/\@/;
}
push(@mailto, $i);
}
chop(my $hostname = `/bin/hostname`);
my ($remote,$port, $iaddr, $paddr, $proto, $line);
$remote = "localhost";
$port = 25;
if ($port =~ /\D/) { $port = getservbyname($port, 'tcp') }
die "No port" unless $port;
$iaddr = inet_aton($remote) || die "no host: $remote";
$paddr = sockaddr_in($port, $iaddr);
$proto = getprotobyname('tcp');
socket(S, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
connect(S, $paddr) || die "connect: $!";
select(S); $| = 1; select(STDOUT);
get_response_code(220);
print S "EHLO $hostname\n";
get_response_code(250);
print S "MAIL FROM: cvs-notify-daemon\@$hostname\n";
get_response_code(250);
foreach $i (@mailto) {
print S "RCPT TO: $i\n";
get_response_code(250);
}
print S "DATA\n";
get_response_code(354);
# Get one line starting with "354 ".
print S "Subject: CVS notification\n";
print S "To: " . join(',', @mailto) . "\n";
print S "\n";
while (<STDIN>) {
print S $_;
}
print S ".\n";
get_response_code(250);
print S "QUIT\n";
close(S);

View File

@@ -1,20 +0,0 @@
# The "taginfo" file is used to control pre-tag checks.
# The filter on the right is invoked with the following arguments:
#
# $1 -- tagname
# $2 -- operation "add" for tag, "mov" for tag -F, and "del" for tag -d
# $3 -- repository
# $4-> file revision [file revision ...]
#
# A non-zero exit of the filter program will cause the tag to be aborted.
#
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being committed to, relative
# to the $CVSROOT. For the first match that is found, then the remainder
# of the line is the name of the filter to run.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name "ALL" appears as a regular expression it is always used
# in addition to the first matching regex or "DEFAULT".

View File

@@ -1,21 +0,0 @@
# The "verifymsg" file is used to allow verification of logging
# information. It works best when a template (as specified in the
# rcsinfo file) is provided for the logging procedure. Given a
# template with locations for, a bug-id number, a list of people who
# reviewed the code before it can be checked in, and an external
# process to catalog the differences that were code reviewed, the
# following test can be applied to the code:
#
# Making sure that the entered bug-id number is correct.
# Validating that the code that was reviewed is indeed the code being
# checked in (using the bug-id number or a seperate review
# number to identify this particular code set.).
#
# If any of the above test failed, then the commit would be aborted.
#
# Actions such as mailing a copy of the report to each reviewer are
# better handled by an entry in the loginfo file.
#
# One thing that should be noted is the the ALL keyword is not
# supported. There can be only one entry that matches a given
# repository.

View File

@@ -1,2 +0,0 @@

View File

@@ -1,744 +0,0 @@
/*
* The nsinstall command for OS/2
*
* Our gmake makefiles use the nsinstall command to create the
* object directories or installing headers and libs to ns/dist.
* The shmsdos shell has nsinstall as a built-in command. However,
* if we use another shell like MKS toolkit's sh, we need to have
* the nsinstall command separately.
*
* This file was generated by modifying the Windows nsinstall.c.
*
* To build, say
* icc nsinstall.c
*/
#include <direct.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#define INCL_DOSFILEMGR
#define INCL_DOSERRORS
#define INCL_WINERRORS
#include <os2.h>
#pragma hdrstop
/*
* sh_FileFcn --
*
* A function that operates on a file. The pathname is either
* absolute or relative to the current directory, and contains
* no wildcard characters such as * and ?. Additional arguments
* can be passed to the function via the arg pointer.
*/
typedef BOOL (*sh_FileFcn)(
char *pathName,
FILEFINDBUF3 *fileData,
void *arg);
static int shellCp (char **pArgv);
static int shellNsinstall (char **pArgv);
static int shellMkdir (char **pArgv);
static BOOL sh_EnumerateFiles(const char *pattern, const char *where,
sh_FileFcn fileFcn, void *arg, int *nFiles);
static const char *sh_GetLastErrorMessage(void);
static BOOL sh_DoCopy(char *srcFileName, ULONG srcFileAttributes,
char *dstFileName, ULONG dstFileAttributes,
int force, int recursive);
static ULONG GetFileAttributes(PSZ pszFileName);
static APIRET SetFileAttributes(PSZ pszFileName, ULONG ulFileAttributes);
/* changes all forward slashes in token to back slashes */
void changeForwardSlashesTpBackSlashes ( char *arg )
{
if ( arg == NULL )
return;
while ( *arg ) {
if ( *arg == '/' )
*arg = '\\';
arg++;
}
}
int main(int argc, char *argv[ ])
{
return shellNsinstall ( argv + 1 );
}
static int
shellNsinstall (char **pArgv)
{
int retVal = 0; /* exit status */
int dirOnly = 0; /* 1 if and only if -D is specified */
char **pSrc;
char **pDst;
int len;
/*
* Process the command-line options. We ignore the
* options except for -D. Some options, such as -m,
* are followed by an argument. We need to skip the
* argument too.
*/
while ( *pArgv && **pArgv == '-' ) {
char c = (*pArgv)[1]; /* The char after '-' */
if ( c == 'D' ) {
dirOnly = 1;
} else if ( c == 'm' ) {
pArgv++; /* skip the next argument */
}
pArgv++;
}
if ( !dirOnly ) {
/* There are files to install. Get source files */
if ( *pArgv ) {
pSrc = pArgv++;
} else {
fprintf( stderr, "nsinstall: not enough arguments\n");
return 3;
}
}
/* Get to last token to find destination directory */
if ( *pArgv ) {
pDst = pArgv++;
if ( dirOnly && *pArgv ) {
fprintf( stderr, "nsinstall: too many arguments with -D\n");
return 3;
}
} else {
fprintf( stderr, "nsinstall: not enough arguments\n");
return 3;
}
while ( *pArgv )
pDst = pArgv++;
/* remove trailing slash from desination directory */
len = strlen( *pDst );
if ( pDst[0][len-1] == '/' )
pDst[0][len-1] = '\0';
retVal = shellMkdir ( pDst );
if ( retVal )
return retVal;
if ( !dirOnly )
retVal = shellCp ( pSrc );
return retVal;
}
static int
shellMkdir (char **pArgv)
{
int retVal = 0; /* assume valid return */
char *arg;
char *pArg;
char path[CCHMAXPATH];
char tmpPath[CCHMAXPATH];
char *pTmpPath = tmpPath;
/* All the options are simply ignored in this implementation */
while ( *pArgv && **pArgv == '-' ) {
if ( (*pArgv)[1] == 'm' ) {
pArgv++; /* skip the next argument (mode) */
}
pArgv++;
}
while ( *pArgv ) {
arg = *pArgv;
changeForwardSlashesTpBackSlashes ( arg );
pArg = arg;
pTmpPath = tmpPath;
while ( 1 ) {
/* create part of path */
while ( *pArg ) {
*pTmpPath++ = *pArg++;
if ( *pArg == '\\' )
break;
}
*pTmpPath = '\0';
/* check if directory alreay exists */
_getcwd ( path, sizeof (path) );
if (( _chdir ( tmpPath ) != -1 ) || ((tmpPath[1] == ':') && (tmpPath[2] == '\0'))) {
_chdir ( path );
} else {
if ( _mkdir ( tmpPath ) == -1 ) {
// while ( waitForDebug );
printf ( "%s: ", tmpPath );
perror ( "Could not create the directory" );
retVal = 3;
break;
}
}
if ( *pArg == '\0' ) /* complete path? */
break;
/* loop for next directory */
}
pArgv++;
}
return retVal;
}
static const char *
sh_GetLastErrorMessage()
{
static char buf[128];
ERRORID error = WinGetLastError(0);
switch (ERRORIDSEV(error))
{
case SEVERITY_ERROR:
{
sprintf( buf, "error %d", ERRORIDERROR(error));
break;
}
case SEVERITY_SEVERE:
{
sprintf( buf, "severe error %d", ERRORIDERROR(error));
break;
}
case SEVERITY_UNRECOVERABLE:
{
sprintf( buf, "unrecoverable error %d", ERRORIDERROR(error));
break;
}
}
return buf;
}
/*
* struct sh_FileData --
*
* A pointer to the sh_FileData structure is passed into sh_RecordFileData,
* which will fill in the fields.
*/
struct sh_FileData {
char pathName[CCHMAXPATH];
ULONG attrFile;
};
/*
* sh_RecordFileData --
*
* Record the pathname and attributes of the file in
* the sh_FileData structure pointed to by arg.
*
* Always return TRUE (successful completion).
*
* This function is intended to be passed into sh_EnumerateFiles
* to see if a certain pattern expands to exactly one file/directory,
* and if so, record its pathname and attributes.
*/
static BOOL
sh_RecordFileData(char *pathName, FILEFINDBUF3 *findData, void *arg)
{
struct sh_FileData *fData = (struct sh_FileData *) arg;
strcpy(fData->pathName, pathName);
fData->attrFile = findData->attrFile;
return TRUE;
}
static BOOL
sh_DoCopy(char *srcFileName,
ULONG srcFileAttributes,
char *dstFileName,
ULONG dstFileAttributes,
int force,
int recursive
)
{
if (dstFileAttributes != 0xFFFFFFFF) {
if ((dstFileAttributes & FILE_READONLY) && force) {
dstFileAttributes &= ~FILE_READONLY;
SetFileAttributes(dstFileName, dstFileAttributes);
}
}
if (srcFileAttributes & FILE_DIRECTORY) {
fprintf(stderr, "nsinstall: %s is a directory\n",
srcFileName);
return FALSE;
} else {
if (DosCopy(srcFileName, dstFileName, DCPY_EXISTING) != NO_ERROR) {
fprintf(stderr, "nsinstall: cannot copy %s to %s: %s\n",
srcFileName, dstFileName, sh_GetLastErrorMessage());
return FALSE;
}
}
return TRUE;
}
/*
* struct sh_CpCmdArg --
*
* A pointer to the sh_CpCmdArg structure is passed into sh_CpFileCmd.
* The sh_CpCmdArg contains information about the cp command, and
* provide a buffer for constructing the destination file name.
*/
struct sh_CpCmdArg {
int force; /* -f option, ok to overwrite an existing
* read-only destination file */
int recursive; /* -r or -R option, recursively copy
* directories. Note: this field is not used
* by nsinstall and should always be 0. */
char *dstFileName; /* a buffer for constructing the destination
* file name */
char *dstFileNameMarker; /* points to where in the dstFileName buffer
* we should write the file component of the
* destination file */
};
/*
* sh_CpFileCmd --
*
* Copy a file to the destination directory
*
* This function is intended to be passed into sh_EnumerateFiles to
* copy all the files specified by the pattern to the destination
* directory.
*
* Return TRUE if the file is successfully copied, and FALSE otherwise.
*/
static BOOL
sh_CpFileCmd(char *pathName, FILEFINDBUF3 *findData, void *cpArg)
{
BOOL retVal = TRUE;
struct sh_CpCmdArg *arg = (struct sh_CpCmdArg *) cpArg;
strcpy(arg->dstFileNameMarker, findData->achName);
return sh_DoCopy(pathName, findData->attrFile,
arg->dstFileName, GetFileAttributes(arg->dstFileName),
arg->force, arg->recursive);
}
static int
shellCp (char **pArgv)
{
int retVal = 0;
char **pSrc;
char **pDst;
struct sh_CpCmdArg arg;
struct sh_FileData dstData;
int dstIsDir = 0;
int n;
arg.force = 0;
arg.recursive = 0;
arg.dstFileName = dstData.pathName;
arg.dstFileNameMarker = 0;
while (*pArgv && **pArgv == '-') {
char *p = *pArgv;
while (*(++p)) {
if (*p == 'f') {
arg.force = 1;
}
}
pArgv++;
}
/* the first source file */
if (*pArgv) {
pSrc = pArgv++;
} else {
fprintf(stderr, "nsinstall: not enough arguments\n");
return 3;
}
/* get to the last token to find destination */
if (*pArgv) {
pDst = pArgv++;
} else {
fprintf(stderr, "nsinstall: not enough arguments\n");
return 3;
}
while (*pArgv) {
pDst = pArgv++;
}
/*
* The destination pattern must unambiguously expand to exactly
* one file or directory.
*/
changeForwardSlashesTpBackSlashes(*pDst);
sh_EnumerateFiles(*pDst, *pDst, sh_RecordFileData, &dstData, &n);
assert(n >= 0);
if (n == 1) {
/*
* Is the destination a file or directory?
*/
if (dstData.attrFile & FILE_DIRECTORY) {
dstIsDir = 1;
}
} else if (n > 1) {
fprintf(stderr, "nsinstall: %s: ambiguous destination file "
"or directory\n", *pDst);
return 3;
} else {
/*
* n == 0, meaning that destination file or directory does
* not exist. In this case the destination file directory
* name must be fully specified.
*/
char *p;
for (p = *pDst; *p; p++) {
if (*p == '*' || *p == '?') {
fprintf(stderr, "nsinstall: %s: No such file or directory\n",
*pDst);
return 3;
}
}
/*
* Do not include the trailing \, if any, unless it is a root
* directory (\ or X:\).
*/
if (p > *pDst && p[-1] == '\\' && p != *pDst + 1 && p[-2] != ':') {
p[-1] = '\0';
}
strcpy(dstData.pathName, *pDst);
dstData.attrFile = 0xFFFFFFFF;
}
/*
* If there are two or more source files, the destination has
* to be a directory.
*/
if (pDst - pSrc > 1 && !dstIsDir) {
fprintf(stderr, "nsinstall: cannot copy more than"
" one file to the same destination file\n");
return 3;
}
if (dstIsDir) {
arg.dstFileNameMarker = arg.dstFileName + strlen(arg.dstFileName);
/*
* Now arg.dstFileNameMarker is pointing to the null byte at the
* end of string. We want to make sure that there is a \ at the
* end of string, and arg.dstFileNameMarker should point right
* after that \.
*/
if (arg.dstFileNameMarker[-1] != '\\') {
*(arg.dstFileNameMarker++) = '\\';
}
}
if (!dstIsDir) {
struct sh_FileData srcData;
assert(pDst - pSrc == 1);
changeForwardSlashesTpBackSlashes(*pSrc);
sh_EnumerateFiles(*pSrc, *pSrc, sh_RecordFileData, &srcData, &n);
if (n == 0) {
fprintf(stderr, "nsinstall: %s: No such file or directory\n",
*pSrc);
retVal = 3;
} else if (n > 1) {
fprintf(stderr, "nsinstall: cannot copy more than one file or "
"directory to the same destination\n");
retVal = 3;
} else {
assert(n == 1);
if (sh_DoCopy(srcData.pathName, srcData.attrFile,
dstData.pathName, dstData.attrFile,
arg.force, arg.recursive) == FALSE) {
retVal = 3;
}
}
return retVal;
}
for ( ; *pSrc != *pDst; pSrc++) {
BOOL rv;
changeForwardSlashesTpBackSlashes(*pSrc);
rv = sh_EnumerateFiles(*pSrc, *pSrc, sh_CpFileCmd, &arg, &n);
if (rv == FALSE) {
retVal = 3;
} else {
if (n == 0) {
fprintf(stderr, "nsinstall: %s: No such file or directory\n",
*pSrc);
retVal = 3;
}
}
}
return retVal;
}
/*
* sh_EnumerateFiles --
*
* Enumerate all the files in the specified pattern, which is a pathname
* containing possibly wildcard characters such as * and ?. fileFcn
* is called on each file, passing the expanded file name, a pointer
* to the file's FILEFINDBUF3, and the arg pointer.
*
* It is assumed that there are no wildcard characters before the
* character pointed to by 'where'.
*
* On return, *nFiles stores the number of files enumerated. *nFiles is
* set to this number whether sh_EnumerateFiles or 'fileFcn' succeeds
* or not.
*
* Return TRUE if the files are successfully enumerated and all
* 'fileFcn' invocations succeeded. Return FALSE if something went
* wrong.
*/
static BOOL sh_EnumerateFiles(
const char *pattern,
const char *where,
sh_FileFcn fileFcn,
void *arg,
int *nFiles
)
{
FILEFINDBUF3 fileData = {0};
HDIR hSearch;
APIRET ulrc;
ULONG ulFindCount = 1;
const char *src;
char *dst;
char fileName[CCHMAXPATH];
char *fileNameMarker = fileName;
char *oldFileNameMarker;
BOOL hasWildcard = FALSE;
BOOL retVal = TRUE;
BOOL patternEndsInDotStar = FALSE;
BOOL patternEndsInDot = FALSE; /* a special case of
* patternEndsInDotStar */
int numDotsInPattern;
int len;
/*
* Windows expands patterns ending in ".", ".*", ".**", etc.
* differently from the glob expansion on Unix. For example,
* both "foo." and "foo.*" match "foo", and "*.*" matches
* everything, including filenames with no dots. So we need
* to throw away extra files returned by the FindNextFile()
* function. We require that a matched filename have at least
* the number of dots in the pattern.
*/
len = strlen(pattern);
if (len >= 2) {
/* Start from the end of pattern and go backward */
const char *p = &pattern[len - 1];
/* We can have zero or more *'s */
while (p >= pattern && *p == '*') {
p--;
}
if (p >= pattern && *p == '.') {
patternEndsInDotStar = TRUE;
if (p == &pattern[len - 1]) {
patternEndsInDot = TRUE;
}
p--;
numDotsInPattern = 1;
while (p >= pattern && *p != '\\') {
if (*p == '.') {
numDotsInPattern++;
}
p--;
}
}
}
*nFiles = 0;
/*
* Copy pattern to fileName, but only up to and not including
* the first \ after the first wildcard letter.
*
* Make fileNameMarker point to one of the following:
* - the start of fileName, if fileName does not contain any \.
* - right after the \ before the first wildcard letter, if there is
* a wildcard character.
* - right after the last \, if there is no wildcard character.
*/
dst = fileName;
src = pattern;
while (src < where) {
if (*src == '\\') {
oldFileNameMarker = fileNameMarker;
fileNameMarker = dst + 1;
}
*(dst++) = *(src++);
}
while (*src && *src != '*' && *src != '?') {
if (*src == '\\') {
oldFileNameMarker = fileNameMarker;
fileNameMarker = dst + 1;
}
*(dst++) = *(src++);
}
if (*src) {
/*
* Must have seen the first wildcard letter
*/
hasWildcard = TRUE;
while (*src && *src != '\\') {
*(dst++) = *(src++);
}
}
/* Now src points to either null or \ */
assert(*src == '\0' || *src == '\\');
assert(hasWildcard || *src == '\0');
*dst = '\0';
/*
* If the pattern does not contain any wildcard characters, then
* we don't need to go the FindFirstFile route.
*/
if (!hasWildcard) {
/*
* See if it is the root directory, \, or X:\.
*/
assert(!strcmp(fileName, pattern));
assert(strlen(fileName) >= 1);
if (dst[-1] == '\\' && (dst == fileName + 1 || dst[-2] == ':')) {
fileData.achName[0] = '\0';
} else {
/*
* Do not include the trailing \, if any
*/
if (dst[-1] == '\\') {
assert(*fileNameMarker == '\0');
dst[-1] = '\0';
fileNameMarker = oldFileNameMarker;
}
strcpy(fileData.achName, fileNameMarker);
}
fileData.attrFile = GetFileAttributes(fileName);
if (fileData.attrFile == 0xFFFFFFFF) {
return TRUE;
}
*nFiles = 1;
return (*fileFcn)(fileName, &fileData, arg);
}
hSearch = HDIR_CREATE;
ulrc = DosFindFirst(fileName, &hSearch, FILE_NORMAL, &fileData, sizeof(fileData),
&ulFindCount, FIL_STANDARD);
if (ulrc == ERROR_INVALID_HANDLE) {
return retVal;
}
do {
if (!strcmp(fileData.achName, ".")
|| !strcmp(fileData.achName, "..")) {
/*
* Skip over . and ..
*/
continue;
}
if (patternEndsInDotStar) {
int nDots = 0;
char *p = fileData.achName;
while (*p) {
if (*p == '.') {
nDots++;
}
p++;
}
/* Now p points to the null byte at the end of file name */
if (patternEndsInDot && (p == fileData.achName
|| p[-1] != '.')) {
/*
* File name does not end in dot. Skip this file.
* Note: windows file name probably cannot end in dot,
* but we do this check anyway.
*/
continue;
}
if (nDots < numDotsInPattern) {
/*
* Not enough dots in file name. Must be an extra
* file in matching .* pattern. Skip this file.
*/
continue;
}
}
strcpy(fileNameMarker, fileData.achName);
if (*src && *(src + 1)) {
/*
* More to go. Recurse.
*/
int n;
assert(*src == '\\');
where = fileName + strlen(fileName);
strcat(fileName, src);
sh_EnumerateFiles(fileName, where, fileFcn, arg, &n);
*nFiles += n;
} else {
assert(strchr(fileName, '*') == NULL);
assert(strchr(fileName, '?') == NULL);
(*nFiles)++;
if ((*fileFcn)(fileName, &fileData, arg) == FALSE) {
retVal = FALSE;
}
}
} while (DosFindNext(hSearch, &fileData, sizeof(fileData), &ulFindCount) == NO_ERROR);
DosFindClose(hSearch);
return retVal;
}
static ULONG GetFileAttributes(PSZ pszFileName)
{
FILESTATUS3 fsts3;
APIRET rc;
rc = DosQueryPathInfo(pszFileName,
FIL_STANDARD,
&fsts3,
sizeof(FILESTATUS3));
if (rc != NO_ERROR) {
return -1;
} /* endif */
return fsts3.attrFile;
}
static APIRET SetFileAttributes(PSZ pszFileName, ULONG ulFileAttributes)
{
return NULL;
}

View File

@@ -1,107 +0,0 @@
/* GLIB - Library of useful routines for C programming
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/* acconfig.h
This file is in the public domain.
Descriptive text for the C preprocessor macros that
the distributed Autoconf macros can define.
No software package will use all of them; autoheader copies the ones
your configure.in uses into your configuration header file templates.
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). Although this order
can split up related entries, it makes it easier to check whether
a given entry is in the file.
Leave the following blank line there!! Autoheader needs it. */
/* Other stuff */
#undef ENABLE_MEM_CHECK
#undef ENABLE_MEM_PROFILE
#undef G_COMPILED_WITH_DEBUGGING
#undef G_THREADS_ENABLED
#undef GLIB_SIZEOF_GMUTEX
#undef GLIB_BYTE_CONTENTS_GMUTEX
#undef HAVE_BROKEN_WCTYPE
#undef HAVE_DOPRNT
#undef HAVE_FLOAT_H
#undef HAVE_GETPWUID_R
#undef HAVE_GETPWUID_R_POSIX
#undef HAVE_LIMITS_H
#undef HAVE_LONG_DOUBLE
#undef HAVE_POLL
#undef HAVE_PTHREAD_GETSPECIFIC_POSIX
#undef HAVE_PWD_H
#undef HAVE_SYS_PARAM_H
#undef HAVE_SYS_POLL_H
#undef HAVE_SYS_SELECT_H
#undef HAVE_SYS_TIME_H
#undef HAVE_SYS_TIMES_H
#undef HAVE_STRERROR
#undef HAVE_STRSIGNAL
#undef HAVE_UNISTD_H
#undef HAVE_VALUES_H
#undef HAVE_WCHAR_H
#undef HAVE_WCTYPE_H
#undef NO_FD_SET
#undef NO_SYS_ERRLIST
#undef NO_SYS_SIGLIST
#undef NO_SYS_SIGLIST_DECL
#undef WITH_SYMBOL_UNDERSCORE
#undef SIZEOF_CHAR
#undef SIZEOF_SHORT
#undef SIZEOF_LONG
#undef SIZEOF_INT
#undef SIZEOF_VOID_P
#undef G_VA_COPY
#undef G_VA_COPY_AS_ARRAY
#undef G_HAVE___INLINE
#undef G_HAVE___INLINE__
#undef G_HAVE_INLINE
#undef GLIB_MAJOR_VERSION
#undef GLIB_MINOR_VERSION
#undef GLIB_MICRO_VERSION
#undef GLIB_INTERFACE_AGE
#undef GLIB_BINARY_AGE
#undef WIN32
#undef NATIVE_WIN32
#undef G_THREAD_SOURCE
/* #undef PACKAGE */
/* #undef VERSION */
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). */

View File

@@ -1,138 +0,0 @@
/* config.h.win32. Handcrafted for Microsoft C */
/* Define to empty if the keyword does not work. */
/* #undef const */
/* Define if you don't have vprintf but do have _doprnt. */
/* #undef HAVE_DOPRNT */
/* Define if you have <unistd.h>. */
/* #undef HAVE_UNISTD_H */
/* Define if you have the vprintf function. */
#define HAVE_VPRINTF 1
/* Define if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define if your processor stores words with the most significant
byte first (like Motorola and SPARC, unlike Intel and VAX). */
/* #undef WORDS_BIGENDIAN */
/* #undef ENABLE_MEM_CHECK */
/* #undef ENABLE_MEM_PROFILE */
#define G_COMPILED_WITH_DEBUGGING "minimum"
/* #undef HAVE_BROKEN_WCTYPE */
/* #undef HAVE_DOPRNT */
#define HAVE_FLOAT_H 1
#define HAVE_LIMITS_H 1
/* #undef HAVE_LOCALTIME_R */
/* #undef HAVE_LONG_DOUBLE */
/* #undef HAVE_POLL */
/* #undef HAVE_PWD_H */
/* #undef HAVE_SYS_PARAM_H */
/* #undef HAVE_SYS_POLL_H */
/* #undef HAVE_SYS_SELECT_H */
/* #undef HAVE_SYS_TIME_H */
/* #undef HAVE_SYS_TIMES_H */
#define HAVE_STRERROR 1
/* #undef HAVE_STRSIGNAL */
/* #undef HAVE_UNISTD_H */
/* #undef HAVE_VSNPRINTF */
/* #undef HAVE_VALUES_H */
#define HAVE_VPRINTF 1
#define HAVE_WCHAR_H 1
#define HAVE_WCTYPE_H 1
/* #undef NO_FD_SET */
/* #undef NO_SYS_ERRLIST */
#define NO_SYS_SIGLIST 1
/* #undef G_VA_COPY */
/* #undef G_VA_COPY_AS_ARRAY */
#define G_HAVE___INLINE 1
#define GLIB_MAJOR_VERSION 1
#define GLIB_MINOR_VERSION 2
#define GLIB_MICRO_VERSION 0
#define GLIB_INTERFACE_AGE 0
#define GLIB_BINARY_AGE 0
#define G_THREAD_SOURCE "gthread-posix.c"
#define G_THREADS_IMPL_POSIX
#define HAVE_PTHREAD_GETSPECIFIC_POSIX 1
/* The number of bytes in a char. */
#define SIZEOF_CHAR 1
/* The number of bytes in a int. */
#define SIZEOF_INT 4
/* The number of bytes in a long. */
#define SIZEOF_LONG 4
/* The number of bytes in a long long. */
#define SIZEOF_LONG_LONG 8
/* The number of bytes in a short. */
#define SIZEOF_SHORT 2
/* The number of bytes in a void *. */
#define SIZEOF_VOID_P 4
/* Define if you have the atexit function. */
#define HAVE_ATEXIT 1
/* Define if you have the lstat function. */
/* #undef HAVE_LSTAT */
/* Define if you have the memmove function. */
#define HAVE_MEMMOVE 1
/* Define if you have the on_exit function. */
/* #undef HAVE_ON_EXIT */
/* Define if you have the strcasecmp function. */
/* #undef HAVE_STRCASECMP ^*/
/* Define if you have the strerror function. */
#define HAVE_STRERROR 1
/* Define if you have the strsignal function. */
/* #undef HAVE_STRSIGNAL */
/* Define if you have the vsnprintf function. */
/* #undef HAVE_VSNPRINTF */
/* Define if you have the <float.h> header file. */
#define HAVE_FLOAT_H 1
/* Define if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define if you have the <pwd.h> header file. */
/* #undef HAVE_PWD_H */
/* Define if you have the <sys/param.h> header file. */
/* #undef HAVE_SYS_PARAM_H */
/* Define if you have the <sys/select.h> header file. */
/* #undef HAVE_SYS_SELECT_H */
/* Define if you have the <sys/time.h> header file. */
/* #undef HAVE_SYS_TIME_H */
/* Define if you have the <sys/times.h> header file. */
/* #undef HAVE_SYS_TIMES_H */
/* Define if you have the <unistd.h> header file. */
/* #undef HAVE_UNISTD_H */
/* Define if you have the <values.h> header file. */
/* #undef HAVE_VALUES_H */
/* Define if you have the w library (-lw). */
/* #undef HAVE_LIBW */

File diff suppressed because it is too large Load Diff

View File

@@ -1,173 +0,0 @@
/* glibconfig.h.win32 */
/* Handcrafted for Microsoft C. */
#ifndef GLIBCONFIG_H
#define GLIBCONFIG_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#ifdef _MSC_VER
/* Make MSVC more pedantic, this is a recommended pragma list
* from _Win32_Programming_ by Rector and Newcomer.
*/
#pragma warning(error:4002)
#pragma warning(error:4003)
#pragma warning(1:4010)
#pragma warning(error:4013)
#pragma warning(1:4016)
#pragma warning(error:4020)
#pragma warning(error:4021)
#pragma warning(error:4027)
#pragma warning(error:4029)
#pragma warning(error:4033)
#pragma warning(error:4035)
#pragma warning(error:4045)
#pragma warning(error:4047)
#pragma warning(error:4049)
#pragma warning(error:4053)
#pragma warning(error:4071)
#pragma warning(disable:4101)
#pragma warning(error:4150)
#pragma warning(disable:4244) /* No possible loss of data warnings */
#pragma warning(disable:4305) /* No truncation from int to char warnings */
#endif /* _MSC_VER */
#include <limits.h>
#include <float.h>
#define G_MINFLOAT FLT_MIN
#define G_MAXFLOAT FLT_MAX
#define G_MINDOUBLE DBL_MIN
#define G_MAXDOUBLE DBL_MAX
#define G_MINSHORT SHRT_MIN
#define G_MAXSHORT SHRT_MAX
#define G_MININT INT_MIN
#define G_MAXINT INT_MAX
#define G_MINLONG LONG_MIN
#define G_MAXLONG LONG_MAX
typedef signed char gint8;
typedef unsigned char guint8;
typedef signed short gint16;
typedef unsigned short guint16;
typedef signed int gint32;
typedef unsigned int guint32;
#define G_HAVE_GINT64 1
typedef __int64 gint64;
typedef unsigned __int64 guint64;
#define G_GINT64_CONSTANT(val) (val##i64)
#define GPOINTER_TO_INT(p) ((gint)(p))
#define GPOINTER_TO_UINT(p) ((guint)(p))
#define GINT_TO_POINTER(i) ((gpointer)(i))
#define GUINT_TO_POINTER(u) ((gpointer)(u))
#define g_ATEXIT(proc) (atexit (proc))
#define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END
#define G_HAVE_ALLOCA 1
#define alloca _alloca
#define GLIB_MAJOR_VERSION 1
#define GLIB_MINOR_VERSION 2
#define GLIB_MICRO_VERSION 0
#ifdef __cplusplus
#define G_HAVE_INLINE 1
#else /* !__cplusplus */
#define G_HAVE___INLINE 1
#endif
#define G_THREADS_ENABLED
/*
* The following program can be used to determine the magic values below:
* #include <stdio.h>
* #include <pthread.h>
* main(int argc, char **argv)
* {
* int i;
* pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;
* printf ("sizeof (pthread_mutex_t) = %d\n", sizeof (pthread_mutex_t));
* printf ("PTHREAD_MUTEX_INITIALIZER = ");
* for (i = 0; i < sizeof (pthread_mutex_t); i++)
* printf ("%u, ", (unsigned) ((char *) &m)[i]);
* printf ("\n");
* exit(0);
* }
*/
typedef struct _GStaticMutex GStaticMutex;
struct _GStaticMutex
{
struct _GMutex *runtime_mutex;
union {
/* The size of the pad array should be sizeof (pthread_mutext_t) */
/* This value corresponds to the 1999-01-24 version of pthreads-win32 */
char pad[36];
double dummy_double;
void *dummy_pointer;
long dummy_long;
} aligned_pad_u;
};
/* This should be NULL followed by the bytes in PTHREAD_MUTEX_INITIALIZER */
#define G_STATIC_MUTEX_INIT { NULL, { { 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }
#define g_static_mutex_get_mutex(mutex) \
(g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
#define G_BYTE_ORDER G_LITTLE_ENDIAN
#define GINT16_TO_LE(val) ((gint16) (val))
#define GUINT16_TO_LE(val) ((guint16) (val))
#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val))
#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val))
#define GINT32_TO_LE(val) ((gint32) (val))
#define GUINT32_TO_LE(val) ((guint32) (val))
#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val))
#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val))
#define GINT64_TO_LE(val) ((gint64) (val))
#define GUINT64_TO_LE(val) ((guint64) (val))
#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val))
#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val))
#define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val))
#define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val))
#define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val))
#define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val))
#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val))
#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val))
#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val))
#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val))
#define GLIB_SYSDEF_POLLIN = 1
#define GLIB_SYSDEF_POLLOUT = 4
#define GLIB_SYSDEF_POLLPRI = 2
#define GLIB_SYSDEF_POLLERR = 8
#define GLIB_SYSDEF_POLLHUP = 16
#define GLIB_SYSDEF_POLLNVAL = 32
#define G_HAVE_WCHAR_H 1
#define G_HAVE_WCTYPE_H 1
/* Define if this is Win32, possibly using the Cygwin emulation layer. */
#define WIN32 1
/* Define if this is Win32 without Cygwin. */
#define NATIVE_WIN32 1
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* GLIBCONFIG_H */

View File

@@ -1,827 +0,0 @@
/**************************************************************************
IDL.h (IDL parse tree and namespace components)
Include wide character support before this, if necessary.
Copyright (C) 1998, 1999 Andrew T. Veliath
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: IDL.h,v 1.1 1999-04-08 20:04:26 mccabe%netscape.com Exp $
***************************************************************************/
#ifndef __IDL_H
#define __IDL_H
#include <glib.h>
#ifdef __cplusplus
extern "C" {
#endif
/* version */
#define LIBIDL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
#define LIBIDL_MAJOR_VERSION 0
#define LIBIDL_MINOR_VERSION 6
#define LIBIDL_MICRO_VERSION 3
#define LIBIDL_VERSION_CODE LIBIDL_VERSION(0,6,3)
/* miscellaneous constants */
#define IDL_SUCCESS 0
#define IDL_ERROR 1
#define IDL_WARNING1 2
#define IDL_WARNING2 3
#define IDL_WARNING3 4
#define IDL_WARNINGMAX IDL_WARNING3
/* general parse flags */
#define IDLF_VERBOSE (1UL << 0)
#define IDLF_NO_EVAL_CONST (1UL << 1)
#define IDLF_COMBINE_REOPENED_MODULES (1UL << 2)
#define IDLF_PREFIX_FILENAME (1UL << 3)
#define IDLF_IGNORE_FORWARDS (1UL << 4)
#define IDLF_PEDANTIC (1UL << 5)
/* syntax extension parse flags */
#define IDLF_TYPECODES (1UL << 16)
#define IDLF_XPIDL (1UL << 17)
/* declaration specification flags */
#define IDLF_DECLSPEC_EXIST (1UL << 0)
#define IDLF_DECLSPEC_INHIBIT (1UL << 1)
/* output flags */
#define IDLF_OUTPUT_NO_NEWLINES (1UL << 0)
#define IDLF_OUTPUT_NO_QUALIFY_IDENTS (1UL << 1)
#define IDLF_OUTPUT_PROPERTIES (1UL << 2)
#define IDLF_OUTPUT_CODEFRAGS (1UL << 3)
#ifdef _WIN32
# define IDL_EXPORT __declspec (dllexport)
# define IDL_IMPORT __declspec (dllimport)
#else
# define IDL_EXPORT /* empty */
# define IDL_IMPORT extern
#endif
/* type casting checks */
#define IDL_check_cast_enable(boolean) do { \
IDL_IMPORT int __IDL_check_type_casts; \
__IDL_check_type_casts = (boolean); \
} while (0)
#define IDL_CHECK_CAST(tree, thetype, name) \
(IDL_check_type_cast(tree, thetype, \
__FILE__, __LINE__, \
G_GNUC_PRETTY_FUNCTION)->u.name)
#ifdef G_HAVE_GINT64
# if G_MAXLONG > 0xffffffffUL
# define IDL_LL "l"
# else
# define IDL_LL "ll"
# endif
typedef gint64 IDL_longlong_t;
typedef guint64 IDL_ulonglong_t;
#else
# define IDL_LL "l"
typedef long IDL_longlong_t;
typedef unsigned long IDL_ulonglong_t;
# warning 64-bit integer type not available, using 32-bit instead
#endif /* G_HAVE_GINT64 */
typedef unsigned int IDL_declspec_t;
typedef struct _IDL_tree_node IDL_tree_node;
typedef struct _IDL_tree_node * IDL_tree;
struct _IDL_LIST {
IDL_tree data;
IDL_tree prev;
IDL_tree next;
IDL_tree _tail; /* Internal use, may not be valid */
};
#define IDL_LIST(a) IDL_CHECK_CAST(a, IDLN_LIST, idl_list)
extern IDL_tree IDL_list_new (IDL_tree data);
extern IDL_tree IDL_list_concat (IDL_tree orig,
IDL_tree append);
extern IDL_tree IDL_list_remove (IDL_tree list,
IDL_tree p);
extern int IDL_list_length (IDL_tree list);
extern IDL_tree IDL_list_nth (IDL_tree list,
int n);
struct _IDL_GENTREE {
IDL_tree data;
GHashTable *siblings;
GHashTable *children;
GHashFunc hash_func;
GCompareFunc key_compare_func;
IDL_tree _import; /* Internal use, do not recurse */
char *_cur_prefix; /* Internal use */
};
#define IDL_GENTREE(a) IDL_CHECK_CAST(a, IDLN_GENTREE, idl_gentree)
extern IDL_tree IDL_gentree_new (GHashFunc hash_func,
GCompareFunc key_compare_func,
IDL_tree data);
extern IDL_tree IDL_gentree_new_sibling (IDL_tree from,
IDL_tree data);
extern IDL_tree IDL_gentree_chain_sibling (IDL_tree from,
IDL_tree data);
extern IDL_tree IDL_gentree_chain_child (IDL_tree from,
IDL_tree data);
struct _IDL_INTEGER {
IDL_longlong_t value;
};
#define IDL_INTEGER(a) IDL_CHECK_CAST(a, IDLN_INTEGER, idl_integer)
extern IDL_tree IDL_integer_new (IDL_longlong_t value);
struct _IDL_STRING {
char *value;
};
#define IDL_STRING(a) IDL_CHECK_CAST(a, IDLN_STRING, idl_string)
extern IDL_tree IDL_string_new (char *value);
struct _IDL_WIDE_STRING {
wchar_t *value;
};
#define IDL_WIDE_STRING(a) IDL_CHECK_CAST(a, IDLN_WIDE_STRING, idl_wide_string)
extern IDL_tree IDL_wide_string_new (wchar_t *value);
struct _IDL_CHAR {
char *value;
};
#define IDL_CHAR(a) IDL_CHECK_CAST(a, IDLN_CHAR, idl_char)
extern IDL_tree IDL_char_new (char *value);
struct _IDL_WIDE_CHAR {
wchar_t *value;
};
#define IDL_WIDE_CHAR(a) IDL_CHECK_CAST(a, IDLN_WIDE_CHAR, idl_wide_char)
extern IDL_tree IDL_wide_char_new (wchar_t *value);
struct _IDL_FIXED {
char *value;
};
#define IDL_FIXED(a) IDL_CHECK_CAST(a, IDLN_FIXED, idl_fixed)
extern IDL_tree IDL_fixed_new (char *value);
struct _IDL_FLOAT {
double value;
};
#define IDL_FLOAT(a) IDL_CHECK_CAST(a, IDLN_FLOAT, idl_float)
extern IDL_tree IDL_float_new (double value);
struct _IDL_BOOLEAN {
unsigned value;
};
#define IDL_BOOLEAN(a) IDL_CHECK_CAST(a, IDLN_BOOLEAN, idl_boolean)
extern IDL_tree IDL_boolean_new (unsigned value);
struct _IDL_IDENT {
char *str;
char *repo_id;
GSList *comments;
IDL_tree _ns_ref; /* Internal use, do not recurse */
unsigned _flags; /* Internal use */
#define IDLF_IDENT_CASE_MISMATCH_HIT (1UL << 0)
};
#define IDL_IDENT(a) IDL_CHECK_CAST(a, IDLN_IDENT, idl_ident)
#define IDL_IDENT_TO_NS(a) IDL_CHECK_CAST(a, IDLN_IDENT, idl_ident._ns_ref)
#define IDL_IDENT_REPO_ID(a) IDL_CHECK_CAST(a, IDLN_IDENT, idl_ident.repo_id)
extern IDL_tree IDL_ident_new (char *str);
extern void IDL_queue_new_ident_comment (const char *str);
enum IDL_float_type {
IDL_FLOAT_TYPE_FLOAT,
IDL_FLOAT_TYPE_DOUBLE,
IDL_FLOAT_TYPE_LONGDOUBLE
};
struct _IDL_TYPE_FLOAT {
enum IDL_float_type f_type;
};
#define IDL_TYPE_FLOAT(a) IDL_CHECK_CAST(a, IDLN_TYPE_FLOAT, idl_type_float)
extern IDL_tree IDL_type_float_new (enum IDL_float_type f_type);
struct _IDL_TYPE_FIXED {
IDL_tree positive_int_const;
IDL_tree integer_lit;
};
#define IDL_TYPE_FIXED(a) IDL_CHECK_CAST(a, IDLN_TYPE_FIXED, idl_type_fixed)
extern IDL_tree IDL_type_fixed_new (IDL_tree positive_int_const,
IDL_tree integer_lit);
enum IDL_integer_type {
IDL_INTEGER_TYPE_SHORT,
IDL_INTEGER_TYPE_LONG,
IDL_INTEGER_TYPE_LONGLONG
};
struct _IDL_TYPE_INTEGER {
unsigned f_signed : 1;
enum IDL_integer_type f_type;
};
#define IDL_TYPE_INTEGER(a) IDL_CHECK_CAST(a, IDLN_TYPE_INTEGER, idl_type_integer)
extern IDL_tree IDL_type_integer_new (unsigned f_signed,
enum IDL_integer_type f_type);
extern IDL_tree IDL_type_char_new (void);
extern IDL_tree IDL_type_wide_char_new (void);
extern IDL_tree IDL_type_boolean_new (void);
extern IDL_tree IDL_type_octet_new (void);
extern IDL_tree IDL_type_any_new (void);
extern IDL_tree IDL_type_object_new (void);
extern IDL_tree IDL_type_typecode_new (void);
struct _IDL_TYPE_STRING {
IDL_tree positive_int_const;
};
#define IDL_TYPE_STRING(a) IDL_CHECK_CAST(a, IDLN_TYPE_STRING, idl_type_string)
extern IDL_tree IDL_type_string_new (IDL_tree positive_int_const);
struct _IDL_TYPE_WIDE_STRING {
IDL_tree positive_int_const;
};
#define IDL_TYPE_WIDE_STRING(a) IDL_CHECK_CAST(a, IDLN_TYPE_WIDE_STRING, idl_type_wide_string)
extern IDL_tree IDL_type_wide_string_new (IDL_tree positive_int_const);
struct _IDL_TYPE_ENUM {
IDL_tree ident;
IDL_tree enumerator_list;
};
#define IDL_TYPE_ENUM(a) IDL_CHECK_CAST(a, IDLN_TYPE_ENUM, idl_type_enum)
extern IDL_tree IDL_type_enum_new (IDL_tree ident,
IDL_tree enumerator_list);
struct _IDL_TYPE_ARRAY {
IDL_tree ident;
IDL_tree size_list;
};
#define IDL_TYPE_ARRAY(a) IDL_CHECK_CAST(a, IDLN_TYPE_ARRAY, idl_type_array)
extern IDL_tree IDL_type_array_new (IDL_tree ident,
IDL_tree size_list);
struct _IDL_TYPE_SEQUENCE {
IDL_tree simple_type_spec;
IDL_tree positive_int_const;
};
#define IDL_TYPE_SEQUENCE(a) IDL_CHECK_CAST(a, IDLN_TYPE_SEQUENCE, idl_type_sequence)
extern IDL_tree IDL_type_sequence_new (IDL_tree simple_type_spec,
IDL_tree positive_int_const);
struct _IDL_TYPE_STRUCT {
IDL_tree ident;
IDL_tree member_list;
};
#define IDL_TYPE_STRUCT(a) IDL_CHECK_CAST(a, IDLN_TYPE_STRUCT, idl_type_struct)
extern IDL_tree IDL_type_struct_new (IDL_tree ident,
IDL_tree member_list);
struct _IDL_TYPE_UNION {
IDL_tree ident;
IDL_tree switch_type_spec;
IDL_tree switch_body;
};
#define IDL_TYPE_UNION(a) IDL_CHECK_CAST(a, IDLN_TYPE_UNION, idl_type_union)
extern IDL_tree IDL_type_union_new (IDL_tree ident,
IDL_tree switch_type_spec,
IDL_tree switch_body);
struct _IDL_MEMBER {
IDL_tree type_spec;
IDL_tree dcls;
};
#define IDL_MEMBER(a) IDL_CHECK_CAST(a, IDLN_MEMBER, idl_member)
extern IDL_tree IDL_member_new (IDL_tree type_spec,
IDL_tree dcls);
struct _IDL_NATIVE {
IDL_tree ident;
char *user_type; /* XPIDL extension */
};
#define IDL_NATIVE(a) IDL_CHECK_CAST(a, IDLN_NATIVE, idl_native)
extern IDL_tree IDL_native_new (IDL_tree ident);
struct _IDL_TYPE_DCL {
IDL_tree type_spec;
IDL_tree dcls;
};
#define IDL_TYPE_DCL(a) IDL_CHECK_CAST(a, IDLN_TYPE_DCL, idl_type_dcl)
extern IDL_tree IDL_type_dcl_new (IDL_tree type_spec,
IDL_tree dcls);
struct _IDL_CONST_DCL {
IDL_tree const_type;
IDL_tree ident;
IDL_tree const_exp;
};
#define IDL_CONST_DCL(a) IDL_CHECK_CAST(a, IDLN_CONST_DCL, idl_const_dcl)
extern IDL_tree IDL_const_dcl_new (IDL_tree const_type,
IDL_tree ident,
IDL_tree const_exp);
struct _IDL_EXCEPT_DCL {
IDL_tree ident;
IDL_tree members;
};
#define IDL_EXCEPT_DCL(a) IDL_CHECK_CAST(a, IDLN_EXCEPT_DCL, idl_except_dcl)
extern IDL_tree IDL_except_dcl_new (IDL_tree ident,
IDL_tree members);
struct _IDL_ATTR_DCL {
unsigned f_readonly : 1;
IDL_tree param_type_spec;
IDL_tree simple_declarations;
};
#define IDL_ATTR_DCL(a) IDL_CHECK_CAST(a, IDLN_ATTR_DCL, idl_attr_dcl)
extern IDL_tree IDL_attr_dcl_new (unsigned f_readonly,
IDL_tree param_type_spec,
IDL_tree simple_declarations);
struct _IDL_OP_DCL {
unsigned f_noscript : 1;
unsigned f_oneway : 1;
/* XPIDL extension (varags) */
unsigned f_varargs : 1;
IDL_tree op_type_spec;
IDL_tree ident;
IDL_tree parameter_dcls;
IDL_tree raises_expr;
IDL_tree context_expr;
};
#define IDL_OP_DCL(a) IDL_CHECK_CAST(a, IDLN_OP_DCL, idl_op_dcl)
extern IDL_tree IDL_op_dcl_new (unsigned f_oneway,
IDL_tree op_type_spec,
IDL_tree ident,
IDL_tree parameter_dcls,
IDL_tree raises_expr,
IDL_tree context_expr);
enum IDL_param_attr {
IDL_PARAM_IN,
IDL_PARAM_OUT,
IDL_PARAM_INOUT
};
struct _IDL_PARAM_DCL {
enum IDL_param_attr attr;
IDL_tree param_type_spec;
IDL_tree simple_declarator;
};
#define IDL_PARAM_DCL(a) IDL_CHECK_CAST(a, IDLN_PARAM_DCL, idl_param_dcl)
extern IDL_tree IDL_param_dcl_new (enum IDL_param_attr attr,
IDL_tree param_type_spec,
IDL_tree simple_declarator);
struct _IDL_CASE_STMT {
IDL_tree labels;
IDL_tree element_spec;
};
#define IDL_CASE_STMT(a) IDL_CHECK_CAST(a, IDLN_CASE_STMT, idl_case_stmt)
extern IDL_tree IDL_case_stmt_new (IDL_tree labels,
IDL_tree element_spec);
struct _IDL_INTERFACE {
IDL_tree ident;
IDL_tree inheritance_spec;
IDL_tree body;
};
#define IDL_INTERFACE(a) IDL_CHECK_CAST(a, IDLN_INTERFACE, idl_interface)
extern IDL_tree IDL_interface_new (IDL_tree ident,
IDL_tree inheritance_spec,
IDL_tree body);
struct _IDL_FORWARD_DCL {
IDL_tree ident;
};
#define IDL_FORWARD_DCL(a) IDL_CHECK_CAST(a, IDLN_FORWARD_DCL, idl_forward_dcl)
extern IDL_tree IDL_forward_dcl_new (IDL_tree ident);
struct _IDL_MODULE {
IDL_tree ident;
IDL_tree definition_list;
};
#define IDL_MODULE(a) IDL_CHECK_CAST(a, IDLN_MODULE, idl_module)
extern IDL_tree IDL_module_new (IDL_tree ident,
IDL_tree definition_list);
enum IDL_binop {
IDL_BINOP_OR,
IDL_BINOP_XOR,
IDL_BINOP_AND,
IDL_BINOP_SHR,
IDL_BINOP_SHL,
IDL_BINOP_ADD,
IDL_BINOP_SUB,
IDL_BINOP_MULT,
IDL_BINOP_DIV,
IDL_BINOP_MOD
};
struct _IDL_BINOP {
enum IDL_binop op;
IDL_tree left, right;
};
#define IDL_BINOP(a) IDL_CHECK_CAST(a, IDLN_BINOP, idl_binop)
extern IDL_tree IDL_binop_new (enum IDL_binop op,
IDL_tree left,
IDL_tree right);
enum IDL_unaryop {
IDL_UNARYOP_PLUS,
IDL_UNARYOP_MINUS,
IDL_UNARYOP_COMPLEMENT
};
struct _IDL_UNARYOP {
enum IDL_unaryop op;
IDL_tree operand;
};
#define IDL_UNARYOP(a) IDL_CHECK_CAST(a, IDLN_UNARYOP, idl_unaryop)
extern IDL_tree IDL_unaryop_new (enum IDL_unaryop op,
IDL_tree operand);
/* XPIDL code fragments extension. */
struct _IDL_CODEFRAG {
char *desc;
GSList *lines;
};
#define IDL_CODEFRAG(a) IDL_CHECK_CAST(a, IDLN_CODEFRAG, idl_codefrag)
extern IDL_tree IDL_codefrag_new (char *desc,
GSList *lines);
/*
* IDL_tree_type - Enumerations of node types
*
* Note this enumerator list is subject to change in the future. A program should not need
* more than a recompilation to adjust for a change in this list, so instead of using a
* statically initialized jumptable, allocate an array of size IDLN_LAST and assign the
* elements manually.
*/
typedef enum {
IDLN_NONE,
IDLN_ANY,
IDLN_LIST,
IDLN_GENTREE,
IDLN_INTEGER,
IDLN_STRING,
IDLN_WIDE_STRING,
IDLN_CHAR,
IDLN_WIDE_CHAR,
IDLN_FIXED,
IDLN_FLOAT,
IDLN_BOOLEAN,
IDLN_IDENT,
IDLN_TYPE_DCL,
IDLN_CONST_DCL,
IDLN_EXCEPT_DCL,
IDLN_ATTR_DCL,
IDLN_OP_DCL,
IDLN_PARAM_DCL,
IDLN_FORWARD_DCL,
IDLN_TYPE_INTEGER,
IDLN_TYPE_FLOAT,
IDLN_TYPE_FIXED,
IDLN_TYPE_CHAR,
IDLN_TYPE_WIDE_CHAR,
IDLN_TYPE_STRING,
IDLN_TYPE_WIDE_STRING,
IDLN_TYPE_BOOLEAN,
IDLN_TYPE_OCTET,
IDLN_TYPE_ANY,
IDLN_TYPE_OBJECT,
IDLN_TYPE_TYPECODE,
IDLN_TYPE_ENUM,
IDLN_TYPE_SEQUENCE,
IDLN_TYPE_ARRAY,
IDLN_TYPE_STRUCT,
IDLN_TYPE_UNION,
IDLN_MEMBER,
IDLN_NATIVE,
IDLN_CASE_STMT,
IDLN_INTERFACE,
IDLN_MODULE,
IDLN_BINOP,
IDLN_UNARYOP,
IDLN_CODEFRAG,
IDLN_LAST
} IDL_tree_type;
IDL_IMPORT const char * IDL_tree_type_names[];
struct _IDL_tree_node {
IDL_tree_type _type;
IDL_tree up; /* Do not recurse */
IDL_declspec_t declspec;
/* properties is an XPIDL extension. It is a hash table of
* case-insensitive string keys to string values. */
GHashTable *properties;
int refs;
char *_file; /* Internal use */
int _line; /* Internal use */
union {
struct _IDL_LIST idl_list;
struct _IDL_GENTREE idl_gentree;
struct _IDL_INTEGER idl_integer;
struct _IDL_STRING idl_string;
struct _IDL_WIDE_STRING idl_wide_string;
struct _IDL_CHAR idl_char;
struct _IDL_WIDE_CHAR idl_wide_char;
struct _IDL_FIXED idl_fixed;
struct _IDL_FLOAT idl_float;
struct _IDL_BOOLEAN idl_boolean;
struct _IDL_IDENT idl_ident;
struct _IDL_TYPE_DCL idl_type_dcl;
struct _IDL_CONST_DCL idl_const_dcl;
struct _IDL_EXCEPT_DCL idl_except_dcl;
struct _IDL_ATTR_DCL idl_attr_dcl;
struct _IDL_OP_DCL idl_op_dcl;
struct _IDL_PARAM_DCL idl_param_dcl;
struct _IDL_FORWARD_DCL idl_forward_dcl;
struct _IDL_TYPE_FLOAT idl_type_float;
struct _IDL_TYPE_FIXED idl_type_fixed;
struct _IDL_TYPE_INTEGER idl_type_integer;
struct _IDL_TYPE_ENUM idl_type_enum;
struct _IDL_TYPE_STRING idl_type_string;
struct _IDL_TYPE_WIDE_STRING idl_type_wide_string;
struct _IDL_TYPE_SEQUENCE idl_type_sequence;
struct _IDL_TYPE_ARRAY idl_type_array;
struct _IDL_TYPE_STRUCT idl_type_struct;
struct _IDL_TYPE_UNION idl_type_union;
struct _IDL_MEMBER idl_member;
struct _IDL_NATIVE idl_native;
struct _IDL_CASE_STMT idl_case_stmt;
struct _IDL_INTERFACE idl_interface;
struct _IDL_MODULE idl_module;
struct _IDL_BINOP idl_binop;
struct _IDL_UNARYOP idl_unaryop;
struct _IDL_CODEFRAG idl_codefrag;
} u;
};
#define IDL_NODE_TYPE(a) ((a)->_type)
#define IDL_NODE_TYPE_NAME(a) ((a)?IDL_tree_type_names[IDL_NODE_TYPE(a)]:"NULL")
#define IDL_NODE_UP(a) ((a)->up)
#define IDL_NODE_PROPERTIES(a) ((a)->properties)
#define IDL_NODE_DECLSPEC(a) ((a)->declspec)
#define IDL_NODE_REFS(a) ((a)->refs)
#define IDL_NODE_IS_LITERAL(a) \
(IDL_NODE_TYPE(a) == IDLN_INTEGER || \
IDL_NODE_TYPE(a) == IDLN_STRING || \
IDL_NODE_TYPE(a) == IDLN_WIDE_STRING || \
IDL_NODE_TYPE(a) == IDLN_CHAR || \
IDL_NODE_TYPE(a) == IDLN_WIDE_CHAR || \
IDL_NODE_TYPE(a) == IDLN_FIXED || \
IDL_NODE_TYPE(a) == IDLN_FLOAT || \
IDL_NODE_TYPE(a) == IDLN_BOOLEAN)
#define IDL_NODE_IS_TYPE(a) \
(IDL_NODE_TYPE(a) == IDLN_TYPE_INTEGER || \
IDL_NODE_TYPE(a) == IDLN_TYPE_STRING || \
IDL_NODE_TYPE(a) == IDLN_TYPE_WIDE_STRING || \
IDL_NODE_TYPE(a) == IDLN_TYPE_CHAR || \
IDL_NODE_TYPE(a) == IDLN_TYPE_WIDE_CHAR || \
IDL_NODE_TYPE(a) == IDLN_TYPE_FIXED || \
IDL_NODE_TYPE(a) == IDLN_TYPE_FLOAT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_BOOLEAN || \
IDL_NODE_TYPE(a) == IDLN_TYPE_OCTET || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ANY || \
IDL_NODE_TYPE(a) == IDLN_TYPE_OBJECT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_TYPECODE || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ENUM || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ARRAY || \
IDL_NODE_TYPE(a) == IDLN_TYPE_SEQUENCE || \
IDL_NODE_TYPE(a) == IDLN_TYPE_STRUCT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_UNION)
#define IDL_NODE_IS_SCOPED(a) \
(IDL_NODE_TYPE(a) == IDLN_IDENT || \
IDL_NODE_TYPE(a) == IDLN_INTERFACE || \
IDL_NODE_TYPE(a) == IDLN_MODULE || \
IDL_NODE_TYPE(a) == IDLN_EXCEPT_DCL || \
IDL_NODE_TYPE(a) == IDLN_OP_DCL || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ENUM || \
IDL_NODE_TYPE(a) == IDLN_TYPE_STRUCT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_UNION)
typedef struct _IDL_ns * IDL_ns;
struct _IDL_ns {
IDL_tree global;
IDL_tree file;
IDL_tree current;
GHashTable *inhibits;
GHashTable *filename_hash;
};
#define IDL_NS(a) (*(a))
typedef enum {
IDL_INPUT_REASON_INIT,
IDL_INPUT_REASON_FILL,
IDL_INPUT_REASON_ABORT,
IDL_INPUT_REASON_FINISH
} IDL_input_reason;
union IDL_input_data {
struct {
const char *filename;
} init;
struct {
char *buffer;
size_t max_size;
} fill;
};
typedef int (*IDL_input_callback) (IDL_input_reason reason,
union IDL_input_data *data,
gpointer user_data);
typedef int (*IDL_msg_callback) (int level,
int num,
int line,
const char *filename,
const char *message);
typedef struct _IDL_tree_func_state IDL_tree_func_state;
typedef struct _IDL_tree_func_data IDL_tree_func_data;
/* Traversal state data. Recursive walks chain states. */
struct _IDL_tree_func_state {
IDL_tree_func_state *up;
IDL_tree start;
IDL_tree_func_data *bottom;
};
/* This holds a list of the up hierarchy traversed, beginning from traversal. This is
* useful since nodes referenced after initial definition will have a different traversal
* path than the actual up path. */
struct _IDL_tree_func_data {
IDL_tree_func_state *state;
IDL_tree_func_data *up;
IDL_tree tree;
};
typedef gboolean (*IDL_tree_func) (IDL_tree_func_data *tnfd,
gpointer user_data);
extern IDL_tree IDL_check_type_cast (const IDL_tree var,
IDL_tree_type type,
const char *file,
int line,
const char *function);
extern const char * IDL_get_libver_string (void);
extern const char * IDL_get_IDLver_string (void);
extern int IDL_parse_filename (const char *filename,
const char *cpp_args,
IDL_msg_callback msg_cb,
IDL_tree *tree, IDL_ns *ns,
unsigned long parse_flags,
int max_msg_level);
extern int IDL_parse_filename_with_input (const char *filename,
IDL_input_callback input_cb,
gpointer input_cb_user_data,
IDL_msg_callback msg_cb,
IDL_tree *tree, IDL_ns *ns,
unsigned long parse_flags,
int max_msg_level);
extern int IDL_ns_prefix (IDL_ns ns,
const char *s);
extern void IDL_ns_ID (IDL_ns ns,
const char *s);
extern void IDL_ns_version (IDL_ns ns,
const char *s);
extern int IDL_inhibit_get (void);
extern void IDL_inhibit_push (void);
extern void IDL_inhibit_pop (void);
extern void IDL_file_set (const char *filename,
int line);
extern void IDL_file_get (const char **filename,
int *line);
extern IDL_tree IDL_get_parent_node (IDL_tree p,
IDL_tree_type type,
int *scope_levels);
extern IDL_tree IDL_tree_get_scope (IDL_tree p);
extern int IDL_tree_get_node_info (IDL_tree tree,
char **who,
char **what);
extern void IDL_tree_error (IDL_tree p,
const char *fmt,
...);
extern void IDL_tree_warning (IDL_tree p,
int level,
const char *fmt,
...);
extern const char * IDL_tree_property_get (IDL_tree tree,
const char *key);
extern void IDL_tree_property_set (IDL_tree tree,
const char *key,
const char *value);
extern gboolean IDL_tree_property_remove (IDL_tree tree,
const char *key);
extern void IDL_tree_properties_copy (IDL_tree from_tree,
IDL_tree to_tree);
extern void IDL_tree_walk (IDL_tree p,
IDL_tree_func_data *current,
IDL_tree_func pre_tree_func,
IDL_tree_func post_tree_func,
gpointer user_data);
extern void IDL_tree_walk_in_order (IDL_tree p,
IDL_tree_func tree_func,
gpointer user_data);
extern void IDL_tree_free (IDL_tree root);
extern void IDL_tree_to_IDL (IDL_tree p,
IDL_ns ns,
FILE *output,
unsigned long output_flags);
extern char * IDL_do_escapes (const char *s);
extern IDL_tree IDL_resolve_const_exp (IDL_tree p,
IDL_tree_type type);
extern IDL_ns IDL_ns_new (void);
extern void IDL_ns_free (IDL_ns ns);
extern IDL_tree IDL_ns_resolve_this_scope_ident (IDL_ns ns,
IDL_tree scope,
IDL_tree ident);
extern IDL_tree IDL_ns_resolve_ident (IDL_ns ns,
IDL_tree ident);
extern IDL_tree IDL_ns_lookup_this_scope (IDL_ns ns,
IDL_tree scope,
IDL_tree ident,
gboolean *conflict);
extern IDL_tree IDL_ns_lookup_cur_scope (IDL_ns ns,
IDL_tree ident,
gboolean *conflict);
extern IDL_tree IDL_ns_place_new (IDL_ns ns,
IDL_tree ident);
extern void IDL_ns_push_scope (IDL_ns ns,
IDL_tree ident);
extern void IDL_ns_pop_scope (IDL_ns ns);
extern IDL_tree IDL_ns_qualified_ident_new (IDL_tree nsid);
extern char * IDL_ns_ident_to_qstring (IDL_tree ns_ident,
const char *join,
int scope_levels);
extern int IDL_ns_scope_levels_from_here (IDL_ns ns,
IDL_tree ident,
IDL_tree parent);
extern char * IDL_ns_ident_make_repo_id (IDL_ns ns,
IDL_tree p,
const char *p_prefix,
int *major,
int *minor);
#ifdef __cplusplus
}
#endif
#endif /* __IDL_H */

View File

@@ -1,64 +0,0 @@
@echo off
if "%MOZ_TOOLS%" == "" goto no_moz_tools
echo.
echo MOZ_TOOLS is set to %MOZ_TOOLS%
echo It should NOT be set to anything in your cygwin
echo directory, such as c:\cygwin or c:\cygwin\bin
echo where C:\cygwin represents where you installed cygwin.
echo In that case files will be overwritten.
echo.
echo It should be set to some empty directory.
echo. e.g.
echo. mkdir c:\moz_tools
echo. set MOZ_TOOLS=c:\moz_tools
echo.
echo Please verify this.
echo.
pause
echo copying exes and dlls to %MOZ_TOOLS%\bin
if not exist %MOZ_TOOLS%\bin\NUL mkdir %MOZ_TOOLS%\bin >NUL
copy bin\x86\* %MOZ_TOOLS%\bin >NUL
echo copying include files to %MOZ_TOOLS%\include
if not exist %MOZ_TOOLS%\include\NUL mkdir %MOZ_TOOLS%\include >NUL
copy include\* %MOZ_TOOLS%\include >NUL
echo copying include files to %MOZ_TOOLS%\include\libIDL
if not exist %MOZ_TOOLS%\include\libIDL\NUL mkdir %MOZ_TOOLS%\include\libIDL >NUL
copy include\libIDL\* %MOZ_TOOLS%\include\libIDL >NUL
echo copying lib files to %MOZ_TOOLS%\lib
if not exist %MOZ_TOOLS%\lib\NUL mkdir %MOZ_TOOLS%\lib >NUL
copy lib\* %MOZ_TOOLS%\lib >NUL
echo.
echo done copying
echo.
echo make sure that MOZ_TOOLS\bin is on your path
echo.
goto done
:no_moz_tools
echo.
echo. ERROR!
echo.
echo You need to set MOZ_TOOLS in your environment.
echo MOZ_TOOLS should be the name of a directory that
echo you create to hold these tools.
echo.
echo. e.g.
echo. mkdir c:\moz_tools
echo. set MOZ_TOOLS=c:\moz_tools
echo.
echo MOZ_TOOLS should be set permanently so that it is
echo available to the build system whenever mozilla is building.
echo.
echo.
echo Please set MOZ_TOOLS and run install.bat again
echo.
:done
pause

Binary file not shown.

View File

@@ -1,12 +0,0 @@
Sources for glib are available from gnome.org via cvs. See cvs
checkout instructions at http://www.gnome.org - or use
export CVSROOT=:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome
cvs login (no password)
cvs -z3 checkout glib
or grap a package of the sources we're currently using from
ftp://ftp.mozilla.org/pub/mozilla/libraries/source/
These sources correspond to the GLIB_1_2_0 tag on the gnome cvs
server.

View File

@@ -1,14 +0,0 @@
Sources for libIDL are available from gnome.org via cvs. See cvs
checkout instructions at http://www.gnome.org - or use
export CVSROOT=:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome
cvs login (no password)
cvs -z3 checkout ORBit
(libIDL files are in ORBit/libIDL)
or grap a package of the sources we're currently using from
ftp://ftp.mozilla.org/pub/mozilla/libraries/source/
These sources correspond to the LIBIDL_V0_6_3 tag on the gnome cvs
server.

View File

@@ -1,7 +0,0 @@
This directory contains the source files for nsinstall.exe,
which is used to build the Mozilla client on Win32.
To build nsinstall.exe, issue the command:
nmake /f nsinstall.mak
The output is Release\nsinstall.exe. Copy it to a directory
on your Path.

View File

@@ -1,697 +0,0 @@
/*
* The nsinstall command for Win32
*
* Our gmake makefiles use the nsinstall command to create the
* object directories or installing headers and libs to ns/dist.
* The shmsdos shell has nsinstall as a built-in command. However,
* if we use another shell like MKS toolkit's sh, we need to have
* the nsinstall command separately.
*
* This file was generated by just taking the part of shmsdos.c
* needed by nsinstall and deleting the recursive directory copy code.
*
* To build, say
* nmake /f nsinstall.mak
*/
#include <direct.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <windows.h>
#pragma hdrstop
/*
* sh_FileFcn --
*
* A function that operates on a file. The pathname is either
* absolute or relative to the current directory, and contains
* no wildcard characters such as * and ?. Additional arguments
* can be passed to the function via the arg pointer.
*/
typedef BOOL (*sh_FileFcn)(
char *pathName,
WIN32_FIND_DATA *fileData,
void *arg);
static int shellCp (char **pArgv);
static int shellNsinstall (char **pArgv);
static int shellMkdir (char **pArgv);
static BOOL sh_EnumerateFiles(const char *pattern, const char *where,
sh_FileFcn fileFcn, void *arg, int *nFiles);
static const char *sh_GetLastErrorMessage(void);
static BOOL sh_DoCopy(char *srcFileName, DWORD srcFileAttributes,
char *dstFileName, DWORD dstFileAttributes,
int force, int recursive);
/* changes all forward slashes in token to back slashes */
void changeForwardSlashesTpBackSlashes ( char *arg )
{
if ( arg == NULL )
return;
while ( *arg ) {
if ( *arg == '/' )
*arg = '\\';
arg++;
}
}
int main(int argc, char *argv[ ])
{
return shellNsinstall ( argv + 1 );
}
static int
shellNsinstall (char **pArgv)
{
int retVal = 0; /* exit status */
int dirOnly = 0; /* 1 if and only if -D is specified */
char **pSrc;
char **pDst;
/*
* Process the command-line options. We ignore the
* options except for -D. Some options, such as -m,
* are followed by an argument. We need to skip the
* argument too.
*/
while ( *pArgv && **pArgv == '-' ) {
char c = (*pArgv)[1]; /* The char after '-' */
if ( c == 'D' ) {
dirOnly = 1;
} else if ( c == 'm' ) {
pArgv++; /* skip the next argument */
}
pArgv++;
}
if ( !dirOnly ) {
/* There are files to install. Get source files */
if ( *pArgv ) {
pSrc = pArgv++;
} else {
fprintf( stderr, "nsinstall: not enough arguments\n");
return 3;
}
}
/* Get to last token to find destination directory */
if ( *pArgv ) {
pDst = pArgv++;
if ( dirOnly && *pArgv ) {
fprintf( stderr, "nsinstall: too many arguments with -D\n");
return 3;
}
} else {
fprintf( stderr, "nsinstall: not enough arguments\n");
return 3;
}
while ( *pArgv )
pDst = pArgv++;
retVal = shellMkdir ( pDst );
if ( retVal )
return retVal;
if ( !dirOnly )
retVal = shellCp ( pSrc );
return retVal;
}
static int
shellMkdir (char **pArgv)
{
int retVal = 0; /* assume valid return */
char *arg;
char *pArg;
char path[_MAX_PATH];
char tmpPath[_MAX_PATH];
char *pTmpPath = tmpPath;
/* All the options are simply ignored in this implementation */
while ( *pArgv && **pArgv == '-' ) {
if ( (*pArgv)[1] == 'm' ) {
pArgv++; /* skip the next argument (mode) */
}
pArgv++;
}
while ( *pArgv ) {
arg = *pArgv;
changeForwardSlashesTpBackSlashes ( arg );
pArg = arg;
pTmpPath = tmpPath;
while ( 1 ) {
/* create part of path */
while ( *pArg ) {
*pTmpPath++ = *pArg++;
if ( *pArg == '\\' )
break;
}
*pTmpPath = '\0';
/* check if directory alreay exists */
_getcwd ( path, sizeof (path) );
if ( _chdir ( tmpPath ) != -1 ) {
_chdir ( path );
} else {
if ( _mkdir ( tmpPath ) == -1 ) {
// while ( waitForDebug );
printf ( "%s: ", tmpPath );
perror ( "Could not create the directory" );
retVal = 3;
break;
}
}
if ( *pArg == '\0' ) /* complete path? */
break;
/* loop for next directory */
}
pArgv++;
}
return retVal;
}
static const char *
sh_GetLastErrorMessage()
{
static char buf[128];
FormatMessage(
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), /* default language */
buf,
sizeof(buf),
NULL
);
return buf;
}
/*
* struct sh_FileData --
*
* A pointer to the sh_FileData structure is passed into sh_RecordFileData,
* which will fill in the fields.
*/
struct sh_FileData {
char pathName[_MAX_PATH];
DWORD dwFileAttributes;
};
/*
* sh_RecordFileData --
*
* Record the pathname and attributes of the file in
* the sh_FileData structure pointed to by arg.
*
* Always return TRUE (successful completion).
*
* This function is intended to be passed into sh_EnumerateFiles
* to see if a certain pattern expands to exactly one file/directory,
* and if so, record its pathname and attributes.
*/
static BOOL
sh_RecordFileData(char *pathName, WIN32_FIND_DATA *findData, void *arg)
{
struct sh_FileData *fData = (struct sh_FileData *) arg;
strcpy(fData->pathName, pathName);
fData->dwFileAttributes = findData->dwFileAttributes;
return TRUE;
}
static BOOL
sh_DoCopy(char *srcFileName,
DWORD srcFileAttributes,
char *dstFileName,
DWORD dstFileAttributes,
int force,
int recursive
)
{
if (dstFileAttributes != 0xFFFFFFFF) {
if ((dstFileAttributes & FILE_ATTRIBUTE_READONLY) && force) {
dstFileAttributes &= ~FILE_ATTRIBUTE_READONLY;
SetFileAttributes(dstFileName, dstFileAttributes);
}
}
if (srcFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
fprintf(stderr, "nsinstall: %s is a directory\n",
srcFileName);
return FALSE;
} else {
if (!CopyFile(srcFileName, dstFileName, FALSE)) {
fprintf(stderr, "nsinstall: cannot copy %s to %s: %s\n",
srcFileName, dstFileName, sh_GetLastErrorMessage());
return FALSE;
}
}
return TRUE;
}
/*
* struct sh_CpCmdArg --
*
* A pointer to the sh_CpCmdArg structure is passed into sh_CpFileCmd.
* The sh_CpCmdArg contains information about the cp command, and
* provide a buffer for constructing the destination file name.
*/
struct sh_CpCmdArg {
int force; /* -f option, ok to overwrite an existing
* read-only destination file */
int recursive; /* -r or -R option, recursively copy
* directories. Note: this field is not used
* by nsinstall and should always be 0. */
char *dstFileName; /* a buffer for constructing the destination
* file name */
char *dstFileNameMarker; /* points to where in the dstFileName buffer
* we should write the file component of the
* destination file */
};
/*
* sh_CpFileCmd --
*
* Copy a file to the destination directory
*
* This function is intended to be passed into sh_EnumerateFiles to
* copy all the files specified by the pattern to the destination
* directory.
*
* Return TRUE if the file is successfully copied, and FALSE otherwise.
*/
static BOOL
sh_CpFileCmd(char *pathName, WIN32_FIND_DATA *findData, void *cpArg)
{
BOOL retVal = TRUE;
struct sh_CpCmdArg *arg = (struct sh_CpCmdArg *) cpArg;
strcpy(arg->dstFileNameMarker, findData->cFileName);
return sh_DoCopy(pathName, findData->dwFileAttributes,
arg->dstFileName, GetFileAttributes(arg->dstFileName),
arg->force, arg->recursive);
}
static int
shellCp (char **pArgv)
{
int retVal = 0;
char **pSrc;
char **pDst;
struct sh_CpCmdArg arg;
struct sh_FileData dstData;
int dstIsDir = 0;
int n;
arg.force = 0;
arg.recursive = 0;
arg.dstFileName = dstData.pathName;
arg.dstFileNameMarker = 0;
while (*pArgv && **pArgv == '-') {
char *p = *pArgv;
while (*(++p)) {
if (*p == 'f') {
arg.force = 1;
}
}
pArgv++;
}
/* the first source file */
if (*pArgv) {
pSrc = pArgv++;
} else {
fprintf(stderr, "nsinstall: not enough arguments\n");
return 3;
}
/* get to the last token to find destination */
if (*pArgv) {
pDst = pArgv++;
} else {
fprintf(stderr, "nsinstall: not enough arguments\n");
return 3;
}
while (*pArgv) {
pDst = pArgv++;
}
/*
* The destination pattern must unambiguously expand to exactly
* one file or directory.
*/
changeForwardSlashesTpBackSlashes(*pDst);
sh_EnumerateFiles(*pDst, *pDst, sh_RecordFileData, &dstData, &n);
assert(n >= 0);
if (n == 1) {
/*
* Is the destination a file or directory?
*/
if (dstData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
dstIsDir = 1;
}
} else if (n > 1) {
fprintf(stderr, "nsinstall: %s: ambiguous destination file "
"or directory\n", *pDst);
return 3;
} else {
/*
* n == 0, meaning that destination file or directory does
* not exist. In this case the destination file directory
* name must be fully specified.
*/
char *p;
for (p = *pDst; *p; p++) {
if (*p == '*' || *p == '?') {
fprintf(stderr, "nsinstall: %s: No such file or directory\n",
*pDst);
return 3;
}
}
/*
* Do not include the trailing \, if any, unless it is a root
* directory (\ or X:\).
*/
if (p > *pDst && p[-1] == '\\' && p != *pDst + 1 && p[-2] != ':') {
p[-1] = '\0';
}
strcpy(dstData.pathName, *pDst);
dstData.dwFileAttributes = 0xFFFFFFFF;
}
/*
* If there are two or more source files, the destination has
* to be a directory.
*/
if (pDst - pSrc > 1 && !dstIsDir) {
fprintf(stderr, "nsinstall: cannot copy more than"
" one file to the same destination file\n");
return 3;
}
if (dstIsDir) {
arg.dstFileNameMarker = arg.dstFileName + strlen(arg.dstFileName);
/*
* Now arg.dstFileNameMarker is pointing to the null byte at the
* end of string. We want to make sure that there is a \ at the
* end of string, and arg.dstFileNameMarker should point right
* after that \.
*/
if (arg.dstFileNameMarker[-1] != '\\') {
*(arg.dstFileNameMarker++) = '\\';
}
}
if (!dstIsDir) {
struct sh_FileData srcData;
assert(pDst - pSrc == 1);
changeForwardSlashesTpBackSlashes(*pSrc);
sh_EnumerateFiles(*pSrc, *pSrc, sh_RecordFileData, &srcData, &n);
if (n == 0) {
fprintf(stderr, "nsinstall: %s: No such file or directory\n",
*pSrc);
retVal = 3;
} else if (n > 1) {
fprintf(stderr, "nsinstall: cannot copy more than one file or "
"directory to the same destination\n");
retVal = 3;
} else {
assert(n == 1);
if (sh_DoCopy(srcData.pathName, srcData.dwFileAttributes,
dstData.pathName, dstData.dwFileAttributes,
arg.force, arg.recursive) == FALSE) {
retVal = 3;
}
}
return retVal;
}
for ( ; *pSrc != *pDst; pSrc++) {
BOOL rv;
changeForwardSlashesTpBackSlashes(*pSrc);
rv = sh_EnumerateFiles(*pSrc, *pSrc, sh_CpFileCmd, &arg, &n);
if (rv == FALSE) {
retVal = 3;
} else {
if (n == 0) {
fprintf(stderr, "nsinstall: %s: No such file or directory\n",
*pSrc);
retVal = 3;
}
}
}
return retVal;
}
/*
* sh_EnumerateFiles --
*
* Enumerate all the files in the specified pattern, which is a pathname
* containing possibly wildcard characters such as * and ?. fileFcn
* is called on each file, passing the expanded file name, a pointer
* to the file's WIN32_FILE_DATA, and the arg pointer.
*
* It is assumed that there are no wildcard characters before the
* character pointed to by 'where'.
*
* On return, *nFiles stores the number of files enumerated. *nFiles is
* set to this number whether sh_EnumerateFiles or 'fileFcn' succeeds
* or not.
*
* Return TRUE if the files are successfully enumerated and all
* 'fileFcn' invocations succeeded. Return FALSE if something went
* wrong.
*/
static BOOL sh_EnumerateFiles(
const char *pattern,
const char *where,
sh_FileFcn fileFcn,
void *arg,
int *nFiles
)
{
WIN32_FIND_DATA fileData;
HANDLE hSearch;
const char *src;
char *dst;
char fileName[_MAX_PATH];
char *fileNameMarker = fileName;
char *oldFileNameMarker;
BOOL hasWildcard = FALSE;
BOOL retVal = TRUE;
BOOL patternEndsInDotStar = FALSE;
BOOL patternEndsInDot = FALSE; /* a special case of
* patternEndsInDotStar */
int numDotsInPattern;
int len;
/*
* Windows expands patterns ending in ".", ".*", ".**", etc.
* differently from the glob expansion on Unix. For example,
* both "foo." and "foo.*" match "foo", and "*.*" matches
* everything, including filenames with no dots. So we need
* to throw away extra files returned by the FindNextFile()
* function. We require that a matched filename have at least
* the number of dots in the pattern.
*/
len = strlen(pattern);
if (len >= 2) {
/* Start from the end of pattern and go backward */
const char *p = &pattern[len - 1];
/* We can have zero or more *'s */
while (p >= pattern && *p == '*') {
p--;
}
if (p >= pattern && *p == '.') {
patternEndsInDotStar = TRUE;
if (p == &pattern[len - 1]) {
patternEndsInDot = TRUE;
}
p--;
numDotsInPattern = 1;
while (p >= pattern && *p != '\\') {
if (*p == '.') {
numDotsInPattern++;
}
p--;
}
}
}
*nFiles = 0;
/*
* Copy pattern to fileName, but only up to and not including
* the first \ after the first wildcard letter.
*
* Make fileNameMarker point to one of the following:
* - the start of fileName, if fileName does not contain any \.
* - right after the \ before the first wildcard letter, if there is
* a wildcard character.
* - right after the last \, if there is no wildcard character.
*/
dst = fileName;
src = pattern;
while (src < where) {
if (*src == '\\') {
oldFileNameMarker = fileNameMarker;
fileNameMarker = dst + 1;
}
*(dst++) = *(src++);
}
while (*src && *src != '*' && *src != '?') {
if (*src == '\\') {
oldFileNameMarker = fileNameMarker;
fileNameMarker = dst + 1;
}
*(dst++) = *(src++);
}
if (*src) {
/*
* Must have seen the first wildcard letter
*/
hasWildcard = TRUE;
while (*src && *src != '\\') {
*(dst++) = *(src++);
}
}
/* Now src points to either null or \ */
assert(*src == '\0' || *src == '\\');
assert(hasWildcard || *src == '\0');
*dst = '\0';
/*
* If the pattern does not contain any wildcard characters, then
* we don't need to go the FindFirstFile route.
*/
if (!hasWildcard) {
/*
* See if it is the root directory, \, or X:\.
*/
assert(!strcmp(fileName, pattern));
assert(strlen(fileName) >= 1);
if (dst[-1] == '\\' && (dst == fileName + 1 || dst[-2] == ':')) {
fileData.cFileName[0] = '\0';
} else {
/*
* Do not include the trailing \, if any
*/
if (dst[-1] == '\\') {
assert(*fileNameMarker == '\0');
dst[-1] = '\0';
fileNameMarker = oldFileNameMarker;
}
strcpy(fileData.cFileName, fileNameMarker);
}
fileData.dwFileAttributes = GetFileAttributes(fileName);
if (fileData.dwFileAttributes == 0xFFFFFFFF) {
return TRUE;
}
*nFiles = 1;
return (*fileFcn)(fileName, &fileData, arg);
}
hSearch = FindFirstFile(fileName, &fileData);
if (hSearch == INVALID_HANDLE_VALUE) {
return retVal;
}
do {
if (!strcmp(fileData.cFileName, ".")
|| !strcmp(fileData.cFileName, "..")) {
/*
* Skip over . and ..
*/
continue;
}
if (patternEndsInDotStar) {
int nDots = 0;
char *p = fileData.cFileName;
while (*p) {
if (*p == '.') {
nDots++;
}
p++;
}
/* Now p points to the null byte at the end of file name */
if (patternEndsInDot && (p == fileData.cFileName
|| p[-1] != '.')) {
/*
* File name does not end in dot. Skip this file.
* Note: windows file name probably cannot end in dot,
* but we do this check anyway.
*/
continue;
}
if (nDots < numDotsInPattern) {
/*
* Not enough dots in file name. Must be an extra
* file in matching .* pattern. Skip this file.
*/
continue;
}
}
strcpy(fileNameMarker, fileData.cFileName);
if (*src && *(src + 1)) {
/*
* More to go. Recurse.
*/
int n;
assert(*src == '\\');
where = fileName + strlen(fileName);
strcat(fileName, src);
sh_EnumerateFiles(fileName, where, fileFcn, arg, &n);
*nFiles += n;
} else {
assert(strchr(fileName, '*') == NULL);
assert(strchr(fileName, '?') == NULL);
(*nFiles)++;
if ((*fileFcn)(fileName, &fileData, arg) == FALSE) {
retVal = FALSE;
}
}
} while (FindNextFile(hSearch, &fileData));
FindClose(hSearch);
return retVal;
}

View File

@@ -1,141 +0,0 @@
# NMAKE file for building nsinstall.exe.
#
# This file is edited from an NMAKE file generated by
# Microsoft Developer Studio, Format Version 4.20
#
# To build, say
# nmake /f nsinstall.mak CFG=Release
# or
# nmake /f nsinstall.mak CFG=Debug
# If CFG is omitted, a release build is assumed.
!IF "$(CFG)" == ""
CFG=Release
!MESSAGE No configuration specified. Defaulting Release.
!ENDIF
!IF "$(CFG)" != "Release" && "$(CFG)" != "Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE on this makefile
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "nsinstall.mak" CFG="Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "Release" (based on "Win32 Console Application")
!MESSAGE "Debug" (based on "Win32 Console Application")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
################################################################################
# Begin Project
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "Release"
OUTDIR=.\Release
INTDIR=.\Release
ALL : "$(OUTDIR)\nsinstall.exe"
CLEAN :
-@erase "$(INTDIR)\nsinstall.obj"
-@erase "$(OUTDIR)\nsinstall.exe"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE"\
/Fp"$(INTDIR)/nsinstall.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
CPP_SBRS=.\.
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)/nsinstall.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=/nologo\
/subsystem:console /incremental:no /pdb:"$(OUTDIR)/nsinstall.pdb"\
/out:"$(OUTDIR)/nsinstall.exe"
LINK32_OBJS= \
"$(INTDIR)\nsinstall.obj"
"$(OUTDIR)\nsinstall.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ELSEIF "$(CFG)" == "Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
ALL : "$(OUTDIR)\nsinstall.exe"
CLEAN :
-@erase "$(INTDIR)\nsinstall.obj"
-@erase "$(INTDIR)\vc40.idb"
-@erase "$(INTDIR)\vc40.pdb"
-@erase "$(OUTDIR)\nsinstall.exe"
-@erase "$(OUTDIR)\nsinstall.ilk"
-@erase "$(OUTDIR)\nsinstall.pdb"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MD /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "DEBUG"\
/D "_CONSOLE" /Fp"$(INTDIR)/nsinstall.pch" /YX /Fo"$(INTDIR)/"\
/Fd"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
CPP_SBRS=.\.
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)/nsinstall.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=/nologo\
/subsystem:console /incremental:yes /pdb:"$(OUTDIR)/nsinstall.pdb" /debug\
/out:"$(OUTDIR)/nsinstall.exe"
LINK32_OBJS= \
"$(INTDIR)\nsinstall.obj"
"$(OUTDIR)\nsinstall.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ENDIF
.c{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.c{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
################################################################################
# Begin Target
################################################################################
# Begin Source File
SOURCE=.\nsinstall.c
DEP_CPP_SHMSD=\
{$(INCLUDE)}"\sys\stat.h"\
{$(INCLUDE)}"\sys\types.h"\
"$(INTDIR)\nsinstall.obj" : $(SOURCE) $(DEP_CPP_SHMSD) "$(INTDIR)"
# End Source File
# End Target
# End Project
################################################################################

View File

@@ -1,504 +0,0 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

View File

@@ -1,481 +0,0 @@
GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Library General Public License, applies to some
specially designated Free Software Foundation software, and to any
other libraries whose authors decide to use it. You can use it for
your libraries, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if
you distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link a program with the library, you must provide
complete object files to the recipients so that they can relink them
with the library, after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
Our method of protecting your rights has two steps: (1) copyright
the library, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the library.
Also, for each distributor's protection, we want to make certain
that everyone understands that there is no warranty for this free
library. If the library is modified by someone else and passed on, we
want its recipients to know that what they have is not the original
version, so that any problems introduced by others will not reflect on
the original authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that companies distributing free
software will individually obtain patent licenses, thus in effect
transforming the program into proprietary software. To prevent this,
we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all.
Most GNU software, including some libraries, is covered by the ordinary
GNU General Public License, which was designed for utility programs. This
license, the GNU Library General Public License, applies to certain
designated libraries. This license is quite different from the ordinary
one; be sure to read it in full, and don't assume that anything in it is
the same as in the ordinary license.
The reason we have a separate public license for some libraries is that
they blur the distinction we usually make between modifying or adding to a
program and simply using it. Linking a program with a library, without
changing the library, is in some sense simply using the library, and is
analogous to running a utility program or application program. However, in
a textual and legal sense, the linked executable is a combined work, a
derivative of the original library, and the ordinary General Public License
treats it as such.
Because of this blurred distinction, using the ordinary General
Public License for libraries did not effectively promote software
sharing, because most developers did not use the libraries. We
concluded that weaker conditions might promote sharing better.
However, unrestricted linking of non-free programs would deprive the
users of those programs of all benefit from the free status of the
libraries themselves. This Library General Public License is intended to
permit developers of non-free programs to use free libraries, while
preserving your freedom as a user of such programs to change the free
libraries that are incorporated in them. (We have not seen how to achieve
this as regards changes in header files, but we have achieved it as regards
changes in the actual functions of the Library.) The hope is that this
will lead to faster development of free libraries.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, while the latter only
works together with the library.
Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one.
GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library which
contains a notice placed by the copyright holder or other authorized
party saying it may be distributed under the terms of this Library
General Public License (also called "this License"). Each licensee is
addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also compile or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
c) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
d) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the source code distributed need not include anything that is normally
distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Library General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

View File

@@ -1,8 +0,0 @@
These libraries were compiled using .NET/VC7. The original
sources can be found at ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz &
ftp://ftp.mozilla.org/pub/mozilla/libraries/source/libIDL-0.6.8.tar.gz.
The patches used to build can be found at
http://bugzilla.mozilla.org/show_bug.cgi?id=123743 .
- cls, 2002/10/18

File diff suppressed because it is too large Load Diff

View File

@@ -1,174 +0,0 @@
/* glibconfig.h.win32 */
/* Handcrafted for Microsoft C. */
#ifndef GLIBCONFIG_H
#define GLIBCONFIG_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#ifdef _MSC_VER
/* Make MSVC more pedantic, this is a recommended pragma list
* from _Win32_Programming_ by Rector and Newcomer.
*/
#pragma warning(error:4002)
#pragma warning(error:4003)
#pragma warning(1:4010)
#pragma warning(error:4013)
#pragma warning(1:4016)
#pragma warning(error:4020)
#pragma warning(error:4021)
#pragma warning(error:4027)
#pragma warning(error:4029)
#pragma warning(error:4033)
#pragma warning(error:4035)
#pragma warning(error:4045)
#pragma warning(error:4047)
#pragma warning(error:4049)
#pragma warning(error:4053)
#pragma warning(error:4071)
#pragma warning(disable:4101)
#pragma warning(error:4150)
#pragma warning(disable:4244) /* No possible loss of data warnings */
#pragma warning(disable:4305) /* No truncation from int to char warnings */
#endif /* _MSC_VER */
#include <limits.h>
#include <float.h>
#define G_MINFLOAT FLT_MIN
#define G_MAXFLOAT FLT_MAX
#define G_MINDOUBLE DBL_MIN
#define G_MAXDOUBLE DBL_MAX
#define G_MINSHORT SHRT_MIN
#define G_MAXSHORT SHRT_MAX
#define G_MININT INT_MIN
#define G_MAXINT INT_MAX
#define G_MINLONG LONG_MIN
#define G_MAXLONG LONG_MAX
typedef signed char gint8;
typedef unsigned char guint8;
typedef signed short gint16;
typedef unsigned short guint16;
typedef signed int gint32;
typedef unsigned int guint32;
#define G_HAVE_GINT64 1
typedef __int64 gint64;
typedef unsigned __int64 guint64;
#define G_GINT64_CONSTANT(val) (val##i64)
#define GPOINTER_TO_INT(p) ((gint)(p))
#define GPOINTER_TO_UINT(p) ((guint)(p))
#define GINT_TO_POINTER(i) ((gpointer)(i))
#define GUINT_TO_POINTER(u) ((gpointer)(u))
#define g_ATEXIT(proc) (atexit (proc))
#define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END
#define G_HAVE_ALLOCA 1
#define alloca _alloca
#define GLIB_MAJOR_VERSION 1
#define GLIB_MINOR_VERSION 2
#define GLIB_MICRO_VERSION 10
#ifdef __cplusplus
#define G_HAVE_INLINE 1
#else /* !__cplusplus */
#define G_HAVE___INLINE 1
#endif
#define G_THREADS_ENABLED
/*
* The following program can be used to determine the magic values below:
* #include <stdio.h>
* #include <pthread.h>
* main(int argc, char **argv)
* {
* int i;
* pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;
* printf ("sizeof (pthread_mutex_t) = %d\n", sizeof (pthread_mutex_t));
* printf ("PTHREAD_MUTEX_INITIALIZER = ");
* for (i = 0; i < sizeof (pthread_mutex_t); i++)
* printf ("%u, ", ((unsigned char *) &m)[i]);
* printf ("\n");
* exit(0);
* }
*/
#define G_THREADS_IMPL_POSIX
typedef struct _GStaticMutex GStaticMutex;
struct _GStaticMutex
{
struct _GMutex *runtime_mutex;
union {
/* The size of the pad array should be sizeof (pthread_mutext_t) */
/* This value corresponds to the 1999-04-07 version of pthreads-win32 */
char pad[4];
double dummy_double;
void *dummy_pointer;
long dummy_long;
} aligned_pad_u;
};
/* This should be NULL followed by the bytes in PTHREAD_MUTEX_INITIALIZER */
#define G_STATIC_MUTEX_INIT { NULL, { { 255, 255, 255, 255 } } }
#define g_static_mutex_get_mutex(mutex) \
(g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
#define G_BYTE_ORDER G_LITTLE_ENDIAN
#define GINT16_TO_LE(val) ((gint16) (val))
#define GUINT16_TO_LE(val) ((guint16) (val))
#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val))
#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val))
#define GINT32_TO_LE(val) ((gint32) (val))
#define GUINT32_TO_LE(val) ((guint32) (val))
#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val))
#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val))
#define GINT64_TO_LE(val) ((gint64) (val))
#define GUINT64_TO_LE(val) ((guint64) (val))
#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val))
#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val))
#define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val))
#define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val))
#define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val))
#define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val))
#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val))
#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val))
#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val))
#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val))
#define GLIB_SYSDEF_POLLIN = 1
#define GLIB_SYSDEF_POLLOUT = 4
#define GLIB_SYSDEF_POLLPRI = 2
#define GLIB_SYSDEF_POLLERR = 8
#define GLIB_SYSDEF_POLLHUP = 16
#define GLIB_SYSDEF_POLLNVAL = 32
#define G_HAVE_WCHAR_H 1
#define G_HAVE_WCTYPE_H 1
/* Define if this is Win32, possibly using the Cygwin emulation layer. */
#define WIN32 1
/* Define if this is Win32 without Cygwin. */
#define NATIVE_WIN32 1
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* GLIBCONFIG_H */

View File

@@ -1,851 +0,0 @@
/**************************************************************************
IDL.h (IDL parse tree and namespace components)
Copyright (C) 1998, 1999 Andrew T. Veliath
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: IDL.h,v 1.1 2002-10-18 08:31:49 seawood%netscape.com Exp $
***************************************************************************/
#ifndef __IDL_H
#define __IDL_H
#include <glib.h>
/* Try to find wchar_t support */
#include <stdlib.h>
#if 1 /* HAVE_WCHAR_H */
# include <wchar.h>
#endif
#if 0 /* HAVE_WCSTR_H */
# include <wcstr.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* version */
#define LIBIDL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
#define LIBIDL_MAJOR_VERSION 0
#define LIBIDL_MINOR_VERSION 6
#define LIBIDL_MICRO_VERSION 8
#define LIBIDL_VERSION_CODE LIBIDL_VERSION(0,6,8)
/* miscellaneous constants */
#define IDL_SUCCESS 0
#define IDL_ERROR 1
#define IDL_WARNING1 2
#define IDL_WARNING2 3
#define IDL_WARNING3 4
#define IDL_WARNINGMAX IDL_WARNING3
/* general parse flags */
#define IDLF_VERBOSE (1UL << 0)
#define IDLF_NO_EVAL_CONST (1UL << 1)
#define IDLF_COMBINE_REOPENED_MODULES (1UL << 2)
#define IDLF_PREFIX_FILENAME (1UL << 3)
#define IDLF_IGNORE_FORWARDS (1UL << 4)
#define IDLF_PEDANTIC (1UL << 5)
#define IDLF_INHIBIT_TAG_ONLY (1UL << 6)
#define IDLF_INHIBIT_INCLUDES (1UL << 7)
/* syntax extension parse flags */
#define IDLF_TYPECODES (1UL << 16)
#define IDLF_XPIDL (1UL << 17)
#define IDLF_PROPERTIES (1UL << 18)
#define IDLF_CODEFRAGS (1UL << 19)
/* declaration specification flags */
#define IDLF_DECLSPEC_EXIST (1UL << 0)
#define IDLF_DECLSPEC_INHIBIT (1UL << 1)
/* output flags */
#define IDLF_OUTPUT_NO_NEWLINES (1UL << 0)
#define IDLF_OUTPUT_NO_QUALIFY_IDENTS (1UL << 1)
#define IDLF_OUTPUT_PROPERTIES (1UL << 2)
#define IDLF_OUTPUT_CODEFRAGS (1UL << 3)
#ifdef _WIN32
# define IDL_EXPORT __declspec (dllexport)
# define IDL_IMPORT __declspec (dllimport)
#else
# define IDL_EXPORT /* empty */
# define IDL_IMPORT extern
#endif
/* type casting checks */
#define IDL_check_cast_enable(boolean) do { \
IDL_IMPORT int __IDL_check_type_casts; \
__IDL_check_type_casts = (boolean); \
} while (0)
#define IDL_CHECK_CAST(tree, thetype, name) \
(IDL_check_type_cast(tree, thetype, \
__FILE__, __LINE__, \
G_GNUC_PRETTY_FUNCTION)->u.name)
#ifdef G_HAVE_GINT64
# if G_MAXLONG > 0xffffffffUL
# define IDL_LL "l"
# else
# define IDL_LL "ll"
# endif
typedef gint64 IDL_longlong_t;
typedef guint64 IDL_ulonglong_t;
#else
# define IDL_LL "l"
typedef long IDL_longlong_t;
typedef unsigned long IDL_ulonglong_t;
# warning 64-bit integer type not available, using 32-bit instead
#endif /* G_HAVE_GINT64 */
typedef unsigned int IDL_declspec_t;
typedef struct _IDL_tree_node IDL_tree_node;
typedef struct _IDL_tree_node * IDL_tree;
struct _IDL_LIST {
IDL_tree data;
IDL_tree prev;
IDL_tree next;
IDL_tree _tail; /* Internal use, may not be valid */
};
#define IDL_LIST(a) IDL_CHECK_CAST(a, IDLN_LIST, idl_list)
extern IDL_tree IDL_list_new (IDL_tree data);
extern IDL_tree IDL_list_concat (IDL_tree orig,
IDL_tree append);
extern IDL_tree IDL_list_remove (IDL_tree list,
IDL_tree p);
extern int IDL_list_length (IDL_tree list);
extern IDL_tree IDL_list_nth (IDL_tree list,
int n);
struct _IDL_GENTREE {
IDL_tree data;
GHashTable *siblings;
GHashTable *children;
GHashFunc hash_func;
GCompareFunc key_compare_func;
IDL_tree _import; /* Internal use, do not recurse */
char *_cur_prefix; /* Internal use */
};
#define IDL_GENTREE(a) IDL_CHECK_CAST(a, IDLN_GENTREE, idl_gentree)
extern IDL_tree IDL_gentree_new (GHashFunc hash_func,
GCompareFunc key_compare_func,
IDL_tree data);
extern IDL_tree IDL_gentree_new_sibling (IDL_tree from,
IDL_tree data);
extern IDL_tree IDL_gentree_chain_sibling (IDL_tree from,
IDL_tree data);
extern IDL_tree IDL_gentree_chain_child (IDL_tree from,
IDL_tree data);
struct _IDL_INTEGER {
IDL_longlong_t value;
};
#define IDL_INTEGER(a) IDL_CHECK_CAST(a, IDLN_INTEGER, idl_integer)
extern IDL_tree IDL_integer_new (IDL_longlong_t value);
struct _IDL_STRING {
char *value;
};
#define IDL_STRING(a) IDL_CHECK_CAST(a, IDLN_STRING, idl_string)
extern IDL_tree IDL_string_new (char *value);
struct _IDL_WIDE_STRING {
wchar_t *value;
};
#define IDL_WIDE_STRING(a) IDL_CHECK_CAST(a, IDLN_WIDE_STRING, idl_wide_string)
extern IDL_tree IDL_wide_string_new (wchar_t *value);
struct _IDL_CHAR {
char *value;
};
#define IDL_CHAR(a) IDL_CHECK_CAST(a, IDLN_CHAR, idl_char)
extern IDL_tree IDL_char_new (char *value);
struct _IDL_WIDE_CHAR {
wchar_t *value;
};
#define IDL_WIDE_CHAR(a) IDL_CHECK_CAST(a, IDLN_WIDE_CHAR, idl_wide_char)
extern IDL_tree IDL_wide_char_new (wchar_t *value);
struct _IDL_FIXED {
char *value;
};
#define IDL_FIXED(a) IDL_CHECK_CAST(a, IDLN_FIXED, idl_fixed)
extern IDL_tree IDL_fixed_new (char *value);
struct _IDL_FLOAT {
double value;
};
#define IDL_FLOAT(a) IDL_CHECK_CAST(a, IDLN_FLOAT, idl_float)
extern IDL_tree IDL_float_new (double value);
struct _IDL_BOOLEAN {
unsigned value;
};
#define IDL_BOOLEAN(a) IDL_CHECK_CAST(a, IDLN_BOOLEAN, idl_boolean)
extern IDL_tree IDL_boolean_new (unsigned value);
struct _IDL_IDENT {
char *str;
char *repo_id;
GSList *comments;
IDL_tree _ns_ref; /* Internal use, do not recurse */
unsigned _flags; /* Internal use */
#define IDLF_IDENT_CASE_MISMATCH_HIT (1UL << 0)
};
#define IDL_IDENT(a) IDL_CHECK_CAST(a, IDLN_IDENT, idl_ident)
#define IDL_IDENT_TO_NS(a) IDL_CHECK_CAST(a, IDLN_IDENT, idl_ident._ns_ref)
#define IDL_IDENT_REPO_ID(a) IDL_CHECK_CAST(a, IDLN_IDENT, idl_ident.repo_id)
extern IDL_tree IDL_ident_new (char *str);
extern void IDL_queue_new_ident_comment (const char *str);
enum IDL_float_type {
IDL_FLOAT_TYPE_FLOAT,
IDL_FLOAT_TYPE_DOUBLE,
IDL_FLOAT_TYPE_LONGDOUBLE
};
struct _IDL_TYPE_FLOAT {
enum IDL_float_type f_type;
};
#define IDL_TYPE_FLOAT(a) IDL_CHECK_CAST(a, IDLN_TYPE_FLOAT, idl_type_float)
extern IDL_tree IDL_type_float_new (enum IDL_float_type f_type);
struct _IDL_TYPE_FIXED {
IDL_tree positive_int_const;
IDL_tree integer_lit;
};
#define IDL_TYPE_FIXED(a) IDL_CHECK_CAST(a, IDLN_TYPE_FIXED, idl_type_fixed)
extern IDL_tree IDL_type_fixed_new (IDL_tree positive_int_const,
IDL_tree integer_lit);
enum IDL_integer_type {
IDL_INTEGER_TYPE_SHORT,
IDL_INTEGER_TYPE_LONG,
IDL_INTEGER_TYPE_LONGLONG
};
struct _IDL_TYPE_INTEGER {
unsigned f_signed : 1;
enum IDL_integer_type f_type;
};
#define IDL_TYPE_INTEGER(a) IDL_CHECK_CAST(a, IDLN_TYPE_INTEGER, idl_type_integer)
extern IDL_tree IDL_type_integer_new (unsigned f_signed,
enum IDL_integer_type f_type);
extern IDL_tree IDL_type_char_new (void);
extern IDL_tree IDL_type_wide_char_new (void);
extern IDL_tree IDL_type_boolean_new (void);
extern IDL_tree IDL_type_octet_new (void);
extern IDL_tree IDL_type_any_new (void);
extern IDL_tree IDL_type_object_new (void);
extern IDL_tree IDL_type_typecode_new (void);
struct _IDL_TYPE_STRING {
IDL_tree positive_int_const;
};
#define IDL_TYPE_STRING(a) IDL_CHECK_CAST(a, IDLN_TYPE_STRING, idl_type_string)
extern IDL_tree IDL_type_string_new (IDL_tree positive_int_const);
struct _IDL_TYPE_WIDE_STRING {
IDL_tree positive_int_const;
};
#define IDL_TYPE_WIDE_STRING(a) IDL_CHECK_CAST(a, IDLN_TYPE_WIDE_STRING, idl_type_wide_string)
extern IDL_tree IDL_type_wide_string_new (IDL_tree positive_int_const);
struct _IDL_TYPE_ENUM {
IDL_tree ident;
IDL_tree enumerator_list;
};
#define IDL_TYPE_ENUM(a) IDL_CHECK_CAST(a, IDLN_TYPE_ENUM, idl_type_enum)
extern IDL_tree IDL_type_enum_new (IDL_tree ident,
IDL_tree enumerator_list);
struct _IDL_TYPE_ARRAY {
IDL_tree ident;
IDL_tree size_list;
};
#define IDL_TYPE_ARRAY(a) IDL_CHECK_CAST(a, IDLN_TYPE_ARRAY, idl_type_array)
extern IDL_tree IDL_type_array_new (IDL_tree ident,
IDL_tree size_list);
struct _IDL_TYPE_SEQUENCE {
IDL_tree simple_type_spec;
IDL_tree positive_int_const;
};
#define IDL_TYPE_SEQUENCE(a) IDL_CHECK_CAST(a, IDLN_TYPE_SEQUENCE, idl_type_sequence)
extern IDL_tree IDL_type_sequence_new (IDL_tree simple_type_spec,
IDL_tree positive_int_const);
struct _IDL_TYPE_STRUCT {
IDL_tree ident;
IDL_tree member_list;
};
#define IDL_TYPE_STRUCT(a) IDL_CHECK_CAST(a, IDLN_TYPE_STRUCT, idl_type_struct)
extern IDL_tree IDL_type_struct_new (IDL_tree ident,
IDL_tree member_list);
struct _IDL_TYPE_UNION {
IDL_tree ident;
IDL_tree switch_type_spec;
IDL_tree switch_body;
};
#define IDL_TYPE_UNION(a) IDL_CHECK_CAST(a, IDLN_TYPE_UNION, idl_type_union)
extern IDL_tree IDL_type_union_new (IDL_tree ident,
IDL_tree switch_type_spec,
IDL_tree switch_body);
struct _IDL_MEMBER {
IDL_tree type_spec;
IDL_tree dcls;
};
#define IDL_MEMBER(a) IDL_CHECK_CAST(a, IDLN_MEMBER, idl_member)
extern IDL_tree IDL_member_new (IDL_tree type_spec,
IDL_tree dcls);
struct _IDL_NATIVE {
IDL_tree ident;
char *user_type; /* XPIDL extension */
};
#define IDL_NATIVE(a) IDL_CHECK_CAST(a, IDLN_NATIVE, idl_native)
extern IDL_tree IDL_native_new (IDL_tree ident);
struct _IDL_TYPE_DCL {
IDL_tree type_spec;
IDL_tree dcls;
};
#define IDL_TYPE_DCL(a) IDL_CHECK_CAST(a, IDLN_TYPE_DCL, idl_type_dcl)
extern IDL_tree IDL_type_dcl_new (IDL_tree type_spec,
IDL_tree dcls);
struct _IDL_CONST_DCL {
IDL_tree const_type;
IDL_tree ident;
IDL_tree const_exp;
};
#define IDL_CONST_DCL(a) IDL_CHECK_CAST(a, IDLN_CONST_DCL, idl_const_dcl)
extern IDL_tree IDL_const_dcl_new (IDL_tree const_type,
IDL_tree ident,
IDL_tree const_exp);
struct _IDL_EXCEPT_DCL {
IDL_tree ident;
IDL_tree members;
};
#define IDL_EXCEPT_DCL(a) IDL_CHECK_CAST(a, IDLN_EXCEPT_DCL, idl_except_dcl)
extern IDL_tree IDL_except_dcl_new (IDL_tree ident,
IDL_tree members);
struct _IDL_ATTR_DCL {
unsigned f_readonly : 1;
IDL_tree param_type_spec;
IDL_tree simple_declarations;
};
#define IDL_ATTR_DCL(a) IDL_CHECK_CAST(a, IDLN_ATTR_DCL, idl_attr_dcl)
extern IDL_tree IDL_attr_dcl_new (unsigned f_readonly,
IDL_tree param_type_spec,
IDL_tree simple_declarations);
struct _IDL_OP_DCL {
unsigned __f_noscript : 1; /* Deprecated */
unsigned f_oneway : 1;
/* XPIDL extension (varags) */
unsigned f_varargs : 1;
IDL_tree op_type_spec;
IDL_tree ident;
IDL_tree parameter_dcls;
IDL_tree raises_expr;
IDL_tree context_expr;
};
#define IDL_OP_DCL(a) IDL_CHECK_CAST(a, IDLN_OP_DCL, idl_op_dcl)
extern IDL_tree IDL_op_dcl_new (unsigned f_oneway,
IDL_tree op_type_spec,
IDL_tree ident,
IDL_tree parameter_dcls,
IDL_tree raises_expr,
IDL_tree context_expr);
enum IDL_param_attr {
IDL_PARAM_IN,
IDL_PARAM_OUT,
IDL_PARAM_INOUT
};
struct _IDL_PARAM_DCL {
enum IDL_param_attr attr;
IDL_tree param_type_spec;
IDL_tree simple_declarator;
};
#define IDL_PARAM_DCL(a) IDL_CHECK_CAST(a, IDLN_PARAM_DCL, idl_param_dcl)
extern IDL_tree IDL_param_dcl_new (enum IDL_param_attr attr,
IDL_tree param_type_spec,
IDL_tree simple_declarator);
struct _IDL_CASE_STMT {
IDL_tree labels;
IDL_tree element_spec;
};
#define IDL_CASE_STMT(a) IDL_CHECK_CAST(a, IDLN_CASE_STMT, idl_case_stmt)
extern IDL_tree IDL_case_stmt_new (IDL_tree labels,
IDL_tree element_spec);
struct _IDL_INTERFACE {
IDL_tree ident;
IDL_tree inheritance_spec;
IDL_tree body;
};
#define IDL_INTERFACE(a) IDL_CHECK_CAST(a, IDLN_INTERFACE, idl_interface)
extern IDL_tree IDL_interface_new (IDL_tree ident,
IDL_tree inheritance_spec,
IDL_tree body);
struct _IDL_FORWARD_DCL {
IDL_tree ident;
};
#define IDL_FORWARD_DCL(a) IDL_CHECK_CAST(a, IDLN_FORWARD_DCL, idl_forward_dcl)
extern IDL_tree IDL_forward_dcl_new (IDL_tree ident);
struct _IDL_MODULE {
IDL_tree ident;
IDL_tree definition_list;
};
#define IDL_MODULE(a) IDL_CHECK_CAST(a, IDLN_MODULE, idl_module)
extern IDL_tree IDL_module_new (IDL_tree ident,
IDL_tree definition_list);
enum IDL_binop {
IDL_BINOP_OR,
IDL_BINOP_XOR,
IDL_BINOP_AND,
IDL_BINOP_SHR,
IDL_BINOP_SHL,
IDL_BINOP_ADD,
IDL_BINOP_SUB,
IDL_BINOP_MULT,
IDL_BINOP_DIV,
IDL_BINOP_MOD
};
struct _IDL_BINOP {
enum IDL_binop op;
IDL_tree left, right;
};
#define IDL_BINOP(a) IDL_CHECK_CAST(a, IDLN_BINOP, idl_binop)
extern IDL_tree IDL_binop_new (enum IDL_binop op,
IDL_tree left,
IDL_tree right);
enum IDL_unaryop {
IDL_UNARYOP_PLUS,
IDL_UNARYOP_MINUS,
IDL_UNARYOP_COMPLEMENT
};
struct _IDL_UNARYOP {
enum IDL_unaryop op;
IDL_tree operand;
};
#define IDL_UNARYOP(a) IDL_CHECK_CAST(a, IDLN_UNARYOP, idl_unaryop)
extern IDL_tree IDL_unaryop_new (enum IDL_unaryop op,
IDL_tree operand);
/* XPIDL code fragments extension. */
struct _IDL_CODEFRAG {
char *desc;
GSList *lines;
};
#define IDL_CODEFRAG(a) IDL_CHECK_CAST(a, IDLN_CODEFRAG, idl_codefrag)
extern IDL_tree IDL_codefrag_new (char *desc,
GSList *lines);
/*
* IDL_tree_type - Enumerations of node types
*
* Note this enumerator list is subject to change in the future. A program should not need
* more than a recompilation to adjust for a change in this list, so instead of using a
* statically initialized jumptable, allocate an array of size IDLN_LAST and assign the
* elements manually.
*/
typedef enum {
IDLN_NONE,
IDLN_ANY,
IDLN_LIST,
IDLN_GENTREE,
IDLN_INTEGER,
IDLN_STRING,
IDLN_WIDE_STRING,
IDLN_CHAR,
IDLN_WIDE_CHAR,
IDLN_FIXED,
IDLN_FLOAT,
IDLN_BOOLEAN,
IDLN_IDENT,
IDLN_TYPE_DCL,
IDLN_CONST_DCL,
IDLN_EXCEPT_DCL,
IDLN_ATTR_DCL,
IDLN_OP_DCL,
IDLN_PARAM_DCL,
IDLN_FORWARD_DCL,
IDLN_TYPE_INTEGER,
IDLN_TYPE_FLOAT,
IDLN_TYPE_FIXED,
IDLN_TYPE_CHAR,
IDLN_TYPE_WIDE_CHAR,
IDLN_TYPE_STRING,
IDLN_TYPE_WIDE_STRING,
IDLN_TYPE_BOOLEAN,
IDLN_TYPE_OCTET,
IDLN_TYPE_ANY,
IDLN_TYPE_OBJECT,
IDLN_TYPE_TYPECODE,
IDLN_TYPE_ENUM,
IDLN_TYPE_SEQUENCE,
IDLN_TYPE_ARRAY,
IDLN_TYPE_STRUCT,
IDLN_TYPE_UNION,
IDLN_MEMBER,
IDLN_NATIVE,
IDLN_CASE_STMT,
IDLN_INTERFACE,
IDLN_MODULE,
IDLN_BINOP,
IDLN_UNARYOP,
IDLN_CODEFRAG,
IDLN_LAST
} IDL_tree_type;
IDL_IMPORT const char * IDL_tree_type_names[];
struct _IDL_tree_node {
IDL_tree_type _type;
IDL_tree up; /* Do not recurse */
IDL_declspec_t declspec;
GHashTable *properties;
int refs;
char *_file; /* Internal use */
int _line; /* Internal use */
union {
struct _IDL_LIST idl_list;
struct _IDL_GENTREE idl_gentree;
struct _IDL_INTEGER idl_integer;
struct _IDL_STRING idl_string;
struct _IDL_WIDE_STRING idl_wide_string;
struct _IDL_CHAR idl_char;
struct _IDL_WIDE_CHAR idl_wide_char;
struct _IDL_FIXED idl_fixed;
struct _IDL_FLOAT idl_float;
struct _IDL_BOOLEAN idl_boolean;
struct _IDL_IDENT idl_ident;
struct _IDL_TYPE_DCL idl_type_dcl;
struct _IDL_CONST_DCL idl_const_dcl;
struct _IDL_EXCEPT_DCL idl_except_dcl;
struct _IDL_ATTR_DCL idl_attr_dcl;
struct _IDL_OP_DCL idl_op_dcl;
struct _IDL_PARAM_DCL idl_param_dcl;
struct _IDL_FORWARD_DCL idl_forward_dcl;
struct _IDL_TYPE_FLOAT idl_type_float;
struct _IDL_TYPE_FIXED idl_type_fixed;
struct _IDL_TYPE_INTEGER idl_type_integer;
struct _IDL_TYPE_ENUM idl_type_enum;
struct _IDL_TYPE_STRING idl_type_string;
struct _IDL_TYPE_WIDE_STRING idl_type_wide_string;
struct _IDL_TYPE_SEQUENCE idl_type_sequence;
struct _IDL_TYPE_ARRAY idl_type_array;
struct _IDL_TYPE_STRUCT idl_type_struct;
struct _IDL_TYPE_UNION idl_type_union;
struct _IDL_MEMBER idl_member;
struct _IDL_NATIVE idl_native;
struct _IDL_CASE_STMT idl_case_stmt;
struct _IDL_INTERFACE idl_interface;
struct _IDL_MODULE idl_module;
struct _IDL_BINOP idl_binop;
struct _IDL_UNARYOP idl_unaryop;
struct _IDL_CODEFRAG idl_codefrag;
} u;
/* Fields for application use */
guint32 flags;
gpointer data;
};
#define IDL_NODE_TYPE(a) ((a)->_type)
#define IDL_NODE_TYPE_NAME(a) ((a)?IDL_tree_type_names[IDL_NODE_TYPE(a)]:"NULL")
#define IDL_NODE_UP(a) ((a)->up)
#define IDL_NODE_PROPERTIES(a) ((a)->properties)
#define IDL_NODE_DECLSPEC(a) ((a)->declspec)
#define IDL_NODE_REFS(a) ((a)->refs)
#define IDL_NODE_IS_LITERAL(a) \
(IDL_NODE_TYPE(a) == IDLN_INTEGER || \
IDL_NODE_TYPE(a) == IDLN_STRING || \
IDL_NODE_TYPE(a) == IDLN_WIDE_STRING || \
IDL_NODE_TYPE(a) == IDLN_CHAR || \
IDL_NODE_TYPE(a) == IDLN_WIDE_CHAR || \
IDL_NODE_TYPE(a) == IDLN_FIXED || \
IDL_NODE_TYPE(a) == IDLN_FLOAT || \
IDL_NODE_TYPE(a) == IDLN_BOOLEAN)
#define IDL_NODE_IS_TYPE(a) \
(IDL_NODE_TYPE(a) == IDLN_TYPE_INTEGER || \
IDL_NODE_TYPE(a) == IDLN_TYPE_STRING || \
IDL_NODE_TYPE(a) == IDLN_TYPE_WIDE_STRING || \
IDL_NODE_TYPE(a) == IDLN_TYPE_CHAR || \
IDL_NODE_TYPE(a) == IDLN_TYPE_WIDE_CHAR || \
IDL_NODE_TYPE(a) == IDLN_TYPE_FIXED || \
IDL_NODE_TYPE(a) == IDLN_TYPE_FLOAT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_BOOLEAN || \
IDL_NODE_TYPE(a) == IDLN_TYPE_OCTET || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ANY || \
IDL_NODE_TYPE(a) == IDLN_TYPE_OBJECT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_TYPECODE || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ENUM || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ARRAY || \
IDL_NODE_TYPE(a) == IDLN_TYPE_SEQUENCE || \
IDL_NODE_TYPE(a) == IDLN_TYPE_STRUCT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_UNION)
#define IDL_NODE_IS_SCOPED(a) \
(IDL_NODE_TYPE(a) == IDLN_IDENT || \
IDL_NODE_TYPE(a) == IDLN_INTERFACE || \
IDL_NODE_TYPE(a) == IDLN_MODULE || \
IDL_NODE_TYPE(a) == IDLN_EXCEPT_DCL || \
IDL_NODE_TYPE(a) == IDLN_OP_DCL || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ENUM || \
IDL_NODE_TYPE(a) == IDLN_TYPE_STRUCT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_UNION)
typedef struct _IDL_ns * IDL_ns;
struct _IDL_ns {
IDL_tree global;
IDL_tree file;
IDL_tree current;
GHashTable *inhibits;
GHashTable *filename_hash;
};
#define IDL_NS(a) (*(a))
typedef enum {
IDL_INPUT_REASON_INIT,
IDL_INPUT_REASON_FILL,
IDL_INPUT_REASON_ABORT,
IDL_INPUT_REASON_FINISH
} IDL_input_reason;
union IDL_input_data {
struct {
const char *filename;
} init;
struct {
char *buffer;
size_t max_size;
} fill;
};
typedef int (*IDL_input_callback) (IDL_input_reason reason,
union IDL_input_data *data,
gpointer user_data);
typedef int (*IDL_msg_callback) (int level,
int num,
int line,
const char *filename,
const char *message);
typedef struct _IDL_tree_func_state IDL_tree_func_state;
typedef struct _IDL_tree_func_data IDL_tree_func_data;
/* Traversal state data. Recursive walks chain states. */
struct _IDL_tree_func_state {
IDL_tree_func_state *up;
IDL_tree start;
IDL_tree_func_data *bottom;
};
/* This holds a list of the up hierarchy traversed, beginning from traversal. This is
* useful since nodes referenced after initial definition will have a different traversal
* path than the actual up path. */
struct _IDL_tree_func_data {
IDL_tree_func_state *state;
IDL_tree_func_data *up;
IDL_tree tree;
gint step;
gpointer data; /* Application data */
};
typedef gboolean (*IDL_tree_func) (IDL_tree_func_data *tnfd,
gpointer user_data);
extern IDL_tree IDL_check_type_cast (const IDL_tree var,
IDL_tree_type type,
const char *file,
int line,
const char *function);
extern const char * IDL_get_libver_string (void);
extern const char * IDL_get_IDLver_string (void);
extern int IDL_parse_filename (const char *filename,
const char *cpp_args,
IDL_msg_callback msg_cb,
IDL_tree *tree, IDL_ns *ns,
unsigned long parse_flags,
int max_msg_level);
extern int IDL_parse_filename_with_input (const char *filename,
IDL_input_callback input_cb,
gpointer input_cb_user_data,
IDL_msg_callback msg_cb,
IDL_tree *tree, IDL_ns *ns,
unsigned long parse_flags,
int max_msg_level);
extern int IDL_ns_prefix (IDL_ns ns,
const char *s);
extern void IDL_ns_ID (IDL_ns ns,
const char *s);
extern void IDL_ns_version (IDL_ns ns,
const char *s);
extern int IDL_inhibit_get (void);
extern void IDL_inhibit_push (void);
extern void IDL_inhibit_pop (void);
extern void IDL_file_set (const char *filename,
int line);
extern void IDL_file_get (const char **filename,
int *line);
extern IDL_tree IDL_get_parent_node (IDL_tree p,
IDL_tree_type type,
int *scope_levels);
extern IDL_tree IDL_tree_get_scope (IDL_tree p);
extern int IDL_tree_get_node_info (IDL_tree tree,
char **who,
char **what);
extern void IDL_tree_error (IDL_tree p,
const char *fmt,
...)
G_GNUC_PRINTF (2, 3);
extern void IDL_tree_warning (IDL_tree p,
int level,
const char *fmt,
...)
G_GNUC_PRINTF (3, 4);
extern const char * IDL_tree_property_get (IDL_tree tree,
const char *key);
extern void IDL_tree_property_set (IDL_tree tree,
const char *key,
const char *value);
extern gboolean IDL_tree_property_remove (IDL_tree tree,
const char *key);
extern void IDL_tree_properties_copy (IDL_tree from_tree,
IDL_tree to_tree);
extern void IDL_tree_remove_inhibits (IDL_tree *tree,
IDL_ns ns);
extern void IDL_tree_walk (IDL_tree p,
IDL_tree_func_data *current,
IDL_tree_func pre_tree_func,
IDL_tree_func post_tree_func,
gpointer user_data);
extern void IDL_tree_walk_in_order (IDL_tree p,
IDL_tree_func tree_func,
gpointer user_data);
extern void IDL_tree_free (IDL_tree root);
extern void IDL_tree_to_IDL (IDL_tree p,
IDL_ns ns,
FILE *output,
unsigned long output_flags);
extern GString * IDL_tree_to_IDL_string (IDL_tree p,
IDL_ns ns,
unsigned long output_flags);
extern gchar * IDL_do_escapes (const char *s);
extern IDL_tree IDL_resolve_const_exp (IDL_tree p,
IDL_tree_type type);
extern IDL_ns IDL_ns_new (void);
extern void IDL_ns_free (IDL_ns ns);
extern IDL_tree IDL_ns_resolve_this_scope_ident (IDL_ns ns,
IDL_tree scope,
IDL_tree ident);
extern IDL_tree IDL_ns_resolve_ident (IDL_ns ns,
IDL_tree ident);
extern IDL_tree IDL_ns_lookup_this_scope (IDL_ns ns,
IDL_tree scope,
IDL_tree ident,
gboolean *conflict);
extern IDL_tree IDL_ns_lookup_cur_scope (IDL_ns ns,
IDL_tree ident,
gboolean *conflict);
extern IDL_tree IDL_ns_place_new (IDL_ns ns,
IDL_tree ident);
extern void IDL_ns_push_scope (IDL_ns ns,
IDL_tree ident);
extern void IDL_ns_pop_scope (IDL_ns ns);
extern IDL_tree IDL_ns_qualified_ident_new (IDL_tree nsid);
extern gchar * IDL_ns_ident_to_qstring (IDL_tree ns_ident,
const char *join,
int scope_levels);
extern int IDL_ns_scope_levels_from_here (IDL_ns ns,
IDL_tree ident,
IDL_tree parent);
extern gchar * IDL_ns_ident_make_repo_id (IDL_ns ns,
IDL_tree p,
const char *p_prefix,
int *major,
int *minor);
#ifdef __cplusplus
}
#endif
#endif /* __IDL_H */

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -1,40 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Product Branding Issues</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
Product Branding Instructions</H3>
Under the terms of the Unlimited Localization Program, you must remove
or replace all trademarked Netscape terms, brand names, icons, images,
etc.&nbsp; These trademarks are listed on the page found at the following
URL:
<P><A HREF="http://home.netscape.com/misc/trademarks.html#trademarks">http://home.netscape.com/misc/trademarks.html#trademarks</A>
<P>Please refer to that page for details.&nbsp; You may not release a localized
version of the Netscape Communicator with these trademarks left in the
product.
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="usingKit.html#branding">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER><BR>
<FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape Communications
Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,100 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Getting Started</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H2>
<A NAME="getting started"></A>2. Getting Started</H2>
Before you can begin using the Windows Installer Localization Kit, you
must install it and setup your working directories. This is a simple matter
of unzipping the compressed kit file(s) into the proper directories. Your
system must also meet certain requirements to run the tools needed to perform
the localization steps described below.
<P>
<HR WIDTH="50%">
<H3>
<A NAME="sysreqs"></A>System Requirements</H3>
There few system requirements for the kit in the strictest sense; however,
your choice of tools will have their own set of requirements.&nbsp; The
most likely minimum configuration will be as follows:
<UL>
<LI>
100% IBM compatible PC</LI>
<LI>
Pentium<SUP><FONT SIZE=-1>&reg;</FONT></SUP> processor</LI>
<LI>
Microsoft<SUP><FONT SIZE=-1>&reg;</FONT></SUP> Windows NT 3.51 or 4.0 (localized
versions will help testing but aren't required)</LI>
<LI>
16 MB RAM</LI>
<LI>
30 MB available hard disk space</LI>
<LI>
InstallShield International version 3.0 or other install builder software</LI>
<LI>
A visual resource editor, such as those provided with Microsoft<SUP><FONT SIZE=-1>&reg;</FONT></SUP>
Visual C++, Borland<SUP><FONT SIZE=-1>&reg;</FONT></SUP> C++, etc.</LI>
<LI>
An active Internet connection and the ability to ftp (send and receive)
large files</LI>
<LI>
A Web browser (say, for example, Netscape Communicator ;-)</LI>
</UL>
<H3>
<HR WIDTH="50%"></H3>
<H3>
<A NAME="install"></A>Installing the Kit</H3>
It is recommended that you install the Windows Installer Localization Kit
into the same directory as your other Netscape/Mozilla localization kits:
in other words, install this kit into your <B>kitRoot </B>directory.&nbsp;
Place this localization kit's .ZIP file in that directory and UNZIP it
with the -d parameter:
<P>PKUNZIP -d <I>filename</I>
<UL><B>Example:&nbsp; <TT>PKUNZIP -d instkit</TT></B></UL>
<HR WIDTH="50%">
<H3>
<A NAME="configtool"></A>Configuring Your Tools</H3>
Please refer to your Installshield or other install builder tool's documentation
for set up and usage instructions.
<BR>&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="nomenclature.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="usingKit.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS]</A></CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER></CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,203 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>ISO Locale codes</TITLE>
</HEAD>
<BODY>
<CENTER>
<H1>
ISO Language and Country Codes</H1></CENTER>
2 letter language codes are derived from the ISO 639 standard; country
codes are from ISO 3166. Here are the codes for the locales currently supported
by the L10n kits. If an entry also includes the country code then you must
use that as well when creating the locale directory or naming a file.
<H3>
ISO Language and Country Codes table</H3>
<TABLE BORDER=5 >
<TR>
<TD><U>Language Name</U></TD>
<TD><U>Language Code</U></TD>
<TD><U>Country Code</U></TD>
</TR>
<TR>
<TD>
<CENTER>Chinese (Traditional)</CENTER>
</TD>
<TD>
<CENTER>zh</CENTER>
</TD>
<TD>
<CENTER>CN</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Chinese (Simplified)</CENTER>
</TD>
<TD>
<CENTER>zh</CENTER>
</TD>
<TD>
<CENTER>TW</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Danish</CENTER>
</TD>
<TD>
<CENTER>da</CENTER>
</TD>
<TD>
<CENTER>DK</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Dutch</CENTER>
</TD>
<TD>
<CENTER>nl</CENTER>
</TD>
<TD>
<CENTER>NL</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>French</CENTER>
</TD>
<TD>
<CENTER>fr</CENTER>
</TD>
<TD>
<CENTER>FR</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>German</CENTER>
</TD>
<TD>
<CENTER>de</CENTER>
</TD>
<TD>
<CENTER>DE</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Italian</CENTER>
</TD>
<TD>
<CENTER>it</CENTER>
</TD>
<TD>
<CENTER>IT</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Japanese</CENTER>
</TD>
<TD>
<CENTER>ja</CENTER>
</TD>
<TD>
<CENTER>JP</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Korean</CENTER>
</TD>
<TD>
<CENTER>ko</CENTER>
</TD>
<TD>
<CENTER>KR</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Portuguese</CENTER>
</TD>
<TD>
<CENTER>pt</CENTER>
</TD>
<TD>
<CENTER>BR</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Spanish</CENTER>
</TD>
<TD>
<CENTER>es</CENTER>
</TD>
<TD>
<CENTER>ES</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Swedish</CENTER>
</TD>
<TD>
<CENTER>sv</CENTER>
</TD>
<TD>
<CENTER>SE</CENTER>
</TD>
</TR>
</TABLE>
<CENTER><BR>
<FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1997, Copyright Netscape Communications
Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,99 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Kit Overview</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
<A NAME="kitoverview"></A>Kit Overview</H3>
This kit is primarily intended for knowledgeable developers who are familiar
with the localization process, with InstallShield or other installation
programs, and with Windows resource editors.&nbsp; There are two basic
approaches you can take to create an installer for your localized Communicator,
Navigator or Mozilla derivative product:
<OL>
<LI>
Use an existing Communicator or Navigator Export product installer as a
base and add your localized files, or</LI>
<LI>
Create your own install program and use the registry setting information
provided by the kit.</LI>
</OL>
<UL>
<H4>
<A NAME="method1"></A>Overview of Method 1.</H4>
For this method you will need the following components:
<BR>&nbsp;
<UL>
<LI>
Your own copy of InstallShield version 3 International</LI>
<LI>
The appropriate version of a Netscape Communicator or Navigator installer.</LI>
<LI>
This localization kit.</LI>
<LI>
A text editor.</LI>
<LI>
A resource editor (e.g., MSDEV)</LI>
</UL>
<P>You will start with an Export version of a Netscape Communicator or
Navigator installer.&nbsp; Then, you will extract the localizable components
and modify them as desired.&nbsp; You will localize a number of strings
contained in .INI files using a text editor. You will use a resource editor
or the Netscape Translation Tools to localize STRINGTABLE and DIALOG resource
types contained in two .DLLs. Once the localizable components of the installer
are finished, you will reassemble the installer using the InstallShield
EXE BUILDER tool, including your localized Communicator, Navigator or Mozilla
derivative product.&nbsp; This process is detailed in the next section.</UL>
<UL>
<H4>
<A NAME="method2"></A>Overview of Method 2.</H4>
For this method you will need the following components:
<BR>&nbsp;
<UL>
<LI>
Your own copy of any install builder software</LI>
<LI>
This localization kit</LI>
</UL>
<P>You will create your own installation program in whatever fashion you
wish.&nbsp; In order for your localized product to function properly, your
installer will need to implement certain <A HREF="registrySettings.html">Windows
registry settings</A>.</UL>
&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="projectOverview.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="kitStruct.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
&nbsp;
<CENTER><FONT SIZE=-1>&nbsp;1998, Copyright Netscape Communications Corp.
All Rights Reserved</FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,63 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Kit Structure</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
<A NAME="kitstruct"></A>Kit Structure and Organization</H3>
When you install this localization kit you will find a number of new directories
on your hard disk. Each directory is named so as to be fairly self-explanatory,
but the following diagram and description may help avoid any confusion
you may have about what's what.
<H4>
<IMG SRC="l10ntree.jpg" BORDER=0 HEIGHT=98 WIDTH=177></H4>
<H4>
Description of Kit Directories</H4>
<UL>
<LI>
The <B><TT>kitRoot</TT> </B>directory is wherever you install the Netscape
Localization Kits.</LI>
<LI>
The <B><TT>l10nkits</TT> </B>directory contains the tools (if any) and
documentation you need to complete your work.</LI>
<LI>
Since this kit concerns the Windows client product (as opposed to our server
products) all the relevant documentation and tools are found under the
<B><TT>client\windows </TT></B>directory.</LI>
<LI>
The <B><TT>docs</TT> </B>directory contains documentation on the kit, including
the file you are reading now.</LI>
</UL>
&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="kitOverview.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="nomenclature.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,51 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize AIM.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for AIM.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in <B>bold</B> type face below.</LI>
<LI>
Change Netscape trademarks to your own product name(s).</LI>
</UL>
<B>Specific Notes:</B>
<P>
File Copy String=<B>Copying Netscape AOL Instant Messenger Service files...</B>
<P>
Installation String=<B>Installing Netscape AOL Instant Messenger Service files...</B>
<P>
Configuration String=<B>Configuring Netscape AOL Instant Messenger Service...</B>
<P>
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<P>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,65 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize CD.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for CD.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in <B>bold</B> type face below.</LI>
<LI>
Update the product version number as appropriate.</LI>
<LI>
Modify the locale code according to the ISO 639 and ISO 3166 standards.
(See the <A HREF="reference.html">Reference section</A> for details).</LI>
<LI>
You may need to move the placement of "%s" variables in your translation.</LI>
<LI>
Do not exceed the length of US string for Deinstall Dialog Wait Message.</LI>
<LI>
Change Netscape trademarks to your own product name(s).</LI>
</UL>
<B>Specific Notes:</B>
<P>Product Setup Title1= <B>Deinstaller</B>
<P>Product Version=<B>4.03 </B>(<B>en</B>)
<P>Deinstall Dialog Message=<B>Are you sure you want to deinstall</B> <B>Netscape
Communicator 4.03</B> ?
<P>Deinstall Dialog Wait Message=<B>Parsing</B> <B>Netscape Communicator
4.03&nbsp; deinstall log file</B> %s (<B>this will take several minutes)...</B>
<P>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
<BR>&nbsp;
</BODY>
</HTML>

View File

@@ -1,62 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize COSMO.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for COSMO.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in <B>bold</B> type face below.</LI>
<LI>
Update the product version number as appropriate.</LI>
<LI>
Modify the locale code according to the ISO 639 and ISO 3166 standards.
(See the <A HREF="reference.html">Reference section</A> for details).</LI>
</UL>
<B>Specific Notes:</B>
<BR>&nbsp;
<BR>Installation String=<B>Installing Cosmo Player files...</B>
<P>Configuration String=<B>Configuring Cosmo Player...</B>
<P>File Copy String=<B>Copying Cosmo Player files...&nbsp;</B>
<P>Description=<B>VRML 2.0 support&nbsp;</B>
<P>[Registry Entries-Reg2]
<BR>HKEY Value=<B>4.03 </B>(<B>en</B>)
<P>[Registry Entries-Reg3]
<BR>HKEY Key Path=Software\Netscape\Cosmo\<B>4.03</B> (<B>en</B>)
<P>[Registry Entries-Reg4]
<BR>HKEY Key Path=Software\Netscape\Cosmo\<B>4.03 </B>(<B>en</B>)\Main
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
<BR>&nbsp;
</BODY>
</HTML>

View File

@@ -1,32 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize _ISUSER.DLL</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for _ISUSER.DLL</H4>
All dialogs in this .DLL can be localized.
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table1">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,45 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize MMEDIA.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for MMEDIA.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in <B>bold</B> type face below.</LI>
</UL>
<B>Specific Notes:</B>
<P>Installation String=<B>Installing Audio/Video Playback files...</B>
<P>Configuration String=<B>Configuring Audio/Video Playback...</B>
<P>File Copy String=<B>Copying Audio/Video Playback files...</B>
<P>Description=<B>Support for multi-media web pages</B>
<P>
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<P>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,68 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Localizing MPLAY32.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for MPLAY32.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in <B>bold</B> type face below.</LI>
<LI>
Update the product version number as appropriate.</LI>
<LI>
Modify the locale code according to the ISO 639 and ISO 3166 standards.
(See the <A HREF="reference.html">Reference section</A> for details).</LI>
<LI>
Change Netscape trademarks to your own product name(s).</LI>
</UL>
<B>Specific Notes:</B>
<P>Installation String=<B>Installing Netscape Media Player files...</B>
<P>Configuration String=<B>Configuring Netscape Media Player...</B>
<P>File Copy String=<B>Copying Netscape Media Player files...</B>
<P>Description=<B>Streaming audio support</B>
<P>[Default Folder-Icon2]
<BR>ProgramFolder=[Default Folder]\<B>Utilities</B>
<P>[Registry Entries-Reg2]
<BR>HKEY Value=<B>4.03 </B>(<B>en</B>)
<P>[Registry Entries-Reg3]
<BR>HKEY Key Path=Software\Netscape\Media Player\<B>4.03 </B>(<B>en</B>)
<P>[Registry Entries-Reg4]
<BR>HKEY Key Path=Software\Netscape\Media Player\<B>4.03 </B>(<B>en</B>)\Main
<P>[Registry Entries-Reg5]
<BR>HKEY Key Path=Software\Netscape\Media Player\<B>4.03</B> (<B>en</B>)\Main
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;<BR>
<FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape Communications
Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,154 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize NAV40.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for NAV40.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Do not exceed the length of English string if possible.</LI>
<LI>
Modify the locale code according to the ISO 639 and ISO 3166 standards.
(See the <A HREF="reference.html">Reference section</A> for details).</LI>
<LI>
The "Utilities" folder name may be localized.</LI>
<LI>
"Item name" is the name that will appear under the associated icon; these
may be localized.</LI>
<LI>
You may need to move the placement of "%s" variables in your translation.</LI>
<LI>
Change Netscape trademarks to your own product name(s).</LI>
</UL>
<B>Specific Notes:</B>
<P>Installation String=<B>Installing Netscape Communicator 4.03 files...</B>
<P>Configuration String=<B>Configuring Netscape Communicator 4.03...</B>
<P>File Copy String=<B>Copying Netscape Communicator 4.03 files...</B>
<P>Description=<B>Contains Collabra, Composer, Messenger, and Navigator</B>.
<P>Warn Previous Version Message=<B>Setup has detected a previous installation
of</B> %s. <B>If you installed plugins or helper applications with a previous
installation, you will need to reinstall them to this version of</B> <B>Communicator.</B>
<P>[Navigator 1]
<BR>Message=<B>Setup has detected that an instance of Navigator is currently
running. Please quit Navigator before running Setup.</B>
<P>[Navigator 2]
<BR>Message=<B>Setup has detected that an instance of Navigator is currently
running. Please quit</B> <B>Navigator before running Setup.</B>
<P>[Navigator 3]
<BR>Message=<B>Setup has detected that an instance of Navigator is currently
running. Please quit</B> <B>Navigator before running Setup.</B>
<P>[NSMail Notifier]
<BR>Message=<B>Installation cannot continue because the Mail Notification
program is currently running. Use your right mouse button to click the
Mail icon next to the task bar clock and select 'Exit' to disable Mail
Notification, then run the installer again.</B>
<P>[Navigator 4.05 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.05 (<B>en</B>)\Main
<P>[Navigator 4.04 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.04 (<B>en</B>)\Main
<P>[Navigator 4.03 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.03 (<B>en</B>)\Main
<P>[Navigator 4.02 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.02 (<B>en</B>)\Main
<P>[Navigator 4.01 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.01 (<B>en</B>)\Main
<P>[Navigator 4.0 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.0 (<B>en</B>)\Main
<P>[Navigator 4.0b6 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.0b6 (<B>en</B>)\Main
<P>[Navigator 4.0b5 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.0b5 (<B>en</B>)\Main
<P>[Navigator 4.0b4 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.0b4 (<B>en</B>)\Main
<P>[Navigator 4.0b3 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.0b3 [<B>en</B>]\Main
<P>[Default Folder-Icon11]
<BR>ItemName=<B>User Profile Manager</B>
<P>[Default Folder-Icon12]
<BR>ProgramFolder=[Default Folder]\<B>Utilities</B>
<BR>ItemName=<B>User Profile Manager</B>
<P>[Default Folder-Icon13]
<BR>ItemName=<B>Netscape Mail Notification</B>
<P>[Default Folder-Icon14]
<BR>ProgramFolder=[Default Folder]\<B>Utilities</B>
<BR>ItemName=<B>Netscape Mail Notification</B>
<P>[Registry Entries-R14]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.03 (<B>en</B>)
<P>[Registry Entries-R15]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.03 (<B>en</B>)\Main
<P>[Registry Entries-R16]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.03 (<B>en</B>)\Main
<P>[Registry Entries-R17]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.03 (<B>en</B>)\Main
<P>[Registry Entries-R18]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.03 (<B>en</B>)\Main
<P>[Registry Entries-R19]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.03 (<B>en</B>)\Main
<P>[Registry Entries-R37]
<BR>HKEY Value=4.03 (<B>en</B>)
<P>[Registry Entries-R38]
<BR>HKEY Key Path=Software\Netscape\Netcaster\4.03 (<B>en</B>)\Main
<P>[Registry Entries-R39]
<BR>HKEY Key Path=Software\Netscape\Netcaster\4.03 (<B>en</B>)\Main
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER></CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,49 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize NETCAST.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for NETCAST.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in <B>bold</B> type face below.</LI>
<LI>
Change Netscape trademarks to your own product name(s).</LI>
</UL>
<B>Specific Notes:</B>
<P>
Installation String=<B>Installing Netscape Netcaster files...</B>
<P>
Configuration String=<B>Configuring Netscape Netcaster...</B>
<P>
File Copy String=<B>Copying Netscape Netcaster files...</B>
<P>
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<P>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,67 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localizing NSCONF.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for NSCONF.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in <B>bold</B> type face below.</LI>
<LI>
Update the product version number as appropriate.</LI>
<LI>
Modify the locale code according to the ISO 639 and ISO 3166 standards.
(See the <A HREF="reference.html">Reference section</A> for details).</LI>
<LI>
Change Netscape trademarks to your own product name(s).</LI>
</UL>
<B>Specific Notes:</B>
<P>Installation String=<B>Installing Netscape Conference files...</B>
<P>Configuration String=<B>Configuring Netscape Conference...</B>
<P>File Copy String=<B>Copying Netscape Conference files...</B>
<P>Description=<B>Real-time collaboration and audio conferencing</B>
<P>[Registry Entries-Reg17]
<BR>HKEY Value=<B>4.03</B> (<B>en</B>)
<P>[Registry Entries-Reg18]
<BR>HKEY Key Path=Software\Netscape\Conference\<B>4.03 </B>(<B>en</B>)
<P>[Registry Entries-Reg19]
<BR>HKEY Key Path=Software\Netscape\Conference\<B>4.03</B> (<B>en</B>)\Main
<P>[Registry Entries-Reg20]
<BR>HKEY Key Path=Software\Netscape\Conference\<B>4.03</B> (<B>en</B>)\Main<BR>
<BR>
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER></CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,71 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize RSUTIL.DLL</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for RSUTIL.DLL</H4>
<B>STRINGTABLES</B><B></B>
<P><B><FONT COLOR="#FF0000">Do not translate the following strings:</FONT></B>
<P>STRING ID:
<BR><I>1&nbsp;</I>
<BR><I>17 18 19&nbsp;</I>
<BR><I>20 21 22 23 24 25 26 27 28 29&nbsp;</I>
<BR><I>30 31 32 33 34 35 36 37 38 39&nbsp;</I>
<BR><I>40 41 42 43 44 45 46 47 48 49&nbsp;</I>
<BR><I>50 51 52 53 54 55 56 57 58 59&nbsp;</I>
<BR><I>60 61 62 63 64 65 66 67 68 69&nbsp;</I>
<BR><I>70 71 72 73 74 75 76 77 78 79&nbsp;</I>
<BR><I>80 81 82 83 85 86 88&nbsp;</I>
<BR><I>90 91 92 95 97 98 99</I>
<BR><I>100 101 102 103 104 105 106 107 108 109</I>
<BR><I>110 111 112 113 114</I>
<BR><I>122 123 126 127 129</I>
<BR><I>132 133 134 135 136 137 138 139</I>
<BR><I>140 145 149</I>
<BR><I>151 153 154 155 156 157 158 159</I>
<BR><I>162 163 164 165 166 167 169&nbsp;</I>
<BR><I>170 171 172 173 174 175 176 177 178 179</I>
<BR><I>180 181 182 183 184 185 187 188</I>
<BR><I>190 192 193 194 195 196 197 198 199</I>
<BR><I>200 201 202 203 204 205 206 207 208 209</I>
<BR><I>210 211 212 213 214 215 216 217 218 219</I>
<BR><I>220 221 222 226 227 228 229&nbsp;</I>
<BR><I>230 232 233 234 235 236 237 238 239</I>
<BR><I>240 241 242 243 244 245 246 247 248 249</I>
<BR><I>250 251 252 253 254 255 256 257&nbsp;</I>
<BR><I>260 261 263 264 265 266 267 269</I>
<BR><I>270 271 272 273 274 275 276 277 278 279</I>
<BR><I>280 281 282 283</I>
<BR>&nbsp;
<BR>
<HR WIDTH="50%">
<BR><B>ICONS</B>
<BR>Replace any trademarked icons, as described in the universal localization
program license agreement, with your own icons.
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table1">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,138 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize SETUP.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for SETUP.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in bold type face below.</LI>
<LI>
The "StartCopy Dialog Message" should be less than 256 bytes long.</LI>
<LI>
For the "Multiple Components" section, both the key and the value may be
localized (optional).</LI>
<LI>
If the key "Multimedia Support" is localized then next section name should
be identical to the localized key.</LI>
<LI>
Change Netscape trademarks to your own product name(s).</LI>
<LI>
Update the version number as appropriate.</LI>
<LI>
Modify the locale code according to the ISO 639 and ISO 3166 standards.
(See the <A HREF="reference.html">Reference section</A> for details).</LI>
</UL>
<B>Specific Notes:</B>
<P>Product Setup Title1= <B>Setup</B>
<P>Product Version=<B>4.03 </B>(<B>en</B>)
<P>Deinstall Version=<B>4.03 </B>(<B>en</B>)
<P>License Dialog Title=<B>Software License Agreement</B>
<P>License Dialog Message=<B>Please read the following license agreement.
Use the scroll bar to view the rest of this agreement.</B>
<P>License Dialog Question=<B>Do you accept all the terms of the preceding
license agreement? If so, click on the Yes button. If you select No, Setup
will close.</B>
<P>License Icon Description=<B>License Agreement</B>
<P>Welcome Dialog Title=<B>Netscape Communicator 4.03 Setup</B>
<P>Welcome Dialog Message=<B>Welcome to Netscape Communicator 4.03 Setup</B>.
<P>SetupType Dialog Title=<B>Setup Type</B>
<P>SetupType Dialog Message=<B>Select the type of setup you prefer.</B>
<P>Insufficient Space Dialog Title=<B>Insufficient Space</B>
<P>Insufficient Space Dialog Message=<B>The path below contains insufficient
space.</B>
<P>Path Dialog Title=<B>Choose Destination Location</B>
<P>Path Dialog Message=<B>Please enter the location where you would like
to install </B>Netscape Communicator 4.03
<BR><B>components. You may type a new directory name or click the Browse
button to find a new location.</B>
<P>Options Dialog Title=<B>Netscape Communicator 4.03 Options</B>
<P>Options Dialog Message=<B>Check the components you would like to install.</B>
<P>Associations Dialog Title=<B>Setup Associations</B>
<P>Associations Dialog Message=<B>Check the extensions you would like Communicator
to set up. These extensions will be associated with Communicator components.</B>
<P>Select Folder Dialog Title=<B>Select Program Folder</B>
<P>StartCopy Dialog Title=<B>Start Copying Files</B>
<P>StartCopy Dialog Message=<B>Setup has enough information to start copying
the program files. If you want to review or change settings, click Back.
If you are satisfied with the current settings, click Install to begin
copying files.</B>
<P>Readme Dialog Prompt=<B>Would you like to view the README file now?</B>
<P>Finish Dialog Prompt=<B>Setup is complete. You may run Netscape Communicator
4.03 by double-clicking on one of the icons in the folder.</B>
<P>Reboot Dialog Title=<B>Restarting Windows</B>
<P>Reboot Dialog Message=<B>Setup has finished copying files to your computer.
Before you can use the program, you must restart Windows or your computer.</B>
<P>Exit Dialog Message=<B>Are you sure you want to exit setup?</B>
<P>Error Resource Message1=<B>Could not load Resource: </B>%s
<BR>Error Resource Message2=<B>Attempted to fix the problem. Please restart
the setup application.</B>
<BR>Error Resource Message3=<B>Could not get module handle of rsutil.dll.
System memory could be corrupted. Please reboot and try again.</B>
<P>[Multiple Components]
<BR><B>Multimedia Support</B>=<B>Extension modules for Netscape Communicator
4.03</B>
<P>[<B>Multimedia Support</B>]
<BR>Default Path=
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table1">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,55 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
<TITLE>Localizing URLs</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
<A NAME="localizeURLs"></A>Localizing URLs</H3>
Many resources of all types in the Communicator contain Internet addresses
in the form of URLs (Universal Resource Locators). Most of these point
to locations within the Netscape domain; as part of the Unlimited Localization
Program, you can leave these as they are, or you may change them as you
desire.
<H3>
Internal URLs</H3>
There are a number of internal URLs that <FONT COLOR="#FF0000">should not
be changed</FONT>.&nbsp; These are the strings that look like <B>about:[some
value]</B>.&nbsp; These point to internally contained resources, such as
the main About Communicator page.&nbsp; If you localize these strings you
will not be able to load these pages.&nbsp; The main examples you might
find are:
<UL>
<LI>
about:</LI>
<LI>
about:plugins</LI>
<LI>
about:fonts</LI>
</UL>
For more examples and information on these internal URLs go <A HREF="http://help.netscape.com/kb/client/970513-4.html">here</A>.
<BR>&nbsp;
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="usingKit.html#localizeURLs">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;<BR>
<FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape Communications
Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,125 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Localize these Files</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
<A NAME="localize_these_files"></A>Localize These Files</H3>
This section tells you exactly what files need to be localized. The following
tables contain two columns:
<UL>
<LI>
The file to be localized column gives the specific file name. The path
name <I>temp</I> refers to wherever you have copied the uncompressed installer
files in Step 2 of the <A HREF="usingKit.html#l10nchecklist">Localization
Checklist</A>. If the file or resource name is a hypertext link, further
information can be found by following that link.</LI>
<LI>
The purpose column describes the basic purpose of this file.</LI>
</UL>
<A NAME="table1"></A><FONT SIZE=-1>Table 1. Binary files to be localized</FONT>
<TABLE BORDER >
<TR>
<TD><B>File to be localized&nbsp;</B></TD>
<TD><B>Purpose</B></TD>
</TR>
<TR>
<TD><TT><A HREF="localizeRsutil.html">rsutil.dll</A></TT></TD>
<TD>Installer STRINGTABLE and ICON resources.&nbsp;</TD>
</TR>
<TR>
<TD><TT><A HREF="localizeIsuser.html">_isuser.dll</A></TT></TD>
<TD>Installer DIALOG resources.</TD>
</TR>
</TABLE>
<P>
<A NAME="table2"></A><FONT SIZE=-1>Table 2. .INI files to be localized</FONT>
<TABLE BORDER >
<TR>
<TD><B>File to be localized</B></TD>
<TD><B>Purpose</B></TD>
</TR>
<TR>
<TD><A HREF="localizeAim.html">aim.ini</A></TD>
<TD>AOL Instant Messgenger initialization file.*</TD>
</TR>
<TR>
<TD><A HREF="localizeCD.html">cd.ini</A></TD>
<TD>Deinstaller initialization file.</TD>
</TR>
<TR>
<TD><A HREF="localizeCosmo.html">cosmo.ini</A></TD>
<TD>Cosmo player initialization file.*</TD>
</TR>
<TR>
<TD><A HREF="localizeMmedia.html">mmedia.ini</A></TD>
<TD>Multimedia initialization file.*</TD>
</TR>
<TR>
<TD><A HREF="localizeMplay.html">mplay32.ini</A></TD>
<TD>Media Player initialization file.*</TD>
</TR>
<TR>
<TD><A HREF="localizeNav40.html">nav40.ini</A></TD>
<TD>Main product initialization file.</TD>
</TR>
<TR>
<TD><A HREF="localizeNetcast.html">netcast.ini</A></TD>
<TD>Netcaster initialization file.</TD>
</TR>
<TR>
<TD><A HREF="localizeNsconf.html">nsconf.ini</A></TD>
<TD>Netscape Conference initialization file.*</TD>
</TR>
<TR>
<TD><A HREF="localizeSetup.html">setup.ini</A></TD>
<TD>Main setup initialization file.</TD>
</TR>
</TABLE>
<P>
* These files come with the Complete installer version.
<P>
<CENTER><TABLE COLS=1 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<P>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,109 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Conventions</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
<A NAME="nomenclature"></A>Nomenclature and Typographical Conventions</H3>
<B>Typographical Conventions</B>
<BR>Words in <I>italics</I> typeface represent a variable term or phrase,
meant to be replaced by another value at "runtime."&nbsp; Example:
<UL><I>locale</I> -- replaced by a 2- or 4 letter locale code; e.g. zhtw</UL>
Words in <B>bold</B> typeface, using a proportional font, represent a literal
value in a string that might also contain a variable word or phrase. Example:
<UL><B>4.03 [</B><I>locale</I><B>]</B> -- 4.03 [ ] are literal values,
while <I>locale</I> is a variable.
<UL>&nbsp;</UL>
</UL>
Words in a <TT>fixed width font</TT> represent file or directory names,
or DOS or Windows commands to be typed as they appear.&nbsp; Sometimes,
part or all of the path will be in <B><TT>bold</TT></B>, for emphasis.
Examples:
<UL>Change to the <B><TT><I>kitRoot</I>\l10nkits\client\windows\tools</TT></B><TT>
</TT>directory
<BR>Execute <B><TT>RTRNKIT</TT></B></UL>
<B>Nomenclature</B>
<BR>Throughout this document, certain terms and phrases will be used repeatedly:
<P><FONT SIZE=-1>Table 1. Nomenclature and Typographical Conventions</FONT>
<TABLE BORDER >
<TR>
<TD><B><TT>kitRoot</TT> </B>directory&nbsp;</TD>
<TD>indicates the starting or topmost directory of the Windows Front End
Localization Kit.</TD>
</TR>
<TR>
<TD><I>platform</I></TD>
<TD>either 16 or 32 bit, depending on the version you are working on.</TD>
</TR>
<TR>
<TD><I>locale</I></TD>
<TD>in general, this refers to the language into which you are localizing
the product. The list of valid locale names is defined in the <A HREF="isocodes.htm">ISO
Language and Country Codes Table</A>.</TD>
</TR>
<TR>
<TD>localization database</TD>
<TD>a database generated by a leveraging tool from a set of matched binary
resource files.&nbsp;</TD>
</TR>
<TR>
<TD>localization notes</TD>
<TD>any special instructions, including the "translate/don't translate"
flag, associated with a given resource.&nbsp; Localization notes are contained
in the localization database for each resource module.</TD>
</TR>
<TR>
<TD><I>leverage</I></TD>
<TD>The process of merging previous localized versions of a file into a
current version.&nbsp;</TD>
</TR>
<TR>
<TD>forbidden resource</TD>
<TD>A resource that cannot be changed from the original value without (negatively)
impacting the functionality of the product. These are identified in the
localization databases.</TD>
</TR>
</TABLE>
&nbsp;
<BR>&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="kitStruct.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="gettingStarted.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,57 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Project Overview</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H2>
<A NAME="overviews"></A>1. Project Overview</H2>
<CENTER><B><FONT COLOR="#009900">Welcome to the Communicator/Navigator
Installer Localization Kit!</FONT></B></CENTER>
<P>Under the universal localization program, you are free to create an
installer for a localized Communicator, Navigator or Mozilla derivative
product in any way you choose. This localization kit will assist you in
creating a your installer for the 32-bit Windows platform. As long as you
follow the terms of the universal localization program license agreement,
you are free to do what you want with the resulting localized product and
installer.
<P>The Netscape Communicator and Netscape Navigator 4.x installation programs
were created with InstallShield<SUP><FONT SIZE=-1>&reg;</FONT></SUP> version
3.&nbsp; Because this is the proprietary product of InstallShield Corporation,
Netscape cannot redistribute the complete source for these installers.&nbsp;
You may, however, modify an existing Communicator or Navigator installer,
or if you choose, you may build your own installer "from scratch".
<P><B>Note</B>: because of the U.S. Government's restrictions on the export
of strong cryptography, <B>you may only distribute the "export" version</B>
of the Netscape binaries.&nbsp; Please keep this in mind as you work with
the localization kit instructions.
<BR>&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="splash.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="kitOverview.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
&nbsp;
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,54 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Reference</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H2>
<A NAME="reference"></A>Reference</H2>
This section summarizes the references used throughout this document.&nbsp;
In addition, other miscellaneous references may be found here.
<P><FONT SIZE=-1>Table 5. Reference Links</FONT>
<TABLE BORDER COLS=3 WIDTH="100%" >
<TR>
<TD><A HREF="isocodes.htm">Locale Table (local)</A></TD>
<TD><A HREF="http://www.indigo.ie/egt/standards/iso639/iso639-en.html">Locale
Table (remote)</A></TD>
<TD><A HREF="registrySettings.html">Windows Registry Settings Reference</A></TD>
</TR>
<TR>
<TD><A HREF="http://home.netscape.com/menu/intl/">Communicator International
Features</A></TD>
<TD><A HREF="http://help.netscape.com/kb/client/970513-4.html"></A></TD>
<TD><FONT COLOR="#009900"><A HREF="charsets.htm"></A></FONT></TD>
</TR>
</TABLE>
<A HREF="allxpstr.h"></A>
<P>&nbsp;
<CENTER><TABLE COLS=1 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER></CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,612 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
<TITLE>Windows Registry Settings</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H1>
Windows Registry Settings</H1>
This document is provided as a reference to the Windows registry settings
implemented by Communicator and Navigator.&nbsp; You may use this as a
guide to the registry settings you must implement if you create your own
installation program (as opposed to localizing an existing Netscape installer).
<P>Note that in the Netscape installers, these settings are implemented
only within .INI files.&nbsp; This simplifies modifying and localizing
the installer. It is recommended that your installer do the same.
<P>You may observe the registry changes made by any product with tools
such as <A HREF="http://www.ntinternals.com/regmon.htm">Regmon.</A> This
may be a useful addition to your toolset.
<P>These notes are applicable to Netscape Communicator version 4.03.
<BR>&nbsp;
<TABLE BORDER COLS=1 WIDTH="100%" >
<TR>
<TD><B>MPLAY32.INI</B>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Media Player&nbsp;
<BR>Name : CurrentVersion&nbsp;
<BR>Value: 4.03 (en)&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Media Player\4.03 (en)&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Media Player\4.03 (en)\Main&nbsp;
<BR>Name : Install Directory&nbsp;
<BR>Value: [Default Path]\MPlayer&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Program Folder&nbsp;
<BR>Value: [Program Folder]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\.LAM&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: LAMDocument&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\LAMDocument\shell\open\command&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [WINSYSDIR]\mplay32.exe %1&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : (Default)&nbsp;
<BR>Value: [WINDIR]\mplayer.exe %1&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\LAMDocument\DefaultIcon&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\MPlayer\npcfg32.exe ,0&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\MCI32&nbsp;
<BR>Name : LiveAudioFile&nbsp;
<BR>Value: mcilma32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\MCI&nbsp;
<BR>Name : LiveAudioFile&nbsp;
<BR>Value: mcilma.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\MCI32&nbsp;
<BR>Name : LiveAudioMetafile&nbsp;
<BR>Value: mcilau32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\drivers.desc&nbsp;
<BR>Name : mcilau32.dll&nbsp;
<BR>Value: (MCI) Netscape Media Player&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\MCI&nbsp;
<BR>Name : LiveAudioMetafile&nbsp;
<BR>Value: mcilau.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\MCI
Extensions&nbsp;
<BR>Name : LAM&nbsp;
<BR>Value: LiveAudioMetafile&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : LMA&nbsp;
<BR>Value: LiveAudioFile&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : LA&nbsp;
<BR>Value: LiveAudioFile&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\drivers.desc&nbsp;
<BR>Name : mcilma32.dll&nbsp;
<BR>Value: (MCI) Netscape Packetized Audio&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Drivers32&nbsp;
<BR>Name : MSACM.NSPAC&nbsp;
<BR>Value: NSPAC32.ACM&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\drivers.desc&nbsp;
<BR>Name : NSPAC32.ACM&nbsp;
<BR>Value: elemedia(TM) AX24000P Music Codec&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Drivers32&nbsp;
<BR>Name : MSACM.voxacm118&nbsp;
<BR>Value: vdk32118.acm&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\drivers.desc&nbsp;
<BR>Name : vdk32118.acm&nbsp;
<BR>Value: Voxware 32bit Codec&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Drivers32&nbsp;
<BR>Name : MSACM.NSX83&nbsp;
<BR>Value: NSX83P32.ACM&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\drivers.desc&nbsp;
<BR>Name : NSX83P32.ACM&nbsp;
<BR>Value: elemedia(TM) SX8300 Speech Codec&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Drivers32&nbsp;
<BR>Name : MSACM.NSMLAW&nbsp;
<BR>Value: NSMLAW32.DLL&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\drivers.desc&nbsp;
<BR>Name : NSMLAW32.DLL&nbsp;
<BR>Value: Netscape G.711 Decoder&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>
<HR WIDTH="100%">
<BR><B>NAV40.INI</B>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App
Paths\Netscape.exe&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\Netscape.exe&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Path&nbsp;
<BR>Value: [Default Path]\Program&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{7865A9A1-33A8-11d0-BED9-00A02468FAB6}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\brpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{543EC0D0-6AB7-11d0-BF56-00A02468FAB6}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\brpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{543EC0D1-6AB7-11d0-BF56-00A02468FAB6}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\brpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{2D0A7D70-748C-11d0-9705-00805F8AA8B8}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\edpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{E8D6B4F0-8B58-11d0-9B63-00805F8ADDDE}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\mnpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{DDF4AB60-8B84-11d0-9B63-00805F8ADDDE}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\mnpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{CC3E2871-43CA-11d0-B6D8-00805F8ADDDE}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\mnpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{CC3E2872-43CA-11d0-B6D8-00805F8ADDDE}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\mnpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netscape Navigator&nbsp;
<BR>Name : CurrentVersion&nbsp;
<BR>Value: 4.03 (en)&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netscape Navigator\Users&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netscape Navigator\4.03
(en)&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netscape Navigator\4.03
(en)\Main&nbsp;
<BR>Name : Install Directory&nbsp;
<BR>Value: [Default Path]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Java Directory&nbsp;
<BR>Value: [Default Path]\Program\Java&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : NetHelp Directory&nbsp;
<BR>Value: [Default Path]\Program\NetHelp&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Plugins Directory&nbsp;
<BR>Value: [Default Path]\Program\Plugins&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Program Folder&nbsp;
<BR>Value: [Program Folder]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CURRENT_USER\Software\Netscape&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CURRENT_USER\Software\Netscape\Netscape Navigator&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CURRENT_USER\Software\Netscape\Netscape Navigator\Main&nbsp;
<BR>Name : Install Directory&nbsp;
<BR>Value: [Default Path]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\CLSID&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: {61D8DE20-CA9A-11CE-9EA5-0080C82BE3B6}&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\Insertable&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\protocol\StdFileEditing\server&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\Netscape.exe&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\protocol\StdFileEditing\verb\0&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: &amp;Edit&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\open\command&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\Netscape.exe "%1"&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\print\command&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\Netscape.exe /print("%1")&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\print\ddeexec&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [print("%1")]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\PrintTo\command&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\Netscape.exe /printto("%1","%2","%3","%4")&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\PrintTo\ddeexec&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [("%1","%2","%3","%4")]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\open\ddeexec&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: "%1"&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\open\ddeexec\Application&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: NSShell&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\open\ddeexec\Topic&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: WWW_OpenURL&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\Edit\command&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\Netscape.exe -edit "%1"&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\Edit\ddeexec&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [edit("%1")]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netcaster&nbsp;
<BR>Name : CurrentVersion&nbsp;
<BR>Value: 4.03 (en)&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netcaster\4.03 (en)\Main&nbsp;
<BR>Name : Install Directory&nbsp;
<BR>Value: [Shell Path]\Netcast&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Program Folder&nbsp;
<BR>Value: [Program Folder]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{C98D0190-7D81-11d0-BF8D-00A02468FAB6}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\brpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{37B601C0-8AC8-11d0-83AF-00805F8A274D}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\brpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{913A4A20-8EBF-11d0-BFAB-00A02468FAB6}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\brpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\print\ddeexec\Application&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: NSShell&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\PrintTo\ddeexec\Application&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: NSShell&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\Edit\ddeexec\Application&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: NSShell&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: Hypertext Markup Language&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\telnet&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: URL:Telnet Protocol&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\telnet\shell\open\command&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: telnet %1&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>
<HR WIDTH="100%">
<BR><B>NETCAST.INI</B>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netcaster&nbsp;
<BR>Name : CurrentVersion&nbsp;
<BR>Value: 1.0 (en)&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netcaster\1.0 (en)&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netcaster\1.0 (en)\Main&nbsp;
<BR>Name : Install Directory&nbsp;
<BR>Value: [Default Path]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Program Folder&nbsp;
<BR>Value: [Program Folder]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>
<HR WIDTH="100%">
<BR><B>NSCONF.INI</B>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Conference&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Conference\CurrentVersion&nbsp;
<BR>Name : Description&nbsp;
<BR>Value: Conference&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : InstallDate&nbsp;
<BR>Value: [TIME]&nbsp;
<BR>Type : REGDB_NUMBER&nbsp;
<P>Name : Installed&nbsp;
<BR>Value: 1&nbsp;
<BR>Type : REGDB_NUMBER&nbsp;
<P>Name : PathName&nbsp;
<BR>Value: [Default Path]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : SoftwareType&nbsp;
<BR>Value: application&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : VersionBuild&nbsp;
<BR>Value: 1213&nbsp;
<BR>Type : REGDB_NUMBER&nbsp;
<P>Name : VersionMajor&nbsp;
<BR>Value: 1&nbsp;
<BR>Type : REGDB_NUMBER&nbsp;
<P>Name : VersionMinor&nbsp;
<BR>Value: 0&nbsp;
<BR>Type : REGDB_NUMBER&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Drivers32&nbsp;
<BR>Name : MSACM.VOXACM118&nbsp;
<BR>Value: vdk32118.acm&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : MSACM.NSX83&nbsp;
<BR>Value: nsx83p32.acm&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : MSACM.NSX723&nbsp;
<BR>Value: sx5363s.acm&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : MSACM.NSMLAW&nbsp;
<BR>Value: nsmlaw32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CURRENT_USER\Software\Netscape&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\nscfile\shell\open\command&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\NSConf32.exe -f "%1"&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Conference&nbsp;
<BR>Name : CurrentVersion&nbsp;
<BR>Value: 4.03 (en)&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Conference\4.03 (en)&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Conference\4.03 (en)\Main&nbsp;
<BR>Name : Install Directory&nbsp;
<BR>Value: [Default Path]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Program Folder&nbsp;
<BR>Value: [Program Folder]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="kitOverview.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,53 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
<TITLE>Reporting Bugs</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
<A NAME="reporting_bugs"></A>Reporting Bugs</H3>
Any bugs in the localization kits you find should be reported to <A HREF="http://www.mozilla.org">mozilla.org</A>
as soon as possible. When you report a bug, try to be as specific as you
can about the exact steps needed to reproduce the bug.&nbsp; Provide a
complete description of the problem versus the expected results.&nbsp;
You should let us know if the problem is 100% reproducible (it happens
every time), or if it is intermittant.&nbsp; If you think that your operating
environment may play some factor, let us know the details of that.&nbsp;
Finally, before reporting any bug, you should make sure that the problem
doesn't also happen in the US English product (if it does, we still want
to know, but it may not be possible to fix it through the localization
kits or tools as they are now).
<P>To report a bug, post a message to the following mozilla.org newsgroup:
<BR>&nbsp;
<CENTER><A HREF="news://news.mozilla.org/netscape.public.mozilla.general">news://news.mozilla.org/netscape.public.mozilla.general</A></CENTER>
<P>Be sure to include the information described above.
<BR>&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="testKit.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="returnKit.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,54 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
<TITLE>Returning the Kit</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H2>
<A NAME="returnkit"></A>5. Publishing the Finished Kit</H2>
Once you are satisfied with the quality of your localization efforts, you
are required by the terms of the universal localization program license
agreement to make your localized product publicly available. The exact
details of how you do this is up to you, the most commonly acceptable method
is to post your localized product to a publicly accessible ftp site.
<P>You should post just the localized versions of the files mentioned in
the Localize These Files section of this document. For ease of transfer,
you may create a compressed archive in the .ZIP file format that contains
the localized files. Create one .ZIP file for each language/platform you
do. If you are publishing more than one language or platform, you may combine
multiple .ZIP files into one master .ZIP file if this makes your life easier.
<P>If your localized product includes your own trademarks, you should identify
these and any restrictions you are placing on their use. You must also
include a copy of the End User License Agreement (EULA), as well as a notice
stating that Netscape Communications is not required to support your product,
and that you are the Licensor referred to in the EULA. Please refer to
the Universal Localization Agreement for the exact legal requirements.
<P>Once your localized product is publicly available, you may inform the
world in any manner you choose, but we encourage you to also post the download
location to the mozilla.org Announcements newsgroup (netscape.public.mozilla.announce).
<CENTER>&nbsp;<BR>
<FONT COLOR="#008000"><FONT SIZE=+2>Congratulations! You are done!</FONT></FONT></CENTER>
&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="testKit.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,47 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Title Page</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<CENTER>
<H1>
NETSCAPE COMMUNICATOR</H1></CENTER>
<CENTER><IMG SRC="SPLASH.JPG" NOSAVE HEIGHT=261 WIDTH=390></CENTER>
<CENTER>
<H1>
Localization Kit</H1></CENTER>
<CENTER>
<H3>
for Microsoft<SUP><FONT SIZE=+0>&reg;</FONT></SUP> Windows (32-bit version)</H3></CENTER>
<CENTER>
<H3>
Revision 1.1</H3></CENTER>
<CENTER>Copyright &copy; 1994-1998 Netscape&reg; Communications Corporation,
All rights reserved.</CENTER>
&nbsp;
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="projectOverview.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
</BODY>
</HTML>

View File

@@ -1,150 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Testing the Localized Resources</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H2>
<A NAME="testkit"></A>4. Ensuring Quality</H2>
The quality of your localized version will have a large impact on its acceptance
in the marketplace.&nbsp; You can greatly enhance your chances of producing
a quality product by using experienced and skilled localizers, and by performing
post-translation testing.
<P>When performing the actual translation, you should be sensitive to a
number of issues:
<UL>
<LI>
Completeness: you should aim for as thorough a translation as possible.&nbsp;
Try not to leave portions of the product untranslated. However, be aware
that some terms may best be left in English, depending on local conventions.</LI>
<LI>
Suitability: all translations should be suitable and appropriate for product,
the language, the market and the customers you intend to reach.&nbsp; This
includes using the proper technical terminology for a give platform or
computer operation, as well as using language that is readily understood
by the average user of the product in a given language.&nbsp; You should,
where possible, try to use terminology which is similar to other products
available on the same platform (without violating copyrights or trademarks,
of course).</LI>
<LI>
Accuracy: you should be sure your translation conveys the same meaning
and intention as the original English.</LI>
<LI>
Grammar and spelling: you should be sure your translation is grammatically
accurate and free from spelling errors.</LI>
</UL>
Keep in mind that engineers do not necessarily make the best localizers!
<P>Once localization is complete, there are two basic types of post-translation
testing that should be done:
<BR>&nbsp;
<TABLE BORDER WIDTH="100%" >
<TR>
<TD>Linguistic Review</TD>
<TD>Checking all translations for accuracy and appropriateness in the actual
context in which they appear.</TD>
</TR>
<TR>
<TD>Functional Testing</TD>
<TD>Ensuring the product still functions as designed (or at least as well
as the US English product).</TD>
</TR>
</TABLE>
&nbsp;
<BR>For the linguistic review, you should have an independent reviewer
(i.e. not the person who implemented the translations) check every string
for the items listed above.&nbsp; In some cases, it may be enough to review
the running product itself; however, it is also valuable to print out your
translations and review them externally from the product.
<P>For the functional testing, your best resource are the directions contained
in the localization notes and this document. You should review the completed
product's localization notes with this document in hand, double checking
that you have followed all the instructions contained here.
<P>Consider the following general guidelines when testing:
<UL>
<LI>
It is helpful to have a second copy of the product running with the English
version so you can compare them side by side (a second computer might be
helpful or required for this).</LI>
<LI>
Walk through every menu in each module you have localized looking for translation
accuracy, pick letter conflicts and other problems.</LI>
<LI>
Bring up as many dialogs as you can, looking for translation accuracy,
pick letter conflicts, truncated strings and functionality issues.</LI>
<LI>
Exercise the installer in as many ways as possible:</LI>
<UL>
<LI>
Select every installer option</LI>
<LI>
Be sure to test the deinstaller</LI>
<LI>
Look at the icons and folder names created</LI>
<LI>
Use accented or multibyte file and directory names</LI>
<LI>
Install to non-existant and read-only directories</LI>
<LI>
Install to drives with insufficient disk space</LI>
<LI>
etc.</LI>
</UL>
<LI>
If functional problems are found, you should compare the same steps you
took in the localized product to the English product: if the two products
fail in the same way, it is a "core" bug, which can only be fixed by changing
the core product's executable. If the localized product fails while the
English product does not, then it is probably a translation-related bug;
these can be fixed by altering the way you localize the product (perhaps
by not translating a particular item, or by translating it differently).</LI>
</UL>
The following section tells you how to report bugs in the localization
kit itself, or in the core product.
<BR>&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="usingKit.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="reportingBugs.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,106 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Table of Contents</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H2>
Table of Contents</H2>
<TABLE>
<TR>
<TD><FONT SIZE=+1>i. <A HREF="splash.html">Title Page</A></FONT>&nbsp;
<BR>&nbsp;</TD>
</TR>
<TR>
<TD><FONT SIZE=+1>1. <A HREF="projectOverview.html">Project Overview</A></FONT>&nbsp;
<UL>
<LI>
<A HREF="kitOverview.html">Kit Overview</A></LI>
<LI>
<A HREF="kitStruct.html">Structure and Organization</A></LI>
<LI>
<A HREF="nomenclature.html">Nomenclature and Typographical Conventions<BR>
</A>&nbsp;&nbsp;</LI>
</UL>
</TD>
</TR>
<TR>
<TD><FONT SIZE=+1>2. <A HREF="gettingStarted.html">Getting Started</A></FONT>&nbsp;
<UL>
<LI>
<A HREF="gettingStarted.html#sysreqs">System Requirements</A></LI>
<LI>
<A HREF="gettingStarted.html#install">Installing the Kit</A></LI>
<LI>
<A HREF="gettingStarted.html#configtool">Configuring Your Tools</A></LI>
</UL>
&nbsp;</TD>
</TR>
<TR>
<TD><FONT SIZE=+1>3. <A HREF="usingKit.html">Using the Kit</A></FONT>&nbsp;
<UL>
<LI>
<A HREF="usingKit.html#locdbf">Understanding the Localization Notes</A></LI>
<LI>
<A HREF="usingKit.html#l10nchecklist">Localization Checklist</A></LI>
<LI>
<A HREF="localize_these_files.html">Localize These Files</A></LI>
<LI>
<A HREF="usingKit.html#branding">Product Branding Issues</A></LI>
<LI>
<A HREF="usingKit.html#howtol10n">How to Localize Different Resource Types</A></LI>
<LI>
<A HREF="localizeURL.html">Localizing URLs</A></LI>
<LI>
<A HREF="usingKit.html#localize_stringtable">Localizing STRING TABLES</A></LI>
<LI>
<A HREF="usingKit.html#localize_dialogs">Localizing DIALOGS</A></LI>
<LI>
<A HREF="usingKit.html#localize_text">Localizing .INI Files</A></LI>
</UL>
&nbsp;</TD>
</TR>
<TR>
<TD><FONT SIZE=+1>4. <A HREF="testKit.html">Ensuring Quality</A></FONT>&nbsp;
<UL>
<LI>
<A HREF="testKit.html#testkit">Test Considerations</A></LI>
<LI>
<A HREF="reportingBugs.html">Reporting Bugs</A></LI>
</UL>
&nbsp;</TD>
</TR>
<TR>
<TD><FONT SIZE=+1>5. <A HREF="returnKit.html">Publishing the Finished Kit</A></FONT>&nbsp;
<BR>&nbsp;</TD>
</TR>
<TR>
<TD><FONT SIZE=+1>6. <A HREF="reference.html">References</A></FONT>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,323 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Using the Kit</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
&nbsp;
<TABLE COLS=1 WIDTH="100%" >
<TR>
<TD>
<CENTER><B><FONT COLOR="#FF0000">WARNING! Protect yourself from data loss
by making regular backups of your work.</FONT></B></CENTER>
</TD>
</TR>
</TABLE>
<H2>
<A NAME="usekit"></A>3. Using the Kit</H2>
Once your copy of the Windows Installer Localization Kit is correctly installed,
you may begin your localization work by following the instructions in the
remainder of this document. The next section discusses the contents of
the localization notes provided with this kit. It is important that you
work properly with the instructions contained in these files or the localized
product you create may not function.
<H3>
<A NAME="locdbf"></A>Understanding the Localization Notes</H3>
Each localized module to be installed has an associated initialization
(.INI) file. The localization notes for these files, and for the localizable
dynamic link libraries used by the InstallShield installer, are provided
as HTML documentation. (There are no localization databases in this kit).
Additionally, a section detailing the required Windows registry settings
is also provided in HTML format.
<P>The next section presents the basic localization process as a checklist.
<CENTER>
<HR WIDTH="50%"></CENTER>
<H3>
<A NAME="l10nchecklist"></A>Localization Checklist</H3>
This checklist applies to the "<A HREF="kitOverview.html#method1">modifying
an existing Communicator installer</A>" method. If you are <A HREF="kitOverview.html#method2">creating
your own installer</A>, you will need to adapt this checklist accordingly.
A reference is provided to help you implement the correct <A HREF="registrySettings.html">Windows
registry settings</A>.
<P><B>1. Download an existing installer</B>
<BR>You will need a matching installer for the product you are localizing.
In other words, if you are localizing Netscape Communicator version 4.03,
you need an installer for the Export version of Netscape Communicator 4.03.
If you are localizing Mozilla Navigator version 5.0, you need an installer
for the Export version (if any) of Mozilla Navigator version 5.0. Latest
versions of Netscape products can be downloaded from the <A HREF="http://home.netscape.com/download/index.html">Netscape
homepage</A>. Older versions of Netscape installers, matching the versions
used to generate the localization kits, can be found on the <A HREF="ftp://ftp.mozilla.org/pub/l10n-kits/">mozilla.org
ftp site</A>.
<P>Current Netscape installers come in two forms: base and complete. Complete
installers include plugins and other components besides the basic Communicator
software. You may use either installer as the foundation for your work,
but note that there may not be localization kits for the additional components.
Even if you choose to distribute the English version of these components,
however, you must modify the associated initialization files, listed in
the <A HREF="localize_these_files.html#table1">Localize These Files</A>
page in order for the additional components to be installed properly.
<P><B>2. Uncompress the Installer files</B>
<UL>
<LI>
Run the installer you downloaded in step 1. This will bring up the following
dialog (or something very similar):</LI>
<BR><IMG SRC="Is1.jpg" HEIGHT=101 WIDTH=364>
<LI>
Click yes. InstallShield will extract all the installation files to your
temporary directory. (Usually, this will be C:\temp or something similar).
Once this process is complete, the blue InstallShield background will display.</LI>
<LI>
Without exiting the installer, locate the unpacked installer files in your
temp directory and copy them to a new directory. Call this directory "install"
(or something similar).</LI>
<LI>
Exit the installer.</LI>
</UL>
<B>3. Uncompress the Deinstaller files</B>
<UL>
<LI>
Change directories to your "install" directory. Locate the file cd32*.exe
(where * equals the version number you are working on. For example, version
4.03 would be represented as cd32403.exe).</LI>
<LI>
Execute cd32*.exe. This will bring up a dialog similar to the one shown
is step 2. Click yes and wait until InstallShield has finished unpacking
the deinstaller files (the blue InstallShield background will display).</LI>
<LI>
Without exiting the installer, locate the unpacked deinstaller files in
your temp directory and copy them to a new directory. Call this directory
"deinstall" (or something similar).</LI>
<LI>
Exit the installer.</LI>
</UL>
<B>4. Extract localizable installer .DLLs</B>
<BR>Change directories to your "install" directory. Use the InstallShield
tool ICOMP.EXE to extract RSUTIL.DLL and _ISUSER.DLL from _SETUP.LIB:
<UL><TT>Example: icomp _setup.lib -d</TT></UL>
<B>4. Localize files</B>
<BR>Consult the <A HREF="localize_these_files.html#table1">Localize These
Files</A> page to learn which files contain localizable resources.
<P>For each file to be localized, locate the associated Localization Notes
for that file and follow them carefully.
<P><B>5. Replace original product files contained in nav40.z with localized
product files</B>
<BR>Use the ICOMP tool to replace the original (English language) Communicator
or Navigator files with the ones you have localized using the Windows Front
End Localization Kit.
<UL>
<LI>
Make sure your localized product directory structure matches the structure
inside the compressed file nav40.z. (If necessary, uncompress nav40.z (including
subdirectories), and replace all the localizable files (as identified by
the Windows Front End Localization Kit) with your localized versions).</LI>
<LI>
Update nav40.z with your localized files:</LI>
<UL><TT>Example: icomp \<I>kitRoot</I>\products\client\windows\<I>platform</I>\<I>locale</I>\*.*
nav40.z -i</TT></UL>
</UL>
<B>6. Rebuild the self-extracting deinstaller program</B>
<BR>Use the InstallShield tool EXE Builder to reassemble the self-extracting
deinstaller archive.
<UL>
<LI>
Specify your "deinstall" directory as the source directory.</LI>
<LI>
Set compression on.</LI>
<LI>
Specify Setup.exe as the command line program to run when self-extraction
is complete. (No optional parameters are required.)</LI>
<LI>
Specify your "install" directory as the target directory.</LI>
<LI>
Enter the name of your localized product as the application name.</LI>
<LI>
Do not specify a password.</LI>
<LI>
Once creation of your localized self-extracting deinstaller is complete,
locate the file Setupex.exe in your "install" directory and rename it to
match the original name of the deinstaller self-extracting program (e.g.,
cd32403.exe).</LI>
</UL>
<B>7. Rebuild the self-extracting installer program</B>
<BR>Use the InstallShield tool EXE Builder to reassemble the self-extracting
installer archive.
<UL>
<LI>
Specify your "install" directory as the source directory.</LI>
<LI>
Set compression on.</LI>
<LI>
Specify Setup.exe as the command line program to run when self-extraction
is complete. (No optional parameters are required.)</LI>
<LI>
Specify any directory you want as the target directory.</LI>
<LI>
Enter the name of your localized product as the application name.</LI>
<LI>
Do not specify a password.</LI>
<LI>
Once creation of your localized self-extracting installer is complete,
locate the file Setupex.exe in your target directory and rename it to something
meaningful.</LI>
</UL>
<B>8. Complete post-translation processing</B>
<BR>After translation is complete, you need to test your work and deal
with any problems:
<UL>
<LI>
Test the localized installer.</LI>
<LI>
Fix translation bugs using your localization tools or a resource editor.</LI>
<LI>
Fix dialog size bugs using your localization tools or a resource editor.</LI>
<LI>
Report core bugs to Netscape.</LI>
</UL>
<B>9. Publish your localized product to the Internet</B>
<BR>As the terms of the universal localization program license agreement
state, your localized product
<P><TT>"must be made publicly available in executable code form,</TT>
<BR><TT>free of charge, for electronic delivery via a mechanism</TT>
<BR><TT>generally accepted in the software development</TT>
<BR><TT>community."</TT>
<P>In plain English, this means you should post your localized product
on a publicly accessible http: or ftp: server. You may also want to send
an announcement of your product's availability to mozilla.org (though you
are not required to do so).
<P>
<HR WIDTH="50%">
<H2>
<A NAME="branding"></A>Product Branding Issues</H2>
If you are using this kit under the auspices of the universal localization
program, you must remove or replace Netscape trademarked strings, images
and icons in your localized version. Click <A HREF="branding.html">here</A>
for instructions.
<P>
<HR WIDTH="50%">
<H2>
<A NAME="howtol10n"></A>How to Localize Different Resource Types</H2>
This section provides you with general information about localizing the
various resource types and files found with this kit.
<H3>
<A NAME="localize_text"></A>Localizing .INI Files</H3>
<UL>Most of the work for the Windows installers is localizing initialization
(.INI) files. You may use the text editor of your choice to do this work.
Be sure the localized files are saved as plain text only.
<H4>
<A NAME="locnote_ini"></A>Localization Notes</H4>
Individual localization notes for the installer .INI files are contained
in the individual HTML documents linked from the <A HREF="localize_these_files.html#table1">Localize
These Files</A> page.</UL>
<H3>
<A NAME="localizeURLs"></A>Localizing URLs</H3>
<UL>You will not likely encounter any URLs (Universal Resource Locators)
in the installers, but if you do, how they are localized depends on whether
you are creating a branded Netscape version or not. The rules for how to
handle URLs are found <A HREF="localizeURL.html">here</A>.</UL>
<H3>
<A NAME="localize_stringtable"></A>Localizing String Tables</H3>
<UL>Use the resource editor of your choice to localize STRINGTABLE resources.
These are the most sensitive, potentially problematic resource type you
will be working with. Therefore, you must pay close attention to the instructions
provided in the localization notes.
<H4>
<A NAME="locnote_stringtable"></A>Localization Notes</H4>
Individual localization notes for the installer resource .DLLs are contained
in the individual HTML documents linked from the <A HREF="localize_these_files.html#table1">Localize
These Files</A> page. This section gives you some additional general guidelines
to follow when localizing the installer binary files.
<UL>
<LI>
Some strings may contain C++ print format strings, such as %s, %ld, %lu,
etc. Do not modify these while translating the rest of the string.</LI>
<LI>
Some strings may contain new line characters: \n. In general, you should
try leave these as you find them.</LI>
</UL>
</UL>
<H3>
<A NAME="localize_menus"></A>Localizing Menus</H3>
<UL>There are no menu resources in the Windows installer</UL>
<H3>
<A NAME="localize_dialogs"></A>Localizing Dialogs</H3>
<UL>Use the resource editor of your choice to localize and resize DIALOG
resources. Dialog translation is usually not as tricky as localizing string
tables; however, you should take care to assign unique pickletters to dialog
controls.
<H4>
<A NAME="locnote_menus"></A>Localization Notes</H4>
</UL>
<UL>Individual localization notes for the installer resource .DLLs are
contained in the individual HTML documents linked from the <A HREF="localize_these_files.html#table1">Localize
These Files</A> page.</UL>
&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="gettingStarted.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="testKit.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,40 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Product Branding Issues</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
Product Branding Instructions</H3>
Under the terms of the Unlimited Localization Program, you must remove
or replace all trademarked Netscape terms, brand names, icons, images,
etc.&nbsp; These trademarks are listed on the page found at the following
URL:
<P><A HREF="http://home.netscape.com/misc/trademarks.html#trademarks">http://home.netscape.com/misc/trademarks.html#trademarks</A>
<P>Please refer to that page for details.&nbsp; You may not release a localized
version of the Netscape Communicator with these trademarks left in the
product.
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="usingKit.html#branding">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER><BR>
<FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape Communications
Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,383 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
<TITLE>HTML Output of: C:\TEMP\CHARSET.DBF</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H1>
CSID REFERENCE TABLE</H1>
Use this table to determine the Character Set ID (CSID) for the character
set you wish to use, for example, for setting the value of&nbsp; pref("intl.character_set")
in ALL_PREFS.
<BR>&nbsp;
<TABLE BORDER >
<TR>
<TH>CSID</TH>
<TH>CHARSET</TH>
</TR>
<TR>
<TD>0</TD>
<TD>CS_DEFAULT</TD>
</TR>
<TR>
<TD>1</TD>
<TD>CS_ASCII</TD>
</TR>
<TR>
<TD>2</TD>
<TD>CS_LATIN1</TD>
</TR>
<TR>
<TD>6</TD>
<TD>CS_MAC_ROMAN</TD>
</TR>
<TR>
<TD>10</TD>
<TD>CS_LATIN2</TD>
</TR>
<TR>
<TD>11</TD>
<TD>CS_MAC_CE</TD>
</TR>
<TR>
<TD>14</TD>
<TD>CS_8859_3</TD>
</TR>
<TR>
<TD>15</TD>
<TD>CS_8859_4</TD>
</TR>
<TR>
<TD>16</TD>
<TD>CS_8859_5</TD>
</TR>
<TR>
<TD>17</TD>
<TD>CS_8859_6</TD>
</TR>
<TR>
<TD>18</TD>
<TD>CS_8859_7</TD>
</TR>
<TR>
<TD>19</TD>
<TD>CS_8859_8</TD>
</TR>
<TR>
<TD>20</TD>
<TD>CS_8859_9</TD>
</TR>
<TR>
<TD>21</TD>
<TD>CS_SYMBOL</TD>
</TR>
<TR>
<TD>22</TD>
<TD>CS_DINGBATS</TD>
</TR>
<TR>
<TD>23</TD>
<TD>CS_DECTECH</TD>
</TR>
<TR>
<TD>27</TD>
<TD>CS_JISX0201</TD>
</TR>
<TR>
<TD>29</TD>
<TD>CS_TIS620</TD>
</TR>
<TR>
<TD>35</TD>
<TD>CS_UTF7</TD>
</TR>
<TR>
<TD>38</TD>
<TD>CS_USRDEF2</TD>
</TR>
<TR>
<TD>39</TD>
<TD>CS_KOI8_R</TD>
</TR>
<TR>
<TD>40</TD>
<TD>CS_MAC_CYRILLIC</TD>
</TR>
<TR>
<TD>41</TD>
<TD>CS_CP_1251</TD>
</TR>
<TR>
<TD>42</TD>
<TD>CS_MAC_GREEK</TD>
</TR>
<TR>
<TD>43</TD>
<TD>CS_CP_1253</TD>
</TR>
<TR>
<TD>44</TD>
<TD>CS_CP_1250</TD>
</TR>
<TR>
<TD>45</TD>
<TD>CS_CP_1254</TD>
</TR>
<TR>
<TD>46</TD>
<TD>CS_MAC_TURKISH</TD>
</TR>
<TR>
<TD>53</TD>
<TD>INTL_CHAR_SET_MAX</TD>
</TR>
<TR>
<TD>254</TD>
<TD>CS_USER_DEFINED_ENCODING</TD>
</TR>
<TR>
<TD>255</TD>
<TD>CS_UNKNOWN</TD>
</TR>
<TR>
<TD>260</TD>
<TD>CS_SJIS</TD>
</TR>
<TR>
<TD>261</TD>
<TD>CS_EUCJP</TD>
</TR>
<TR>
<TD>263</TD>
<TD>CS_BIG5</TD>
</TR>
<TR>
<TD>264</TD>
<TD>CS_GB_8BIT</TD>
</TR>
<TR>
<TD>265</TD>
<TD>CS_CNS_8BIT</TD>
</TR>
<TR>
<TD>280</TD>
<TD>CS_CNS11643_1</TD>
</TR>
<TR>
<TD>281</TD>
<TD>CS_CNS11643_2</TD>
</TR>
<TR>
<TD>282</TD>
<TD>CS_JISX0208</TD>
</TR>
<TR>
<TD>284</TD>
<TD>CS_KSC5601</TD>
</TR>
<TR>
<TD>286</TD>
<TD>CS_JISX0212</TD>
</TR>
<TR>
<TD>287</TD>
<TD>CS_GB2312</TD>
</TR>
<TR>
<TD>290</TD>
<TD>CS_UTF8</TD>
</TR>
<TR>
<TD>292</TD>
<TD>CS_NPC</TD>
</TR>
<TR>
<TD>293</TD>
<TD>CS_X_BIG5</TD>
</TR>
<TR>
<TD>303</TD>
<TD>CS_GB2312_11</TD>
</TR>
<TR>
<TD>304</TD>
<TD>CS_JISX0208_11</TD>
</TR>
<TR>
<TD>305</TD>
<TD>CS_KSC5601_11</TD>
</TR>
<TR>
<TD>306</TD>
<TD>CS_CNS11643_1110</TD>
</TR>
<TR>
<TD>515</TD>
<TD>CS_JIS</TD>
</TR>
<TR>
<TD>525</TD>
<TD>CS_2022_KR</TD>
</TR>
<TR>
<TD>564</TD>
<TD>CS_IMAP4_UTF7</TD>
</TR>
<TR>
<TD>810</TD>
<TD>CS_UCS2</TD>
</TR>
<TR>
<TD>811</TD>
<TD>CS_UCS4</TD>
</TR>
<TR>
<TD>819</TD>
<TD>CS_UCS2_SWAP</TD>
</TR>
<TR>
<TD>1292</TD>
<TD>CS_KSC_8BIT</TD>
</TR>
<TR>
<TD>2308</TD>
<TD>CS_SJIS_AUTO</TD>
</TR>
<TR>
<TD>2309</TD>
<TD>CS_EUCJP_AUTO</TD>
</TR>
<TR>
<TD>2563</TD>
<TD>CS_JIS_AUTO</TD>
</TR>
</TABLE>
@author: relliott
<BR>@source: ftang
<BR>@last updated: Mar. 19, 1998
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1997, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,100 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
<TITLE>Getting Started</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H2>
<A NAME="getting started"></A>2. Getting Started</H2>
Before you can begin using the Windows Front End Localization Kit, you
must install it and setup your working directories. This is a simple matter
of unzipping the compressed kit file(s) into the proper directories. Your
system must also meet certain requirements to run the tools needed to perform
the localization steps described below.
<P>
<HR WIDTH="50%">
<H3>
<A NAME="sysreqs"></A>System Requirements</H3>
There a few system requirements for the kit in the strictest sense; however,
your choice of tools will have their own set of requirements.&nbsp; The
most likely minimum configuration will be as follows:
<UL>
<LI>
100% IBM compatible PC</LI>
<LI>
Pentium<SUP><FONT SIZE=-1>&reg;</FONT></SUP> processor</LI>
<LI>
Microsoft<SUP><FONT SIZE=-1>&reg;</FONT></SUP> Windows NT 3.51 or 4.0 (localized
versions will help testing but aren't required)</LI>
<LI>
16 MB RAM</LI>
<LI>
30 MB available hard disk space</LI>
<LI>
A visual resource editor, such as those provided with Microsoft<SUP><FONT SIZE=-1>&reg;</FONT></SUP>
Visual C++, Borland<SUP><FONT SIZE=-1>&reg;</FONT></SUP> C++, etc.</LI>
<LI>
An active Internet connection and the ability to ftp (send and receive)
large files</LI>
<LI>
A Web browser (say, for example, Netscape Communicator ;-)</LI>
</UL>
<H3>
<HR WIDTH="50%"></H3>
<H3>
<A NAME="install"></A>Installing the Kit</H3>
It is recommended that you install the Windows Front End Localization Kit
in a brand new directory on your development machine. For example, you
can create a \Netscape_L10N_Kits directory on your hard drive. This becomes
your <B>kitRoot </B>directory.&nbsp; Place the L10n Kit's .ZIP file in
that directory and UNZIP it with the -d parameter:
<P>PKUNZIP -d <I>filename</I>
<UL><B>Example:&nbsp; <TT>PKUNZIP -d winfekit</TT></B></UL>
<HR WIDTH="50%">
<H3>
<A NAME="configtool"></A>Configuring Your Tools</H3>
If you intend to use the Netscape Translation Tools, please refer to the
<A HREF="../dogTool/dogToolUG.html">Translation Tools User Guide</A> for
instructions on setting up and using those tools.&nbsp; If you intend to
use a different localization tool, please refer to that tool's documentation
for set up and usage instructions.
<BR>&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="nomenclature.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="usingKit.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS]</A></CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER></CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 871 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

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