Compare commits

..

442 Commits

Author SHA1 Message Date
julien.pierre.bugs%sun.com
9deaa18dbb Unbreak build on AIX. Not sure why this builds on any other platform.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@203548 18797224-902f-48f8-a5cc-f745e15eee43
2006-07-24 20:51:33 +00:00
richard.freedman%sun.com
871470d6c7 Command modification necessary for Windows seems harmless for non-Windows, so
let's make it universal.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@201358 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-30 16:06:57 +00:00
richard.freedman%sun.com
4f3f9c5f91 This checkin creates a new file pkix_errorstrings.h containing the text
of all error messages. A macro definition in pkixt.h defines an error
number for each, and a different definition in pkix_error.c creates
the corresponding text strings. References to error strings throughout
libpkix have been replaced by the error numbers, with corresponding
changes to macros such as PKIX_CHECK and PKIX_ERROR.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@201303 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-29 22:21:34 +00:00
richard.freedman%sun.com
75d55643fa Remove an erroneous requirement for an argument to be non-NULL.
The user-supplied verify function does not require that the caller
provide an address for a verifyTree.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@201136 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-28 20:50:53 +00:00
richard.freedman%sun.com
f91401b3dc This file was accidentally omitted in previous checkin, to implement
non-blocking I/O in libpkix OCSP checking


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@201030 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-27 20:42:49 +00:00
richard.freedman%sun.com
59c46ed04a Implement nonblocking I/O for libpkix OCSP handler
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@201024 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-27 20:13:32 +00:00
richard.freedman%sun.com
bde9221988 pkix_DefaultRevChecker_Check calling sequence had to be modified, too, to
conform with the changes to revChecker_Check API


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@201000 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-27 15:11:19 +00:00
richard.freedman%sun.com
9e3af63767 Pass in user's procParams to ocspChecker for use in calling buildChain
to validate OCSP signer


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@200965 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-26 22:25:40 +00:00
richard.freedman%sun.com
abe5bd6cf1 Remove some obsolete debugging code which, among other things, referenced
a subroutine which no longer exists (thereby clobbering the build).


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@200681 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-23 15:26:09 +00:00
richard.freedman%sun.com
5d59d3442d Add a declaration pf PKIX_PL_Pk11CertStore_Create to the header file, so
that users are not required to include pkix_samples.h


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@200604 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-22 18:04:35 +00:00
richard.freedman%sun.com
7c31c82596 Eliminate unreferenced "checkin" labels and add parentheses in a few
hash calculations, to reduce warning messages from some of the more
discriminating compilers.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@200602 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-22 17:18:34 +00:00
richard.freedman%sun.com
c350994614 Fix a comment that referred to the wrong piece in describing a set of changes
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@200589 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-22 15:42:42 +00:00
richard.freedman%sun.com
7f9582dfc3 Isolate the CERT_VerifyCert call in OCSP processing, and allow the user
to provide an alternate function (via PKIX_OcspChecker_SetVerifyFcn).


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@200588 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-22 15:40:11 +00:00
richard.freedman%sun.com
6de4ed8539 Modify OCSP handling to isolate, and replace if a user-supplied alternative
is given, the legacy-code call to CERT_VerifyCert. Preserve Error information
to be available to the user.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@200357 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-19 21:57:26 +00:00
richard.freedman%sun.com
e62957c7a0 Fix a leak by deallocating the receive buffer when the httpdefaultclient
is destroyed


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@200355 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-19 21:50:45 +00:00
richard.freedman%sun.com
5c1f73d22c Add a descriptive narrative to the function header for
pkix_DefaultChecker_Create


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@200354 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-19 21:48:42 +00:00
richard.freedman%sun.com
4577ddf524 Add verifyNodes to test_buildchain. It calls for an additional argument
to PKIX_Build, so calling sequences in other test_buildchain variants
had to be modified as well (taking a NULL argument, for now).


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@199748 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-12 20:24:13 +00:00
richard.freedman%sun.com
760efc6195 Convert logging to use PKIX_ERRORNUM, PKIX_ERRORNAMES
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@199746 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-12 20:07:10 +00:00
richard.freedman%sun.com
6a976c334a Add tests for new type VerifyNode, used in logging
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@198580 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-29 17:42:35 +00:00
richard.freedman%sun.com
d206948d8f ../../../../checkinmsg
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@198489 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-26 21:37:08 +00:00
richard.freedman%sun.com
b0d332335d Provide logging functionality to PKIX_ValidateChain and its variants.
Define a new object type PKIX_VerifyNode, and build a tree of
VerifyNodes (optionally) during chain validation. Add this logging
capability to all existing pkix tests that use ValidateChain.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@198487 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-26 20:43:09 +00:00
richard.freedman%sun.com
2e50cc10f5 checkinmsg
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@198486 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-26 20:24:29 +00:00
richard.freedman%sun.com
f287e6e00b checkinmsg
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@198481 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-26 19:51:51 +00:00
richard.freedman%sun.com
6ff4d5299e Reduce the opportunity for human error by defining type numbers automatically,
via a macro, the same way that error numbers are defined.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@198476 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-26 18:53:20 +00:00
richard.freedman%sun.com
0f21607311 Eliminate redundant initialization of pkixTempErrorReceived in PKIX_STD_VARS
macro.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@198268 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-23 16:51:30 +00:00
richard.freedman%sun.com
6e45f035e5 Eliminate function that returned address of PKIX_ERRORNAMES.
Instead declare it as DATA to make it work in WIN32.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@198028 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-19 19:48:23 +00:00
richard.freedman%sun.com
41828a32a7 Declare PKIX_ERRORNAMES external in a manner that works on WIN32 also
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@198026 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-19 19:41:20 +00:00
richard.freedman%sun.com
0cb41d14fa Replace function that exports array address with appropriate declarations
that do the same, even on Windows platforms.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@198020 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-19 18:39:15 +00:00
richard.freedman%sun.com
7fbf7ac11f Keep PKIX_Error_GetErrorString in all versions, not just for WIN32. Other
versions complain of undefined symbol because of its presence in nss.def.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@198004 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-19 15:21:39 +00:00
richard.freedman%sun.com
6f2f019571 Provide WIN32 function to return the address of PKIX_ERRORNAMES array,
since we are unable to reference it directly from the test directory.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@197961 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-18 21:46:34 +00:00
richard.freedman%sun.com
042eecb19a Extra tab somehow got in after an end-of-line backslash. Removed it.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@197943 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-18 19:36:56 +00:00
richard.freedman%sun.com
eb0f612949 Use PKIXERRORNUM, rather thana String, to indicate module to be logged (in
Logger calls). Thus typos will be caught at compile time rather than during
execution.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@197937 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-18 19:10:14 +00:00
richard.freedman%sun.com
0120670b74 Add building of ocspchecker test
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@197936 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-18 19:07:20 +00:00
richard.freedman%sun.com
8df38480b1 Add new ocsp and httpcertstore tests to the scripts that compile
the tests.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@197934 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-18 18:53:20 +00:00
richard.freedman%sun.com
aa1925c4e4 Use a macro to replace separate lists of errors in pkixt.h, pkix_error.c, and
pkix_logger.c, to avoid the hazards of depending on synchronization by
human effort. This macro is invoked to define error numbers in pkixt.h,
and is redefined in pkix_error.c to initialize a corresponding array of
strings. Pkix_logger.c now uses the same array, rather than its own
slightly different one.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@197866 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-17 17:02:52 +00:00
richard.freedman%sun.com
2871474425 Eliminate declaration of unreferenced variable
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196535 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-15 17:11:08 +00:00
richard.freedman%sun.com
e54e544ff7 Define length of sec_PKCS7ContentInfoTemplate in forward declaration
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196425 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-12 22:36:03 +00:00
richard.freedman%sun.com
de616c4641 Restore global status to function pkix_RevCheckCert erroneously declared static
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196414 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-12 20:45:58 +00:00
richard.freedman%sun.com
bd1bc670c7 Add "static" to forward declaration of template so that later
initialization of template does not get compiler upset.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196405 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-12 19:41:09 +00:00
richard.freedman%sun.com
ffaa234883 Add extra braces around each of the two components of pkix_Alloc_Error_Data
to eliminate compiler warnings


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196404 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-12 19:37:51 +00:00
richard.freedman%sun.com
334cf8ed48 Eliminate unreferenced labels
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196403 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-12 19:32:30 +00:00
richard.freedman%sun.com
befc90def6 Eliminate declaration of unused variables or labels
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196402 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-12 19:26:54 +00:00
richard.freedman%sun.com
3204711503 Eliminate declaration of unused variables
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196401 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-12 19:24:01 +00:00
richard.freedman%sun.com
e9b3e2a42d Eliminate declarations of unused variables
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196400 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-12 19:20:36 +00:00
richard.freedman%sun.com
adb0b454a0 Eliminate declaration of unused variable
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196399 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-12 19:01:14 +00:00
richard.freedman%sun.com
0dd2f5138c Remove extraneous (and nonportable) absolute path designation from a
"copy cert" command. Add a test (if PDVAL is defined) for buildchai
using HTTP AIAs.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196343 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-11 21:04:26 +00:00
richard.freedman%sun.com
808d71ba8c Replace \n in output with outputting a blank line before or after the string
which had contained the \n. Echo doesn't handle \n right on all systems.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196330 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-11 19:28:14 +00:00
richard.freedman%sun.com
b8afad2191 Include decoding of signedData messages returned by Http servers.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196273 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-10 20:44:45 +00:00
richard.freedman%sun.com
92cc685d84 Comment out reference to CERT_DecodeCertPackage until library issue is resolved
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196227 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-09 15:35:51 +00:00
richard.freedman%sun.com
7d938d7e1d Reflect the change of name of PKIX_PL_LdapCertStore_AbandonRequest to
PKIX_PL_LdapDefaultClient_AbandonRequest


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196159 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-08 15:01:16 +00:00
richard.freedman%sun.com
60de4a3e75 Addition of httpcertstore (and http retrieval of AIA information)
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196052 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-05 21:38:45 +00:00
richard.freedman%sun.com
da1c3ae851 Add new certs for OCSP testing; they contain extensions that certutil is not
yet able to create.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@196050 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-05 21:25:08 +00:00
richard.freedman%sun.com
d3245f6815 Prepare for addition of tests whose execution depends on whether OCSP is
defined in the environment. Also change a few more \n's to new lines,
because not all shells handled them properly in Display lines


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@195302 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-24 21:56:50 +00:00
richard.freedman%sun.com
8f98179174 Add one additional argument to the NULLCHECK list in Socket_CreateByNameAndPort
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@195301 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-24 21:47:53 +00:00
richard.freedman%sun.com
88bf242fa0 Rename LDAPCertStore_DecodeCert, Crl functions to ASN1CertStore_Decode...
to reflect their use in any ASN1-using certStore, such as the HttpCertStore


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@195300 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-24 21:42:31 +00:00
richard.freedman%sun.com
4424125dd5 Catch and re-throw a certStore error, to make it easier to figure out error
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@195299 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-24 21:34:59 +00:00
richard.freedman%sun.com
2b6f0a9f1d Eliminate an extra semicolon at the end of a line
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@195296 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-24 21:20:39 +00:00
richard.freedman%sun.com
870a8d5b60 Separate platform paths from relative paths on command lines for libpkix tests,
to eliminate lines too long in html test output.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@194527 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-17 20:26:09 +00:00
richard.freedman%sun.com
62ef7dedef Eliminate unused command-line argument, both in obtaining the value in main
and invoking the program in runPLTests.sh


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@194518 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-17 18:14:23 +00:00
richard.freedman%sun.com
713381ac4f If directories are not created because NIST_FILES_DIR is not defined,
skip the attempt to copy crls into those directories.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@194414 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-14 16:30:13 +00:00
richard.freedman%sun.com
0d048ba364 Eliminate unused variables. Initialize an enum to first value of enumeration,
rather than to NULL. Change tabs to spaces.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@194223 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-12 16:24:38 +00:00
richard.freedman%sun.com
a70ca80191 Eliminate ${curdir} from command lines, to reduce the length
of html output. Let the commands use relative paths.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@194159 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-11 18:54:36 +00:00
richard.freedman%sun.com
fcc076afc7 Send http headers and request in the same buffer, rather than as
two separate writes.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@194051 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-10 22:01:04 +00:00
richard.freedman%sun.com
838035b20b There were *two* instances of sprintf needing to be replaced with
PR_snprintf, not just one.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193841 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-07 21:34:23 +00:00
richard.freedman%sun.com
16f10c4455 Replace sprintf call with safer PR_snprintf
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193816 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-07 16:04:29 +00:00
richard.freedman%sun.com
81f7f30ee5 Update logger callback function to use PR_snprintf (and give it a bigger
buffer) rather than sprintf, which overflowed for a long message.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193750 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-06 22:18:29 +00:00
richard.freedman%sun.com
37e35ee355 Run tests with and without socketTracing and logging
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193733 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-06 20:18:50 +00:00
richard.freedman%sun.com
fda21575ab Once again include all output in log
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193731 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-06 20:14:51 +00:00
richard.freedman%sun.com
3d3eb884e0 Reduce the number of logging calls, to keep output reasonable.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193730 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-06 20:13:34 +00:00
richard.freedman%sun.com
426487ad4b Don't return results until the complete exchange (include responseStatus)
is completed.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193729 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-06 20:12:24 +00:00
richard.freedman%sun.com
087c2def5f Debugging code referred to wrong string
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193534 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-04 18:49:11 +00:00
richard.freedman%sun.com
7787046641 Failure occurs if SOCKETTRACE and LOGGING are both off, but not if either
one is on. It clearly is a timing issue, probably dealing with the CONNECT.
Logging has been throttled way back. This may provide further clues.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193228 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-29 23:29:02 +00:00
richard.freedman%sun.com
f396bb7cfd Run more tests with logging and tracing, until reason for failures is found.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193217 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-29 22:05:45 +00:00
richard.freedman%sun.com
610a102760 Some shell variables were not enclosed in braces. This may have been the
cause of some incorrect calculations.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193216 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-29 22:04:34 +00:00
richard.freedman%sun.com
47e5524d0e Use a shortened form of output for the HTML lines. With tracing on, use
shortened output in output log as well, for non-error lines.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193215 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-29 22:03:17 +00:00
richard.freedman%sun.com
998bcb2629 Use an extra line to echo a blank line; echo does not interpret backslash-n
properly on all platforms. Some shell variables were not enclosed in braces.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193214 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-29 22:01:07 +00:00
richard.freedman%sun.com
1502db5a20 Use an extra line to echo a blank line; echo does not interpret backslash-n
properly on all platforms.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193213 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-29 21:59:37 +00:00
richard.freedman%sun.com
f888317086 Message ID length was double-counted, in advancing to end of bytes processed.
Count properly, to be able to handle remainder of buffer after first message. (Problem
occurred on x86 platforms, where endian issues confused message ID length.)


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193138 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-28 17:40:05 +00:00
richard.freedman%sun.com
f39949b4a0 Socket tracing should not be compiled into the OPT build, unless explicitly called for
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193137 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-28 17:36:30 +00:00
richard.freedman%sun.com
0195a11840 Fix calculations; output more detail information for pkix tests
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193085 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-27 23:46:52 +00:00
richard.freedman%sun.com
dc63276999 Add LdapDefaultClient to loggers
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@193060 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-27 19:39:26 +00:00
richard.freedman%sun.com
9d2bf66ca7 Elevate CertStore logging to trace level (from error level) to figure out what's going on
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192947 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-24 21:16:05 +00:00
richard.freedman%sun.com
b967209e2d Include detailed pkix test results in html output
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192934 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-24 19:44:20 +00:00
richard.freedman%sun.com
7146c6b52d Fix error in testing prior output for error value
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192884 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-23 23:44:20 +00:00
richard.freedman%sun.com
d7bdb660c9 Add subtest breakdown to html output
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192883 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-23 23:35:38 +00:00
richard.freedman%sun.com
f60574f691 Enable CertChainChecker logging, reduce Validate logging from trace level to error level
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192871 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-23 21:58:56 +00:00
richard.freedman%sun.com
0731e6fa64 Improve handling of disabling, enabling, during changes to lists. Make sure
enabling DEBUG-level errors also prints more serious errors.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192870 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-23 21:42:43 +00:00
richard.freedman%sun.com
2e5d52d34a In PKIX_CheckCert, catch and re-throw errors to make sure they get logged.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192787 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-22 17:29:35 +00:00
richard.freedman%sun.com
1e6e573ef5 Removed too much processing -- errors were going unrecognized. Error recognition
was restored.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192780 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-22 15:55:05 +00:00
richard.freedman%sun.com
a09965d583 Output more libpkix output to log file. Enable socket tracing for the tests
that have been failing.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192733 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-21 22:05:39 +00:00
richard.freedman%sun.com
55c5565bd2 Enable socket tracing (subject to environment variable SOCKETTRACE
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192724 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-21 20:50:14 +00:00
richard.freedman%sun.com
0bedc8b00c Make a subroutine to handle establishing a logger. Add more loggers.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192704 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-21 17:17:28 +00:00
richard.freedman%sun.com
0d7d12fbfb Add instrumentation for additional sources of error.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192637 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-20 17:25:54 +00:00
richard.freedman%sun.com
e09e794e04 Use logging to better instrument failure of tests
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192546 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-17 17:36:24 +00:00
richard.freedman%sun.com
4bac532eea Enable logging to diagnose failures in test_validatechain_NB
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192503 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-16 22:48:19 +00:00
richard.freedman%sun.com
fbbf7445b2 Add omitted states to Destroy function, to prevent errors during error
cleanup


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192446 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-15 21:09:57 +00:00
richard.freedman%sun.com
32bc137aec Fix bug 330354 - Return "no certs found" if unable to properly encode
a request


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192431 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-15 18:43:15 +00:00
richard.freedman%sun.com
4e5bdc39b2 Remove an unused argument from the calling sequence for
pkix_pl_LdapCertstore_ConvertCertResponses, and add documentation


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192430 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-15 18:39:01 +00:00
richard.freedman%sun.com
c449390971 Fix a misspelling and improve the language in a description of using
certStoreContext


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192428 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-15 18:29:20 +00:00
richard.freedman%sun.com
b93f9fd4a9 Add debugging information to better track mysterious error
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192419 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-15 16:39:36 +00:00
richard.freedman%sun.com
c934906f8c Initialize client->socket to NULL so that cleanup after an error does
not try to release an uninitialized pointer.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192370 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-14 23:00:21 +00:00
richard.freedman%sun.com
9f3d748290 Fix a couple of comments that went beyond eighty characters.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192368 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-14 22:58:36 +00:00
richard.freedman%sun.com
548848bc1a Add PKIX_OcspChecker_Create foir revocation checking
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192313 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-14 16:47:25 +00:00
richard.freedman%sun.com
0088d46894 Fixes to OCSP revocation checking
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192312 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-14 16:45:11 +00:00
richard.freedman%sun.com
c5a6f29769 Fixed a typo in a debug error message string
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192310 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-14 15:58:15 +00:00
richard.freedman%sun.com
33dbc5d9dd Use LdapCertStore_CreateByName to incorporate latest version of hostname handling
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192287 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-13 23:02:01 +00:00
richard.freedman%sun.com
775b6d720e export LDAP definition so test_validatechain_NB can find it
Use "-" for NIST 4.3.7, until LDAPCertStore can handle it without hanging


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192273 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-13 17:44:36 +00:00
richard.freedman%sun.com
8ff2ee5c59 Add definition of LDAP (hostname:portnum) for test_validate_NB
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192181 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-10 22:53:46 +00:00
richard.freedman%sun.com
e23c4c37d6 Test for environment variable LDAP. Complain if it is not set, or if we
are unable to connect to it. If we can connect, then proceed with test.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192068 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-09 17:30:18 +00:00
richard.freedman%sun.com
657949b2b4 Put socket tracing under control of a flag, settable by the debugger or
by an environment variable SOCKETTRACE (as well as the conditional
compilation) so that tracing can be turned on and off more easily during
debugging.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@192005 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-08 21:24:05 +00:00
richard.freedman%sun.com
762310a4a9 Remove do...while wrapper around macro definition. Also remove incorrect
comment and a redundant forward declaration.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@191997 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-08 19:58:30 +00:00
richard.freedman%sun.com
a1b29dbc32 Eliminate some memory leaks when LdapResponses are freed
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@191945 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-08 00:04:59 +00:00
richard.freedman%sun.com
7ccc132349 Add validatechain_NB test to top/runTests.sh
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@191944 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-08 00:03:47 +00:00
richard.freedman%sun.com
95407107a9 Implement nonblocking chain validation
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@191943 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-08 00:02:23 +00:00
richard.freedman%sun.com
c94f03849e Rename PKIX_CertStore_CrlContinueFunction for use in nonblocking chain
validation.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@191942 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-08 00:01:12 +00:00
richard.freedman%sun.com
535be3cf8a Eliminate obsolete conditional code statements ("#if 1" and "#endif")
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@191939 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-07 23:44:36 +00:00
richard.freedman%sun.com
e1eb696d03 Removed obsolete #if 0 code and a leftover #include <stdio.h>
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@191902 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-07 18:22:44 +00:00
richard.freedman%sun.com
a894624019 cvs: ----------------------------------------------------------------------
pkix_pl_socket.c:
Return zero for bytesRead and bytesWritten on a WOULDBLOCK return
test_socket.c:
Test for completion with >0 bytes transferred, rather than >= 0
Use stack variables rather than globals for bytesRead, bytesWritten
Replace tabs with spaces


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@191443 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-28 23:16:17 +00:00
alexei.volkov.bugs%sun.com
60f4bb61ac 53229: certutil should not use gets()
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@191233 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-25 02:55:08 +00:00
julien.pierre.bugs%sun.com
0b9b5cc038 Fix for assertion in PR_ConnectContinue.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@191009 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-23 06:34:33 +00:00
julien.pierre.bugs%sun.com
3cab4e8a2f Prevent infinite loop in error cases for test_socket on the client side.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@191005 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-23 05:30:30 +00:00
richard.freedman%sun.com
bb81109436 Fix a rule violation in the use of a macro: called after cleanup
when, if error, it goes to cleanup.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@190713 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-21 18:20:12 +00:00
richard.freedman%sun.com
5163e15723 Fix a typo in a comment
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@190712 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-21 18:18:45 +00:00
richard.freedman%sun.com
2441d44e79 Fix a memory leak: revCheckers was not being decref'ed.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@190711 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-21 18:17:39 +00:00
richard.freedman%sun.com
ef1c4e3526 Eliminate the type BuildParams, which was a wrapper for ProcessingParams
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@190613 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-20 22:51:25 +00:00
richard.freedman%sun.com
09c3aa018b Deleted an accidentally-retained referenced to pkix_certchain.h
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@190598 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-20 19:04:18 +00:00
richard.freedman%sun.com
35c995526c Eliminate CertChain as a separate PKIX object type. It served only as a
wrapper for a PKIX_List.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@190587 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-20 18:40:26 +00:00
richard.freedman%sun.com
087d5d9846 Eliminate CertChain as a separate PKIX object type. It served only as a
wrapper for a PKIX_List.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@190585 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-20 18:27:57 +00:00
richard.freedman%sun.com
97261c4ce2 Add test_buildchain_partialchain to pkix/top tests
Add hintCerts (List of Certs) to PKIX_ProcessingParams
Add PKIX_ProcessingParams_[Get,Set]HintCerts to pkix_params.h and nss.def
Use hintCerts, if provided, in chain building


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@190548 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-19 19:58:10 +00:00
richard.freedman%sun.com
af23e2cc3e Cosmetic: fix an indentation error
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@190547 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-19 19:46:57 +00:00
richard.freedman%sun.com
b16209a3bc Remove the do...while framing around the macro definition of PKIX_TEST_RETURN
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@190303 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-16 21:41:37 +00:00
richard.freedman%sun.com
7ed146f21c Create new object PKIX_PL_HttpDefaultClient
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@189512 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-09 21:04:46 +00:00
richard.freedman%sun.com
d4d1ca5ad9 A fix a typo in an error string
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@189510 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-09 21:02:02 +00:00
richard.freedman%sun.com
893662c22b Add new CreateByHostAndPort function, for use of HttpDefaultClient
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@189499 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-09 19:57:32 +00:00
richard.freedman%sun.com
0a8ac494fe Use CERT_GetDefaultCertDB() for dbhandle and PR_Now() for time in call to
CERT_GetOCSPStatusForCertID


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@188851 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-03 15:42:33 +00:00
richard.freedman%sun.com
e50bc3670f Provide default DBHandle in verifying OCSP Response signature
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@188753 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-02 15:48:04 +00:00
julien.pierre.bugs%sun.com
f40090776d Remove unnecessary comment to fix broken builds on AIX and RHEL3
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@188722 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-02 00:39:52 +00:00
richard.freedman%sun.com
62d0360053 Accidental C++ style comment (//) changed to /* ... */
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@188669 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-01 16:47:05 +00:00
richard.freedman%sun.com
2700061b71 Fix coding errors in handling http response.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@188630 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-01 00:13:12 +00:00
richard.freedman%sun.com
fda21acf09 Eliminate duplicate declaration of SEC_RegisterDefaultHttpClient
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@188578 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-31 17:49:06 +00:00
richard.freedman%sun.com
0b79a9b5cb Make pkix_RevCheckCert public to allow testing of OCSP interface, with temporary
call from PKIX_PL_OcspCheckCert in pkix_pl_cert.c


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@188492 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-30 20:56:15 +00:00
richard.freedman%sun.com
eb30825857 Implement a revocation checker - pkix_ocspchecker.c and subordinate objects
ocsprequest and ocspresponse.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@188461 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-30 16:53:50 +00:00
richard.freedman%sun.com
1a0f7c1b54 Turn on buffer tracing for sockets, temporarily, to debug problem on LEIA.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@187951 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-21 02:48:33 +00:00
richard.freedman%sun.com
530eff5a32 Debug trace flag had accidentally been left ON for initial commit; it's now off
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@187709 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-17 15:37:13 +00:00
richard.freedman%sun.com
2db04d7153 Prepare for new HttpClient
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@187601 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-13 22:07:35 +00:00
richard.freedman%sun.com
d4c926a71e Fix spcaing mistakes
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@187600 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-13 22:05:57 +00:00
richard.freedman%sun.com
82f261838b Implementation of a simple default for Revocation Checking
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@187597 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-13 21:42:33 +00:00
richard.freedman%sun.com
6458cf3fbe Modify build process to use Revocation Checkers. Implement a
DefaultRevocationChecker based on the defaultCrl CertChainChecker. Begin
implementation of ocsp checker.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@187594 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-13 21:16:22 +00:00
richard.freedman%sun.com
530b19d8f5 Add a comment warning of a limitation to the general use of a function
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@187526 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-12 23:48:44 +00:00
richard.freedman%sun.com
8887f6b799 Fix misspellings in comments.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@187242 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-10 19:23:28 +00:00
richard.freedman%sun.com
f90243e8cf Eliminate useless "static" on structure definition.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186961 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-05 00:13:31 +00:00
richard.freedman%sun.com
e1d1254d55 Move pkix_pl_ldapt.h earlier, so that structures are defined before they
are referenced.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186960 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-05 00:09:54 +00:00
richard.freedman%sun.com
738885d131 Eliminate declaration of a few no longer used variables.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186959 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-05 00:03:11 +00:00
richard.freedman%sun.com
184e97ddce Add extra braces around template initialization of single-entry arrays,
to reduce warning messages on some platforms.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186958 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-04 23:46:55 +00:00
richard.freedman%sun.com
8692e7f463 Eliminate unused variables and obsolete code, to reduce warning messages
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186957 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-04 23:45:15 +00:00
richard.freedman%sun.com
5d0d1845c2 Add pkix_pl_aiamgr.h so that LdapCertStore can reference declarations of
PKIX_PL_LdapClient functions. They are virtual, so they are declared where used
in aiamgr.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186956 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-04 23:44:13 +00:00
richard.freedman%sun.com
c9749da881 Eliminate declaring a variable that's no longer used.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186955 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-04 23:34:35 +00:00
richard.freedman%sun.com
b9865a77f8 Moved LDAPClient functions to AIAMgr, moved AIAMgr to module (from pki)
to handle link order problems


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186835 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-02 21:45:32 +00:00
richard.freedman%sun.com
5562a260e0 Initial checkin for AIA Manager sources
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186831 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-02 20:22:00 +00:00
richard.freedman%sun.com
6b4ef7f0a2 Fix spacing errors
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186830 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-02 20:21:14 +00:00
richard.freedman%sun.com
3a931994b4 Fix wrong Cert cited in test argument lists for NIST-Test4.4.4
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186829 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-02 20:14:45 +00:00
richard.freedman%sun.com
d60155d6d9 Fix spacing errors.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186828 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-02 20:14:12 +00:00
richard.freedman%sun.com
2f5e4b96f9 Use NSSCALL macros more widely. Improve handling of locks under error conditions.
Integrate AIA handling.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186827 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-02 20:13:34 +00:00
richard.freedman%sun.com
d9dbac8a3f Improve handling of domain name argument for Socket_CreateByName.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186826 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-02 20:11:44 +00:00
richard.freedman%sun.com
4827577bae emove unused symbol definitions, add new function pkix_pl_LdapRequest_AttrStringToBit.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186825 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-02 20:10:30 +00:00
richard.freedman%sun.com
47ed287042 Handle Boolean instead of Error return from CRLSelector non-match.
Use new functions pkix_CertSelector_Select and pkix_CRLSelector_Select.
Implement new function pkix_pl_LdapCertStore_ConvertCertResponses for AIA integration.
Better handling of arenas for Cert and CRL creation.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186824 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-02 20:09:42 +00:00
richard.freedman%sun.com
79316c51cb AIA integration
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186823 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-02 20:06:46 +00:00
richard.freedman%sun.com
bcef4e4487 Document non-blocking I/O support, including new PKIX_CertStore_CertContinue and
PKIX_CertStore_CRLContinue functions.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186822 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-02 20:05:49 +00:00
richard.freedman%sun.com
e848ee4b63 Increase maximum size of output string for CERT2Ascii
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186821 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-02 20:04:37 +00:00
richard.freedman%sun.com
f1bd7dddd6 Use Boolean instead of Error to return selector non-match. This was changed for
Certs a long time ago, for performance reasons, but we never got around to it
for CRLs.  Add new functions pkix_CertSelector_Select and
pkix_CRLSelector_Select.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186820 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-02 20:04:08 +00:00
richard.freedman%sun.com
71c733f83a ng blocking I/O. Add conditional to make it easier to turn off
Default to using blocking I/O. Add conditional to make it easier to turn off
revocation checking.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186819 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-02 20:02:22 +00:00
richard.freedman%sun.com
06c5dfa30d Fixed a misspelling and clarified a comment.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186165 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-16 16:40:49 +00:00
richard.freedman%sun.com
09f5753ae3 Using UTCDayToAscii rather thanUTCTimeToAscii, print out just the date and, hopefully,
avoid the test failures caused by time zone


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186117 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-15 18:35:31 +00:00
richard.freedman%sun.com
6fa11ece9e Fix a series of typos in comments
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186001 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-13 18:19:41 +00:00
richard.freedman%sun.com
425e15dbbe Implement (and use, in test_buildchain) new LdapDefaultClient_CreateByName
function, in preparation for getting URI requests from AIA and SIA extensions.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@186000 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-13 18:17:40 +00:00
richard.freedman%sun.com
3148ee38ff Try hostname without qualifiers if GetHostByName fails on fully-qualified
name, in Socket_CreateByName


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185999 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-13 18:13:48 +00:00
richard.freedman%sun.com
a0e47c2051 Yet another attempt to get the TZ setting down to the lowest-level test.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185995 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-13 17:50:49 +00:00
richard.freedman%sun.com
f1782dcae6 Implemented and tested new function pkix_pl_Socket_CreateByName that takes a
domain name rather than an ip address; preparatory for supporting AIAs.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185969 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-12 20:47:05 +00:00
richard.freedman%sun.com
78367c6ce9 Supply "TZ=US/Eastern" at the lowest level before running tests.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185962 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-12 16:03:23 +00:00
richard.freedman%sun.com
462ae552f9 Remove shell commands that did not help with TZ problem. Supply
TZ on command line for runPLTests in PKI directory.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185933 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-11 21:54:33 +00:00
richard.freedman%sun.com
9536c18482 Echoing of TimeZone seems to be needed for debugging time discrepancies
in test output.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185806 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-08 16:50:15 +00:00
richard.freedman%sun.com
d39d08b925 Add missing crls to test directory
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185766 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-07 16:51:00 +00:00
richard.freedman%sun.com
632bd31170 Left a debugging line in (with a misspelling, no less!)
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185765 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-07 16:38:23 +00:00
richard.freedman%sun.com
890596a2ad Use platform-specific workspcaes when copying certs and crls for
libpkix tests.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185738 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-06 18:10:57 +00:00
richard.freedman%sun.com
3798f563d6 Clarify the language in the explanatory output.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185737 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-06 18:07:24 +00:00
richard.freedman%sun.com
bc8db62ad0 Release Object Lock when an error return is received from one of
the Populate store routines.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185736 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-06 18:05:19 +00:00
richard.freedman%sun.com
3b6285df0d New organization of LDAP processing, into LdapCertStore and LdapClient. This
is the default LdapClient.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185535 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-01 19:22:02 +00:00
richard.freedman%sun.com
cb84ec68b9 Define CertContinue, CRLContinue virtual functions for CertStore
Implement LDAPCertStore using an LDAPClient


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185469 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-30 20:20:04 +00:00
richard.freedman%sun.com
577b0fb666 Implement LDAPCertStore as using an LDAPClient
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185468 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-30 20:18:16 +00:00
richard.freedman%sun.com
029e8bce32 Implement return of NBIOContext to caller
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185467 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-30 20:16:22 +00:00
richard.freedman%sun.com
1535db462c Add CertContinue, CRLContinue functions to CertStore interface
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185466 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-30 20:15:52 +00:00
richard.freedman%sun.com
94524d0938 Implement wait based on NBIOContext
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185465 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-30 20:15:32 +00:00
richard.freedman%sun.com
530530241d Create either colCertStore or LDAPCertStore, as directed by cmd
Implement wait based on NBIOContext


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185464 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-30 20:15:10 +00:00
richard.freedman%sun.com
06e71b5cce Define CertContinue, CRLContinue virtual functions for CertStore
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185463 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-30 20:14:42 +00:00
richard.freedman%sun.com
73593504b5 Eliminate GetNBIOCallback arg from Checker_Create,
add NBIOContext arg to Checker_Check


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185462 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-30 20:14:23 +00:00
richard.freedman%sun.com
aa73b8a94a Eliminate GetNBIOCallback arg from Checker_Create,
add NBIOContext arg to Checker_Check


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185461 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-30 20:13:32 +00:00
richard.freedman%sun.com
1dc265ae04 Add nbioContext arg to calling sequence of getCert, getCRL
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185460 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-30 20:12:03 +00:00
richard.freedman%sun.com
1d642b98de Add nbioContext arg to calling sequence of PKIX_BuildChain
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185459 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-30 20:11:48 +00:00
hanfei.yu%sun.com
b0885229ae Provide function to get SIA/AIA location type.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@185076 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-21 19:56:47 +00:00
richard.freedman%sun.com
df645dc5d8 Fix erroneous type (was address, should be UInt32) in List_GetItem call
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184915 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-18 16:22:30 +00:00
julien.pierre.bugs%sun.com
63a7fde555 Don't call PKIX_Initialize in NSS_Init if previous operation failed. This was causing the Windows build to fail in shlibsign.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184812 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-17 05:15:03 +00:00
richard.freedman%sun.com
2be0ba1a80 Prepare for retrieval of nssContext by which caller can poll for
completion of WOULDBLOCK I/O.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184795 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-16 22:53:37 +00:00
richard.freedman%sun.com
c8309e77f5 Prepare checkers for GetNBIOContext calls (to allow user to poll if
waiting for non-blocking I/O)


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184793 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-16 22:26:29 +00:00
richard.freedman%sun.com
fce2c98e50 Fix erroneous parameter in final PKIX_Shutdown call
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184791 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-16 22:20:56 +00:00
richard.freedman%sun.com
7f39673d74 Removed unused code intended for userChecker tests
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184789 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-16 22:16:23 +00:00
richard.freedman%sun.com
2c034e9cbe Added "-arenas" capability to this overlooked test
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184788 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-16 22:13:28 +00:00
richard.freedman%sun.com
5bf41c6295 Fixed a misspelling noticed during casual perusal.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184785 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-16 22:03:26 +00:00
hanfei.yu%sun.com
b9e72ba84c Need to initialize state->anchorIndex to 0.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184762 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-16 15:34:02 +00:00
hanfei.yu%sun.com
25f92dd75e Buzilla 315642: Test pathname are changed to be not hard-coded. Taken directory
names from command line and concatenates with the hard-coded filename.
Also make the directory name absolute so reproducing tests is easier.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184643 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-15 16:42:33 +00:00
julien.pierre.bugs%sun.com
b497a48bb8 Remove unnecessary line from manifest.mn in libpkix test programs.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184637 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-15 04:25:28 +00:00
julien.pierre.bugs%sun.com
de55f55efd Remove extra spaces.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184633 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-15 04:00:06 +00:00
julien.pierre.bugs%sun.com
2ab73f7116 Properly fix build problem with static libraries on libpkix branch.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184631 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-15 03:53:54 +00:00
richard.freedman%sun.com
7ecea4d3c1 Add nss3 to libraries since nssinit now calls PKIX_Initialize.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184591 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-14 20:35:37 +00:00
richard.freedman%sun.com
c39fd786cb Change call to PKIX_Initialize; plContext arg must not be NULL!
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184590 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-14 20:15:38 +00:00
richard.freedman%sun.com
ec18adbd7c Modified PKIX_Initialize calling sequence to allow for nss initialization
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184587 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-14 19:45:24 +00:00
hanfei.yu%sun.com
f77886d58d Due to interesting SH scope phenomenon, need to move read redirect block outside
the function call. So variable value can be executed in the same shell.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184458 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-11 15:32:48 +00:00
hanfei.yu%sun.com
8b87929c86 Add quotes of SH test string.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184449 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-11 03:16:22 +00:00
hanfei.yu%sun.com
635d0b279b add quotes to SH test evaluation of string.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184448 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-11 03:15:20 +00:00
julien.pierre.bugs%sun.com
2bcca86f06 Fix AIX compilation.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184432 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-10 22:30:56 +00:00
richard.freedman%sun.com
02eb022df7 Return NULL for "state" after a successful build.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184414 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-10 19:18:03 +00:00
hanfei.yu%sun.com
0c87da2c3d Changes to avoid user changing libpkix gloabal variable PK11COnfigDir at user space.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184411 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-10 18:13:52 +00:00
richard.freedman%sun.com
2027cbab91 Fixed a misspelling in a comment: "RUNNING tests in samples_apps"
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184405 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-10 17:33:03 +00:00
richard.freedman%sun.com
7733a1fd1b Accommodate new buildchain interface which allows for non-blocking I/O.
Allow for command line specification of LDAP server.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184400 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-10 16:04:24 +00:00
richard.freedman%sun.com
b0ac599b3d Fix mistakes in resource limit handling, probably introduced by faulty
merging of changes during manual integration.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184398 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-10 15:50:55 +00:00
richard.freedman%sun.com
79d2829a60 Add server arg (dummy for now) in preparation for using LDAP server in tests
of buildchain_resourcelimits


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184397 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-10 15:49:01 +00:00
richard.freedman%sun.com
f9a68038b3 Fix a leak in releasing non-arena space; document the need for code to replace
the non-portable sleep call.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184396 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-10 15:46:58 +00:00
julien.pierre.bugs%sun.com
0a1743ff14 Make LDAPFilterTemplate non-static. Compilers disagree about forward declarations of static objects, so this was the only way to build on all platforms.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184387 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-10 02:44:29 +00:00
julien.pierre.bugs%sun.com
445ca7499a Fix typo.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184384 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-10 01:04:15 +00:00
hanfei.yu%sun.com
039a028dbc Took out un-needed conditional check.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184362 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-09 20:19:09 +00:00
julien.pierre.bugs%sun.com
32af6ddf6c Comment out sleep() call which broke windows build
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184338 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-09 04:57:42 +00:00
julien.pierre.bugs%sun.com
e8565d42a0 Turn off broken test temporarily.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184336 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-09 02:27:26 +00:00
julien.pierre.bugs%sun.com
6493d5af1a Fix Windows compilation. forward reference can't be static.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184333 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-09 02:01:26 +00:00
richard.freedman%sun.com
a5f3869ac5 New interfaces, mostly in support of non-blocking I/O, and updated ldapcertstore
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184323 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-08 22:54:18 +00:00
hanfei.yu%sun.com
b04d8ecfbf Convert test scripts from KSH to SH.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184303 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-08 18:02:11 +00:00
hanfei.yu%sun.com
4698d7255a Changes for using testutil share memory.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184300 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-08 17:40:36 +00:00
julien.pierre.bugs%sun.com
590cd7db96 Checkin forgotten file for PKIX branch to use dynamic test library.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184266 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-07 21:41:56 +00:00
julien.pierre.bugs%sun.com
b364726e47 Properly make all libpkix test use the pkixutil shared library on all platforms. A static library was used on Unix vs dynamic on Windows.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184178 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-05 06:40:04 +00:00
julien.pierre.bugs%sun.com
84c7987f71 Change PKIX_ALLOC_ERROR from a global variable to an accessor functions. Global variables do not work on Windows in shared libraries.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184177 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-05 05:05:45 +00:00
hanfei.yu%sun.com
e6381de6e2 Parsing work for Cert extended OIDs: AIA (Authority Information Access) and SIA (Subject Information Access).
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184150 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-04 17:53:28 +00:00
julien.pierre.bugs%sun.com
1bd91f41ee Add missing createDirCert and createDirCertChainPlus functions. Also sort functions alphabetically.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184119 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-04 00:06:43 +00:00
richard.freedman%sun.com
a5b73306e3 Clear our reference after explicit call to PKIX_PL_Object_Decref
(as opposed to PKIX_DECREF macro, which clears it automatically).


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@184098 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-03 16:36:13 +00:00
hanfei.yu%sun.com
94455cc6ac Changed hard-coded NIST files names from test .c, using command line option as filename prefix.
Took out linking/unlinking NIST data directory to tests directory, instead accessing those data files directly - to allow multiple test executions.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@183911 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-02 12:54:12 +00:00
richard.freedman%sun.com
a23a262824 Fix misspelled comment. Decref owners of objects before objects, so refcount
is one when object is decrefed.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@183351 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-01 18:40:33 +00:00
hanfei.yu%sun.com
a1e5555275 Put temporary test output file to directory under .../mozilla/test_results.
Reorganize scripts so duplicate codes are under .../libpkix/common/*.sh


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@183198 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-28 17:32:22 +00:00
julien.pierre.bugs%sun.com
03f1911dc3 Fix broken build.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@183170 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-28 03:27:50 +00:00
julien.pierre.bugs%sun.com
04a38b14da Fix test_socket test so it runs on Solaris x86 / AMD64
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@183167 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-28 02:46:17 +00:00
julien.pierre.bugs%sun.com
4bf0ef264d Fix typo
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@183156 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-28 00:22:15 +00:00
hanfei.yu%sun.com
63279ebc7b Hooked sample_app/runPerf.sh into libpkix.sh so all.sh can get perf tests.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@183120 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-27 13:40:44 +00:00
hanfei.yu%sun.com
4062bbfa37 Handle error case more sophisticatedly
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@182982 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-25 18:48:52 +00:00
hanfei.yu%sun.com
dd30d6c3a8 Added Performance executibles to tests. Those tests execute multi-thread scenarios.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@182971 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-25 17:38:28 +00:00
hanfei.yu%sun.com
32783727a9 Fix Bug: Critical Extension Oid List should be a copy of the cached. Since this list is going to be modified by the caller.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@182964 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-25 12:49:08 +00:00
richard.freedman%sun.com
4a7a893ed3 Fix a misspelling in a comment
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@182899 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-24 16:24:26 +00:00
hanfei.yu%sun.com
d32d656950 Logger work.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@182897 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-24 14:15:39 +00:00
hanfei.yu%sun.com
8db125275a Fixed memory leak in PKIX_BuildChain: trustedCert
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@181989 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-11 16:02:22 +00:00
hanfei.yu%sun.com
5136840128 Clean compliation warnings
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@181768 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-07 12:33:36 +00:00
hanfei.yu%sun.com
21a2fea121 Fixed memory leak caused by incorrect loop control
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@181766 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-07 12:18:53 +00:00
hanfei.yu%sun.com
6d3725f74c Work for performance tuning: sorting algorithms. Provided quick and bubble sorts and callback hook for comparison so the sorting creteria can be expanded easily and sorting can be used more genetically.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@181712 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-06 17:01:35 +00:00
hanfei.yu%sun.com
f9b5bc1a16 Fixed a couple memory leaks.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@181279 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-30 13:34:09 +00:00
hanfei.yu%sun.com
ff8fafb679 Work for ResourceLimits: maxTime, maxFanout and maxDepth for buildChain.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@181210 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-29 18:42:24 +00:00
richard.freedman%sun.com
88bdbe5a49 Initialize variable in AppendUnique to avoid crash in the case of both Lists empty
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@181074 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-27 21:16:54 +00:00
richard.freedman%sun.com
f1d8c753e9 Removed an erroneous comment. This routine does not return any non-fatal errors.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180915 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-24 20:50:02 +00:00
richard.freedman%sun.com
6d246bbeb5 Changed CertChainCache arguments in merging new version of pkix_build
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180893 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-23 20:57:28 +00:00
richard.freedman%sun.com
72ab670676 Changed recursive build to non-recursive to prepare for non-blocking I/O
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180892 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-23 20:56:22 +00:00
richard.freedman%sun.com
e8edb000a3 Moved _AppendUnique from pkix_policychecker.c to pkix_list.c, for reuse
by pkix_build


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180890 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-23 20:45:22 +00:00
richard.freedman%sun.com
5605d8bc5d If PR_Bind fails with INADDR_ANY, try it with the real hostname
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180799 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-22 15:05:09 +00:00
hanfei.yu%sun.com
0d28b1507c Fixed memory leak in CRL Entry Cache related codes.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180793 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-22 13:08:53 +00:00
hanfei.yu%sun.com
323b705728 Work for CertChain, Cert and CRLEntry cache.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180757 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-21 18:17:27 +00:00
richard.freedman%sun.com
861d736743 Add parsing of cross-certificate pairs
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180571 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-19 17:05:40 +00:00
richard.freedman%sun.com
bedbe9e368 Omitted definition of error variable in previous debug edit.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180443 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-16 22:18:34 +00:00
richard.freedman%sun.com
2a3f00a837 Enable error message detail for PR_Bind failure
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180420 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-16 19:05:09 +00:00
richard.freedman%sun.com
59f5c694a3 Reordered decrefs for easier debugging
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180417 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-16 18:55:57 +00:00
richard.freedman%sun.com
40de11cee5 Added decref for uchecker, which was not getting freed.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180415 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-16 18:48:55 +00:00
richard.freedman%sun.com
98c41944d5 Limit ConnectContinue retries and make an error message clearer.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180210 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-14 16:42:14 +00:00
richard.freedman%sun.com
6390a60137 Supply null strings instead of expected ascii, to avoid date comparisons
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180201 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-14 15:34:37 +00:00
richard.freedman%sun.com
cc545b591f Use ${HOSTADDR} for socket bind address.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180141 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-13 20:40:54 +00:00
hanfei.yu%sun.com
ccee31b779 Combine hard-coded ALLOC_ERROR header and data in one structure and don't use the object-1 to rewind the object pointer
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@180019 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-12 13:03:47 +00:00
hanfei.yu%sun.com
695bc3a980 PKIX_PL_Sprintf() is modified to pass NULL to PR_s*printf* calls when caller's fmt %s is NULL.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@179791 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-07 13:14:55 +00:00
hanfei.yu%sun.com
df45d4fb69 Cross platform endient problems with hard-coded integer values to compare with char - change hard-coded integers to chars
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@179720 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-06 20:25:49 +00:00
richard.freedman%sun.com
6a64af44d6 Set TZ=US/Eastern as expected by the string compares in libpkix tests
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@179661 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-05 15:00:27 +00:00
hanfei.yu%sun.com
a30ff3c620 Put in temporary debugging message for nightly test run.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@179550 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-02 17:58:29 +00:00
richard.freedman%sun.com
b1539d55d6 Use command-line hostname instead of localhost
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@179545 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-02 17:21:28 +00:00
richard.freedman%sun.com
5cbfdec6e5 Set and echo TZ settings
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@179543 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-02 17:11:33 +00:00
richard.freedman%sun.com
ec17224ae4 Set time zone to Eastern before beginning tests
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@179495 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-01 19:56:54 +00:00
hanfei.yu%sun.com
bd417f7916 Patches for NSS bug 287052 and 287061.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@179477 18797224-902f-48f8-a5cc-f745e15eee43
2005-09-01 17:22:28 +00:00
richard.freedman%sun.com
53e2abff83 Replace == by = for string compare in scripts, for cross-platform compatibility
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@179427 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-31 21:15:08 +00:00
richard.freedman%sun.com
871b3084ed More cross-platform compiler warnings addressed
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@179337 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-30 20:32:36 +00:00
richard.freedman%sun.com
b895ebe0c7 Remove obsolete references to bindname and authentication. Commenting them out
(in the middle of a macro) gave some platforms indigestion.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@179315 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-30 16:51:41 +00:00
richard.freedman%sun.com
fba445fa79 LdapCertStore update
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@179243 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-29 21:44:53 +00:00
richard.freedman%sun.com
a870cab49a Remove erroneous NULLCHECK from CRLSelector_ToString_Helper and fix some
non-conforming or outdated function descriptions.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@179233 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-29 20:08:44 +00:00
hanfei.yu%sun.com
9c2fdd2634 Fixed memory leak on critical extension oid table
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@178794 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-24 17:06:41 +00:00
hanfei.yu%sun.com
45c649a6b7 Fixed in pkix_FindMatchingCerts: only certs from last certStore are returned, should be all.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@178683 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-23 13:26:27 +00:00
hanfei.yu%sun.com
8223e94047 Added entry for buildchain_uchecker
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@178626 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-22 19:14:26 +00:00
hanfei.yu%sun.com
d45de9c318 Optimized user checkers work and its tests.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@178599 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-22 14:08:10 +00:00
richard.freedman%sun.com
176f978a6d Restructured ldapCertStore
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@178314 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-19 23:19:08 +00:00
richard.freedman%sun.com
a6398570e6 Revised structure of ldapCertStore for nonblocking I/O; made BIND conditional
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@178313 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-19 23:17:39 +00:00
julien.pierre.bugs%sun.com
d8b918c605 Fix for 297849 - allow 32 bit builds on 64-bit Linux machines. Backport to NSS_LIBPKIX_BRANCH
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@178210 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-18 23:13:36 +00:00
richard.freedman%sun.com
56ae06312d Added SetSocketOption_ReuseAddr to server socket
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@178196 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-18 19:59:35 +00:00
hanfei.yu%sun.com
4e94cf2e71 Added test_buildchain_uchecker to test script.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@178187 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-18 19:01:17 +00:00
hanfei.yu%sun.com
9ae8527e24 Add test for user defined checker (called by buildchain validation).
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@178186 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-18 19:00:22 +00:00
hanfei.yu%sun.com
8d465dee33 Work for Critical extension check (no optimization) and user-defined checkers.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@178185 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-18 18:58:55 +00:00
richard.freedman%sun.com
7e9101834b Restructured code to better support nonblocking I/O
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@178183 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-18 18:50:21 +00:00
richard.freedman%sun.com
7f2c982bc0 Use universal typoes for cross-platform compatibility
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177865 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-16 19:12:52 +00:00
richard.freedman%sun.com
0a3aeaa25d Eliminate declarations of unused variables
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177845 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-16 14:39:15 +00:00
richard.freedman%sun.com
848376d216 Turn off debugging trace code, and eliminate cross-platform warnings
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177843 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-16 14:38:27 +00:00
hanfei.yu%sun.com
934fde1acd Fixed WIN compilation warnings
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177829 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-16 11:29:55 +00:00
richard.freedman%sun.com
8993447ee1 Eliminate unused variables and add a cast to get rid of a Windows warning message
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177770 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-15 18:59:13 +00:00
hanfei.yu%sun.com
7785f0341f Fixed WIN compilation warnings
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177754 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-15 16:29:46 +00:00
hanfei.yu%sun.com
799abf4734 Rewrite PKIX_PL_Sprintf to avoid modifying args returned from va_start() which may not be cross-platform compatible
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177753 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-15 15:49:36 +00:00
richard.freedman%sun.com
94d52d2f8d Enhancements to LDAP Certstore: now handles multiple attributes properly
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177658 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-12 21:37:39 +00:00
hanfei.yu%sun.com
454c77439e Not to use va_copy() to avoid portability problem, instead, use va_end() and va_start() for reset.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177647 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-12 18:31:43 +00:00
julien.pierre.bugs%sun.com
35e8ce4b64 Fix broken build. Add extern const declaration for template so it can be used within libnss .
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177608 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-11 23:21:10 +00:00
richard.freedman%sun.com
7f5ab8fbab Renamed LDAPMessageTemplate to PKIX_PL_... and used access macros.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177557 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-11 17:35:02 +00:00
richard.freedman%sun.com
2be663ecd0 Modifications to eliminate cross-platform compile warnings
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177556 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-11 16:44:41 +00:00
richard.freedman%sun.com
51d03e5e4b Added command line arguments server:port for test_socket
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177553 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-11 15:01:46 +00:00
hanfei.yu%sun.com
9c7a822eb3 Fixed WIN compilation warnings.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177550 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-11 13:42:38 +00:00
hanfei.yu%sun.com
6b76bd81ee Fixed compilation warnings.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177549 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-11 11:56:28 +00:00
hanfei.yu%sun.com
f65ea650f0 Fixed plContext order appears in PKIX_PL_Sprintf().
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177548 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-11 11:47:38 +00:00
hanfei.yu%sun.com
877c7fd740 Fixed memory leak (arena).
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177547 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-11 11:32:32 +00:00
julien.pierre.bugs%sun.com
0df3eeb7e7 Fix build. Do not export private test function which is conditionally compiled.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177529 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-11 00:36:37 +00:00
richard.freedman%sun.com
1415a2dac0 Added command-line specification of host:port for test_socket, allow non-blocking
connect.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177515 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-10 21:20:13 +00:00
hanfei.yu%sun.com
ed5bca42b4 Fixed PKIX_PL_Free so when plContext is NULL, PR_Free will be invoked.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177500 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-10 14:29:13 +00:00
hanfei.yu%sun.com
646d483f29 Fixed: Only first test case is executed, should have all of them tested
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177493 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-10 12:38:40 +00:00
hanfei.yu%sun.com
8f2465c0d4 Fixed problems created by plContext is used as nssContext, which is not just for arena as before.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177492 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-10 12:36:11 +00:00
richard.freedman%sun.com
b29004185f Added include pkix_pl_common.h to testutil.h to get NssContext_Create prototype
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177429 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-09 15:28:54 +00:00
hanfei.yu%sun.com
99bf1dbcd8 Took out hard-coded dbx pathname.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177425 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-09 13:47:10 +00:00
hanfei.yu%sun.com
caa50f0c17 Need to specify the path .../dist/.../bin for xdb -checkmem option.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177423 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-09 12:57:48 +00:00
hanfei.yu%sun.com
8ae1efe38e Fixed compilation warnings
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177421 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-09 11:51:05 +00:00
hanfei.yu%sun.com
f8da4085a4 Fixed compiler warning
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177420 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-09 11:35:05 +00:00
richard.freedman%sun.com
59864ab0e7 Modified libpkix tests for wincx parameter
Provided wincx parameter to pk11 functions
Improved documentation and portability


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177362 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 20:12:46 +00:00
richard.freedman%sun.com
7ec5280f6a Modified libpkix tests for wincx parameter
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177360 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 20:09:22 +00:00
hanfei.yu%sun.com
bdb839a2b0 Fixed linux compilation warning.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177358 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 20:05:07 +00:00
hanfei.yu%sun.com
9d7112c4f1 Fixed linux compilation warnings.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177357 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 20:02:27 +00:00
hanfei.yu%sun.com
a5ad2944bb Fixed linux compilation warning.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177355 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 19:53:55 +00:00
hanfei.yu%sun.com
8b3d7bf8a0 Fixed linux compilation warnings.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177353 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 19:42:55 +00:00
hanfei.yu%sun.com
5d668b0458 Fixed linux compilation warning.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177352 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 19:34:54 +00:00
hanfei.yu%sun.com
ba294e6c4b Fixed linux compilation warning.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177350 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 19:22:01 +00:00
hanfei.yu%sun.com
e058d16eea Fixed linux compilation warnings.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177349 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 19:13:37 +00:00
hanfei.yu%sun.com
a91e6005d5 Fixed linux compilation warnings.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177347 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 19:07:39 +00:00
hanfei.yu%sun.com
09c6ad0082 Fixed linux compilation warnings.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177346 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 18:57:59 +00:00
hanfei.yu%sun.com
fdc92e13d8 Fixed linux compilation warning.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177345 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 18:46:06 +00:00
hanfei.yu%sun.com
5fc6c70b5c Clean linux compilation warnings.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177342 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 18:29:14 +00:00
hanfei.yu%sun.com
5d7f3101ad Added test_mutex3.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177339 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 18:28:09 +00:00
hanfei.yu%sun.com
bd8fc2a4bd Fixed linux compilation warning for unused variables.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177337 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 17:35:39 +00:00
hanfei.yu%sun.com
3c6ace81e9 Fix linux compiler warning for unused variable pkixTestTempResult.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177336 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 17:13:18 +00:00
hanfei.yu%sun.com
5ba637626f Fixes warnings from linux compilation.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177334 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 16:52:20 +00:00
hanfei.yu%sun.com
2f1d87fddb Fixed compiler errors for PKIX_NULLCHECK() on non-pointer parameters
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177325 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-08 14:04:36 +00:00
julien.pierre.bugs%sun.com
21b3feb1b0 Fix multiply defined symbols that broke OS/2 build.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177282 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-07 04:54:44 +00:00
julien.pierre.bugs%sun.com
d5346d477e Add pkixutil.def file. Required for OS/2 build .
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177281 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-07 04:53:23 +00:00
julien.pierre.bugs%sun.com
b45557a09e Remove unused variable
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177258 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 06:04:12 +00:00
julien.pierre.bugs%sun.com
f7feea1f01 Remove unused variables
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177257 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 06:03:06 +00:00
julien.pierre.bugs%sun.com
6d2a8c6711 Fix cast from NULL to int
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177256 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 06:00:17 +00:00
julien.pierre.bugs%sun.com
994156f494 Remove unused label
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177255 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 05:59:32 +00:00
julien.pierre.bugs%sun.com
4bd9cdd77c Remove unused variable
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177254 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 05:58:49 +00:00
julien.pierre.bugs%sun.com
66db9ba8c1 Remove unused variables, labels. Fix casts from NULL to int.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177253 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 05:56:53 +00:00
julien.pierre.bugs%sun.com
97049b181c Remove unused label and variable
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177252 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 05:55:03 +00:00
julien.pierre.bugs%sun.com
0941fee7f4 Remove unused variables
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177251 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 05:54:00 +00:00
julien.pierre.bugs%sun.com
f1216fd792 Fix for casts from NULL to int
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177250 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 05:53:06 +00:00
julien.pierre.bugs%sun.com
d1b8e7ce1a Remove unnecessary labels
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177249 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 05:25:32 +00:00
julien.pierre.bugs%sun.com
900753bfa1 Remove unneeded variables, labels.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177248 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 05:20:12 +00:00
julien.pierre.bugs%sun.com
1fabb0c34e Fix for compiler warnings.
Remove unused variables, labels.
Fix casts from NULL to int


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177247 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 05:16:18 +00:00
julien.pierre.bugs%sun.com
85d75c14cc Fix header includes.
Can't include secutil.h in lib
Need secerr.h and base64.h


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177246 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 05:07:53 +00:00
julien.pierre.bugs%sun.com
75b1f6c248 Remove unused label, variables.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177245 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 05:07:18 +00:00
julien.pierre.bugs%sun.com
e2a3ab5cba Remove unused variables, labels.
Fix casts from NULL to int or char


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177244 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 04:53:15 +00:00
julien.pierre.bugs%sun.com
2f5170e364 Remove unused labels
Fix casts from NULL to int


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177243 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 04:49:22 +00:00
julien.pierre.bugs%sun.com
85927d7d68 Remove unused labels
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177242 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 04:47:56 +00:00
julien.pierre.bugs%sun.com
5fc73ac83a Remove unused label.
Fix cast from NULL to int


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177241 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 04:46:24 +00:00
julien.pierre.bugs%sun.com
4912499279 Change assignment value from NULL to PKIX_FALSE
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177240 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 04:45:28 +00:00
julien.pierre.bugs%sun.com
37bea65f31 Remove unused variable, label. Fix casts of NULL to int
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177239 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 04:42:09 +00:00
julien.pierre.bugs%sun.com
e79a726ad5 Fix casts of NULL to int
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177238 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 04:38:57 +00:00
julien.pierre.bugs%sun.com
627db20ed9 Remove unused variables and unnecessary labels
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177237 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 04:37:33 +00:00
julien.pierre.bugs%sun.com
7c6116fb1e Remove unnecessary labels, variables.
Fix cast from NULL to int


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177236 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 04:33:52 +00:00
julien.pierre.bugs%sun.com
856035e4ee Remove unnecessary labels, variables.
Fix cast from NULL to int .


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177235 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 04:30:28 +00:00
julien.pierre.bugs%sun.com
0e90c9589b Remove unnecessary labels.
Fix cast from NULL to int


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177234 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 04:27:10 +00:00
julien.pierre.bugs%sun.com
f7cc88c7ee Remove unnecessary labels.
Fix cast from NULL to int .


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177233 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 04:26:07 +00:00
julien.pierre.bugs%sun.com
c977140266 Remove unnecessary variables, labels.
Fix cast from NULL to int .


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177232 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 04:25:20 +00:00
julien.pierre.bugs%sun.com
996e01f21d Fix compiler warnings.
Remove unnecessary variables, labels. Fix casts from NULL to int .


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177229 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 04:11:55 +00:00
julien.pierre.bugs%sun.com
24afb362a0 Fix compiler warnings
Remove unused variables and unnecessary labels
Fix casts of NULL to int


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177227 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 04:05:28 +00:00
julien.pierre.bugs%sun.com
61f4ec8289 Remove unused label
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177226 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 03:59:49 +00:00
julien.pierre.bugs%sun.com
ec6a7ac35c Remove unused labels
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177225 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 03:58:36 +00:00
julien.pierre.bugs%sun.com
557385d957 Fix compiler warnings.
Remove unused variables, labels, and fix casts of NULL to int


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177224 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 03:57:24 +00:00
julien.pierre.bugs%sun.com
2fbd387e95 Fix cast of NULL to int.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177223 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 03:52:39 +00:00
julien.pierre.bugs%sun.com
209bc91670 Fix compiler warnings.
Remove unused variables, labels. Fix improper casts of NULL to int.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177222 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 03:50:34 +00:00
julien.pierre.bugs%sun.com
4908096a54 Remove unnecessary labels.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177221 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 03:45:08 +00:00
julien.pierre.bugs%sun.com
70a1308202 Don't pass NULL as an integer.
Remove unused and unnecessary labels.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177220 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 03:43:24 +00:00
julien.pierre.bugs%sun.com
2ad06d16b1 Don't pass NULL as an integer.
Remove unused labels.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177219 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 03:41:10 +00:00
julien.pierre.bugs%sun.com
4de217bb0b Don't pass NULL as an integer. gcc wants 0 .
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177218 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 03:40:46 +00:00
julien.pierre.bugs%sun.com
893a7bd7c9 Remove unnecessary labels
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177217 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 03:33:50 +00:00
julien.pierre.bugs%sun.com
e82fcba336 Remove unused labels
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177216 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 03:30:46 +00:00
julien.pierre.bugs%sun.com
2699708c49 Remove unused variables
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177215 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 03:20:31 +00:00
julien.pierre.bugs%sun.com
1de10eeb87 Remove unused variable
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177214 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 03:18:27 +00:00
julien.pierre.bugs%sun.com
4fedb77698 Delete unused variables
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177212 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 03:15:16 +00:00
julien.pierre.bugs%sun.com
19b4b0495d Fix build on AIX.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177211 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 02:55:42 +00:00
julien.pierre.bugs%sun.com
42a5729e2b Fix AIX compilation.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177210 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 01:51:56 +00:00
julien.pierre.bugs%sun.com
3ef9ebc7b6 Set array size to fix Win32 builds.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177207 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 00:39:44 +00:00
julien.pierre.bugs%sun.com
d0f5e0f866 Remove unnecessary include to fix Windows build.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177206 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 00:38:53 +00:00
julien.pierre.bugs%sun.com
66e747bee4 Include all NSPR headers for the PL part of libpkix .
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177205 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 00:21:13 +00:00
julien.pierre.bugs%sun.com
869aec447a Use correct port for LDAP.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177204 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 00:15:44 +00:00
julien.pierre.bugs%sun.com
ff2ab79c63 Fix build on windows . Use PR_htonl / PR_htons macros.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177202 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-06 00:06:53 +00:00
julien.pierre.bugs%sun.com
9dbc3ffe34 Fix build for vararg code on non-Solaris platforms.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177194 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-05 23:16:16 +00:00
richard.freedman%sun.com
4420a8eb8a Added socket Makefile
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177192 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-05 22:31:48 +00:00
richard.freedman%sun.com
3801792481 Replace gettimeofday with PR_Now in debugging trace code.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177188 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-05 21:12:34 +00:00
richard.freedman%sun.com
42088c5244 Replace platform-dependent sleep with PR_Sleep
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177187 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-05 20:51:11 +00:00
richard.freedman%sun.com
9dbbbe44b0 Changed platform dependent socket structures to PR structures; isolated incompatibility,
for now, into test_socket


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177184 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-05 20:00:04 +00:00
richard.freedman%sun.com
d4402a0ee0 Added test code for pkix_pl_socket object
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177183 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-05 19:55:18 +00:00
hanfei.yu%sun.com
679cec5c80 Need to use "expr" in sh script for adding errors.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177180 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-05 18:30:45 +00:00
hanfei.yu%sun.com
8909a5b20d Provide an alternative solution so LOGFILE data won't be erased.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177170 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-05 16:58:00 +00:00
hanfei.yu%sun.com
9dc83de5bb Add messages for HTML.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177167 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-05 15:38:13 +00:00
julien.pierre.bugs%sun.com
a5dcf347cb Remove tests for STDC which are not needed. On NSS_LIBPKIX_BRANCH only.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177136 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-04 22:38:38 +00:00
julien.pierre.bugs%sun.com
16c94a9cf9 Fix build on Windows. Remove "32" from library name. On NSS_LIBPKIX_BRANCH only.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177121 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-04 21:14:22 +00:00
richard.freedman%sun.com
c73cc8b8b0 Added socket and ldapcertstore objects
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177119 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-04 21:07:44 +00:00
hanfei.yu%sun.com
fd1ee6dd5a For va_list type, use va_copy() instead of assignment to avoid 64-bit compiler error. It is also the right call to use since it saves that state.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177110 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-04 17:35:28 +00:00
hanfei.yu%sun.com
6c8e988a3c Fixed different platforms compilation errors: change #ifdef 0 to #if 0 and assign pkixTempErrorReceived value.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177101 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-04 16:04:47 +00:00
hanfei.yu%sun.com
9b1e03c8f8 Rename libpkixtestutil to libpkixutil and move dependency locally to libpkix directory.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177099 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-04 15:04:01 +00:00
julien.pierre.bugs%sun.com
b9da9c3484 Remove STDC tests to unbreak Windows build
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177092 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-04 03:18:08 +00:00
hanfei.yu%sun.com
b2f69aca32 Took out redirecting output so the action is shown.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177062 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-03 16:14:46 +00:00
hanfei.yu%sun.com
51ffb61a9f CVS doesn't create empty test directory, have to mannually created in script.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177061 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-03 15:43:51 +00:00
hanfei.yu%sun.com
ce7c958fdd Initial libpkix tests source, script and data files.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177058 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-03 14:33:00 +00:00
julien.pierre.bugs%sun.com
b16d8cf156 Fix for Win32 build.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177053 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-03 04:02:29 +00:00
julien.pierre.bugs%sun.com
59622c8293 Fix build on Win32
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177052 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-03 03:54:50 +00:00
julien.pierre.bugs%sun.com
ca82993e15 Fix build on AIX and Linux.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177051 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-03 02:46:25 +00:00
julien.pierre.bugs%sun.com
bff40c0ddd Remove tests for STDC which are not needed.
Fix the definition of PKIX_UInt32 and PKIX_Int32 which is 32-bits on all supported platforms.
Remove #pragma ident which causes warnings on most compilers and platforms.


git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177050 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-03 02:36:37 +00:00
richard.freedman%sun.com
8e06797ba3 Used real structures instead of approximations, to improve portability.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@177031 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-02 22:31:40 +00:00
richard.freedman%sun.com
7b57a52933 adding omitted top-level (libpkix) config.mk and manifest.mn
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176806 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-28 20:39:58 +00:00
richard.freedman%sun.com
fcd0208ce4 Added top-level (libpkix) Makefile
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176803 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-28 20:23:10 +00:00
richard.freedman%sun.com
d88c038caf Initial libpkix library code drop to NSS_LIBPKIX_BRANCH
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176802 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-28 20:00:34 +00:00
richard.freedman%sun.com
0cfeafc609 Removed comment line that was added in test of commit permissions.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176794 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-28 19:01:59 +00:00
richard.freedman%sun.com
56e87c115d added a line
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176792 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-28 18:57:24 +00:00
julien.pierre.bugs%sun.com
96c9ac136b *** empty log message ***
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176791 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-28 18:24:55 +00:00
julien.pierre.bugs%sun.com
6e74112910 Remove unused variable
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176475 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-22 22:30:47 +00:00
julien.pierre.bugs%sun.com
f8eda249f9 Fix for bug 299308 . Define ReleaseDPCache . On NSS_LIBPKIX_BRANCH only.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176470 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-22 22:06:22 +00:00
julien.pierre.bugs%sun.com
dba411c85c Fix for 287052 . rename CERT_FindCRLReasonExten to CERT_FindCRLEntryReasonExten . On NSS_LIBPKIX_BRANCH only .
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176468 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-22 21:55:59 +00:00
julien.pierre.bugs%sun.com
a025b3bd61 Export CERT_FindCRLNumberExten. Fix for 287061. On NSS_LIBPKIX_BRANCH only.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176467 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-22 21:51:25 +00:00
julien.pierre.bugs%sun.com
bfaa1c8dba Back out changes from bug 289558 . On NSS_LIBPKIX_BRANCH only .
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176402 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-21 19:04:24 +00:00
julien.pierre.bugs%sun.com
6445590ff1 Fix for 287052 . Add support for getting the CRL entry's reason code. On NSS_LIBPKIX_BRANCH only
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176149 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-15 19:32:46 +00:00
julien.pierre.bugs%sun.com
a1bcbfbe2f Fix for 300929 . Support advanced policy extensions. On NSS_LIBPKIX_BRANCH only
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176148 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-15 19:16:01 +00:00
julien.pierre.bugs%sun.com
ae205868f2 Fix for 299308 . Fix bug in new CRL cache function. On NSS_LIBPKIX_BRANCH only
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176147 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-15 19:04:45 +00:00
julien.pierre.bugs%sun.com
ce566a57b9 Fix for bug 287061 . CRL number should be a bignum. On NSS_LIBPKIX_BRANCH? only
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176146 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-15 17:39:59 +00:00
julien.pierre.bugs%sun.com
b6d79fbdff Fix for 287563. Split CERT_CheckNameSpace. On NSS_LIBPKIX_BRANCH only
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176145 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-15 17:17:18 +00:00
julien.pierre.bugs%sun.com
fa6d939db7 Fix for 289558 . Correct combine constraints list. Fix from Hanfei Yu . On NSS_LIBPKIX_BRANCH Only .
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176143 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-15 17:04:42 +00:00
julien.pierre.bugs%sun.com
0a6f21c26e Fix for 300928. Build changes for libpkix integration. On NSS_LIBPKIX_BRANCH only.
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@176142 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-15 16:53:08 +00:00
julien.pierre.bugs%sun.com
556a330f0c Fix for 299308. Add new CRL cache APIs for use by libpkix . On LIBPKIX branch only
git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@175832 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-08 07:13:34 +00:00
(no author)
a168dd5053 This commit was manufactured by cvs2svn to create branch
'NSS_LIBPKIX_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/NSS_LIBPKIX_BRANCH@175128 18797224-902f-48f8-a5cc-f745e15eee43
2005-06-24 23:00:05 +00:00
54232 changed files with 220244 additions and 10217614 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

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

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