From 5f024b18ec6fd1c1d0c32b4f1105f28d9c66bcf6 Mon Sep 17 00:00:00 2001 From: Tom Yu Date: Sat, 29 Sep 2007 01:02:10 +0000 Subject: [PATCH] do svn:eol-style changes from r19972 ticket: 5768 version_fixed: 1.6.3 git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-6@20014 dc483132-0cff-0310-8789-dd5450dbe970 --- src/lib/krb5/krb/srv_dec_tkt.c | 188 +- src/windows/build/BKWconfig.xml | 342 +-- src/windows/build/Logger.pm | 174 +- src/windows/build/bkw-automation.html | 712 ++--- src/windows/build/bkw.pl | 1378 ++++----- src/windows/build/bootstrap.xml | 36 +- src/windows/build/commandandcontrol.pl | 338 +-- src/windows/build/copyfiles.pl | 274 +- src/windows/build/copyfiles.xml | 434 +-- src/windows/build/corebinaryfiles.xml | 168 +- src/windows/build/css/main-action(1).css | 108 +- src/windows/build/css/main-action.css | 2064 +++++++------- src/windows/build/makeZip.pl | 166 +- src/windows/build/pruneFiles.pl | 72 +- src/windows/build/repository1.pl | 178 +- src/windows/build/sdkfiles.xml | 44 +- src/windows/build/signFiles.pl | 52 +- src/windows/build/site-local.sed | 2 +- src/windows/build/tee.pl | 158 +- src/windows/build/which.pl | 138 +- src/windows/build/zipXML.pl | 42 +- src/windows/identity/config/Makefile | 294 +- .../identity/config/netidmgr_intver.h.in | 94 +- .../identity/config/netidmgr_version.h.in | 126 +- src/windows/identity/doc/Makefile | 142 +- src/windows/identity/doc/doxyfile.cfg | 2518 ++++++++--------- src/windows/identity/doc/footer.html | 42 +- src/windows/identity/doc/header.html | 12 +- src/windows/identity/doc/stylesheet.css | 774 ++--- src/windows/identity/help/Index.hhk | 18 +- src/windows/identity/help/Makefile | 78 +- .../identity/help/html/about_netidmgr.htm | 134 +- src/windows/identity/help/html/act_chpw.htm | 68 +- .../identity/help/html/act_destroy_creds.htm | 70 +- .../identity/help/html/act_import_creds.htm | 60 +- .../identity/help/html/act_new_creds.htm | 234 +- .../identity/help/html/act_renew_creds.htm | 78 +- .../identity/help/html/act_set_default.htm | 38 +- src/windows/identity/help/html/bugs.htm | 64 +- .../identity/help/html/cmdline_netidmgr.htm | 74 +- .../identity/help/html/concept_cred_pro.htm | 74 +- .../identity/help/html/concept_credential.htm | 60 +- .../identity/help/html/concept_ident_pro.htm | 62 +- .../identity/help/html/concept_identity.htm | 64 +- src/windows/identity/help/html/concepts.htm | 94 +- src/windows/identity/help/html/copyright.htm | 96 +- src/windows/identity/help/html/howdoi.htm | 86 +- src/windows/identity/help/html/menu_all.htm | 80 +- .../identity/help/html/menu_credential.htm | 160 +- src/windows/identity/help/html/menu_file.htm | 88 +- src/windows/identity/help/html/menu_help.htm | 106 +- .../identity/help/html/menu_options.htm | 128 +- src/windows/identity/help/html/menu_view.htm | 186 +- src/windows/identity/help/html/nidmgr.css | 244 +- .../identity/help/html/tb_standard.htm | 158 +- src/windows/identity/help/html/template.htm | 20 +- src/windows/identity/help/html/use_config.htm | 610 ++-- src/windows/identity/help/html/use_icon.htm | 144 +- src/windows/identity/help/html/use_layout.htm | 180 +- src/windows/identity/help/html/use_start.htm | 138 +- src/windows/identity/help/html/using.htm | 112 +- src/windows/identity/help/html/welcome.htm | 258 +- src/windows/identity/help/html/wnd_main.htm | 172 +- src/windows/identity/help/netidmgr.hhp | 70 +- src/windows/identity/help/popups.txt | 2 +- src/windows/identity/help/popups_newcreds.txt | 60 +- src/windows/identity/help/popups_password.txt | 38 +- src/windows/identity/help/toc.hhc | 288 +- src/windows/identity/include/Makefile | 76 +- src/windows/identity/kconfig/Makefile | 100 +- src/windows/identity/kcreddb/Makefile | 102 +- src/windows/identity/kcreddb/kcdbconfig.csv | 30 +- .../identity/kcreddb/lang/en_us/kcredres.rc | 260 +- src/windows/identity/kherr/Makefile | 84 +- src/windows/identity/kmm/Makefile | 106 +- src/windows/identity/kmm/kmmconfig.csv | 94 +- src/windows/identity/kmm/lang/kmm_msgs.mc | 518 ++-- src/windows/identity/kmq/Makefile | 94 +- src/windows/identity/kmq/kmqconfig.csv | 10 +- src/windows/identity/nidmgrdll/nidmgrdll.rc | 148 +- src/windows/identity/plugins/common/Makefile | 86 +- .../identity/plugins/krb4/krbconfig.csv | 34 +- .../plugins/krb4/lang/en_us/langres.rc | 410 +-- .../identity/plugins/krb4/lang/krb4_msgs.mc | 114 +- src/windows/identity/plugins/krb4/version.rc | 178 +- .../identity/plugins/krb5/krbconfig.csv | 90 +- .../plugins/krb5/lang/en_us/langres.rc | 1014 +++---- .../identity/plugins/krb5/lang/krb5_msgs.mc | 398 +-- src/windows/identity/plugins/krb5/version.rc | 176 +- .../sample/templates/credprov/Makefile | 556 ++-- .../identity/sample/templates/credprov/README | 500 ++-- .../templates/credprov/lang/en_us/langres.rc | 408 +-- .../sample/templates/credprov/version.rc | 188 +- src/windows/identity/ui/appver.rc | 80 +- .../identity/ui/lang/en_us/cmdline.rtf | Bin 1278 -> 1250 bytes src/windows/identity/ui/makeacceldef.pl | 58 +- src/windows/identity/ui/makeactiondef.pl | 58 +- .../identity/ui/netidmgr.exe.manifest.i386 | 44 +- .../identity/ui/netidmgr.manifest.i386.vc7 | 44 +- .../ui/netidmgr.manifest.i386.vc7.debug | 44 +- .../identity/ui/netidmgr.manifest.i386.vc8 | 62 +- .../ui/netidmgr.manifest.i386.vc8.debug | 62 +- src/windows/identity/uilib/Makefile | 130 +- src/windows/identity/uilib/accel.csv | 52 +- src/windows/identity/uilib/acceldef.cfg | 102 +- src/windows/identity/uilib/actiondef.cfg | 134 +- src/windows/identity/uilib/actions.csv | 106 +- src/windows/identity/util/Makefile | 94 +- .../installer/nsis/nsi-includes-tagged.nsi | 16 +- .../installer/nsis/site-local-tagged.nsi | 26 +- src/windows/installer/wix/lang/license.rtf | 202 +- src/windows/installer/wix/platform.wxi | 382 +-- src/windows/installer/wix/runtime.wxi | 178 +- src/windows/installer/wix/runtime_debug.wxi | 28 +- .../installer/wix/site-local-tagged.wxi | 208 +- src/windows/kfwlogon/kfwlogon.def | 28 +- 116 files changed, 11838 insertions(+), 11838 deletions(-) diff --git a/src/lib/krb5/krb/srv_dec_tkt.c b/src/lib/krb5/krb/srv_dec_tkt.c index 7dad1ed16..e994ac995 100644 --- a/src/lib/krb5/krb/srv_dec_tkt.c +++ b/src/lib/krb5/krb/srv_dec_tkt.c @@ -1,94 +1,94 @@ -/* - * lib/krb5/krb/srv_dec_tkt.c - * - * Copyright 2006 by the Massachusetts Institute of Technology. - * All Rights Reserved. - * - * Export of this software from the United States of America may - * require a specific license from the United States Government. - * It is the responsibility of any person or organization contemplating - * export to obtain such a license before exporting. - * - * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - * distribute this software and its documentation for any purpose and - * without fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, and that - * the name of M.I.T. not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. Furthermore if you modify this software you must label - * your software as modified software and not distribute it in such a - * fashion that it might be confused with the original M.I.T. software. - * M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" without express - * or implied warranty. - * - * - * Server decrypt ticket via keytab or keyblock. - * - * Different from krb5_rd_req_decoded. (krb5/src/lib/krb5/krb/rd_req_dec.c) - * - No krb5_principal_compare or KRB5KRB_AP_ERR_BADMATCH error. - * - No replay cache processing. - * - No skew checking or KRB5KRB_AP_ERR_SKEW error. - * - No address checking or KRB5KRB_AP_ERR_BADADDR error. - * - No time validation. - * - No permitted enctype validation or KRB5_NOPERM_ETYPE error. - * - Does not free ticket->enc_part2 on error. - */ - -#include - -krb5_error_code KRB5_CALLCONV -krb5int_server_decrypt_ticket_keyblock(krb5_context context, - const krb5_keyblock *key, - krb5_ticket *ticket) -{ - krb5_error_code retval; - krb5_data *realm; - krb5_transited *trans; - - retval = krb5_decrypt_tkt_part(context, key, ticket); - if (retval) - goto done; - - trans = &ticket->enc_part2->transited; - realm = &ticket->enc_part2->client->realm; - if (trans->tr_contents.data && *trans->tr_contents.data) { - retval = krb5_check_transited_list(context, &trans->tr_contents, - realm, &ticket->server->realm); - goto done; - } - - if (ticket->enc_part2->flags & TKT_FLG_INVALID) { /* ie, KDC_OPT_POSTDATED */ - retval = KRB5KRB_AP_ERR_TKT_INVALID; - goto done; - } - - done: - return retval; -} - - -krb5_error_code KRB5_CALLCONV -krb5_server_decrypt_ticket_keytab(krb5_context context, - const krb5_keytab kt, - krb5_ticket *ticket) -{ - krb5_error_code retval; - krb5_enctype enctype; - krb5_keytab_entry ktent; - - enctype = ticket->enc_part.enctype; - - if ((retval = krb5_kt_get_entry(context, kt, ticket->server, - ticket->enc_part.kvno, - enctype, &ktent))) - return retval; - - retval = krb5int_server_decrypt_ticket_keyblock(context, - &ktent.key, ticket); - /* Upon error, Free keytab entry first, then return */ - - (void) krb5_kt_free_entry(context, &ktent); - return retval; -} +/* + * lib/krb5/krb/srv_dec_tkt.c + * + * Copyright 2006 by the Massachusetts Institute of Technology. + * All Rights Reserved. + * + * Export of this software from the United States of America may + * require a specific license from the United States Government. + * It is the responsibility of any person or organization contemplating + * export to obtain such a license before exporting. + * + * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and + * distribute this software and its documentation for any purpose and + * without fee is hereby granted, provided that the above copyright + * notice appear in all copies and that both that copyright notice and + * this permission notice appear in supporting documentation, and that + * the name of M.I.T. not be used in advertising or publicity pertaining + * to distribution of the software without specific, written prior + * permission. Furthermore if you modify this software you must label + * your software as modified software and not distribute it in such a + * fashion that it might be confused with the original M.I.T. software. + * M.I.T. makes no representations about the suitability of + * this software for any purpose. It is provided "as is" without express + * or implied warranty. + * + * + * Server decrypt ticket via keytab or keyblock. + * + * Different from krb5_rd_req_decoded. (krb5/src/lib/krb5/krb/rd_req_dec.c) + * - No krb5_principal_compare or KRB5KRB_AP_ERR_BADMATCH error. + * - No replay cache processing. + * - No skew checking or KRB5KRB_AP_ERR_SKEW error. + * - No address checking or KRB5KRB_AP_ERR_BADADDR error. + * - No time validation. + * - No permitted enctype validation or KRB5_NOPERM_ETYPE error. + * - Does not free ticket->enc_part2 on error. + */ + +#include + +krb5_error_code KRB5_CALLCONV +krb5int_server_decrypt_ticket_keyblock(krb5_context context, + const krb5_keyblock *key, + krb5_ticket *ticket) +{ + krb5_error_code retval; + krb5_data *realm; + krb5_transited *trans; + + retval = krb5_decrypt_tkt_part(context, key, ticket); + if (retval) + goto done; + + trans = &ticket->enc_part2->transited; + realm = &ticket->enc_part2->client->realm; + if (trans->tr_contents.data && *trans->tr_contents.data) { + retval = krb5_check_transited_list(context, &trans->tr_contents, + realm, &ticket->server->realm); + goto done; + } + + if (ticket->enc_part2->flags & TKT_FLG_INVALID) { /* ie, KDC_OPT_POSTDATED */ + retval = KRB5KRB_AP_ERR_TKT_INVALID; + goto done; + } + + done: + return retval; +} + + +krb5_error_code KRB5_CALLCONV +krb5_server_decrypt_ticket_keytab(krb5_context context, + const krb5_keytab kt, + krb5_ticket *ticket) +{ + krb5_error_code retval; + krb5_enctype enctype; + krb5_keytab_entry ktent; + + enctype = ticket->enc_part.enctype; + + if ((retval = krb5_kt_get_entry(context, kt, ticket->server, + ticket->enc_part.kvno, + enctype, &ktent))) + return retval; + + retval = krb5int_server_decrypt_ticket_keyblock(context, + &ktent.key, ticket); + /* Upon error, Free keytab entry first, then return */ + + (void) krb5_kt_free_entry(context, &ktent); + return retval; +} diff --git a/src/windows/build/BKWconfig.xml b/src/windows/build/BKWconfig.xml index 42cf1543b..92fdc6ecd 100644 --- a/src/windows/build/BKWconfig.xml +++ b/src/windows/build/BKWconfig.xml @@ -1,172 +1,172 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/windows/build/Logger.pm b/src/windows/build/Logger.pm index f74c21807..c7f904a94 100644 --- a/src/windows/build/Logger.pm +++ b/src/windows/build/Logger.pm @@ -1,87 +1,87 @@ -package Logger; - -use strict; -use IO::File; -use FindBin; - -my $bStarted = 0; - -sub new { - my $class = shift; - my $file = shift; - my $append = shift; - $file || die "Usage: \$foo = new Logger filename [append]\n"; - my $self = {}; - bless $self, $class; - $self->{FILE} = $file; - $self->{APPEND} = $append?'-a':''; - return $self; -} - -sub start { - my $self = shift; - - return 1 if $self->{PIPE}; - - STDOUT->flush; - STDERR->flush; - - my $fh_out = new IO::File; - my $fh_err = new IO::File; - my $fh_pipe = new IO::File; - - $self->{OUT} = $fh_out; - $self->{ERR} = $fh_err; - $self->{PIPE} = $fh_pipe; - - $fh_out->open(">&STDOUT") || die; - $fh_err->open(">&STDERR") || die; - $fh_pipe->open("|$^X $FindBin::Bin/tee.pl $self->{APPEND} $self->{FILE}") || die; - - STDOUT->fdopen(fileno $fh_pipe, "w") || die; - STDERR->fdopen(fileno $fh_pipe, "w") || die; - - STDOUT->autoflush(1); - STDERR->autoflush(1); - - $SIG{__DIE__} = sub { - print STDERR $_[0]; - $self->stop; - die "\n"; - }; - - $bStarted = 1; - return 1; -} - -# 20070314 kpkoch: -# There appears to be a bug in ActivePerl where Logger's games with streams -# and the SIG DIE handler cause eval to throw exceptions. By deleting the DIE handler, -# subsequent evals do not fail. -sub no_die_handler { - delete $SIG{__DIE__}; - } - -sub stop { - my $self = shift; - - return 0 if !$self->{PIPE}; - - STDOUT->close; - STDERR->close; - $self->{PIPE}->close; - STDOUT->fdopen(fileno $self->{OUT}, "w"); - STDERR->fdopen(fileno $self->{ERR}, "w"); - delete $self->{OUT}; - delete $self->{ERR}; - delete $self->{PIPE}; - $bStarted = 0; - return 1; -} - -sub DESTROY { - my $self = shift; - $self->stop if ($bStarted); - } - -1; +package Logger; + +use strict; +use IO::File; +use FindBin; + +my $bStarted = 0; + +sub new { + my $class = shift; + my $file = shift; + my $append = shift; + $file || die "Usage: \$foo = new Logger filename [append]\n"; + my $self = {}; + bless $self, $class; + $self->{FILE} = $file; + $self->{APPEND} = $append?'-a':''; + return $self; +} + +sub start { + my $self = shift; + + return 1 if $self->{PIPE}; + + STDOUT->flush; + STDERR->flush; + + my $fh_out = new IO::File; + my $fh_err = new IO::File; + my $fh_pipe = new IO::File; + + $self->{OUT} = $fh_out; + $self->{ERR} = $fh_err; + $self->{PIPE} = $fh_pipe; + + $fh_out->open(">&STDOUT") || die; + $fh_err->open(">&STDERR") || die; + $fh_pipe->open("|$^X $FindBin::Bin/tee.pl $self->{APPEND} $self->{FILE}") || die; + + STDOUT->fdopen(fileno $fh_pipe, "w") || die; + STDERR->fdopen(fileno $fh_pipe, "w") || die; + + STDOUT->autoflush(1); + STDERR->autoflush(1); + + $SIG{__DIE__} = sub { + print STDERR $_[0]; + $self->stop; + die "\n"; + }; + + $bStarted = 1; + return 1; +} + +# 20070314 kpkoch: +# There appears to be a bug in ActivePerl where Logger's games with streams +# and the SIG DIE handler cause eval to throw exceptions. By deleting the DIE handler, +# subsequent evals do not fail. +sub no_die_handler { + delete $SIG{__DIE__}; + } + +sub stop { + my $self = shift; + + return 0 if !$self->{PIPE}; + + STDOUT->close; + STDERR->close; + $self->{PIPE}->close; + STDOUT->fdopen(fileno $self->{OUT}, "w"); + STDERR->fdopen(fileno $self->{ERR}, "w"); + delete $self->{OUT}; + delete $self->{ERR}; + delete $self->{PIPE}; + $bStarted = 0; + return 1; +} + +sub DESTROY { + my $self = shift; + $self->stop if ($bStarted); + } + +1; diff --git a/src/windows/build/bkw-automation.html b/src/windows/build/bkw-automation.html index 637c9c9b8..5e21ba570 100644 --- a/src/windows/build/bkw-automation.html +++ b/src/windows/build/bkw-automation.html @@ -1,356 +1,356 @@ - - - lore-bkw-automation - Confluence - - - - - - - -
-
The - Kerberos for Windows (KfW) build is automated.  A script will fetch the - sources from a repository and then build, sign and package all the KfW - distribution components. -
-
This - description consists of -
- -

Setting Up the Build Environment

-

KfW is built on a Windows PC, in the default Windows shell (cmd.exe). These - components must be installed:

-
    -
  • - Visual Studio 2003
    - Versions of Visual Studio before or after 2003 are not supported. -
  • - A recent release of the - - - Microsoft Platform SDK -   -
  • - - - ActiveState Perl 5.8 or more recent
    - Build 631 is known to work. -
  • - - - Doxygen -
  • - sed, awk, cat, rm and find
    - These can be obtained from the - - Cygwin - distribution. -
    -
    - find must be in C:\tools\cygwin\bin, so install Cygwin in C:\tools\cygwin. -
    -
    - The cygwin awk is a link and the MS shell doesn't deal well with that.  C - opy c:\tools\cygwin\bin\gawk to c:\tools\cygwin\bin\awk. -
  • - - Wix -
  • - - - NSIS
-

Environment variables

-

- All the components above must be in PATH. Installing ActivePerl puts perl in - the PATH. Doxygen, Cygwin, hhc, wix and nsis need to be added.

-

perl must be installed so that .pl files are automatically executed with perl. - The ActivePerl installation will do this for you.

-

In the INCLUDE path, the Microsoft Platform SDK must come before the Microsoft - Visual C++ include files. Using a Platform SDK Build Environment window will - set this up the right way. 

-

If you make your path modifications permanent via Control Panel / System / - Advanced / Environment Variables:  If you use a Platform SDK Build - Environment window, it appears that you need to put your PATH components in the - System PATH, not the User PATH.

-

Visual Studio installs hhc in C:\Program Files\HTML Help Workshop.

-

nmake must be in PATH. If you use a Platform SDK build environment window, it is - already done for you.

-

Running the Script

-

- The build is a perl script controlled by command line switches and an XML - configuration file. The config file is required. Settings in the config file - can be overridden by optional command line switches. 

-

There are options for controlling most steps of the build process.  The - steps are

-
    -
  • - Verifying the environment -
  • - Fetching the sources from repositories -
  • - Building the sources -
  • - Setting up the packaging environment -
  • - Building the installers -
  • - Building the rest of the components -
  • -
-

The usage message shows the switches that control these steps:

-

C:\Projects\KfW>perl bkw.pl /?
- Usage: bkw.pl [options] NMAKE-options

-

  Options are case insensitive. -

-

  Options:  -
-
  /help /?          - usage information (what you now see). -
-   /config /f path   Path to config file. Default is - bkwconfig.xml. -
-   /src /s dir       Source directory to use. - Should contain -
-     -                 - pismere/athena. If cvstag or svntag is null, -
-       -               - the directory should be prepopulated. -
-   /out /o dir       Directory to be created - where build results will go -
-
  /repository checkout | co \ What repository action to take. -
-      /r       - update   | up \ Options are to checkout, update, export
-               export   - | ex \ or take no action [skip]. 
-               - skip
-   /username /u name username used to access svn if checking out. -
-   /cvstag /c tag    use -r <tag> - in cvs -command
  /svnbranch /b tag use -/branches/<tag> instead of /trunk.
  /svntag /t tag    use -/tags/<tag> instead of /trunk.
  /debug -/d         Do debug make instead of -release make.
  -/[no]make         -Control the make -step.
  -/clean            Build -clean target.
  -/[no]package      Control the packaging step.
  -/[no]sign         Control -signing -of executable files.
  /verbose -/v       Debug mode - verbose output.
  /logfile /l path  Where to write output. -Default is bkw.pl.log.
  - /nolog            Don't - save output.
-

-

  Other: -
-     NMAKE-options any options you want to pass to NMAKE, which - can be: -
-                   - (note: /nologo is always used)
-                   NODEBUG=1

-

NMAKE-options any options you want to pass to NMAKE, which can be:
- (note: /nologo is always used)
- [ nmake options follow ]

-


- Notes on the script steps:

-

Verifying the environment:  -
- The script tests for each program that it needs and warns if the program isn't - found.

-

Fetching sources from repositories:  -
- If building from a source distribution kit, this section does not apply.

-

CVSROOT and SVNURL must be specified in the configuration file.

-

A source zip file can only be produced if checking out fresh sources from a - repository. 

-

If checking out, the entire pismere directory will be deleted.  A warning - message requires that you confirm this action.

-

Building the sources:
- /DEBUG controls whether a debug or release build is done.  /CLEAN will - build the CLEAN target.

-

Setting up the packaging environment :
-
The pre-package steps gathers up build results and puts them in a - staging area.  -

-

If /SIGN is specified, .exes, .dlls - and .cpls are signed.  The signing command - template is in the configuration file.

-

Building the installers:
- The staging area is copied into a fresh area for - each of the installers.  The installer results are copied back to the - staging area.

-

Building the rest of the components:
- Zip files are built in temporary areas and copied to outdir.  - The installers and assorted files are copied from staging - to outdir.  If /SIGN is specified, the - installers will be signed.

-

 

-

Script Internal Details

-

Copy Lists

-

CopyLists are used in many places.  For example, files to be put into - a .zip are copied to a fresh directory which is then zipped up.  There is - an optional Configuration section and a required Files section. 

-

The configuration section defines the roots of the from and to paths and can - optionally define path substitutions.  -

-

The to and from paths are forced by the script rather than being set in the - config file.  Comments in the copyfile xml indicate this.

-

Lengthy copy lists can be kept in separate files and included with the Include - directive.  Example:

-

<Include path="sdkfiles.xml" />

-

Substitution tags

-

Filenames in copylists can contain variable 'tags' that are replaced before the - file is copied.  Some configuration files contain substitution tags which - customize the configuration.  The supported tags are

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%VERSION_MAJOR%KfW Version from pismere/athena/include/kerberos.ver.
%VERSION_MINOR%KfW Version from pismere/athena/include/kerberos.ver.
%VERSION_PATCH%KfW Version from pismere/athena/include/kerberos.ver.
%filestem%Defined as kfw-%VERSION_MAJOR%-%VERSION_MINOR%-%VERSION_PATCH%.
%debug%'dbg.'  Only substituted during a debug build. 
%release%'rel.'  Only substituted during a release build.  -
%bldtype%Always substituted, to 'dbg' or 'rel,' depending on the type of build.
%-DEBUG%'-DEBUG' during a debug build; otherwise empty.
%BUILDDIR%SRCDIR\pismere.  Used in site-local installer configuration files.
%TARGETDIR%SRCDIR\pismere\staging.  Used in site-local installer configuration files.
%CONFIGDIR-WIX%SRCDIR\pismere\staging\sample.  Used in site-local installer configuration - files.
%CONFIGDIR-NSI%SRCDIR\pismere\staging.  Used in site-local installer configuration files.
-

-

The overall build configuration specifies a debug or release build.  Debug - and release results are put in different places.  Files whose location - depend on the build type can use %bldtype% in their names.  The script - will substitute %bldtype% with either dbg or rel, depending on the build - type. 

-
-
-

Example

-
-

Here is a copylist entry.  Each segment of the file's path that comes - from a different place is in a different color.

-

Release build.  Config file: -

-

- - - - - - - - - - - - - -
<BKW_Config>
<Config>
<src value ="C:\bkw" /> -
-

-

Copylist comments:

-

<!-- File from paths are relative to - \pismere\athena -->
<!-- File to paths are relative to \ - pismere\staging - -->
-

-

When the script processes this copylist, it will force the from and to paths as - indicated.

-

This line -

-

<File name="comerr32.dll" from="..\target\bin\i386\%bldtype%\" - to="\bin\i386" />

-

will result in C:\bkw\pismere\athena\..\target\bin\i386\rel\comerr32.dll

-

being copied to C:\bkw\pismere\staging\bin\i386\comerr32.dll.

-

Other possible attributes in a copylist entry:

-
    -
  • - notrequired -
  • - newname="filename" -
  • -
-

By default, copylist entries are required and the script will die if they aren't - present. To ignore missing files, add notrequired.

-

To rename the file, set the newname attribute.

-

Remaining Work / Bug List

-

Implement RETAIL, OFFICIAL, PRERELEASE, PRIVATE, SPECIAL.

-

Figure out what MIT_ONLY, BUILD_KFW, DEBUG_SYMBOL should be.

-

TARGET, APPVER.

-

NODEBUG=1.  Set if release build.

-

Troubleshooting -

-

Can't clean directory; can't delete file or directory
- Make sure a file in the named directory isn't open in another application.

-

Can't find kerberos.ver
- You skipped the repository step and are trying to build in an empty directory.

-
- - + + + lore-bkw-automation - Confluence + + + + + + + +
+
The + Kerberos for Windows (KfW) build is automated.  A script will fetch the + sources from a repository and then build, sign and package all the KfW + distribution components. +
+
This + description consists of +
+ +

Setting Up the Build Environment

+

KfW is built on a Windows PC, in the default Windows shell (cmd.exe). These + components must be installed:

+
    +
  • + Visual Studio 2003
    + Versions of Visual Studio before or after 2003 are not supported. +
  • + A recent release of the + + + Microsoft Platform SDK +   +
  • + + + ActiveState Perl 5.8 or more recent
    + Build 631 is known to work. +
  • + + + Doxygen +
  • + sed, awk, cat, rm and find
    + These can be obtained from the + + Cygwin + distribution. +
    +
    + find must be in C:\tools\cygwin\bin, so install Cygwin in C:\tools\cygwin. +
    +
    + The cygwin awk is a link and the MS shell doesn't deal well with that.  C + opy c:\tools\cygwin\bin\gawk to c:\tools\cygwin\bin\awk. +
  • + + Wix +
  • + + + NSIS
+

Environment variables

+

+ All the components above must be in PATH. Installing ActivePerl puts perl in + the PATH. Doxygen, Cygwin, hhc, wix and nsis need to be added.

+

perl must be installed so that .pl files are automatically executed with perl. + The ActivePerl installation will do this for you.

+

In the INCLUDE path, the Microsoft Platform SDK must come before the Microsoft + Visual C++ include files. Using a Platform SDK Build Environment window will + set this up the right way. 

+

If you make your path modifications permanent via Control Panel / System / + Advanced / Environment Variables:  If you use a Platform SDK Build + Environment window, it appears that you need to put your PATH components in the + System PATH, not the User PATH.

+

Visual Studio installs hhc in C:\Program Files\HTML Help Workshop.

+

nmake must be in PATH. If you use a Platform SDK build environment window, it is + already done for you.

+

Running the Script

+

+ The build is a perl script controlled by command line switches and an XML + configuration file. The config file is required. Settings in the config file + can be overridden by optional command line switches. 

+

There are options for controlling most steps of the build process.  The + steps are

+
    +
  • + Verifying the environment +
  • + Fetching the sources from repositories +
  • + Building the sources +
  • + Setting up the packaging environment +
  • + Building the installers +
  • + Building the rest of the components +
  • +
+

The usage message shows the switches that control these steps:

+

C:\Projects\KfW>perl bkw.pl /?
+ Usage: bkw.pl [options] NMAKE-options

+

  Options are case insensitive. +

+

  Options:  +
+
  /help /?          + usage information (what you now see). +
+   /config /f path   Path to config file. Default is + bkwconfig.xml. +
+   /src /s dir       Source directory to use. + Should contain +
+     +                 + pismere/athena. If cvstag or svntag is null, +
+       +               + the directory should be prepopulated. +
+   /out /o dir       Directory to be created + where build results will go +
+
  /repository checkout | co \ What repository action to take. +
+      /r       + update   | up \ Options are to checkout, update, export
+               export   + | ex \ or take no action [skip]. 
+               + skip
+   /username /u name username used to access svn if checking out. +
+   /cvstag /c tag    use -r <tag> + in cvs +command
  /svnbranch /b tag use +/branches/<tag> instead of /trunk.
  /svntag /t tag    use +/tags/<tag> instead of /trunk.
  /debug +/d         Do debug make instead of +release make.
  +/[no]make         +Control the make +step.
  +/clean            Build +clean target.
  +/[no]package      Control the packaging step.
  +/[no]sign         Control +signing +of executable files.
  /verbose +/v       Debug mode - verbose output.
  /logfile /l path  Where to write output. +Default is bkw.pl.log.
  + /nolog            Don't + save output.
+

+

  Other: +
+     NMAKE-options any options you want to pass to NMAKE, which + can be: +
+                   + (note: /nologo is always used)
+                   NODEBUG=1

+

NMAKE-options any options you want to pass to NMAKE, which can be:
+ (note: /nologo is always used)
+ [ nmake options follow ]

+


+ Notes on the script steps:

+

Verifying the environment:  +
+ The script tests for each program that it needs and warns if the program isn't + found.

+

Fetching sources from repositories:  +
+ If building from a source distribution kit, this section does not apply.

+

CVSROOT and SVNURL must be specified in the configuration file.

+

A source zip file can only be produced if checking out fresh sources from a + repository. 

+

If checking out, the entire pismere directory will be deleted.  A warning + message requires that you confirm this action.

+

Building the sources:
+ /DEBUG controls whether a debug or release build is done.  /CLEAN will + build the CLEAN target.

+

Setting up the packaging environment :
+
The pre-package steps gathers up build results and puts them in a + staging area.  +

+

If /SIGN is specified, .exes, .dlls + and .cpls are signed.  The signing command + template is in the configuration file.

+

Building the installers:
+ The staging area is copied into a fresh area for + each of the installers.  The installer results are copied back to the + staging area.

+

Building the rest of the components:
+ Zip files are built in temporary areas and copied to outdir.  + The installers and assorted files are copied from staging + to outdir.  If /SIGN is specified, the + installers will be signed.

+

 

+

Script Internal Details

+

Copy Lists

+

CopyLists are used in many places.  For example, files to be put into + a .zip are copied to a fresh directory which is then zipped up.  There is + an optional Configuration section and a required Files section. 

+

The configuration section defines the roots of the from and to paths and can + optionally define path substitutions.  +

+

The to and from paths are forced by the script rather than being set in the + config file.  Comments in the copyfile xml indicate this.

+

Lengthy copy lists can be kept in separate files and included with the Include + directive.  Example:

+

<Include path="sdkfiles.xml" />

+

Substitution tags

+

Filenames in copylists can contain variable 'tags' that are replaced before the + file is copied.  Some configuration files contain substitution tags which + customize the configuration.  The supported tags are

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
%VERSION_MAJOR%KfW Version from pismere/athena/include/kerberos.ver.
%VERSION_MINOR%KfW Version from pismere/athena/include/kerberos.ver.
%VERSION_PATCH%KfW Version from pismere/athena/include/kerberos.ver.
%filestem%Defined as kfw-%VERSION_MAJOR%-%VERSION_MINOR%-%VERSION_PATCH%.
%debug%'dbg.'  Only substituted during a debug build. 
%release%'rel.'  Only substituted during a release build.  +
%bldtype%Always substituted, to 'dbg' or 'rel,' depending on the type of build.
%-DEBUG%'-DEBUG' during a debug build; otherwise empty.
%BUILDDIR%SRCDIR\pismere.  Used in site-local installer configuration files.
%TARGETDIR%SRCDIR\pismere\staging.  Used in site-local installer configuration files.
%CONFIGDIR-WIX%SRCDIR\pismere\staging\sample.  Used in site-local installer configuration + files.
%CONFIGDIR-NSI%SRCDIR\pismere\staging.  Used in site-local installer configuration files.
+

+

The overall build configuration specifies a debug or release build.  Debug + and release results are put in different places.  Files whose location + depend on the build type can use %bldtype% in their names.  The script + will substitute %bldtype% with either dbg or rel, depending on the build + type. 

+
+
+

Example

+
+

Here is a copylist entry.  Each segment of the file's path that comes + from a different place is in a different color.

+

Release build.  Config file: +

+

+ + + + + + + + + + + + + +
<BKW_Config>
<Config>
<src value ="C:\bkw" /> +
+

+

Copylist comments:

+

<!-- File from paths are relative to + \pismere\athena -->
<!-- File to paths are relative to \ + pismere\staging + -->
+

+

When the script processes this copylist, it will force the from and to paths as + indicated.

+

This line +

+

<File name="comerr32.dll" from="..\target\bin\i386\%bldtype%\" + to="\bin\i386" />

+

will result in C:\bkw\pismere\athena\..\target\bin\i386\rel\comerr32.dll

+

being copied to C:\bkw\pismere\staging\bin\i386\comerr32.dll.

+

Other possible attributes in a copylist entry:

+
    +
  • + notrequired +
  • + newname="filename" +
  • +
+

By default, copylist entries are required and the script will die if they aren't + present. To ignore missing files, add notrequired.

+

To rename the file, set the newname attribute.

+

Remaining Work / Bug List

+

Implement RETAIL, OFFICIAL, PRERELEASE, PRIVATE, SPECIAL.

+

Figure out what MIT_ONLY, BUILD_KFW, DEBUG_SYMBOL should be.

+

TARGET, APPVER.

+

NODEBUG=1.  Set if release build.

+

Troubleshooting +

+

Can't clean directory; can't delete file or directory
+ Make sure a file in the named directory isn't open in another application.

+

Can't find kerberos.ver
+ You skipped the repository step and are trying to build in an empty directory.

+
+ + diff --git a/src/windows/build/bkw.pl b/src/windows/build/bkw.pl index 9321bf69b..9984a3343 100644 --- a/src/windows/build/bkw.pl +++ b/src/windows/build/bkw.pl @@ -1,690 +1,690 @@ -#!perl -w - -#use strict; -use FindBin; -use File::Spec; -use File::Basename; -use lib "$FindBin::Bin/build/lib"; -use Getopt::Long; -use Cwd; -use XML::Simple; -use Data::Dumper; -use Archive::Zip; -use Logger; -require "copyfiles.pl"; -require "prunefiles.pl"; -require "signfiles.pl"; -require "zipXML.pl"; - -my $BAIL; -$0 = fileparse($0); -my $OPT = {foo => 'bar'}; -my $MAKE = 'NMAKE'; -our $config; - -sub get_info { - my $cmd = shift || die; - my $which = $^X.' which.pl'; - my $full = `$which $cmd`; - return 0 if ($? / 256); - chomp($full); - $full = "\"".$full."\""; - return { cmd => $cmd, full => $full}; - } - -sub usage { - print < in cvs command - /svnbranch /b tag use /branches/ instead of /trunk. - /svntag /t tag use /tags/ instead of /trunk. - /debug /d Do debug make instead of release make. - /[no]make Control the make step. - /clean Build clean target. - /[no]package Control the packaging step. - /[no]sign Control signing of executable files. - /verbose /v Debug mode - verbose output. - /logfile /l path Where to write output. Default is bkw.pl.log. - /nolog Don't save output. - Other: - NMAKE-options any options you want to pass to NMAKE, which can be: - (note: /nologo is always used) - -USAGE - system("$MAKE /?"); - } - -sub handler { - my $sig = shift; - my $bailmsg = "Bailing out due to SIG$sig!\n"; - my $warnmsg = <{config}) {$OPT->{config} = "bkwconfig.xml";} - my $configfile = $OPT->{config}; - print "Info -- Reading configuration from $configfile.\n"; - my $xml = new XML::Simple(); - $config = $xml->XMLin($configfile); ## Read in configuration file. - - # Set up convenience variables: - local $odr = $config->{Config}; ## Options, directories, repository, environment. - - # Build argument description from Config section of the XML, - # to parse the rest of the arguments: - local @xmlargs; - while (($sw, $val) = each %$odr) { - local $arg = $sw; - if (exists $val->{abbr}) {$arg .= "|$val->{abbr}";} - if (exists $val->{value}) { ## Can't do both negations and string values. - $arg .= ":s"; - } - else { - if (! ($val->{def} =~ /A/)) {$arg .= "!";} - } - push @xmlargs, $arg; - } - - if (!GetOptions($OPT, @xmlargs)) {$OPT->{help} = 1;} - - if ( $OPT->{help} ) { - usage(); - exit(0); - } - - delete $OPT->{foo}; - -##++ Validate required conditions: - - # List of programs which must be in PATH: - my @required_list = ('sed', 'awk', 'which', 'cat', 'rm', 'cvs', 'svn', 'doxygen', - 'hhc', 'candle', 'light', 'makensis', 'nmake', 'plink', 'filever'); - my $requirements_met = 1; - my $first_missing = 0; - my $error_list = ""; - foreach my $required (@required_list) { - if (!get_info($required)) { - $requirements_met = 0; - if (!$first_missing) { - $first_missing = 1; - $error_list = "Fatal -- Environment problem! The following program(s) are not in PATH:\n"; - } - $error_list .= "$required\n"; - } - } - if (!$requirements_met) { - print $error_list; - print "Info -- Update PATH or install the programs and try again.\n"; - exit(0); - } - -##-- Validate required conditions. - - use Time::gmtime; - $ENV{DATE} = gmctime()." GMT"; - our $originalDir = `cd`; - $originalDir =~ s/\n//g; - -##++ Assemble configuration from config file and command line: - - my $bOutputCleaned = 0; - -#while ($v = each %$OPT) {print "$v: $OPT->{$v}\n";} - - # Scan the configuration for switch definitions: - while (($sw, $val) = each %$odr) { - next if (! exists $val->{def}); ## ?? Should always exist. - - # Set/clear environment variables: - if ($val->{env}) { - if ($val->{def}) {$ENV{$sw} = (exists $val->{value}) ? $val->{value} : 1; } - else {delete $ENV{$sw}; } - } - - # If the switch is in the command line, override the stored value: - if (exists $OPT->{$sw}) { - if (exists $val->{value}) { - $val->{value} = $OPT->{$sw}; - $val->{def} = 1; - } - else { - $val->{def} = $OPT->{$sw}; ## If no, value will be zero. - } - } - # If the switch can be negated, test that, too: - if ( ! ($val->{def} =~ /A/)) { - local $nosw = "no".$sw; - if (exists $OPT->{$nosw}) { - $val->{def} = 0; - } - } - - # For any switch definition with fixed values ("options"), validate: - if (exists $val->{options}) { - local $bValid = 0; - # options can be like value1|syn1 value2|syn2|syn3 - foreach $option (split(/ /, $val->{options})) { - local $bFirst = 1; - local $sFirst; - foreach $opt (split(/\|/, $option)) { - # opt will be like value2, syn2, syn3 - if ($bFirst) { - $sFirst = $opt; ## Remember the full name of the option. - $bFirst = 0; - } - if ($val->{value} =~ /$opt/i) { - $val->{value} = $sFirst; ## Save the full name. - $bValid = 1; - } - } - } - if (! $bValid) { - print "Fatal -- invalid $sw value $val->{value}. Possible values are $val->{options}.\n"; - usage(); - die; - } - } - } - - # Set up convenience variables: - our $verbose = $odr->{verbose}->{def}; - our $vverbose = $odr->{vverbose}->{def}; - our $clean = $clean->{clean}->{def}; - local $src = $odr->{src}->{value}; - local $out = $odr->{out}->{value}; - - if ($clean && $odr->{package}->{def}) { - print "Info -- /clean forces /nopackage.\n"; - $odr->{package}->{def} = 0; - } - - if ($vverbose) {print "Debug -- Config: ".Dumper($config);} - - # Test the unix find command: - # List of directories where it might be: - my @find_dirs = ('c:\\cygwin\\bin', 'c:\\tools\\cygwin\\bin'); - if (exists $odr->{unixfind}->{value}) { ## Was an additional place to look specified? - push (@find_dirs, $odr->{unixfind}->{value}); - } - my $bFindFound = 0; - foreach my $dir (@find_dirs) { - if (-d $dir) { - local $savedPATH = $ENV{PATH}; - $ENV{PATH} = $dir.";".$savedPATH; - if (-e "a.tmp") {!system("rm a.tmp") or die "Fatal -- Couldn't clean temporary file a.tmp.";} - !system("find . -maxdepth 0 -name a.tmp > b.tmp 2>&1") or die "Fatal -- find test failed."; - local $filesize = -s "b.tmp"; - $ENV{PATH} = $savedPATH; - if ($filesize <= 0) { - $bFindFound = 1; - $odr->{unixfind}->{value} = $dir; - last; - } - } - } - if (! $bFindFound) { - print "Fatal -- unix find command not found in \n"; - map {print " $_ "} @find_dirs; - print "\n"; - die; - } - - # Don't allow /svntag and /svnbranch simultaneously: - if ( (length $odr->{svntag}->{value} > 0) && - (length $odr->{svnbranch}->{value} > 0) ) { - die "Fatal -- Can't specify both /SVNTAG and /SVNBRANCH."; - } - - # /logfile and /nolog interact: - if ($odr->{nolog}->{def}) {$odr->{logfile}->{def} = 0;} - -##-- Assemble configuration from config file and command line. - - local $rverb = $odr->{repository}->{value}; - if ( (($rverb =~ /checkout/) || ($rverb =~ /export/)) && $clean) { - print "Warning -- Because sources are being checked out, make clean will not be run.\n"; - $clean = $odr->{clean}->{def} = 0; - } - - my $wd = $src."\\pismere"; - - if (! ($rverb =~ /skip/)) { - local $len = 0; - if (exists $odr->{username}->{value}) { - $len = length $odr->{username}->{value}; - } - if ($len < 1) { - die "Fatal -- you won't get far accessing the repository without specifying a username."; - } - } - - # (------------------------------------------------) - if ( (-d $wd) && ( ($rverb =~ /export/) || ($rverb =~ /checkout/) ) ) { - print "\n\nHEADS UP!!\n\n"; - print "/REPOSITORY ".uc($rverb)." will cause everything under $wd to be deleted.\n"; - print "If this is not what you intended, here's your chance to bail out!\n\n\n"; - print "Are you sure you want to remove everything under $wd? "; - my $char = getc; - if (! ($char =~ /y/i)) {die "Info -- operation aborted by user."} - !system("rm -rf $wd/*") or die "Fatal -- Couldn't clean $wd."; - !system("rmdir $wd") or die "Fatal -- Couldn't remove $wd."; - } - -# Begin logging: - my $l; - if ($odr->{logfile}->{def}) { - print "Info -- logging to $odr->{logfile}->{value}.\n"; - $l = new Logger $odr->{logfile}->{value}; - $l->start; - $l->no_die_handler; ## Needed so XML::Simple won't throw exceptions. - } - - print "Executing $cmdline\n"; - local $argvsize = @ARGV; - if ($argvsize > 0) { - print "\nArguments for NMAKE: "; - map {print " $_ "} @ARGV; - print "\n"; - } - - print "Info -- Using unix find in $odr->{unixfind}->{value}\n" if ($verbose); - -##++ Begin repository action: - if ($rverb =~ /skip/) {print "Info -- *** Skipping repository access.\n" if ($verbose);} - else { - if ($verbose) {print "Info -- *** Begin fetching sources.\n";} - local $cvspath = "$src"; - if (! -d $cvspath) { ## xcopy will create the entire path for us. - !system("echo foo > a.tmp") or die "Fatal -- Couldn't create temporary file in ".`cd`; - !system("echo F | xcopy a.tmp $cvspath\\a.tmp") or die "Fatal -- Couldn't xcopy to $cvspath."; - !system("rm a.tmp") or die "Fatal -- Couldn't remove temporary file."; - !system("rm $cvspath\\a.tmp") or die "Fatal -- Couldn't remove temporary file."; - } - - # Set up cvs environment variables: - $ENV{CVSROOT} = $odr->{CVSROOT}->{value}; - local $krb5dir = "$wd\\athena\\auth\\krb5"; - - local $cvscmdroot = "cvs $rverb"; - if (length $odr->{cvstag}->{value} > 0) { - $cvscmdroot .= " -r $odr->{cvstag}->{value}"; - } - - if (($rverb =~ /checkout/) || ($rverb =~ /export/)) { - chdir($src) or die "Fatal -- couldn't chdir to $src\n"; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - my @cvsmodules = ( - 'krb', - 'pismere/athena/util/lib/delaydlls', - 'pismere/athena/util/lib/getopt', - 'pismere/athena/util/guiwrap' - ); - foreach my $module (@cvsmodules) { - local $cvscmd = $cvscmdroot." ".$module; - if ($verbose) {print "Info -- cvs command: $cvscmd\n";} - !system("$cvscmd") or die "Fatal -- command \"$cvscmd\" failed; return code $?\n"; - } - } - else { ## Update. - chdir($wd) or die "Fatal -- couldn't chdir to $wd\n"; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - if ($verbose) {print "Info -- cvs command: $cvscmdroot\n";} - !system($cvscmdroot) or die "Fatal -- command \"$cvscmdroot\" failed; return code $?\n"; - } - - # Set up svn environment variable: - $ENV{SVN_SSH} = "plink.exe"; - # If the directory structure doesn't exist, many cd commands will fail. - if (! -d $krb5dir) { ## xcopy will create the entire path for us. - !system("echo foo > a.tmp") or die "Fatal -- Couldn't create temporary file in ".`cd`; - !system("echo F | xcopy a.tmp $krb5dir\\a.tmp") or die "Fatal -- Couldn't xcopy to $krb5dir."; - !system("rm a.tmp") or die "Fatal -- Couldn't remove temporary file."; - !system("rm $krb5dir\\a.tmp") or die "Fatal -- Couldn't remove temporary file."; - } - - chdir($krb5dir) or die "Fatal -- Couldn't chdir to $krb5dir"; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - my $svncmd = "svn $rverb "; - if (($rverb =~ /checkout/) || ($rverb =~ /export/)) { # Append the rest of the checkout/export command: - chdir(".."); - if ($rverb =~ /export/) { - ## svn export will fail if the destination directory exists - rmdir "krb5"; - } - $svncmd .= "svn+ssh://".$odr->{username}->{value}."@".$odr->{SVNURL}->{value}."/krb5/"; - if (length $odr->{svntag}->{value} > 0) { - $svncmd .= "tags/$odr->{svntag}->{value}"; - } - elsif (length $odr->{svnbranch}->{value} > 0) { - $svncmd .= "branches/$odr->{svnbranch}->{value}"; - } - else { - $svncmd .= "trunk"; - } - - $svncmd .= " krb5"; - - } - if ($verbose) {print "Info -- svn command: $svncmd\n";} - !system($svncmd) or die "Fatal -- command \"$svncmd\" failed; return code $?\n"; - if ($verbose) {print "Info -- *** End fetching sources.\n";} - } -##-- End repository action. - - ##++ Read in the version information to be able to update the - # site-local files in the install build areas. - # ** Do this now (after repository update and before first zip) - # because making zip files requires some configuration data be set up. - local $version_path = $config->{Stages}->{Package}->{Config}->{Paths}->{Versions}->{path}; - open(DAT, "$src/$version_path") or die "Could not open $version_path."; - @raw = ; - close DAT; - foreach $line (@raw) { - chomp $line; - if ($line =~ /#define/) { # Process #define lines: - $line =~ s/#define//; # Remove #define token - $line =~ s/^\s+//; # and leading & trailing whitespace - $line =~ s/\s+$//; - local @qr = split("\"", $line); # Try splitting with quotes - if (exists $qr[1]) { - $qr[0] =~ s/^\s+//; # Clean up whitespace - $qr[0] =~ s/\s+$//; - $config->{Versions}->{$qr[0]} = $qr[1]; # Save string - } - else { # No quotes, so - local @ar = split(" ", $line); # split with space - $ar[0] =~ s/^\s+//; # Clean up whitespace - $ar[0] =~ s/\s+$//; - $config->{Versions}->{$ar[0]} = $ar[1]; # and save numeric value - } - } - } - - # Check that the versions we will need for site-local have been defined: - my @required_versions = ('VER_PROD_MAJOR', 'VER_PROD_MINOR', 'VER_PROD_REV', - 'VER_PROD_MAJOR_STR', 'VER_PROD_MINOR_STR', 'VER_PROD_REV_STR', - 'VER_PRODUCTNAME_STR'); - $requirements_met = 1; - $first_missing = 0; - $error_list = ""; - foreach my $required (@required_versions) { - if (! exists $config->{Versions}->{$required}) { - $requirements_met = 0; - if (!$first_missing) { - $first_missing = 1; - $error_list = "Fatal -- The following version(s) are not defined in $src/$version_path.\n"; - } - $error_list .= "$required\n"; - } - } - if (!$requirements_met) { - print $error_list; - exit(0); - } - - # Apply any of these tags to filestem: - my $filestem = $config->{Stages}->{PostPackage}->{Config}->{FileStem}->{name}; - $filestem =~ s/%VERSION_MAJOR%/$config->{Versions}->{'VER_PROD_MAJOR_STR'}/; - $filestem =~ s/%VERSION_MINOR%/$config->{Versions}->{'VER_PROD_MINOR_STR'}/; - $filestem =~ s/%VERSION_PATCH%/$config->{Versions}->{'VER_PROD_REV_STR'}/; - $config->{Stages}->{PostPackage}->{Config}->{FileStem}->{name} = $filestem; - ##-- Read in the version information & set config info. - -##++ Repository action, part 2: - if (($rverb =~ /checkout/) || ($rverb =~ /export/)) { - if (! $bOutputCleaned) { ## In case somebody cleaned $out before us. - if (-d $out) {!system("rm -rf $out/*") or die "Fatal -- Couldn't clean $out."} ## Clean output directory. - else {mkdir($out);} - $bOutputCleaned = 1; - } - zipXML($config->{Stages}->{FetchSources}, $config); ## Make zips. - } -##-- End repository action, part 2. - -##++ Make action: - if ( ($odr->{make}->{def}) ) { - if ($verbose) {print "Info -- *** Begin preparing for build.\n";} - - chdir("$wd") or die "Fatal -- couldn't chdir to $wd\n"; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - - my ($path, $destpath); - - # Copy athena\scripts\site\graft\krb5\Makefile.src to athena\auth\krb5: - $path = "scripts\\site\\graft\\krb5\\Makefile.src"; - if (!-e $path) {die "Fatal -- Expected file $wd\\$path not found.";} - $destpath = "athena\\auth\\krb5\\Makefile.src"; - !system("echo F | xcopy /D $wd\\$path $wd\\$destpath /Y > NUL") or die "Fatal -- Copy of $wd\\$path to $wd\\$destpath failed."; - print "Info -- copied $wd\\$path to $wd\\$destpath\n" if ($verbose);; - - # Add DEBUG_SYMBOL to .../wshelper/Makefile.src: - $path = "athena\\wshelper\\wshelper\\Makefile.src"; - if (!-e $path) {die "Fatal -- Expected file $wd\\$path not found.";} - if (system("grep DEBUG_SYMBOL $path > NUL") != 0) { - !system ("echo DEBUG_SYMBOL=1 >> $wd\\$path") or die "Fatal -- Append line to file failed.\n"; - print "Info -- Added DEBUG_SYMBOL to $wd\\$path\n" if ($verbose); - } - - # Prune any unwanted directories before the build: - pruneFiles($config->{Stages}->{Make}, $config); - - if ($verbose) {print "Info -- *** End preparing for build.\n";} - - my ($buildtarget, $buildtext); - if ($clean) { - $buildtarget = "clean" ; - $buildtext = " clean." - } - else { - $buildtarget = "" ; - $buildtext = "." - } - - chdir("$wd\\athena") or die "Fatal -- couldn't chdir to source directory $wd\\athena\n"; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - local $dbgswitch = ($odr->{debug}->{def}) ? " " : "NODEBUG=1"; - !system("perl ../scripts/build.pl --softdirs --nolog $buildtarget $dbgswitch BUILD_KFW=1 BUILD_OFFICIAL=1 DEBUG_SYMBOL=1") - or die "Fatal -- build $buildtarget failed."; - - chdir("$wd") or die "Fatal -- couldn't chdir to $wd."; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - if ($clean) { - if (-d "staging") { - !system("rm -rf staging") or die "Fatal -- Couldn't remove $wd\\staging."; - } - } - - if ($verbose) {print "Info -- *** End build".$buildtext."\n";} - } ## End make conditional. - else {print "Info -- *** Skipping build.\n" if ($verbose);} -##-- Make action. - -##++ Package action: - if (! $odr->{package}->{def}) { ## If /clean, nopackage will be set. - print "Info -- *** Skipping packaging.\n"; - if ((-d $out) && ! $bOutputCleaned) { - print "Warning -- *** Output directory $out will not be cleaned.\n"; - } - } - else { - if ($verbose) {print "Info -- *** Begin prepackage.\n";} - - if (! $bOutputCleaned) { ## In case somebody cleaned $out before us. - if (-d $out) {!system("rm -rf $out/*") or die "Fatal -- Couldn't clean $out."} ## Clean output directory. - else {mkdir($out);} - $bOutputCleaned = 1; - } - - # The build results are copied to a staging area, where the packager expects to find them. - # We put the staging area in the fixed area .../pismere/staging. - my $prepackage = $config->{Stages}->{PrePackage}; - my $staging = "$wd\\staging"; - chdir($wd) or die "Fatal -- couldn't chdir to $wd\n"; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - if (-d "staging") { - !system("rm -rf $staging/*") or die "Fatal -- Couldn't clean $staging."; - } - else { - mkdir($staging) or die "Fatal -- Couldn't create $staging."; - } - - # Force Where From and To are relative to: - $prepackage->{CopyList}->{Config}->{From}->{root} = "$wd\\athena"; - $prepackage->{CopyList}->{Config}->{To}->{root} = "$wd\\staging"; - copyFiles($prepackage->{CopyList}, $config); ## Copy any files [this step takes a while] - - # Sign files: - chdir($staging) or die "Fatal -- couldn't chdir to $staging\n"; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - if ($odr->{sign}->{def}) { - signFiles($config->{Stages}->{PostPackage}->{Config}->{Signing}, $config); - } - - # Create working directories for building the installers: - if (-d "$wd\\buildwix") {!system("rm -rf $wd\\buildwix/*") or die "Fatal -- Couldn't clean $wd\\buildwix."} - !system("echo D | xcopy /s $wd\\staging\\install\\wix\\*.* $wd\\buildwix") or die "Fatal -- Couldn't create $wd\\buildwix."; - if (-d "$wd\\buildnsi") {!system("rm -rf $wd\\buildnsi/*") or die "Fatal -- Couldn't clean $wd\\buildnsi."} - !system("echo D | xcopy /s $wd\\staging\\install\\nsis\\*.* $wd\\buildnsi") or die "Fatal -- Couldn't create $wd\\buildnsi."; - - chdir("$staging\\install\\wix") or die "Fatal -- Couldn't cd to $staging\\install\\wix"; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - # Correct errors in files.wxi: - !system("sed 's/WorkingDirectory=\"\\[dirbin\\]\"/WorkingDirectory=\"dirbin\"/g' files.wxi > a.tmp") or die "Fatal -- Couldn't modify files.wxi."; - !system("mv a.tmp files.wxi") or die "Fatal -- Couldn't update files.wxi."; - - # Make sed script to run on the site-local configuration files: - local $tmpfile = "site-local.sed" ; - if (-e $tmpfile) {system("del $tmpfile");} - # Basic substitutions: - local $dblback_wd = $wd; - $dblback_wd =~ s/\\/\\\\/g; - !system("echo s/%BUILDDIR%/$dblback_wd/ >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; - local $dblback_staging = "$wd\\staging"; - $dblback_staging =~ s/\\/\\\\/g; - !system("echo s/%TARGETDIR%/$dblback_staging/ >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; - local $dblback_sample = "$wd\\staging\\sample"; - $dblback_sample =~ s/\\/\\\\/g; - !system("echo s/%CONFIGDIR-WIX%/$dblback_sample/ >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; - !system("echo s/%CONFIGDIR-NSI%/$dblback_staging/ >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; - !system("echo s/%VERSION_MAJOR%/$config->{Versions}->{'VER_PROD_MAJOR_STR'}/ >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; - !system("echo s/%VERSION_MINOR%/$config->{Versions}->{'VER_PROD_MINOR_STR'}/ >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; - !system("echo s/%VERSION_PATCH%/$config->{Versions}->{'VER_PROD_REV_STR'}/ >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; - # Strip out some defines so they can be replaced: [used for site-local.nsi] - !system("echo /\^!define\.\*RELEASE\.\*\$/d >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; - !system("echo /\^!define\.\*DEBUG\.\*\$/d >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; - !system("echo /\^!define\.\*BETA\.\*\$/d >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; - - # Run the script on site-local.wxi: - !system("sed -f $tmpfile site-local-tagged.wxi > $wd\\buildwix\\site-local.wxi") or die "Fatal -- Couldn't modify site-local.wxi."; - - # Now update site-local.nsi: - chdir "..\\nsis"; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - !system("sed -f ..\\wix\\$tmpfile site-local-tagged.nsi > b.tmp") or die "Fatal -- Couldn't modify site-local.wxi."; - # Add DEBUG or RELEASE: - if ($odr->{debug}->{def}) { ## debug build - !system("echo !define DEBUG >> b.tmp") or die "Fatal -- Couldn't modify b.tmp."; - } - else { ## release build - !system("echo !define RELEASE >> b.tmp") or die "Fatal -- Couldn't modify b.tmp."; - } - # Add BETA if present: - if (exists $config->{Versions}->{'BETA_STR'}) { - !system("echo !define BETA $config->{Versions}->{'BETA_STR'} >> b.tmp") or die "Fatal -- Couldn't modify b.tmp."; - } - !system("mv -f b.tmp $wd\\buildnsi\\site-local.nsi") or die "Fatal -- Couldn't replace site-local.nsi."; - - # Run the script on nsi-includes-tagged.nsi: - !system("sed -f ..\\wix\\$tmpfile nsi-includes-tagged.nsi > $wd\\buildnsi\\nsi-includes.nsi") or die "Fatal -- Couldn't modify nsi-includes.nsi."; - !system("rm ..\\wix\\$tmpfile") or die "Fatal -- Couldn't remove $tmpfile."; - - if ($verbose) {print "Info -- *** End prepackage.\n";} - - if ($verbose) {print "Info -- *** Begin package.\n";} - # Make the msi: - chdir("$wd\\buildwix") or die "Fatal -- Couldn't cd to $wd\\buildwix"; - print "Info -- *** Make .msi:\n" if ($verbose); - print "Info -- chdir to ".`cd`."\n" if ($verbose); - !system("$MAKE") or die "Error -- msi installer build failed."; - - chdir("$wd\\buildnsi") or die "Fatal -- Couldn't cd to $wd\\buildnsi"; - print "Info -- *** Make NSIS:\n" if ($verbose); - print "Info -- chdir to ".`cd`."\n" if ($verbose); - !system("cl.exe killer.cpp advapi32.lib") or die "Error -- nsis killer.exe not built."; - !system("rename killer.exe Killer.exe") or die "Error -- Couldn't rename killer.exe"; - !system("makensis kfw.nsi") or die "Error -- executable installer build failed."; - -# Begin packaging extra items: - chdir($wd) or die "Fatal -- Couldn't cd to $wd"; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - - zipXML($config->{Stages}->{PostPackage}, $config); ## Make zips. - - $config->{Stages}->{PostPackage}->{CopyList}->{Config} = $config->{Stages}->{PostPackage}->{Config}; ## Use the post package config. - $config->{Stages}->{PostPackage}->{CopyList}->{Config}->{From}->{root} = "$src\\pismere"; - $config->{Stages}->{PostPackage}->{CopyList}->{Config}->{To}->{root} = $out; - copyFiles($config->{Stages}->{PostPackage}->{CopyList}, $config); ## Copy any files - - !system("rm -rf $wd\\buildwix") or die "Fatal -- Couldn't remove $wd\\buildwix."; - !system("rm -rf $wd\\buildnsi") or die "Fatal -- Couldn't remove $wd\\buildnsi."; - - chdir($out) or die "Fatal -- Couldn't cd to $out"; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - if ($odr->{sign}->{def}) { - signFiles($config->{Stages}->{PostPackage}->{Config}->{Signing}, $config); - } - - if ($verbose) {print "Info -- *** End package.\n";} - } -##-- Package action. - - system("rm -rf $src/a.tmp"); ## Clean up junk. - system("rm -rf $out/a.tmp"); ## Clean up junk. - system("rm -rf $out/ziptemp"); ## Clean up junk. - -# End logging: - if ($odr->{logfile}->{def}) {$l->stop;} - - return 0; - } ## End subroutine main. - -$SIG{'INT'} = \&handler; -$SIG{'QUIT'} = \&handler; - +#!perl -w + +#use strict; +use FindBin; +use File::Spec; +use File::Basename; +use lib "$FindBin::Bin/build/lib"; +use Getopt::Long; +use Cwd; +use XML::Simple; +use Data::Dumper; +use Archive::Zip; +use Logger; +require "copyfiles.pl"; +require "prunefiles.pl"; +require "signfiles.pl"; +require "zipXML.pl"; + +my $BAIL; +$0 = fileparse($0); +my $OPT = {foo => 'bar'}; +my $MAKE = 'NMAKE'; +our $config; + +sub get_info { + my $cmd = shift || die; + my $which = $^X.' which.pl'; + my $full = `$which $cmd`; + return 0 if ($? / 256); + chomp($full); + $full = "\"".$full."\""; + return { cmd => $cmd, full => $full}; + } + +sub usage { + print < in cvs command + /svnbranch /b tag use /branches/ instead of /trunk. + /svntag /t tag use /tags/ instead of /trunk. + /debug /d Do debug make instead of release make. + /[no]make Control the make step. + /clean Build clean target. + /[no]package Control the packaging step. + /[no]sign Control signing of executable files. + /verbose /v Debug mode - verbose output. + /logfile /l path Where to write output. Default is bkw.pl.log. + /nolog Don't save output. + Other: + NMAKE-options any options you want to pass to NMAKE, which can be: + (note: /nologo is always used) + +USAGE + system("$MAKE /?"); + } + +sub handler { + my $sig = shift; + my $bailmsg = "Bailing out due to SIG$sig!\n"; + my $warnmsg = <{config}) {$OPT->{config} = "bkwconfig.xml";} + my $configfile = $OPT->{config}; + print "Info -- Reading configuration from $configfile.\n"; + my $xml = new XML::Simple(); + $config = $xml->XMLin($configfile); ## Read in configuration file. + + # Set up convenience variables: + local $odr = $config->{Config}; ## Options, directories, repository, environment. + + # Build argument description from Config section of the XML, + # to parse the rest of the arguments: + local @xmlargs; + while (($sw, $val) = each %$odr) { + local $arg = $sw; + if (exists $val->{abbr}) {$arg .= "|$val->{abbr}";} + if (exists $val->{value}) { ## Can't do both negations and string values. + $arg .= ":s"; + } + else { + if (! ($val->{def} =~ /A/)) {$arg .= "!";} + } + push @xmlargs, $arg; + } + + if (!GetOptions($OPT, @xmlargs)) {$OPT->{help} = 1;} + + if ( $OPT->{help} ) { + usage(); + exit(0); + } + + delete $OPT->{foo}; + +##++ Validate required conditions: + + # List of programs which must be in PATH: + my @required_list = ('sed', 'awk', 'which', 'cat', 'rm', 'cvs', 'svn', 'doxygen', + 'hhc', 'candle', 'light', 'makensis', 'nmake', 'plink', 'filever'); + my $requirements_met = 1; + my $first_missing = 0; + my $error_list = ""; + foreach my $required (@required_list) { + if (!get_info($required)) { + $requirements_met = 0; + if (!$first_missing) { + $first_missing = 1; + $error_list = "Fatal -- Environment problem! The following program(s) are not in PATH:\n"; + } + $error_list .= "$required\n"; + } + } + if (!$requirements_met) { + print $error_list; + print "Info -- Update PATH or install the programs and try again.\n"; + exit(0); + } + +##-- Validate required conditions. + + use Time::gmtime; + $ENV{DATE} = gmctime()." GMT"; + our $originalDir = `cd`; + $originalDir =~ s/\n//g; + +##++ Assemble configuration from config file and command line: + + my $bOutputCleaned = 0; + +#while ($v = each %$OPT) {print "$v: $OPT->{$v}\n";} + + # Scan the configuration for switch definitions: + while (($sw, $val) = each %$odr) { + next if (! exists $val->{def}); ## ?? Should always exist. + + # Set/clear environment variables: + if ($val->{env}) { + if ($val->{def}) {$ENV{$sw} = (exists $val->{value}) ? $val->{value} : 1; } + else {delete $ENV{$sw}; } + } + + # If the switch is in the command line, override the stored value: + if (exists $OPT->{$sw}) { + if (exists $val->{value}) { + $val->{value} = $OPT->{$sw}; + $val->{def} = 1; + } + else { + $val->{def} = $OPT->{$sw}; ## If no, value will be zero. + } + } + # If the switch can be negated, test that, too: + if ( ! ($val->{def} =~ /A/)) { + local $nosw = "no".$sw; + if (exists $OPT->{$nosw}) { + $val->{def} = 0; + } + } + + # For any switch definition with fixed values ("options"), validate: + if (exists $val->{options}) { + local $bValid = 0; + # options can be like value1|syn1 value2|syn2|syn3 + foreach $option (split(/ /, $val->{options})) { + local $bFirst = 1; + local $sFirst; + foreach $opt (split(/\|/, $option)) { + # opt will be like value2, syn2, syn3 + if ($bFirst) { + $sFirst = $opt; ## Remember the full name of the option. + $bFirst = 0; + } + if ($val->{value} =~ /$opt/i) { + $val->{value} = $sFirst; ## Save the full name. + $bValid = 1; + } + } + } + if (! $bValid) { + print "Fatal -- invalid $sw value $val->{value}. Possible values are $val->{options}.\n"; + usage(); + die; + } + } + } + + # Set up convenience variables: + our $verbose = $odr->{verbose}->{def}; + our $vverbose = $odr->{vverbose}->{def}; + our $clean = $clean->{clean}->{def}; + local $src = $odr->{src}->{value}; + local $out = $odr->{out}->{value}; + + if ($clean && $odr->{package}->{def}) { + print "Info -- /clean forces /nopackage.\n"; + $odr->{package}->{def} = 0; + } + + if ($vverbose) {print "Debug -- Config: ".Dumper($config);} + + # Test the unix find command: + # List of directories where it might be: + my @find_dirs = ('c:\\cygwin\\bin', 'c:\\tools\\cygwin\\bin'); + if (exists $odr->{unixfind}->{value}) { ## Was an additional place to look specified? + push (@find_dirs, $odr->{unixfind}->{value}); + } + my $bFindFound = 0; + foreach my $dir (@find_dirs) { + if (-d $dir) { + local $savedPATH = $ENV{PATH}; + $ENV{PATH} = $dir.";".$savedPATH; + if (-e "a.tmp") {!system("rm a.tmp") or die "Fatal -- Couldn't clean temporary file a.tmp.";} + !system("find . -maxdepth 0 -name a.tmp > b.tmp 2>&1") or die "Fatal -- find test failed."; + local $filesize = -s "b.tmp"; + $ENV{PATH} = $savedPATH; + if ($filesize <= 0) { + $bFindFound = 1; + $odr->{unixfind}->{value} = $dir; + last; + } + } + } + if (! $bFindFound) { + print "Fatal -- unix find command not found in \n"; + map {print " $_ "} @find_dirs; + print "\n"; + die; + } + + # Don't allow /svntag and /svnbranch simultaneously: + if ( (length $odr->{svntag}->{value} > 0) && + (length $odr->{svnbranch}->{value} > 0) ) { + die "Fatal -- Can't specify both /SVNTAG and /SVNBRANCH."; + } + + # /logfile and /nolog interact: + if ($odr->{nolog}->{def}) {$odr->{logfile}->{def} = 0;} + +##-- Assemble configuration from config file and command line. + + local $rverb = $odr->{repository}->{value}; + if ( (($rverb =~ /checkout/) || ($rverb =~ /export/)) && $clean) { + print "Warning -- Because sources are being checked out, make clean will not be run.\n"; + $clean = $odr->{clean}->{def} = 0; + } + + my $wd = $src."\\pismere"; + + if (! ($rverb =~ /skip/)) { + local $len = 0; + if (exists $odr->{username}->{value}) { + $len = length $odr->{username}->{value}; + } + if ($len < 1) { + die "Fatal -- you won't get far accessing the repository without specifying a username."; + } + } + + # (------------------------------------------------) + if ( (-d $wd) && ( ($rverb =~ /export/) || ($rverb =~ /checkout/) ) ) { + print "\n\nHEADS UP!!\n\n"; + print "/REPOSITORY ".uc($rverb)." will cause everything under $wd to be deleted.\n"; + print "If this is not what you intended, here's your chance to bail out!\n\n\n"; + print "Are you sure you want to remove everything under $wd? "; + my $char = getc; + if (! ($char =~ /y/i)) {die "Info -- operation aborted by user."} + !system("rm -rf $wd/*") or die "Fatal -- Couldn't clean $wd."; + !system("rmdir $wd") or die "Fatal -- Couldn't remove $wd."; + } + +# Begin logging: + my $l; + if ($odr->{logfile}->{def}) { + print "Info -- logging to $odr->{logfile}->{value}.\n"; + $l = new Logger $odr->{logfile}->{value}; + $l->start; + $l->no_die_handler; ## Needed so XML::Simple won't throw exceptions. + } + + print "Executing $cmdline\n"; + local $argvsize = @ARGV; + if ($argvsize > 0) { + print "\nArguments for NMAKE: "; + map {print " $_ "} @ARGV; + print "\n"; + } + + print "Info -- Using unix find in $odr->{unixfind}->{value}\n" if ($verbose); + +##++ Begin repository action: + if ($rverb =~ /skip/) {print "Info -- *** Skipping repository access.\n" if ($verbose);} + else { + if ($verbose) {print "Info -- *** Begin fetching sources.\n";} + local $cvspath = "$src"; + if (! -d $cvspath) { ## xcopy will create the entire path for us. + !system("echo foo > a.tmp") or die "Fatal -- Couldn't create temporary file in ".`cd`; + !system("echo F | xcopy a.tmp $cvspath\\a.tmp") or die "Fatal -- Couldn't xcopy to $cvspath."; + !system("rm a.tmp") or die "Fatal -- Couldn't remove temporary file."; + !system("rm $cvspath\\a.tmp") or die "Fatal -- Couldn't remove temporary file."; + } + + # Set up cvs environment variables: + $ENV{CVSROOT} = $odr->{CVSROOT}->{value}; + local $krb5dir = "$wd\\athena\\auth\\krb5"; + + local $cvscmdroot = "cvs $rverb"; + if (length $odr->{cvstag}->{value} > 0) { + $cvscmdroot .= " -r $odr->{cvstag}->{value}"; + } + + if (($rverb =~ /checkout/) || ($rverb =~ /export/)) { + chdir($src) or die "Fatal -- couldn't chdir to $src\n"; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + my @cvsmodules = ( + 'krb', + 'pismere/athena/util/lib/delaydlls', + 'pismere/athena/util/lib/getopt', + 'pismere/athena/util/guiwrap' + ); + foreach my $module (@cvsmodules) { + local $cvscmd = $cvscmdroot." ".$module; + if ($verbose) {print "Info -- cvs command: $cvscmd\n";} + !system("$cvscmd") or die "Fatal -- command \"$cvscmd\" failed; return code $?\n"; + } + } + else { ## Update. + chdir($wd) or die "Fatal -- couldn't chdir to $wd\n"; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + if ($verbose) {print "Info -- cvs command: $cvscmdroot\n";} + !system($cvscmdroot) or die "Fatal -- command \"$cvscmdroot\" failed; return code $?\n"; + } + + # Set up svn environment variable: + $ENV{SVN_SSH} = "plink.exe"; + # If the directory structure doesn't exist, many cd commands will fail. + if (! -d $krb5dir) { ## xcopy will create the entire path for us. + !system("echo foo > a.tmp") or die "Fatal -- Couldn't create temporary file in ".`cd`; + !system("echo F | xcopy a.tmp $krb5dir\\a.tmp") or die "Fatal -- Couldn't xcopy to $krb5dir."; + !system("rm a.tmp") or die "Fatal -- Couldn't remove temporary file."; + !system("rm $krb5dir\\a.tmp") or die "Fatal -- Couldn't remove temporary file."; + } + + chdir($krb5dir) or die "Fatal -- Couldn't chdir to $krb5dir"; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + my $svncmd = "svn $rverb "; + if (($rverb =~ /checkout/) || ($rverb =~ /export/)) { # Append the rest of the checkout/export command: + chdir(".."); + if ($rverb =~ /export/) { + ## svn export will fail if the destination directory exists + rmdir "krb5"; + } + $svncmd .= "svn+ssh://".$odr->{username}->{value}."@".$odr->{SVNURL}->{value}."/krb5/"; + if (length $odr->{svntag}->{value} > 0) { + $svncmd .= "tags/$odr->{svntag}->{value}"; + } + elsif (length $odr->{svnbranch}->{value} > 0) { + $svncmd .= "branches/$odr->{svnbranch}->{value}"; + } + else { + $svncmd .= "trunk"; + } + + $svncmd .= " krb5"; + + } + if ($verbose) {print "Info -- svn command: $svncmd\n";} + !system($svncmd) or die "Fatal -- command \"$svncmd\" failed; return code $?\n"; + if ($verbose) {print "Info -- *** End fetching sources.\n";} + } +##-- End repository action. + + ##++ Read in the version information to be able to update the + # site-local files in the install build areas. + # ** Do this now (after repository update and before first zip) + # because making zip files requires some configuration data be set up. + local $version_path = $config->{Stages}->{Package}->{Config}->{Paths}->{Versions}->{path}; + open(DAT, "$src/$version_path") or die "Could not open $version_path."; + @raw = ; + close DAT; + foreach $line (@raw) { + chomp $line; + if ($line =~ /#define/) { # Process #define lines: + $line =~ s/#define//; # Remove #define token + $line =~ s/^\s+//; # and leading & trailing whitespace + $line =~ s/\s+$//; + local @qr = split("\"", $line); # Try splitting with quotes + if (exists $qr[1]) { + $qr[0] =~ s/^\s+//; # Clean up whitespace + $qr[0] =~ s/\s+$//; + $config->{Versions}->{$qr[0]} = $qr[1]; # Save string + } + else { # No quotes, so + local @ar = split(" ", $line); # split with space + $ar[0] =~ s/^\s+//; # Clean up whitespace + $ar[0] =~ s/\s+$//; + $config->{Versions}->{$ar[0]} = $ar[1]; # and save numeric value + } + } + } + + # Check that the versions we will need for site-local have been defined: + my @required_versions = ('VER_PROD_MAJOR', 'VER_PROD_MINOR', 'VER_PROD_REV', + 'VER_PROD_MAJOR_STR', 'VER_PROD_MINOR_STR', 'VER_PROD_REV_STR', + 'VER_PRODUCTNAME_STR'); + $requirements_met = 1; + $first_missing = 0; + $error_list = ""; + foreach my $required (@required_versions) { + if (! exists $config->{Versions}->{$required}) { + $requirements_met = 0; + if (!$first_missing) { + $first_missing = 1; + $error_list = "Fatal -- The following version(s) are not defined in $src/$version_path.\n"; + } + $error_list .= "$required\n"; + } + } + if (!$requirements_met) { + print $error_list; + exit(0); + } + + # Apply any of these tags to filestem: + my $filestem = $config->{Stages}->{PostPackage}->{Config}->{FileStem}->{name}; + $filestem =~ s/%VERSION_MAJOR%/$config->{Versions}->{'VER_PROD_MAJOR_STR'}/; + $filestem =~ s/%VERSION_MINOR%/$config->{Versions}->{'VER_PROD_MINOR_STR'}/; + $filestem =~ s/%VERSION_PATCH%/$config->{Versions}->{'VER_PROD_REV_STR'}/; + $config->{Stages}->{PostPackage}->{Config}->{FileStem}->{name} = $filestem; + ##-- Read in the version information & set config info. + +##++ Repository action, part 2: + if (($rverb =~ /checkout/) || ($rverb =~ /export/)) { + if (! $bOutputCleaned) { ## In case somebody cleaned $out before us. + if (-d $out) {!system("rm -rf $out/*") or die "Fatal -- Couldn't clean $out."} ## Clean output directory. + else {mkdir($out);} + $bOutputCleaned = 1; + } + zipXML($config->{Stages}->{FetchSources}, $config); ## Make zips. + } +##-- End repository action, part 2. + +##++ Make action: + if ( ($odr->{make}->{def}) ) { + if ($verbose) {print "Info -- *** Begin preparing for build.\n";} + + chdir("$wd") or die "Fatal -- couldn't chdir to $wd\n"; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + + my ($path, $destpath); + + # Copy athena\scripts\site\graft\krb5\Makefile.src to athena\auth\krb5: + $path = "scripts\\site\\graft\\krb5\\Makefile.src"; + if (!-e $path) {die "Fatal -- Expected file $wd\\$path not found.";} + $destpath = "athena\\auth\\krb5\\Makefile.src"; + !system("echo F | xcopy /D $wd\\$path $wd\\$destpath /Y > NUL") or die "Fatal -- Copy of $wd\\$path to $wd\\$destpath failed."; + print "Info -- copied $wd\\$path to $wd\\$destpath\n" if ($verbose);; + + # Add DEBUG_SYMBOL to .../wshelper/Makefile.src: + $path = "athena\\wshelper\\wshelper\\Makefile.src"; + if (!-e $path) {die "Fatal -- Expected file $wd\\$path not found.";} + if (system("grep DEBUG_SYMBOL $path > NUL") != 0) { + !system ("echo DEBUG_SYMBOL=1 >> $wd\\$path") or die "Fatal -- Append line to file failed.\n"; + print "Info -- Added DEBUG_SYMBOL to $wd\\$path\n" if ($verbose); + } + + # Prune any unwanted directories before the build: + pruneFiles($config->{Stages}->{Make}, $config); + + if ($verbose) {print "Info -- *** End preparing for build.\n";} + + my ($buildtarget, $buildtext); + if ($clean) { + $buildtarget = "clean" ; + $buildtext = " clean." + } + else { + $buildtarget = "" ; + $buildtext = "." + } + + chdir("$wd\\athena") or die "Fatal -- couldn't chdir to source directory $wd\\athena\n"; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + local $dbgswitch = ($odr->{debug}->{def}) ? " " : "NODEBUG=1"; + !system("perl ../scripts/build.pl --softdirs --nolog $buildtarget $dbgswitch BUILD_KFW=1 BUILD_OFFICIAL=1 DEBUG_SYMBOL=1") + or die "Fatal -- build $buildtarget failed."; + + chdir("$wd") or die "Fatal -- couldn't chdir to $wd."; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + if ($clean) { + if (-d "staging") { + !system("rm -rf staging") or die "Fatal -- Couldn't remove $wd\\staging."; + } + } + + if ($verbose) {print "Info -- *** End build".$buildtext."\n";} + } ## End make conditional. + else {print "Info -- *** Skipping build.\n" if ($verbose);} +##-- Make action. + +##++ Package action: + if (! $odr->{package}->{def}) { ## If /clean, nopackage will be set. + print "Info -- *** Skipping packaging.\n"; + if ((-d $out) && ! $bOutputCleaned) { + print "Warning -- *** Output directory $out will not be cleaned.\n"; + } + } + else { + if ($verbose) {print "Info -- *** Begin prepackage.\n";} + + if (! $bOutputCleaned) { ## In case somebody cleaned $out before us. + if (-d $out) {!system("rm -rf $out/*") or die "Fatal -- Couldn't clean $out."} ## Clean output directory. + else {mkdir($out);} + $bOutputCleaned = 1; + } + + # The build results are copied to a staging area, where the packager expects to find them. + # We put the staging area in the fixed area .../pismere/staging. + my $prepackage = $config->{Stages}->{PrePackage}; + my $staging = "$wd\\staging"; + chdir($wd) or die "Fatal -- couldn't chdir to $wd\n"; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + if (-d "staging") { + !system("rm -rf $staging/*") or die "Fatal -- Couldn't clean $staging."; + } + else { + mkdir($staging) or die "Fatal -- Couldn't create $staging."; + } + + # Force Where From and To are relative to: + $prepackage->{CopyList}->{Config}->{From}->{root} = "$wd\\athena"; + $prepackage->{CopyList}->{Config}->{To}->{root} = "$wd\\staging"; + copyFiles($prepackage->{CopyList}, $config); ## Copy any files [this step takes a while] + + # Sign files: + chdir($staging) or die "Fatal -- couldn't chdir to $staging\n"; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + if ($odr->{sign}->{def}) { + signFiles($config->{Stages}->{PostPackage}->{Config}->{Signing}, $config); + } + + # Create working directories for building the installers: + if (-d "$wd\\buildwix") {!system("rm -rf $wd\\buildwix/*") or die "Fatal -- Couldn't clean $wd\\buildwix."} + !system("echo D | xcopy /s $wd\\staging\\install\\wix\\*.* $wd\\buildwix") or die "Fatal -- Couldn't create $wd\\buildwix."; + if (-d "$wd\\buildnsi") {!system("rm -rf $wd\\buildnsi/*") or die "Fatal -- Couldn't clean $wd\\buildnsi."} + !system("echo D | xcopy /s $wd\\staging\\install\\nsis\\*.* $wd\\buildnsi") or die "Fatal -- Couldn't create $wd\\buildnsi."; + + chdir("$staging\\install\\wix") or die "Fatal -- Couldn't cd to $staging\\install\\wix"; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + # Correct errors in files.wxi: + !system("sed 's/WorkingDirectory=\"\\[dirbin\\]\"/WorkingDirectory=\"dirbin\"/g' files.wxi > a.tmp") or die "Fatal -- Couldn't modify files.wxi."; + !system("mv a.tmp files.wxi") or die "Fatal -- Couldn't update files.wxi."; + + # Make sed script to run on the site-local configuration files: + local $tmpfile = "site-local.sed" ; + if (-e $tmpfile) {system("del $tmpfile");} + # Basic substitutions: + local $dblback_wd = $wd; + $dblback_wd =~ s/\\/\\\\/g; + !system("echo s/%BUILDDIR%/$dblback_wd/ >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; + local $dblback_staging = "$wd\\staging"; + $dblback_staging =~ s/\\/\\\\/g; + !system("echo s/%TARGETDIR%/$dblback_staging/ >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; + local $dblback_sample = "$wd\\staging\\sample"; + $dblback_sample =~ s/\\/\\\\/g; + !system("echo s/%CONFIGDIR-WIX%/$dblback_sample/ >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; + !system("echo s/%CONFIGDIR-NSI%/$dblback_staging/ >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; + !system("echo s/%VERSION_MAJOR%/$config->{Versions}->{'VER_PROD_MAJOR_STR'}/ >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; + !system("echo s/%VERSION_MINOR%/$config->{Versions}->{'VER_PROD_MINOR_STR'}/ >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; + !system("echo s/%VERSION_PATCH%/$config->{Versions}->{'VER_PROD_REV_STR'}/ >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; + # Strip out some defines so they can be replaced: [used for site-local.nsi] + !system("echo /\^!define\.\*RELEASE\.\*\$/d >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; + !system("echo /\^!define\.\*DEBUG\.\*\$/d >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; + !system("echo /\^!define\.\*BETA\.\*\$/d >> $tmpfile") or die "Fatal -- Couldn't modify $tmpfile."; + + # Run the script on site-local.wxi: + !system("sed -f $tmpfile site-local-tagged.wxi > $wd\\buildwix\\site-local.wxi") or die "Fatal -- Couldn't modify site-local.wxi."; + + # Now update site-local.nsi: + chdir "..\\nsis"; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + !system("sed -f ..\\wix\\$tmpfile site-local-tagged.nsi > b.tmp") or die "Fatal -- Couldn't modify site-local.wxi."; + # Add DEBUG or RELEASE: + if ($odr->{debug}->{def}) { ## debug build + !system("echo !define DEBUG >> b.tmp") or die "Fatal -- Couldn't modify b.tmp."; + } + else { ## release build + !system("echo !define RELEASE >> b.tmp") or die "Fatal -- Couldn't modify b.tmp."; + } + # Add BETA if present: + if (exists $config->{Versions}->{'BETA_STR'}) { + !system("echo !define BETA $config->{Versions}->{'BETA_STR'} >> b.tmp") or die "Fatal -- Couldn't modify b.tmp."; + } + !system("mv -f b.tmp $wd\\buildnsi\\site-local.nsi") or die "Fatal -- Couldn't replace site-local.nsi."; + + # Run the script on nsi-includes-tagged.nsi: + !system("sed -f ..\\wix\\$tmpfile nsi-includes-tagged.nsi > $wd\\buildnsi\\nsi-includes.nsi") or die "Fatal -- Couldn't modify nsi-includes.nsi."; + !system("rm ..\\wix\\$tmpfile") or die "Fatal -- Couldn't remove $tmpfile."; + + if ($verbose) {print "Info -- *** End prepackage.\n";} + + if ($verbose) {print "Info -- *** Begin package.\n";} + # Make the msi: + chdir("$wd\\buildwix") or die "Fatal -- Couldn't cd to $wd\\buildwix"; + print "Info -- *** Make .msi:\n" if ($verbose); + print "Info -- chdir to ".`cd`."\n" if ($verbose); + !system("$MAKE") or die "Error -- msi installer build failed."; + + chdir("$wd\\buildnsi") or die "Fatal -- Couldn't cd to $wd\\buildnsi"; + print "Info -- *** Make NSIS:\n" if ($verbose); + print "Info -- chdir to ".`cd`."\n" if ($verbose); + !system("cl.exe killer.cpp advapi32.lib") or die "Error -- nsis killer.exe not built."; + !system("rename killer.exe Killer.exe") or die "Error -- Couldn't rename killer.exe"; + !system("makensis kfw.nsi") or die "Error -- executable installer build failed."; + +# Begin packaging extra items: + chdir($wd) or die "Fatal -- Couldn't cd to $wd"; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + + zipXML($config->{Stages}->{PostPackage}, $config); ## Make zips. + + $config->{Stages}->{PostPackage}->{CopyList}->{Config} = $config->{Stages}->{PostPackage}->{Config}; ## Use the post package config. + $config->{Stages}->{PostPackage}->{CopyList}->{Config}->{From}->{root} = "$src\\pismere"; + $config->{Stages}->{PostPackage}->{CopyList}->{Config}->{To}->{root} = $out; + copyFiles($config->{Stages}->{PostPackage}->{CopyList}, $config); ## Copy any files + + !system("rm -rf $wd\\buildwix") or die "Fatal -- Couldn't remove $wd\\buildwix."; + !system("rm -rf $wd\\buildnsi") or die "Fatal -- Couldn't remove $wd\\buildnsi."; + + chdir($out) or die "Fatal -- Couldn't cd to $out"; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + if ($odr->{sign}->{def}) { + signFiles($config->{Stages}->{PostPackage}->{Config}->{Signing}, $config); + } + + if ($verbose) {print "Info -- *** End package.\n";} + } +##-- Package action. + + system("rm -rf $src/a.tmp"); ## Clean up junk. + system("rm -rf $out/a.tmp"); ## Clean up junk. + system("rm -rf $out/ziptemp"); ## Clean up junk. + +# End logging: + if ($odr->{logfile}->{def}) {$l->stop;} + + return 0; + } ## End subroutine main. + +$SIG{'INT'} = \&handler; +$SIG{'QUIT'} = \&handler; + exit(main()); \ No newline at end of file diff --git a/src/windows/build/bootstrap.xml b/src/windows/build/bootstrap.xml index d0767b071..7cff6f53f 100644 --- a/src/windows/build/bootstrap.xml +++ b/src/windows/build/bootstrap.xml @@ -1,19 +1,19 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/windows/build/commandandcontrol.pl b/src/windows/build/commandandcontrol.pl index 53f84072c..305b96603 100644 --- a/src/windows/build/commandandcontrol.pl +++ b/src/windows/build/commandandcontrol.pl @@ -1,170 +1,170 @@ -#!perl -w - -#use strict; - -sub commandandcontrol { - local ($configdefault, $bIgnoreCmdlineConfig) = @_; - local $OPT = {foo => 'bar'}; - - Getopt::Long::Configure('no_bundling', 'no_auto_abbrev', - 'no_getopt_compat', 'require_order', - 'ignore_case', 'pass_through', - 'prefix_pattern=(--|-|\+|\/)' - ); - GetOptions($OPT, - 'help|h|?', - 'cvstag|c:s', - 'svntag|s:s', - 'svnbranch|b:s', - 'src|r:s', - 'out|o:s', - 'debug|d', - 'nodebug', - 'config|f=s', - 'logfile|l:s', - 'nolog', - 'repository:s', - 'username|u:s', - 'verbose|v', - 'vverbose', - 'make!', - 'clean', - 'package!', - 'sign!', - ); - - if ( $OPT->{help} ) { - usage(); - exit(0); - } - - delete $OPT->{foo}; - - local $argvsize = @ARGV; - if ($argvsize > 0) { - print "Error -- invalid argument: $ARGV[0]\n"; - usage(); - die; - } - # The first time C&C is called, it is OK to override the default (./bkwconfig.xml) - # with a value from the command line. - # The second time C&C is called, the repository has been updated and C&C will be passed - # /pismere/athena/auth/krb5/windows/build/bkwconfig.xml. That value MUST be used. - if ($bIgnoreCmdlineConfig) {$OPT->{config} = $configdefault;} - elsif (! exists $OPT->{config}) {$OPT->{config} = $configdefault;} - - my $configfile = $OPT->{config}; - my $bOutputCleaned = 0; - - print "Info -- Reading configuration from $configfile.\n"; - - # Get configuration file: - local $xml = new XML::Simple(); - my $config = $xml->XMLin($configfile); - # Set up convenience variables: - local $odr = $config->{Config}; ## Options, directories, repository, environment. - -#while ($v = each %$OPT) {print "$v: $OPT->{$v}\n";} - - # Scan the configuration for switch definitions: - while (($sw, $val) = each %$odr) { - next if (! exists $val->{def}); ## ?? Should always exist. - - # Set/clear environment variables: - if ($val->{env}) { - if ($val->{def}) {$ENV{$sw} = (exists $val->{value}) ? $val->{value} : 1; } - else {delete $ENV{$sw}; } - } - - # If the switch is in the command line, override the stored value: - if (exists $OPT->{$sw}) { - if (exists $val->{value}) { - $val->{value} = $OPT->{$sw}; - $val->{def} = 1; - } - else { - $val->{def} = $OPT->{$sw}; ## If no, value will be zero. - } - } - # If the switch can be negated, test that, too: - if ( ! ($val->{def} =~ /A/)) { - local $nosw = "no".$sw; - if (exists $OPT->{$nosw}) { - $val->{def} = 0; - } - } - - # For any switch definition with fixed values ("options"), validate: - if (exists $val->{options}) { - local $bValid = 0; - # options can be like value1|syn1 value2|syn2|syn3 - foreach $option (split(/ /, $val->{options})) { - local $bFirst = 1; - local $sFirst; - foreach $opt (split(/\|/, $option)) { - # opt will be like value2, syn2, syn3 - if ($bFirst) { - $sFirst = $opt; ## Remember the full name of the option. - $bFirst = 0; - } - if ($val->{value} =~ /$opt/i) { - $val->{value} = $sFirst; ## Save the full name. - $bValid = 1; - } - } - } - if (! $bValid) { - print "Fatal -- invalid $sw value $val->{value}. Possible values are $val->{options}.\n"; - usage(); - die; - } - } - } - - # Don't allow /svntag and /svnbranch simultaneously: - if ( (length $odr->{svntag}->{value} > 0) && - (length $odr->{svnbranch}->{value} > 0) ) { - die "Fatal -- Can't specify both /SVNTAG and /SVNBRANCH."; - } - - return $config; - } - - -sub usage { - print < in cvs command - /svnbranch /b tag use /branches/ instead of /trunk. - /svntag /s tag use /tags/ instead of /trunk. - /debug /d Do debug make instead of release make. - /[no]make Control the make step. - /clean Build clean target. - /[no]package Control the packaging step. - /[no]sign Control signing of executable files. - /verbose /v Debug mode - verbose output. - /logfile /l path Where to write output. Default is bkw.pl.log. - /nolog Don't save output. - Other: - NMAKE-options any options you want to pass to NMAKE, which can be: - (note: /nologo is always used) - -USAGE - system("$MAKE /?"); - } - +#!perl -w + +#use strict; + +sub commandandcontrol { + local ($configdefault, $bIgnoreCmdlineConfig) = @_; + local $OPT = {foo => 'bar'}; + + Getopt::Long::Configure('no_bundling', 'no_auto_abbrev', + 'no_getopt_compat', 'require_order', + 'ignore_case', 'pass_through', + 'prefix_pattern=(--|-|\+|\/)' + ); + GetOptions($OPT, + 'help|h|?', + 'cvstag|c:s', + 'svntag|s:s', + 'svnbranch|b:s', + 'src|r:s', + 'out|o:s', + 'debug|d', + 'nodebug', + 'config|f=s', + 'logfile|l:s', + 'nolog', + 'repository:s', + 'username|u:s', + 'verbose|v', + 'vverbose', + 'make!', + 'clean', + 'package!', + 'sign!', + ); + + if ( $OPT->{help} ) { + usage(); + exit(0); + } + + delete $OPT->{foo}; + + local $argvsize = @ARGV; + if ($argvsize > 0) { + print "Error -- invalid argument: $ARGV[0]\n"; + usage(); + die; + } + # The first time C&C is called, it is OK to override the default (./bkwconfig.xml) + # with a value from the command line. + # The second time C&C is called, the repository has been updated and C&C will be passed + # /pismere/athena/auth/krb5/windows/build/bkwconfig.xml. That value MUST be used. + if ($bIgnoreCmdlineConfig) {$OPT->{config} = $configdefault;} + elsif (! exists $OPT->{config}) {$OPT->{config} = $configdefault;} + + my $configfile = $OPT->{config}; + my $bOutputCleaned = 0; + + print "Info -- Reading configuration from $configfile.\n"; + + # Get configuration file: + local $xml = new XML::Simple(); + my $config = $xml->XMLin($configfile); + # Set up convenience variables: + local $odr = $config->{Config}; ## Options, directories, repository, environment. + +#while ($v = each %$OPT) {print "$v: $OPT->{$v}\n";} + + # Scan the configuration for switch definitions: + while (($sw, $val) = each %$odr) { + next if (! exists $val->{def}); ## ?? Should always exist. + + # Set/clear environment variables: + if ($val->{env}) { + if ($val->{def}) {$ENV{$sw} = (exists $val->{value}) ? $val->{value} : 1; } + else {delete $ENV{$sw}; } + } + + # If the switch is in the command line, override the stored value: + if (exists $OPT->{$sw}) { + if (exists $val->{value}) { + $val->{value} = $OPT->{$sw}; + $val->{def} = 1; + } + else { + $val->{def} = $OPT->{$sw}; ## If no, value will be zero. + } + } + # If the switch can be negated, test that, too: + if ( ! ($val->{def} =~ /A/)) { + local $nosw = "no".$sw; + if (exists $OPT->{$nosw}) { + $val->{def} = 0; + } + } + + # For any switch definition with fixed values ("options"), validate: + if (exists $val->{options}) { + local $bValid = 0; + # options can be like value1|syn1 value2|syn2|syn3 + foreach $option (split(/ /, $val->{options})) { + local $bFirst = 1; + local $sFirst; + foreach $opt (split(/\|/, $option)) { + # opt will be like value2, syn2, syn3 + if ($bFirst) { + $sFirst = $opt; ## Remember the full name of the option. + $bFirst = 0; + } + if ($val->{value} =~ /$opt/i) { + $val->{value} = $sFirst; ## Save the full name. + $bValid = 1; + } + } + } + if (! $bValid) { + print "Fatal -- invalid $sw value $val->{value}. Possible values are $val->{options}.\n"; + usage(); + die; + } + } + } + + # Don't allow /svntag and /svnbranch simultaneously: + if ( (length $odr->{svntag}->{value} > 0) && + (length $odr->{svnbranch}->{value} > 0) ) { + die "Fatal -- Can't specify both /SVNTAG and /SVNBRANCH."; + } + + return $config; + } + + +sub usage { + print < in cvs command + /svnbranch /b tag use /branches/ instead of /trunk. + /svntag /s tag use /tags/ instead of /trunk. + /debug /d Do debug make instead of release make. + /[no]make Control the make step. + /clean Build clean target. + /[no]package Control the packaging step. + /[no]sign Control signing of executable files. + /verbose /v Debug mode - verbose output. + /logfile /l path Where to write output. Default is bkw.pl.log. + /nolog Don't save output. + Other: + NMAKE-options any options you want to pass to NMAKE, which can be: + (note: /nologo is always used) + +USAGE + system("$MAKE /?"); + } + return 1; \ No newline at end of file diff --git a/src/windows/build/copyfiles.pl b/src/windows/build/copyfiles.pl index 79b6e156b..9f9ccdde6 100644 --- a/src/windows/build/copyfiles.pl +++ b/src/windows/build/copyfiles.pl @@ -1,137 +1,137 @@ -#!perl -w - -#use strict; -use XML::Simple; -use Data::Dumper; - -sub copyFiles { - local ($xml, $config) = @_; - local @odr = $config->{Config}; - local @files = $xml->{Files}; - # Check for includes: - if (exists $xml->{Files}->{Include}->{path}) { - my $includepath = $xml->{Files}->{Include}->{path}; - print "Info -- Including files from $includepath\n"; - my $savedDir = `cd`; - $savedDir =~ s/\n//g; - chdir $originalDir; ## Includes are relative to where we were invoked. - print "Info -- chdir to ".`cd`."\n" if ($verbose); - my $tmp = new XML::Simple; - my $includeXML = $tmp->XMLin($includepath); - chdir $savedDir; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - - local $i = 0; - while ($includeXML->{File}[$i]) { ## Copy File entries from includeXML. - $files[0]->{File}[++$#{$files[0]->{File}}] = $includeXML->{File}[$i]; - $i++; - } - delete $files->{Include}; - } - ##++ Set up path substitution variables for use inside the copy loop: - # A path can contain a variable part, which will be handled here. If the variable part is - # the Always or BuildDependent tag, then the variable will be changed to the - # build-type-dependent PathFragment. - # If the variable part is the IgnoreTag, then the file will not be copied. - # If the variable part is %filestem%, it will be replaced with Config->FileStem->name. - my ($PathFragment, $BuildDependentTag, $IgnoreTag, $FileStemFragment, $fromRoot, $toRoot); - my $bPathTags = (exists $xml->{Config}->{DebugArea}) && (exists $xml->{Config}->{ReleaseArea}); - my $bFileStem = (exists $xml->{Config}->{FileStem}); - - if ($odr->{debug}->{def}) { ## Debug build tags: - $PathFragment = $xml->{Config}->{DebugArea}->{value}; - $BuildDependentTag = $xml->{Config}->{DebugTag}->{value}; - $IgnoreTag = $xml->{Config}->{ReleaseTag}->{value}; - } - else { ## Release build tags: - $PathFragment = $xml->{Config}->{ReleaseArea}->{value}; - $BuildDependentTag = $xml->{Config}->{ReleaseTag}->{value}; - $IgnoreTag = $xml->{Config}->{DebugTag}->{value}; - } - my $AlwaysTag = $xml->{Config}->{AlwaysTag}->{value}; - $FileStemFragment = $xml->{Config}->{FileStem}->{name}; - $fromRoot = $xml->{Config}->{From}->{root}; - $toRoot = $xml->{Config}->{To}->{root}; - ##-- Set up path substitution variables for use inside the copy loop. - # For each file in the file list: - # Substitute any variable parts of the path name. - # Handle wildcards - # Copy - - local $i = 0; - my $bOldDot = 1; - my $bDot = 0; - while ($files[0]->{File}[$i]) { - - my ($name, $newname, $from, $to, $file); - $file = $files[0]->{File}->[$i]; - $name = $file->{name}; - if (exists $file->{newname}) {$newname = $file->{newname};} - else {$newname = $name;} - if ($name && (! exists $file->{ignore})) { ## Ignore or process this entry? - $from = "$fromRoot\\$file->{from}\\$name"; - $to = "$toRoot\\$file->{to}\\$newname"; - # Copy this file? Check for ignore tag [debug-only in release mode or vice versa]. - if ( $bPathTags || $bFileStem || (index($from.$to, $IgnoreTag) <0) ) { - if ($bPathTags) { ## Apply PathTag substitutions: - $from =~ s/$AlwaysTag/$PathFragment/g; - $to =~ s/$AlwaysTag/$PathFragment/g; - $from =~ s/$BuildDependentTag/$PathFragment/g; - $to =~ s/$BuildDependentTag/$PathFragment/g; - } - if ($bFileStem) { ## FileStem substitution? - $from =~ s/%filestem%/$FileStemFragment/g; - $to =~ s/%filestem%/$FileStemFragment/g; - } - # %-DEBUG% substitution: - local $DebugFragment = ($odr->{debug}->{def}) ? "-DEBUG" : ""; - $from =~ s/%\-DEBUG%/$DebugFragment/g; - $to =~ s/%\-DEBUG%/$DebugFragment/g; - $to =~ s/\*.*//; ## Truncate to path before any wildcard - - my $bCopyOK = 1; - my $fromcheck = $from; - my $bRequired = ! (exists $file->{notrequired}); - if ($name =~ /\*/) { ## Wildcard case - $fromcheck =~ s/\*.*//; - if ($bRequired && (! -d $fromcheck)) { - if ($bDot) {print "\n";} - die "Fatal -- Can't find $fromcheck"; - } - $bCopyOK = !system("echo D | xcopy /D /F /Y /S $from $to > a.tmp 2>NUL"); - } - else { ## Specific file case - if ($bRequired && (! -e $fromcheck)) { - if ($bDot) {print "\n";} - die "Fatal -- Can't find $fromcheck"; - } - $bCopyOK = !system("echo F | xcopy /D /F /Y $from $to > a.tmp 2>NUL"); - } - - if ($bCopyOK) { ## xcopy OK - show progress - # To show progress when files aren't copied, print a string of dots. - open(MYINPUTFILE, "; - foreach $line (@lines) { - $bDot = ($line =~ /^0/); - } - close(MYINPUTFILE); - if (!$bDot && $bOldDot) {print "\n";} - if ($bDot) {print "."; STDOUT->flush;} - else {print "$from copied to $to\n";} - $bOldDot = $bDot; - } - else { ## xcopy failed - if (!exists $file->{notrequired}) { - if ($bDot) {print "\n";} - die "Fatal -- Copy of $from to $to failed"; - } - } ## End xcopy succeed or fail - } ## End not dummy entry nor ignored - } - $i++; - } - if ($bDot) {print "\n";} - } - -return 1; +#!perl -w + +#use strict; +use XML::Simple; +use Data::Dumper; + +sub copyFiles { + local ($xml, $config) = @_; + local @odr = $config->{Config}; + local @files = $xml->{Files}; + # Check for includes: + if (exists $xml->{Files}->{Include}->{path}) { + my $includepath = $xml->{Files}->{Include}->{path}; + print "Info -- Including files from $includepath\n"; + my $savedDir = `cd`; + $savedDir =~ s/\n//g; + chdir $originalDir; ## Includes are relative to where we were invoked. + print "Info -- chdir to ".`cd`."\n" if ($verbose); + my $tmp = new XML::Simple; + my $includeXML = $tmp->XMLin($includepath); + chdir $savedDir; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + + local $i = 0; + while ($includeXML->{File}[$i]) { ## Copy File entries from includeXML. + $files[0]->{File}[++$#{$files[0]->{File}}] = $includeXML->{File}[$i]; + $i++; + } + delete $files->{Include}; + } + ##++ Set up path substitution variables for use inside the copy loop: + # A path can contain a variable part, which will be handled here. If the variable part is + # the Always or BuildDependent tag, then the variable will be changed to the + # build-type-dependent PathFragment. + # If the variable part is the IgnoreTag, then the file will not be copied. + # If the variable part is %filestem%, it will be replaced with Config->FileStem->name. + my ($PathFragment, $BuildDependentTag, $IgnoreTag, $FileStemFragment, $fromRoot, $toRoot); + my $bPathTags = (exists $xml->{Config}->{DebugArea}) && (exists $xml->{Config}->{ReleaseArea}); + my $bFileStem = (exists $xml->{Config}->{FileStem}); + + if ($odr->{debug}->{def}) { ## Debug build tags: + $PathFragment = $xml->{Config}->{DebugArea}->{value}; + $BuildDependentTag = $xml->{Config}->{DebugTag}->{value}; + $IgnoreTag = $xml->{Config}->{ReleaseTag}->{value}; + } + else { ## Release build tags: + $PathFragment = $xml->{Config}->{ReleaseArea}->{value}; + $BuildDependentTag = $xml->{Config}->{ReleaseTag}->{value}; + $IgnoreTag = $xml->{Config}->{DebugTag}->{value}; + } + my $AlwaysTag = $xml->{Config}->{AlwaysTag}->{value}; + $FileStemFragment = $xml->{Config}->{FileStem}->{name}; + $fromRoot = $xml->{Config}->{From}->{root}; + $toRoot = $xml->{Config}->{To}->{root}; + ##-- Set up path substitution variables for use inside the copy loop. + # For each file in the file list: + # Substitute any variable parts of the path name. + # Handle wildcards + # Copy + + local $i = 0; + my $bOldDot = 1; + my $bDot = 0; + while ($files[0]->{File}[$i]) { + + my ($name, $newname, $from, $to, $file); + $file = $files[0]->{File}->[$i]; + $name = $file->{name}; + if (exists $file->{newname}) {$newname = $file->{newname};} + else {$newname = $name;} + if ($name && (! exists $file->{ignore})) { ## Ignore or process this entry? + $from = "$fromRoot\\$file->{from}\\$name"; + $to = "$toRoot\\$file->{to}\\$newname"; + # Copy this file? Check for ignore tag [debug-only in release mode or vice versa]. + if ( $bPathTags || $bFileStem || (index($from.$to, $IgnoreTag) <0) ) { + if ($bPathTags) { ## Apply PathTag substitutions: + $from =~ s/$AlwaysTag/$PathFragment/g; + $to =~ s/$AlwaysTag/$PathFragment/g; + $from =~ s/$BuildDependentTag/$PathFragment/g; + $to =~ s/$BuildDependentTag/$PathFragment/g; + } + if ($bFileStem) { ## FileStem substitution? + $from =~ s/%filestem%/$FileStemFragment/g; + $to =~ s/%filestem%/$FileStemFragment/g; + } + # %-DEBUG% substitution: + local $DebugFragment = ($odr->{debug}->{def}) ? "-DEBUG" : ""; + $from =~ s/%\-DEBUG%/$DebugFragment/g; + $to =~ s/%\-DEBUG%/$DebugFragment/g; + $to =~ s/\*.*//; ## Truncate to path before any wildcard + + my $bCopyOK = 1; + my $fromcheck = $from; + my $bRequired = ! (exists $file->{notrequired}); + if ($name =~ /\*/) { ## Wildcard case + $fromcheck =~ s/\*.*//; + if ($bRequired && (! -d $fromcheck)) { + if ($bDot) {print "\n";} + die "Fatal -- Can't find $fromcheck"; + } + $bCopyOK = !system("echo D | xcopy /D /F /Y /S $from $to > a.tmp 2>NUL"); + } + else { ## Specific file case + if ($bRequired && (! -e $fromcheck)) { + if ($bDot) {print "\n";} + die "Fatal -- Can't find $fromcheck"; + } + $bCopyOK = !system("echo F | xcopy /D /F /Y $from $to > a.tmp 2>NUL"); + } + + if ($bCopyOK) { ## xcopy OK - show progress + # To show progress when files aren't copied, print a string of dots. + open(MYINPUTFILE, "; + foreach $line (@lines) { + $bDot = ($line =~ /^0/); + } + close(MYINPUTFILE); + if (!$bDot && $bOldDot) {print "\n";} + if ($bDot) {print "."; STDOUT->flush;} + else {print "$from copied to $to\n";} + $bOldDot = $bDot; + } + else { ## xcopy failed + if (!exists $file->{notrequired}) { + if ($bDot) {print "\n";} + die "Fatal -- Copy of $from to $to failed"; + } + } ## End xcopy succeed or fail + } ## End not dummy entry nor ignored + } + $i++; + } + if ($bDot) {print "\n";} + } + +return 1; diff --git a/src/windows/build/copyfiles.xml b/src/windows/build/copyfiles.xml index 2fb3747c8..269b42ba9 100644 --- a/src/windows/build/copyfiles.xml +++ b/src/windows/build/copyfiles.xml @@ -1,218 +1,218 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/windows/build/corebinaryfiles.xml b/src/windows/build/corebinaryfiles.xml index bf51b0e90..9fcf8aa3a 100644 --- a/src/windows/build/corebinaryfiles.xml +++ b/src/windows/build/corebinaryfiles.xml @@ -1,85 +1,85 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/windows/build/css/main-action(1).css b/src/windows/build/css/main-action(1).css index a2302bc32..2a1cfc0d9 100644 --- a/src/windows/build/css/main-action(1).css +++ b/src/windows/build/css/main-action(1).css @@ -1,54 +1,54 @@ -.sidebar { - BACKGROUND-COLOR: #f0f0f0 -} -#logodiv { - PADDING-RIGHT: 15px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; TEXT-ALIGN: center -} -#menu { - WIDTH: 150px -} -.leftnav H1 { - PADDING-RIGHT: 4px; BORDER-TOP: white 1px solid; PADDING-LEFT: 4px; FONT-WEIGHT: bold; FONT-SIZE: 11px; PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-TOP: 4px; BORDER-BOTTOM: #ccc 1px solid -} -.leftnav H5 { - PADDING-RIGHT: 0px; BORDER-TOP: white 1px solid; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 11px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: #ccc 1px solid -} -.leftnav H5 A { - BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 5px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BORDER-RIGHT-WIDTH: 0px; TEXT-DECORATION: none -} -.leftnav H5 A:hover { - BORDER-TOP-WIDTH: 0px; DISPLAY: block; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BACKGROUND-COLOR: white; BORDER-RIGHT-WIDTH: 0px; TEXT-DECORATION: none -} -.leftnav UL { - PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none -} -.leftnav LI { - PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px -} -.leftnav LI A { - PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 0px; COLOR: white; PADDING-TOP: 2px; TEXT-DECORATION: none -} -.leftnav LI A.current { - COLOR: white; BACKGROUND-COLOR: #003366 -} -.leftnav LI A:active { - COLOR: white -} -.leftnav LI A:visited { - COLOR: white -} -.leftnav LI A:hover { - COLOR: white; BACKGROUND-COLOR: #003366 -} -.leftnav LI.current { - BACKGROUND-COLOR: #487bb7 -} -.leftnav LI.current A { - COLOR: #3c78b5 -} -#PageContent { - PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BACKGROUND-COLOR: #fff; TEXT-ALIGN: left -} -H1 { - PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 22px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; MARGIN: 27px 0px 4px; COLOR: #660000; PADDING-TOP: 0px; FONT-FAMILY: Arial, sans-serif; BACKGROUND-COLOR: #fff -} +.sidebar { + BACKGROUND-COLOR: #f0f0f0 +} +#logodiv { + PADDING-RIGHT: 15px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; TEXT-ALIGN: center +} +#menu { + WIDTH: 150px +} +.leftnav H1 { + PADDING-RIGHT: 4px; BORDER-TOP: white 1px solid; PADDING-LEFT: 4px; FONT-WEIGHT: bold; FONT-SIZE: 11px; PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-TOP: 4px; BORDER-BOTTOM: #ccc 1px solid +} +.leftnav H5 { + PADDING-RIGHT: 0px; BORDER-TOP: white 1px solid; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 11px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: #ccc 1px solid +} +.leftnav H5 A { + BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 5px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BORDER-RIGHT-WIDTH: 0px; TEXT-DECORATION: none +} +.leftnav H5 A:hover { + BORDER-TOP-WIDTH: 0px; DISPLAY: block; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BACKGROUND-COLOR: white; BORDER-RIGHT-WIDTH: 0px; TEXT-DECORATION: none +} +.leftnav UL { + PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none +} +.leftnav LI { + PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px +} +.leftnav LI A { + PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 0px; COLOR: white; PADDING-TOP: 2px; TEXT-DECORATION: none +} +.leftnav LI A.current { + COLOR: white; BACKGROUND-COLOR: #003366 +} +.leftnav LI A:active { + COLOR: white +} +.leftnav LI A:visited { + COLOR: white +} +.leftnav LI A:hover { + COLOR: white; BACKGROUND-COLOR: #003366 +} +.leftnav LI.current { + BACKGROUND-COLOR: #487bb7 +} +.leftnav LI.current A { + COLOR: #3c78b5 +} +#PageContent { + PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BACKGROUND-COLOR: #fff; TEXT-ALIGN: left +} +H1 { + PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 22px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; MARGIN: 27px 0px 4px; COLOR: #660000; PADDING-TOP: 0px; FONT-FAMILY: Arial, sans-serif; BACKGROUND-COLOR: #fff +} diff --git a/src/windows/build/css/main-action.css b/src/windows/build/css/main-action.css index e34af6a26..e08c50ecd 100644 --- a/src/windows/build/css/main-action.css +++ b/src/windows/build/css/main-action.css @@ -1,1032 +1,1032 @@ -BODY { - FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif -} -P { - FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif -} -TD { - FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif -} -TABLE { - FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif -} -TR { - FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif -} -.bodytext { - FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif -} -.stepfield { - FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif -} -#PageContent { - PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 20px; MARGIN: 0px; PADDING-TOP: 0px; BACKGROUND-COLOR: #fff; TEXT-ALIGN: left -} -BODY { - PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: center -} -.monospaceInput { - FONT: 12px monospace -} -.wiki-content P { - PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 16px 0px; PADDING-TOP: 0px -} -.commentblock P { - PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 16px 0px; PADDING-TOP: 0px -} -.wiki-content-preview { - BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 5px -} -UL { - MARGIN-TOP: 2px; MARGIN-BOTTOM: 2px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px -} -OL { - MARGIN-TOP: 2px; MARGIN-BOTTOM: 2px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px -} -PRE { - PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 5px 5px 5px 15px; PADDING-TOP: 0px; TEXT-ALIGN: left -} -.helpheading { - PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; PADDING-BOTTOM: 4px; MARGIN: 10px 0px 0px; PADDING-TOP: 4px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #d0d9bd -} -.helpcontent { - PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 20px; PADDING-TOP: 4px; BACKGROUND-COLOR: #f5f7f1 -} -.code { - BORDER-RIGHT: #3c78b5 1px dashed; BORDER-TOP: #3c78b5 1px dashed; FONT-SIZE: 11px; MARGIN: 10px; BORDER-LEFT: #3c78b5 1px dashed; LINE-HEIGHT: 13px; BORDER-BOTTOM: #3c78b5 1px dashed; FONT-FAMILY: Courier -} -.focusedComment { - BACKGROUND: #ffffce -} -.commentBox { - BORDER-RIGHT: #bbb 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #bbb 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 5px 0px; BORDER-LEFT: #bbb 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #bbb 1px solid -} -.focusedComment { - BORDER-RIGHT: #bbb 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #bbb 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 5px 0px; BORDER-LEFT: #bbb 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #bbb 1px solid -} -.codeHeader { - PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px dashed; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: center -} -.codeContent { - PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: left -} -.preformatted { - BORDER-RIGHT: #3c78b5 1px dashed; BORDER-TOP: #3c78b5 1px dashed; FONT-SIZE: 11px; MARGIN: 10px; BORDER-LEFT: #3c78b5 1px dashed; LINE-HEIGHT: 13px; BORDER-BOTTOM: #3c78b5 1px dashed; FONT-FAMILY: Courier -} -.preformattedHeader { - PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px dashed; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: center -} -.preformattedContent { - PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BACKGROUND-COLOR: #eeefcc -} -.panel { - BORDER-RIGHT: #3c78b5 1px dashed; BORDER-TOP: #3c78b5 1px dashed; MARGIN: 0px 10px 10px; BORDER-LEFT: #3c78b5 1px dashed; BORDER-BOTTOM: #3c78b5 1px dashed -} -.panelHeader { - PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px dashed; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: center -} -.panelContent { - PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BACKGROUND-COLOR: #eeefcc -} -.anonymousAlert { - BORDER-RIGHT: red 1px dashed; PADDING-RIGHT: 5px; BORDER-TOP: red 1px dashed; PADDING-LEFT: 5px; FONT-SIZE: 11px; PADDING-BOTTOM: 10px; MARGIN: 4px; BORDER-LEFT: red 1px dashed; LINE-HEIGHT: 13px; PADDING-TOP: 10px; BORDER-BOTTOM: red 1px dashed; BACKGROUND-COLOR: #eeefcc -} -.lockAlert { - BORDER-RIGHT: red 1px dashed; PADDING-RIGHT: 5px; BORDER-TOP: red 1px dashed; PADDING-LEFT: 5px; FONT-SIZE: 11px; PADDING-BOTTOM: 10px; MARGIN: 4px; BORDER-LEFT: red 1px dashed; WIDTH: 50%; LINE-HEIGHT: 13px; PADDING-TOP: 10px; BORDER-BOTTOM: red 1px dashed; BACKGROUND-COLOR: #eeefcc -} -.code-keyword { - COLOR: #000091 -} -.code-object { - COLOR: #910091 -} -.code-quote { - COLOR: #009100 -} -.code-comment { - COLOR: #808080 -} -.code-xml .code-keyword { - FONT-WEIGHT: bold -} -.code-tag { - COLOR: #000091 -} -.breadcrumbs { - BORDER-RIGHT: #3c78b5 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: #3c78b5 1px solid; PADDING-LEFT: 0px; FONT-SIZE: 11px; PADDING-BOTTOM: 3px; BORDER-LEFT: #3c78b5 0px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #eeefcc -} -.navmenu { - BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid -} -.menuheading { - PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; PADDING-BOTTOM: 2px; PADDING-TOP: 4px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #eeefcc -} -.menuitems { - PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 20px; PADDING-TOP: 4px -} -.rightpanel { - BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid -} -#helpheading { - PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-TOP: 4px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #d0d9bd; TEXT-ALIGN: left -} -#helpcontent { - PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; PADDING-TOP: 4px; BACKGROUND-COLOR: #f5f7f1 -} -.helptab-unselected { - PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BACKGROUND-COLOR: #f5f7f1 -} -.helptab-selected { - PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BACKGROUND-COLOR: #d0d9bd -} -.helptabs { - PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px; BACKGROUND-COLOR: #f5f7f1 -} -.infopanel-heading { - PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 2px; PADDING-TOP: 4px -} -.pagebody { - -} -.pageheader { - PADDING-RIGHT: 5px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BORDER-BOTTOM: #3c78b5 1px solid -} -.pagetitle { - FONT-WEIGHT: bold; FONT-SIZE: 22px; COLOR: #003366; FONT-FAMILY: Arial, sans-serif -} -.newpagetitle { - COLOR: #ccc! important -} -.steptitle { - FONT-WEIGHT: bold; FONT-SIZE: 18px; MARGIN-BOTTOM: 7px; COLOR: #003366; FONT-FAMILY: Arial, sans-serif -} -.substeptitle { - PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; FONT-SIZE: 12px; PADDING-BOTTOM: 1px; MARGIN: 2px 4px 4px; COLOR: #003366; PADDING-TOP: 2px; FONT-FAMILY: Arial, sans-serif -} -.stepdesc { - MARGIN-TOP: 7px; FONT-WEIGHT: normal; FONT-SIZE: 11px; MARGIN-BOTTOM: 7px; COLOR: #666666; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif -} -.steplabel { - FONT-WEIGHT: bold; FLOAT: left; WIDTH: 15%; COLOR: black; MARGIN-RIGHT: 4px; TEXT-ALIGN: right -} -.stepfield { - PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: #eeefcc; PADDING-BOTTOM: 5px; PADDING-TOP: 5px -} -.submitButtons { - MARGIN-TOP: 5px; TEXT-ALIGN: right -} -.formtitle { - FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #003366; FONT-FAMILY: Arial, sans-serif -} -.sectionbottom { - BORDER-BOTTOM: #3c78b5 1px solid -} -.topRow { - BORDER-TOP: #3c78b5 2px solid -} -.tabletitle { - PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 14px; PADDING-BOTTOM: 2px; MARGIN: 8px 4px 2px 0px; COLOR: #003366; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 2px solid; FONT-FAMILY: Arial, sans-serif -} -.pagesubheading { - PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: 5px; COLOR: #666666; PADDING-TOP: 0px -} -HR { - -} -A:link { - COLOR: #003366 -} -A:visited { - COLOR: #003366 -} -A:active { - COLOR: #003366 -} -A:hover { - COLOR: #003366 -} -H1 A:link { - TEXT-DECORATION: none -} -H1 A:visited { - TEXT-DECORATION: none -} -H1 A:active { - TEXT-DECORATION: none -} -H1 A:hover { - BORDER-BOTTOM: #003366 1px dotted -} -UNKNOWN { - MARGIN-TOP: 3px -} -.logocell { - PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px -} -INPUT { - FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: verdana, geneva, arial, sans-serif -} -TEXTAREA { - FONT-SIZE: 11px; COLOR: #333333; FONT-FAMILY: verdana, geneva, arial, sans-serif -} -TEXTAREA.editor { - FONT-SIZE: 11px; COLOR: #333333; FONT-FAMILY: verdana, geneva, arial, sans-serif -} -.spacenametitle-printable { - MARGIN: 0px; FONT: 100 20px/25px Impact, Arial, Helvetica; COLOR: #999999 -} -.spacenametitle-printable A { - COLOR: #999999; TEXT-DECORATION: none -} -.spacenametitle-printable A:visited { - COLOR: #999999; TEXT-DECORATION: none -} -.blogDate { - FONT-WEIGHT: bold; COLOR: black; TEXT-DECORATION: none -} -.blogSurtitle { - BORDER-RIGHT: #ddd 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 3px; BACKGROUND: #eeefcc; PADDING-BOTTOM: 3px; MARGIN: 1px 1px 10px; BORDER-LEFT: #ddd 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ddd 1px solid -} -.blogHeading { - PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 20px; PADDING-BOTTOM: 0px; MARGIN: 0px; LINE-HEIGHT: normal; PADDING-TOP: 0px -} -.blogHeading A { - COLOR: black; TEXT-DECORATION: none -} -.endsection { - MARGIN-TOP: 10px; COLOR: #666666; align: right -} -.endsectionleftnav { - MARGIN-TOP: 10px; COLOR: #666666; align: right -} -H1 { - PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 24px; PADDING-BOTTOM: 2px; MARGIN: 36px 0px 4px; COLOR: #003366; LINE-HEIGHT: normal; PADDING-TOP: 2px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #eeefcc -} -H2 { - PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 18px; PADDING-BOTTOM: 2px; MARGIN: 27px 0px 4px; LINE-HEIGHT: normal; PADDING-TOP: 2px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #eeefcc -} -H3 { - PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 14px; PADDING-BOTTOM: 2px; MARGIN: 21px 0px 4px; LINE-HEIGHT: normal; PADDING-TOP: 2px; BACKGROUND-COLOR: #eeefcc -} -H4 { - PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 12px; PADDING-BOTTOM: 2px; MARGIN: 18px 0px 4px; LINE-HEIGHT: normal; PADDING-TOP: 2px; BACKGROUND-COLOR: #eeefcc -} -H4.search { - PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: normal; FONT-SIZE: 12px; PADDING-BOTTOM: 4px; MARGIN: 18px 0px 4px; LINE-HEIGHT: normal; PADDING-TOP: 4px; BACKGROUND-COLOR: #eeefcc -} -H5 { - PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 10px; PADDING-BOTTOM: 2px; MARGIN: 14px 0px 4px; LINE-HEIGHT: normal; PADDING-TOP: 2px; BACKGROUND-COLOR: #eeefcc -} -H6 { - PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 8px; PADDING-BOTTOM: 2px; MARGIN: 14px 0px 4px; LINE-HEIGHT: normal; PADDING-TOP: 2px; BACKGROUND-COLOR: #eeefcc -} -.smallfont { - FONT-SIZE: 10px -} -.descfont { - FONT-SIZE: 10px; COLOR: #666666 -} -.smallerfont { - FONT-SIZE: 9px -} -.smalltext { - FONT-SIZE: 10px; COLOR: #666666 -} -.smalltext A { - COLOR: #666666 -} -.smalltext-blue { - FONT-SIZE: 10px; COLOR: #3c78b5 -} -.surtitle { - FONT-SIZE: 14px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 1px; COLOR: #666666 -} -.navItemOver { - FONT-WEIGHT: bold; FONT-SIZE: 10px; CURSOR: pointer; COLOR: #ffffff; BACKGROUND-COLOR: #003366; voice-family: inherit -} -.navItemOver A { - COLOR: #ffffff; BACKGROUND-COLOR: #003366; TEXT-DECORATION: none -} -.navItemOver A:visited { - COLOR: #ffffff; BACKGROUND-COLOR: #003366; TEXT-DECORATION: none -} -.navItemOver A:hover { - COLOR: #ffffff; BACKGROUND-COLOR: #003366; TEXT-DECORATION: none -} -.navItem { - FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff; BACKGROUND-COLOR: #3c78b5 -} -.navItem A { - COLOR: #ffffff; TEXT-DECORATION: none -} -.navItem A:hover { - COLOR: #ffffff; TEXT-DECORATION: none -} -.navItem A:visited { - COLOR: #ffffff; TEXT-DECORATION: none -} -DIV.padded { - PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; PADDING-TOP: 4px -} -DIV.thickPadded { - PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px -} -H3.macrolibrariestitle { - MARGIN: 0px -} -DIV.centered { - MARGIN: 10px; TEXT-ALIGN: center -} -DIV.centered TABLE { - MARGIN: 0px auto; TEXT-ALIGN: left -} -.tableview TABLE { - MARGIN: 0px -} -.tableview TH { - PADDING-RIGHT: 0px; PADDING-LEFT: 5px; FONT-SIZE: 12px; PADDING-BOTTOM: 0px; COLOR: #003366; PADDING-TOP: 5px; BORDER-BOTTOM: #3c78b5 2px solid; TEXT-ALIGN: left -} -.tableview TD { - BORDER-RIGHT: #ccc 0px solid; PADDING-RIGHT: 10px; BORDER-TOP: #ccc 0px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 4px; MARGIN: 0px; BORDER-LEFT: #ccc 0px solid; PADDING-TOP: 4px; BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: left -} -.grid { - MARGIN: 2px 0px 5px; BORDER-COLLAPSE: collapse -} -.grid TH { - BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 4px; BACKGROUND: #eeefcc; PADDING-BOTTOM: 2px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: center -} -.grid TD { - BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 3px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid -} -.gridHover { - BACKGROUND-COLOR: #f9f9f9 -} -TD.infocell { - BACKGROUND-COLOR: #eeefcc -} -.label { - FONT-WEIGHT: bold; COLOR: #003366 -} -LABEL { - FONT-WEIGHT: bold; COLOR: #003366 -} -.error { - BACKGROUND-COLOR: #fcc -} -.errorBox { - BORDER-RIGHT: #c00 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #c00 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 5px; BORDER-LEFT: #c00 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #c00 1px solid; BACKGROUND-COLOR: #fcc -} -.errorMessage { - COLOR: #c00 -} -.success { - BACKGROUND-COLOR: #dfd -} -.successBox { - BORDER-RIGHT: #090 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #090 1px solid; MARGIN-TOP: 5px; PADDING-LEFT: 5px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #090 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #090 1px solid; BACKGROUND-COLOR: #dfd -} -BLOCKQUOTE { - PADDING-RIGHT: 10px; PADDING-LEFT: 10px; MARGIN-LEFT: 5px; BORDER-LEFT: #3c78b5 1px solid; MARGIN-RIGHT: 0px -} -TABLE.confluenceTable { - MARGIN: 5px; BORDER-COLLAPSE: collapse -} -TABLE.confluenceTable TD.confluenceTd { - BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 3px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid -} -TABLE.confluenceTable TH.confluenceTh { - BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 3px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: center -} -TD.confluenceTd { - BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 3px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid -} -TH.confluenceTh { - BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 3px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: center -} -DIV.small { - FONT-SIZE: 9px -} -H1.pagename { - MARGIN-TOP: 0px -} -IMG.inline { - -} -.loginform { - BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; MARGIN: 5px; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid -} -.previewnote { - FONT-SIZE: 11px; COLOR: red; TEXT-ALIGN: center -} -.previewcontent { - BACKGROUND: #e0e0e0 -} -.messagecontent { - BACKGROUND: #e0e0e0 -} -.conflictnote { - -} -.createlink { - COLOR: maroon -} -A.createlink { - COLOR: maroon -} -.templateparameter { - FONT-SIZE: 9px; COLOR: darkblue -} -.diffadded { - PADDING-RIGHT: 1px; PADDING-LEFT: 4px; BACKGROUND: #ddffdd; PADDING-BOTTOM: 1px; BORDER-LEFT: darkgreen 4px solid; PADDING-TOP: 1px -} -.diffdeleted { - PADDING-RIGHT: 1px; PADDING-LEFT: 4px; BACKGROUND: #ffdddd; PADDING-BOTTOM: 1px; BORDER-LEFT: darkred 4px solid; COLOR: #999; PADDING-TOP: 1px -} -.diffnochange { - PADDING-RIGHT: 1px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; BORDER-LEFT: lightgrey 4px solid; PADDING-TOP: 1px -} -.differror { - BACKGROUND: brown -} -.diff { - FONT-SIZE: 12px; LINE-HEIGHT: 14px; FONT-FAMILY: lucida console, courier new, fixed-width -} -.diffaddedchars { - FONT-WEIGHT: bolder; BACKGROUND-COLOR: #99ff99 -} -.diffremovedchars { - FONT-WEIGHT: bolder; BACKGROUND-COLOR: #ff9999; TEXT-DECORATION: line-through -} -.greybackground { - BACKGROUND: #eeefcc -} -.greybox { - BORDER-RIGHT: #ddd 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 1px 1px 10px; BORDER-LEFT: #ddd 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ddd 1px solid -} -.borderedGreyBox { - BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeefcc -} -.greyboxfilled { - BORDER-RIGHT: #ddd 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 3px; BACKGROUND: #eeefcc; PADDING-BOTTOM: 3px; MARGIN: 1px 1px 10px; BORDER-LEFT: #ddd 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ddd 1px solid -} -.navBackgroundBox { - PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 22px; BACKGROUND: #3c78b5; PADDING-BOTTOM: 5px; COLOR: white; PADDING-TOP: 5px; FONT-FAMILY: Arial, sans-serif; TEXT-DECORATION: none -} -.previewBoxTop { - BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #3c78b5 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 5px 0px 0px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #3c78b5 0px solid; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: center -} -.previewContent { - BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #3c78b5 0px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 0px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #3c78b5 0px solid; BACKGROUND-COLOR: #fff -} -.previewBoxBottom { - BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #3c78b5 0px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 0px 0px 5px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: center -} -.functionbox { - BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #3c78b5 1px solid; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 1px 1px 10px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #eeefcc -} -.functionbox-greyborder { - BORDER-RIGHT: #ddd 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 1px 1px 10px; BORDER-LEFT: #ddd 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ddd 1px solid; BACKGROUND-COLOR: #eeefcc -} -.search-highlight { - BACKGROUND-COLOR: #ffffcc -} -.rowNormal { - BACKGROUND-COLOR: #ffffff -} -.rowAlternate { - BACKGROUND-COLOR: #f7f7f7 -} -.rowAlternateNoBottomColor { - BACKGROUND-COLOR: #f7f7f7 -} -.rowAlternateNoBottomNoColor { - -} -.rowAlternateNoBottomColor TD { - BORDER-BOTTOM-WIDTH: 0px -} -.rowAlternateNoBottomNoColor TD { - BORDER-BOTTOM-WIDTH: 0px -} -.rowHighlight { - BACKGROUND-COLOR: #eeefcc -} -TD.greenbar { - BORDER-RIGHT: #9c9c9c 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #9c9c9c 1px solid; PADDING-LEFT: 0px; FONT-SIZE: 2px; BACKGROUND: #00df00; PADDING-BOTTOM: 0px; BORDER-LEFT: #9c9c9c 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #9c9c9c 1px solid -} -TD.redbar { - BORDER-RIGHT: #9c9c9c 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #9c9c9c 1px solid; PADDING-LEFT: 0px; FONT-SIZE: 2px; BACKGROUND: #df0000; PADDING-BOTTOM: 0px; BORDER-LEFT: #9c9c9c 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #9c9c9c 1px solid -} -TD.darkredbar { - BORDER-RIGHT: #9c9c9c 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #9c9c9c 1px solid; PADDING-LEFT: 0px; FONT-SIZE: 2px; BACKGROUND: #af0000; PADDING-BOTTOM: 0px; BORDER-LEFT: #9c9c9c 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #9c9c9c 1px solid -} -TR.testpassed { - PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 2px; BACKGROUND: #ddffdd; PADDING-BOTTOM: 0px; PADDING-TOP: 0px -} -TR.testfailed { - PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 2px; BACKGROUND: #ffdddd; PADDING-BOTTOM: 0px; PADDING-TOP: 0px -} -.toolbar { - MARGIN: 0px; BORDER-COLLAPSE: collapse -} -.toolbar TD { - BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: #ccc 1px solid; COLOR: #ccc; PADDING-TOP: 2px; BORDER-BOTTOM: #ccc 1px solid -} -TD.noformatting { - BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: 0px; TEXT-ALIGN: center -} -.commentblock { - MARGIN: 12px 0px -} -.license-eval { - BORDER-TOP: #bbbbbb 1px solid; FONT-SIZE: 10px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: center -} -.license-none { - BORDER-TOP: #bbbbbb 1px solid; FONT-SIZE: 10px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: center -} -.license-nonprofit { - BORDER-TOP: #bbbbbb 1px solid; FONT-SIZE: 10px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: center -} -.license-eval { - BACKGROUND-COLOR: #ffcccc -} -.license-none { - BACKGROUND-COLOR: #ffcccc -} -.license-eval B { - COLOR: #990000 -} -.license-none B { - COLOR: #990000 -} -.license-nonprofit { - BACKGROUND-COLOR: #ffffff -} -.bottomshadow { - BACKGROUND-IMAGE: url(/confluence/images/border/border_bottom.gif); BACKGROUND-REPEAT: repeat-x; HEIGHT: 12px -} -.navmenu .operations LI { - PADDING-LEFT: 0px; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: none -} -.navmenu .operations UL { - PADDING-LEFT: 0px; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: none -} -.navmenu .operations UL { - MARGIN-BOTTOM: 9px -} -.navmenu .label { - -} -.toolbar DIV { - DISPLAY: none -} -.toolbar .label { - DISPLAY: none -} -.toolbar .operations { - DISPLAY: block -} -.toolbar .operations UL { - DISPLAY: inline; PADDING-LEFT: 0px; MARGIN-LEFT: 10px; LIST-STYLE-TYPE: none -} -.toolbar .operations LI { - DISPLAY: inline; LIST-STYLE-TYPE: none -} -#foldertab { - PADDING-RIGHT: 0px; PADDING-LEFT: 8px; PADDING-BOTTOM: 3px; FONT: bold 11px Verdana, sans-serif; MARGIN-LEFT: 0px; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px solid -} -#foldertab LI { - DISPLAY: inline; MARGIN: 0px; LIST-STYLE-TYPE: none -} -#foldertab LI A { - BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: #3c78b5 1px solid; PADDING-LEFT: 0.5em; BACKGROUND: #3c78b5; PADDING-BOTTOM: 3px; MARGIN-LEFT: 3px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px; TEXT-DECORATION: none -} -#foldertab LI A:link { - COLOR: #ffffff -} -#foldertab LI A:visited { - COLOR: #ffffff -} -#foldertab LI A:hover { - BORDER-LEFT-COLOR: #003366; BACKGROUND: #003366; BORDER-BOTTOM-COLOR: #003366; COLOR: #ffffff; BORDER-TOP-COLOR: #003366; BORDER-RIGHT-COLOR: #003366 -} -#foldertab LI A.current { - BACKGROUND: white; COLOR: black; BORDER-BOTTOM: white 1px solid -} -#foldertab LI A.current:link { - COLOR: black -} -#foldertab LI A.current:visited { - COLOR: black -} -#foldertab LI A.current:hover { - BACKGROUND: white; COLOR: black; BORDER-BOTTOM: white 1px solid -} -UL#squaretab { - PADDING-LEFT: 0px; FONT: bold 8px Verdana, sans-serif; MARGIN-LEFT: 0px; WHITE-SPACE: nowrap -} -#squaretab LI { - DISPLAY: inline; LIST-STYLE-TYPE: none -} -#squaretab A { - BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: #3c78b5 1px solid; PADDING-LEFT: 6px; PADDING-BOTTOM: 2px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #3c78b5 1px solid -} -#squaretab A:link { - COLOR: #fff; BACKGROUND-COLOR: #3c78b5; TEXT-DECORATION: none -} -#squaretab A:visited { - COLOR: #fff; BACKGROUND-COLOR: #3c78b5; TEXT-DECORATION: none -} -#squaretab A:hover { - BORDER-LEFT-COLOR: #003366; BORDER-BOTTOM-COLOR: #003366; COLOR: #ffffff; BORDER-TOP-COLOR: #003366; BACKGROUND-COLOR: #003366; TEXT-DECORATION: none; BORDER-RIGHT-COLOR: #003366 -} -#squaretab LI A#current { - BACKGROUND: white; COLOR: black -} -.blogcalendar { - PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: normal; FONT-SIZE: x-small; PADDING-BOTTOM: 2px; LINE-HEIGHT: 140%; PADDING-TOP: 2px; FONT-FAMILY: verdana, arial, sans-serif -} -TABLE.blogcalendar { - BORDER-RIGHT: #3c78b5 1px solid; BORDER-TOP: #3c78b5 1px solid; BORDER-LEFT: #3c78b5 1px solid; BORDER-BOTTOM: #3c78b5 1px solid -} -.blogcalendar TH.calendarhead { - PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: x-small; PADDING-BOTTOM: 2px; TEXT-TRANSFORM: uppercase; COLOR: #ffffff; PADDING-TOP: 2px; LETTER-SPACING: 0.3em; BACKGROUND-COLOR: #3c78b5 -} -A.calendarhead { - PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: x-small; PADDING-BOTTOM: 2px; TEXT-TRANSFORM: uppercase; COLOR: #ffffff; PADDING-TOP: 2px; LETTER-SPACING: 0.3em; BACKGROUND-COLOR: #3c78b5 -} -.calendarhead:visited { - COLOR: white -} -.calendarhead:active { - COLOR: white -} -.calendarhead:hover { - COLOR: white -} -.blogcalendar TH { - PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: x-small; PADDING-BOTTOM: 2px; PADDING-TOP: 2px; BACKGROUND-COLOR: #eeefcc -} -.blogcalendar TD { - FONT-WEIGHT: normal; FONT-SIZE: x-small -} -.searchGroup { - PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #eeefcc; PADDING-BOTTOM: 10px; PADDING-TOP: 0px -} -.searchGroupHeading { - PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; FONT-SIZE: 10px; PADDING-BOTTOM: 1px; COLOR: #ffffff; PADDING-TOP: 2px; BACKGROUND-COLOR: #3c78b5 -} -.searchItem { - PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px -} -.searchItemSelected { - PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; BACKGROUND: #ddd; PADDING-BOTTOM: 1px; PADDING-TOP: 1px -} -.permissionHeading { - BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; FONT-SIZE: 16px; BORDER-LEFT: 0px solid; BORDER-BOTTOM: #bbb 1px solid; TEXT-ALIGN: left -} -.permissionTab { - BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; FONT-SIZE: 10px; BACKGROUND: #3c78b5; BORDER-LEFT: 1px solid; COLOR: #ffffff; BORDER-BOTTOM: 0px solid -} -.permissionSuperTab { - BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BACKGROUND: #003366; BORDER-LEFT: 1px solid; COLOR: #ffffff; BORDER-BOTTOM: 0px solid -} -.permissionCell { - BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BORDER-LEFT: #bbb 1px solid; BORDER-BOTTOM: 0px solid -} -.warningPanel { - BORDER-RIGHT: #f0c000 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: #f0c000 1px solid; PADDING-LEFT: 8px; BACKGROUND: #ffffce; PADDING-BOTTOM: 8px; MARGIN: 10px; BORDER-LEFT: #f0c000 1px solid; PADDING-TOP: 8px; BORDER-BOTTOM: #f0c000 1px solid -} -.alertPanel { - BORDER-RIGHT: #c00 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: #c00 1px solid; PADDING-LEFT: 8px; BACKGROUND: #ffcccc; PADDING-BOTTOM: 8px; MARGIN: 10px; BORDER-LEFT: #c00 1px solid; PADDING-TOP: 8px; BORDER-BOTTOM: #c00 1px solid -} -.infoPanel { - BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: #3c78b5 1px solid; PADDING-LEFT: 8px; BACKGROUND: #d8e4f1; PADDING-BOTTOM: 8px; MARGIN: 10px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 8px; BORDER-BOTTOM: #3c78b5 1px solid -} -.optionPadded { - PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; PADDING-TOP: 2px -} -.optionSelected { - BORDER-RIGHT: #ddd 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; MARGIN: -1px; BORDER-LEFT: #ddd 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #ddd 1px solid; BACKGROUND-COLOR: #ffffcc -} -.optionSelected A { - FONT-WEIGHT: bold; COLOR: black; TEXT-DECORATION: none -} -.noteMacro { - BORDER-RIGHT: #f0c000 1px solid; BORDER-TOP: #f0c000 1px solid; MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; BORDER-LEFT: #f0c000 1px solid; BORDER-BOTTOM: #f0c000 1px solid; BACKGROUND-COLOR: #ffffce; TEXT-ALIGN: left -} -.warningMacro { - BORDER-RIGHT: #c00 1px solid; BORDER-TOP: #c00 1px solid; MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; BORDER-LEFT: #c00 1px solid; BORDER-BOTTOM: #c00 1px solid; BACKGROUND-COLOR: #fcc; TEXT-ALIGN: left -} -.infoMacro { - BORDER-RIGHT: #3c78b5 1px solid; BORDER-TOP: #3c78b5 1px solid; MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; BORDER-LEFT: #3c78b5 1px solid; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #d8e4f1; TEXT-ALIGN: left -} -.tipMacro { - BORDER-RIGHT: #090 1px solid; BORDER-TOP: #090 1px solid; MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; BORDER-LEFT: #090 1px solid; BORDER-BOTTOM: #090 1px solid; BACKGROUND-COLOR: #dfd; TEXT-ALIGN: left -} -.informationMacroPadding { - PADDING-RIGHT: 0px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; PADDING-TOP: 5px -} -TABLE.infoMacro TD { - BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none -} -TABLE.warningMacro TD { - BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none -} -TABLE.tipMacro TD { - BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none -} -TABLE.noteMacro TD { - BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none -} -TABLE.sectionMacro TD { - BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none -} -TABLE.sectionMacroWithBorder TD.columnMacro { - BORDER-RIGHT: #cccccc 1px dashed; BORDER-TOP: #cccccc 1px dashed; BORDER-LEFT: #cccccc 1px dashed; BORDER-BOTTOM: #cccccc 1px dashed -} -.pagecontent { - PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; TEXT-ALIGN: left -} -.topBarDiv A:link { - COLOR: #ffffff -} -.topBarDiv A:visited { - COLOR: #ffffff -} -.topBarDiv A:active { - COLOR: #ffffff -} -.topBarDiv A:hover { - COLOR: #ffffff -} -.topBarDiv { - COLOR: #ffffff -} -.topBar { - BACKGROUND-COLOR: #003366 -} -.greyLinks A:link { - COLOR: #666666; TEXT-DECORATION: underline -} -.greyLinks A:visited { - COLOR: #666666; TEXT-DECORATION: underline -} -.greyLinks A:active { - COLOR: #666666; TEXT-DECORATION: underline -} -.greyLinks A:hover { - COLOR: #666666; TEXT-DECORATION: underline -} -.greyLinks { - PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; COLOR: #666666; PADDING-TOP: 10px -} -.logoSpaceLink { - COLOR: #999999; TEXT-DECORATION: none -} -.logoSpaceLink A:link { - COLOR: #999999; TEXT-DECORATION: none -} -.logoSpaceLink A:visited { - COLOR: #999999; TEXT-DECORATION: none -} -.logoSpaceLink A:active { - COLOR: #999999; TEXT-DECORATION: none -} -.logoSpaceLink A:hover { - COLOR: #003366; TEXT-DECORATION: none -} -.basicPanelContainer { - BORDER-RIGHT: #3c78b5 1px solid; BORDER-TOP: #3c78b5 1px solid; MARGIN-TOP: 2px; MARGIN-BOTTOM: 8px; BORDER-LEFT: #3c78b5 1px solid; WIDTH: 100%; BORDER-BOTTOM: #3c78b5 1px solid -} -.basicPanelTitle { - PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; PADDING-BOTTOM: 5px; MARGIN: 0px; COLOR: black; PADDING-TOP: 5px; BACKGROUND-COLOR: #eeefcc -} -.basicPanelBody { - PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px -} -.separatorLinks A:link { - COLOR: white -} -.separatorLinks A:visited { - COLOR: white -} -.separatorLinks A:active { - COLOR: white -} -.greynavbar { - BORDER-TOP: #3c78b5 1px solid; MARGIN-TOP: 2px; BACKGROUND-COLOR: #eeefcc -} -DIV.headerField { - FLOAT: left; WIDTH: auto; HEIGHT: 100% -} -.headerFloat { - MARGIN-LEFT: auto; WIDTH: 50% -} -.headerFloatLeft { - FLOAT: left; MARGIN-BOTTOM: 10px; MARGIN-RIGHT: 20px -} -#headerRow { - PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px -} -DIV.license-personal { - COLOR: #ffffff; BACKGROUND-COLOR: #003366 -} -DIV.license-personal A { - COLOR: #ffffff -} -.greyFormBox { - BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px solid -} -.marginlessForm { - MARGIN: 0px -} -.openPageHighlight { - BORDER-RIGHT: #ddd 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: #ddd 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #ddd 1px solid; BACKGROUND-COLOR: #ffffcc -} -.editPageInsertLinks { - FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #666666 -} -.editPageInsertLinks A { - FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #666666 -} -.top10 A { - FONT-WEIGHT: bold; FONT-SIZE: 2em; COLOR: #003366 -} -.top25 A { - FONT-WEIGHT: bold; FONT-SIZE: 1.6em; COLOR: #003366 -} -.top50 A { - FONT-SIZE: 1.4em; COLOR: #003366 -} -.top100 A { - FONT-SIZE: 1.2em; COLOR: #003366 -} -.heatmap { - MARGIN: 0px auto; WIDTH: 95%; LIST-STYLE-TYPE: none -} -.heatmap A { - TEXT-DECORATION: none -} -.heatmap A:hover { - TEXT-DECORATION: underline -} -.heatmap LI { - DISPLAY: inline -} -.minitab { - PADDING-RIGHT: 0px; MARGIN-TOP: 1px; PADDING-LEFT: 8px; FLOAT: none; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 3px; FONT: bold 9px Verdana, sans-serif; MARGIN-LEFT: 0px; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px solid; TEXT-DECORATION: none -} -.selectedminitab { - BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: #3c78b5 1px solid; MARGIN-TOP: 1px; PADDING-LEFT: 0.5em; BACKGROUND: white; PADDING-BOTTOM: 3px; MARGIN-LEFT: 3px; BORDER-LEFT: #3c78b5 1px solid; COLOR: #000000; PADDING-TOP: 3px; BORDER-BOTTOM: white 1px solid; TEXT-DECORATION: none -} -.unselectedminitab { - BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: #3c78b5 1px solid; MARGIN-TOP: 1px; PADDING-LEFT: 0.5em; BACKGROUND: #3c78b5; PADDING-BOTTOM: 3px; MARGIN-LEFT: 3px; BORDER-LEFT: #3c78b5 1px solid; COLOR: #ffffff; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px; TEXT-DECORATION: none -} -A.unselectedminitab:hover { - BORDER-LEFT-COLOR: #003366; BACKGROUND: #003366; BORDER-BOTTOM-COLOR: #003366; COLOR: #ffffff; BORDER-TOP-COLOR: #003366; BORDER-RIGHT-COLOR: #003366 -} -A.unselectedminitab:link { - COLOR: white -} -A.unselectedminitab:visited { - COLOR: white -} -A.selectedminitab:link { - COLOR: black -} -A.selectedminitab:visited { - COLOR: black -} -.linkerror { - BACKGROUND-COLOR: #fcc -} -A.labelOperationLink:link { - TEXT-DECORATION: underline -} -A.labelOperationLink:active { - TEXT-DECORATION: underline -} -A.labelOperationLink:visited { - TEXT-DECORATION: underline -} -A.labelOperationLink:hover { - TEXT-DECORATION: underline -} -A.newLabel:link { - BACKGROUND-COLOR: #ddffdd -} -A.newLabel:active { - BACKGROUND-COLOR: #ddffdd -} -A.newLabel:visited { - BACKGROUND-COLOR: #ddffdd -} -A.newLabel:hover { - BACKGROUND-COLOR: #ddffdd -} -UL.square { - LIST-STYLE-TYPE: square -} -.inline-control-link { - PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-SIZE: 9px; BACKGROUND: #ffc; PADDING-BOTTOM: 2px; TEXT-TRANSFORM: uppercase; COLOR: #666; PADDING-TOP: 2px; TEXT-DECORATION: none -} -.inline-control-link A:link { - TEXT-DECORATION: none -} -.inline-control-link A:active { - TEXT-DECORATION: none -} -.inline-control-link A:visited { - TEXT-DECORATION: none -} -.inline-control-link A:hover { - TEXT-DECORATION: none -} -.inline-control-link { - PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-SIZE: 9px; BACKGROUND: #ffc; PADDING-BOTTOM: 2px; TEXT-TRANSFORM: uppercase; CURSOR: pointer; COLOR: #666; PADDING-TOP: 2px; TEXT-DECORATION: none -} -DIV.auto_complete { - BACKGROUND: #fff; WIDTH: 350px -} -DIV.auto_complete UL { - BORDER-RIGHT: #888 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #888 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: #888 1px solid; WIDTH: 100%; PADDING-TOP: 0px; BORDER-BOTTOM: #888 1px solid; LIST-STYLE-TYPE: none -} -DIV.auto_complete UL LI { - PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-TOP: 3px -} -DIV.auto_complete UL LI.selected { - BACKGROUND-COLOR: #ffb -} -DIV.auto_complete UL STRONG.highlight { - PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #800; PADDING-TOP: 0px -} -.toogleFormDiv { - BORDER-RIGHT: #a7a6aa 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #a7a6aa 1px solid; MARGIN-TOP: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #a7a6aa 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #a7a6aa 1px solid; BACKGROUND-COLOR: white -} -.toogleInfoDiv { - BORDER-RIGHT: #a7a6aa 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #a7a6aa 1px solid; MARGIN-TOP: 10px; DISPLAY: none; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #a7a6aa 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #a7a6aa 1px solid; BACKGROUND-COLOR: white -} -.inputSection { - MARGIN-BOTTOM: 20px -} -#editBox { - BACKGROUND-COLOR: #eeefcc -} -.leftnav LI A { - PADDING-RIGHT: 2px; BORDER-TOP: #3c78b5 1px solid; DISPLAY: block; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 0px; COLOR: white; PADDING-TOP: 2px; BACKGROUND-COLOR: #3c78b5; TEXT-DECORATION: none -} -.leftnav LI A:active { - COLOR: white -} -.leftnav LI A:visited { - COLOR: white -} -.leftnav LI A:hover { - COLOR: white; BACKGROUND-COLOR: #003366 -} -.replaced { - BACKGROUND-COLOR: #33cc66 -} -.topPadding { - MARGIN-TOP: 20px -} -.form-block { - PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; PADDING-TOP: 6px -} -.form-error-block { - PADDING-RIGHT: 12px; BORDER-TOP: #eeefcc 1px solid; PADDING-LEFT: 12px; BACKGROUND: #fcc; MARGIN-BOTTOM: 6px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: #eeefcc 1px solid -} -.form-element-large { - FONT-WEIGHT: bold; FONT-SIZE: 16px; COLOR: #003366; FONT-FAMILY: Arial, sans-serif -} -.form-element-small { - FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #003366; FONT-FAMILY: Arial, sans-serif -} -.form-header { - PADDING-RIGHT: 12px; BORDER-TOP: #eeefcc 1px solid; PADDING-LEFT: 12px; BACKGROUND: lightyellow; MARGIN-BOTTOM: 6px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: #eeefcc 1px solid -} -.form-header P { - MARGIN: 12px 0px; LINE-HEIGHT: normal -} -.form-block P { - MARGIN: 12px 0px; LINE-HEIGHT: normal -} -.form-error-block P { - MARGIN: 12px 0px; LINE-HEIGHT: normal -} -.form-example { - FONT-SIZE: 11px; COLOR: #888 -} -.form-divider { - MARGIN-BOTTOM: 6px; BORDER-BOTTOM: #ccc 1px solid -} -.form-buttons { - PADDING-RIGHT: 10px; BORDER-TOP: #ccc 1px solid; MARGIN-TOP: 6px; PADDING-LEFT: 10px; BACKGROUND: #eeefcc; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: center -} -.form-buttons INPUT { - WIDTH: 100px -} -.form-block .error { - PADDING-RIGHT: 6px; PADDING-LEFT: 6px; MARGIN-BOTTOM: 6px; PADDING-BOTTOM: 6px; PADDING-TOP: 6px -} +BODY { + FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif +} +P { + FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif +} +TD { + FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif +} +TABLE { + FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif +} +TR { + FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif +} +.bodytext { + FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif +} +.stepfield { + FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif +} +#PageContent { + PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 20px; MARGIN: 0px; PADDING-TOP: 0px; BACKGROUND-COLOR: #fff; TEXT-ALIGN: left +} +BODY { + PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: center +} +.monospaceInput { + FONT: 12px monospace +} +.wiki-content P { + PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 16px 0px; PADDING-TOP: 0px +} +.commentblock P { + PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 16px 0px; PADDING-TOP: 0px +} +.wiki-content-preview { + BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 5px +} +UL { + MARGIN-TOP: 2px; MARGIN-BOTTOM: 2px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px +} +OL { + MARGIN-TOP: 2px; MARGIN-BOTTOM: 2px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px +} +PRE { + PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 5px 5px 5px 15px; PADDING-TOP: 0px; TEXT-ALIGN: left +} +.helpheading { + PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; PADDING-BOTTOM: 4px; MARGIN: 10px 0px 0px; PADDING-TOP: 4px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #d0d9bd +} +.helpcontent { + PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 20px; PADDING-TOP: 4px; BACKGROUND-COLOR: #f5f7f1 +} +.code { + BORDER-RIGHT: #3c78b5 1px dashed; BORDER-TOP: #3c78b5 1px dashed; FONT-SIZE: 11px; MARGIN: 10px; BORDER-LEFT: #3c78b5 1px dashed; LINE-HEIGHT: 13px; BORDER-BOTTOM: #3c78b5 1px dashed; FONT-FAMILY: Courier +} +.focusedComment { + BACKGROUND: #ffffce +} +.commentBox { + BORDER-RIGHT: #bbb 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #bbb 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 5px 0px; BORDER-LEFT: #bbb 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #bbb 1px solid +} +.focusedComment { + BORDER-RIGHT: #bbb 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #bbb 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 5px 0px; BORDER-LEFT: #bbb 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #bbb 1px solid +} +.codeHeader { + PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px dashed; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: center +} +.codeContent { + PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: left +} +.preformatted { + BORDER-RIGHT: #3c78b5 1px dashed; BORDER-TOP: #3c78b5 1px dashed; FONT-SIZE: 11px; MARGIN: 10px; BORDER-LEFT: #3c78b5 1px dashed; LINE-HEIGHT: 13px; BORDER-BOTTOM: #3c78b5 1px dashed; FONT-FAMILY: Courier +} +.preformattedHeader { + PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px dashed; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: center +} +.preformattedContent { + PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BACKGROUND-COLOR: #eeefcc +} +.panel { + BORDER-RIGHT: #3c78b5 1px dashed; BORDER-TOP: #3c78b5 1px dashed; MARGIN: 0px 10px 10px; BORDER-LEFT: #3c78b5 1px dashed; BORDER-BOTTOM: #3c78b5 1px dashed +} +.panelHeader { + PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px dashed; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: center +} +.panelContent { + PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BACKGROUND-COLOR: #eeefcc +} +.anonymousAlert { + BORDER-RIGHT: red 1px dashed; PADDING-RIGHT: 5px; BORDER-TOP: red 1px dashed; PADDING-LEFT: 5px; FONT-SIZE: 11px; PADDING-BOTTOM: 10px; MARGIN: 4px; BORDER-LEFT: red 1px dashed; LINE-HEIGHT: 13px; PADDING-TOP: 10px; BORDER-BOTTOM: red 1px dashed; BACKGROUND-COLOR: #eeefcc +} +.lockAlert { + BORDER-RIGHT: red 1px dashed; PADDING-RIGHT: 5px; BORDER-TOP: red 1px dashed; PADDING-LEFT: 5px; FONT-SIZE: 11px; PADDING-BOTTOM: 10px; MARGIN: 4px; BORDER-LEFT: red 1px dashed; WIDTH: 50%; LINE-HEIGHT: 13px; PADDING-TOP: 10px; BORDER-BOTTOM: red 1px dashed; BACKGROUND-COLOR: #eeefcc +} +.code-keyword { + COLOR: #000091 +} +.code-object { + COLOR: #910091 +} +.code-quote { + COLOR: #009100 +} +.code-comment { + COLOR: #808080 +} +.code-xml .code-keyword { + FONT-WEIGHT: bold +} +.code-tag { + COLOR: #000091 +} +.breadcrumbs { + BORDER-RIGHT: #3c78b5 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: #3c78b5 1px solid; PADDING-LEFT: 0px; FONT-SIZE: 11px; PADDING-BOTTOM: 3px; BORDER-LEFT: #3c78b5 0px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #eeefcc +} +.navmenu { + BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid +} +.menuheading { + PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; PADDING-BOTTOM: 2px; PADDING-TOP: 4px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #eeefcc +} +.menuitems { + PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 20px; PADDING-TOP: 4px +} +.rightpanel { + BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid +} +#helpheading { + PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-TOP: 4px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #d0d9bd; TEXT-ALIGN: left +} +#helpcontent { + PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; PADDING-TOP: 4px; BACKGROUND-COLOR: #f5f7f1 +} +.helptab-unselected { + PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BACKGROUND-COLOR: #f5f7f1 +} +.helptab-selected { + PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BACKGROUND-COLOR: #d0d9bd +} +.helptabs { + PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px; BACKGROUND-COLOR: #f5f7f1 +} +.infopanel-heading { + PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 2px; PADDING-TOP: 4px +} +.pagebody { + +} +.pageheader { + PADDING-RIGHT: 5px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BORDER-BOTTOM: #3c78b5 1px solid +} +.pagetitle { + FONT-WEIGHT: bold; FONT-SIZE: 22px; COLOR: #003366; FONT-FAMILY: Arial, sans-serif +} +.newpagetitle { + COLOR: #ccc! important +} +.steptitle { + FONT-WEIGHT: bold; FONT-SIZE: 18px; MARGIN-BOTTOM: 7px; COLOR: #003366; FONT-FAMILY: Arial, sans-serif +} +.substeptitle { + PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; FONT-SIZE: 12px; PADDING-BOTTOM: 1px; MARGIN: 2px 4px 4px; COLOR: #003366; PADDING-TOP: 2px; FONT-FAMILY: Arial, sans-serif +} +.stepdesc { + MARGIN-TOP: 7px; FONT-WEIGHT: normal; FONT-SIZE: 11px; MARGIN-BOTTOM: 7px; COLOR: #666666; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, arial, sans-serif +} +.steplabel { + FONT-WEIGHT: bold; FLOAT: left; WIDTH: 15%; COLOR: black; MARGIN-RIGHT: 4px; TEXT-ALIGN: right +} +.stepfield { + PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: #eeefcc; PADDING-BOTTOM: 5px; PADDING-TOP: 5px +} +.submitButtons { + MARGIN-TOP: 5px; TEXT-ALIGN: right +} +.formtitle { + FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #003366; FONT-FAMILY: Arial, sans-serif +} +.sectionbottom { + BORDER-BOTTOM: #3c78b5 1px solid +} +.topRow { + BORDER-TOP: #3c78b5 2px solid +} +.tabletitle { + PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 14px; PADDING-BOTTOM: 2px; MARGIN: 8px 4px 2px 0px; COLOR: #003366; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 2px solid; FONT-FAMILY: Arial, sans-serif +} +.pagesubheading { + PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: 5px; COLOR: #666666; PADDING-TOP: 0px +} +HR { + +} +A:link { + COLOR: #003366 +} +A:visited { + COLOR: #003366 +} +A:active { + COLOR: #003366 +} +A:hover { + COLOR: #003366 +} +H1 A:link { + TEXT-DECORATION: none +} +H1 A:visited { + TEXT-DECORATION: none +} +H1 A:active { + TEXT-DECORATION: none +} +H1 A:hover { + BORDER-BOTTOM: #003366 1px dotted +} +UNKNOWN { + MARGIN-TOP: 3px +} +.logocell { + PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px +} +INPUT { + FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: verdana, geneva, arial, sans-serif +} +TEXTAREA { + FONT-SIZE: 11px; COLOR: #333333; FONT-FAMILY: verdana, geneva, arial, sans-serif +} +TEXTAREA.editor { + FONT-SIZE: 11px; COLOR: #333333; FONT-FAMILY: verdana, geneva, arial, sans-serif +} +.spacenametitle-printable { + MARGIN: 0px; FONT: 100 20px/25px Impact, Arial, Helvetica; COLOR: #999999 +} +.spacenametitle-printable A { + COLOR: #999999; TEXT-DECORATION: none +} +.spacenametitle-printable A:visited { + COLOR: #999999; TEXT-DECORATION: none +} +.blogDate { + FONT-WEIGHT: bold; COLOR: black; TEXT-DECORATION: none +} +.blogSurtitle { + BORDER-RIGHT: #ddd 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 3px; BACKGROUND: #eeefcc; PADDING-BOTTOM: 3px; MARGIN: 1px 1px 10px; BORDER-LEFT: #ddd 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ddd 1px solid +} +.blogHeading { + PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 20px; PADDING-BOTTOM: 0px; MARGIN: 0px; LINE-HEIGHT: normal; PADDING-TOP: 0px +} +.blogHeading A { + COLOR: black; TEXT-DECORATION: none +} +.endsection { + MARGIN-TOP: 10px; COLOR: #666666; align: right +} +.endsectionleftnav { + MARGIN-TOP: 10px; COLOR: #666666; align: right +} +H1 { + PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 24px; PADDING-BOTTOM: 2px; MARGIN: 36px 0px 4px; COLOR: #003366; LINE-HEIGHT: normal; PADDING-TOP: 2px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #eeefcc +} +H2 { + PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 18px; PADDING-BOTTOM: 2px; MARGIN: 27px 0px 4px; LINE-HEIGHT: normal; PADDING-TOP: 2px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #eeefcc +} +H3 { + PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 14px; PADDING-BOTTOM: 2px; MARGIN: 21px 0px 4px; LINE-HEIGHT: normal; PADDING-TOP: 2px; BACKGROUND-COLOR: #eeefcc +} +H4 { + PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 12px; PADDING-BOTTOM: 2px; MARGIN: 18px 0px 4px; LINE-HEIGHT: normal; PADDING-TOP: 2px; BACKGROUND-COLOR: #eeefcc +} +H4.search { + PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: normal; FONT-SIZE: 12px; PADDING-BOTTOM: 4px; MARGIN: 18px 0px 4px; LINE-HEIGHT: normal; PADDING-TOP: 4px; BACKGROUND-COLOR: #eeefcc +} +H5 { + PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 10px; PADDING-BOTTOM: 2px; MARGIN: 14px 0px 4px; LINE-HEIGHT: normal; PADDING-TOP: 2px; BACKGROUND-COLOR: #eeefcc +} +H6 { + PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 8px; PADDING-BOTTOM: 2px; MARGIN: 14px 0px 4px; LINE-HEIGHT: normal; PADDING-TOP: 2px; BACKGROUND-COLOR: #eeefcc +} +.smallfont { + FONT-SIZE: 10px +} +.descfont { + FONT-SIZE: 10px; COLOR: #666666 +} +.smallerfont { + FONT-SIZE: 9px +} +.smalltext { + FONT-SIZE: 10px; COLOR: #666666 +} +.smalltext A { + COLOR: #666666 +} +.smalltext-blue { + FONT-SIZE: 10px; COLOR: #3c78b5 +} +.surtitle { + FONT-SIZE: 14px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 1px; COLOR: #666666 +} +.navItemOver { + FONT-WEIGHT: bold; FONT-SIZE: 10px; CURSOR: pointer; COLOR: #ffffff; BACKGROUND-COLOR: #003366; voice-family: inherit +} +.navItemOver A { + COLOR: #ffffff; BACKGROUND-COLOR: #003366; TEXT-DECORATION: none +} +.navItemOver A:visited { + COLOR: #ffffff; BACKGROUND-COLOR: #003366; TEXT-DECORATION: none +} +.navItemOver A:hover { + COLOR: #ffffff; BACKGROUND-COLOR: #003366; TEXT-DECORATION: none +} +.navItem { + FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff; BACKGROUND-COLOR: #3c78b5 +} +.navItem A { + COLOR: #ffffff; TEXT-DECORATION: none +} +.navItem A:hover { + COLOR: #ffffff; TEXT-DECORATION: none +} +.navItem A:visited { + COLOR: #ffffff; TEXT-DECORATION: none +} +DIV.padded { + PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; PADDING-TOP: 4px +} +DIV.thickPadded { + PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px +} +H3.macrolibrariestitle { + MARGIN: 0px +} +DIV.centered { + MARGIN: 10px; TEXT-ALIGN: center +} +DIV.centered TABLE { + MARGIN: 0px auto; TEXT-ALIGN: left +} +.tableview TABLE { + MARGIN: 0px +} +.tableview TH { + PADDING-RIGHT: 0px; PADDING-LEFT: 5px; FONT-SIZE: 12px; PADDING-BOTTOM: 0px; COLOR: #003366; PADDING-TOP: 5px; BORDER-BOTTOM: #3c78b5 2px solid; TEXT-ALIGN: left +} +.tableview TD { + BORDER-RIGHT: #ccc 0px solid; PADDING-RIGHT: 10px; BORDER-TOP: #ccc 0px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 4px; MARGIN: 0px; BORDER-LEFT: #ccc 0px solid; PADDING-TOP: 4px; BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: left +} +.grid { + MARGIN: 2px 0px 5px; BORDER-COLLAPSE: collapse +} +.grid TH { + BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 4px; BACKGROUND: #eeefcc; PADDING-BOTTOM: 2px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: center +} +.grid TD { + BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 3px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid +} +.gridHover { + BACKGROUND-COLOR: #f9f9f9 +} +TD.infocell { + BACKGROUND-COLOR: #eeefcc +} +.label { + FONT-WEIGHT: bold; COLOR: #003366 +} +LABEL { + FONT-WEIGHT: bold; COLOR: #003366 +} +.error { + BACKGROUND-COLOR: #fcc +} +.errorBox { + BORDER-RIGHT: #c00 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #c00 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 5px; BORDER-LEFT: #c00 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #c00 1px solid; BACKGROUND-COLOR: #fcc +} +.errorMessage { + COLOR: #c00 +} +.success { + BACKGROUND-COLOR: #dfd +} +.successBox { + BORDER-RIGHT: #090 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #090 1px solid; MARGIN-TOP: 5px; PADDING-LEFT: 5px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #090 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #090 1px solid; BACKGROUND-COLOR: #dfd +} +BLOCKQUOTE { + PADDING-RIGHT: 10px; PADDING-LEFT: 10px; MARGIN-LEFT: 5px; BORDER-LEFT: #3c78b5 1px solid; MARGIN-RIGHT: 0px +} +TABLE.confluenceTable { + MARGIN: 5px; BORDER-COLLAPSE: collapse +} +TABLE.confluenceTable TD.confluenceTd { + BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 3px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid +} +TABLE.confluenceTable TH.confluenceTh { + BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 3px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: center +} +TD.confluenceTd { + BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 3px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid +} +TH.confluenceTh { + BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 3px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: center +} +DIV.small { + FONT-SIZE: 9px +} +H1.pagename { + MARGIN-TOP: 0px +} +IMG.inline { + +} +.loginform { + BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; MARGIN: 5px; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid +} +.previewnote { + FONT-SIZE: 11px; COLOR: red; TEXT-ALIGN: center +} +.previewcontent { + BACKGROUND: #e0e0e0 +} +.messagecontent { + BACKGROUND: #e0e0e0 +} +.conflictnote { + +} +.createlink { + COLOR: maroon +} +A.createlink { + COLOR: maroon +} +.templateparameter { + FONT-SIZE: 9px; COLOR: darkblue +} +.diffadded { + PADDING-RIGHT: 1px; PADDING-LEFT: 4px; BACKGROUND: #ddffdd; PADDING-BOTTOM: 1px; BORDER-LEFT: darkgreen 4px solid; PADDING-TOP: 1px +} +.diffdeleted { + PADDING-RIGHT: 1px; PADDING-LEFT: 4px; BACKGROUND: #ffdddd; PADDING-BOTTOM: 1px; BORDER-LEFT: darkred 4px solid; COLOR: #999; PADDING-TOP: 1px +} +.diffnochange { + PADDING-RIGHT: 1px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; BORDER-LEFT: lightgrey 4px solid; PADDING-TOP: 1px +} +.differror { + BACKGROUND: brown +} +.diff { + FONT-SIZE: 12px; LINE-HEIGHT: 14px; FONT-FAMILY: lucida console, courier new, fixed-width +} +.diffaddedchars { + FONT-WEIGHT: bolder; BACKGROUND-COLOR: #99ff99 +} +.diffremovedchars { + FONT-WEIGHT: bolder; BACKGROUND-COLOR: #ff9999; TEXT-DECORATION: line-through +} +.greybackground { + BACKGROUND: #eeefcc +} +.greybox { + BORDER-RIGHT: #ddd 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 1px 1px 10px; BORDER-LEFT: #ddd 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ddd 1px solid +} +.borderedGreyBox { + BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeefcc +} +.greyboxfilled { + BORDER-RIGHT: #ddd 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 3px; BACKGROUND: #eeefcc; PADDING-BOTTOM: 3px; MARGIN: 1px 1px 10px; BORDER-LEFT: #ddd 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ddd 1px solid +} +.navBackgroundBox { + PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 22px; BACKGROUND: #3c78b5; PADDING-BOTTOM: 5px; COLOR: white; PADDING-TOP: 5px; FONT-FAMILY: Arial, sans-serif; TEXT-DECORATION: none +} +.previewBoxTop { + BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #3c78b5 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 5px 0px 0px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #3c78b5 0px solid; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: center +} +.previewContent { + BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #3c78b5 0px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 0px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #3c78b5 0px solid; BACKGROUND-COLOR: #fff +} +.previewBoxBottom { + BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #3c78b5 0px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 0px 0px 5px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #eeefcc; TEXT-ALIGN: center +} +.functionbox { + BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #3c78b5 1px solid; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 1px 1px 10px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #eeefcc +} +.functionbox-greyborder { + BORDER-RIGHT: #ddd 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 1px 1px 10px; BORDER-LEFT: #ddd 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #ddd 1px solid; BACKGROUND-COLOR: #eeefcc +} +.search-highlight { + BACKGROUND-COLOR: #ffffcc +} +.rowNormal { + BACKGROUND-COLOR: #ffffff +} +.rowAlternate { + BACKGROUND-COLOR: #f7f7f7 +} +.rowAlternateNoBottomColor { + BACKGROUND-COLOR: #f7f7f7 +} +.rowAlternateNoBottomNoColor { + +} +.rowAlternateNoBottomColor TD { + BORDER-BOTTOM-WIDTH: 0px +} +.rowAlternateNoBottomNoColor TD { + BORDER-BOTTOM-WIDTH: 0px +} +.rowHighlight { + BACKGROUND-COLOR: #eeefcc +} +TD.greenbar { + BORDER-RIGHT: #9c9c9c 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #9c9c9c 1px solid; PADDING-LEFT: 0px; FONT-SIZE: 2px; BACKGROUND: #00df00; PADDING-BOTTOM: 0px; BORDER-LEFT: #9c9c9c 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #9c9c9c 1px solid +} +TD.redbar { + BORDER-RIGHT: #9c9c9c 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #9c9c9c 1px solid; PADDING-LEFT: 0px; FONT-SIZE: 2px; BACKGROUND: #df0000; PADDING-BOTTOM: 0px; BORDER-LEFT: #9c9c9c 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #9c9c9c 1px solid +} +TD.darkredbar { + BORDER-RIGHT: #9c9c9c 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #9c9c9c 1px solid; PADDING-LEFT: 0px; FONT-SIZE: 2px; BACKGROUND: #af0000; PADDING-BOTTOM: 0px; BORDER-LEFT: #9c9c9c 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #9c9c9c 1px solid +} +TR.testpassed { + PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 2px; BACKGROUND: #ddffdd; PADDING-BOTTOM: 0px; PADDING-TOP: 0px +} +TR.testfailed { + PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 2px; BACKGROUND: #ffdddd; PADDING-BOTTOM: 0px; PADDING-TOP: 0px +} +.toolbar { + MARGIN: 0px; BORDER-COLLAPSE: collapse +} +.toolbar TD { + BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: #ccc 1px solid; COLOR: #ccc; PADDING-TOP: 2px; BORDER-BOTTOM: #ccc 1px solid +} +TD.noformatting { + BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: 0px; TEXT-ALIGN: center +} +.commentblock { + MARGIN: 12px 0px +} +.license-eval { + BORDER-TOP: #bbbbbb 1px solid; FONT-SIZE: 10px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: center +} +.license-none { + BORDER-TOP: #bbbbbb 1px solid; FONT-SIZE: 10px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: center +} +.license-nonprofit { + BORDER-TOP: #bbbbbb 1px solid; FONT-SIZE: 10px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: center +} +.license-eval { + BACKGROUND-COLOR: #ffcccc +} +.license-none { + BACKGROUND-COLOR: #ffcccc +} +.license-eval B { + COLOR: #990000 +} +.license-none B { + COLOR: #990000 +} +.license-nonprofit { + BACKGROUND-COLOR: #ffffff +} +.bottomshadow { + BACKGROUND-IMAGE: url(/confluence/images/border/border_bottom.gif); BACKGROUND-REPEAT: repeat-x; HEIGHT: 12px +} +.navmenu .operations LI { + PADDING-LEFT: 0px; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: none +} +.navmenu .operations UL { + PADDING-LEFT: 0px; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: none +} +.navmenu .operations UL { + MARGIN-BOTTOM: 9px +} +.navmenu .label { + +} +.toolbar DIV { + DISPLAY: none +} +.toolbar .label { + DISPLAY: none +} +.toolbar .operations { + DISPLAY: block +} +.toolbar .operations UL { + DISPLAY: inline; PADDING-LEFT: 0px; MARGIN-LEFT: 10px; LIST-STYLE-TYPE: none +} +.toolbar .operations LI { + DISPLAY: inline; LIST-STYLE-TYPE: none +} +#foldertab { + PADDING-RIGHT: 0px; PADDING-LEFT: 8px; PADDING-BOTTOM: 3px; FONT: bold 11px Verdana, sans-serif; MARGIN-LEFT: 0px; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px solid +} +#foldertab LI { + DISPLAY: inline; MARGIN: 0px; LIST-STYLE-TYPE: none +} +#foldertab LI A { + BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: #3c78b5 1px solid; PADDING-LEFT: 0.5em; BACKGROUND: #3c78b5; PADDING-BOTTOM: 3px; MARGIN-LEFT: 3px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px; TEXT-DECORATION: none +} +#foldertab LI A:link { + COLOR: #ffffff +} +#foldertab LI A:visited { + COLOR: #ffffff +} +#foldertab LI A:hover { + BORDER-LEFT-COLOR: #003366; BACKGROUND: #003366; BORDER-BOTTOM-COLOR: #003366; COLOR: #ffffff; BORDER-TOP-COLOR: #003366; BORDER-RIGHT-COLOR: #003366 +} +#foldertab LI A.current { + BACKGROUND: white; COLOR: black; BORDER-BOTTOM: white 1px solid +} +#foldertab LI A.current:link { + COLOR: black +} +#foldertab LI A.current:visited { + COLOR: black +} +#foldertab LI A.current:hover { + BACKGROUND: white; COLOR: black; BORDER-BOTTOM: white 1px solid +} +UL#squaretab { + PADDING-LEFT: 0px; FONT: bold 8px Verdana, sans-serif; MARGIN-LEFT: 0px; WHITE-SPACE: nowrap +} +#squaretab LI { + DISPLAY: inline; LIST-STYLE-TYPE: none +} +#squaretab A { + BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: #3c78b5 1px solid; PADDING-LEFT: 6px; PADDING-BOTTOM: 2px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #3c78b5 1px solid +} +#squaretab A:link { + COLOR: #fff; BACKGROUND-COLOR: #3c78b5; TEXT-DECORATION: none +} +#squaretab A:visited { + COLOR: #fff; BACKGROUND-COLOR: #3c78b5; TEXT-DECORATION: none +} +#squaretab A:hover { + BORDER-LEFT-COLOR: #003366; BORDER-BOTTOM-COLOR: #003366; COLOR: #ffffff; BORDER-TOP-COLOR: #003366; BACKGROUND-COLOR: #003366; TEXT-DECORATION: none; BORDER-RIGHT-COLOR: #003366 +} +#squaretab LI A#current { + BACKGROUND: white; COLOR: black +} +.blogcalendar { + PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: normal; FONT-SIZE: x-small; PADDING-BOTTOM: 2px; LINE-HEIGHT: 140%; PADDING-TOP: 2px; FONT-FAMILY: verdana, arial, sans-serif +} +TABLE.blogcalendar { + BORDER-RIGHT: #3c78b5 1px solid; BORDER-TOP: #3c78b5 1px solid; BORDER-LEFT: #3c78b5 1px solid; BORDER-BOTTOM: #3c78b5 1px solid +} +.blogcalendar TH.calendarhead { + PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: x-small; PADDING-BOTTOM: 2px; TEXT-TRANSFORM: uppercase; COLOR: #ffffff; PADDING-TOP: 2px; LETTER-SPACING: 0.3em; BACKGROUND-COLOR: #3c78b5 +} +A.calendarhead { + PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: x-small; PADDING-BOTTOM: 2px; TEXT-TRANSFORM: uppercase; COLOR: #ffffff; PADDING-TOP: 2px; LETTER-SPACING: 0.3em; BACKGROUND-COLOR: #3c78b5 +} +.calendarhead:visited { + COLOR: white +} +.calendarhead:active { + COLOR: white +} +.calendarhead:hover { + COLOR: white +} +.blogcalendar TH { + PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: x-small; PADDING-BOTTOM: 2px; PADDING-TOP: 2px; BACKGROUND-COLOR: #eeefcc +} +.blogcalendar TD { + FONT-WEIGHT: normal; FONT-SIZE: x-small +} +.searchGroup { + PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #eeefcc; PADDING-BOTTOM: 10px; PADDING-TOP: 0px +} +.searchGroupHeading { + PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; FONT-SIZE: 10px; PADDING-BOTTOM: 1px; COLOR: #ffffff; PADDING-TOP: 2px; BACKGROUND-COLOR: #3c78b5 +} +.searchItem { + PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px +} +.searchItemSelected { + PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; BACKGROUND: #ddd; PADDING-BOTTOM: 1px; PADDING-TOP: 1px +} +.permissionHeading { + BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; FONT-SIZE: 16px; BORDER-LEFT: 0px solid; BORDER-BOTTOM: #bbb 1px solid; TEXT-ALIGN: left +} +.permissionTab { + BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; FONT-SIZE: 10px; BACKGROUND: #3c78b5; BORDER-LEFT: 1px solid; COLOR: #ffffff; BORDER-BOTTOM: 0px solid +} +.permissionSuperTab { + BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BACKGROUND: #003366; BORDER-LEFT: 1px solid; COLOR: #ffffff; BORDER-BOTTOM: 0px solid +} +.permissionCell { + BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BORDER-LEFT: #bbb 1px solid; BORDER-BOTTOM: 0px solid +} +.warningPanel { + BORDER-RIGHT: #f0c000 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: #f0c000 1px solid; PADDING-LEFT: 8px; BACKGROUND: #ffffce; PADDING-BOTTOM: 8px; MARGIN: 10px; BORDER-LEFT: #f0c000 1px solid; PADDING-TOP: 8px; BORDER-BOTTOM: #f0c000 1px solid +} +.alertPanel { + BORDER-RIGHT: #c00 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: #c00 1px solid; PADDING-LEFT: 8px; BACKGROUND: #ffcccc; PADDING-BOTTOM: 8px; MARGIN: 10px; BORDER-LEFT: #c00 1px solid; PADDING-TOP: 8px; BORDER-BOTTOM: #c00 1px solid +} +.infoPanel { + BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: #3c78b5 1px solid; PADDING-LEFT: 8px; BACKGROUND: #d8e4f1; PADDING-BOTTOM: 8px; MARGIN: 10px; BORDER-LEFT: #3c78b5 1px solid; PADDING-TOP: 8px; BORDER-BOTTOM: #3c78b5 1px solid +} +.optionPadded { + PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; PADDING-TOP: 2px +} +.optionSelected { + BORDER-RIGHT: #ddd 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; MARGIN: -1px; BORDER-LEFT: #ddd 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #ddd 1px solid; BACKGROUND-COLOR: #ffffcc +} +.optionSelected A { + FONT-WEIGHT: bold; COLOR: black; TEXT-DECORATION: none +} +.noteMacro { + BORDER-RIGHT: #f0c000 1px solid; BORDER-TOP: #f0c000 1px solid; MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; BORDER-LEFT: #f0c000 1px solid; BORDER-BOTTOM: #f0c000 1px solid; BACKGROUND-COLOR: #ffffce; TEXT-ALIGN: left +} +.warningMacro { + BORDER-RIGHT: #c00 1px solid; BORDER-TOP: #c00 1px solid; MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; BORDER-LEFT: #c00 1px solid; BORDER-BOTTOM: #c00 1px solid; BACKGROUND-COLOR: #fcc; TEXT-ALIGN: left +} +.infoMacro { + BORDER-RIGHT: #3c78b5 1px solid; BORDER-TOP: #3c78b5 1px solid; MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; BORDER-LEFT: #3c78b5 1px solid; BORDER-BOTTOM: #3c78b5 1px solid; BACKGROUND-COLOR: #d8e4f1; TEXT-ALIGN: left +} +.tipMacro { + BORDER-RIGHT: #090 1px solid; BORDER-TOP: #090 1px solid; MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; BORDER-LEFT: #090 1px solid; BORDER-BOTTOM: #090 1px solid; BACKGROUND-COLOR: #dfd; TEXT-ALIGN: left +} +.informationMacroPadding { + PADDING-RIGHT: 0px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; PADDING-TOP: 5px +} +TABLE.infoMacro TD { + BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none +} +TABLE.warningMacro TD { + BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none +} +TABLE.tipMacro TD { + BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none +} +TABLE.noteMacro TD { + BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none +} +TABLE.sectionMacro TD { + BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none +} +TABLE.sectionMacroWithBorder TD.columnMacro { + BORDER-RIGHT: #cccccc 1px dashed; BORDER-TOP: #cccccc 1px dashed; BORDER-LEFT: #cccccc 1px dashed; BORDER-BOTTOM: #cccccc 1px dashed +} +.pagecontent { + PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; TEXT-ALIGN: left +} +.topBarDiv A:link { + COLOR: #ffffff +} +.topBarDiv A:visited { + COLOR: #ffffff +} +.topBarDiv A:active { + COLOR: #ffffff +} +.topBarDiv A:hover { + COLOR: #ffffff +} +.topBarDiv { + COLOR: #ffffff +} +.topBar { + BACKGROUND-COLOR: #003366 +} +.greyLinks A:link { + COLOR: #666666; TEXT-DECORATION: underline +} +.greyLinks A:visited { + COLOR: #666666; TEXT-DECORATION: underline +} +.greyLinks A:active { + COLOR: #666666; TEXT-DECORATION: underline +} +.greyLinks A:hover { + COLOR: #666666; TEXT-DECORATION: underline +} +.greyLinks { + PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; COLOR: #666666; PADDING-TOP: 10px +} +.logoSpaceLink { + COLOR: #999999; TEXT-DECORATION: none +} +.logoSpaceLink A:link { + COLOR: #999999; TEXT-DECORATION: none +} +.logoSpaceLink A:visited { + COLOR: #999999; TEXT-DECORATION: none +} +.logoSpaceLink A:active { + COLOR: #999999; TEXT-DECORATION: none +} +.logoSpaceLink A:hover { + COLOR: #003366; TEXT-DECORATION: none +} +.basicPanelContainer { + BORDER-RIGHT: #3c78b5 1px solid; BORDER-TOP: #3c78b5 1px solid; MARGIN-TOP: 2px; MARGIN-BOTTOM: 8px; BORDER-LEFT: #3c78b5 1px solid; WIDTH: 100%; BORDER-BOTTOM: #3c78b5 1px solid +} +.basicPanelTitle { + PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; PADDING-BOTTOM: 5px; MARGIN: 0px; COLOR: black; PADDING-TOP: 5px; BACKGROUND-COLOR: #eeefcc +} +.basicPanelBody { + PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px +} +.separatorLinks A:link { + COLOR: white +} +.separatorLinks A:visited { + COLOR: white +} +.separatorLinks A:active { + COLOR: white +} +.greynavbar { + BORDER-TOP: #3c78b5 1px solid; MARGIN-TOP: 2px; BACKGROUND-COLOR: #eeefcc +} +DIV.headerField { + FLOAT: left; WIDTH: auto; HEIGHT: 100% +} +.headerFloat { + MARGIN-LEFT: auto; WIDTH: 50% +} +.headerFloatLeft { + FLOAT: left; MARGIN-BOTTOM: 10px; MARGIN-RIGHT: 20px +} +#headerRow { + PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px +} +DIV.license-personal { + COLOR: #ffffff; BACKGROUND-COLOR: #003366 +} +DIV.license-personal A { + COLOR: #ffffff +} +.greyFormBox { + BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px solid +} +.marginlessForm { + MARGIN: 0px +} +.openPageHighlight { + BORDER-RIGHT: #ddd 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: #ddd 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #ddd 1px solid; BACKGROUND-COLOR: #ffffcc +} +.editPageInsertLinks { + FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #666666 +} +.editPageInsertLinks A { + FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #666666 +} +.top10 A { + FONT-WEIGHT: bold; FONT-SIZE: 2em; COLOR: #003366 +} +.top25 A { + FONT-WEIGHT: bold; FONT-SIZE: 1.6em; COLOR: #003366 +} +.top50 A { + FONT-SIZE: 1.4em; COLOR: #003366 +} +.top100 A { + FONT-SIZE: 1.2em; COLOR: #003366 +} +.heatmap { + MARGIN: 0px auto; WIDTH: 95%; LIST-STYLE-TYPE: none +} +.heatmap A { + TEXT-DECORATION: none +} +.heatmap A:hover { + TEXT-DECORATION: underline +} +.heatmap LI { + DISPLAY: inline +} +.minitab { + PADDING-RIGHT: 0px; MARGIN-TOP: 1px; PADDING-LEFT: 8px; FLOAT: none; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 3px; FONT: bold 9px Verdana, sans-serif; MARGIN-LEFT: 0px; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px solid; TEXT-DECORATION: none +} +.selectedminitab { + BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: #3c78b5 1px solid; MARGIN-TOP: 1px; PADDING-LEFT: 0.5em; BACKGROUND: white; PADDING-BOTTOM: 3px; MARGIN-LEFT: 3px; BORDER-LEFT: #3c78b5 1px solid; COLOR: #000000; PADDING-TOP: 3px; BORDER-BOTTOM: white 1px solid; TEXT-DECORATION: none +} +.unselectedminitab { + BORDER-RIGHT: #3c78b5 1px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: #3c78b5 1px solid; MARGIN-TOP: 1px; PADDING-LEFT: 0.5em; BACKGROUND: #3c78b5; PADDING-BOTTOM: 3px; MARGIN-LEFT: 3px; BORDER-LEFT: #3c78b5 1px solid; COLOR: #ffffff; PADDING-TOP: 3px; BORDER-BOTTOM: #3c78b5 1px; TEXT-DECORATION: none +} +A.unselectedminitab:hover { + BORDER-LEFT-COLOR: #003366; BACKGROUND: #003366; BORDER-BOTTOM-COLOR: #003366; COLOR: #ffffff; BORDER-TOP-COLOR: #003366; BORDER-RIGHT-COLOR: #003366 +} +A.unselectedminitab:link { + COLOR: white +} +A.unselectedminitab:visited { + COLOR: white +} +A.selectedminitab:link { + COLOR: black +} +A.selectedminitab:visited { + COLOR: black +} +.linkerror { + BACKGROUND-COLOR: #fcc +} +A.labelOperationLink:link { + TEXT-DECORATION: underline +} +A.labelOperationLink:active { + TEXT-DECORATION: underline +} +A.labelOperationLink:visited { + TEXT-DECORATION: underline +} +A.labelOperationLink:hover { + TEXT-DECORATION: underline +} +A.newLabel:link { + BACKGROUND-COLOR: #ddffdd +} +A.newLabel:active { + BACKGROUND-COLOR: #ddffdd +} +A.newLabel:visited { + BACKGROUND-COLOR: #ddffdd +} +A.newLabel:hover { + BACKGROUND-COLOR: #ddffdd +} +UL.square { + LIST-STYLE-TYPE: square +} +.inline-control-link { + PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-SIZE: 9px; BACKGROUND: #ffc; PADDING-BOTTOM: 2px; TEXT-TRANSFORM: uppercase; COLOR: #666; PADDING-TOP: 2px; TEXT-DECORATION: none +} +.inline-control-link A:link { + TEXT-DECORATION: none +} +.inline-control-link A:active { + TEXT-DECORATION: none +} +.inline-control-link A:visited { + TEXT-DECORATION: none +} +.inline-control-link A:hover { + TEXT-DECORATION: none +} +.inline-control-link { + PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-SIZE: 9px; BACKGROUND: #ffc; PADDING-BOTTOM: 2px; TEXT-TRANSFORM: uppercase; CURSOR: pointer; COLOR: #666; PADDING-TOP: 2px; TEXT-DECORATION: none +} +DIV.auto_complete { + BACKGROUND: #fff; WIDTH: 350px +} +DIV.auto_complete UL { + BORDER-RIGHT: #888 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #888 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: #888 1px solid; WIDTH: 100%; PADDING-TOP: 0px; BORDER-BOTTOM: #888 1px solid; LIST-STYLE-TYPE: none +} +DIV.auto_complete UL LI { + PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-TOP: 3px +} +DIV.auto_complete UL LI.selected { + BACKGROUND-COLOR: #ffb +} +DIV.auto_complete UL STRONG.highlight { + PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #800; PADDING-TOP: 0px +} +.toogleFormDiv { + BORDER-RIGHT: #a7a6aa 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #a7a6aa 1px solid; MARGIN-TOP: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #a7a6aa 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #a7a6aa 1px solid; BACKGROUND-COLOR: white +} +.toogleInfoDiv { + BORDER-RIGHT: #a7a6aa 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #a7a6aa 1px solid; MARGIN-TOP: 10px; DISPLAY: none; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #a7a6aa 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #a7a6aa 1px solid; BACKGROUND-COLOR: white +} +.inputSection { + MARGIN-BOTTOM: 20px +} +#editBox { + BACKGROUND-COLOR: #eeefcc +} +.leftnav LI A { + PADDING-RIGHT: 2px; BORDER-TOP: #3c78b5 1px solid; DISPLAY: block; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 0px; COLOR: white; PADDING-TOP: 2px; BACKGROUND-COLOR: #3c78b5; TEXT-DECORATION: none +} +.leftnav LI A:active { + COLOR: white +} +.leftnav LI A:visited { + COLOR: white +} +.leftnav LI A:hover { + COLOR: white; BACKGROUND-COLOR: #003366 +} +.replaced { + BACKGROUND-COLOR: #33cc66 +} +.topPadding { + MARGIN-TOP: 20px +} +.form-block { + PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; PADDING-TOP: 6px +} +.form-error-block { + PADDING-RIGHT: 12px; BORDER-TOP: #eeefcc 1px solid; PADDING-LEFT: 12px; BACKGROUND: #fcc; MARGIN-BOTTOM: 6px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: #eeefcc 1px solid +} +.form-element-large { + FONT-WEIGHT: bold; FONT-SIZE: 16px; COLOR: #003366; FONT-FAMILY: Arial, sans-serif +} +.form-element-small { + FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #003366; FONT-FAMILY: Arial, sans-serif +} +.form-header { + PADDING-RIGHT: 12px; BORDER-TOP: #eeefcc 1px solid; PADDING-LEFT: 12px; BACKGROUND: lightyellow; MARGIN-BOTTOM: 6px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: #eeefcc 1px solid +} +.form-header P { + MARGIN: 12px 0px; LINE-HEIGHT: normal +} +.form-block P { + MARGIN: 12px 0px; LINE-HEIGHT: normal +} +.form-error-block P { + MARGIN: 12px 0px; LINE-HEIGHT: normal +} +.form-example { + FONT-SIZE: 11px; COLOR: #888 +} +.form-divider { + MARGIN-BOTTOM: 6px; BORDER-BOTTOM: #ccc 1px solid +} +.form-buttons { + PADDING-RIGHT: 10px; BORDER-TOP: #ccc 1px solid; MARGIN-TOP: 6px; PADDING-LEFT: 10px; BACKGROUND: #eeefcc; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: center +} +.form-buttons INPUT { + WIDTH: 100px +} +.form-block .error { + PADDING-RIGHT: 6px; PADDING-LEFT: 6px; MARGIN-BOTTOM: 6px; PADDING-BOTTOM: 6px; PADDING-TOP: 6px +} diff --git a/src/windows/build/makeZip.pl b/src/windows/build/makeZip.pl index 1a1b533c3..30f0cf14b 100644 --- a/src/windows/build/makeZip.pl +++ b/src/windows/build/makeZip.pl @@ -1,84 +1,84 @@ -#!perl -w - -#use strict; - -require "prunefiles.pl"; - -use Data::Dumper; - -sub makeZip { - local ($zip, $config) = @_; - - local $odr = $config->{Config}; ## Options, directories, repository, environment. - local $src = $odr->{src}->{value}; - local $out = $odr->{out}->{value}; - local $zipname = $zip->{filename}; - local $filestem = $config->{Stages}->{PostPackage}->{Config}->{FileStem}->{name}; - $zipname =~ s/%filestem%/$filestem/g; - if (exists $zip->{Requires}) { - local $bMakeIt = 1; - local $rverb = $odr->{repository}->{value}; - local $j = 0; - while ($zip->{Requires}->{Switch}[$j]) { ## Check Require switches - local $switch = $zip->{Requires}->{Switch}[$j]; - if (exists $switch->{name}) { ## Ignore dummy entry - # We handle REPOSITORY and CLEAN switches: - if ($switch->{name} =~ /REPOSITORY/i) { - $bMakeIt &&= ($switch->{value} =~ /$rverb/i); ## Repository verb must match requirement - } - elsif ($switch->{name} =~ /CLEAN/i) { ## Clean must be specified - $bMakeIt &&= $clean; - } - else {print "Error -- Unsupported switch $switch->{name} in Requires in ".Dumper($zip); - $bMakeIt = 0; - } - } - $j++; - } - if ( !$bMakeIt ) { - if (exists $zip->{Requires}->{ErrorMsg}) { - print "Error -- $zip->{Requires}->{ErrorMsg}->{text}\n"; - } - else { - print "Error -- requirements not met for building $zipname.\n"; - } - return 0; - } - } - - local $ziptemp = "$out\\ziptemp"; - chdir "$out"; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - system("rm -rf $ziptemp") if (-d $ziptemp); - die "Fatal -- Couldn't remove $ziptemp" if (-d $ziptemp); - mkdir($ziptemp); - # Set up the zip's config section: - $zip->{Config} = $config->{Stages}->{PostPackage}->{Config}; - # Add to the copylist's config section. Don't copy Postpackage->Config, - # because the CopyList's Config might contain substitution tags. - $zip->{CopyList}->{Config}->{FileStem}->{name} = $config->{Stages}->{PostPackage}->{Config}->{FileStem}->{name}; - $zip->{CopyList}->{Config}->{From}->{root} = "$src\\pismere"; ## Add zip-specific config settings. - $zip->{CopyList}->{Config}->{To}->{root} = $ziptemp; - copyFiles($zip->{CopyList}, $config); - # Drop down into /ziptemp so the path to the added file won't include : - chdir $ziptemp; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - - # Prune any unwanted files or directories from the directory we're about to zip: - pruneFiles($zip, $config); - - local $zipfile = Archive::Zip->new(); - local $topdir = $zip->{topdir}; - $topdir =~ s/%filestem%/$filestem/g; - $zipfile->addTree('.', $topdir); - if (-e $zipname) {!system("rm -f $zipname") or die "Error -- Couldn't remove $zipname.";} - $zipfile->writeToFileNamed($zipname); - chdir("$out"); - print "Info -- chdir to ".`cd`."\n" if ($verbose); - # move .zip from /ziptemp to . - !system("mv -f ziptemp/$zipname .") or die "Error -- Couldn't move $zipname to .."; - system("rm -rf ziptemp") if (-d "ziptemp"); ## Clean up any temp directory. - print "Info -- created $out\\$zipname.\n" if ($verbose); - } - +#!perl -w + +#use strict; + +require "prunefiles.pl"; + +use Data::Dumper; + +sub makeZip { + local ($zip, $config) = @_; + + local $odr = $config->{Config}; ## Options, directories, repository, environment. + local $src = $odr->{src}->{value}; + local $out = $odr->{out}->{value}; + local $zipname = $zip->{filename}; + local $filestem = $config->{Stages}->{PostPackage}->{Config}->{FileStem}->{name}; + $zipname =~ s/%filestem%/$filestem/g; + if (exists $zip->{Requires}) { + local $bMakeIt = 1; + local $rverb = $odr->{repository}->{value}; + local $j = 0; + while ($zip->{Requires}->{Switch}[$j]) { ## Check Require switches + local $switch = $zip->{Requires}->{Switch}[$j]; + if (exists $switch->{name}) { ## Ignore dummy entry + # We handle REPOSITORY and CLEAN switches: + if ($switch->{name} =~ /REPOSITORY/i) { + $bMakeIt &&= ($switch->{value} =~ /$rverb/i); ## Repository verb must match requirement + } + elsif ($switch->{name} =~ /CLEAN/i) { ## Clean must be specified + $bMakeIt &&= $clean; + } + else {print "Error -- Unsupported switch $switch->{name} in Requires in ".Dumper($zip); + $bMakeIt = 0; + } + } + $j++; + } + if ( !$bMakeIt ) { + if (exists $zip->{Requires}->{ErrorMsg}) { + print "Error -- $zip->{Requires}->{ErrorMsg}->{text}\n"; + } + else { + print "Error -- requirements not met for building $zipname.\n"; + } + return 0; + } + } + + local $ziptemp = "$out\\ziptemp"; + chdir "$out"; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + system("rm -rf $ziptemp") if (-d $ziptemp); + die "Fatal -- Couldn't remove $ziptemp" if (-d $ziptemp); + mkdir($ziptemp); + # Set up the zip's config section: + $zip->{Config} = $config->{Stages}->{PostPackage}->{Config}; + # Add to the copylist's config section. Don't copy Postpackage->Config, + # because the CopyList's Config might contain substitution tags. + $zip->{CopyList}->{Config}->{FileStem}->{name} = $config->{Stages}->{PostPackage}->{Config}->{FileStem}->{name}; + $zip->{CopyList}->{Config}->{From}->{root} = "$src\\pismere"; ## Add zip-specific config settings. + $zip->{CopyList}->{Config}->{To}->{root} = $ziptemp; + copyFiles($zip->{CopyList}, $config); + # Drop down into /ziptemp so the path to the added file won't include : + chdir $ziptemp; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + + # Prune any unwanted files or directories from the directory we're about to zip: + pruneFiles($zip, $config); + + local $zipfile = Archive::Zip->new(); + local $topdir = $zip->{topdir}; + $topdir =~ s/%filestem%/$filestem/g; + $zipfile->addTree('.', $topdir); + if (-e $zipname) {!system("rm -f $zipname") or die "Error -- Couldn't remove $zipname.";} + $zipfile->writeToFileNamed($zipname); + chdir("$out"); + print "Info -- chdir to ".`cd`."\n" if ($verbose); + # move .zip from /ziptemp to . + !system("mv -f ziptemp/$zipname .") or die "Error -- Couldn't move $zipname to .."; + system("rm -rf ziptemp") if (-d "ziptemp"); ## Clean up any temp directory. + print "Info -- created $out\\$zipname.\n" if ($verbose); + } + return 1; \ No newline at end of file diff --git a/src/windows/build/pruneFiles.pl b/src/windows/build/pruneFiles.pl index 9e47b1777..0bb517624 100644 --- a/src/windows/build/pruneFiles.pl +++ b/src/windows/build/pruneFiles.pl @@ -1,36 +1,36 @@ -#!perl -w - -#use strict; -use Data::Dumper; - -sub pruneFiles { - local ($xml, $config) = @_; - local $prunes = $xml->{Prunes}; - if (! $prunes) {return 0;} - - # Use Unix find instead of Windows find. Save PATH so we can restore it when we're done: - local $savedPATH = $ENV{PATH}; - $ENV{PATH} = $config->{Config}->{unixfind}->{value}.";".$savedPATH; - print "Info -- Processing prunes in ".`cd`."\n" if ($verbose); - local $pru = $prunes->{Prune}; - local $files = "( "; - local $bFirst = 1; - while (($key, $val) = each %$pru) { - local $flags = $val->{flags}; - $flags = "" if (!$flags); - if (!$bFirst) {$files .= " -or ";} - $bFirst = 0; - $files .= "-".$flags."name $key"; - print "Info -- Looking for filenames matching $key\n" if ($verbose); - } - $files .= " )"; - local $list = `find . $files`; - if (length($list) > 1) { - print "Info -- Pruning $list\n" if ($verbose); - ! system("rm -rf $list") or die "Unable to prune $list"; - } - - $ENV{PATH} = $savedPATH; - } - -return 1; +#!perl -w + +#use strict; +use Data::Dumper; + +sub pruneFiles { + local ($xml, $config) = @_; + local $prunes = $xml->{Prunes}; + if (! $prunes) {return 0;} + + # Use Unix find instead of Windows find. Save PATH so we can restore it when we're done: + local $savedPATH = $ENV{PATH}; + $ENV{PATH} = $config->{Config}->{unixfind}->{value}.";".$savedPATH; + print "Info -- Processing prunes in ".`cd`."\n" if ($verbose); + local $pru = $prunes->{Prune}; + local $files = "( "; + local $bFirst = 1; + while (($key, $val) = each %$pru) { + local $flags = $val->{flags}; + $flags = "" if (!$flags); + if (!$bFirst) {$files .= " -or ";} + $bFirst = 0; + $files .= "-".$flags."name $key"; + print "Info -- Looking for filenames matching $key\n" if ($verbose); + } + $files .= " )"; + local $list = `find . $files`; + if (length($list) > 1) { + print "Info -- Pruning $list\n" if ($verbose); + ! system("rm -rf $list") or die "Unable to prune $list"; + } + + $ENV{PATH} = $savedPATH; + } + +return 1; diff --git a/src/windows/build/repository1.pl b/src/windows/build/repository1.pl index 03ee51952..2f4ee21ae 100644 --- a/src/windows/build/repository1.pl +++ b/src/windows/build/repository1.pl @@ -1,90 +1,90 @@ -#!perl -w - -#use strict; - -sub repository1 { - local ($config) = @_; - local $odr = $config->{Config}; ## Options, directories, repository, environment. - local $src = $odr->{src}->{value}; - local $rverb = $odr->{repository}->{value}; - local $wd = $src."\\pismere"; - - if ($rverb =~ /skip/) {print "Info -- *** Skipping repository access.\n" if ($verbose);} - else { - if ($verbose) {print "Info -- *** Begin fetching sources.\n";} - local $cvspath = "$src"; - if (! -d $cvspath) { ## xcopy will create the entire path for us. - !system("echo foo > a.tmp") or die "Fatal -- Couldn't create temporary file in ".`cd`; - !system("echo F | xcopy a.tmp $cvspath\\a.tmp") or die "Fatal -- Couldn't xcopy to $cvspath."; - !system("rm a.tmp") or die "Fatal -- Couldn't remove temporary file."; - !system("rm $cvspath\\a.tmp") or die "Fatal -- Couldn't remove temporary file."; - } - - # Set up cvs environment variables: - $ENV{CVSROOT} = $odr->{CVSROOT}->{value}; - local $krb5dir = "$wd\\athena\\auth\\krb5"; - - local $cvscmdroot = "cvs $rverb"; - if (length $odr->{cvstag}->{value} > 0) { - $cvscmdroot .= " -r $odr->{cvstag}->{value}"; - } - - if ($rverb =~ /checkout/) { - chdir($src) or die "Fatal -- couldn't chdir to $src\n"; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - my @cvsmodules = ( - 'krb', - 'pismere/athena/util/lib/delaydlls', - 'pismere/athena/util/lib/getopt', - 'pismere/athena/util/guiwrap' - ); - - foreach my $module (@cvsmodules) { - local $cvscmd = $cvscmdroot." ".$module; - if ($verbose) {print "Info -- cvs command: $cvscmd\n";} - !system($cvscmd) or die "Fatal -- command \"$cvscmd\" failed; return code $?\n"; - } - } - else { ## Update. - chdir($wd) or die "Fatal -- couldn't chdir to $wd\n"; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - if ($verbose) {print "Info -- cvs command: $cvscmdroot\n";} - !system($cvscmdroot) or die "Fatal -- command \"$cvscmdroot\" failed; return code $?\n"; - } - - # Set up svn environment variable: - $ENV{SVN_SSH} = "plink.exe"; - # If the directory structure doesn't exist, many cd commands will fail. - if (! -d $krb5dir) { ## xcopy will create the entire path for us. - !system("echo foo > a.tmp") or die "Fatal -- Couldn't create temporary file in ".`cd`; - !system("echo F | xcopy a.tmp $krb5dir\\a.tmp") or die "Fatal -- Couldn't xcopy to $krb5dir."; - !system("rm a.tmp") or die "Fatal -- Couldn't remove temporary file."; - !system("rm $krb5dir\\a.tmp") or die "Fatal -- Couldn't remove temporary file."; - } - - chdir($krb5dir) or die "Fatal -- Couldn't chdir to $krb5dir"; - print "Info -- chdir to ".`cd`."\n" if ($verbose); - my $svncmd = "svn $rverb "; - if ($rverb =~ /checkout/) { # Append the rest of the checkout command: - chdir(".."); - $svncmd .= "svn+ssh://".$odr->{username}->{value}."@".$odr->{SVNURL}->{value}."/krb5/"; - if (length $odr->{svntag}->{value} > 0) { - $svncmd .= "tags/$odr->{svntag}->{value}"; - } - elsif (length $odr->{svnbranch}->{value} > 0) { - $svncmd .= "branches/$odr->{svnbranch}->{value}"; - } - else { - $svncmd .= "trunk"; - } - - $svncmd .= " krb5"; - - } - if ($verbose) {print "Info -- svn command: $svncmd\n";} - !system($svncmd) or die "Fatal -- command \"$svncmd\" failed; return code $?\n"; - if ($verbose) {print "Info -- *** End fetching sources.\n";} - } - } - +#!perl -w + +#use strict; + +sub repository1 { + local ($config) = @_; + local $odr = $config->{Config}; ## Options, directories, repository, environment. + local $src = $odr->{src}->{value}; + local $rverb = $odr->{repository}->{value}; + local $wd = $src."\\pismere"; + + if ($rverb =~ /skip/) {print "Info -- *** Skipping repository access.\n" if ($verbose);} + else { + if ($verbose) {print "Info -- *** Begin fetching sources.\n";} + local $cvspath = "$src"; + if (! -d $cvspath) { ## xcopy will create the entire path for us. + !system("echo foo > a.tmp") or die "Fatal -- Couldn't create temporary file in ".`cd`; + !system("echo F | xcopy a.tmp $cvspath\\a.tmp") or die "Fatal -- Couldn't xcopy to $cvspath."; + !system("rm a.tmp") or die "Fatal -- Couldn't remove temporary file."; + !system("rm $cvspath\\a.tmp") or die "Fatal -- Couldn't remove temporary file."; + } + + # Set up cvs environment variables: + $ENV{CVSROOT} = $odr->{CVSROOT}->{value}; + local $krb5dir = "$wd\\athena\\auth\\krb5"; + + local $cvscmdroot = "cvs $rverb"; + if (length $odr->{cvstag}->{value} > 0) { + $cvscmdroot .= " -r $odr->{cvstag}->{value}"; + } + + if ($rverb =~ /checkout/) { + chdir($src) or die "Fatal -- couldn't chdir to $src\n"; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + my @cvsmodules = ( + 'krb', + 'pismere/athena/util/lib/delaydlls', + 'pismere/athena/util/lib/getopt', + 'pismere/athena/util/guiwrap' + ); + + foreach my $module (@cvsmodules) { + local $cvscmd = $cvscmdroot." ".$module; + if ($verbose) {print "Info -- cvs command: $cvscmd\n";} + !system($cvscmd) or die "Fatal -- command \"$cvscmd\" failed; return code $?\n"; + } + } + else { ## Update. + chdir($wd) or die "Fatal -- couldn't chdir to $wd\n"; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + if ($verbose) {print "Info -- cvs command: $cvscmdroot\n";} + !system($cvscmdroot) or die "Fatal -- command \"$cvscmdroot\" failed; return code $?\n"; + } + + # Set up svn environment variable: + $ENV{SVN_SSH} = "plink.exe"; + # If the directory structure doesn't exist, many cd commands will fail. + if (! -d $krb5dir) { ## xcopy will create the entire path for us. + !system("echo foo > a.tmp") or die "Fatal -- Couldn't create temporary file in ".`cd`; + !system("echo F | xcopy a.tmp $krb5dir\\a.tmp") or die "Fatal -- Couldn't xcopy to $krb5dir."; + !system("rm a.tmp") or die "Fatal -- Couldn't remove temporary file."; + !system("rm $krb5dir\\a.tmp") or die "Fatal -- Couldn't remove temporary file."; + } + + chdir($krb5dir) or die "Fatal -- Couldn't chdir to $krb5dir"; + print "Info -- chdir to ".`cd`."\n" if ($verbose); + my $svncmd = "svn $rverb "; + if ($rverb =~ /checkout/) { # Append the rest of the checkout command: + chdir(".."); + $svncmd .= "svn+ssh://".$odr->{username}->{value}."@".$odr->{SVNURL}->{value}."/krb5/"; + if (length $odr->{svntag}->{value} > 0) { + $svncmd .= "tags/$odr->{svntag}->{value}"; + } + elsif (length $odr->{svnbranch}->{value} > 0) { + $svncmd .= "branches/$odr->{svnbranch}->{value}"; + } + else { + $svncmd .= "trunk"; + } + + $svncmd .= " krb5"; + + } + if ($verbose) {print "Info -- svn command: $svncmd\n";} + !system($svncmd) or die "Fatal -- command \"$svncmd\" failed; return code $?\n"; + if ($verbose) {print "Info -- *** End fetching sources.\n";} + } + } + return 1; \ No newline at end of file diff --git a/src/windows/build/sdkfiles.xml b/src/windows/build/sdkfiles.xml index 37a5f422c..c938107ca 100644 --- a/src/windows/build/sdkfiles.xml +++ b/src/windows/build/sdkfiles.xml @@ -1,23 +1,23 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/windows/build/signFiles.pl b/src/windows/build/signFiles.pl index 65ccb0a11..ea093b1d7 100644 --- a/src/windows/build/signFiles.pl +++ b/src/windows/build/signFiles.pl @@ -1,27 +1,27 @@ -#!perl -w - -#use strict; -use Data::Dumper; - -sub signFiles { - local ($signing, $config) = @_; - local $exprs = $signing->{FilePatterns}->{value}; - local $template = $signing->{CommandTemplate}->{value}; - # Use Unix find instead of Windows find. Save PATH so we can restore it when we're done: - local $savedPATH= $ENV{PATH}; - $ENV{PATH} = $config->{Config}->{unixfind}->{value}.";".$savedPATH; - foreach $expr (split(" ", $exprs)) { ## exprs is something like "*.exe *.dll" - local $cmd = "find . -iname \"$expr\""; - local $list = `$cmd`; ## $list is files matching *.exe, for example. - foreach $target (split("\n", $list)) { - $target =~ s|/|\\|g; ## Flip path separators from unix-style to windows-style. - local $template2 = $template; - $template2 =~ s/%filename%/$target/; - print "Info -- Signing $target\n" if ($verbose); - !system("$template2") or die "Fatal -- Error signing $target."; - } - } - $ENV{PATH} = $savedPATH; - } - +#!perl -w + +#use strict; +use Data::Dumper; + +sub signFiles { + local ($signing, $config) = @_; + local $exprs = $signing->{FilePatterns}->{value}; + local $template = $signing->{CommandTemplate}->{value}; + # Use Unix find instead of Windows find. Save PATH so we can restore it when we're done: + local $savedPATH= $ENV{PATH}; + $ENV{PATH} = $config->{Config}->{unixfind}->{value}.";".$savedPATH; + foreach $expr (split(" ", $exprs)) { ## exprs is something like "*.exe *.dll" + local $cmd = "find . -iname \"$expr\""; + local $list = `$cmd`; ## $list is files matching *.exe, for example. + foreach $target (split("\n", $list)) { + $target =~ s|/|\\|g; ## Flip path separators from unix-style to windows-style. + local $template2 = $template; + $template2 =~ s/%filename%/$target/; + print "Info -- Signing $target\n" if ($verbose); + !system("$template2") or die "Fatal -- Error signing $target."; + } + } + $ENV{PATH} = $savedPATH; + } + return 1; \ No newline at end of file diff --git a/src/windows/build/site-local.sed b/src/windows/build/site-local.sed index 34d68ff66..191d20089 100644 --- a/src/windows/build/site-local.sed +++ b/src/windows/build/site-local.sed @@ -1,2 +1,2 @@ -s/// +s/// s/// \ No newline at end of file diff --git a/src/windows/build/tee.pl b/src/windows/build/tee.pl index a9c30fb45..2c33370af 100644 --- a/src/windows/build/tee.pl +++ b/src/windows/build/tee.pl @@ -1,79 +1,79 @@ -# Usage 'tee filename' -# Make sure that when using this as a perl pipe you -# print a EOF char! -# (This may be a bug in perl 4 for NT) -# -# Use it like: -# open(PIPE, "|$^X tee.pl foo.log") || die "Can't pipe"; -# open(STDOUT, ">&PIPE") || die "Can't dup pipe to stdout"; -# open(STDERR, ">&PIPE") || die "Can't dup pipe to stderr"; - -use IO::File; - -#$SIG{'INT'} = \&handler; -#$SIG{'QUIT'} = \&handler; - -$SIG{'INT'} = 'IGNORE'; -$SIG{'QUIT'} = \&handler; - -my $fh = new IO::File; - -my $arg = shift; -my $file; -my $access = ">"; - -while ($arg) { - if ($arg =~ /-a/) { - $access = ">>"; - } elsif ($arg =~ /-i/) { - $SIG{'INT'} = 'IGNORE'; - $SIG{'QUIT'} = 'IGNORE'; - } else { - $file = $arg; - last; - } - $arg = shift; -} - -STDOUT->autoflush(1); - -if ($file) { - $fh->open($access.$file) || die "Could not open $file\n"; - $fh->autoflush(1); -} - -while (<>) { - $_ = &logtime.$_; - print $_; - print $fh $_ if $file; -} - -sub logtime { - my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); - $mon = $mon + 1; - $year %= 100; - sprintf ("[%02d/%02d/%02d %02d:%02d:%02d] ", - $year, $mon, $mday, - $hour, $min, $sec); -} - -sub handler { - my $sig = shift; - my $bailmsg = &logtime."Bailing out due to SIG$sig!\n"; - my $warnmsg = <&PIPE") || die "Can't dup pipe to stdout"; +# open(STDERR, ">&PIPE") || die "Can't dup pipe to stderr"; + +use IO::File; + +#$SIG{'INT'} = \&handler; +#$SIG{'QUIT'} = \&handler; + +$SIG{'INT'} = 'IGNORE'; +$SIG{'QUIT'} = \&handler; + +my $fh = new IO::File; + +my $arg = shift; +my $file; +my $access = ">"; + +while ($arg) { + if ($arg =~ /-a/) { + $access = ">>"; + } elsif ($arg =~ /-i/) { + $SIG{'INT'} = 'IGNORE'; + $SIG{'QUIT'} = 'IGNORE'; + } else { + $file = $arg; + last; + } + $arg = shift; +} + +STDOUT->autoflush(1); + +if ($file) { + $fh->open($access.$file) || die "Could not open $file\n"; + $fh->autoflush(1); +} + +while (<>) { + $_ = &logtime.$_; + print $_; + print $fh $_ if $file; +} + +sub logtime { + my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $mon = $mon + 1; + $year %= 100; + sprintf ("[%02d/%02d/%02d %02d:%02d:%02d] ", + $year, $mon, $mday, + $hour, $min, $sec); +} + +sub handler { + my $sig = shift; + my $bailmsg = &logtime."Bailing out due to SIG$sig!\n"; + my $warnmsg = <{help} || !$f) { - usage(); - exit(0) if $OPT->{help}; - exit(1); - } - - my $p = $OPT->{path} || $ENV{PATH}; - my $s = $Config{path_sep}; - my @d = split(/$s/, $p); - my @e = split(/$s/, lc($ENV{PATHEXT} || '.bat;.exe;.com')); - my @f = ($f, map { $f.$_; } @e); - my $found = 0; - foreach my $d (@d) { - print "(Searching $d)\n" if $OPT->{debug}; - foreach my $f (@f) { - my $df = $d.'\\'.$f; # cannot use $File::Spec->catfile due to UNC. - print "(Checking for $df)\n" if $OPT->{debug}; - if (-f $df) { - exit(0) if $OPT->{quiet}; - print "$df\n"; - exit(0) if !$OPT->{all}; - $found = 1; - } - } - } - print "Could not find $f\n" if !$found && !$OPT->{quiet}; - exit($found?0:1); -} - -sub usage -{ - print <{help} || !$f) { + usage(); + exit(0) if $OPT->{help}; + exit(1); + } + + my $p = $OPT->{path} || $ENV{PATH}; + my $s = $Config{path_sep}; + my @d = split(/$s/, $p); + my @e = split(/$s/, lc($ENV{PATHEXT} || '.bat;.exe;.com')); + my @f = ($f, map { $f.$_; } @e); + my $found = 0; + foreach my $d (@d) { + print "(Searching $d)\n" if $OPT->{debug}; + foreach my $f (@f) { + my $df = $d.'\\'.$f; # cannot use $File::Spec->catfile due to UNC. + print "(Checking for $df)\n" if $OPT->{debug}; + if (-f $df) { + exit(0) if $OPT->{quiet}; + print "$df\n"; + exit(0) if !$OPT->{all}; + $found = 1; + } + } + } + print "Could not find $f\n" if !$found && !$OPT->{quiet}; + exit($found?0:1); +} + +sub usage +{ + print <{Zips}; - if (! $zipsXML) {return 0;} - - local $i = 0; - while ($zipsXML->{Zip}[$i]) { - local $zip = $zipsXML->{Zip}[$i]; - makeZip($zip, $config) if (exists $zip->{name}); ## Ignore dummy entry. - $i++; - } ## End zip in xml. - } - -return 1; +#!perl -w + +#use strict; +require "makeZip.pl"; + +use Data::Dumper; + +sub zipXML { + local ($xml, $config) = @_; + my $zipsXML = $xml->{Zips}; + if (! $zipsXML) {return 0;} + + local $i = 0; + while ($zipsXML->{Zip}[$i]) { + local $zip = $zipsXML->{Zip}[$i]; + makeZip($zip, $config) if (exists $zip->{name}); ## Ignore dummy entry. + $i++; + } ## End zip in xml. + } + +return 1; diff --git a/src/windows/identity/config/Makefile b/src/windows/identity/config/Makefile index 41e29bf82..e5bc7eea8 100644 --- a/src/windows/identity/config/Makefile +++ b/src/windows/identity/config/Makefile @@ -1,147 +1,147 @@ -# -# Copyright (c) 2004,2005,2006 Massachusetts Institute of Technology -# Copyright (c) 2006 Secure Endpoints Inc. -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation files -# (the "Software"), to deal in the Software without restriction, -# including without limitation the rights to use, copy, modify, merge, -# publish, distribute, sublicense, and/or sell copies of the Software, -# and to permit persons to whom the Software is furnished to do so, -# subject to the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - - -MODULE=config -!include - -all: showvars showvers mkalldirs mkversion - -showvars: - $(ECHO) SRC= $(SRC) - $(ECHO) DESTDIR = $(DESTDIR) - $(ECHO) OBJDIR = $(OBJDIR) - $(ECHO). - $(ECHO) CC = $(CC) - $(ECHO) DOXYGEN = $(DOXYGEN) - $(ECHO) HHC = $(HHC) - -showvers: - $(ECHO) ---- Version Information ---- - $(ECHO) NETIDMGR_VERSION= $(NETIDMGR_VERSION) - $(ECHO) NETIDMGR_VERSION_API=$(NETIDMGR_VERSION_API) - $(ECHO) NETIDMGR_RELEASEDESC=$(NETIDMGR_RELEASEDESC) - $(ECHO) Build Type :$(KH_BUILD), $(KH_RELEASE) - $(ECHO) Strings: - $(ECHO) Company = $(NETIDMGR_SRC_COMPANY_1033) - $(ECHO) Copyright = $(NETIDMGR_SRC_COPYRIGHT_1033) - $(ECHO) ---- End Version Information --- - $(ECHO). - -mkalldirs: -! if !exist($(DESTROOT)) - -$(MKDIR) $(DESTROOT) -! endif -! if !exist($(OBJROOT)) - -$(MKDIR) $(OBJROOT) -! endif -! if !exist($(DESTDIR)) - -$(MKDIR) $(DESTDIR) -! endif -! if !exist($(OBJDIR)) - -$(MKDIR) $(OBJDIR) -! endif -! if !exist($(INCDIR)) - -$(MKDIR) $(INCDIR) -! endif -! if !exist($(BINDIR)) - -$(MKDIR) $(BINDIR) -! endif -! if !exist($(LIBDIR)) - -$(MKDIR) $(LIBDIR) -! endif -! if !exist($(DOCDIR)) - -$(MKDIR) $(DOCDIR) -! endif -! if !exist($(OBJDIR)\W2K) - -$(MKDIR) $(OBJDIR)\W2K -! endif -! if !exist($(BINDIR)\W2K) - -$(MKDIR) $(BINDIR)\W2K -! endif -! if !exist($(LIBDIR)\W2K) - -$(MKDIR) $(LIBDIR)\W2K -! endif - $(ECHO) Done creating directories. - -VERSIONINT=$(INCDIR)\netidmgr_intver.h - -VERSIONEXT=$(INCDIR)\netidmgr_version.h - -# Version related defines - -! if "$(KH_BUILD)"=="RETAIL" -kh_fileflags=0 -! else -kh_fileflags=VS_FF_DEBUG -! endif -! if "$(KH_RELEASE)"=="PRERELEASE" -kh_fileflags=$(kh_fileflags) | VS_FF_PRERELEASE -! elseif "$(KH_RELEASE)"=="PRIVATE" -kh_fileflags=$(kh_fileflags) | VS_FF_PRIVATEBUILD -! elseif "$(KH_RELEASE)"=="SPECIAL" -kh_fileflags=$(kh_fileflags) | VS_FF_SPECIALBUILD -! endif - -kh_fileos=VOS_NT_WINDOWS32 -kh_filetype_app=VFT_APP -kh_filetype_dll=VFT_DLL - -mkversion: $(VERSIONINT) $(VERSIONEXT) - -# Version and build strings - -!if "$(KH_RELEASE)" == "OFFICIAL" -NETIDMGR_VERSION_STR_1033=$(NETIDMGR_VERSION) -NETIDMGR_COMMENT_STR_1033=Official build. Please send bug reports to kfw-bugs@MIT.EDU -!elseif "$(KH_RELEASE)" == "PRERELEASE" -NETIDMGR_VERSION_STR_1033=$(NETIDMGR_VERSION) Prelease $(NETIDMGR_RELEASEDESC) -NETIDMGR_COMMENT_STR_1033=Prerelease build. Please send bug reports to kfw-bugs@MIT.EDU -!elseif "$(KH_RELEASE)" == "PRIVATE" -NETIDMGR_VERSION_STR_1033=$(NETIDMGR_VERSION).PRIVATE -NETIDMGR_PRIVATE_STR_1033=Private build. Please send bug reports to kfw-bugs@MIT.EDU -!elseif "$(KH_RELEASE)" == "SPECIAL" -NETIDMGR_VERSION_STR_1033=$(NETIDMGR_VERSION).SPECIAL -NETIDMGR_SPECIAL_STR_1033=Special build. Please send bug reports to kfw-bugs@MIT.EDU -!endif - -!if "$(KH_BUILD)" == "DEBUG" -NETIDMGR_VERSION_STR_1033=$(NETIDMGR_VERSION_STR_1033).DEBUG -!else -!endif - -NETIDMGR_PRODUCT_1033=NetIDMgr $(NETIDMGR_VERSION_STR_1033) - -!include netidmgr_version.h.in - -!include netidmgr_intver.h.in - -clean:: -! if exist($(VERSIONINT)) - $(RM) $(VERSIONINT) -! endif -! if exist($(VERSIONEXT)) - $(RM) $(VERSIONEXT) -! endif - +# +# Copyright (c) 2004,2005,2006 Massachusetts Institute of Technology +# Copyright (c) 2006 Secure Endpoints Inc. +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + +MODULE=config +!include + +all: showvars showvers mkalldirs mkversion + +showvars: + $(ECHO) SRC= $(SRC) + $(ECHO) DESTDIR = $(DESTDIR) + $(ECHO) OBJDIR = $(OBJDIR) + $(ECHO). + $(ECHO) CC = $(CC) + $(ECHO) DOXYGEN = $(DOXYGEN) + $(ECHO) HHC = $(HHC) + +showvers: + $(ECHO) ---- Version Information ---- + $(ECHO) NETIDMGR_VERSION= $(NETIDMGR_VERSION) + $(ECHO) NETIDMGR_VERSION_API=$(NETIDMGR_VERSION_API) + $(ECHO) NETIDMGR_RELEASEDESC=$(NETIDMGR_RELEASEDESC) + $(ECHO) Build Type :$(KH_BUILD), $(KH_RELEASE) + $(ECHO) Strings: + $(ECHO) Company = $(NETIDMGR_SRC_COMPANY_1033) + $(ECHO) Copyright = $(NETIDMGR_SRC_COPYRIGHT_1033) + $(ECHO) ---- End Version Information --- + $(ECHO). + +mkalldirs: +! if !exist($(DESTROOT)) + -$(MKDIR) $(DESTROOT) +! endif +! if !exist($(OBJROOT)) + -$(MKDIR) $(OBJROOT) +! endif +! if !exist($(DESTDIR)) + -$(MKDIR) $(DESTDIR) +! endif +! if !exist($(OBJDIR)) + -$(MKDIR) $(OBJDIR) +! endif +! if !exist($(INCDIR)) + -$(MKDIR) $(INCDIR) +! endif +! if !exist($(BINDIR)) + -$(MKDIR) $(BINDIR) +! endif +! if !exist($(LIBDIR)) + -$(MKDIR) $(LIBDIR) +! endif +! if !exist($(DOCDIR)) + -$(MKDIR) $(DOCDIR) +! endif +! if !exist($(OBJDIR)\W2K) + -$(MKDIR) $(OBJDIR)\W2K +! endif +! if !exist($(BINDIR)\W2K) + -$(MKDIR) $(BINDIR)\W2K +! endif +! if !exist($(LIBDIR)\W2K) + -$(MKDIR) $(LIBDIR)\W2K +! endif + $(ECHO) Done creating directories. + +VERSIONINT=$(INCDIR)\netidmgr_intver.h + +VERSIONEXT=$(INCDIR)\netidmgr_version.h + +# Version related defines + +! if "$(KH_BUILD)"=="RETAIL" +kh_fileflags=0 +! else +kh_fileflags=VS_FF_DEBUG +! endif +! if "$(KH_RELEASE)"=="PRERELEASE" +kh_fileflags=$(kh_fileflags) | VS_FF_PRERELEASE +! elseif "$(KH_RELEASE)"=="PRIVATE" +kh_fileflags=$(kh_fileflags) | VS_FF_PRIVATEBUILD +! elseif "$(KH_RELEASE)"=="SPECIAL" +kh_fileflags=$(kh_fileflags) | VS_FF_SPECIALBUILD +! endif + +kh_fileos=VOS_NT_WINDOWS32 +kh_filetype_app=VFT_APP +kh_filetype_dll=VFT_DLL + +mkversion: $(VERSIONINT) $(VERSIONEXT) + +# Version and build strings + +!if "$(KH_RELEASE)" == "OFFICIAL" +NETIDMGR_VERSION_STR_1033=$(NETIDMGR_VERSION) +NETIDMGR_COMMENT_STR_1033=Official build. Please send bug reports to kfw-bugs@MIT.EDU +!elseif "$(KH_RELEASE)" == "PRERELEASE" +NETIDMGR_VERSION_STR_1033=$(NETIDMGR_VERSION) Prelease $(NETIDMGR_RELEASEDESC) +NETIDMGR_COMMENT_STR_1033=Prerelease build. Please send bug reports to kfw-bugs@MIT.EDU +!elseif "$(KH_RELEASE)" == "PRIVATE" +NETIDMGR_VERSION_STR_1033=$(NETIDMGR_VERSION).PRIVATE +NETIDMGR_PRIVATE_STR_1033=Private build. Please send bug reports to kfw-bugs@MIT.EDU +!elseif "$(KH_RELEASE)" == "SPECIAL" +NETIDMGR_VERSION_STR_1033=$(NETIDMGR_VERSION).SPECIAL +NETIDMGR_SPECIAL_STR_1033=Special build. Please send bug reports to kfw-bugs@MIT.EDU +!endif + +!if "$(KH_BUILD)" == "DEBUG" +NETIDMGR_VERSION_STR_1033=$(NETIDMGR_VERSION_STR_1033).DEBUG +!else +!endif + +NETIDMGR_PRODUCT_1033=NetIDMgr $(NETIDMGR_VERSION_STR_1033) + +!include netidmgr_version.h.in + +!include netidmgr_intver.h.in + +clean:: +! if exist($(VERSIONINT)) + $(RM) $(VERSIONINT) +! endif +! if exist($(VERSIONEXT)) + $(RM) $(VERSIONEXT) +! endif + diff --git a/src/windows/identity/config/netidmgr_intver.h.in b/src/windows/identity/config/netidmgr_intver.h.in index 15d47217f..e025fde20 100644 --- a/src/windows/identity/config/netidmgr_intver.h.in +++ b/src/windows/identity/config/netidmgr_intver.h.in @@ -1,47 +1,47 @@ -$(VERSIONINT): Makefile Makefile.w32 - $(CP) << $(VERSIONINT) -/* - * This is an autogenerated file. Do not modify directly. - * - * File generated by running $(MAKE) in $(MAKEDIR) - * To regenerate, run "$(MAKE) clean" and "$(MAKE) all" on $(MAKEDIR) - */ -#ifndef __NETIDMGR_VERSION_INTERNAL_H -#define __NETIDMGR_VERSION_INTERNAL_H - -#include - -/* Language specific version strings */ -#define KH_VERSTR_COMPANY_1033 "$(NETIDMGR_SRC_COMPANY_1033)" -#define KH_VERSTR_COPYRIGHT_1033 "$(NETIDMGR_SRC_COPYRIGHT_1033)" -#define KH_VERSTR_PRODUCT_1033 "$(NETIDMGR_PRODUCT_1033)" -#define KH_VERSTR_VERSION_1033 "$(NETIDMGR_VERSION_STR_1033)" - -!ifdef NETIDMGR_COMMENT_STR_1033 -#define KH_VERSTR_COMMENT_1033 "$(NETIDMGR_COMMENT_STR_1033)" -#define KH_VERSTR_BUILDINFO_1033 KH_VERSTR_COMMENT_1033 -!endif -!ifdef NETIDMGR_PRIVATE_STR_1033 -#define KH_VERSTR_PRIVATE_1033 "$(NETIDMGR_PRIVATE_STR_1033)" -#define KH_VERSTR_BUILDINFO_1033 KH_VERSTR_PRIVATE_1033 -!endif -!ifdef NETIDMGR_SPECIAL_STR_1033 -#define KH_VERSTR_SPECIAL_1033 "$(NETIDMGR_SPECIAL_STR_1033)" -#define KH_VERSTR_BUILDINFO_1033 KH_VERSTR_SPECIAL_1033 -!endif -#endif - -#define KH_BUILD "$(KH_BUILD)" - -! if "$(KH_BUILD)"=="RETAIL" -#define KH_BUILD_RETAIL -! elseif "$(KH_RELEASE)"=="PRERELEASE" -#define KH_BUILD_PRERELEASE -! elseif "$(KH_RELEASE)"=="PRIVATE" -#define KH_BUILD_PRIVATE -! elseif "$(KH_RELEASE)"=="SPECIAL" -#define KH_BUILD_SPECIAL -! endif - -<< - +$(VERSIONINT): Makefile Makefile.w32 + $(CP) << $(VERSIONINT) +/* + * This is an autogenerated file. Do not modify directly. + * + * File generated by running $(MAKE) in $(MAKEDIR) + * To regenerate, run "$(MAKE) clean" and "$(MAKE) all" on $(MAKEDIR) + */ +#ifndef __NETIDMGR_VERSION_INTERNAL_H +#define __NETIDMGR_VERSION_INTERNAL_H + +#include + +/* Language specific version strings */ +#define KH_VERSTR_COMPANY_1033 "$(NETIDMGR_SRC_COMPANY_1033)" +#define KH_VERSTR_COPYRIGHT_1033 "$(NETIDMGR_SRC_COPYRIGHT_1033)" +#define KH_VERSTR_PRODUCT_1033 "$(NETIDMGR_PRODUCT_1033)" +#define KH_VERSTR_VERSION_1033 "$(NETIDMGR_VERSION_STR_1033)" + +!ifdef NETIDMGR_COMMENT_STR_1033 +#define KH_VERSTR_COMMENT_1033 "$(NETIDMGR_COMMENT_STR_1033)" +#define KH_VERSTR_BUILDINFO_1033 KH_VERSTR_COMMENT_1033 +!endif +!ifdef NETIDMGR_PRIVATE_STR_1033 +#define KH_VERSTR_PRIVATE_1033 "$(NETIDMGR_PRIVATE_STR_1033)" +#define KH_VERSTR_BUILDINFO_1033 KH_VERSTR_PRIVATE_1033 +!endif +!ifdef NETIDMGR_SPECIAL_STR_1033 +#define KH_VERSTR_SPECIAL_1033 "$(NETIDMGR_SPECIAL_STR_1033)" +#define KH_VERSTR_BUILDINFO_1033 KH_VERSTR_SPECIAL_1033 +!endif +#endif + +#define KH_BUILD "$(KH_BUILD)" + +! if "$(KH_BUILD)"=="RETAIL" +#define KH_BUILD_RETAIL +! elseif "$(KH_RELEASE)"=="PRERELEASE" +#define KH_BUILD_PRERELEASE +! elseif "$(KH_RELEASE)"=="PRIVATE" +#define KH_BUILD_PRIVATE +! elseif "$(KH_RELEASE)"=="SPECIAL" +#define KH_BUILD_SPECIAL +! endif + +<< + diff --git a/src/windows/identity/config/netidmgr_version.h.in b/src/windows/identity/config/netidmgr_version.h.in index be53060d0..febbeb3d7 100644 --- a/src/windows/identity/config/netidmgr_version.h.in +++ b/src/windows/identity/config/netidmgr_version.h.in @@ -1,63 +1,63 @@ -$(VERSIONEXT): Makefile Makefile.w32 - $(CP) << $(VERSIONEXT) -/* Copyright (c) 2004 Massachusetts Institute of Technology - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ - -#ifndef __NETIDMGR_VERSION_H -#define __NETIDMGR_VERSION_H - -#include - -/* Version number macros */ -#define KH_VERSION_MAJOR $(NETIDMGR_VERSION_MAJOR) -#define KH_VERSION_MINOR $(NETIDMGR_VERSION_MINOR) -#define KH_VERSION_PATCH $(NETIDMGR_VERSION_PATCH) -#define KH_VERSION_AUX $(NETIDMGR_VERSION_AUX) - -#define KH_VERSION_API $(NETIDMGR_VERSION_API) -#define KH_VERSION_API_MINCOMPAT $(NETIDMGR_VERSION_API_MINCOMPAT) - -#define KH_VERSION_LIST $(NETIDMGR_VERSIONC) -#define KH_VERSION_STRING "$(NETIDMGR_VERSION)" -#define KH_VERSION_STRINGW L"$(NETIDMGR_VERSION)" -#define KH_VERSION_STRINGC "$(NETIDMGR_VERSIONC)" -#define KH_VERSION_STRINGCW L"$(NETIDMGR_VERSIONC)" -#define KH_VERSION_STRINGAPI "$(NETIDMGR_VERSION_API)" - -/* Version definition macros */ -#define KH_VER_FILEFLAGMASK 0x17L -#define KH_VER_FILEFLAGS $(kh_fileflags) -#define KH_VER_FILEOS $(kh_fileos) -#define KH_VER_FILETYPEDLL $(kh_filetype_dll) -#define KH_VER_FILETYPEAPP $(kh_filetype_app) - -/* Special macros for NetIDMgr special string resources */ -#define NIMV_MODULE "NIDM_Module" -#define NIMV_PLUGINS "NIDM_Plugins" -#define NIMV_APIVER "NIDM_APIVers" -#define NIMV_SUPPORT "NIDM_Support" - -#endif -<< - +$(VERSIONEXT): Makefile Makefile.w32 + $(CP) << $(VERSIONEXT) +/* Copyright (c) 2004 Massachusetts Institute of Technology + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +#ifndef __NETIDMGR_VERSION_H +#define __NETIDMGR_VERSION_H + +#include + +/* Version number macros */ +#define KH_VERSION_MAJOR $(NETIDMGR_VERSION_MAJOR) +#define KH_VERSION_MINOR $(NETIDMGR_VERSION_MINOR) +#define KH_VERSION_PATCH $(NETIDMGR_VERSION_PATCH) +#define KH_VERSION_AUX $(NETIDMGR_VERSION_AUX) + +#define KH_VERSION_API $(NETIDMGR_VERSION_API) +#define KH_VERSION_API_MINCOMPAT $(NETIDMGR_VERSION_API_MINCOMPAT) + +#define KH_VERSION_LIST $(NETIDMGR_VERSIONC) +#define KH_VERSION_STRING "$(NETIDMGR_VERSION)" +#define KH_VERSION_STRINGW L"$(NETIDMGR_VERSION)" +#define KH_VERSION_STRINGC "$(NETIDMGR_VERSIONC)" +#define KH_VERSION_STRINGCW L"$(NETIDMGR_VERSIONC)" +#define KH_VERSION_STRINGAPI "$(NETIDMGR_VERSION_API)" + +/* Version definition macros */ +#define KH_VER_FILEFLAGMASK 0x17L +#define KH_VER_FILEFLAGS $(kh_fileflags) +#define KH_VER_FILEOS $(kh_fileos) +#define KH_VER_FILETYPEDLL $(kh_filetype_dll) +#define KH_VER_FILETYPEAPP $(kh_filetype_app) + +/* Special macros for NetIDMgr special string resources */ +#define NIMV_MODULE "NIDM_Module" +#define NIMV_PLUGINS "NIDM_Plugins" +#define NIMV_APIVER "NIDM_APIVers" +#define NIMV_SUPPORT "NIDM_Support" + +#endif +<< + diff --git a/src/windows/identity/doc/Makefile b/src/windows/identity/doc/Makefile index 89380aff3..db40d0f65 100644 --- a/src/windows/identity/doc/Makefile +++ b/src/windows/identity/doc/Makefile @@ -1,71 +1,71 @@ -# -# Copyright (c) 2004 Massachusetts Institute of Technology -# Copyright (c) 2007 Secure Endpoints Inc. -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation files -# (the "Software"), to deal in the Software without restriction, -# including without limitation the rights to use, copy, modify, merge, -# publish, distribute, sublicense, and/or sell copies of the Software, -# and to permit persons to whom the Software is furnished to do so, -# subject to the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - - -MODULE=doc -!include <../config/Makefile.w32> - -all: mkdirs docs - -docs: - $(DOXYGEN) << -@INCLUDE = doxyfile.cfg - -PROJECT_NUMBER = "$(KHIMAIRA_VERSION)" - -OUTPUT_DIRECTORY = "$(DOCDIR)" - -STRIP_FROM_PATH = "$(SRC)" - -INTERNAL_DOCS = NO - -WARN_LOGFILE = "$(OBJ)\doxywarnings.txt" - -INPUT = "$(SRC)\include" -INPUT += "$(SRC)\kconfig" -INPUT += "$(SRC)\kcreddb" -INPUT += "$(SRC)\kmq" -INPUT += "$(SRC)\ui" -INPUT += "$(SRC)\uilib" -INPUT += "$(SRC)\util" -INPUT += "$(SRC)\doc" -INPUT += "$(SRC)\kmm" -INPUT += "$(SRC)\kherr" -!ifdef BUILD_AFS -INPUT += "$(SRC)\plugins\afs" - -ALIASES = "apiversion=$(NETIDMGR_VERSION_API)" -!endif - -IMAGE_PATH = "$(SRC)\doc\images" - -INCLUDE_PATH = "$(INCDIR)" "$(SRC)\include" - -CHM_FILE = "$(DOCDIR)\netiddev.chm" -<< - -$(HHC) $(DOCDIR)\html\index.hhp - -clean:: - if exist "$(DOCDIR)/html" $(RMDIR) /s /q "$(DOCDIR)\html" - if exist "$(DOCDIR)" $(RM) "$(DOCDIR)\*.*" +# +# Copyright (c) 2004 Massachusetts Institute of Technology +# Copyright (c) 2007 Secure Endpoints Inc. +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + +MODULE=doc +!include <../config/Makefile.w32> + +all: mkdirs docs + +docs: + $(DOXYGEN) << +@INCLUDE = doxyfile.cfg + +PROJECT_NUMBER = "$(KHIMAIRA_VERSION)" + +OUTPUT_DIRECTORY = "$(DOCDIR)" + +STRIP_FROM_PATH = "$(SRC)" + +INTERNAL_DOCS = NO + +WARN_LOGFILE = "$(OBJ)\doxywarnings.txt" + +INPUT = "$(SRC)\include" +INPUT += "$(SRC)\kconfig" +INPUT += "$(SRC)\kcreddb" +INPUT += "$(SRC)\kmq" +INPUT += "$(SRC)\ui" +INPUT += "$(SRC)\uilib" +INPUT += "$(SRC)\util" +INPUT += "$(SRC)\doc" +INPUT += "$(SRC)\kmm" +INPUT += "$(SRC)\kherr" +!ifdef BUILD_AFS +INPUT += "$(SRC)\plugins\afs" + +ALIASES = "apiversion=$(NETIDMGR_VERSION_API)" +!endif + +IMAGE_PATH = "$(SRC)\doc\images" + +INCLUDE_PATH = "$(INCDIR)" "$(SRC)\include" + +CHM_FILE = "$(DOCDIR)\netiddev.chm" +<< + -$(HHC) $(DOCDIR)\html\index.hhp + +clean:: + if exist "$(DOCDIR)/html" $(RMDIR) /s /q "$(DOCDIR)\html" + if exist "$(DOCDIR)" $(RM) "$(DOCDIR)\*.*" diff --git a/src/windows/identity/doc/doxyfile.cfg b/src/windows/identity/doc/doxyfile.cfg index e26923566..7bb3092fe 100644 --- a/src/windows/identity/doc/doxyfile.cfg +++ b/src/windows/identity/doc/doxyfile.cfg @@ -1,1259 +1,1259 @@ -# Doxyfile 1.5.2 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file that -# follow. The default is UTF-8 which is also the encoding used for all text before -# the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into -# libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of -# possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = "Network Identity Manager" - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, -# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, -# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, -# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like the Qt-style comments (thus requiring an -# explicit @brief command for a brief description. - -JAVADOC_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -DETAILS_AT_TOP = YES - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 4 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for Java. -# For instance, namespaces will be presented as packages, qualified scopes -# will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to -# include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = YES - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from the -# version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = - -# This tag can be used to specify the character encoding of the source files that -# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default -# input encoding. Doxygen uses libiconv (or the iconv built into libc) for the transcoding. -# See http://www.gnu.org/software/libiconv for the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the output. -# The symbol name can be a fully qualified name, a word, or if the wildcard * is used, -# a substring. Examples: ANamespace, AClass, AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentstion. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = header.html - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = footer.html - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = stylesheet.css - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = YES - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = YES - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. - -GENERATE_TREEVIEW = YES - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = _WIN32 \ - UNICODE \ - _UNICODE - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to -# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to -# specify the directory where the mscgen tool resides. If left empty the tool is assumed to -# be found in the default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a call dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable call graphs for selected -# functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a caller dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable caller graphs for selected -# functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen will always -# show the root nodes and its direct children regardless of this setting. - -DOT_GRAPH_MAX_NODES = 50 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, which results in a white background. -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO +# Doxyfile 1.5.2 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file that +# follow. The default is UTF-8 which is also the encoding used for all text before +# the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into +# libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of +# possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = "Network Identity Manager" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, +# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, +# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, +# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explicit @brief command for a brief description. + +JAVADOC_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = YES + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for Java. +# For instance, namespaces will be presented as packages, qualified scopes +# will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to +# include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = YES + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from the +# version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = + +# This tag can be used to specify the character encoding of the source files that +# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default +# input encoding. Doxygen uses libiconv (or the iconv built into libc) for the transcoding. +# See http://www.gnu.org/software/libiconv for the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py + +FILE_PATTERNS = + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the output. +# The symbol name can be a fully qualified name, a word, or if the wildcard * is used, +# a substring. Examples: ANamespace, AClass, AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. Otherwise they will link to the documentstion. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = YES + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = header.html + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = footer.html + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = stylesheet.css + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = YES + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = YES + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = YES + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = _WIN32 \ + UNICODE \ + _UNICODE + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to +# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to +# specify the directory where the mscgen tool resides. If left empty the tool is assumed to +# be found in the default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a call dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected +# functions only using the \callgraph command. + +CALL_GRAPH = NO + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a caller dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable caller graphs for selected +# functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen will always +# show the root nodes and its direct children regardless of this setting. + +DOT_GRAPH_MAX_NODES = 50 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, which results in a white background. +# Warning: Depending on the platform used, enabling this option may lead to +# badly anti-aliased labels on the edges of a graph (i.e. they become hard to +# read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = NO + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO diff --git a/src/windows/identity/doc/footer.html b/src/windows/identity/doc/footer.html index c46b93960..6383e6a57 100644 --- a/src/windows/identity/doc/footer.html +++ b/src/windows/identity/doc/footer.html @@ -1,21 +1,21 @@ -
- - - - - - -
-
- Generated on $datetime for $projectname $projectnumber by Doxygen $doxygenversion
- © 2004-2007 Massachusetts Institute of Technology.
- © 2005-2007 Secure Endpoints Inc.
- Contact khimaira@mit.edu
-
-
-
- -
- - - +
+ + + + + + +
+
+ Generated on $datetime for $projectname $projectnumber by Doxygen $doxygenversion
+ © 2004-2007 Massachusetts Institute of Technology.
+ © 2005-2007 Secure Endpoints Inc.
+ Contact khimaira@mit.edu
+
+
+
+ +
+ + + diff --git a/src/windows/identity/doc/header.html b/src/windows/identity/doc/header.html index d696ed5bb..b85d6a1e7 100644 --- a/src/windows/identity/doc/header.html +++ b/src/windows/identity/doc/header.html @@ -1,6 +1,6 @@ - - -$title - - - + + +$title + + + diff --git a/src/windows/identity/doc/stylesheet.css b/src/windows/identity/doc/stylesheet.css index d5af4e91c..f1183ee37 100644 --- a/src/windows/identity/doc/stylesheet.css +++ b/src/windows/identity/doc/stylesheet.css @@ -1,387 +1,387 @@ -BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { - font-family: Geneva, Arial, Helvetica, sans-serif; -} -BODY,TD { - font-size: 90%; -} -H1 { - text-align: center; - font-size: 160%; - border-bottom: 1px solid #88b7c8; - margin-bottom: 1em; - padding-top: 0.5em; - padding-bottom: 0.5em; - background-color: #e8eef2; -} -H2 { - margin-top: 1em; - font-size: 120%; - padding: 0.5em; - background-color: #f0f0f0; - border-bottom: 1px solid #888888; -} -H3 { - font-size: 100%; -} - -H4 { - font-size: 100%; -} - -CAPTION { font-weight: bold } -DIV.qindex { - width: 100%; - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; -} -DIV.nav { - width: 100%; - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; -} -DIV.navtab { - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} -TD.navtab { - font-size: 70%; -} -A.qindex { - text-decoration: none; - font-weight: bold; - color: #1A419D; -} -A.qindex:visited { - text-decoration: none; - font-weight: bold; - color: #1A419D -} -A.qindex:hover { - text-decoration: none; - background-color: #ddddff; -} -A.qindexHL { - text-decoration: none; - font-weight: bold; - background-color: #6666cc; - color: #ffffff; - border: 1px double #9295C2; -} -A.qindexHL:hover { - text-decoration: none; - background-color: #6666cc; - color: #ffffff; -} -A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } -A.el { text-decoration: none; font-weight: bold } -A.elRef { font-weight: bold } -A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} -A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} -A.codeRef:link { font-weight: normal; color: #0000FF} -A.codeRef:visited { font-weight: normal; color: #0000FF} -A:hover { text-decoration: none; background-color: #f2f2ff } -DL.el { margin-left: -1cm } -.fragment { - font-family: monospace, fixed; - font-size: 95%; -} -PRE.fragment { - border: 1px solid #CCCCCC; - background-color: #f5f5f5; - margin-top: 4px; - margin-bottom: 4px; - margin-left: 2px; - margin-right: 8px; - padding-left: 6px; - padding-right: 6px; - padding-top: 4px; - padding-bottom: 4px; -} -DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } - -DIV.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: bold; -} -DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% } -BODY { - background: white; - color: black; - margin-right: 20px; - margin-left: 20px; -} -TD.indexkey { - background-color: #e8eef2; - font-weight: bold; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TD.indexvalue { - background-color: #e8eef2; - font-style: italic; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TR.memlist { - background-color: #f0f0f0; -} -P.formulaDsp { text-align: center; } -IMG.formulaDsp { } -IMG.formulaInl { vertical-align: middle; } -SPAN.keyword { color: #008000 } -SPAN.keywordtype { color: #604020 } -SPAN.keywordflow { color: #e08000 } -SPAN.comment { color: #800000 } -SPAN.preprocessor { color: #806020 } -SPAN.stringliteral { color: #002080 } -SPAN.charliteral { color: #008080 } -.mdescLeft { - padding: 0px 8px 4px 8px; - font-size: 80%; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.mdescRight { - padding: 0px 8px 4px 8px; - font-size: 80%; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.memItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplParams { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - color: #606060; - background-color: #FAFAFA; - font-size: 80%; -} -.search { color: #003399; - font-weight: bold; -} -FORM.search { - margin-bottom: 0px; - margin-top: 0px; -} -INPUT.search { font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -TD.tiny { font-size: 75%; -} -a { - color: #1A41A8; -} -a:visited { - color: #2A3798; -} -.dirtab { padding: 4px; - border-collapse: collapse; - border: 1px solid #84b0c7; -} -TH.dirtab { background: #e8eef2; - font-weight: bold; -} -HR { height: 1px; - border: none; - border-top: 1px solid black; - border-color: #88b7c8; -} - -/* Style for detailed member documentation */ -.memtemplate { - font-size: 80%; - color: #606060; - font-weight: normal; -} -.memnav { - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} -.memitem { - padding: 4px; - background-color: #eef3f5; - border-width: 1px; - border-style: solid; - border-color: #dedeee; - -moz-border-radius: 8px 8px 8px 8px; -} -.memname { - white-space: nowrap; - font-weight: bold; -} -.memdoc{ - padding-left: 10px; -} -.memproto { - background-color: #d5e1e8; - width: 100%; - border-width: 1px; - border-style: solid; - border-color: #84b0c7; - font-weight: bold; - -moz-border-radius: 8px 8px 8px 8px; -} -.paramkey { - text-align: right; -} -.paramtype { - white-space: nowrap; -} -.paramname { - color: #602020; - font-style: italic; - white-space: nowrap; -} -/* End Styling for detailed member documentation */ - -/* for the tree view */ -.ftvtree { - font-family: sans-serif; - margin:0.5em; -} -.directory { font-size: 9pt; font-weight: bold; } -.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; } -.directory > h3 { margin-top: 0; } -.directory p { margin: 0px; white-space: nowrap; } -.directory div { display: none; margin: 0px; } -.directory img { vertical-align: -30%; } - -DL.note { - background-color: #eeeeee; - width: 100%; - border-width: 1px; - border-style: solid; - border-color: #bbbbbb; - -moz-border-radius: 4px 4px 4px 4px; -} - -DL.note DT { - font-size: 75%; -} - +BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { + font-family: Geneva, Arial, Helvetica, sans-serif; +} +BODY,TD { + font-size: 90%; +} +H1 { + text-align: center; + font-size: 160%; + border-bottom: 1px solid #88b7c8; + margin-bottom: 1em; + padding-top: 0.5em; + padding-bottom: 0.5em; + background-color: #e8eef2; +} +H2 { + margin-top: 1em; + font-size: 120%; + padding: 0.5em; + background-color: #f0f0f0; + border-bottom: 1px solid #888888; +} +H3 { + font-size: 100%; +} + +H4 { + font-size: 100%; +} + +CAPTION { font-weight: bold } +DIV.qindex { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.nav { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.navtab { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} +TD.navtab { + font-size: 70%; +} +A.qindex { + text-decoration: none; + font-weight: bold; + color: #1A419D; +} +A.qindex:visited { + text-decoration: none; + font-weight: bold; + color: #1A419D +} +A.qindex:hover { + text-decoration: none; + background-color: #ddddff; +} +A.qindexHL { + text-decoration: none; + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} +A.qindexHL:hover { + text-decoration: none; + background-color: #6666cc; + color: #ffffff; +} +A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } +A.el { text-decoration: none; font-weight: bold } +A.elRef { font-weight: bold } +A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} +A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} +A.codeRef:link { font-weight: normal; color: #0000FF} +A.codeRef:visited { font-weight: normal; color: #0000FF} +A:hover { text-decoration: none; background-color: #f2f2ff } +DL.el { margin-left: -1cm } +.fragment { + font-family: monospace, fixed; + font-size: 95%; +} +PRE.fragment { + border: 1px solid #CCCCCC; + background-color: #f5f5f5; + margin-top: 4px; + margin-bottom: 4px; + margin-left: 2px; + margin-right: 8px; + padding-left: 6px; + padding-right: 6px; + padding-top: 4px; + padding-bottom: 4px; +} +DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } + +DIV.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} +DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% } +BODY { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} +TD.indexkey { + background-color: #e8eef2; + font-weight: bold; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TD.indexvalue { + background-color: #e8eef2; + font-style: italic; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TR.memlist { + background-color: #f0f0f0; +} +P.formulaDsp { text-align: center; } +IMG.formulaDsp { } +IMG.formulaInl { vertical-align: middle; } +SPAN.keyword { color: #008000 } +SPAN.keywordtype { color: #604020 } +SPAN.keywordflow { color: #e08000 } +SPAN.comment { color: #800000 } +SPAN.preprocessor { color: #806020 } +SPAN.stringliteral { color: #002080 } +SPAN.charliteral { color: #008080 } +.mdescLeft { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.mdescRight { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.memItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplParams { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + color: #606060; + background-color: #FAFAFA; + font-size: 80%; +} +.search { color: #003399; + font-weight: bold; +} +FORM.search { + margin-bottom: 0px; + margin-top: 0px; +} +INPUT.search { font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +TD.tiny { font-size: 75%; +} +a { + color: #1A41A8; +} +a:visited { + color: #2A3798; +} +.dirtab { padding: 4px; + border-collapse: collapse; + border: 1px solid #84b0c7; +} +TH.dirtab { background: #e8eef2; + font-weight: bold; +} +HR { height: 1px; + border: none; + border-top: 1px solid black; + border-color: #88b7c8; +} + +/* Style for detailed member documentation */ +.memtemplate { + font-size: 80%; + color: #606060; + font-weight: normal; +} +.memnav { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} +.memitem { + padding: 4px; + background-color: #eef3f5; + border-width: 1px; + border-style: solid; + border-color: #dedeee; + -moz-border-radius: 8px 8px 8px 8px; +} +.memname { + white-space: nowrap; + font-weight: bold; +} +.memdoc{ + padding-left: 10px; +} +.memproto { + background-color: #d5e1e8; + width: 100%; + border-width: 1px; + border-style: solid; + border-color: #84b0c7; + font-weight: bold; + -moz-border-radius: 8px 8px 8px 8px; +} +.paramkey { + text-align: right; +} +.paramtype { + white-space: nowrap; +} +.paramname { + color: #602020; + font-style: italic; + white-space: nowrap; +} +/* End Styling for detailed member documentation */ + +/* for the tree view */ +.ftvtree { + font-family: sans-serif; + margin:0.5em; +} +.directory { font-size: 9pt; font-weight: bold; } +.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; } +.directory > h3 { margin-top: 0; } +.directory p { margin: 0px; white-space: nowrap; } +.directory div { display: none; margin: 0px; } +.directory img { vertical-align: -30%; } + +DL.note { + background-color: #eeeeee; + width: 100%; + border-width: 1px; + border-style: solid; + border-color: #bbbbbb; + -moz-border-radius: 4px 4px 4px 4px; +} + +DL.note DT { + font-size: 75%; +} + diff --git a/src/windows/identity/help/Index.hhk b/src/windows/identity/help/Index.hhk index 2e24f6f3e..c0ba08a9a 100644 --- a/src/windows/identity/help/Index.hhk +++ b/src/windows/identity/help/Index.hhk @@ -1,9 +1,9 @@ - - - - - - -
    -
- + + + + + + +
    +
+ diff --git a/src/windows/identity/help/Makefile b/src/windows/identity/help/Makefile index 8cb7f71a6..3149a24b2 100644 --- a/src/windows/identity/help/Makefile +++ b/src/windows/identity/help/Makefile @@ -1,39 +1,39 @@ -# -# Copyright (c) 2004 Massachusetts Institute of Technology -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation files -# (the "Software"), to deal in the Software without restriction, -# including without limitation the rights to use, copy, modify, merge, -# publish, distribute, sublicense, and/or sell copies of the Software, -# and to permit persons to whom the Software is furnished to do so, -# subject to the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - - -MODULE=help -!include <..\config\Makefile.w32> - -CHMFILE=$(BINDIR)\netidmgr.chm - -INCFILES=$(INCDIR)\khhelp.h - -all: mkdirs $(CHMFILE) $(INCFILES) - -$(CHMFILE): netidmgr.hhp - -$(HHC) netidmgr.hhp - $(CP) netidmgr.chm $(CHMFILE) - -clean:: - if exist '..\obj' $(RM) $(INCFILES) +# +# Copyright (c) 2004 Massachusetts Institute of Technology +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + +MODULE=help +!include <..\config\Makefile.w32> + +CHMFILE=$(BINDIR)\netidmgr.chm + +INCFILES=$(INCDIR)\khhelp.h + +all: mkdirs $(CHMFILE) $(INCFILES) + +$(CHMFILE): netidmgr.hhp + -$(HHC) netidmgr.hhp + $(CP) netidmgr.chm $(CHMFILE) + +clean:: + if exist '..\obj' $(RM) $(INCFILES) diff --git a/src/windows/identity/help/html/about_netidmgr.htm b/src/windows/identity/help/html/about_netidmgr.htm index d6fec057b..14c0e2020 100644 --- a/src/windows/identity/help/html/about_netidmgr.htm +++ b/src/windows/identity/help/html/about_netidmgr.htm @@ -1,68 +1,68 @@ - - - About Network Identity Manager - - - - - - -

About Network Identity Manager

- -

-This is strictly an informative page about the origins of Network -Identity Manager. -

- -

In the beginning

- -

-Network Identity Manager was conceived as an identity management -solution to make up for the shortcomings of Leash32 (distributed with -MIT Kerberos for Windows) and AFSCreds (distributed with OpenAFS). -

- -

-The work started as Unified Credentials Manager, a final project for -the MIT course 6.831 : User Interface Design and Implementation, -taught by Professor Rob -Miller. By the time actual code was written, it was named -Khimaira (which was later changed to Network Identity Manager around -October, 2005). Traces of the name Khimaira might still exist in the -source code. -

- -

-Khimaira was presented at the AFS and Kerberos Best Practices -Workshop 2005. The slides can be found on the workshop website and here. -

- -

-The work on Network Identity Manager was supported by MIT Information Services and -Technology, NASA Jet Propulsion Laboratory, -and Secure Endpoints Inc.. -

- -

Design

- -

-A plugin based architecture was chosen so that support for additional -credential types and features could be added without making changes to -the mainline code. In addition to making the application easily -extensible, this also allows the AFS plugin to be maintained within -the OpenAFS code base and separates the code supporting Kerberos 5 and -Kerberos 4. Furthermore, it is anticipated that this would encourage -third party developers to develop plugins for NetIDMgr. -

- -

-More information about the concepts used in the design of Network -Identity Manager can be found here. -

- - + + + About Network Identity Manager + + + + + + +

About Network Identity Manager

+ +

+This is strictly an informative page about the origins of Network +Identity Manager. +

+ +

In the beginning

+ +

+Network Identity Manager was conceived as an identity management +solution to make up for the shortcomings of Leash32 (distributed with +MIT Kerberos for Windows) and AFSCreds (distributed with OpenAFS). +

+ +

+The work started as Unified Credentials Manager, a final project for +the MIT course 6.831 : User Interface Design and Implementation, +taught by Professor Rob +Miller. By the time actual code was written, it was named +Khimaira (which was later changed to Network Identity Manager around +October, 2005). Traces of the name Khimaira might still exist in the +source code. +

+ +

+Khimaira was presented at the AFS and Kerberos Best Practices +Workshop 2005. The slides can be found on the workshop website and here. +

+ +

+The work on Network Identity Manager was supported by MIT Information Services and +Technology, NASA Jet Propulsion Laboratory, +and Secure Endpoints Inc.. +

+ +

Design

+ +

+A plugin based architecture was chosen so that support for additional +credential types and features could be added without making changes to +the mainline code. In addition to making the application easily +extensible, this also allows the AFS plugin to be maintained within +the OpenAFS code base and separates the code supporting Kerberos 5 and +Kerberos 4. Furthermore, it is anticipated that this would encourage +third party developers to develop plugins for NetIDMgr. +

+ +

+More information about the concepts used in the design of Network +Identity Manager can be found here. +

+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/act_chpw.htm b/src/windows/identity/help/html/act_chpw.htm index 33ec3a2b9..a68f73336 100644 --- a/src/windows/identity/help/html/act_chpw.htm +++ b/src/windows/identity/help/html/act_chpw.htm @@ -1,35 +1,35 @@ - - - Network Identity Manager - Change Password - - - - - - - - - - -

Network Identity Manager - Change Password

- -

The change password dialog can be invoked from the Credentials menu. This is used to -change the password for the primary credentials provider (currently -Kerberos v5). -

-

- -

For the default identity provider (Kerberos v5), there are two input -boxes to specify the identity for which the password is to be changed. -The identity uniquely maps to the Kerberos principal of the same name. -Then the current password must be entered along with the new password -twice. -

- -

Note that currently, when the password for an identity is being -changed, only the associated Kerberos v5 password is changed. -

- - + + + Network Identity Manager - Change Password + + + + + + + + + + +

Network Identity Manager - Change Password

+ +

The change password dialog can be invoked from the Credentials menu. This is used to +change the password for the primary credentials provider (currently +Kerberos v5). +

+

+ +

For the default identity provider (Kerberos v5), there are two input +boxes to specify the identity for which the password is to be changed. +The identity uniquely maps to the Kerberos principal of the same name. +Then the current password must be entered along with the new password +twice. +

+ +

Note that currently, when the password for an identity is being +changed, only the associated Kerberos v5 password is changed. +

+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/act_destroy_creds.htm b/src/windows/identity/help/html/act_destroy_creds.htm index f1643f162..196631bc9 100644 --- a/src/windows/identity/help/html/act_destroy_creds.htm +++ b/src/windows/identity/help/html/act_destroy_creds.htm @@ -1,36 +1,36 @@ - - - Network Identity Manager - Destroy Credentials - - - - - - - - - - -

Network Identity Manager - Destroy Credentials

- -

This action will attempt to destroy the credentials that are -currently selected in the credentials window. -

- -

In some cases, you may need to select all the credentials of a -specific type for the delete operation to succeed. This happens when -the credentials provider does not support deleting individual -credentials, but supports deleting all the credentials stored in one -specific location. -

- -

The action can be invoked by selecting the credentials and then -pressing the Delete key or by pressing Ctrl + D. You can also select the Delete credentials action from the context menu -(available via right-clicking inside the credentials window) or the -credentials menu. -

- - + + + Network Identity Manager - Destroy Credentials + + + + + + + + + + +

Network Identity Manager - Destroy Credentials

+ +

This action will attempt to destroy the credentials that are +currently selected in the credentials window. +

+ +

In some cases, you may need to select all the credentials of a +specific type for the delete operation to succeed. This happens when +the credentials provider does not support deleting individual +credentials, but supports deleting all the credentials stored in one +specific location. +

+ +

The action can be invoked by selecting the credentials and then +pressing the Delete key or by pressing Ctrl + D. You can also select the Delete credentials action from the context menu +(available via right-clicking inside the credentials window) or the +credentials menu. +

+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/act_import_creds.htm b/src/windows/identity/help/html/act_import_creds.htm index 59ab2db1d..c465c060d 100644 --- a/src/windows/identity/help/html/act_import_creds.htm +++ b/src/windows/identity/help/html/act_import_creds.htm @@ -1,31 +1,31 @@ - - - Network Identity Manager - Import Credentials - - - - - - - - - - - -

Network Identity Manager - Import Credentials

- -

Allows you to import credentials from the Microsoft Windows LSA credentials -cache. Currently, the only credentials provider that supports -importing is Kerberos v5. -

- -

This action can be invoked via the Credentials menu or by pressing Ctrl + I. In addition, the Kerberos v5 -configuration pane accessible via the Options menu contain settings that -control when the importing of credentials are performed at startup. -

- - + + + Network Identity Manager - Import Credentials + + + + + + + + + + + +

Network Identity Manager - Import Credentials

+ +

Allows you to import credentials from the Microsoft Windows LSA credentials +cache. Currently, the only credentials provider that supports +importing is Kerberos v5. +

+ +

This action can be invoked via the Credentials menu or by pressing Ctrl + I. In addition, the Kerberos v5 +configuration pane accessible via the Options menu contain settings that +control when the importing of credentials are performed at startup. +

+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/act_new_creds.htm b/src/windows/identity/help/html/act_new_creds.htm index 7f1dbc6de..7c15be30a 100644 --- a/src/windows/identity/help/html/act_new_creds.htm +++ b/src/windows/identity/help/html/act_new_creds.htm @@ -1,118 +1,118 @@ - - - Network Identity Manager - New Credentials - - - - - - - - - - - - - - - -

Network Identity Manager - New Credentials

- -

The new credentials dialog can be invoked from the Credentials menu, by typing Ctrl + N, using the context menu in the credentials -window or using the context menu in the NetIDMgr icon in the system -notification area. -

- -

Once invoked, you will be presented with a dialog similar to the -following: -

- -

-New credentials dialog -

New credentials dialog with a valid identity -selected.

- -

If the Kerberos v5 identity provider is used, the dialog will ask -for a username and a realm to determine the identity for which new -credentials will be obtained for. Depending on the selected identity, -you may be required to provide a password or other form of -authentication for new credentials to be obtained. -

- -

Below the prompts is the credentials summary window. This window -provides an overview of the credentials that will be obtained when the -dialog is completed. -

- -

Expanded view

- -

If you click any of the credentials type hyperlinks in the -credentials summary window or select the >> button, the dialog will switch to the expanded view. -An example of this is shown below: -

- -

- - -

Expanded view of the new credentials dialogg

- -

-The expanded view provides access to additional options available for -each credential provider. For example, the Kerberos v5 credentials -provider allows you to set the lifetime of the obtained Kerberos -ticket as well as ticket flags such as renewable or -forwardable. -

-

-Note that the above screenshot is -from an instance of NetIDMgr with Kerberos v5, Kerberos v4, OpenAFS and -Kerberized Certificate Authority providers with a Kerberos v5 identity provider. Actual display may be -different depending on the providers that are active.

- -

Credentials summary window

- -

The credentials summary window provides an overview of the -credentials that will be obtained after the successful completion of -the new credentials dialog. The window contains hyperlinks that will -take you to the corresponding credentials option panels where you will -be able to set additional options for each type. -

- -

If there is a problem with the selected identity, the credentials -window will display a message describing the problem. For example: -

- -

-Credentials summary window showing an invalid identity -

- -

-The above is an example of what you would see if the provided identity -is invalid. Once the identity provider (in this case, Kerberos v5) -indicates that the identity is invalid, it will be displayed as above -along with a brief description of why the identity was found to be -invalid. Here, the Kerberos v5 identity provider is reporting that the -specified principal does not exist in the Kerberos database. -

- -

Additional notes

- -

The new credentials dialog can be invoked from the command line using -the -i or --kinit - command line option. Additionally, if you specify the -a or --autoinit -command line option, the new credentials dialog will be displayed if -there are no credentials available. -

- -

-Setting the Obtain new credentials at startup (if none are present) option in the General configuration panel causes NetIDMgr to behave as if -the --autoinit option is specified at each execution. -

- - + + + Network Identity Manager - New Credentials + + + + + + + + + + + + + + + +

Network Identity Manager - New Credentials

+ +

The new credentials dialog can be invoked from the Credentials menu, by typing Ctrl + N, using the context menu in the credentials +window or using the context menu in the NetIDMgr icon in the system +notification area. +

+ +

Once invoked, you will be presented with a dialog similar to the +following: +

+ +

+New credentials dialog +

New credentials dialog with a valid identity +selected.

+ +

If the Kerberos v5 identity provider is used, the dialog will ask +for a username and a realm to determine the identity for which new +credentials will be obtained for. Depending on the selected identity, +you may be required to provide a password or other form of +authentication for new credentials to be obtained. +

+ +

Below the prompts is the credentials summary window. This window +provides an overview of the credentials that will be obtained when the +dialog is completed. +

+ +

Expanded view

+ +

If you click any of the credentials type hyperlinks in the +credentials summary window or select the >> button, the dialog will switch to the expanded view. +An example of this is shown below: +

+ +

+ + +

Expanded view of the new credentials dialogg

+ +

+The expanded view provides access to additional options available for +each credential provider. For example, the Kerberos v5 credentials +provider allows you to set the lifetime of the obtained Kerberos +ticket as well as ticket flags such as renewable or +forwardable. +

+

+Note that the above screenshot is +from an instance of NetIDMgr with Kerberos v5, Kerberos v4, OpenAFS and +Kerberized Certificate Authority providers with a Kerberos v5 identity provider. Actual display may be +different depending on the providers that are active.

+ +

Credentials summary window

+ +

The credentials summary window provides an overview of the +credentials that will be obtained after the successful completion of +the new credentials dialog. The window contains hyperlinks that will +take you to the corresponding credentials option panels where you will +be able to set additional options for each type. +

+ +

If there is a problem with the selected identity, the credentials +window will display a message describing the problem. For example: +

+ +

+Credentials summary window showing an invalid identity +

+ +

+The above is an example of what you would see if the provided identity +is invalid. Once the identity provider (in this case, Kerberos v5) +indicates that the identity is invalid, it will be displayed as above +along with a brief description of why the identity was found to be +invalid. Here, the Kerberos v5 identity provider is reporting that the +specified principal does not exist in the Kerberos database. +

+ +

Additional notes

+ +

The new credentials dialog can be invoked from the command line using +the -i or --kinit + command line option. Additionally, if you specify the -a or --autoinit +command line option, the new credentials dialog will be displayed if +there are no credentials available. +

+ +

+Setting the Obtain new credentials at startup (if none are present) option in the General configuration panel causes NetIDMgr to behave as if +the --autoinit option is specified at each execution. +

+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/act_renew_creds.htm b/src/windows/identity/help/html/act_renew_creds.htm index e582b2340..a62c92fec 100644 --- a/src/windows/identity/help/html/act_renew_creds.htm +++ b/src/windows/identity/help/html/act_renew_creds.htm @@ -1,40 +1,40 @@ - - - Network Identity Manager - Renew Credentials - - - - - - - - - - - - - - - -

Network Identity Manager - Renew Credentials

- -

The renew credentials action can be invoked via the Credential menu or by pressing Ctrl + -R. Additionally, if the Monitor credential -expiration option is enabled for all identities or for a -specific identity, then those credentials will be automatically -renewed whenever possible before they expire.

- -

An identity must be selected before invoking the renew credentials -action.

- -

Not all credentials can be renewed. The actual logic of renewing -the credentials is up to each credentials provider. In general, NetIDMgr will invoke each credentials provider to renew their -respective credentials. For Kerberos v5, if the initial ticket is -renewable and not expired, then it will obtain a renewed initial -ticket. For Kerberos v4, once a renewed Kerberos v5 initial ticket is -obtained, it will try to use a Krb524 translator to obtain a new -Kerberos v4 initial ticket.

- - + + + Network Identity Manager - Renew Credentials + + + + + + + + + + + + + + + +

Network Identity Manager - Renew Credentials

+ +

The renew credentials action can be invoked via the Credential menu or by pressing Ctrl + +R. Additionally, if the Monitor credential +expiration option is enabled for all identities or for a +specific identity, then those credentials will be automatically +renewed whenever possible before they expire.

+ +

An identity must be selected before invoking the renew credentials +action.

+ +

Not all credentials can be renewed. The actual logic of renewing +the credentials is up to each credentials provider. In general, NetIDMgr will invoke each credentials provider to renew their +respective credentials. For Kerberos v5, if the initial ticket is +renewable and not expired, then it will obtain a renewed initial +ticket. For Kerberos v4, once a renewed Kerberos v5 initial ticket is +obtained, it will try to use a Krb524 translator to obtain a new +Kerberos v4 initial ticket.

+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/act_set_default.htm b/src/windows/identity/help/html/act_set_default.htm index 6dccd235c..dce442c43 100644 --- a/src/windows/identity/help/html/act_set_default.htm +++ b/src/windows/identity/help/html/act_set_default.htm @@ -1,20 +1,20 @@ - - - Network Identity Manager - Set As Default Identity - - - - - - -

Network Identity Manager - Set As Default Identity

- -

-One identity can be designated as the default identity. The default identity is the -identity used by Kerberos v5 and GSS-API based applications which use the default -Kerberos v5 credential cache and -never request the use of a network identity by name. -

- - + + + Network Identity Manager - Set As Default Identity + + + + + + +

Network Identity Manager - Set As Default Identity

+ +

+One identity can be designated as the default identity. The default identity is the +identity used by Kerberos v5 and GSS-API based applications which use the default +Kerberos v5 credential cache and +never request the use of a network identity by name. +

+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/bugs.htm b/src/windows/identity/help/html/bugs.htm index f934dffd2..6fbbc140c 100644 --- a/src/windows/identity/help/html/bugs.htm +++ b/src/windows/identity/help/html/bugs.htm @@ -1,33 +1,33 @@ - - - Network Identity Manager - Reporting Bugs - - - - - - -

Network Identity Manager - Reporting Bugs

- -

If you encounter a bug in the software, please send a bug report via e-mail to -kfw-bugs@MIT.EDU. -Please include as much information as possible to assist us in reproducing the problem. -

- -

kerberos@MIT.EDU -is a mailing list set up for discussing end user Kerberos issues. It is -gatewayed to the Usenet newsgroup 'comp.protocols.kerberos'. If you -prefer to read it via mail, send a subscription request to -kerberos-request@MIT.EDU -or subscribe via the web page:

- -

-http://mailman.mit.edu/mailman/listinfo/kerberos

- -

Information about Kerberos mailing lists can be found at http://web.mit.edu/kerberos/mail-lists.html

- - + + + Network Identity Manager - Reporting Bugs + + + + + + +

Network Identity Manager - Reporting Bugs

+ +

If you encounter a bug in the software, please send a bug report via e-mail to +kfw-bugs@MIT.EDU. +Please include as much information as possible to assist us in reproducing the problem. +

+ +

kerberos@MIT.EDU +is a mailing list set up for discussing end user Kerberos issues. It is +gatewayed to the Usenet newsgroup 'comp.protocols.kerberos'. If you +prefer to read it via mail, send a subscription request to +kerberos-request@MIT.EDU +or subscribe via the web page:

+ +

+http://mailman.mit.edu/mailman/listinfo/kerberos

+ +

Information about Kerberos mailing lists can be found at http://web.mit.edu/kerberos/mail-lists.html

+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/cmdline_netidmgr.htm b/src/windows/identity/help/html/cmdline_netidmgr.htm index f77c47598..8767460bc 100644 --- a/src/windows/identity/help/html/cmdline_netidmgr.htm +++ b/src/windows/identity/help/html/cmdline_netidmgr.htm @@ -1,38 +1,38 @@ - - - Network Identity Manager Command Line Options - - - - - - -

Network Identity Manager Command Line Options

-

Command line options for Network Identity Manager are:

- - - - - - - - - - - - - - - - - - - - - -
-a or --autoinitAutomatic Initialization of Credentials
-i or --kinitObtain New Credentials and then exit
-d or --destroyDestroy Credentials belonging to the default identity - and then exit
-r or --renewRenew all Credentials and then exit
-x or --exitSignal the running instance of Network Identity - Manager to exit
- - + + + Network Identity Manager Command Line Options + + + + + + +

Network Identity Manager Command Line Options

+

Command line options for Network Identity Manager are:

+ + + + + + + + + + + + + + + + + + + + + +
-a or --autoinitAutomatic Initialization of Credentials
-i or --kinitObtain New Credentials and then exit
-d or --destroyDestroy Credentials belonging to the default identity + and then exit
-r or --renewRenew all Credentials and then exit
-x or --exitSignal the running instance of Network Identity + Manager to exit
+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/concept_cred_pro.htm b/src/windows/identity/help/html/concept_cred_pro.htm index db936aa00..ab8f7c40e 100644 --- a/src/windows/identity/help/html/concept_cred_pro.htm +++ b/src/windows/identity/help/html/concept_cred_pro.htm @@ -1,38 +1,38 @@ - - - Network Identity Manager Concepts: Credentials Provider - - - - - - -

Network Identity Manager Concepts: Credentials Provider

- -

-Network Identity Manager relies on plug-ins to provide the majority -of its functionality. A credentials provider is a plug-in -that manages one or more types of credentials. The responsibilities -of a credential provider are: -

-
    -
  • to maintain the list of credentials and their properties for the supported type
  • -
  • to monitor credential expiration
  • -
  • to provide the logic necessary to obtain additional credentials once the - identity provider has obtained the - initial credential
  • -
  • to provide the user interface panels necessary to permit the user to - configure the credential provider
  • -
- - -

MIT Kerberos for Windows ships with two Network Identity Manager credential -providers supporting Kerberos v5 and Kerberos v4.  Credential providers for -the Andrew File System and the Kerberized Certificate Authority are available -separately.

-

-

- - - + + + Network Identity Manager Concepts: Credentials Provider + + + + + + +

Network Identity Manager Concepts: Credentials Provider

+ +

+Network Identity Manager relies on plug-ins to provide the majority +of its functionality. A credentials provider is a plug-in +that manages one or more types of credentials. The responsibilities +of a credential provider are: +

+
    +
  • to maintain the list of credentials and their properties for the supported type
  • +
  • to monitor credential expiration
  • +
  • to provide the logic necessary to obtain additional credentials once the + identity provider has obtained the + initial credential
  • +
  • to provide the user interface panels necessary to permit the user to + configure the credential provider
  • +
+ + +

MIT Kerberos for Windows ships with two Network Identity Manager credential +providers supporting Kerberos v5 and Kerberos v4.  Credential providers for +the Andrew File System and the Kerberized Certificate Authority are available +separately.

+

+

+ + + \ No newline at end of file diff --git a/src/windows/identity/help/html/concept_credential.htm b/src/windows/identity/help/html/concept_credential.htm index eca302ef3..0fadbf599 100644 --- a/src/windows/identity/help/html/concept_credential.htm +++ b/src/windows/identity/help/html/concept_credential.htm @@ -1,31 +1,31 @@ - - - Network Identity Manager Concepts: Credential - - - - - - -

Network Identity Manager Concepts: Credential

- -

-In Network Identity Manager, a credential is any digital object that can -be used by a network authentication protocol to assert a specific -identity.

-

-As of this writing, Network Identity Manager supports four different types of -credentials:

-
    -
  • Kerberos v5 tickets
  • -
  • Kerberos v4 tickets
  • -
  • AFS tokens
  • -
  • X.509 certificates issued by a Kerberized Certificate Authority
  • -
-

Of these, only Kerberos v5 initial ticket granting tickets can be used as an -identity provider credential.

-

 

- - - + + + Network Identity Manager Concepts: Credential + + + + + + +

Network Identity Manager Concepts: Credential

+ +

+In Network Identity Manager, a credential is any digital object that can +be used by a network authentication protocol to assert a specific +identity.

+

+As of this writing, Network Identity Manager supports four different types of +credentials:

+
    +
  • Kerberos v5 tickets
  • +
  • Kerberos v4 tickets
  • +
  • AFS tokens
  • +
  • X.509 certificates issued by a Kerberized Certificate Authority
  • +
+

Of these, only Kerberos v5 initial ticket granting tickets can be used as an +identity provider credential.

+

 

+ + + \ No newline at end of file diff --git a/src/windows/identity/help/html/concept_ident_pro.htm b/src/windows/identity/help/html/concept_ident_pro.htm index d17c23b94..4fca8674e 100644 --- a/src/windows/identity/help/html/concept_ident_pro.htm +++ b/src/windows/identity/help/html/concept_ident_pro.htm @@ -1,32 +1,32 @@ - - - Network Identity Manager Concepts: Identity Provider - - - - - - -

Network Identity Manager Concepts: Identity Provider

- -

-Network Identity Manager relies on plug-ins to provide the majority -of its functionality. One of the requirements is that there be at -least one plug-in that is registered as an identity provider. The identity -provider:

- -
    -
  • defines the identity
  • -
  • provides the engine that drives the Obtain New Credentials dialog
  • -
  • performs the initial authentication which results in a network credential that - can be used in conjunction with subsequent credential providers
  • -
- -

Naturally, the identity provider plug-in that is distributed with MIT Kerberos for Windows -is Kerberos v5 based and obtains Kerberos v5 ticket granting tickets as the network credential -that represents the identity.

- -

- - + + + Network Identity Manager Concepts: Identity Provider + + + + + + +

Network Identity Manager Concepts: Identity Provider

+ +

+Network Identity Manager relies on plug-ins to provide the majority +of its functionality. One of the requirements is that there be at +least one plug-in that is registered as an identity provider. The identity +provider:

+ +
    +
  • defines the identity
  • +
  • provides the engine that drives the Obtain New Credentials dialog
  • +
  • performs the initial authentication which results in a network credential that + can be used in conjunction with subsequent credential providers
  • +
+ +

Naturally, the identity provider plug-in that is distributed with MIT Kerberos for Windows +is Kerberos v5 based and obtains Kerberos v5 ticket granting tickets as the network credential +that represents the identity.

+ +

+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/concept_identity.htm b/src/windows/identity/help/html/concept_identity.htm index 434067916..c573ed9d5 100644 --- a/src/windows/identity/help/html/concept_identity.htm +++ b/src/windows/identity/help/html/concept_identity.htm @@ -1,33 +1,33 @@ - - - Network Identity Manager Concepts: Identity - - - - - - -

Network Identity Manager Concepts: Identity

- -

While there are many approaches to defining what an identity is, as -far as the Network Identity Manager (NetIDMgr) is considered, an identity is the unique -user identifier that is accepted by a network service. Each credential -that is managed by NetIDMgr is assumed to map to a single identity. -The collection of credentials that map to a single identity is -considered to belong to that identity. -

- -

-

- - -

Default Identity

- -

The default identity is the identity that will be used by -applications when a specific identity has not been requested. -The Kerberos v5 plug-in will mark the credential cache that -contains the default identity as the default credentials -cache for the current logon session. -

- + + + Network Identity Manager Concepts: Identity + + + + + + +

Network Identity Manager Concepts: Identity

+ +

While there are many approaches to defining what an identity is, as +far as the Network Identity Manager (NetIDMgr) is considered, an identity is the unique +user identifier that is accepted by a network service. Each credential +that is managed by NetIDMgr is assumed to map to a single identity. +The collection of credentials that map to a single identity is +considered to belong to that identity. +

+ +

+

+ +
+

Default Identity

+ +

The default identity is the identity that will be used by +applications when a specific identity has not been requested. +The Kerberos v5 plug-in will mark the credential cache that +contains the default identity as the default credentials +cache for the current logon session. +

+ \ No newline at end of file diff --git a/src/windows/identity/help/html/concepts.htm b/src/windows/identity/help/html/concepts.htm index 2ce38e97f..194aeddfa 100644 --- a/src/windows/identity/help/html/concepts.htm +++ b/src/windows/identity/help/html/concepts.htm @@ -1,48 +1,48 @@ - - - Network Identity Manager Concepts - - - - - - -

Network Identity Manager Concepts

- -

The Network Identity Manager (NetIDMgr) organizes and manages credentials -based on how they identify the user to network services. To this end, it is assumed that each -credential will uniquely identify the user to a service as a single -identity. When using Kerberos v5 the -identity is the Kerberos principal name. -

- -

At it's core, NetIDMgr does not possess any knowledge about specific -credentials that might be available to the user or how to manage -them. It relies on several types of plug-ins to provide the -information it needs, and to carry out credentials management tasks. -One primary task is to identify and manage identities. These services -are provided by a plug-in called the identity provider. Information about -individual credentials are provided by credential providers. Other plug-ins -may extend the functionality of these plug-ins or provide additional -functionality for NetIDMgr. -

- -

-

- -

The following topics provider further details:

- - - - + + + Network Identity Manager Concepts + + + + + + +

Network Identity Manager Concepts

+ +

The Network Identity Manager (NetIDMgr) organizes and manages credentials +based on how they identify the user to network services. To this end, it is assumed that each +credential will uniquely identify the user to a service as a single +identity. When using Kerberos v5 the +identity is the Kerberos principal name. +

+ +

At it's core, NetIDMgr does not possess any knowledge about specific +credentials that might be available to the user or how to manage +them. It relies on several types of plug-ins to provide the +information it needs, and to carry out credentials management tasks. +One primary task is to identify and manage identities. These services +are provided by a plug-in called the identity provider. Information about +individual credentials are provided by credential providers. Other plug-ins +may extend the functionality of these plug-ins or provide additional +functionality for NetIDMgr. +

+ +

+

+ +

The following topics provider further details:

+ + + + \ No newline at end of file diff --git a/src/windows/identity/help/html/copyright.htm b/src/windows/identity/help/html/copyright.htm index b62753d7a..d31417df4 100644 --- a/src/windows/identity/help/html/copyright.htm +++ b/src/windows/identity/help/html/copyright.htm @@ -1,48 +1,48 @@ - - - Network Identity Manager - License - - - - - - -

Network Identity Manager - License

- -

This software is being provided to you, the LICENSEE, by the -Massachusetts Institute of Technology (M.I.T) under the following -license. By obtaining, using and/or copying this software, you agree -that you have read, understood, and will comply with these terms and -conditions:

- -

Permission to use, copy, modify and distribute this software and its -documentation for any purpose and without fee or royalty is hereby -granted, provided that you agree to comply with the following -copyright notice and statements, including the disclaimer, and that -the same appear on ALL copies of the software and documentation, -including modifications that you make for internal use or for -distribution:

- -

Copyright 1992-2007 by the Massachusetts Institute of Technology. All -rights reserved.

- -

THIS SOFTWARE IS PROVIDED "AS IS", AND M.I.T. MAKES NO REPRESENTATIONS -OR WARRANTIES, EXPRESS OR IMPLIED. By way of example, but not -limitation, M.I.T. MAKES NO REPRESENTATIONS OR WARRANTIES OF -MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE -OF THE LICENSED SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD -PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

- -

The name of the Massachusetts Institute of Technology or M.I.T. may -NOT be used in advertising or publicity pertaining to distribution of -the software. Title to copyright in this software and any associated -documentation shall at all times remain with M.I.T., and USER agrees -to preserve same.

- -

Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira, -OLC, X Window System, and Zephyr are trademarks of the Massachusetts -Institute of Technology (MIT). No commercial use of these trademarks -may be made without prior written permission of MIT.

- - - + + + Network Identity Manager - License + + + + + + +

Network Identity Manager - License

+ +

This software is being provided to you, the LICENSEE, by the +Massachusetts Institute of Technology (M.I.T) under the following +license. By obtaining, using and/or copying this software, you agree +that you have read, understood, and will comply with these terms and +conditions:

+ +

Permission to use, copy, modify and distribute this software and its +documentation for any purpose and without fee or royalty is hereby +granted, provided that you agree to comply with the following +copyright notice and statements, including the disclaimer, and that +the same appear on ALL copies of the software and documentation, +including modifications that you make for internal use or for +distribution:

+ +

Copyright 1992-2007 by the Massachusetts Institute of Technology. All +rights reserved.

+ +

THIS SOFTWARE IS PROVIDED "AS IS", AND M.I.T. MAKES NO REPRESENTATIONS +OR WARRANTIES, EXPRESS OR IMPLIED. By way of example, but not +limitation, M.I.T. MAKES NO REPRESENTATIONS OR WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE +OF THE LICENSED SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD +PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

+ +

The name of the Massachusetts Institute of Technology or M.I.T. may +NOT be used in advertising or publicity pertaining to distribution of +the software. Title to copyright in this software and any associated +documentation shall at all times remain with M.I.T., and USER agrees +to preserve same.

+ +

Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira, +OLC, X Window System, and Zephyr are trademarks of the Massachusetts +Institute of Technology (MIT). No commercial use of these trademarks +may be made without prior written permission of MIT.

+ + + diff --git a/src/windows/identity/help/html/howdoi.htm b/src/windows/identity/help/html/howdoi.htm index 9826ac20a..3b2c2a336 100644 --- a/src/windows/identity/help/html/howdoi.htm +++ b/src/windows/identity/help/html/howdoi.htm @@ -1,44 +1,44 @@ - - - Network Identity Manager - How do I ... - - - - - - -

Network Identity Manager - How do I ...

- -

Startup

- - -

Credentials related actions

- - -

Credentials view

- - - + + + Network Identity Manager - How do I ... + + + + + + +

Network Identity Manager - How do I ...

+ +

Startup

+ + +

Credentials related actions

+ + +

Credentials view

+ + + \ No newline at end of file diff --git a/src/windows/identity/help/html/menu_all.htm b/src/windows/identity/help/html/menu_all.htm index 6cd811393..c5efbb216 100644 --- a/src/windows/identity/help/html/menu_all.htm +++ b/src/windows/identity/help/html/menu_all.htm @@ -1,41 +1,41 @@ - - - Network Identity Manager - The Menu Bar - - - - - -

Network Identity Manager - The Menu Bar

- -

-Click an item on the menu to go to the description of the submenu, or -choose from the list below. You can activate the menu bar using F10. Alternatively, you can activate each -individual submenu by pressing Alt + -<key> where key is the -highlighted character on the submenu. -

- - - - - - - - - -

- -

- - - - + + + Network Identity Manager - The Menu Bar + + + + + +

Network Identity Manager - The Menu Bar

+ +

+Click an item on the menu to go to the description of the submenu, or +choose from the list below. You can activate the menu bar using F10. Alternatively, you can activate each +individual submenu by pressing Alt + +<key> where key is the +highlighted character on the submenu. +

+ + + + + + + + + +

+ +

+ +
+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/menu_credential.htm b/src/windows/identity/help/html/menu_credential.htm index f34312827..9a83af039 100644 --- a/src/windows/identity/help/html/menu_credential.htm +++ b/src/windows/identity/help/html/menu_credential.htm @@ -1,81 +1,81 @@ - - - Network Identity Manager - Credential Menu - - - - - - -

Network Identity Manager - Credential Menu

- -

-Click an item on the menu to go to the description of the action, or -choose from the list below. You can activate the by pressing Alt + C and you can activate each action by -pressing the highlighted character. -

- -

-Actions which have an associated hot key show this hot key to the -right of the action. You can use the hot key to trigger the action -without invoking the Credential menu. -

- -

- - - - - - - - - - -

- -
    -
  • New Credentials ...: - Opens the new credentials acquisition dialog box. If an identity - was selected, then that identity would be made the default for the - new credentials acquisition. However, it can easily be changed in - the dialog. -

    - See New Credentials - Action for more information. -

  • - -
  • Renew credentials: - Renews the selected credentials or identity. This action requires - that the selected credentials be renewable. -

    - See Renew - Credentials Action for more information.

  • - -
  • Destroy - credentials...: Destroys the selected credentials.
  • - -
  • Set as default: Sets - the selected identity as the default, if it is not already the - default. The implications of this operation is dependent on the - current identity provider. -

    - See Set As Default - Action for more information.

  • - -
  • Change password...: - Changes the password for the selected identity. However, once the - new password dialog opens, you can change the identity for which the - password is getting changed.
  • - -
  • Import - Credentials: Import any existing credentials from external - sources. With the Kerberos v5 credentials provider, the Windows logon - identity stored in the Microsoft Windows LSA cache will be imported.
  • - -
- - + + + Network Identity Manager - Credential Menu + + + + + + +

Network Identity Manager - Credential Menu

+ +

+Click an item on the menu to go to the description of the action, or +choose from the list below. You can activate the by pressing Alt + C and you can activate each action by +pressing the highlighted character. +

+ +

+Actions which have an associated hot key show this hot key to the +right of the action. You can use the hot key to trigger the action +without invoking the Credential menu. +

+ +

+ + + + + + + + + + +

+ +
    +
  • New Credentials ...: + Opens the new credentials acquisition dialog box. If an identity + was selected, then that identity would be made the default for the + new credentials acquisition. However, it can easily be changed in + the dialog. +

    + See New Credentials + Action for more information. +

  • + +
  • Renew credentials: + Renews the selected credentials or identity. This action requires + that the selected credentials be renewable. +

    + See Renew + Credentials Action for more information.

  • + +
  • Destroy + credentials...: Destroys the selected credentials.
  • + +
  • Set as default: Sets + the selected identity as the default, if it is not already the + default. The implications of this operation is dependent on the + current identity provider. +

    + See Set As Default + Action for more information.

  • + +
  • Change password...: + Changes the password for the selected identity. However, once the + new password dialog opens, you can change the identity for which the + password is getting changed.
  • + +
  • Import + Credentials: Import any existing credentials from external + sources. With the Kerberos v5 credentials provider, the Windows logon + identity stored in the Microsoft Windows LSA cache will be imported.
  • + +
+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/menu_file.htm b/src/windows/identity/help/html/menu_file.htm index 2f734af91..f82490efa 100644 --- a/src/windows/identity/help/html/menu_file.htm +++ b/src/windows/identity/help/html/menu_file.htm @@ -1,45 +1,45 @@ - - - Network Identity Manager - File Menu - - - - - - -

Network Identity File Menu

- -

-Click an item on the menu to go to the description of the action, or -choose from the list below. You can activate the by pressing Alt + F and you can activate each action by -pressing the highlited character. -

- -

-Actions which have an associated hot key show this hot key to the -right of the action. You can use the hot key to trigger the action -without invoking the File menu. -

- -

- - - - - -

- -
    - -
  • - Properties...: Displays a property - sheet for the selected credential, identity or credential type.
  • - -
  • - Exit: Exits Network Identity Manager
  • - -
- - + + + Network Identity Manager - File Menu + + + + + + +

Network Identity File Menu

+ +

+Click an item on the menu to go to the description of the action, or +choose from the list below. You can activate the by pressing Alt + F and you can activate each action by +pressing the highlited character. +

+ +

+Actions which have an associated hot key show this hot key to the +right of the action. You can use the hot key to trigger the action +without invoking the File menu. +

+ +

+ + + + + +

+ +
    + +
  • + Properties...: Displays a property + sheet for the selected credential, identity or credential type.
  • + +
  • + Exit: Exits Network Identity Manager
  • + +
+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/menu_help.htm b/src/windows/identity/help/html/menu_help.htm index 7cd368ec2..8f65c71b8 100644 --- a/src/windows/identity/help/html/menu_help.htm +++ b/src/windows/identity/help/html/menu_help.htm @@ -1,54 +1,54 @@ - - - Network Identity Manager - Help Menu - - - - - - -

Network Identity Manager - Help Menu

- -

-You can activate the menu by pressing Alt + H -and you can activate each action by pressing the highlighted character. -

- -

-You can invoke help anytime by pressing the F1 key or if you are in a dialog box, by clicking -the question mark icon in the title bar and then clicking on the -dialog box control that you want help with. -

- - -

- - - - - - - -

- -
    - - - -
  • Contents: Opens - the table of contents for the user documentation
  • - -
  • Index: Opens the - index for the user documentation
  • - -
  • Plug-in specific help: - Plug-ins can register their own on-line help.
  • -
  • About: Opens a - dialog box containing information about this version of NetIDMgr as - well as the modules that are currently loaded.
  • - -
- - + + + Network Identity Manager - Help Menu + + + + + + +

Network Identity Manager - Help Menu

+ +

+You can activate the menu by pressing Alt + H +and you can activate each action by pressing the highlighted character. +

+ +

+You can invoke help anytime by pressing the F1 key or if you are in a dialog box, by clicking +the question mark icon in the title bar and then clicking on the +dialog box control that you want help with. +

+ + +

+ + + + + + + +

+ +
    + + + +
  • Contents: Opens + the table of contents for the user documentation
  • + +
  • Index: Opens the + index for the user documentation
  • + +
  • Plug-in specific help: + Plug-ins can register their own on-line help.
  • +
  • About: Opens a + dialog box containing information about this version of NetIDMgr as + well as the modules that are currently loaded.
  • + +
+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/menu_options.htm b/src/windows/identity/help/html/menu_options.htm index df10f2ec3..1022a320d 100644 --- a/src/windows/identity/help/html/menu_options.htm +++ b/src/windows/identity/help/html/menu_options.htm @@ -1,65 +1,65 @@ - - - Network Identity Manager - Options Menu - - - - - - -

Network Identity Manager - Options Menu

- -

-Click an item on the menu to go to the description of the action, or -choose from the list below. You can activate the menu by pressing Alt + O and you can activate each action by -pressing the highlighted character. -

- - -

- - - - - - - - - -

- -
    - -
  • General ...: Opens -the NetIDMgr general configuration panel. This panel allows you to -configure settings related to the startup/shutdown of NetIDMgr in -addition to debugging and monitoring options.
  • - -
  • Appearance ...: -Provides options for customizing the appearance of the credentials -window. Currently, the only options provided are for selecting the -font used for the credentials list.
  • - -
  • Identities ...: -Opens the identities configuration panel. These options control -credentials defaults for all identities or for specific identities.
  • - -
  • Notifications -...: The notifications configuration panel controls the -settings used by the NetIDMgr timer that triggers warnings and -identity renewals.
  • - -
  • plug-ins ...: -Options for enabling or disabling specific plug-ins and also for -viewing information about loaded plug-ins.
  • - -
  • Plugin specific -configuration panels: Each registered plugin can register one -or more configuration panels which will appear on the Options menu.
  • - -
- - + + + Network Identity Manager - Options Menu + + + + + + +

Network Identity Manager - Options Menu

+ +

+Click an item on the menu to go to the description of the action, or +choose from the list below. You can activate the menu by pressing Alt + O and you can activate each action by +pressing the highlighted character. +

+ + +

+ + + + + + + + + +

+ +
    + +
  • General ...: Opens +the NetIDMgr general configuration panel. This panel allows you to +configure settings related to the startup/shutdown of NetIDMgr in +addition to debugging and monitoring options.
  • + +
  • Appearance ...: +Provides options for customizing the appearance of the credentials +window. Currently, the only options provided are for selecting the +font used for the credentials list.
  • + +
  • Identities ...: +Opens the identities configuration panel. These options control +credentials defaults for all identities or for specific identities.
  • + +
  • Notifications +...: The notifications configuration panel controls the +settings used by the NetIDMgr timer that triggers warnings and +identity renewals.
  • + +
  • plug-ins ...: +Options for enabling or disabling specific plug-ins and also for +viewing information about loaded plug-ins.
  • + +
  • Plugin specific +configuration panels: Each registered plugin can register one +or more configuration panels which will appear on the Options menu.
  • + +
+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/menu_view.htm b/src/windows/identity/help/html/menu_view.htm index 008055916..d2a4987a5 100644 --- a/src/windows/identity/help/html/menu_view.htm +++ b/src/windows/identity/help/html/menu_view.htm @@ -1,94 +1,94 @@ - - - Network Identity Manager - View Menu - - - - - - -

Network Identity Manager - View Menu

- -

-Click an item on the menu to go to the description of the action, or -choose from the list below. You can activate the by pressing Alt + V and you can activate each action by -pressing the highlited character. -

- -

-Actions which have an associated hot key show this hot key to the -right of the action. You can use the hot key to trigger the action -without invoking the View menu. -

- -

- - - - - - - - -

- -
    - -
  • Advanced F7: - -Toggles the display mode between basic and advanced modes. -In basic mode, the Network Identity Manager displays a list of identities -and their current status. In the advanced mode, NetIdMgr provides a -customizable list of all discovered credentials. -
  • - -
  • View columns: - -Only available in Advanced mode. -Invokes a submenu from which you can choose the columns that are -displayed in the credentials window. If you change the columns, or -their order, a new custom layout will be created for you which you can -later use using the Layout submenu later. For -more information about managing layouts, see the Layout topic.
  • - -
  • Layout: -Only available in Advanced mode. Opens a -submenu where you can select the layout for the credentials -display. -
      - -
    • By Identity: A predefined layout - where the credentials will be grouped by identity and by - credentials type, in that order.
    • - -
    • By Type: Not implemented in - this release. A predefined layout - where the credentials are grouped by credentials type
    • - -
    • By Location: A predefined layout - where the credentials are grouped by the location where they are - stored in. For Kerberos 5, the location is the name of the - credentials cache in which the tickets are stored, and for AFS, - the locatino is always the cache manager. Individual credential providers choose the - interpretation of the location property - as the concept of location changes from type to type.
    • - -
    • Custom: If you customize any of - the above layouts by adding, removing, reordering or changing - the sort or outline columns, then NetIDMgr will store your new - layout settings under this layout. Invoking this menu item - restores your customizations.
    - -
  • - -
  • Refresh view F5: Refresh -the contents of the credentials view. This queries each credential provider for any -credentials and redraws the credentials view.
  • - -
- - + + + Network Identity Manager - View Menu + + + + + + +

Network Identity Manager - View Menu

+ +

+Click an item on the menu to go to the description of the action, or +choose from the list below. You can activate the by pressing Alt + V and you can activate each action by +pressing the highlited character. +

+ +

+Actions which have an associated hot key show this hot key to the +right of the action. You can use the hot key to trigger the action +without invoking the View menu. +

+ +

+ + + + + + + + +

+ +
    + +
  • Advanced F7: + +Toggles the display mode between basic and advanced modes. +In basic mode, the Network Identity Manager displays a list of identities +and their current status. In the advanced mode, NetIdMgr provides a +customizable list of all discovered credentials. +
  • + +
  • View columns: + +Only available in Advanced mode. +Invokes a submenu from which you can choose the columns that are +displayed in the credentials window. If you change the columns, or +their order, a new custom layout will be created for you which you can +later use using the Layout submenu later. For +more information about managing layouts, see the Layout topic.
  • + +
  • Layout: +Only available in Advanced mode. Opens a +submenu where you can select the layout for the credentials +display. +
      + +
    • By Identity: A predefined layout + where the credentials will be grouped by identity and by + credentials type, in that order.
    • + +
    • By Type: Not implemented in + this release. A predefined layout + where the credentials are grouped by credentials type
    • + +
    • By Location: A predefined layout + where the credentials are grouped by the location where they are + stored in. For Kerberos 5, the location is the name of the + credentials cache in which the tickets are stored, and for AFS, + the locatino is always the cache manager. Individual credential providers choose the + interpretation of the location property + as the concept of location changes from type to type.
    • + +
    • Custom: If you customize any of + the above layouts by adding, removing, reordering or changing + the sort or outline columns, then NetIDMgr will store your new + layout settings under this layout. Invoking this menu item + restores your customizations.
    + +
  • + +
  • Refresh view F5: Refresh +the contents of the credentials view. This queries each credential provider for any +credentials and redraws the credentials view.
  • + +
+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/nidmgr.css b/src/windows/identity/help/html/nidmgr.css index 99a50d17e..0fb975eb7 100644 --- a/src/windows/identity/help/html/nidmgr.css +++ b/src/windows/identity/help/html/nidmgr.css @@ -1,122 +1,122 @@ - body { - font-family: helvetica,sans-serif; - font-size: 9pt; - font-style: normal; - background-color: white; - margin-top: 0pt; - margin-left: 0pt; - margin-right: 0pt; - } - - h1 { border-bottom: 1px solid black; - padding: 1em; - font-size: 12pt; - background-color: rgb(247, 247, 247); - } - - h2 { } - - h3 { border-bottom: 1px solid lightgrey; - padding: 1em; - font-size: 11pt; - } - - h4 { border-bottom: 1px dashed lightgrey; - font-size: 10pt; - font-style: italic; - margin-left: 2em; - } - - p { margin-left: 1em; - margin-right: 1em; - } - - p.caption { margin-left: 1em; - margin-right: 1em; - font-style: italic; - } - - div.inline { float: left; - } - - div.sidebar { border: 1px solid rgb(255, 255, 0); - float: right; - background-color: rgb(255, 255, 185); - } - - a.external { } - - a.mail { } - - img { border: 0pt none ; - } - - span.pre { font-family: monospace; - } - - span.title { font-weight: bold; - } - - div.schema-space { border-left: 1px solid rgb(230, 206, 142); - padding: 0pt; - margin-left: 1em; - margin-top: 0.5em; - margin-bottom: 0.5em; - } - - div.schema-templ { border-left: 1px solid rgb(98, 161, 143); - background-color: rgb(208, 242, 233); - } - - div.schema-space-doc { margin: 1em 3em; - } - - p.schema-space { border-top: 1px solid rgb(230, 206, 142); - margin: 0pt; - padding: 1em; - font-weight: bold; - font-size: 10pt; - background-color: rgb(242, 233, 208); - } - - p.schema-reg { margin: 0pt; - padding-top: 0.4em; - padding-bottom: 0.4em; - background-color: rgb(247, 247, 247); - } - - span.schema-label { display: block; - float: left; - margin-left: 2em; - width: 10em; - } - - span.schema-value { width: 100%; - background-color: rgb(255, 255, 255); - padding-top: 0.3em; - padding-bottom: 0.3em; - } - - div.schema-value { border: 1px solid rgb(153, 171, 94); - background-color: rgb(234, 242, 208); - margin-left: 1em; - margin-right: 1em; - margin-bottom: 1em; - } - - p.schema-value-name { margin: 0.5em 1em; - padding: 0.5em 1em; - } - - span.schema-value-name { font-size: 10pt; - font-weight: bold; - } - - p.schema-value-type { } - - p.schema-value-def { } - - div.schema-value-doc { padding: 1em; - } - - + body { + font-family: helvetica,sans-serif; + font-size: 9pt; + font-style: normal; + background-color: white; + margin-top: 0pt; + margin-left: 0pt; + margin-right: 0pt; + } + + h1 { border-bottom: 1px solid black; + padding: 1em; + font-size: 12pt; + background-color: rgb(247, 247, 247); + } + + h2 { } + + h3 { border-bottom: 1px solid lightgrey; + padding: 1em; + font-size: 11pt; + } + + h4 { border-bottom: 1px dashed lightgrey; + font-size: 10pt; + font-style: italic; + margin-left: 2em; + } + + p { margin-left: 1em; + margin-right: 1em; + } + + p.caption { margin-left: 1em; + margin-right: 1em; + font-style: italic; + } + + div.inline { float: left; + } + + div.sidebar { border: 1px solid rgb(255, 255, 0); + float: right; + background-color: rgb(255, 255, 185); + } + + a.external { } + + a.mail { } + + img { border: 0pt none ; + } + + span.pre { font-family: monospace; + } + + span.title { font-weight: bold; + } + + div.schema-space { border-left: 1px solid rgb(230, 206, 142); + padding: 0pt; + margin-left: 1em; + margin-top: 0.5em; + margin-bottom: 0.5em; + } + + div.schema-templ { border-left: 1px solid rgb(98, 161, 143); + background-color: rgb(208, 242, 233); + } + + div.schema-space-doc { margin: 1em 3em; + } + + p.schema-space { border-top: 1px solid rgb(230, 206, 142); + margin: 0pt; + padding: 1em; + font-weight: bold; + font-size: 10pt; + background-color: rgb(242, 233, 208); + } + + p.schema-reg { margin: 0pt; + padding-top: 0.4em; + padding-bottom: 0.4em; + background-color: rgb(247, 247, 247); + } + + span.schema-label { display: block; + float: left; + margin-left: 2em; + width: 10em; + } + + span.schema-value { width: 100%; + background-color: rgb(255, 255, 255); + padding-top: 0.3em; + padding-bottom: 0.3em; + } + + div.schema-value { border: 1px solid rgb(153, 171, 94); + background-color: rgb(234, 242, 208); + margin-left: 1em; + margin-right: 1em; + margin-bottom: 1em; + } + + p.schema-value-name { margin: 0.5em 1em; + padding: 0.5em 1em; + } + + span.schema-value-name { font-size: 10pt; + font-weight: bold; + } + + p.schema-value-type { } + + p.schema-value-def { } + + div.schema-value-doc { padding: 1em; + } + + diff --git a/src/windows/identity/help/html/tb_standard.htm b/src/windows/identity/help/html/tb_standard.htm index e0f041b8b..69df96a62 100644 --- a/src/windows/identity/help/html/tb_standard.htm +++ b/src/windows/identity/help/html/tb_standard.htm @@ -1,80 +1,80 @@ - - - Network Identity Manager - Standard Toolbar - - - - - - - - - - - - - - - - - - -

Network Identity Manager - Standard Toolbar

- -

The standard toolbar appears below along with descriptions of what -each button does. -

- -

- -

- -
    - -
  1. New credentials: Equivalent to - selecting New - credentials... from the Credential menu. -

    - See New Credentials Action for more - information.

  2. - -
  3. Renew credentials: Equivalent to - selecting Renew Credentials from - the Credential menu. -

    - See Renew Credentials Action for - more information.

  4. - -
  5. Import credentials: Equivalent to - selecting Import Credentials from - the Credential menu. -
  6. - -
  7. Destroy credentials: Equivalent to - selecting Destroy Credentials - from the Credential menu.
  8. - -
  9. Change password: Equivalent to - selecting Change Password ... from - the Credential menu.
  10. - -
  11. Refresh view: Equivalent to selecting - Refresh - View from the Credential menu.
  12. - -
  13. Help: Displays documentation
  14. - -
- - + + + Network Identity Manager - Standard Toolbar + + + + + + + + + + + + + + + + + + +

Network Identity Manager - Standard Toolbar

+ +

The standard toolbar appears below along with descriptions of what +each button does. +

+ +

+ +

+ +
    + +
  1. New credentials: Equivalent to + selecting New + credentials... from the Credential menu. +

    + See New Credentials Action for more + information.

  2. + +
  3. Renew credentials: Equivalent to + selecting Renew Credentials from + the Credential menu. +

    + See Renew Credentials Action for + more information.

  4. + +
  5. Import credentials: Equivalent to + selecting Import Credentials from + the Credential menu. +
  6. + +
  7. Destroy credentials: Equivalent to + selecting Destroy Credentials + from the Credential menu.
  8. + +
  9. Change password: Equivalent to + selecting Change Password ... from + the Credential menu.
  10. + +
  11. Refresh view: Equivalent to selecting + Refresh + View from the Credential menu.
  12. + +
  13. Help: Displays documentation
  14. + +
+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/template.htm b/src/windows/identity/help/html/template.htm index 3357741d7..4e33fab94 100644 --- a/src/windows/identity/help/html/template.htm +++ b/src/windows/identity/help/html/template.htm @@ -1,11 +1,11 @@ - - - Network Identity Manager - title - - - - - - - + + + Network Identity Manager - title + + + + + + + \ No newline at end of file diff --git a/src/windows/identity/help/html/use_config.htm b/src/windows/identity/help/html/use_config.htm index 9d718481a..76b498ac1 100644 --- a/src/windows/identity/help/html/use_config.htm +++ b/src/windows/identity/help/html/use_config.htm @@ -1,306 +1,306 @@ - - - -Network Identity Manager - Configuration - - - - - - - - - - - - - - - - - - - -

Network Identity Manager - Configuration

-

All Network Identity Manager configuration options can be accessed via the -Options menu. The available configuration panels are: -

-
    -
  • -

    General: General application options for NetIDMgr.

    -
  • -
  • -

    Appearance: Allows you to set the font used by - NetIDMgr.

    -
  • -
  • -

    Identities: Default settings for all identities - and settings for each identity. Details below.

    -
  • -
  • -

    Notifications: Notification and timer options. - NetIDMgr can issue warnings when credentials are about to expire. This configuration - panel allows you to set the thresholds at which these warnings are issued. For - example, if the warning timeout is set for 10 minutes, NetIDMgr will issue a - warning 10 minutes before a credential expires.

    -

    The panel also allows you to control the credentials renew timer. If the - timer is disabled, NetIDMgr will not automatically attempt to renew credentials. - If the Renew at half life intervals when possible option - is set, then the timer will expire after the credential has less than half its - lifetime left. If the renewal operation fails, it will attempt another renwal - after half of the remaining liftime is over (i.e. when the credential has less - than 1/4 of its original lifetime left) and so on.

    -
  • -
  • -

    Plugins: Enable/disable and check the status of - registered plug-ins. Enabling or disabling a plug-in only takes effect after - a restart of NetIDMgr.

    -
  • -
  • -

    Kerberos v5: Kerberos v5 Credential Provider Configuration

    -
  • -
  • -

    Kerberos v4: Kerberos v4 Credential Provider Configuration

    -
  • -
-

-

General Options

-

The General options dialog, accessed via the Options menu, allows you to configure -operational properties specific to the NetIdMgr application.

-

-

The Obtain new credentials at startup (if none are present) checkbox will -determine whether or not NetIdMgr will display the New Credentials dialog at startup -when no valid credentials exist.

-

The Destroy all credentials on exit option can be used to empty all of -the credential caches when the NetIdMgr is terminated.

-

The Run NetIdMgr in taskbar notification area after window close checkbox -determines the behavior of the window close button. When checked, NetIdMgr will -close the window but will continue running and can be accessed from the taskbar -notification area. When unchecked, NetIdMgr will behave as if File->Exit was selected -from the menu.

-

Clicking on the notification icon can be configured to either Show Network -Identity Manager or Obtain New Credentials. This option controls which menu item -on the notification icon menu is the default action.

-

The Monitor network connectivity option determines whether or not NetIdMgr -monitors the configuration of IP addresses on the machine. When IP addresses are -added or removed and this feature is activated, the NetIdMgr will probe the identity -management servers (e.g., Kerberos Key Distribution Centers) to determine if they -are reachable and if so will automatically obtain credentials.

-

The Log trace events to trace log at the following location option is -used to activate a log file that can be used to help debug the behavior of NetIdMgr -and its plug-ins. Press the Show log button to view the log file in Windows -Notepad.

- -

Appearance Options

-

The Appearance Options page can be used to select an alternate typeface to be -used when displaying credentials in the NetIdMgr.

-

- - - -

Configuration of default settings for all identities

-

The Identities configuration panel allows you to set -the defaults that will be used for all identities. However, most of the settings -displayed here can be overridden with specific per-identity settings.

-

The panel will have a number of sub panels (or tabs) corresponding to each plug-in -that maintains per-identity configuration.

-

A list of identities for which configuration information is maintained will be -shown under the main Identities configuration panel name. -Each of these correspond to a per identity configuration -panel.

-

Note that adding or removing an identity in the configuration panel only has -the effect of adding or removing the identity to or from the list of identities -for which configuration information is maintained.

- -

Global Identity Settings

-

-

There are three general settings that can be used to set -global defaults.

-

The Monitor credential expiration setting determines -whether or not NetIdMgr should monitor the credential lifetimes and issue -expiration notifications.   This value is used as the default for all new -identities.

-

The Automatically renew setting determines if -renewable credentials are automatically renewed prior to expiration.  This -value is used as the default for all new identities.

-

The Always show in the credentials list (Pinned) -setting determines whether new identities are always pinned within the -credentials list.  A pinned identity will always be displayed regardless of -whether or not there are credentials associated with it.

- -

Global Kerberos v5 Identity Settings

-

-

The global Kerberos v5 settings define default credential -lifetimes and minimum and maximum values for use in constructing the slider -controls used to set the lifetimes. 

-

There are two expiration times associated with Kerberos -tickets.  The first specifies the length of the time period during which the -tickets are valid for use.  The second specifies the length of the renewable -lifetime.  Valid Kerberos tickets may have their valid use lifetime repeatedly -extended up until the renewable lifetime expires.  The settings on this page are -used to configure default lifetime values for NetIdMgr to use when requesting -Kerberos tickets from the Kerberos server (key distribution center).  The -Kerberos server may issue tickets with shorter lifetimes than were requested.

-

The Renewable, Forwardable, and -Addressless options determine whether or not new identities default to -obtaining Kerberos v5 tickets with these options.

-

When Forwardable tickets are received from the -Kerberos Server, these tickets can be forwarded to a remote host when you -connect via telnet, ssh, ftp, rlogin, or similar applications.  When tickets are -forwarded, there is no need to obtain Kerberos tickets again to access -Kerberized services on the remote host.   Forwardable tickets are often -required when authenticating to a remote host using ssh or ftp when the remote -host requires the ability to authenticate to a remote file system such as AFS.

-

When Renewable tickets are received from the -Kerberos Server, the ticket lifetimes may be renewed without prompting the user -for her password.  This allows Kerberos tickets to be issued with short -lifetimes allowing compromised accounts to be disabled on short notice without -requiring the user to enter a password every few hours.  When combined with -Automatic Ticket Renewal, NetIdMgr can maintain valid tickets for a week, a -month, or longer by automatically renewing tickets prior to their expiration.  -The ability to renew tickets without a password is limited by the ticket’s -renewable lifetime as issued by the Kerberos Server.

-

When Addressless is selected, the tickets do not -contain IP address information.  This enables the tickets to be used from behind -Network Address Translators which are frequently found in Cable and DSL Modems.

-

The minimum and maximum ranges are used by the ticket -initialization dialog box when constructing the Lifetime and Renewable Lifetime -sliders.  These sliders can be used to modify the requested ticket lifetimes -when Kerberos tickets are initialized.

- -

Global Kerberos v4 Identity Settings

-

-

When the Obtain Kerberos v4 credentials button is -checked, NetIdMgr will attempt to retrieve Kerberos v4 credentials when ticket -initialization, renewal, or importation is performed.  Kerberos realms are -increasingly configured to support only Kerberos v5 (e.g., Windows Active -Directory Domains.)  If the realms you use do not support Kerberos v4 it is -suggested that this button be unchecked.

-

Be aware that only the default identity can obtain Kerberos -v4 credentials.   This limitation is due to the inability of Kerberos v4 -applications on Microsoft Windows to specify a credentials cache.

- - - -

Per identity configuration

-

You can access the per-identity configuration panel for a specific identity by -selecting the identity name from the list of configuration panels in the configuration -dialog.

-

These panels are similar to the Identities configuration -panel, but they change per-identity settings. Changes you make in these panels will -override the defaults set in the Identities panel.

-

Per identity General Configuration

-

-

The General page contains a Remove Identity button -that can be used to delete this Identity from the Network Identity Manager.

- -

Per identity Kerberos v5 Configuration

- -

-

The Kerberos v5 page displays the name of the credential -cache currently associated with the Identity.

- -

Per identity Kerberos v4 Configuration

- -

-

The Kerberos v4 page is optional and may not appear on all -systems.  Only one identity can obtain Kerberos v4 credentials at a time. 

- -

Notification Configuration

- -

-

The Renew automatically at check box determines -whether or not renewable tickets will be renewed by NetIdMgr when they reach the -specified time remaining.  

-

The Initial warning at check box determines whether -or not a warning will be issued when the specified time remaining is reached.

-

The Final warning at check box determines whether or -not a warning will be issued when the specified time remaining is reached.

-

Notifications are performed in two ways.  First, icons are -displayed next to the affected credentials in the flags column of the display.  -Second, a balloon tip is displayed off of the NetIdMgr taskbar notification area -icon.

- -

Plug-in Configuration

-

-

The Plug-ins -and Modules page provides status information on the currently loaded plug-ins -and modules include a description of their purpose; whether or not it was loaded -properly; which other modules are required; and what organization developed it. -

- -

Kerberos v5 Plug-in Configuration

- -

-

The Kerberos v5 Configuration tab allows you to -alter the behavior of  the Kerberos v5 identity provider. 

-

In the Default Realm field, select a Kerberos realm -from the dropdown list.

-

The Include all -configured realms in New Credentials realm list determines whether all of -the realms declared in the Kerberos v5 Configuration file are included in the -realms list of the Obtain New Credentials dialog.  If disabled, only the -realms previously used to obtain credentials are displayed.

-

The Configuration File -field displays the path to the Kerberos v5 configuration file, krb5.ini.

-

The Kerberos libraries depend -on configuration files for their proper operation.  When Create file if -missing is checked, NetIdMgr will construct replacements for missing -configuration files upon startup.  This is performed by extracting Kerberos -configuration information from the local Windows registry and the Domain Name -System.  The contents of the created file may then be edited using the -Kerberos Properties Dialog.  [This functionality is not available in this -release.]

-

The field labeled Host Name displays the name of -your local machine.  The Domain Name field displays the domain to which -your local machine currently belongs. 

-

The Import Tickets listbox allows you to configure -how NetIdMgr interacts with the Microsoft Kerberos Authentication Provider.  -NetIdMgr will automatically import Kerberos Tickets from the Microsoft LSA at -startup depending upon the selected option and whether or not the Kerberos -Authentication Provider was used for Windows Logon authorization. 

-
    -
  • Never means do not import tickets from the - MSLSA;
  • -
  • Always means do import tickets from the MSLSA; - and
  • -
  • Only when the Principal matches means import - tickets from the MSLSA only if the MSLSA Kerberos principal belongs to the - Default Realm.
  • -
-

When the Windows Logon identity is imported and is -configured as the default identity, the MIT credential cache will be used in -preference to the MSLSA credential cache.

- -

Kerberos v5 Realm Configuration

-

- -

Kerberos v5 Credential Cache Configuration

-

-

The Kerberos Realm Configuration dialog can be used to -manage the contents of the [Realms] and [Domain_Realm] sections of the Kerberos -v5 configuration file.

- -

Kerberos v4 Plug-in Configuration

-

-

Here, you can specify the -name of the in-memory cache used to store the Kerberos v4 tickets.  The format -of the name is “API:” followed by the cache name.  Disk caches are not supported -by Kerberos for Windows.

-

The paths to the Kerberos v4 configuration files: krb.con -and krbrealm.con may be viewed from this dialog.  The default is to store the -configuration files in the Windows directory.

- - - + + + +Network Identity Manager - Configuration + + + + + + + + + + + + + + + + + + + +

Network Identity Manager - Configuration

+

All Network Identity Manager configuration options can be accessed via the +Options menu. The available configuration panels are: +

+
    +
  • +

    General: General application options for NetIDMgr.

    +
  • +
  • +

    Appearance: Allows you to set the font used by + NetIDMgr.

    +
  • +
  • +

    Identities: Default settings for all identities + and settings for each identity. Details below.

    +
  • +
  • +

    Notifications: Notification and timer options. + NetIDMgr can issue warnings when credentials are about to expire. This configuration + panel allows you to set the thresholds at which these warnings are issued. For + example, if the warning timeout is set for 10 minutes, NetIDMgr will issue a + warning 10 minutes before a credential expires.

    +

    The panel also allows you to control the credentials renew timer. If the + timer is disabled, NetIDMgr will not automatically attempt to renew credentials. + If the Renew at half life intervals when possible option + is set, then the timer will expire after the credential has less than half its + lifetime left. If the renewal operation fails, it will attempt another renwal + after half of the remaining liftime is over (i.e. when the credential has less + than 1/4 of its original lifetime left) and so on.

    +
  • +
  • +

    Plugins: Enable/disable and check the status of + registered plug-ins. Enabling or disabling a plug-in only takes effect after + a restart of NetIDMgr.

    +
  • +
  • +

    Kerberos v5: Kerberos v5 Credential Provider Configuration

    +
  • +
  • +

    Kerberos v4: Kerberos v4 Credential Provider Configuration

    +
  • +
+

+

General Options

+

The General options dialog, accessed via the Options menu, allows you to configure +operational properties specific to the NetIdMgr application.

+

+

The Obtain new credentials at startup (if none are present) checkbox will +determine whether or not NetIdMgr will display the New Credentials dialog at startup +when no valid credentials exist.

+

The Destroy all credentials on exit option can be used to empty all of +the credential caches when the NetIdMgr is terminated.

+

The Run NetIdMgr in taskbar notification area after window close checkbox +determines the behavior of the window close button. When checked, NetIdMgr will +close the window but will continue running and can be accessed from the taskbar +notification area. When unchecked, NetIdMgr will behave as if File->Exit was selected +from the menu.

+

Clicking on the notification icon can be configured to either Show Network +Identity Manager or Obtain New Credentials. This option controls which menu item +on the notification icon menu is the default action.

+

The Monitor network connectivity option determines whether or not NetIdMgr +monitors the configuration of IP addresses on the machine. When IP addresses are +added or removed and this feature is activated, the NetIdMgr will probe the identity +management servers (e.g., Kerberos Key Distribution Centers) to determine if they +are reachable and if so will automatically obtain credentials.

+

The Log trace events to trace log at the following location option is +used to activate a log file that can be used to help debug the behavior of NetIdMgr +and its plug-ins. Press the Show log button to view the log file in Windows +Notepad.

+ +

Appearance Options

+

The Appearance Options page can be used to select an alternate typeface to be +used when displaying credentials in the NetIdMgr.

+

+ + + +

Configuration of default settings for all identities

+

The Identities configuration panel allows you to set +the defaults that will be used for all identities. However, most of the settings +displayed here can be overridden with specific per-identity settings.

+

The panel will have a number of sub panels (or tabs) corresponding to each plug-in +that maintains per-identity configuration.

+

A list of identities for which configuration information is maintained will be +shown under the main Identities configuration panel name. +Each of these correspond to a per identity configuration +panel.

+

Note that adding or removing an identity in the configuration panel only has +the effect of adding or removing the identity to or from the list of identities +for which configuration information is maintained.

+ +

Global Identity Settings

+

+

There are three general settings that can be used to set +global defaults.

+

The Monitor credential expiration setting determines +whether or not NetIdMgr should monitor the credential lifetimes and issue +expiration notifications.   This value is used as the default for all new +identities.

+

The Automatically renew setting determines if +renewable credentials are automatically renewed prior to expiration.  This +value is used as the default for all new identities.

+

The Always show in the credentials list (Pinned) +setting determines whether new identities are always pinned within the +credentials list.  A pinned identity will always be displayed regardless of +whether or not there are credentials associated with it.

+ +

Global Kerberos v5 Identity Settings

+

+

The global Kerberos v5 settings define default credential +lifetimes and minimum and maximum values for use in constructing the slider +controls used to set the lifetimes. 

+

There are two expiration times associated with Kerberos +tickets.  The first specifies the length of the time period during which the +tickets are valid for use.  The second specifies the length of the renewable +lifetime.  Valid Kerberos tickets may have their valid use lifetime repeatedly +extended up until the renewable lifetime expires.  The settings on this page are +used to configure default lifetime values for NetIdMgr to use when requesting +Kerberos tickets from the Kerberos server (key distribution center).  The +Kerberos server may issue tickets with shorter lifetimes than were requested.

+

The Renewable, Forwardable, and +Addressless options determine whether or not new identities default to +obtaining Kerberos v5 tickets with these options.

+

When Forwardable tickets are received from the +Kerberos Server, these tickets can be forwarded to a remote host when you +connect via telnet, ssh, ftp, rlogin, or similar applications.  When tickets are +forwarded, there is no need to obtain Kerberos tickets again to access +Kerberized services on the remote host.   Forwardable tickets are often +required when authenticating to a remote host using ssh or ftp when the remote +host requires the ability to authenticate to a remote file system such as AFS.

+

When Renewable tickets are received from the +Kerberos Server, the ticket lifetimes may be renewed without prompting the user +for her password.  This allows Kerberos tickets to be issued with short +lifetimes allowing compromised accounts to be disabled on short notice without +requiring the user to enter a password every few hours.  When combined with +Automatic Ticket Renewal, NetIdMgr can maintain valid tickets for a week, a +month, or longer by automatically renewing tickets prior to their expiration.  +The ability to renew tickets without a password is limited by the ticket’s +renewable lifetime as issued by the Kerberos Server.

+

When Addressless is selected, the tickets do not +contain IP address information.  This enables the tickets to be used from behind +Network Address Translators which are frequently found in Cable and DSL Modems.

+

The minimum and maximum ranges are used by the ticket +initialization dialog box when constructing the Lifetime and Renewable Lifetime +sliders.  These sliders can be used to modify the requested ticket lifetimes +when Kerberos tickets are initialized.

+ +

Global Kerberos v4 Identity Settings

+

+

When the Obtain Kerberos v4 credentials button is +checked, NetIdMgr will attempt to retrieve Kerberos v4 credentials when ticket +initialization, renewal, or importation is performed.  Kerberos realms are +increasingly configured to support only Kerberos v5 (e.g., Windows Active +Directory Domains.)  If the realms you use do not support Kerberos v4 it is +suggested that this button be unchecked.

+

Be aware that only the default identity can obtain Kerberos +v4 credentials.   This limitation is due to the inability of Kerberos v4 +applications on Microsoft Windows to specify a credentials cache.

+ + + +

Per identity configuration

+

You can access the per-identity configuration panel for a specific identity by +selecting the identity name from the list of configuration panels in the configuration +dialog.

+

These panels are similar to the Identities configuration +panel, but they change per-identity settings. Changes you make in these panels will +override the defaults set in the Identities panel.

+

Per identity General Configuration

+

+

The General page contains a Remove Identity button +that can be used to delete this Identity from the Network Identity Manager.

+ +

Per identity Kerberos v5 Configuration

+ +

+

The Kerberos v5 page displays the name of the credential +cache currently associated with the Identity.

+ +

Per identity Kerberos v4 Configuration

+ +

+

The Kerberos v4 page is optional and may not appear on all +systems.  Only one identity can obtain Kerberos v4 credentials at a time. 

+ +

Notification Configuration

+ +

+

The Renew automatically at check box determines +whether or not renewable tickets will be renewed by NetIdMgr when they reach the +specified time remaining.  

+

The Initial warning at check box determines whether +or not a warning will be issued when the specified time remaining is reached.

+

The Final warning at check box determines whether or +not a warning will be issued when the specified time remaining is reached.

+

Notifications are performed in two ways.  First, icons are +displayed next to the affected credentials in the flags column of the display.  +Second, a balloon tip is displayed off of the NetIdMgr taskbar notification area +icon.

+ +

Plug-in Configuration

+

+

The Plug-ins +and Modules page provides status information on the currently loaded plug-ins +and modules include a description of their purpose; whether or not it was loaded +properly; which other modules are required; and what organization developed it. +

+ +

Kerberos v5 Plug-in Configuration

+ +

+

The Kerberos v5 Configuration tab allows you to +alter the behavior of  the Kerberos v5 identity provider. 

+

In the Default Realm field, select a Kerberos realm +from the dropdown list.

+

The Include all +configured realms in New Credentials realm list determines whether all of +the realms declared in the Kerberos v5 Configuration file are included in the +realms list of the Obtain New Credentials dialog.  If disabled, only the +realms previously used to obtain credentials are displayed.

+

The Configuration File +field displays the path to the Kerberos v5 configuration file, krb5.ini.

+

The Kerberos libraries depend +on configuration files for their proper operation.  When Create file if +missing is checked, NetIdMgr will construct replacements for missing +configuration files upon startup.  This is performed by extracting Kerberos +configuration information from the local Windows registry and the Domain Name +System.  The contents of the created file may then be edited using the +Kerberos Properties Dialog.  [This functionality is not available in this +release.]

+

The field labeled Host Name displays the name of +your local machine.  The Domain Name field displays the domain to which +your local machine currently belongs. 

+

The Import Tickets listbox allows you to configure +how NetIdMgr interacts with the Microsoft Kerberos Authentication Provider.  +NetIdMgr will automatically import Kerberos Tickets from the Microsoft LSA at +startup depending upon the selected option and whether or not the Kerberos +Authentication Provider was used for Windows Logon authorization. 

+
    +
  • Never means do not import tickets from the + MSLSA;
  • +
  • Always means do import tickets from the MSLSA; + and
  • +
  • Only when the Principal matches means import + tickets from the MSLSA only if the MSLSA Kerberos principal belongs to the + Default Realm.
  • +
+

When the Windows Logon identity is imported and is +configured as the default identity, the MIT credential cache will be used in +preference to the MSLSA credential cache.

+ +

Kerberos v5 Realm Configuration

+

+ +

Kerberos v5 Credential Cache Configuration

+

+

The Kerberos Realm Configuration dialog can be used to +manage the contents of the [Realms] and [Domain_Realm] sections of the Kerberos +v5 configuration file.

+ +

Kerberos v4 Plug-in Configuration

+

+

Here, you can specify the +name of the in-memory cache used to store the Kerberos v4 tickets.  The format +of the name is “API:” followed by the cache name.  Disk caches are not supported +by Kerberos for Windows.

+

The paths to the Kerberos v4 configuration files: krb.con +and krbrealm.con may be viewed from this dialog.  The default is to store the +configuration files in the Windows directory.

+ + + \ No newline at end of file diff --git a/src/windows/identity/help/html/use_icon.htm b/src/windows/identity/help/html/use_icon.htm index 353443fab..85e05fdb3 100644 --- a/src/windows/identity/help/html/use_icon.htm +++ b/src/windows/identity/help/html/use_icon.htm @@ -1,73 +1,73 @@ - - - Network Identity Manager Notification Icon - - - - - - -

Network Identity Manager Notification Icon

-

Visual Representation of Identity State Information

- -

When Network Identity Manager is running, an icon will appear in the taskbar notification area.  The icon will change to reflect the current state of -the managed credentials.

- -

The icons and their meanings are described below:

- - - - - - - - - - - - - - - - - - - - - - - - -
There are no managed credentials for any identity.
There are valid credentials for all the identities.
Some of the -credentials will expire in the next few minutes. This icon will be -displayed even if automatic renewals are enabled. In this case, the -credentials in question may get renewed before they expire, and the -icon will change to reflect this change.
At least one identity's credentials have expired.
A warning -message is waiting to be displayed. Click the icon to view the -warning message.
- -

Notification Icon Menu

-

Clicking on the notification with the second mouse button displays a menu -(see right) which contains the most commonly used Network Identity Manager -operations. 

- - - - -

-

Notification Icon Default Action

- -

Clicking on the icon with the first mouse button will open or close the Network Identity Manager application window or open the Obtain New Credentials dialog based upon the current configuration. The behavior can be adjusted from the Options->General page. Clicking with the second mouse button will display a menu of commands.

- - + + + Network Identity Manager Notification Icon + + + + + + +

Network Identity Manager Notification Icon

+

Visual Representation of Identity State Information

+ +

When Network Identity Manager is running, an icon will appear in the taskbar notification area.  The icon will change to reflect the current state of +the managed credentials.

+ +

The icons and their meanings are described below:

+ + + + + + + + + + + + + + + + + + + + + + + + +
There are no managed credentials for any identity.
There are valid credentials for all the identities.
Some of the +credentials will expire in the next few minutes. This icon will be +displayed even if automatic renewals are enabled. In this case, the +credentials in question may get renewed before they expire, and the +icon will change to reflect this change.
At least one identity's credentials have expired.
A warning +message is waiting to be displayed. Click the icon to view the +warning message.
+ +

Notification Icon Menu

+

Clicking on the notification with the second mouse button displays a menu +(see right) which contains the most commonly used Network Identity Manager +operations. 

+ + + + +

+

Notification Icon Default Action

+ +

Clicking on the icon with the first mouse button will open or close the Network Identity Manager application window or open the Obtain New Credentials dialog based upon the current configuration. The behavior can be adjusted from the Options->General page. Clicking with the second mouse button will display a menu of commands.

+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/use_layout.htm b/src/windows/identity/help/html/use_layout.htm index 425af0b99..351cafd5f 100644 --- a/src/windows/identity/help/html/use_layout.htm +++ b/src/windows/identity/help/html/use_layout.htm @@ -1,91 +1,91 @@ - - - Network Identity Manager - Managing the credentials view layout - - - - - - - - - - - - -

Network Identity Manager - Managing the credentials view layout

- -

The credentials view layout provides an outlined view of the -credentials that are being managed by NetIDMgr. The columns that are -displayed in the window, the columns that are used for grouping and -sorting the list of credentials can be customized.

- -

The following sections provide more details on the types of -customizations that can be performed:

- - - - -

Pre-defined layouts

- -

The predefined layouts in NetIDMgr are:

- -
    - -
  • By Identity: Credentials grouped by - identity, credentials type and location, and finally sorted by - credential name.
  • - -
  • By Type: Credentials grouped by - credentials type and then by identity.
  • - -
  • By Location: Credentials grouped by - location, identity and then by credentials type. The location is - reported by individual credentials providers that indicate where - each credential is stored. For Kerberos 5 and Kerberos 4, this is a - credentials cache name.
  • - -
- - -

Adding and removing columns

- -

The View Columns menu lists all the -columns that are available for display. Each column that is already -displayed will have a check mark next to it. Selecting a column that -is not currently being displayed will add that column to the display. -Selecting a column that is is being displayed will remove it from the -display.

- -

This menu can be reached either by right-clicking the column header -area or by invoking the View menu. The menu -is shown below.

- -

- - -

Sorting by a column

- -

Clicking on a column header will change the sort order of the -column if it is already being used as a sort key. If the colunm is -not currently being used as a sort key, clicking on the column header -will start sorting in increasing order by that column.

- -

Double-clicking a column that is not used for grouping will stop -sorting by that column.

- - -

Grouping by a column

- -

Double-clicking on a column header will start grouping by that -column if the column is currently not being used as a sort key. If -the column is currently being used for grouping, then double-clicking -will stop it from being used for grouping.

- - + + + Network Identity Manager - Managing the credentials view layout + + + + + + + + + + + + +

Network Identity Manager - Managing the credentials view layout

+ +

The credentials view layout provides an outlined view of the +credentials that are being managed by NetIDMgr. The columns that are +displayed in the window, the columns that are used for grouping and +sorting the list of credentials can be customized.

+ +

The following sections provide more details on the types of +customizations that can be performed:

+ + + + +

Pre-defined layouts

+ +

The predefined layouts in NetIDMgr are:

+ +
    + +
  • By Identity: Credentials grouped by + identity, credentials type and location, and finally sorted by + credential name.
  • + +
  • By Type: Credentials grouped by + credentials type and then by identity.
  • + +
  • By Location: Credentials grouped by + location, identity and then by credentials type. The location is + reported by individual credentials providers that indicate where + each credential is stored. For Kerberos 5 and Kerberos 4, this is a + credentials cache name.
  • + +
+ + +

Adding and removing columns

+ +

The View Columns menu lists all the +columns that are available for display. Each column that is already +displayed will have a check mark next to it. Selecting a column that +is not currently being displayed will add that column to the display. +Selecting a column that is is being displayed will remove it from the +display.

+ +

This menu can be reached either by right-clicking the column header +area or by invoking the View menu. The menu +is shown below.

+ +

+ + +

Sorting by a column

+ +

Clicking on a column header will change the sort order of the +column if it is already being used as a sort key. If the colunm is +not currently being used as a sort key, clicking on the column header +will start sorting in increasing order by that column.

+ +

Double-clicking a column that is not used for grouping will stop +sorting by that column.

+ + +

Grouping by a column

+ +

Double-clicking on a column header will start grouping by that +column if the column is currently not being used as a sort key. If +the column is currently being used for grouping, then double-clicking +will stop it from being used for grouping.

+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/use_start.htm b/src/windows/identity/help/html/use_start.htm index 4c1b7ab83..3e7b5fa82 100644 --- a/src/windows/identity/help/html/use_start.htm +++ b/src/windows/identity/help/html/use_start.htm @@ -1,70 +1,70 @@ - - - Network Identity Manager - Starting Network Identity Manager - - - - - - -

Network Identity Manager - Starting Network Identity Manager

- -

Opening the Network Identity Manager window from the notification icon

- -

Depending on how Network Identity Manager was installed, it may be configured -with a shortcut in the Startup Folder, or it may require a manual start. NetIDMgr is a -notification tray application and therefore it is not listed in the Microsoft -Windows task bar.  This design is based on the assumption that most users -rarely interact directly with the application.

- - - -

When NetIDMgr is running, it places an icon in the system -notification area (sometimes referred to as the "system tray") as -shown in figure 1. Details about the state information represented by -the icon can be found here.

- -

Left clicking on this icon executes the default action which either changes -the view state of the credential list or displays the Obtain New Credentials -dialog. Right clicking on the icon displays a menu.

- -

Starting Network Identity Manager from the Start Menu or command line

- - - -

If NetIDMgr was not configured to start automatically when you -login to Windows, then you need to start it either from the -commandline or the start menu. The start menu application icon is -under "Kerberos for Windows" as shown in figure 2.

- -

Alternatively, you can type 'netidmgr' at a command shell to start -NetIDMgr as well. When starting this way, you may specify additional -command line options.

- -

Configuring startup options

- -

-Note that you can configure options related to the startup of NetIDMgr -by using the NetIDMgr configuration dialog box. You can use the menu -items under the Options menu to invoke the -configuration dialog. -

- -

-Only one instance of NetIDMgr can be running at any one time. -Attempting to start NetIDMgr while it is still running will not do -anything, unless you provide any command line options that trigger -some action in the running application instance. If more than one -version of NetIDMgr is installed on the system, and the older version -is running at the time the newer version is started, the older version -will exit allowing the newer version to take over. -

- - + + + Network Identity Manager - Starting Network Identity Manager + + + + + + +

Network Identity Manager - Starting Network Identity Manager

+ +

Opening the Network Identity Manager window from the notification icon

+ +

Depending on how Network Identity Manager was installed, it may be configured +with a shortcut in the Startup Folder, or it may require a manual start. NetIDMgr is a +notification tray application and therefore it is not listed in the Microsoft +Windows task bar.  This design is based on the assumption that most users +rarely interact directly with the application.

+ + + +

When NetIDMgr is running, it places an icon in the system +notification area (sometimes referred to as the "system tray") as +shown in figure 1. Details about the state information represented by +the icon can be found here.

+ +

Left clicking on this icon executes the default action which either changes +the view state of the credential list or displays the Obtain New Credentials +dialog. Right clicking on the icon displays a menu.

+ +

Starting Network Identity Manager from the Start Menu or command line

+ + + +

If NetIDMgr was not configured to start automatically when you +login to Windows, then you need to start it either from the +commandline or the start menu. The start menu application icon is +under "Kerberos for Windows" as shown in figure 2.

+ +

Alternatively, you can type 'netidmgr' at a command shell to start +NetIDMgr as well. When starting this way, you may specify additional +command line options.

+ +

Configuring startup options

+ +

+Note that you can configure options related to the startup of NetIDMgr +by using the NetIDMgr configuration dialog box. You can use the menu +items under the Options menu to invoke the +configuration dialog. +

+ +

+Only one instance of NetIDMgr can be running at any one time. +Attempting to start NetIDMgr while it is still running will not do +anything, unless you provide any command line options that trigger +some action in the running application instance. If more than one +version of NetIDMgr is installed on the system, and the older version +is running at the time the newer version is started, the older version +will exit allowing the newer version to take over. +

+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/using.htm b/src/windows/identity/help/html/using.htm index 103ae5fdf..c9808effa 100644 --- a/src/windows/identity/help/html/using.htm +++ b/src/windows/identity/help/html/using.htm @@ -1,57 +1,57 @@ - - - Using Network Identity Manager - - - - - - -

Using Network Identity Manager

- -

-Depending on how Network Identity Manager was installed, it might already be running -in the Windows taskbar notification area or it might need to be started -manually. See the topic Starting -Network Identity Manager for details.  -

-

-To open the NetIDMgr window when the application -icon is displayed in the Windows taskbar notification area, click on the -icon with the 2nd mouse button (usually the right mouse button) and select Show Network Identity Manager window from the menu. -

-

-If NetIdMgr is not displayed in the Windows taskbar notification area, it can be -started from the -Start Menu, or type 'netidmgr' at a command prompt. -

- -

-Once the NetIDMgr window is visible, you will be presented with a view -of your existing identities, or a message notifying you that you -don't have any.   Details of the credentials view objects can be found here. -

- -

-Brief overviews of how to perform common tasks are linked below: -

- - - -

-A more comprehensive list of how-to topics can be found in the -How do I... section.

- - + + + Using Network Identity Manager + + + + + + +

Using Network Identity Manager

+ +

+Depending on how Network Identity Manager was installed, it might already be running +in the Windows taskbar notification area or it might need to be started +manually. See the topic Starting +Network Identity Manager for details.  +

+

+To open the NetIDMgr window when the application +icon is displayed in the Windows taskbar notification area, click on the +icon with the 2nd mouse button (usually the right mouse button) and select Show Network Identity Manager window from the menu. +

+

+If NetIdMgr is not displayed in the Windows taskbar notification area, it can be +started from the +Start Menu, or type 'netidmgr' at a command prompt. +

+ +

+Once the NetIDMgr window is visible, you will be presented with a view +of your existing identities, or a message notifying you that you +don't have any.   Details of the credentials view objects can be found here. +

+ +

+Brief overviews of how to perform common tasks are linked below: +

+ + + +

+A more comprehensive list of how-to topics can be found in the +How do I... section.

+ + \ No newline at end of file diff --git a/src/windows/identity/help/html/welcome.htm b/src/windows/identity/help/html/welcome.htm index 263be8c47..a7b1f53b1 100644 --- a/src/windows/identity/help/html/welcome.htm +++ b/src/windows/identity/help/html/welcome.htm @@ -1,130 +1,130 @@ - - - Welcome to the Network Identity Manager - - - - - - -

Welcome to the Network Identity Manager

- -
- -
- -

Network Identity Manager (NetIdMgr) is a graphical -tool designed to simplify the management of network identities and their credentials -which are used by network authentication protocols while providing -secure access to network services.  When NetIDMgr is used with Kerberos v5 each -network identity is a unique Kerberos principal name and the credentials -are Kerberos v5 tickets.  Kerberos v5 tickets can be used by NetIDMgr to -obtain Andrew File System (AFS) tokens and X.509 public key certificates if the -appropriate plug-ins are available.

-

When you log into Microsoft Windows with a domain account, -your account name and the Windows Domain name when combined form a Kerberos -principal name.  As an example, “WINDOWS\jaltman” is actually a short form -representation of -jaltman@WINDOWS.SECURE-ENDPOINTS.COM.   Microsoft Windows uses -Kerberos-based network identities for all domain-based network authentications.  -

-

Since Microsoft Windows already provides a network -identity, why do you need NetIdMgr?  Here are some examples:

-
    -
  1. Your only network identity is your Windows Domain - account but you have third-party applications that rely on MIT Kerberos for - authentication for access to remote files, e-mail, web data, or other - services.  In this scenario, NetIdMgr will automatically import your Windows - Domain credentials into a form that can be used by applications that rely on - MIT Kerberos.
  2. -
  3. You do not have a Windows Domain account but you must - obtain network credentials in order to securely access a network service.  - In this scenario, NetIdMgr can be used to obtain new credentials for network - identities and can automatically renew them before they expire.
  4. -
  5. You have Kerberos credentials for a network identity - and you have third-party applications that require an alternative form of - network credential, such as an AFS token or a X.509 certificate, which can - be obtained via a Kerberos authentication.  In this scenario, NetIdMgr can - automatically use your existing credentials to obtain and renew the - additional network credentials types.
  6. -
  7. You have a Windows Domain account but you need to - authenticate to a service belonging to a Kerberos realm outside the Windows - Domain.  In this scenario, NetIdMgr can be used to manage multiple network - identities, the Windows Domain identity as well as the additional Kerberos - identity required for the external network services. 
  8. -
  9. You have multiple network identities within the same - Kerberos realm which are used for different roles.  For example, an - unprivileged user identity and a privileged identity that is only meant to - be used for system administration.  In this scenario, NetIdMgr can be used - to obtain credentials for all of your identities and automatically renew - them as necessary.
  10. -
-

NetIdMgr’s automated credential acquisition and renewal -makes it an invaluable tool which provides users with a Single Sign-on -experience.

-

NetIdMgr is most commonly configured as a StartUp item that runs an icon in the Taskbar Notification Area until you logout.  -While running, NetIDMgr automatically renews your credentials, notifies you of -pending expirations and prompts you when a Kerberized application requires -credentials that have not already been obtained. 

-

When configured to do so, NetIdMgr will prompt you -immediately after it starts to obtain Kerberos credentials.  This is often -referred to as logging on to Kerberos.  NetIdMgr does not perform a logon in the -sense of the Windows Logon Service.  A logon service would do more than manage -Kerberos tickets. A logon service would authenticate you to the local machine, -validate access to your local file system and performs additional set-up tasks. -These are beyond the scope of NetIdMgr. NetIdMgr simply allows you to manage -Kerberos identities on behalf of compatible applications and to change your -Kerberos password.

-

-NetIDMgr is distributed as a part of MIT Kerberos for Windows -along with the Kerberos v5 and Kerberos v4 plug-ins. Plug-ins for additional -credential types including AFS tokens and KCA certificates are available as -separate distributions.  The OpenAFS plug-in, which is required for supporting AFS tokens, is -distributed as part of OpenAFS for -Windows.  The KCA plug-in is distributed by -Secure Endpoints Inc.

- - - -

Getting started

- - - -

Information for developers

- -

-If you are interested in developing plug-ins or extending the features -of NetIDMgr, your first stop should be the NetIDMgr SDK which is included in the -MIT Kerberos for Windows SDK.

- -

-Contact the netidmgr@secure-endpoints.com -mailing list with questions or comments.

- -

External links

- - - + + + Welcome to the Network Identity Manager + + + + + + +

Welcome to the Network Identity Manager

+ +
+ +
+ +

Network Identity Manager (NetIdMgr) is a graphical +tool designed to simplify the management of network identities and their credentials +which are used by network authentication protocols while providing +secure access to network services.  When NetIDMgr is used with Kerberos v5 each +network identity is a unique Kerberos principal name and the credentials +are Kerberos v5 tickets.  Kerberos v5 tickets can be used by NetIDMgr to +obtain Andrew File System (AFS) tokens and X.509 public key certificates if the +appropriate plug-ins are available.

+

When you log into Microsoft Windows with a domain account, +your account name and the Windows Domain name when combined form a Kerberos +principal name.  As an example, “WINDOWS\jaltman” is actually a short form +representation of +jaltman@WINDOWS.SECURE-ENDPOINTS.COM.   Microsoft Windows uses +Kerberos-based network identities for all domain-based network authentications.  +

+

Since Microsoft Windows already provides a network +identity, why do you need NetIdMgr?  Here are some examples:

+
    +
  1. Your only network identity is your Windows Domain + account but you have third-party applications that rely on MIT Kerberos for + authentication for access to remote files, e-mail, web data, or other + services.  In this scenario, NetIdMgr will automatically import your Windows + Domain credentials into a form that can be used by applications that rely on + MIT Kerberos.
  2. +
  3. You do not have a Windows Domain account but you must + obtain network credentials in order to securely access a network service.  + In this scenario, NetIdMgr can be used to obtain new credentials for network + identities and can automatically renew them before they expire.
  4. +
  5. You have Kerberos credentials for a network identity + and you have third-party applications that require an alternative form of + network credential, such as an AFS token or a X.509 certificate, which can + be obtained via a Kerberos authentication.  In this scenario, NetIdMgr can + automatically use your existing credentials to obtain and renew the + additional network credentials types.
  6. +
  7. You have a Windows Domain account but you need to + authenticate to a service belonging to a Kerberos realm outside the Windows + Domain.  In this scenario, NetIdMgr can be used to manage multiple network + identities, the Windows Domain identity as well as the additional Kerberos + identity required for the external network services. 
  8. +
  9. You have multiple network identities within the same + Kerberos realm which are used for different roles.  For example, an + unprivileged user identity and a privileged identity that is only meant to + be used for system administration.  In this scenario, NetIdMgr can be used + to obtain credentials for all of your identities and automatically renew + them as necessary.
  10. +
+

NetIdMgr’s automated credential acquisition and renewal +makes it an invaluable tool which provides users with a Single Sign-on +experience.

+

NetIdMgr is most commonly configured as a StartUp item that runs an icon in the Taskbar Notification Area until you logout.  +While running, NetIDMgr automatically renews your credentials, notifies you of +pending expirations and prompts you when a Kerberized application requires +credentials that have not already been obtained. 

+

When configured to do so, NetIdMgr will prompt you +immediately after it starts to obtain Kerberos credentials.  This is often +referred to as logging on to Kerberos.  NetIdMgr does not perform a logon in the +sense of the Windows Logon Service.  A logon service would do more than manage +Kerberos tickets. A logon service would authenticate you to the local machine, +validate access to your local file system and performs additional set-up tasks. +These are beyond the scope of NetIdMgr. NetIdMgr simply allows you to manage +Kerberos identities on behalf of compatible applications and to change your +Kerberos password.

+

+NetIDMgr is distributed as a part of MIT Kerberos for Windows +along with the Kerberos v5 and Kerberos v4 plug-ins. Plug-ins for additional +credential types including AFS tokens and KCA certificates are available as +separate distributions.  The OpenAFS plug-in, which is required for supporting AFS tokens, is +distributed as part of OpenAFS for +Windows.  The KCA plug-in is distributed by +Secure Endpoints Inc.

+ + + +

Getting started

+ + + +

Information for developers

+ +

+If you are interested in developing plug-ins or extending the features +of NetIDMgr, your first stop should be the NetIDMgr SDK which is included in the +MIT Kerberos for Windows SDK.

+ +

+Contact the netidmgr@secure-endpoints.com +mailing list with questions or comments.

+ +

External links

+ + + \ No newline at end of file diff --git a/src/windows/identity/help/html/wnd_main.htm b/src/windows/identity/help/html/wnd_main.htm index 211120aa3..dd9885446 100644 --- a/src/windows/identity/help/html/wnd_main.htm +++ b/src/windows/identity/help/html/wnd_main.htm @@ -1,87 +1,87 @@ - - - Network Identity Manager - Application Window - - - - - - - - - - - - - -

Network Identity Manager - Application Window

- -

The application window of Network Identity Manager can be displayed in two modes: basic and advanced.

- -

The basic view provides status information of the currently available identities whereas the advanced -view provides more detailed information of all the active credentials.

- -
- -

Figure 1. Network Identity Manager Basic View

-
- -
- - -

Figure 2. Network Identity Manager Advanced View

-
- -
    -
  1. Menu bar
  2. -
  3. Tool bar
  4. -
  5. Credentials list
  6. - -
- -

Identity views

- -

-The default credentials view organizes them grouped by identity name -and then by credential type. Each credential is then shown under each -group heading sorted by the credential name. The default headings for -the credential view provides you with a minimal amount of information -to reduce clutter. If you wish you can add columns to the display -using the Choose columns... action on the -View menu. -

- -

-The header backgrounds and the credential rows change color if the -credentials are about to expire or are expired. - -

    - -
  • Headers mean that -credentials at that level will expire unless renewed. Credentials -will have a warning icon next to them.
    - -The threshold for this can be set as the Warn -parameter in the Notifications configuration -panel.
  • - -
  • Headers mean that -credentials at that level will expire in a few minutes. Credentials -will have a critical icon next to them.
    - -The threshold for this can be set as the Warn -again parameter in the Notifications -configuration panel.
  • - -
  • Headers mean that -the credentials at that level have expired. Credentials will have an -expired icon next to them.
    - -The threshold for this is always zero. -
  • - -
-

- - + + + Network Identity Manager - Application Window + + + + + + + + + + + + + +

Network Identity Manager - Application Window

+ +

The application window of Network Identity Manager can be displayed in two modes: basic and advanced.

+ +

The basic view provides status information of the currently available identities whereas the advanced +view provides more detailed information of all the active credentials.

+ +
+ +

Figure 1. Network Identity Manager Basic View

+
+ +
+ + +

Figure 2. Network Identity Manager Advanced View

+
+ +
    +
  1. Menu bar
  2. +
  3. Tool bar
  4. +
  5. Credentials list
  6. + +
+ +

Identity views

+ +

+The default credentials view organizes them grouped by identity name +and then by credential type. Each credential is then shown under each +group heading sorted by the credential name. The default headings for +the credential view provides you with a minimal amount of information +to reduce clutter. If you wish you can add columns to the display +using the Choose columns... action on the +View menu. +

+ +

+The header backgrounds and the credential rows change color if the +credentials are about to expire or are expired. + +

    + +
  • Headers mean that +credentials at that level will expire unless renewed. Credentials +will have a warning icon next to them.
    + +The threshold for this can be set as the Warn +parameter in the Notifications configuration +panel.
  • + +
  • Headers mean that +credentials at that level will expire in a few minutes. Credentials +will have a critical icon next to them.
    + +The threshold for this can be set as the Warn +again parameter in the Notifications +configuration panel.
  • + +
  • Headers mean that +the credentials at that level have expired. Credentials will have an +expired icon next to them.
    + +The threshold for this is always zero. +
  • + +
+

+ + \ No newline at end of file diff --git a/src/windows/identity/help/netidmgr.hhp b/src/windows/identity/help/netidmgr.hhp index 9f2ae7332..b22e07a0a 100644 --- a/src/windows/identity/help/netidmgr.hhp +++ b/src/windows/identity/help/netidmgr.hhp @@ -1,35 +1,35 @@ -[OPTIONS] -Auto Index=Yes -Compatibility=1.1 or later -Compiled file=netidmgr.chm -Contents file=toc.hhc -Default Window=MainHelpWnd -Default topic=html/welcome.htm -Display compile progress=No -Index file=Index.hhk -Language=0x409 English (United States) -Title=NetIDMgr - -[WINDOWS] -MainHelpWnd="NetIDMgr Help","toc.hhc","Index.hhk","html/welcome.htm","html/welcome.htm",,,,,0x42120,,0x384e,[271,372,593,566],0x830000,,,,,,0 - - -[ALIAS] -IDH_ACTION_NEW_ID=html\act_new_creds.htm -IDH_ACTION_PASSWD_ID=html\act_chpw.htm -IDH_WELCOME=html\welcome.htm - -[MAP] -#include khhelp.h - -[TEXT POPUPS] -khhelp.h -popups_newcreds.txt -popups_password.txt - -[INFOTYPES] -Category:Concepts -CategoryDesc:Authentication, authorization and related concepts. -Category:Usage -CategoryDesc:Usage instructions for NetIDMgr - +[OPTIONS] +Auto Index=Yes +Compatibility=1.1 or later +Compiled file=netidmgr.chm +Contents file=toc.hhc +Default Window=MainHelpWnd +Default topic=html/welcome.htm +Display compile progress=No +Index file=Index.hhk +Language=0x409 English (United States) +Title=NetIDMgr + +[WINDOWS] +MainHelpWnd="NetIDMgr Help","toc.hhc","Index.hhk","html/welcome.htm","html/welcome.htm",,,,,0x42120,,0x384e,[271,372,593,566],0x830000,,,,,,0 + + +[ALIAS] +IDH_ACTION_NEW_ID=html\act_new_creds.htm +IDH_ACTION_PASSWD_ID=html\act_chpw.htm +IDH_WELCOME=html\welcome.htm + +[MAP] +#include khhelp.h + +[TEXT POPUPS] +khhelp.h +popups_newcreds.txt +popups_password.txt + +[INFOTYPES] +Category:Concepts +CategoryDesc:Authentication, authorization and related concepts. +Category:Usage +CategoryDesc:Usage instructions for NetIDMgr + diff --git a/src/windows/identity/help/popups.txt b/src/windows/identity/help/popups.txt index 7d58703b1..564d4ddac 100644 --- a/src/windows/identity/help/popups.txt +++ b/src/windows/identity/help/popups.txt @@ -1 +1 @@ -foo +foo diff --git a/src/windows/identity/help/popups_newcreds.txt b/src/windows/identity/help/popups_newcreds.txt index 74a39360e..1ab97f378 100644 --- a/src/windows/identity/help/popups_newcreds.txt +++ b/src/windows/identity/help/popups_newcreds.txt @@ -1,30 +1,30 @@ -.topic IDH_NC_TABMAIN -Opens the identity selection panel. - -.topic IDH_NC_TABBUTTON -Opens the option panel for this credentials type. - -.topic IDH_NC_OK -Obtains new credentials using the information that you provided. - -.topic IDH_NC_CANCEL -Cancels the new credentials operation. - -.topic IDH_NC_HELP -Provides help for this dialog box. - -.topic IDH_NC_ADVANCED -Expands the dialog and allows you to set additional -options for the credentials that will be obtained -by this dialog. - -.topic IDH_NC_CREDWND -Provides an overview of the credentials that will be obtained -after the successful completion of the new credentials dialog. -Clicking on the hyperlinks will take you to the corresponding -credentials option panels where you will be able to set -additional options for each type. - -.topic IDH_NC_SETDEF -If checked, once the credentials acquisition operation completes, the -identity will be set as the default. +.topic IDH_NC_TABMAIN +Opens the identity selection panel. + +.topic IDH_NC_TABBUTTON +Opens the option panel for this credentials type. + +.topic IDH_NC_OK +Obtains new credentials using the information that you provided. + +.topic IDH_NC_CANCEL +Cancels the new credentials operation. + +.topic IDH_NC_HELP +Provides help for this dialog box. + +.topic IDH_NC_ADVANCED +Expands the dialog and allows you to set additional +options for the credentials that will be obtained +by this dialog. + +.topic IDH_NC_CREDWND +Provides an overview of the credentials that will be obtained +after the successful completion of the new credentials dialog. +Clicking on the hyperlinks will take you to the corresponding +credentials option panels where you will be able to set +additional options for each type. + +.topic IDH_NC_SETDEF +If checked, once the credentials acquisition operation completes, the +identity will be set as the default. diff --git a/src/windows/identity/help/popups_password.txt b/src/windows/identity/help/popups_password.txt index e92b30e91..567236391 100644 --- a/src/windows/identity/help/popups_password.txt +++ b/src/windows/identity/help/popups_password.txt @@ -1,19 +1,19 @@ -.topic IDH_NC_TABMAIN -Switches to the identity selection panel. - -.topic IDH_NC_TABBUTTON -Switches to the options pangel for this credential type. - -.topic IDH_NC_OK -Change the password for the selected identity. - -.topic IDH_NC_CANCEL -Cancel the change password operation. - -.topic IDH_NC_ADVANCED -Expand the dialog and make the option pages visible for the credential -types for which you will be changing the password for. - -.topic IDH_NC_CREDWND -A brief overview of the credential types and the identities for which -the password will be changed. +.topic IDH_NC_TABMAIN +Switches to the identity selection panel. + +.topic IDH_NC_TABBUTTON +Switches to the options pangel for this credential type. + +.topic IDH_NC_OK +Change the password for the selected identity. + +.topic IDH_NC_CANCEL +Cancel the change password operation. + +.topic IDH_NC_ADVANCED +Expand the dialog and make the option pages visible for the credential +types for which you will be changing the password for. + +.topic IDH_NC_CREDWND +A brief overview of the credential types and the identities for which +the password will be changed. diff --git a/src/windows/identity/help/toc.hhc b/src/windows/identity/help/toc.hhc index 6c3876ef1..34d0f0a4d 100644 --- a/src/windows/identity/help/toc.hhc +++ b/src/windows/identity/help/toc.hhc @@ -1,144 +1,144 @@ - - - - - - - - - - - - - -
    -
  • - - - -
  • - - - -
  • - - - -
      -
    • - - - -
    • - - - -
    -
  • - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - -
      -
    • - - - -
    • - - - - -
    • - - - - -
    • - - - -
    -
  • - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - -
      -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - -
      -
    • - - - -
    -
- + + + + + + + + + + + + + +
    +
  • + + + +
  • + + + +
  • + + + +
      +
    • + + + +
    • + + + +
    +
  • + + + +
      +
    • + + + +
    • + + + +
    • + + + +
    +
  • + + + +
      +
    • + + + +
    • + + + + +
    • + + + + +
    • + + + +
    +
  • + + + +
      +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    +
  • + + +
      +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    +
  • + + +
      +
    • + + + +
    +
+ diff --git a/src/windows/identity/include/Makefile b/src/windows/identity/include/Makefile index 10d29625a..f16ae5395 100644 --- a/src/windows/identity/include/Makefile +++ b/src/windows/identity/include/Makefile @@ -1,38 +1,38 @@ -# -# Copyright (c) 2004 Massachusetts Institute of Technology -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation files -# (the "Software"), to deal in the Software without restriction, -# including without limitation the rights to use, copy, modify, merge, -# publish, distribute, sublicense, and/or sell copies of the Software, -# and to permit persons to whom the Software is furnished to do so, -# subject to the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - - -MODULE=include -!include <../config/Makefile.w32> - -INCFILES= \ - $(INCDIR)\khdefs.h \ - $(INCDIR)\kherror.h \ - $(INCDIR)\khlist.h \ - $(INCDIR)\khmsgtypes.h \ - $(INCDIR)\netidmgr.h - -all: $(INCFILES) - -clean:: - if exist '..\obj' $(RM) $(INCFILES) +# +# Copyright (c) 2004 Massachusetts Institute of Technology +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + +MODULE=include +!include <../config/Makefile.w32> + +INCFILES= \ + $(INCDIR)\khdefs.h \ + $(INCDIR)\kherror.h \ + $(INCDIR)\khlist.h \ + $(INCDIR)\khmsgtypes.h \ + $(INCDIR)\netidmgr.h + +all: $(INCFILES) + +clean:: + if exist '..\obj' $(RM) $(INCFILES) diff --git a/src/windows/identity/kconfig/Makefile b/src/windows/identity/kconfig/Makefile index 98e9c25b4..b3d552926 100644 --- a/src/windows/identity/kconfig/Makefile +++ b/src/windows/identity/kconfig/Makefile @@ -1,50 +1,50 @@ -# -# Copyright (c) 2004 Massachusetts Institute of Technology -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation files -# (the "Software"), to deal in the Software without restriction, -# including without limitation the rights to use, copy, modify, merge, -# publish, distribute, sublicense, and/or sell copies of the Software, -# and to permit persons to whom the Software is furnished to do so, -# subject to the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - - -MODULE=kconfig -!include <../config/Makefile.w32> - -INCFILES= \ - $(INCDIR)\kconfig.h - -OBJFILES= \ - $(OBJ)\kconfigmain.obj \ - $(OBJ)\api.obj - -all: mkdirs $(INCFILES) $(OBJFILES) - -clean:: - if exist '..\obj' $(RM) $(INCFILES) -# Tests - -test:: util_test - -util_test: $(OBJ)\utiltest.exe - $(OBJ)\utiltest.exe - -$(OBJ)\utiltest.exe: $(OBJ)\utiltest.obj - $(EXECONLINK) $(OBJFILES) - -$(OBJ)\utiltest.obj: test\utiltest.c - $(C2OBJ) +# +# Copyright (c) 2004 Massachusetts Institute of Technology +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + +MODULE=kconfig +!include <../config/Makefile.w32> + +INCFILES= \ + $(INCDIR)\kconfig.h + +OBJFILES= \ + $(OBJ)\kconfigmain.obj \ + $(OBJ)\api.obj + +all: mkdirs $(INCFILES) $(OBJFILES) + +clean:: + if exist '..\obj' $(RM) $(INCFILES) +# Tests + +test:: util_test + +util_test: $(OBJ)\utiltest.exe + $(OBJ)\utiltest.exe + +$(OBJ)\utiltest.exe: $(OBJ)\utiltest.obj + $(EXECONLINK) $(OBJFILES) + +$(OBJ)\utiltest.obj: test\utiltest.c + $(C2OBJ) diff --git a/src/windows/identity/kcreddb/Makefile b/src/windows/identity/kcreddb/Makefile index 579e4544a..ad39e9eb4 100644 --- a/src/windows/identity/kcreddb/Makefile +++ b/src/windows/identity/kcreddb/Makefile @@ -1,52 +1,52 @@ -# -# Copyright (c) 2004 Massachusetts Institute of Technology -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation files -# (the "Software"), to deal in the Software without restriction, -# including without limitation the rights to use, copy, modify, merge, -# publish, distribute, sublicense, and/or sell copies of the Software, -# and to permit persons to whom the Software is furnished to do so, -# subject to the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - - -MODULE=kcreddb -!include <../config/Makefile.w32> - -INCFILES= \ - $(INCDIR)\kcreddb.h - -OBJFILES= \ - $(OBJ)\buf.obj \ - $(OBJ)\attrib.obj \ - $(OBJ)\credential.obj \ - $(OBJ)\credset.obj \ - $(OBJ)\credtype.obj \ - $(OBJ)\identity.obj \ - $(OBJ)\init.obj \ - $(OBJ)\kcreddbmain.obj \ - $(OBJ)\type.obj \ - $(OBJ)\kcdbconfig.obj - -$(OBJ)\kcdbconfig.c: kcdbconfig.csv $(CONFDIR)\csvschema.cfg - $(CCSV) $** $@ - -$(OBJ)\kcredres.res: lang\en_us\kcredres.rc - $(RC2RES) - -all: mkdirs $(INCFILES) $(OBJ)\kcredres.res $(OBJFILES) - -clean:: +# +# Copyright (c) 2004 Massachusetts Institute of Technology +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + +MODULE=kcreddb +!include <../config/Makefile.w32> + +INCFILES= \ + $(INCDIR)\kcreddb.h + +OBJFILES= \ + $(OBJ)\buf.obj \ + $(OBJ)\attrib.obj \ + $(OBJ)\credential.obj \ + $(OBJ)\credset.obj \ + $(OBJ)\credtype.obj \ + $(OBJ)\identity.obj \ + $(OBJ)\init.obj \ + $(OBJ)\kcreddbmain.obj \ + $(OBJ)\type.obj \ + $(OBJ)\kcdbconfig.obj + +$(OBJ)\kcdbconfig.c: kcdbconfig.csv $(CONFDIR)\csvschema.cfg + $(CCSV) $** $@ + +$(OBJ)\kcredres.res: lang\en_us\kcredres.rc + $(RC2RES) + +all: mkdirs $(INCFILES) $(OBJ)\kcredres.res $(OBJFILES) + +clean:: if exist '..\obj' $(RM) $(INCFILES) \ No newline at end of file diff --git a/src/windows/identity/kcreddb/kcdbconfig.csv b/src/windows/identity/kcreddb/kcdbconfig.csv index bd1fc6f33..f4b52eea2 100644 --- a/src/windows/identity/kcreddb/kcdbconfig.csv +++ b/src/windows/identity/kcreddb/kcdbconfig.csv @@ -1,15 +1,15 @@ -Name,Type,Value,Description -KCDB,KC_SPACE,0,Khimaira Configuration DB - Identity,KC_SPACE,0,Configuration space for identities - _Schema,KC_SPACE,0,Schema for identities - Sticky,KC_INT32,0,Boolean. Is this a sticky identity? - Monitor,KC_INT32,1,Boolean. Enables monitoring the identity - WarnThreshold,KC_INT32,900,In seconds - AllowWarn,KC_INT32,1,Boolean. Allow warning. - CriticalThreshold,KC_INT32,60,In seconds - AllowCritical,KC_INT32,1,Boolean. Allow critical. - AutoRenewThreshold,KC_INT32,60,In seconds - AllowAutoRenew,KC_INT32,1,Boolean. - _Schema,KC_ENDSPACE,0, - Identity,KC_ENDSPACE,0, -KCDB,KC_ENDSPACE,0, +Name,Type,Value,Description +KCDB,KC_SPACE,0,Khimaira Configuration DB + Identity,KC_SPACE,0,Configuration space for identities + _Schema,KC_SPACE,0,Schema for identities + Sticky,KC_INT32,0,Boolean. Is this a sticky identity? + Monitor,KC_INT32,1,Boolean. Enables monitoring the identity + WarnThreshold,KC_INT32,900,In seconds + AllowWarn,KC_INT32,1,Boolean. Allow warning. + CriticalThreshold,KC_INT32,60,In seconds + AllowCritical,KC_INT32,1,Boolean. Allow critical. + AutoRenewThreshold,KC_INT32,60,In seconds + AllowAutoRenew,KC_INT32,1,Boolean. + _Schema,KC_ENDSPACE,0, + Identity,KC_ENDSPACE,0, +KCDB,KC_ENDSPACE,0, diff --git a/src/windows/identity/kcreddb/lang/en_us/kcredres.rc b/src/windows/identity/kcreddb/lang/en_us/kcredres.rc index 4c221eeeb..6dce39513 100644 --- a/src/windows/identity/kcreddb/lang/en_us/kcredres.rc +++ b/src/windows/identity/kcreddb/lang/en_us/kcredres.rc @@ -1,130 +1,130 @@ -// Microsoft Visual C++ generated resource script. -// -#include "..\..\langres.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "..\\..\\langres.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -1 TEXTINCLUDE -BEGIN - "..\\..\\langres.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_CREDDB "Khimaira Credentials Database" - IDS_NAME "Service Name" - IDS_IDENTITY "Identity" - IDS_ISSUED "Issued on" - IDS_EXPIRES "Expires on" - IDS_TIMELEFT "Time Remaining" - IDS_LOCATION "Location" - IDS_PARENT "Parent" - IDS_TYPE "Type" - IDS_IVL_EXPIRED "(Expired)" - IDS_IVL_D_H "%I64u days %I64u hours" -END - -STRINGTABLE -BEGIN - IDS_IVL_H_M "%I64u hours %I64u mins" - IDS_IVL_M_S "%I64u mins %I64u secs" - IDS_IVL_S "%I64u seconds" - IDS_IVL_UNKNOWN "(Unknown)" - IDS_LIFETIME "Lifetime" - IDS_IVL_1D "1 day" - IDS_IVL_1H "1 hour" - IDS_IVL_1M "1 minute" - IDS_IVL_1S "1 second" - IDS_IVL_D "%I64u days" - IDS_IVL_H "%I64u hours" - IDS_IVL_M "%I64u minutes" - IDS_IVL_S_SPEC "s,sec,second,seconds,secs" - IDS_IVL_M_SPEC "m,min,mins,minutes" - IDS_IVL_H_SPEC "h,hrs,hours" - IDS_IVL_D_SPEC "d,day,days,ds" -END - -STRINGTABLE -BEGIN - 128 "w,wk,wks,weeks" - IDS_FLAGS "Flags" - IDS_RENEW_TIMELEFT "Renewable Time left" - IDS_RENEW_EXPIRES "Renewable time expires" - IDS_RENEW_LIFETIME "Renewable lifetime" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +// Microsoft Visual C++ generated resource script. +// +#include "..\..\langres.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "..\\..\\langres.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +1 TEXTINCLUDE +BEGIN + "..\\..\\langres.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE +BEGIN + IDS_CREDDB "Khimaira Credentials Database" + IDS_NAME "Service Name" + IDS_IDENTITY "Identity" + IDS_ISSUED "Issued on" + IDS_EXPIRES "Expires on" + IDS_TIMELEFT "Time Remaining" + IDS_LOCATION "Location" + IDS_PARENT "Parent" + IDS_TYPE "Type" + IDS_IVL_EXPIRED "(Expired)" + IDS_IVL_D_H "%I64u days %I64u hours" +END + +STRINGTABLE +BEGIN + IDS_IVL_H_M "%I64u hours %I64u mins" + IDS_IVL_M_S "%I64u mins %I64u secs" + IDS_IVL_S "%I64u seconds" + IDS_IVL_UNKNOWN "(Unknown)" + IDS_LIFETIME "Lifetime" + IDS_IVL_1D "1 day" + IDS_IVL_1H "1 hour" + IDS_IVL_1M "1 minute" + IDS_IVL_1S "1 second" + IDS_IVL_D "%I64u days" + IDS_IVL_H "%I64u hours" + IDS_IVL_M "%I64u minutes" + IDS_IVL_S_SPEC "s,sec,second,seconds,secs" + IDS_IVL_M_SPEC "m,min,mins,minutes" + IDS_IVL_H_SPEC "h,hrs,hours" + IDS_IVL_D_SPEC "d,day,days,ds" +END + +STRINGTABLE +BEGIN + 128 "w,wk,wks,weeks" + IDS_FLAGS "Flags" + IDS_RENEW_TIMELEFT "Renewable Time left" + IDS_RENEW_EXPIRES "Renewable time expires" + IDS_RENEW_LIFETIME "Renewable lifetime" +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/windows/identity/kherr/Makefile b/src/windows/identity/kherr/Makefile index 26021d465..3ce6bbd7f 100644 --- a/src/windows/identity/kherr/Makefile +++ b/src/windows/identity/kherr/Makefile @@ -1,43 +1,43 @@ -# -# Copyright (c) 2004 Massachusetts Institute of Technology -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation files -# (the "Software"), to deal in the Software without restriction, -# including without limitation the rights to use, copy, modify, merge, -# publish, distribute, sublicense, and/or sell copies of the Software, -# and to permit persons to whom the Software is furnished to do so, -# subject to the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - - -MODULE=kherr -!include <../config/Makefile.w32> - -INCFILES= \ - $(INCDIR)\kherr.h - -OBJFILES= \ - $(OBJ)\kherrmain.obj \ - $(OBJ)\kherr.obj - -LIBFILES= - -SDKLIBFILES= \ - strsafe.lib - -all: mkdirs $(INCFILES) $(OBJFILES) - -clean:: +# +# Copyright (c) 2004 Massachusetts Institute of Technology +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + +MODULE=kherr +!include <../config/Makefile.w32> + +INCFILES= \ + $(INCDIR)\kherr.h + +OBJFILES= \ + $(OBJ)\kherrmain.obj \ + $(OBJ)\kherr.obj + +LIBFILES= + +SDKLIBFILES= \ + strsafe.lib + +all: mkdirs $(INCFILES) $(OBJFILES) + +clean:: if exist '..\obj' $(RM) $(INCFILES) \ No newline at end of file diff --git a/src/windows/identity/kmm/Makefile b/src/windows/identity/kmm/Makefile index 6a3edfa85..b60d2066b 100644 --- a/src/windows/identity/kmm/Makefile +++ b/src/windows/identity/kmm/Makefile @@ -1,54 +1,54 @@ -# -# Copyright (c) 2004 Massachusetts Institute of Technology -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation files -# (the "Software"), to deal in the Software without restriction, -# including without limitation the rights to use, copy, modify, merge, -# publish, distribute, sublicense, and/or sell copies of the Software, -# and to permit persons to whom the Software is furnished to do so, -# subject to the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - - -MODULE=kmm -!include <../config/Makefile.w32> - -INCFILES= \ - $(INCDIR)\kmm.h \ - $(INCDIR)\kplugin.h - -OBJFILES= \ - $(OBJ)\kmmmain.obj \ - $(OBJ)\kmm.obj \ - $(OBJ)\kmm_plugin.obj \ - $(OBJ)\kmm_module.obj \ - $(OBJ)\kmm_reg.obj \ - $(OBJ)\kmm_registrar.obj \ - $(OBJ)\kmmconfig.obj - -MSGRESFILE=$(OBJ)\kmm_msgs.res - -$(OBJ)\kmmconfig.c: kmmconfig.csv $(CONFDIR)\csvschema.cfg - $(CCSV) $** $@ - -$(MSGRESFILE): $(OBJ)\kmm_msgs.rc - -$(OBJ)\kmm_msgs.rc: lang\kmm_msgs.mc - $(MC2RC) - -all: mkdirs $(INCFILES) $(MSGRESFILE) $(OBJFILES) - -clean:: +# +# Copyright (c) 2004 Massachusetts Institute of Technology +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + +MODULE=kmm +!include <../config/Makefile.w32> + +INCFILES= \ + $(INCDIR)\kmm.h \ + $(INCDIR)\kplugin.h + +OBJFILES= \ + $(OBJ)\kmmmain.obj \ + $(OBJ)\kmm.obj \ + $(OBJ)\kmm_plugin.obj \ + $(OBJ)\kmm_module.obj \ + $(OBJ)\kmm_reg.obj \ + $(OBJ)\kmm_registrar.obj \ + $(OBJ)\kmmconfig.obj + +MSGRESFILE=$(OBJ)\kmm_msgs.res + +$(OBJ)\kmmconfig.c: kmmconfig.csv $(CONFDIR)\csvschema.cfg + $(CCSV) $** $@ + +$(MSGRESFILE): $(OBJ)\kmm_msgs.rc + +$(OBJ)\kmm_msgs.rc: lang\kmm_msgs.mc + $(MC2RC) + +all: mkdirs $(INCFILES) $(MSGRESFILE) $(OBJFILES) + +clean:: if exist '..\obj' $(RM) $(INCFILES) \ No newline at end of file diff --git a/src/windows/identity/kmm/kmmconfig.csv b/src/windows/identity/kmm/kmmconfig.csv index 43bb48cdc..dc812565e 100644 --- a/src/windows/identity/kmm/kmmconfig.csv +++ b/src/windows/identity/kmm/kmmconfig.csv @@ -1,47 +1,47 @@ -Name,Type,Value,Description -PluginManager,KC_SPACE,0,Plugin Manager Configuration - Plugins,KC_SPACE,0,Plugin Specific configuration - PluginMaxFailureCount,KC_INT32,3,Maximum number of failure counts before plugin is disabled - PluginFailureCountResetTime,KC_INT64,36000,Time after first failure at which the failure count is reset - _Schema,KC_SPACE,0,Plugin schema - Module,KC_STRING,,The name of the module that registered this plugin - Description,KC_STRING,,Description of the plugin - Dependencies,KC_STRING,,Multi string of plugin names of plugins that this plugin depends on - Type,KC_INT32,0,The type of the plugin -# Flags,KC_INT32,0,Flags (Deprecated) - Disabled,KC_INT32,0,Plug-in is disabled (Boolean) - NoUnload,KC_INT32,0,Do not unload the plugin (Boolean) - FailureCount,KC_INT32,0,Number of failed loads - FailureTime,KC_INT64,0,FILETIME of first failure - FailureReason,KC_INT32,0,Reason for first failure. One of the plugin status values. - Parameters,KC_SPACE,0,Plugin parameters. The schema beyond this is plugin dependent. - Parameters,KC_ENDSPACE,0, - _Schema,KC_ENDSPACE,0, - Plugins,KC_ENDSPACE,0, - Modules,KC_SPACE,0,Module Specific configuration - ModuleMaxFailureCount,KC_INT32,3,Maximum number of failure counts before module is disabled - ModuleFailureCountResetTime,KC_INT64,72000,Time after first failure at which the failure count is reset - _Schema,KC_SPACE,0,Module schema - ImagePath,KC_STRING,,Path to the DLL (including DLL name) -# Flags,KC_INT32,0,Flags (Deprecated) - Disabled,KC_INT32,0,Module is disabled (Boolean) - FailureCount,KC_INT32,0,Number of failed loads - FailureTime,KC_INT64,0,FILETIME of first failure - FailureReason,KC_INT32,0,Reason for last failure. One of the module status values. - PluginList,KC_STRING,,List of plugins implemented in the module - _Schema,KC_ENDSPACE,0, -# The OpenAFS plug-in is installed separately. -# OpenAFS,KC_SPACE,0,OpenAFS Module -# ImagePath,KC_STRING,afscred.dll, -# PluginList,KC_STRING,AfsCred, -# OpenAFS,KC_ENDSPACE,0, - MITKrb5,KC_SPACE,0,MIT Kerberos V - ImagePath,KC_STRING,krb5cred.dll, - PluginList,KC_STRING,Krb5Cred, - MITKrb5,KC_ENDSPACE,0, - MITKrb4,KC_SPACE,0,MIT Kerberos IV - ImagePath,KC_STRING,krb4cred.dll, - PluginList,KC_STRING,Krb4Cred, - MITKrb4,KC_ENDSPACE,0, - Modules,KC_ENDSPACE,0, -PluginManager,KC_ENDSPACE,0, +Name,Type,Value,Description +PluginManager,KC_SPACE,0,Plugin Manager Configuration + Plugins,KC_SPACE,0,Plugin Specific configuration + PluginMaxFailureCount,KC_INT32,3,Maximum number of failure counts before plugin is disabled + PluginFailureCountResetTime,KC_INT64,36000,Time after first failure at which the failure count is reset + _Schema,KC_SPACE,0,Plugin schema + Module,KC_STRING,,The name of the module that registered this plugin + Description,KC_STRING,,Description of the plugin + Dependencies,KC_STRING,,Multi string of plugin names of plugins that this plugin depends on + Type,KC_INT32,0,The type of the plugin +# Flags,KC_INT32,0,Flags (Deprecated) + Disabled,KC_INT32,0,Plug-in is disabled (Boolean) + NoUnload,KC_INT32,0,Do not unload the plugin (Boolean) + FailureCount,KC_INT32,0,Number of failed loads + FailureTime,KC_INT64,0,FILETIME of first failure + FailureReason,KC_INT32,0,Reason for first failure. One of the plugin status values. + Parameters,KC_SPACE,0,Plugin parameters. The schema beyond this is plugin dependent. + Parameters,KC_ENDSPACE,0, + _Schema,KC_ENDSPACE,0, + Plugins,KC_ENDSPACE,0, + Modules,KC_SPACE,0,Module Specific configuration + ModuleMaxFailureCount,KC_INT32,3,Maximum number of failure counts before module is disabled + ModuleFailureCountResetTime,KC_INT64,72000,Time after first failure at which the failure count is reset + _Schema,KC_SPACE,0,Module schema + ImagePath,KC_STRING,,Path to the DLL (including DLL name) +# Flags,KC_INT32,0,Flags (Deprecated) + Disabled,KC_INT32,0,Module is disabled (Boolean) + FailureCount,KC_INT32,0,Number of failed loads + FailureTime,KC_INT64,0,FILETIME of first failure + FailureReason,KC_INT32,0,Reason for last failure. One of the module status values. + PluginList,KC_STRING,,List of plugins implemented in the module + _Schema,KC_ENDSPACE,0, +# The OpenAFS plug-in is installed separately. +# OpenAFS,KC_SPACE,0,OpenAFS Module +# ImagePath,KC_STRING,afscred.dll, +# PluginList,KC_STRING,AfsCred, +# OpenAFS,KC_ENDSPACE,0, + MITKrb5,KC_SPACE,0,MIT Kerberos V + ImagePath,KC_STRING,krb5cred.dll, + PluginList,KC_STRING,Krb5Cred, + MITKrb5,KC_ENDSPACE,0, + MITKrb4,KC_SPACE,0,MIT Kerberos IV + ImagePath,KC_STRING,krb4cred.dll, + PluginList,KC_STRING,Krb4Cred, + MITKrb4,KC_ENDSPACE,0, + Modules,KC_ENDSPACE,0, +PluginManager,KC_ENDSPACE,0, diff --git a/src/windows/identity/kmm/lang/kmm_msgs.mc b/src/windows/identity/kmm/lang/kmm_msgs.mc index a33c523ac..7d7b545c1 100644 --- a/src/windows/identity/kmm/lang/kmm_msgs.mc +++ b/src/windows/identity/kmm/lang/kmm_msgs.mc @@ -1,259 +1,259 @@ -; // ** kmm_msgs.mc - -; /* Since .mc files can contain strings from any language, we define -; all our messages in one file in the /lang/ directory instead of -; language specific subdirectories. */ - -; /* The type is set to (wchar_t *) because that's what we will be -; feeding kherr_report() function. */ - -MessageIdTypedef=LPWSTR - -; /* Severity values as defined in the message definition file are -; currently ignored. */ - -SeverityNames=( - Success=0x0 -) - -LanguageNames=( - English=0x409:MSG_ENU -) - -OutputBase=16 - -; /* Actual messages start here */ - -MessageId=1 -Severity=Success -SymbolicName=MSG_INITIAL -Language=English -Initial placeholder message -. - -MessageId= -SymbolicName=MSG_LOAD_DEFAULT -Language=English -Load default modules -. - -MessageId= -SymbolicName=MSG_INIT_MODULE -Language=English -Initializing module [%1] -. - -MessageId= -SymbolicName=MSG_IM_GET_CONFIG -Language=English -Can't get configuration for modules -. - -MessageId= -SymbolicName=MSG_IM_NOT_PREINIT -Language=English -Module is not in PREINIT state. Current state=[%1!d!] -. - -MessageId= -SymbolicName=MSG_IM_NOT_REGISTERED -Language=English -Module is not registered -. - -MessageId= -SymbolicName=MSG_IM_DISABLED -Language=English -Module is disabled -. - -MessageId= -SymbolicName=MSG_IM_MAX_FAIL -Language=English -Module has failed too many times -. - -MessageId= -SymbolicName=MSG_IM_INVALID_MODULE -Language=English -The DLL containing the module was not of the correct format. -. - -MessageId= -SymbolicName=MSG_IM_INCOMPATIBLE -Language=English -The DLL containing the module was not compatible with this version of NetIDMgr. -. - -Messageid= -SymbolicName=MSG_IM_NOT_FOUND -Language=English -Module binary was not found. Checked path [%1] -. - -MessageId= -SymbolicName=MSG_IM_NO_ENTRY -Language=English -Entry point not found. Checked entry point [%1] -. - -MessageId= -SymbolicName=MSG_IM_INIT_FAIL -Language=English -Module initialization entry point returned failure code [%1!d!] -. - -MessageId= -SymbolicName=MSG_IM_NO_PLUGINS -Language=English -No plugins were registerd by the module -. - -MessageId= -SymbolicName=MSG_IM_MOD_STATE -Language=English -Module [%1] is in state [%2!d!] -. - -MessageId= -SymbolicName=MSG_IMERR_TITLE -Language=English -Failed to load module %1!s! -. - -MessageId= -SymbolicName=MSG_IMERR_SUGGEST -Language=English -The following information may help resolve this issue: - -%2!s! -. - -MessageId= -SymbolicName=MSG_IP_TASK_DESC -Language=English -Initializing plugin [%1] -. - -MessageId= -SymbolicName=MSG_IP_GET_CONFIG -Language=English -Can't get configuration for plugins -. - -MessageId= -SymbolicName=MSG_IP_NOT_REGISTERED -Language=English -The plugin is not registered -. - -MessageId= -SymbolicName=MSG_IP_DISABLED -Language=English -The plugin is disabled -. - -MessageId= -SymbolicName=MSG_IP_HOLD -Language=English -Placing plugin [%1] on hold -. - -MessageId= -SymbolicName=MSG_IP_STATE -Language=English -Leaving plugin [%1] in state [%2!d!] -. - -MessageId= -SymbolicName=MSG_IP_EXITING -Language=English -The plugin [%1] is in error state [%2!d!]. Exiting plugin. -. - -MessageId= -SymbolicName=MSG_RMI_NOT_FOUND -Language=English -Can't get file version information for path [%1!s!] -. - -MessageId= -SymbolicName=MSG_RMI_NO_TRANS -Language=English -Can't get version resource tranlations list for path [%1!s!] -. - -MessageId= -SymbolicName=MSG_RMI_NO_LOCAL -Language=English -The list of version translations were empty or did not contain a resource for the current user or system locale. -. - -MessageId= -SymbolicName=MSG_RMI_RES_MISSING -Language=English -Required resource %1!s! missing -. - -MessageId= -SymbolicName=MSG_RMI_MOD_MISMATCH -Language=English -The module name specified in the resource is [%1!s!] while the module name as registered is [%2!s!] -. - -MessageId= -SymbolicName=MSG_RMI_RES_TOO_LONG -Language=English -The resource %1!s! is malformed or too long -. - -MessageId= -SymbolicName=MSG_RMI_API_MISMATCH -Language=English -The module was compile for API version %1!d!. However the current API version is %2!d!. -. - -MessageId= -SymbolicName=MSG_PB_START -Language=English -Starting plugin [%1!s!] -. - -MessageId= -SymbolicName=MSG_PB_INVALID_CODE_PTR -Language=English -The plugin is no longer valid. This maybe because the module containing the plugin was unloaded. -. - -MessageId= -SymbolicName=MSG_PB_INIT_RV -Language=English -Initialization of the plugin returned code %1!d!. -. - -MessageId= -SymbolicName=MSG_PB_INIT_FAIL -Language=English -Initialization of the %1!s! plugin failed. The plugin will be unloaded and any functionality provided will not be available. -. - -MessageId= -SymbolicName=MSG_PB_INIT_FAIL_S -Language=English -Plugin %1!s! failed to initialize -. - -MessageId= -SymbolicName=MSG_PB_INIT_FAIL_G -Language=English -Details for plugin: -Description: %2!s! -Module: %3!s! -Support: %4!s! -. - -MessageId= -SymbolicName=MSG_PB_INIT_DONE -Language=English -Plugin running -. +; // ** kmm_msgs.mc + +; /* Since .mc files can contain strings from any language, we define +; all our messages in one file in the /lang/ directory instead of +; language specific subdirectories. */ + +; /* The type is set to (wchar_t *) because that's what we will be +; feeding kherr_report() function. */ + +MessageIdTypedef=LPWSTR + +; /* Severity values as defined in the message definition file are +; currently ignored. */ + +SeverityNames=( + Success=0x0 +) + +LanguageNames=( + English=0x409:MSG_ENU +) + +OutputBase=16 + +; /* Actual messages start here */ + +MessageId=1 +Severity=Success +SymbolicName=MSG_INITIAL +Language=English +Initial placeholder message +. + +MessageId= +SymbolicName=MSG_LOAD_DEFAULT +Language=English +Load default modules +. + +MessageId= +SymbolicName=MSG_INIT_MODULE +Language=English +Initializing module [%1] +. + +MessageId= +SymbolicName=MSG_IM_GET_CONFIG +Language=English +Can't get configuration for modules +. + +MessageId= +SymbolicName=MSG_IM_NOT_PREINIT +Language=English +Module is not in PREINIT state. Current state=[%1!d!] +. + +MessageId= +SymbolicName=MSG_IM_NOT_REGISTERED +Language=English +Module is not registered +. + +MessageId= +SymbolicName=MSG_IM_DISABLED +Language=English +Module is disabled +. + +MessageId= +SymbolicName=MSG_IM_MAX_FAIL +Language=English +Module has failed too many times +. + +MessageId= +SymbolicName=MSG_IM_INVALID_MODULE +Language=English +The DLL containing the module was not of the correct format. +. + +MessageId= +SymbolicName=MSG_IM_INCOMPATIBLE +Language=English +The DLL containing the module was not compatible with this version of NetIDMgr. +. + +Messageid= +SymbolicName=MSG_IM_NOT_FOUND +Language=English +Module binary was not found. Checked path [%1] +. + +MessageId= +SymbolicName=MSG_IM_NO_ENTRY +Language=English +Entry point not found. Checked entry point [%1] +. + +MessageId= +SymbolicName=MSG_IM_INIT_FAIL +Language=English +Module initialization entry point returned failure code [%1!d!] +. + +MessageId= +SymbolicName=MSG_IM_NO_PLUGINS +Language=English +No plugins were registerd by the module +. + +MessageId= +SymbolicName=MSG_IM_MOD_STATE +Language=English +Module [%1] is in state [%2!d!] +. + +MessageId= +SymbolicName=MSG_IMERR_TITLE +Language=English +Failed to load module %1!s! +. + +MessageId= +SymbolicName=MSG_IMERR_SUGGEST +Language=English +The following information may help resolve this issue: + +%2!s! +. + +MessageId= +SymbolicName=MSG_IP_TASK_DESC +Language=English +Initializing plugin [%1] +. + +MessageId= +SymbolicName=MSG_IP_GET_CONFIG +Language=English +Can't get configuration for plugins +. + +MessageId= +SymbolicName=MSG_IP_NOT_REGISTERED +Language=English +The plugin is not registered +. + +MessageId= +SymbolicName=MSG_IP_DISABLED +Language=English +The plugin is disabled +. + +MessageId= +SymbolicName=MSG_IP_HOLD +Language=English +Placing plugin [%1] on hold +. + +MessageId= +SymbolicName=MSG_IP_STATE +Language=English +Leaving plugin [%1] in state [%2!d!] +. + +MessageId= +SymbolicName=MSG_IP_EXITING +Language=English +The plugin [%1] is in error state [%2!d!]. Exiting plugin. +. + +MessageId= +SymbolicName=MSG_RMI_NOT_FOUND +Language=English +Can't get file version information for path [%1!s!] +. + +MessageId= +SymbolicName=MSG_RMI_NO_TRANS +Language=English +Can't get version resource tranlations list for path [%1!s!] +. + +MessageId= +SymbolicName=MSG_RMI_NO_LOCAL +Language=English +The list of version translations were empty or did not contain a resource for the current user or system locale. +. + +MessageId= +SymbolicName=MSG_RMI_RES_MISSING +Language=English +Required resource %1!s! missing +. + +MessageId= +SymbolicName=MSG_RMI_MOD_MISMATCH +Language=English +The module name specified in the resource is [%1!s!] while the module name as registered is [%2!s!] +. + +MessageId= +SymbolicName=MSG_RMI_RES_TOO_LONG +Language=English +The resource %1!s! is malformed or too long +. + +MessageId= +SymbolicName=MSG_RMI_API_MISMATCH +Language=English +The module was compile for API version %1!d!. However the current API version is %2!d!. +. + +MessageId= +SymbolicName=MSG_PB_START +Language=English +Starting plugin [%1!s!] +. + +MessageId= +SymbolicName=MSG_PB_INVALID_CODE_PTR +Language=English +The plugin is no longer valid. This maybe because the module containing the plugin was unloaded. +. + +MessageId= +SymbolicName=MSG_PB_INIT_RV +Language=English +Initialization of the plugin returned code %1!d!. +. + +MessageId= +SymbolicName=MSG_PB_INIT_FAIL +Language=English +Initialization of the %1!s! plugin failed. The plugin will be unloaded and any functionality provided will not be available. +. + +MessageId= +SymbolicName=MSG_PB_INIT_FAIL_S +Language=English +Plugin %1!s! failed to initialize +. + +MessageId= +SymbolicName=MSG_PB_INIT_FAIL_G +Language=English +Details for plugin: +Description: %2!s! +Module: %3!s! +Support: %4!s! +. + +MessageId= +SymbolicName=MSG_PB_INIT_DONE +Language=English +Plugin running +. diff --git a/src/windows/identity/kmq/Makefile b/src/windows/identity/kmq/Makefile index 20f65b1a6..3d86d4dd3 100644 --- a/src/windows/identity/kmq/Makefile +++ b/src/windows/identity/kmq/Makefile @@ -1,48 +1,48 @@ -# -# Copyright (c) 2004 Massachusetts Institute of Technology -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation files -# (the "Software"), to deal in the Software without restriction, -# including without limitation the rights to use, copy, modify, merge, -# publish, distribute, sublicense, and/or sell copies of the Software, -# and to permit persons to whom the Software is furnished to do so, -# subject to the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - - -MODULE=kmq -!include <../config/Makefile.w32> - -INCFILES= \ - $(INCDIR)\kmq.h - -OBJFILES= \ - $(OBJ)\kmqmain.obj \ - $(OBJ)\init.obj \ - $(OBJ)\msgtype.obj \ - $(OBJ)\consumer.obj \ - $(OBJ)\publisher.obj \ - $(OBJ)\kmqconfig.obj - -SDKLIBFILES=\ - strsafe.lib - -$(OBJ)\kmqconfig.c: kmqconfig.csv $(CONFDIR)\csvschema.cfg - $(CCSV) $** $@ - -all: mkdirs $(INCFILES) $(OBJFILES) - -clean:: +# +# Copyright (c) 2004 Massachusetts Institute of Technology +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + +MODULE=kmq +!include <../config/Makefile.w32> + +INCFILES= \ + $(INCDIR)\kmq.h + +OBJFILES= \ + $(OBJ)\kmqmain.obj \ + $(OBJ)\init.obj \ + $(OBJ)\msgtype.obj \ + $(OBJ)\consumer.obj \ + $(OBJ)\publisher.obj \ + $(OBJ)\kmqconfig.obj + +SDKLIBFILES=\ + strsafe.lib + +$(OBJ)\kmqconfig.c: kmqconfig.csv $(CONFDIR)\csvschema.cfg + $(CCSV) $** $@ + +all: mkdirs $(INCFILES) $(OBJFILES) + +clean:: if exist '..\obj' $(RM) $(INCFILES) \ No newline at end of file diff --git a/src/windows/identity/kmq/kmqconfig.csv b/src/windows/identity/kmq/kmqconfig.csv index c6d5ca451..317baa60e 100644 --- a/src/windows/identity/kmq/kmqconfig.csv +++ b/src/windows/identity/kmq/kmqconfig.csv @@ -1,5 +1,5 @@ -Name,Type,Value,Description -KMQ,KC_SPACE,0,Options for the credentials window - QueueDeadTimeout,KC_INT32,12000, - CallDeadTimeout,KC_INT32,8000, -KMQ,KC_ENDSPACE,0, +Name,Type,Value,Description +KMQ,KC_SPACE,0,Options for the credentials window + QueueDeadTimeout,KC_INT32,12000, + CallDeadTimeout,KC_INT32,8000, +KMQ,KC_ENDSPACE,0, diff --git a/src/windows/identity/nidmgrdll/nidmgrdll.rc b/src/windows/identity/nidmgrdll/nidmgrdll.rc index 1f600b6b3..b4e0a9e72 100644 --- a/src/windows/identity/nidmgrdll/nidmgrdll.rc +++ b/src/windows/identity/nidmgrdll/nidmgrdll.rc @@ -1,74 +1,74 @@ -/* - * Copyright (c) 2004 Massachusetts Institute of Technology - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -/* $Id$ */ - -#include -#include - -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif - -1 VERSIONINFO - FILEVERSION KH_VERSION_LIST - PRODUCTVERSION KH_VERSION_LIST - FILEFLAGSMASK 0x17L - FILEFLAGS KH_VER_FILEFLAGS - FILEOS KH_VER_FILEOS - FILETYPE KH_VER_FILETYPEDLL - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", KH_VERSTR_COMPANY_1033 - VALUE "FileDescription", "Network Identity Manager API" - VALUE "FileVersion", KH_VERSTR_VERSION_1033 - VALUE "InternalName", "nidmgr32" - VALUE "LegalCopyright", KH_VERSTR_COPYRIGHT_1033 - VALUE "OriginalFilename", "nidmgr32.dll" - VALUE "ProductName", "Network Identity Manager" - VALUE "ProductVersion", KH_VERSTR_PRODUCT_1033 -#ifdef KH_VERSTR_COMMENT_1033 - VALUE "Comments", KH_VERSTR_COMMENT_1033 -#endif -#ifdef KH_VERSTR_PRIVATE_1033 - VALUE "PrivateBuild", KH_VERSTR_PRIVATE_1033 -#endif -#ifdef KH_VERSTR_SPECIAL_1033 - VALUE "SpecialBuild", KH_VERSTR_SPECIAL_1033 -#endif - END - END - -/* Language independent */ - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END - -END +/* + * Copyright (c) 2004 Massachusetts Institute of Technology + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +/* $Id$ */ + +#include +#include + +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif + +1 VERSIONINFO + FILEVERSION KH_VERSION_LIST + PRODUCTVERSION KH_VERSION_LIST + FILEFLAGSMASK 0x17L + FILEFLAGS KH_VER_FILEFLAGS + FILEOS KH_VER_FILEOS + FILETYPE KH_VER_FILETYPEDLL + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", KH_VERSTR_COMPANY_1033 + VALUE "FileDescription", "Network Identity Manager API" + VALUE "FileVersion", KH_VERSTR_VERSION_1033 + VALUE "InternalName", "nidmgr32" + VALUE "LegalCopyright", KH_VERSTR_COPYRIGHT_1033 + VALUE "OriginalFilename", "nidmgr32.dll" + VALUE "ProductName", "Network Identity Manager" + VALUE "ProductVersion", KH_VERSTR_PRODUCT_1033 +#ifdef KH_VERSTR_COMMENT_1033 + VALUE "Comments", KH_VERSTR_COMMENT_1033 +#endif +#ifdef KH_VERSTR_PRIVATE_1033 + VALUE "PrivateBuild", KH_VERSTR_PRIVATE_1033 +#endif +#ifdef KH_VERSTR_SPECIAL_1033 + VALUE "SpecialBuild", KH_VERSTR_SPECIAL_1033 +#endif + END + END + +/* Language independent */ + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END + +END diff --git a/src/windows/identity/plugins/common/Makefile b/src/windows/identity/plugins/common/Makefile index b4085d13f..1f347ceef 100644 --- a/src/windows/identity/plugins/common/Makefile +++ b/src/windows/identity/plugins/common/Makefile @@ -1,43 +1,43 @@ -# -# Copyright (c) 2004 Massachusetts Institute of Technology -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation files -# (the "Software"), to deal in the Software without restriction, -# including without limitation the rights to use, copy, modify, merge, -# publish, distribute, sublicense, and/or sell copies of the Software, -# and to permit persons to whom the Software is furnished to do so, -# subject to the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - - -MODULE=plugins\common -!include <../../config/Makefile.w32> - -INCFILES= \ - $(INCDIR)\krb5common.h \ - $(INCDIR)\dynimport.h - -OBJFILES= \ - $(LIBDIR)\krb5common.obj \ - $(LIBDIR)\dynimport.obj - -all: mkdirs $(INCFILES) $(OBJFILES) - -clean:: - if exist "$(INCDIR)" $(RM) $(INCFILES) - if exist "$(LIBDIR)" $(RM) $(OBJFILES) - -{}.c{$(LIBDIR)}.obj: - $(C2OBJ) +# +# Copyright (c) 2004 Massachusetts Institute of Technology +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + +MODULE=plugins\common +!include <../../config/Makefile.w32> + +INCFILES= \ + $(INCDIR)\krb5common.h \ + $(INCDIR)\dynimport.h + +OBJFILES= \ + $(LIBDIR)\krb5common.obj \ + $(LIBDIR)\dynimport.obj + +all: mkdirs $(INCFILES) $(OBJFILES) + +clean:: + if exist "$(INCDIR)" $(RM) $(INCFILES) + if exist "$(LIBDIR)" $(RM) $(OBJFILES) + +{}.c{$(LIBDIR)}.obj: + $(C2OBJ) diff --git a/src/windows/identity/plugins/krb4/krbconfig.csv b/src/windows/identity/plugins/krb4/krbconfig.csv index 3d95b40b3..3d791214b 100644 --- a/src/windows/identity/plugins/krb4/krbconfig.csv +++ b/src/windows/identity/plugins/krb4/krbconfig.csv @@ -1,17 +1,17 @@ -Name,Type,Value,Description -Krb4Cred,KC_SPACE,0,"Kerberos IV Credentials Provider" - Module,KC_STRING,"MITKrb4", - Description,KC_STRING,"Kerberos IV Credentials Provider", - Dependencies,KC_STRING,Krb5Cred, - Type,KC_INT32,1, - Flags,KC_INT32,0, - Parameters,KC_SPACE,0,Parameters for KrbCred - Krb4NewCreds,KC_INT32,1,Obtain Kerberos 4 tickets (Boolean) - Krb4Method,KC_INT32,0,Method for acquiring K4 tix. 0-Auto;1-Password;2-K524 - CreateMissingConfig,KC_INT32,0,Create missing configuration files - DefaultLifetime,KC_INT32,36000,Default ticket lifetime - MaxLifetime,KC_INT32,86400,Maximum lifetime - MinLifetime,KC_INT32,60,Minimum lifetime - TktString,KC_STRING,,Ticket string. Use default if NULL - Parameters,KC_ENDSPACE,0, -Krb4Cred,KC_ENDSPACE,0, +Name,Type,Value,Description +Krb4Cred,KC_SPACE,0,"Kerberos IV Credentials Provider" + Module,KC_STRING,"MITKrb4", + Description,KC_STRING,"Kerberos IV Credentials Provider", + Dependencies,KC_STRING,Krb5Cred, + Type,KC_INT32,1, + Flags,KC_INT32,0, + Parameters,KC_SPACE,0,Parameters for KrbCred + Krb4NewCreds,KC_INT32,1,Obtain Kerberos 4 tickets (Boolean) + Krb4Method,KC_INT32,0,Method for acquiring K4 tix. 0-Auto;1-Password;2-K524 + CreateMissingConfig,KC_INT32,0,Create missing configuration files + DefaultLifetime,KC_INT32,36000,Default ticket lifetime + MaxLifetime,KC_INT32,86400,Maximum lifetime + MinLifetime,KC_INT32,60,Minimum lifetime + TktString,KC_STRING,,Ticket string. Use default if NULL + Parameters,KC_ENDSPACE,0, +Krb4Cred,KC_ENDSPACE,0, diff --git a/src/windows/identity/plugins/krb4/lang/en_us/langres.rc b/src/windows/identity/plugins/krb4/lang/en_us/langres.rc index 12c3903f5..1c011ab9c 100644 --- a/src/windows/identity/plugins/krb4/lang/en_us/langres.rc +++ b/src/windows/identity/plugins/krb4/lang/en_us/langres.rc @@ -1,205 +1,205 @@ -// Microsoft Visual C++ generated resource script. -// -#include "..\..\langres.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "..\\..\\langres.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_NC_KRB4 DIALOGEX 0, 0, 300, 166 -STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD -EXSTYLE WS_EX_CONTROLPARENT -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - CONTROL "Kerberos v4 Ticket Options",IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_SUNKEN | WS_GROUP,7,7,286,11 - CONTROL "Obtain Kerberos v4 credentials",IDC_NCK4_OBTAIN,"Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,7,26,128,10 - GROUPBOX "Obtain Kerberos v4 credentials using",IDC_STATIC,7,43,286,72,WS_GROUP - CONTROL "Automatically determine method",IDC_NCK4_AUTO,"Button",BS_AUTORADIOBUTTON,22,59,119,10 - CONTROL "Kerberos v5 to v4 translation",IDC_NCK4_K524,"Button",BS_AUTORADIOBUTTON,22,76,109,10 - CONTROL "Password",IDC_NCK4_PWD,"Button",BS_AUTORADIOBUTTON,22,93,47,10 -END - -IDD_CFG_KRB4 DIALOGEX 0, 0, 255, 182 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU -EXSTYLE WS_EX_CONTROLPARENT -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - LTEXT "Credential cache location",IDC_CFG_LBL_CACHE,7,10,67,8 - EDITTEXT IDC_CFG_CACHE,83,7,165,14,ES_AUTOHSCROLL - LTEXT "Config file path",IDC_CFG_LBL_CFGFILE,7,30,50,8 - EDITTEXT IDC_CFG_CFGPATH,83,27,165,14,ES_AUTOHSCROLL | ES_READONLY - PUSHBUTTON "Browse...",IDC_CFG_CFGBROW,200,95,48,14,NOT WS_VISIBLE - LTEXT "Realm file path",IDC_CFG_LBL_RLMPATH,7,50,48,8 - EDITTEXT IDC_CFG_RLMPATH,83,47,165,14,ES_AUTOHSCROLL | ES_READONLY - PUSHBUTTON "Browse...",IDC_CFG_RLMBROW,200,127,48,14,NOT WS_VISIBLE -END - -IDD_CFG_IDS_KRB4 DIALOGEX 0, 0, 235, 151 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU -EXSTYLE WS_EX_CONTROLPARENT -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - CONTROL "Obtain Kerberos v4 credentials",IDC_CFG_GETTIX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,221,17 - LTEXT "Note that, if enabled, Kerberos v4 credentials will be acquired during initial credential acquisition and during credential renewals.\n\nHowever, currently Kerberos v4 credentials can only be obtained for the default identity.",IDC_STATIC,7,91,221,53,SS_SUNKEN -END - -IDD_CFG_ID_KRB4 DIALOGEX 0, 0, 235, 151 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU -EXSTYLE WS_EX_CONTROLPARENT -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - CONTROL "Obtain Kerberos v4 credentials for this identity",IDC_CFG_GETTIX, - "Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,7,165,10 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - IDD_NC_KRB4, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 293 - TOPMARGIN, 7 - BOTTOMMARGIN, 159 - END - - IDD_CFG_KRB4, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 248 - VERTGUIDE, 83 - VERTGUIDE, 196 - VERTGUIDE, 200 - TOPMARGIN, 7 - BOTTOMMARGIN, 175 - END - - IDD_CFG_IDS_KRB4, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 228 - TOPMARGIN, 7 - BOTTOMMARGIN, 144 - END - - IDD_CFG_ID_KRB4, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 228 - TOPMARGIN, 7 - BOTTOMMARGIN, 144 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_PLUGIN ICON "..\\..\\images\\plugin.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_PLUGIN_DESC "Kerberos v4 Credentials Provider" - IDS_NC_K4_SHORT "Kerberos v4" - IDS_ERR_REALM "Could not resolve Kerberos v4 realm" - IDS_ERR_PRINCIPAL "Invalid principal" - IDS_ERR_INVINST "Invalid instance" - IDS_ERR_PWINTKT "Could not obtain Kerberos v4 credentials" - IDS_CT_DISABLED "

Krb4: Disabled (click here to enable)

" - IDS_CT_TGTFOR "

Krb4: Credentials for realm %s

" - IDS_METHOD_AUTO "Automatically determined method" -END - -STRINGTABLE -BEGIN - IDS_KRB4_SHORT_DESC "Kerberos v4" - IDS_KRB4_LONG_DESC "Kerberos v4" - IDS_CFG_KRB4_LONG "Kerberos v4 Configuration" - IDS_CFG_KRB4_SHORT "Kerberos v4" -END - -STRINGTABLE -BEGIN - IDS_METHOD_PWD "Password" - IDS_METHOD_K524 "Kerberos v5 to v4 translation" - IDS_CFG_IDS_KRB4_SHORT "Kerberos v4" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - - +// Microsoft Visual C++ generated resource script. +// +#include "..\..\langres.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "..\\..\\langres.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_NC_KRB4 DIALOGEX 0, 0, 300, 166 +STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + CONTROL "Kerberos v4 Ticket Options",IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_SUNKEN | WS_GROUP,7,7,286,11 + CONTROL "Obtain Kerberos v4 credentials",IDC_NCK4_OBTAIN,"Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,7,26,128,10 + GROUPBOX "Obtain Kerberos v4 credentials using",IDC_STATIC,7,43,286,72,WS_GROUP + CONTROL "Automatically determine method",IDC_NCK4_AUTO,"Button",BS_AUTORADIOBUTTON,22,59,119,10 + CONTROL "Kerberos v5 to v4 translation",IDC_NCK4_K524,"Button",BS_AUTORADIOBUTTON,22,76,109,10 + CONTROL "Password",IDC_NCK4_PWD,"Button",BS_AUTORADIOBUTTON,22,93,47,10 +END + +IDD_CFG_KRB4 DIALOGEX 0, 0, 255, 182 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + LTEXT "Credential cache location",IDC_CFG_LBL_CACHE,7,10,67,8 + EDITTEXT IDC_CFG_CACHE,83,7,165,14,ES_AUTOHSCROLL + LTEXT "Config file path",IDC_CFG_LBL_CFGFILE,7,30,50,8 + EDITTEXT IDC_CFG_CFGPATH,83,27,165,14,ES_AUTOHSCROLL | ES_READONLY + PUSHBUTTON "Browse...",IDC_CFG_CFGBROW,200,95,48,14,NOT WS_VISIBLE + LTEXT "Realm file path",IDC_CFG_LBL_RLMPATH,7,50,48,8 + EDITTEXT IDC_CFG_RLMPATH,83,47,165,14,ES_AUTOHSCROLL | ES_READONLY + PUSHBUTTON "Browse...",IDC_CFG_RLMBROW,200,127,48,14,NOT WS_VISIBLE +END + +IDD_CFG_IDS_KRB4 DIALOGEX 0, 0, 235, 151 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + CONTROL "Obtain Kerberos v4 credentials",IDC_CFG_GETTIX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,221,17 + LTEXT "Note that, if enabled, Kerberos v4 credentials will be acquired during initial credential acquisition and during credential renewals.\n\nHowever, currently Kerberos v4 credentials can only be obtained for the default identity.",IDC_STATIC,7,91,221,53,SS_SUNKEN +END + +IDD_CFG_ID_KRB4 DIALOGEX 0, 0, 235, 151 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + CONTROL "Obtain Kerberos v4 credentials for this identity",IDC_CFG_GETTIX, + "Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,7,165,10 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_NC_KRB4, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 293 + TOPMARGIN, 7 + BOTTOMMARGIN, 159 + END + + IDD_CFG_KRB4, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 248 + VERTGUIDE, 83 + VERTGUIDE, 196 + VERTGUIDE, 200 + TOPMARGIN, 7 + BOTTOMMARGIN, 175 + END + + IDD_CFG_IDS_KRB4, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 228 + TOPMARGIN, 7 + BOTTOMMARGIN, 144 + END + + IDD_CFG_ID_KRB4, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 228 + TOPMARGIN, 7 + BOTTOMMARGIN, 144 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_PLUGIN ICON "..\\..\\images\\plugin.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE +BEGIN + IDS_PLUGIN_DESC "Kerberos v4 Credentials Provider" + IDS_NC_K4_SHORT "Kerberos v4" + IDS_ERR_REALM "Could not resolve Kerberos v4 realm" + IDS_ERR_PRINCIPAL "Invalid principal" + IDS_ERR_INVINST "Invalid instance" + IDS_ERR_PWINTKT "Could not obtain Kerberos v4 credentials" + IDS_CT_DISABLED "

Krb4: Disabled (click here to enable)

" + IDS_CT_TGTFOR "

Krb4: Credentials for realm %s

" + IDS_METHOD_AUTO "Automatically determined method" +END + +STRINGTABLE +BEGIN + IDS_KRB4_SHORT_DESC "Kerberos v4" + IDS_KRB4_LONG_DESC "Kerberos v4" + IDS_CFG_KRB4_LONG "Kerberos v4 Configuration" + IDS_CFG_KRB4_SHORT "Kerberos v4" +END + +STRINGTABLE +BEGIN + IDS_METHOD_PWD "Password" + IDS_METHOD_K524 "Kerberos v5 to v4 translation" + IDS_CFG_IDS_KRB4_SHORT "Kerberos v4" +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + + diff --git a/src/windows/identity/plugins/krb4/lang/krb4_msgs.mc b/src/windows/identity/plugins/krb4/lang/krb4_msgs.mc index 9fa410f2f..74fe50905 100644 --- a/src/windows/identity/plugins/krb4/lang/krb4_msgs.mc +++ b/src/windows/identity/plugins/krb4/lang/krb4_msgs.mc @@ -1,57 +1,57 @@ -; // ** krb5_msgs.mc - -; /* Since .mc files can contain strings from any language, we define -; all our messages in one file in the /lang/ directory instead of -; language specific subdirectories. */ - -; /* The type is set to (wchar_t *) because that's what we will be -; feeding kherr_report() function. */ - -; // MessageIdTypedef=LPWSTR - -; /* Severity values as defined in the message definition file are -; currently ignored. */ - -SeverityNames=( - Success=0x0 -) - -LanguageNames=( - English=0x409:MSG_ENU -) - -OutputBase=16 - -; /* Actual messages start here */ - -MessageId=1 -Severity=Success -SymbolicName=MSG_INITIAL -Language=English -Initial placeholder message -. - -MessageId= -SymbolicName=MSG_K4_NEW_CREDS -Language=English -Getting new Krb4 credentials for [%1!s!] using method [%2!d!] -. - -MessageId= -SymbolicName=MSG_K4_RENEW_CREDS -Language=English -Renewing Krb4 credentials for [%1!s!] using method [%2!d!] -. - -MessageId= -SymbolicName=MSG_K4_TRY_K524 -Language=English -Trying Krb524 ... -. - -MessageId= -SymbolicName=MSG_K4_TRY_PASSWORD -Language=English -Trying Password ... -. - +; // ** krb5_msgs.mc + +; /* Since .mc files can contain strings from any language, we define +; all our messages in one file in the /lang/ directory instead of +; language specific subdirectories. */ + +; /* The type is set to (wchar_t *) because that's what we will be +; feeding kherr_report() function. */ + +; // MessageIdTypedef=LPWSTR + +; /* Severity values as defined in the message definition file are +; currently ignored. */ + +SeverityNames=( + Success=0x0 +) + +LanguageNames=( + English=0x409:MSG_ENU +) + +OutputBase=16 + +; /* Actual messages start here */ + +MessageId=1 +Severity=Success +SymbolicName=MSG_INITIAL +Language=English +Initial placeholder message +. + +MessageId= +SymbolicName=MSG_K4_NEW_CREDS +Language=English +Getting new Krb4 credentials for [%1!s!] using method [%2!d!] +. + +MessageId= +SymbolicName=MSG_K4_RENEW_CREDS +Language=English +Renewing Krb4 credentials for [%1!s!] using method [%2!d!] +. + +MessageId= +SymbolicName=MSG_K4_TRY_K524 +Language=English +Trying Krb524 ... +. + +MessageId= +SymbolicName=MSG_K4_TRY_PASSWORD +Language=English +Trying Password ... +. + diff --git a/src/windows/identity/plugins/krb4/version.rc b/src/windows/identity/plugins/krb4/version.rc index 929e0d09d..d0e074f86 100644 --- a/src/windows/identity/plugins/krb4/version.rc +++ b/src/windows/identity/plugins/krb4/version.rc @@ -1,89 +1,89 @@ -/* Copyright (c) 2004 Massachusetts Institute of Technology - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ - -/* $Id$ */ - -#include - -#ifndef LANGVER - -#define STR_FILEDESC "Kerberos v4 Plugin for Network Identity Manager" -#define STR_INTNAME "krb4cred" -#define STR_ORIGNAME "krb4cred.dll" - -#else - -#ifdef LANG_en_us - -#define STR_FILEDESC "English(US) language resources for the Keberos 4 plugin" -#define STR_INTNAME "krb4cred_en_us" -#define STR_ORIGNAME "krb4cred_en_us.dll" - -#else - -#error Unknown langugae - -#endif - -#endif - -1 VERSIONINFO - FILEVERSION KH_VERSION_LIST - PRODUCTVERSION KH_VERSION_LIST - FILEFLAGSMASK KH_VER_FILEFLAGMASK - FILEFLAGS KH_VER_FILEFLAGS - FILEOS KH_VER_FILEOS - FILETYPE KH_VER_FILETYPEDLL - FILESUBTYPE 0 - { - - BLOCK "StringFileInfo" - { - BLOCK "040904b0" - { - VALUE "CompanyName", KH_VERSTR_COMPANY_1033 - VALUE "FileDescription", STR_FILEDESC - VALUE "FileVersion", KH_VERSTR_VERSION_1033 - VALUE "InternalName", STR_INTNAME - VALUE "LegalCopyright", KH_VERSTR_COPYRIGHT_1033 - VALUE "OriginalFilename", STR_ORIGNAME - VALUE "ProductName", "Network Identity Manager" - VALUE "ProductVersion", KH_VERSTR_PRODUCT_1033 -#ifdef KH_VERSTR_COMMENT_1033 - VALUE "Comment", KH_VERSTR_COMMENT_1033 -#endif -#ifndef LANGVER - VALUE NIMV_MODULE, "MITKrb4" - VALUE NIMV_PLUGINS, "Krb4Cred" - VALUE NIMV_APIVER, KH_VERSION_STRINGAPI - VALUE NIMV_SUPPORT, "http://web.mit.edu/kerberos" -#endif - } - } - - BLOCK "VarFileInfo" - { - VALUE "Translation", 0x409, 1200 - } - } +/* Copyright (c) 2004 Massachusetts Institute of Technology + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +/* $Id$ */ + +#include + +#ifndef LANGVER + +#define STR_FILEDESC "Kerberos v4 Plugin for Network Identity Manager" +#define STR_INTNAME "krb4cred" +#define STR_ORIGNAME "krb4cred.dll" + +#else + +#ifdef LANG_en_us + +#define STR_FILEDESC "English(US) language resources for the Keberos 4 plugin" +#define STR_INTNAME "krb4cred_en_us" +#define STR_ORIGNAME "krb4cred_en_us.dll" + +#else + +#error Unknown langugae + +#endif + +#endif + +1 VERSIONINFO + FILEVERSION KH_VERSION_LIST + PRODUCTVERSION KH_VERSION_LIST + FILEFLAGSMASK KH_VER_FILEFLAGMASK + FILEFLAGS KH_VER_FILEFLAGS + FILEOS KH_VER_FILEOS + FILETYPE KH_VER_FILETYPEDLL + FILESUBTYPE 0 + { + + BLOCK "StringFileInfo" + { + BLOCK "040904b0" + { + VALUE "CompanyName", KH_VERSTR_COMPANY_1033 + VALUE "FileDescription", STR_FILEDESC + VALUE "FileVersion", KH_VERSTR_VERSION_1033 + VALUE "InternalName", STR_INTNAME + VALUE "LegalCopyright", KH_VERSTR_COPYRIGHT_1033 + VALUE "OriginalFilename", STR_ORIGNAME + VALUE "ProductName", "Network Identity Manager" + VALUE "ProductVersion", KH_VERSTR_PRODUCT_1033 +#ifdef KH_VERSTR_COMMENT_1033 + VALUE "Comment", KH_VERSTR_COMMENT_1033 +#endif +#ifndef LANGVER + VALUE NIMV_MODULE, "MITKrb4" + VALUE NIMV_PLUGINS, "Krb4Cred" + VALUE NIMV_APIVER, KH_VERSION_STRINGAPI + VALUE NIMV_SUPPORT, "http://web.mit.edu/kerberos" +#endif + } + } + + BLOCK "VarFileInfo" + { + VALUE "Translation", 0x409, 1200 + } + } diff --git a/src/windows/identity/plugins/krb5/krbconfig.csv b/src/windows/identity/plugins/krb5/krbconfig.csv index cb4a860d9..3bb30ea77 100644 --- a/src/windows/identity/plugins/krb5/krbconfig.csv +++ b/src/windows/identity/plugins/krb5/krbconfig.csv @@ -1,45 +1,45 @@ -Name,Type,Value,Description -Krb5Cred,KC_SPACE,0,Kerberos V Credentials Provider - Module,KC_STRING,MITKrb5, - Description,KC_STRING,Kerberos V Credentials Provider, - Type,KC_INT32,1, - Flags,KC_INT32,0, - Parameters,KC_SPACE,0,Parameters for KrbCred - CreateMissingConfig,KC_INT32,0,Create missing configuration files - MsLsaImport,KC_INT32,1,Automatically import MSLSA credentials: 0-never 1-always 2-if principle matches - MsLsaList,KC_INT32,1,Include MSLSA in the credentials list - FileCCList,KC_STRING,,List of file CCaches to include in listing - AutoRenewTickets,KC_INT32,1,Automatically renew expiring tickets - DefaultLifetime,KC_INT32,36000,Default ticket lifetime - MaxLifetime,KC_INT32,86400,Maximum lifetime - MinLifetime,KC_INT32,60,Minimum lifetime - Forwardable,KC_INT32,1,Obtain forwardable tickets (boolean) - Proxiable,KC_INT32,0,Obtain proxiable tickets (boolean) - Addressless,KC_INT32,1,Obtain addressless tickets (boolean) - PublicIP,KC_INT32,0,Additional public IP address to use (int32) - Renewable,KC_INT32,1,Obtain renewable tickets (boolean) - DefaultRenewLifetime,KC_INT32,604800,Default renewable lifetime - MaxRenewLifetime,KC_INT32,2592000,Maximum renewable lifetime - MinRenewLifetime,KC_INT32,60,Maximum renewable lifetime - UseFullRealmList,KC_INT32,0,Use the full list of realms in the New Creds dialog - LRURealms,KC_STRING,, - LRUPrincipals,KC_STRING,, - LastDefaultIdent,KC_STRING,,Last known default identity - PromptCacheLifetime,KC_INT32,172800,Lifetime of the prompt cache in seconds - DefaultCCName,KC_STRING,,Default CC name (only per identity) - DefaultToFileCache,KC_INT32,0,"If no DefaultCCName is specified for an identity, use a generated FILE: cache instead of an API: cache" - PromptCache,KC_SPACE,0,Cache of prompts (only per identity) - Name,KC_STRING,, - Banner,KC_STRING,, - PromptCount,KC_INT32,0, - ExpiresOn,KC_INT64,0,FILETIME of when the prompt cache is set to expire - (n),KC_SPACE,0,Parameters for each prompt - Prompt,KC_STRING,, - Type,KC_INT32,0, - Flags,KC_INT32,0, - (n),KC_ENDSPACE,0, - PromptCache,KC_ENDSPACE,0, - Realms,KC_SPACE,0,Realm specific configuration (same schema as per identity config) - Realms,KC_ENDSPACE,0, - Parameters,KC_ENDSPACE,0, -Krb5Cred,KC_ENDSPACE,0, +Name,Type,Value,Description +Krb5Cred,KC_SPACE,0,Kerberos V Credentials Provider + Module,KC_STRING,MITKrb5, + Description,KC_STRING,Kerberos V Credentials Provider, + Type,KC_INT32,1, + Flags,KC_INT32,0, + Parameters,KC_SPACE,0,Parameters for KrbCred + CreateMissingConfig,KC_INT32,0,Create missing configuration files + MsLsaImport,KC_INT32,1,Automatically import MSLSA credentials: 0-never 1-always 2-if principle matches + MsLsaList,KC_INT32,1,Include MSLSA in the credentials list + FileCCList,KC_STRING,,List of file CCaches to include in listing + AutoRenewTickets,KC_INT32,1,Automatically renew expiring tickets + DefaultLifetime,KC_INT32,36000,Default ticket lifetime + MaxLifetime,KC_INT32,86400,Maximum lifetime + MinLifetime,KC_INT32,60,Minimum lifetime + Forwardable,KC_INT32,1,Obtain forwardable tickets (boolean) + Proxiable,KC_INT32,0,Obtain proxiable tickets (boolean) + Addressless,KC_INT32,1,Obtain addressless tickets (boolean) + PublicIP,KC_INT32,0,Additional public IP address to use (int32) + Renewable,KC_INT32,1,Obtain renewable tickets (boolean) + DefaultRenewLifetime,KC_INT32,604800,Default renewable lifetime + MaxRenewLifetime,KC_INT32,2592000,Maximum renewable lifetime + MinRenewLifetime,KC_INT32,60,Maximum renewable lifetime + UseFullRealmList,KC_INT32,0,Use the full list of realms in the New Creds dialog + LRURealms,KC_STRING,, + LRUPrincipals,KC_STRING,, + LastDefaultIdent,KC_STRING,,Last known default identity + PromptCacheLifetime,KC_INT32,172800,Lifetime of the prompt cache in seconds + DefaultCCName,KC_STRING,,Default CC name (only per identity) + DefaultToFileCache,KC_INT32,0,"If no DefaultCCName is specified for an identity, use a generated FILE: cache instead of an API: cache" + PromptCache,KC_SPACE,0,Cache of prompts (only per identity) + Name,KC_STRING,, + Banner,KC_STRING,, + PromptCount,KC_INT32,0, + ExpiresOn,KC_INT64,0,FILETIME of when the prompt cache is set to expire + (n),KC_SPACE,0,Parameters for each prompt + Prompt,KC_STRING,, + Type,KC_INT32,0, + Flags,KC_INT32,0, + (n),KC_ENDSPACE,0, + PromptCache,KC_ENDSPACE,0, + Realms,KC_SPACE,0,Realm specific configuration (same schema as per identity config) + Realms,KC_ENDSPACE,0, + Parameters,KC_ENDSPACE,0, +Krb5Cred,KC_ENDSPACE,0, diff --git a/src/windows/identity/plugins/krb5/lang/en_us/langres.rc b/src/windows/identity/plugins/krb5/lang/en_us/langres.rc index 67492dadf..bcf837587 100644 --- a/src/windows/identity/plugins/krb5/lang/en_us/langres.rc +++ b/src/windows/identity/plugins/krb5/lang/en_us/langres.rc @@ -1,507 +1,507 @@ -// Microsoft Visual C++ generated resource script. -// -#include "..\..\langres.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "..\\..\\langres.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_NC_KRB5 DIALOGEX 0, 0, 300, 166 -STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN -EXSTYLE WS_EX_CONTROLPARENT -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - CONTROL "Kerberos v5 Credential Options",IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_SUNKEN | WS_GROUP,7,7,286,11 - LTEXT "Realm",IDC_STATIC,7,25,52,13 - COMBOBOX IDC_NCK5_REALM,60,25,233,51,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Specify &additional realms ...",IDC_NCK5_ADD_REALMS,181,43,112,16,BS_NOTIFY | NOT WS_VISIBLE | WS_DISABLED - LTEXT "&Lifetime",IDC_STATIC,7,67,61,12 - EDITTEXT IDC_NCK5_LIFETIME_EDIT,85,67,107,12,ES_AUTOHSCROLL - CONTROL "&Renewable for",IDC_NCK5_RENEWABLE,"Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,7,87,64,12 - EDITTEXT IDC_NCK5_RENEW_EDIT,85,87,108,12,ES_AUTOHSCROLL - CONTROL "Can be &forwarded to other machines",IDC_NCK5_FORWARDABLE, - "Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,7,107,132,12 - CONTROL "Addressless",IDC_NCK5_ADDRESS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,128,54,10 - LTEXT "Additional IP address",IDC_STATIC,118,129,68,8,NOT WS_VISIBLE - CONTROL "",IDC_NCK5_PUBLICIP,"SysIPAddress32",NOT WS_VISIBLE | WS_TABSTOP,193,125,100,15 -END - -IDD_PP_KRB5C DIALOGEX 0, 0, 235, 156 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Kerberos v5" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "Name",IDC_STATIC,7,7,19,8 - LTEXT "Valid till",IDC_STATIC,7,39,24,8 - LTEXT "Renewable till",IDC_STATIC,7,55,45,12 - LTEXT "Issued on",IDC_STATIC,7,23,32,8 - LTEXT "Credential flags",IDC_STATIC,7,75,51,8 - EDITTEXT IDC_PPK5_NAME,72,7,156,12,ES_AUTOHSCROLL | ES_READONLY - EDITTEXT IDC_PPK5_ISSUE,72,23,156,12,ES_AUTOHSCROLL | ES_READONLY - EDITTEXT IDC_PPK5_VALID,72,39,156,12,ES_AUTOHSCROLL | ES_READONLY - EDITTEXT IDC_PPK5_RENEW,72,55,156,12,ES_AUTOHSCROLL | ES_READONLY - LISTBOX IDC_PPK5_FLAGS,72,74,156,75,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP -END - -IDD_PP_KRB5 DIALOGEX 0, 0, 235, 156 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Kerberos v5" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "Default realm",IDC_STATIC,7,7,44,8 - LTEXT "Default lifetime",IDC_STATIC,7,22,49,8 - LTEXT "Minimum lifetime",IDC_STATIC,7,37,52,8 - LTEXT "Maximum lifetime",IDC_STATIC,7,52,55,8 - LTEXT "Renewable lifetime",IDC_STATIC,7,67,61,8 - LTEXT "Min. Renewable lifetime",IDC_STATIC,7,82,76,8 - LTEXT "Max. Renewable lifetime",IDC_STATIC,7,97,79,8 - GROUPBOX "Default credential flags",IDC_STATIC,7,113,221,36 - CONTROL "Proxiable",IDC_CHECK2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,160,129,45,10 - CONTROL "Renewable",IDC_CHECK4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,129,51,10 - CONTROL "Forwardable",IDC_CHECK5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,129,56,10 - LTEXT "ATHENA.MIT.EDU",IDC_STATIC,95,7,133,11,0,WS_EX_CLIENTEDGE - LTEXT "10 hours",IDC_STATIC,95,22,133,11,0,WS_EX_CLIENTEDGE - LTEXT "1 minute",IDC_STATIC,95,37,133,11,0,WS_EX_CLIENTEDGE - LTEXT "7 days",IDC_STATIC,95,52,133,11,0,WS_EX_CLIENTEDGE - LTEXT "7 days",IDC_STATIC,95,67,133,11,0,WS_EX_CLIENTEDGE - LTEXT "1 minute",IDC_STATIC,95,82,133,11,0,WS_EX_CLIENTEDGE - LTEXT "21 days",IDC_STATIC,95,97,133,11,0,WS_EX_CLIENTEDGE -END - -IDD_CONFIG DIALOGEX 0, 0, 255, 182 -STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_SYSMENU -EXSTYLE WS_EX_CONTROLPARENT -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - LTEXT "Default Realm",IDC_CFG_LBL_REALM,13,9,46,8 - COMBOBOX IDC_CFG_DEFREALM,76,7,166,51,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP - CONTROL "Include all configured realms in New Credentials realm list",IDC_CFG_INCREALMS, - "Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,76,26,166,22 - PUSHBUTTON "Configure Realms ...",IDC_CFG_CFGREALMS,76,46,84,14,NOT WS_VISIBLE | WS_DISABLED - GROUPBOX "Configuration File",IDC_CFG_CFGFILEGRP,7,59,241,47 - LTEXT "Location",IDC_CFG_LBL_CFGFILE,13,74,28,8 - EDITTEXT IDC_CFG_CFGFILE,76,71,166,14,ES_AUTOHSCROLL | ES_READONLY - PUSHBUTTON "Browse...",IDC_CFG_BROWSE,145,89,44,14,NOT WS_VISIBLE - CONTROL "Create file if missing",IDC_CFG_CREATECONFIG,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_DISABLED | WS_TABSTOP,76,93,80,10 - PUSHBUTTON "Load into realm editor ...",IDC_CFG_BROWSE2,26,89,100,14,NOT WS_VISIBLE - GROUPBOX "Microsoft Windows® Options",IDC_CFG_WINGRP,7,110,241,65 - LTEXT "Hostname",IDC_CFG_LBL_HOSTNAME,13,123,33,8 - EDITTEXT IDC_CFG_HOSTNAME,76,120,166,14,ES_AUTOHSCROLL | ES_READONLY - LTEXT "Domain",IDC_CFG_LBL_DOMAIN,13,141,24,8 - EDITTEXT IDC_CFG_DOMAIN,76,138,166,14,ES_AUTOHSCROLL | ES_READONLY - LTEXT "Import credentials",IDC_LBL_IMPORT,13,158,45,8 - COMBOBOX IDC_CFG_IMPORT,76,156,166,51,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP -END - -IDD_CFG_REALMS DIALOGEX 0, 0, 255, 182 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU -EXSTYLE WS_EX_CONTROLPARENT -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - CONTROL "",IDC_CFG_REALMS,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_EDITLABELS | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | WS_TABSTOP,7,19,81,148 - GROUPBOX "Kerberos v5 Servers",IDC_CFG_SERVERSGRP,93,7,155,91 - GROUPBOX "Domain to Realm mappings",IDC_CFG_DOMAINGRP,93,101,155,74 - CONTROL "",IDC_CFG_KDC,"SysListView32",LVS_REPORT | LVS_EDITLABELS | LVS_ALIGNLEFT | WS_TABSTOP,99,19,143,72 - CONTROL "",IDC_CFG_DMAP,"SysListView32",LVS_REPORT | LVS_EDITLABELS | LVS_ALIGNLEFT | WS_TABSTOP,99,111,143,56 -END - -IDD_CFG_IDS_TAB DIALOGEX 0, 0, 235, 151 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU -EXSTYLE WS_EX_CONTROLPARENT -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - LTEXT "Ticket &lifetime",IDC_CFG_LBL_DEFLIFE,7,10,44,8 - EDITTEXT IDC_CFG_DEFLIFE,94,7,134,14,ES_AUTOHSCROLL - LTEXT "Ticket re&newable lifetime",IDC_CFG_LBL_DEFRLIFE,7,29,80,8 - EDITTEXT IDC_CFG_DEFRLIFE,94,26,134,14,ES_AUTOHSCROLL - CONTROL "&Renewable",IDC_CFG_RENEW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,47,51,10 - CONTROL "&Forwardable",IDC_CFG_FORWARD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,47,56,10 - CONTROL "&Addressless",IDC_CFG_ADDRESSLESS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,63,54,10 - GROUPBOX "Credential lifetime range",IDC_CFG_LIFEGRP,7,79,221,31 - LTEXT "From",IDC_STATIC,13,93,17,8 - EDITTEXT IDC_CFG_LRNG_MIN,38,90,79,14,ES_AUTOHSCROLL - LTEXT "To",IDC_STATIC,125,93,9,8 - EDITTEXT IDC_CFG_LRNG_MAX,143,90,79,14,ES_AUTOHSCROLL - GROUPBOX "Credential renewable lifetime range",IDC_STATIC,7,113,221,31 - LTEXT "From",IDC_STATIC,13,128,17,8 - EDITTEXT IDC_CFG_RLRNG_MIN,38,125,79,14,ES_AUTOHSCROLL - LTEXT "To",IDC_STATIC,125,128,9,8 - EDITTEXT IDC_CFG_RLRNG_MAX,143,125,79,14,ES_AUTOHSCROLL -END - -IDD_CFG_ID_TAB DIALOGEX 0, 0, 235, 151 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU -EXSTYLE WS_EX_CONTROLPARENT -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - LTEXT "Credential lifetime",IDC_CFG_LBL_DEFLIFE,7,10,58,8 - EDITTEXT IDC_CFG_DEFLIFE,91,7,137,14,ES_AUTOHSCROLL - CONTROL "Renewable for",IDC_CFG_RENEW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,41,63,10 - EDITTEXT IDC_CFG_DEFRLIFE,91,39,137,14,ES_AUTOHSCROLL - CONTROL "Can be forwarded to other machines",IDC_CFG_FORWARD, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,59,133,10 - CONTROL "Addressless",IDC_CFG_ADDRESSLESS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,77,54,10 - LTEXT "Additional IP address",IDC_STATIC,91,78,68,8,NOT WS_VISIBLE - CONTROL "",IDC_CFG_PUBLICIP,"SysIPAddress32",NOT WS_VISIBLE | WS_TABSTOP,128,89,100,15 - LTEXT "Credential cache",IDC_STATIC,7,132,58,8 - EDITTEXT IDC_CFG_CCACHE,91,130,137,14,ES_AUTOHSCROLL -END - -IDD_NC_KRB5_PASSWORD DIALOGEX 0, 0, 300, 166 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU -EXSTYLE WS_EX_CONTROLPARENT -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - CONTROL "Kerberos v5 Change Password Options",IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_SUNKEN | WS_GROUP,7,7,286,11 - LTEXT "Realm",IDC_STATIC,7,25,52,13 - COMBOBOX IDC_NCK5_REALM,60,25,233,51,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Specify &additional realms ...",IDC_NCK5_ADD_REALMS,181,43,112,16,BS_NOTIFY | WS_DISABLED -END - -IDD_CFG_CACHES DIALOGEX 0, 0, 255, 182 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU -EXSTYLE WS_EX_CONTROLPARENT -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - GROUPBOX "File-based Credential Caches",IDC_CFG_FCGRP,7,26,241,149 - CONTROL "",IDC_CFG_FCLIST,"SysListView32",LVS_REPORT | LVS_SORTASCENDING | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,13,37,229,97 - EDITTEXT IDC_CFG_FCNAME,13,139,173,14,ES_AUTOHSCROLL - PUSHBUTTON "&Browse ...",IDC_CFG_BROWSE,192,139,50,14 - PUSHBUTTON "Add",IDC_CFG_ADD,13,156,50,14 - PUSHBUTTON "Remove Selected",IDC_CFG_REMOVE,88,156,80,14 - CONTROL "Include all API: credentials caches",IDC_CFG_INCAPI, - "Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,123,7,125,10 - CONTROL "Include Windows LSA cache (MSLSA:)",IDC_CFG_INCMSLSA, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,7,136,10 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - IDD_NC_KRB5, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 293 - TOPMARGIN, 7 - BOTTOMMARGIN, 159 - END - - IDD_PP_KRB5C, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 228 - TOPMARGIN, 7 - BOTTOMMARGIN, 149 - END - - IDD_PP_KRB5, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 228 - TOPMARGIN, 7 - BOTTOMMARGIN, 149 - END - - IDD_CONFIG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 248 - VERTGUIDE, 13 - VERTGUIDE, 76 - VERTGUIDE, 242 - TOPMARGIN, 7 - BOTTOMMARGIN, 175 - END - - IDD_CFG_REALMS, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 248 - VERTGUIDE, 93 - VERTGUIDE, 99 - VERTGUIDE, 242 - TOPMARGIN, 7 - BOTTOMMARGIN, 175 - HORZGUIDE, 19 - HORZGUIDE, 167 - END - - IDD_CFG_IDS_TAB, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 228 - VERTGUIDE, 13 - VERTGUIDE, 94 - VERTGUIDE, 222 - TOPMARGIN, 7 - BOTTOMMARGIN, 144 - END - - IDD_CFG_ID_TAB, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 228 - VERTGUIDE, 91 - TOPMARGIN, 7 - BOTTOMMARGIN, 144 - END - - IDD_NC_KRB5_PASSWORD, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 293 - TOPMARGIN, 7 - BOTTOMMARGIN, 159 - END - - IDD_CFG_CACHES, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 248 - VERTGUIDE, 7 - VERTGUIDE, 13 - VERTGUIDE, 242 - TOPMARGIN, 7 - BOTTOMMARGIN, 175 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_PLUGIN ICON "..\\..\\images\\krb5plugin.ico" -IDI_DELETED ICON "..\\..\\images\\deleted.ico" -IDI_NEW ICON "..\\..\\images\\new.ico" -IDI_NORMAL ICON "..\\..\\images\\normal.ico" -IDI_MODIFIED ICON "..\\..\\images\\modified.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_UNK_ADDR_FMT "Unknown address type %d" - IDS_KRB5_CREDTEXT_0 "

Krb5: Tickets for realm %s

" - IDS_KRB5_CCNAME_SHORT_DESC "Kerberos v5 CCache" - IDS_KEY_ENCTYPE_SHORT_DESC "Session EncType" - IDS_TKT_ENCTYPE_SHORT_DESC "Service EncType" - IDS_KEY_ENCTYPE_LONG_DESC "Session Key Encryption Type" - IDS_TKT_ENCTYPE_LONG_DESC "Service Encryption Type" - IDS_ADDR_LIST_SHORT_DESC "Addresses" - IDS_ADDR_LIST_LONG_DESC "Address List" - IDS_ETYPE_NULL "NULL" - IDS_ETYPE_DES_CBC_CRC "DES-CBC-CRC" -END - -STRINGTABLE -BEGIN - IDS_ETYPE_DES_CBC_MD4 "DES-CBC-MD4" - IDS_ETYPE_DES_CBC_MD5 "DES-CBC-MD5" - IDS_ETYPE_DES_CBC_RAW "DES-CBC-RAW" - IDS_ETYPE_DES3_CBC_SHA "DES3-CBC-SHA" - IDS_ETYPE_DES3_CBC_RAW "DES3-CBC-RAW" - IDS_ETYPE_DES_HMAC_SHA1 "DES-HMAC-SHA1" - IDS_ETYPE_DES3_CBC_SHA1 "DES3-CBC-SHA1" - IDS_ETYPE_AES128_CTS_HMAC_SHA1_96 "AES128_CTS-HMAC-SHA1_96" - IDS_ETYPE_AES256_CTS_HMAC_SHA1_96 "AES256_CTS-HMAC-SHA1_96" - IDS_ETYPE_ARCFOUR_HMAC "RC4-HMAC-NT" - IDS_ETYPE_ARCFOUR_HMAC_EXP "RC4-HMAC-NT-EXP" - IDS_ETYPE_UNKNOWN "(Unknown)" - IDS_ETYPE_LOCAL_DES3_HMAC_SHA1 "LOCAL-DES3-HMAC-SHA1" - IDS_ETYPE_LOCAL_RC4_MD4 "LOCAL-RC4-MD4" - IDS_KRB5_SHORT_DESC "Kerberos v5 credentials" - IDS_KRB5_LONG_DESC "Kerberos v5 credentials" -END - -STRINGTABLE -BEGIN - IDS_KRB4_SHORT_DESC "Kerberos v4" - IDS_KRB4_LONG_DESC "Kerberos v4 credentials" - IDS_KRB5_FLAGS_SHORT_DESC "Kerberos v5 Flags" - IDS_RENEW_TILL_SHORT_DESC "Renew Till" - IDS_RENEW_TILL_LONG_DESC "Renewable Till" - IDS_RENEW_FOR_SHORT_DESC "Renew for" - IDS_RENEW_FOR_LONG_DESC "Renewable for" - IDS_KRB5_CCNAME_LONG_DESC "Kerberos v5 Primary Credentials Cache" - IDS_NC_USERNAME "Username" - IDS_NC_REALM "Realm" - IDS_KRB5_WARNING "Kerberos v5 Warning" - IDS_K5ERR_NAME_EXPIRED "

Krb5: The selected principal name has expired.

Please contact your system administrator.

" - IDS_K5ERR_KEY_EXPIRED "

Krb5: The password for the selected identity has expired.

Click here to change the password

" - IDS_KRB5_WARN_FMT "Kerberos v5: %s\n\n%s" - IDS_K5ERR_FMT "

Krb5: %s

" - IDS_K5CFG_SHORT_DESC "Kerberos v5" -END - -STRINGTABLE -BEGIN - IDS_K5CFG_LONG_DESC "Kerberos v5 Configuration" - IDS_K5RLM_SHORT_DESC "Realms" - IDS_K5RLM_LONG_DESC "Kerberos Realm Configuration" - IDS_K5CFG_IDS_SHORT_DESC "Kerberos v5" - IDS_K5CFG_IDS_LONG_DESC "Kerberos v5 options for all identities" - IDS_K5CFG_ID_SHORT_DESC "Kerberos v5" - IDS_K5CFG_ID_LONG_DESC "Kerberos v5 options for this identity" - IDS_PLUGIN_DESC "Kerberos v5 Credentials Provider" - IDS_NC_PWD_BANNER "Changing Kerberos v5 Password" - IDS_NC_PWD_PWD "Current Password" - IDS_NC_PWD_NPWD "New Password" - IDS_NC_PWD_NPWD_AGAIN "New Password again" - IDS_KRB5_CREDTEXT_P0 "

Krb5: Changing password for %s

" - IDS_K5CFG_IMPORT_OPTIONS "Never,Always,Only when the principal matches" - IDS_IDENTPRO_DESC "Kerberos v5 Identity Provider" - IDS_K5CCC_SHORT_DESC "Credential Caches" -END - -STRINGTABLE -BEGIN - IDS_K5CCC_LONG_DESC "Kerberos v5 Credential Caches" - IDS_CFG_FCTITLE "File based Credential Caches" - IDS_CFG_FCN_WARNING "Warning:" - IDS_CFG_FCN_W_NOTFOUND "The credentials cache you specified does not exist." - IDS_CFG_FCN_W_RELATIVE "The path you specified not an absolute path." - IDS_CFG_FCOPENTITLE "Select a credential cache to add" - IDS_UNAVAILABLE "(Not available)" - IDS_FLG_FORWARDABLE "Forwardable" - IDS_FLG_FORWARDED "Forwarded" - IDS_FLG_PROXIABLE "Proxiable" - IDS_FLG_PROXY "Proxy" - IDS_FLG_MAY_POSTDATE "May postdate" - IDS_FLG_POSTDATED "Postdated" - IDS_FLG_INVALID "Invalid" - IDS_FLG_RENEWABLE "Renewable" - IDS_FLG_INITIAL "Initial" -END - -STRINGTABLE -BEGIN - IDS_FLG_PRE_AUTH "Pre-authenticated" - IDS_FLG_HW_AUTH "Hardware authentication" - IDS_FLG_TRANSIT_POL "Transit policy checked" - IDS_FLG_OK_DELEGATE "Approved for delegation" - IDS_FLG_ANONYMOUS "Anonymous" - IDS_K5ERR_CANTWRITEPROFILE - "The Kerberos v5 profile file could not be written" - IDS_K5ERR_PROFNOWRITE "The file %s could not be opened as a profile file for writing." - IDS_K5ERR_PROFUSETEMP "The file %s could not be opened for writing. The current changes will be saved to %s temporarily." - IDS_K5ERR_PROFSUGGEST "This may be due to not having privileges to modify the configuration file. Please contact your system administrator to resolve the issue." - IDS_CFG_RE_REALMS "Kerberos Realms" - IDS_CFG_RE_KDCS "Kerberos Servers" - IDS_CFG_RE_DMAPS "Domain mappings" - IDS_CFG_RE_KDCS_R "Kerberos Servers for %s" - IDS_CFG_RE_DMAPS_R "Domains that map to %s" - IDS_CFG_RE_HEAD_SVR "Server" - IDS_CFG_RE_HEAD_ADMIN "Admin" -END - -STRINGTABLE -BEGIN - IDS_CFG_RE_HEAD_MASTER "Master" - IDS_CFG_RE_HEAD_DOMAIN "Domain" - IDS_CFG_RE_NEWREALM "" - IDS_YES "Yes" - IDS_NO "No" - IDS_CFG_RE_NEWSERVER "" - IDS_CFG_RE_NEWDMAP "" - IDS_KRB5_NC_NAME "Kerberos v5" - IDS_NCERR_IDENT_TOO_LONG "The identity name is too long." - IDS_NCERR_IDENT_INVALID "The identity name is invalid." - IDS_NCERR_IDENT_UNKNOWN "An unknown error occurred while validating the identity name." - IDS_CFG_RE_ARNUT "Can't add new realm %s" - IDS_CFG_RE_ARNUM "The new realm name %s can't be added because there is already a realm with the same name listed. Please type another name." - IDS_CFG_RE_ASNUT "Can't add new server %s for realm %s" - IDS_CFG_RE_ASNUM "There already is a server named %s for realm %s. The new server can not be added." - IDS_CFG_RE_DMNUT "Can't add new domain map %s for realm %s" -END - -STRINGTABLE -BEGIN - IDS_CFG_RE_DMNUM "There already is a domain named %s mapping to realm %s. The new domain map could not be added." - IDS_CFG_RE_MNR "&Add new realm" - IDS_CFG_RE_MDR "&Remove realm" - IDS_CFG_RE_MNK "&Add new server" - IDS_CFG_RE_MDK "&Remove server" - IDS_CFG_RE_MAK "Toggle a&dmin server" - IDS_CFG_RE_MMK "Toggle &master KDC" - IDS_CFG_RE_MND "&Add new domain mapping" - IDS_CFG_RE_MDD "&Remove domain mapping" - IDS_KVNO_SHORT_DESC "Kvno" - IDS_KVNO_LONG_DESC "Key version number" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - - +// Microsoft Visual C++ generated resource script. +// +#include "..\..\langres.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "..\\..\\langres.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_NC_KRB5 DIALOGEX 0, 0, 300, 166 +STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + CONTROL "Kerberos v5 Credential Options",IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_SUNKEN | WS_GROUP,7,7,286,11 + LTEXT "Realm",IDC_STATIC,7,25,52,13 + COMBOBOX IDC_NCK5_REALM,60,25,233,51,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Specify &additional realms ...",IDC_NCK5_ADD_REALMS,181,43,112,16,BS_NOTIFY | NOT WS_VISIBLE | WS_DISABLED + LTEXT "&Lifetime",IDC_STATIC,7,67,61,12 + EDITTEXT IDC_NCK5_LIFETIME_EDIT,85,67,107,12,ES_AUTOHSCROLL + CONTROL "&Renewable for",IDC_NCK5_RENEWABLE,"Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,7,87,64,12 + EDITTEXT IDC_NCK5_RENEW_EDIT,85,87,108,12,ES_AUTOHSCROLL + CONTROL "Can be &forwarded to other machines",IDC_NCK5_FORWARDABLE, + "Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,7,107,132,12 + CONTROL "Addressless",IDC_NCK5_ADDRESS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,128,54,10 + LTEXT "Additional IP address",IDC_STATIC,118,129,68,8,NOT WS_VISIBLE + CONTROL "",IDC_NCK5_PUBLICIP,"SysIPAddress32",NOT WS_VISIBLE | WS_TABSTOP,193,125,100,15 +END + +IDD_PP_KRB5C DIALOGEX 0, 0, 235, 156 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Kerberos v5" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "Name",IDC_STATIC,7,7,19,8 + LTEXT "Valid till",IDC_STATIC,7,39,24,8 + LTEXT "Renewable till",IDC_STATIC,7,55,45,12 + LTEXT "Issued on",IDC_STATIC,7,23,32,8 + LTEXT "Credential flags",IDC_STATIC,7,75,51,8 + EDITTEXT IDC_PPK5_NAME,72,7,156,12,ES_AUTOHSCROLL | ES_READONLY + EDITTEXT IDC_PPK5_ISSUE,72,23,156,12,ES_AUTOHSCROLL | ES_READONLY + EDITTEXT IDC_PPK5_VALID,72,39,156,12,ES_AUTOHSCROLL | ES_READONLY + EDITTEXT IDC_PPK5_RENEW,72,55,156,12,ES_AUTOHSCROLL | ES_READONLY + LISTBOX IDC_PPK5_FLAGS,72,74,156,75,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP +END + +IDD_PP_KRB5 DIALOGEX 0, 0, 235, 156 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Kerberos v5" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "Default realm",IDC_STATIC,7,7,44,8 + LTEXT "Default lifetime",IDC_STATIC,7,22,49,8 + LTEXT "Minimum lifetime",IDC_STATIC,7,37,52,8 + LTEXT "Maximum lifetime",IDC_STATIC,7,52,55,8 + LTEXT "Renewable lifetime",IDC_STATIC,7,67,61,8 + LTEXT "Min. Renewable lifetime",IDC_STATIC,7,82,76,8 + LTEXT "Max. Renewable lifetime",IDC_STATIC,7,97,79,8 + GROUPBOX "Default credential flags",IDC_STATIC,7,113,221,36 + CONTROL "Proxiable",IDC_CHECK2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,160,129,45,10 + CONTROL "Renewable",IDC_CHECK4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,129,51,10 + CONTROL "Forwardable",IDC_CHECK5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,129,56,10 + LTEXT "ATHENA.MIT.EDU",IDC_STATIC,95,7,133,11,0,WS_EX_CLIENTEDGE + LTEXT "10 hours",IDC_STATIC,95,22,133,11,0,WS_EX_CLIENTEDGE + LTEXT "1 minute",IDC_STATIC,95,37,133,11,0,WS_EX_CLIENTEDGE + LTEXT "7 days",IDC_STATIC,95,52,133,11,0,WS_EX_CLIENTEDGE + LTEXT "7 days",IDC_STATIC,95,67,133,11,0,WS_EX_CLIENTEDGE + LTEXT "1 minute",IDC_STATIC,95,82,133,11,0,WS_EX_CLIENTEDGE + LTEXT "21 days",IDC_STATIC,95,97,133,11,0,WS_EX_CLIENTEDGE +END + +IDD_CONFIG DIALOGEX 0, 0, 255, 182 +STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_SYSMENU +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + LTEXT "Default Realm",IDC_CFG_LBL_REALM,13,9,46,8 + COMBOBOX IDC_CFG_DEFREALM,76,7,166,51,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP + CONTROL "Include all configured realms in New Credentials realm list",IDC_CFG_INCREALMS, + "Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,76,26,166,22 + PUSHBUTTON "Configure Realms ...",IDC_CFG_CFGREALMS,76,46,84,14,NOT WS_VISIBLE | WS_DISABLED + GROUPBOX "Configuration File",IDC_CFG_CFGFILEGRP,7,59,241,47 + LTEXT "Location",IDC_CFG_LBL_CFGFILE,13,74,28,8 + EDITTEXT IDC_CFG_CFGFILE,76,71,166,14,ES_AUTOHSCROLL | ES_READONLY + PUSHBUTTON "Browse...",IDC_CFG_BROWSE,145,89,44,14,NOT WS_VISIBLE + CONTROL "Create file if missing",IDC_CFG_CREATECONFIG,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_DISABLED | WS_TABSTOP,76,93,80,10 + PUSHBUTTON "Load into realm editor ...",IDC_CFG_BROWSE2,26,89,100,14,NOT WS_VISIBLE + GROUPBOX "Microsoft Windows® Options",IDC_CFG_WINGRP,7,110,241,65 + LTEXT "Hostname",IDC_CFG_LBL_HOSTNAME,13,123,33,8 + EDITTEXT IDC_CFG_HOSTNAME,76,120,166,14,ES_AUTOHSCROLL | ES_READONLY + LTEXT "Domain",IDC_CFG_LBL_DOMAIN,13,141,24,8 + EDITTEXT IDC_CFG_DOMAIN,76,138,166,14,ES_AUTOHSCROLL | ES_READONLY + LTEXT "Import credentials",IDC_LBL_IMPORT,13,158,45,8 + COMBOBOX IDC_CFG_IMPORT,76,156,166,51,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP +END + +IDD_CFG_REALMS DIALOGEX 0, 0, 255, 182 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + CONTROL "",IDC_CFG_REALMS,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_EDITLABELS | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | WS_TABSTOP,7,19,81,148 + GROUPBOX "Kerberos v5 Servers",IDC_CFG_SERVERSGRP,93,7,155,91 + GROUPBOX "Domain to Realm mappings",IDC_CFG_DOMAINGRP,93,101,155,74 + CONTROL "",IDC_CFG_KDC,"SysListView32",LVS_REPORT | LVS_EDITLABELS | LVS_ALIGNLEFT | WS_TABSTOP,99,19,143,72 + CONTROL "",IDC_CFG_DMAP,"SysListView32",LVS_REPORT | LVS_EDITLABELS | LVS_ALIGNLEFT | WS_TABSTOP,99,111,143,56 +END + +IDD_CFG_IDS_TAB DIALOGEX 0, 0, 235, 151 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + LTEXT "Ticket &lifetime",IDC_CFG_LBL_DEFLIFE,7,10,44,8 + EDITTEXT IDC_CFG_DEFLIFE,94,7,134,14,ES_AUTOHSCROLL + LTEXT "Ticket re&newable lifetime",IDC_CFG_LBL_DEFRLIFE,7,29,80,8 + EDITTEXT IDC_CFG_DEFRLIFE,94,26,134,14,ES_AUTOHSCROLL + CONTROL "&Renewable",IDC_CFG_RENEW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,47,51,10 + CONTROL "&Forwardable",IDC_CFG_FORWARD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,47,56,10 + CONTROL "&Addressless",IDC_CFG_ADDRESSLESS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,63,54,10 + GROUPBOX "Credential lifetime range",IDC_CFG_LIFEGRP,7,79,221,31 + LTEXT "From",IDC_STATIC,13,93,17,8 + EDITTEXT IDC_CFG_LRNG_MIN,38,90,79,14,ES_AUTOHSCROLL + LTEXT "To",IDC_STATIC,125,93,9,8 + EDITTEXT IDC_CFG_LRNG_MAX,143,90,79,14,ES_AUTOHSCROLL + GROUPBOX "Credential renewable lifetime range",IDC_STATIC,7,113,221,31 + LTEXT "From",IDC_STATIC,13,128,17,8 + EDITTEXT IDC_CFG_RLRNG_MIN,38,125,79,14,ES_AUTOHSCROLL + LTEXT "To",IDC_STATIC,125,128,9,8 + EDITTEXT IDC_CFG_RLRNG_MAX,143,125,79,14,ES_AUTOHSCROLL +END + +IDD_CFG_ID_TAB DIALOGEX 0, 0, 235, 151 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + LTEXT "Credential lifetime",IDC_CFG_LBL_DEFLIFE,7,10,58,8 + EDITTEXT IDC_CFG_DEFLIFE,91,7,137,14,ES_AUTOHSCROLL + CONTROL "Renewable for",IDC_CFG_RENEW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,41,63,10 + EDITTEXT IDC_CFG_DEFRLIFE,91,39,137,14,ES_AUTOHSCROLL + CONTROL "Can be forwarded to other machines",IDC_CFG_FORWARD, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,59,133,10 + CONTROL "Addressless",IDC_CFG_ADDRESSLESS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,77,54,10 + LTEXT "Additional IP address",IDC_STATIC,91,78,68,8,NOT WS_VISIBLE + CONTROL "",IDC_CFG_PUBLICIP,"SysIPAddress32",NOT WS_VISIBLE | WS_TABSTOP,128,89,100,15 + LTEXT "Credential cache",IDC_STATIC,7,132,58,8 + EDITTEXT IDC_CFG_CCACHE,91,130,137,14,ES_AUTOHSCROLL +END + +IDD_NC_KRB5_PASSWORD DIALOGEX 0, 0, 300, 166 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + CONTROL "Kerberos v5 Change Password Options",IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_SUNKEN | WS_GROUP,7,7,286,11 + LTEXT "Realm",IDC_STATIC,7,25,52,13 + COMBOBOX IDC_NCK5_REALM,60,25,233,51,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Specify &additional realms ...",IDC_NCK5_ADD_REALMS,181,43,112,16,BS_NOTIFY | WS_DISABLED +END + +IDD_CFG_CACHES DIALOGEX 0, 0, 255, 182 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + GROUPBOX "File-based Credential Caches",IDC_CFG_FCGRP,7,26,241,149 + CONTROL "",IDC_CFG_FCLIST,"SysListView32",LVS_REPORT | LVS_SORTASCENDING | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,13,37,229,97 + EDITTEXT IDC_CFG_FCNAME,13,139,173,14,ES_AUTOHSCROLL + PUSHBUTTON "&Browse ...",IDC_CFG_BROWSE,192,139,50,14 + PUSHBUTTON "Add",IDC_CFG_ADD,13,156,50,14 + PUSHBUTTON "Remove Selected",IDC_CFG_REMOVE,88,156,80,14 + CONTROL "Include all API: credentials caches",IDC_CFG_INCAPI, + "Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,123,7,125,10 + CONTROL "Include Windows LSA cache (MSLSA:)",IDC_CFG_INCMSLSA, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,7,136,10 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_NC_KRB5, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 293 + TOPMARGIN, 7 + BOTTOMMARGIN, 159 + END + + IDD_PP_KRB5C, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 228 + TOPMARGIN, 7 + BOTTOMMARGIN, 149 + END + + IDD_PP_KRB5, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 228 + TOPMARGIN, 7 + BOTTOMMARGIN, 149 + END + + IDD_CONFIG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 248 + VERTGUIDE, 13 + VERTGUIDE, 76 + VERTGUIDE, 242 + TOPMARGIN, 7 + BOTTOMMARGIN, 175 + END + + IDD_CFG_REALMS, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 248 + VERTGUIDE, 93 + VERTGUIDE, 99 + VERTGUIDE, 242 + TOPMARGIN, 7 + BOTTOMMARGIN, 175 + HORZGUIDE, 19 + HORZGUIDE, 167 + END + + IDD_CFG_IDS_TAB, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 228 + VERTGUIDE, 13 + VERTGUIDE, 94 + VERTGUIDE, 222 + TOPMARGIN, 7 + BOTTOMMARGIN, 144 + END + + IDD_CFG_ID_TAB, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 228 + VERTGUIDE, 91 + TOPMARGIN, 7 + BOTTOMMARGIN, 144 + END + + IDD_NC_KRB5_PASSWORD, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 293 + TOPMARGIN, 7 + BOTTOMMARGIN, 159 + END + + IDD_CFG_CACHES, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 248 + VERTGUIDE, 7 + VERTGUIDE, 13 + VERTGUIDE, 242 + TOPMARGIN, 7 + BOTTOMMARGIN, 175 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_PLUGIN ICON "..\\..\\images\\krb5plugin.ico" +IDI_DELETED ICON "..\\..\\images\\deleted.ico" +IDI_NEW ICON "..\\..\\images\\new.ico" +IDI_NORMAL ICON "..\\..\\images\\normal.ico" +IDI_MODIFIED ICON "..\\..\\images\\modified.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE +BEGIN + IDS_UNK_ADDR_FMT "Unknown address type %d" + IDS_KRB5_CREDTEXT_0 "

Krb5: Tickets for realm %s

" + IDS_KRB5_CCNAME_SHORT_DESC "Kerberos v5 CCache" + IDS_KEY_ENCTYPE_SHORT_DESC "Session EncType" + IDS_TKT_ENCTYPE_SHORT_DESC "Service EncType" + IDS_KEY_ENCTYPE_LONG_DESC "Session Key Encryption Type" + IDS_TKT_ENCTYPE_LONG_DESC "Service Encryption Type" + IDS_ADDR_LIST_SHORT_DESC "Addresses" + IDS_ADDR_LIST_LONG_DESC "Address List" + IDS_ETYPE_NULL "NULL" + IDS_ETYPE_DES_CBC_CRC "DES-CBC-CRC" +END + +STRINGTABLE +BEGIN + IDS_ETYPE_DES_CBC_MD4 "DES-CBC-MD4" + IDS_ETYPE_DES_CBC_MD5 "DES-CBC-MD5" + IDS_ETYPE_DES_CBC_RAW "DES-CBC-RAW" + IDS_ETYPE_DES3_CBC_SHA "DES3-CBC-SHA" + IDS_ETYPE_DES3_CBC_RAW "DES3-CBC-RAW" + IDS_ETYPE_DES_HMAC_SHA1 "DES-HMAC-SHA1" + IDS_ETYPE_DES3_CBC_SHA1 "DES3-CBC-SHA1" + IDS_ETYPE_AES128_CTS_HMAC_SHA1_96 "AES128_CTS-HMAC-SHA1_96" + IDS_ETYPE_AES256_CTS_HMAC_SHA1_96 "AES256_CTS-HMAC-SHA1_96" + IDS_ETYPE_ARCFOUR_HMAC "RC4-HMAC-NT" + IDS_ETYPE_ARCFOUR_HMAC_EXP "RC4-HMAC-NT-EXP" + IDS_ETYPE_UNKNOWN "(Unknown)" + IDS_ETYPE_LOCAL_DES3_HMAC_SHA1 "LOCAL-DES3-HMAC-SHA1" + IDS_ETYPE_LOCAL_RC4_MD4 "LOCAL-RC4-MD4" + IDS_KRB5_SHORT_DESC "Kerberos v5 credentials" + IDS_KRB5_LONG_DESC "Kerberos v5 credentials" +END + +STRINGTABLE +BEGIN + IDS_KRB4_SHORT_DESC "Kerberos v4" + IDS_KRB4_LONG_DESC "Kerberos v4 credentials" + IDS_KRB5_FLAGS_SHORT_DESC "Kerberos v5 Flags" + IDS_RENEW_TILL_SHORT_DESC "Renew Till" + IDS_RENEW_TILL_LONG_DESC "Renewable Till" + IDS_RENEW_FOR_SHORT_DESC "Renew for" + IDS_RENEW_FOR_LONG_DESC "Renewable for" + IDS_KRB5_CCNAME_LONG_DESC "Kerberos v5 Primary Credentials Cache" + IDS_NC_USERNAME "Username" + IDS_NC_REALM "Realm" + IDS_KRB5_WARNING "Kerberos v5 Warning" + IDS_K5ERR_NAME_EXPIRED "

Krb5: The selected principal name has expired.

Please contact your system administrator.

" + IDS_K5ERR_KEY_EXPIRED "

Krb5: The password for the selected identity has expired.

Click here to change the password

" + IDS_KRB5_WARN_FMT "Kerberos v5: %s\n\n%s" + IDS_K5ERR_FMT "

Krb5: %s

" + IDS_K5CFG_SHORT_DESC "Kerberos v5" +END + +STRINGTABLE +BEGIN + IDS_K5CFG_LONG_DESC "Kerberos v5 Configuration" + IDS_K5RLM_SHORT_DESC "Realms" + IDS_K5RLM_LONG_DESC "Kerberos Realm Configuration" + IDS_K5CFG_IDS_SHORT_DESC "Kerberos v5" + IDS_K5CFG_IDS_LONG_DESC "Kerberos v5 options for all identities" + IDS_K5CFG_ID_SHORT_DESC "Kerberos v5" + IDS_K5CFG_ID_LONG_DESC "Kerberos v5 options for this identity" + IDS_PLUGIN_DESC "Kerberos v5 Credentials Provider" + IDS_NC_PWD_BANNER "Changing Kerberos v5 Password" + IDS_NC_PWD_PWD "Current Password" + IDS_NC_PWD_NPWD "New Password" + IDS_NC_PWD_NPWD_AGAIN "New Password again" + IDS_KRB5_CREDTEXT_P0 "

Krb5: Changing password for %s

" + IDS_K5CFG_IMPORT_OPTIONS "Never,Always,Only when the principal matches" + IDS_IDENTPRO_DESC "Kerberos v5 Identity Provider" + IDS_K5CCC_SHORT_DESC "Credential Caches" +END + +STRINGTABLE +BEGIN + IDS_K5CCC_LONG_DESC "Kerberos v5 Credential Caches" + IDS_CFG_FCTITLE "File based Credential Caches" + IDS_CFG_FCN_WARNING "Warning:" + IDS_CFG_FCN_W_NOTFOUND "The credentials cache you specified does not exist." + IDS_CFG_FCN_W_RELATIVE "The path you specified not an absolute path." + IDS_CFG_FCOPENTITLE "Select a credential cache to add" + IDS_UNAVAILABLE "(Not available)" + IDS_FLG_FORWARDABLE "Forwardable" + IDS_FLG_FORWARDED "Forwarded" + IDS_FLG_PROXIABLE "Proxiable" + IDS_FLG_PROXY "Proxy" + IDS_FLG_MAY_POSTDATE "May postdate" + IDS_FLG_POSTDATED "Postdated" + IDS_FLG_INVALID "Invalid" + IDS_FLG_RENEWABLE "Renewable" + IDS_FLG_INITIAL "Initial" +END + +STRINGTABLE +BEGIN + IDS_FLG_PRE_AUTH "Pre-authenticated" + IDS_FLG_HW_AUTH "Hardware authentication" + IDS_FLG_TRANSIT_POL "Transit policy checked" + IDS_FLG_OK_DELEGATE "Approved for delegation" + IDS_FLG_ANONYMOUS "Anonymous" + IDS_K5ERR_CANTWRITEPROFILE + "The Kerberos v5 profile file could not be written" + IDS_K5ERR_PROFNOWRITE "The file %s could not be opened as a profile file for writing." + IDS_K5ERR_PROFUSETEMP "The file %s could not be opened for writing. The current changes will be saved to %s temporarily." + IDS_K5ERR_PROFSUGGEST "This may be due to not having privileges to modify the configuration file. Please contact your system administrator to resolve the issue." + IDS_CFG_RE_REALMS "Kerberos Realms" + IDS_CFG_RE_KDCS "Kerberos Servers" + IDS_CFG_RE_DMAPS "Domain mappings" + IDS_CFG_RE_KDCS_R "Kerberos Servers for %s" + IDS_CFG_RE_DMAPS_R "Domains that map to %s" + IDS_CFG_RE_HEAD_SVR "Server" + IDS_CFG_RE_HEAD_ADMIN "Admin" +END + +STRINGTABLE +BEGIN + IDS_CFG_RE_HEAD_MASTER "Master" + IDS_CFG_RE_HEAD_DOMAIN "Domain" + IDS_CFG_RE_NEWREALM "" + IDS_YES "Yes" + IDS_NO "No" + IDS_CFG_RE_NEWSERVER "" + IDS_CFG_RE_NEWDMAP "" + IDS_KRB5_NC_NAME "Kerberos v5" + IDS_NCERR_IDENT_TOO_LONG "The identity name is too long." + IDS_NCERR_IDENT_INVALID "The identity name is invalid." + IDS_NCERR_IDENT_UNKNOWN "An unknown error occurred while validating the identity name." + IDS_CFG_RE_ARNUT "Can't add new realm %s" + IDS_CFG_RE_ARNUM "The new realm name %s can't be added because there is already a realm with the same name listed. Please type another name." + IDS_CFG_RE_ASNUT "Can't add new server %s for realm %s" + IDS_CFG_RE_ASNUM "There already is a server named %s for realm %s. The new server can not be added." + IDS_CFG_RE_DMNUT "Can't add new domain map %s for realm %s" +END + +STRINGTABLE +BEGIN + IDS_CFG_RE_DMNUM "There already is a domain named %s mapping to realm %s. The new domain map could not be added." + IDS_CFG_RE_MNR "&Add new realm" + IDS_CFG_RE_MDR "&Remove realm" + IDS_CFG_RE_MNK "&Add new server" + IDS_CFG_RE_MDK "&Remove server" + IDS_CFG_RE_MAK "Toggle a&dmin server" + IDS_CFG_RE_MMK "Toggle &master KDC" + IDS_CFG_RE_MND "&Add new domain mapping" + IDS_CFG_RE_MDD "&Remove domain mapping" + IDS_KVNO_SHORT_DESC "Kvno" + IDS_KVNO_LONG_DESC "Key version number" +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + + diff --git a/src/windows/identity/plugins/krb5/lang/krb5_msgs.mc b/src/windows/identity/plugins/krb5/lang/krb5_msgs.mc index cadc66626..1e9869972 100644 --- a/src/windows/identity/plugins/krb5/lang/krb5_msgs.mc +++ b/src/windows/identity/plugins/krb5/lang/krb5_msgs.mc @@ -1,199 +1,199 @@ -; // ** krb5_msgs.mc - -; /* Since .mc files can contain strings from any language, we define -; all our messages in one file in the /lang/ directory instead of -; language specific subdirectories. */ - -; /* The type is set to (wchar_t *) because that's what we will be -; feeding kherr_report() function. */ - -; // MessageIdTypedef=LPWSTR - -; /* Severity values as defined in the message definition file are -; currently ignored. */ - -SeverityNames=( - Success=0x0 -) - -LanguageNames=( - English=0x409:MSG_ENU -) - -OutputBase=16 - -; /* Actual messages start here */ - -MessageId=1 -Severity=Success -SymbolicName=MSG_INITIAL -Language=English -Initial placeholder message -. - -MessageId= -SymbolicName=MSG_CTX_INITAL_CREDS -Language=English -Obtaining initial Krb5 credentials -. - -MessageId= -SymbolicName=MSG_CTX_RENEW_CREDS -Language=English -Renewing Krb5 credentials -. - -MessageId= -SymbolicName=MSG_ERR_UNKNOWN -Language=English -An unknown error has occurred. -. - -MessageId= -SymbolicName=MSG_ERR_PR_UNKNOWN -Language=English -You have entered an unknown username/instance/realm combination. -. - -MessageId= -SymbolicName=MSG_ERR_TKFIL -Language=English -The tickets could not be accessed from the memory location where they were stored. -. - -MessageId= -SymbolicName=MSG_ERR_S_TKFIL -Language=English -This may be due to a problem with the memory where your tickets are stored. Restarting your computer might be worth a try. -. - -MessageId= -SymbolicName=MSG_ERR_CLOCKSKEW -Language=English -Your computer's clock is out of sync with the Kerberos server. -. - -MessageId= -SymbolicName=MSG_ERR_S_CLOCKSKEW -Language=English -Synchronize your clock withe the Kerberos server. -. - -MessageId= -SymbolicName=MSG_ERR_KDC_CONTACT -Language=English -Cannot contact the Kerberos server for the requested realm. -. - -MessageId= -SymbolicName=MSG_ERR_INSECURE_PW -Language=English -You have entered an insecure or weak password. -. - -MessageId= -SymbolicName=MSG_ERR_NO_IDENTITY -Language=English -There were no identities for which to renew credentials. -. - -MessageId= -SymbolicName=MSG_CTX_PASSWD -Language=English -Changing Kerberos 5 Password -. - -MessageId= -SymbolicName=MSG_PWD_UNKNOWN -Language=English -Unknown error -. - -MessageId= -SymbolicName=MSG_PWD_NOT_SAME -Language=English -The new passwords are not the same. -. - -MessageId= -SymbolicName=MSG_PWD_S_NOT_SAME -Language=English -The new password is asked for twice to protect against a mistake when setting the new password. Both instances of the new password must be the same. Please correct this and try again. -. - -MessageId= -SymbolicName=MSG_PWD_SAME -Language=English -The new and the old passwords are the same. -. - -MessageId= -SymbolicName=MSG_PWD_S_SAME -Language=English -Please type a new password to continue. -. - -MessageId= -SymbolicName=MSG_PWD_NO_IDENTITY -Language=English -There are no identities selected. -. - -MessageId= -SymbolicName=MSG_PWD_S_NO_IDENTITY -Language=English -Please select an identity to change the password. -. - -MessageId= -SymbolicName=MSG_ERR_S_INTEGRITY -Language=English -This is commonly caused by an incorrect password. Please verify that the password is correct and note that passwords are case sensitive. -. - -MessageId= -SymbolicName=MSG_ERR_CTX_DESTROY_CREDS -Language=English -Destroying Krb5 tickets -. - -MessageId= -SymbolicName=MSG_ERR_NETDOWN -Language=English -A network connection is unavailable -. - -MessageId= -SymbolicName=MSG_ERR_S_NETRETRY -Language=English -Please check your network connection or contact your network administrator for assistance. -. - -MessageId= -SymbolicName=MSG_ERR_TEMPDOWN -Language=English -A temporary network error caused the operation to fail -. - -MessageId= -SymbolicName=MSG_ERR_S_TEMPDOWN -Language=English -Please try again in a few minutes -. - -MessageId= -SymbolicName=MSG_ERR_NOHOST -Language=English -A server could not be reached -. - -MessageId= -SymbolicName=MSG_ERR_S_NOHOST -Language=English -This can be caused by the server being unavailable, network errors, or improper configuration. Please try again or contact your administrator for assistance. -. - -MessageId= -SymbolicName=MSG_ -Language=English -. +; // ** krb5_msgs.mc + +; /* Since .mc files can contain strings from any language, we define +; all our messages in one file in the /lang/ directory instead of +; language specific subdirectories. */ + +; /* The type is set to (wchar_t *) because that's what we will be +; feeding kherr_report() function. */ + +; // MessageIdTypedef=LPWSTR + +; /* Severity values as defined in the message definition file are +; currently ignored. */ + +SeverityNames=( + Success=0x0 +) + +LanguageNames=( + English=0x409:MSG_ENU +) + +OutputBase=16 + +; /* Actual messages start here */ + +MessageId=1 +Severity=Success +SymbolicName=MSG_INITIAL +Language=English +Initial placeholder message +. + +MessageId= +SymbolicName=MSG_CTX_INITAL_CREDS +Language=English +Obtaining initial Krb5 credentials +. + +MessageId= +SymbolicName=MSG_CTX_RENEW_CREDS +Language=English +Renewing Krb5 credentials +. + +MessageId= +SymbolicName=MSG_ERR_UNKNOWN +Language=English +An unknown error has occurred. +. + +MessageId= +SymbolicName=MSG_ERR_PR_UNKNOWN +Language=English +You have entered an unknown username/instance/realm combination. +. + +MessageId= +SymbolicName=MSG_ERR_TKFIL +Language=English +The tickets could not be accessed from the memory location where they were stored. +. + +MessageId= +SymbolicName=MSG_ERR_S_TKFIL +Language=English +This may be due to a problem with the memory where your tickets are stored. Restarting your computer might be worth a try. +. + +MessageId= +SymbolicName=MSG_ERR_CLOCKSKEW +Language=English +Your computer's clock is out of sync with the Kerberos server. +. + +MessageId= +SymbolicName=MSG_ERR_S_CLOCKSKEW +Language=English +Synchronize your clock withe the Kerberos server. +. + +MessageId= +SymbolicName=MSG_ERR_KDC_CONTACT +Language=English +Cannot contact the Kerberos server for the requested realm. +. + +MessageId= +SymbolicName=MSG_ERR_INSECURE_PW +Language=English +You have entered an insecure or weak password. +. + +MessageId= +SymbolicName=MSG_ERR_NO_IDENTITY +Language=English +There were no identities for which to renew credentials. +. + +MessageId= +SymbolicName=MSG_CTX_PASSWD +Language=English +Changing Kerberos 5 Password +. + +MessageId= +SymbolicName=MSG_PWD_UNKNOWN +Language=English +Unknown error +. + +MessageId= +SymbolicName=MSG_PWD_NOT_SAME +Language=English +The new passwords are not the same. +. + +MessageId= +SymbolicName=MSG_PWD_S_NOT_SAME +Language=English +The new password is asked for twice to protect against a mistake when setting the new password. Both instances of the new password must be the same. Please correct this and try again. +. + +MessageId= +SymbolicName=MSG_PWD_SAME +Language=English +The new and the old passwords are the same. +. + +MessageId= +SymbolicName=MSG_PWD_S_SAME +Language=English +Please type a new password to continue. +. + +MessageId= +SymbolicName=MSG_PWD_NO_IDENTITY +Language=English +There are no identities selected. +. + +MessageId= +SymbolicName=MSG_PWD_S_NO_IDENTITY +Language=English +Please select an identity to change the password. +. + +MessageId= +SymbolicName=MSG_ERR_S_INTEGRITY +Language=English +This is commonly caused by an incorrect password. Please verify that the password is correct and note that passwords are case sensitive. +. + +MessageId= +SymbolicName=MSG_ERR_CTX_DESTROY_CREDS +Language=English +Destroying Krb5 tickets +. + +MessageId= +SymbolicName=MSG_ERR_NETDOWN +Language=English +A network connection is unavailable +. + +MessageId= +SymbolicName=MSG_ERR_S_NETRETRY +Language=English +Please check your network connection or contact your network administrator for assistance. +. + +MessageId= +SymbolicName=MSG_ERR_TEMPDOWN +Language=English +A temporary network error caused the operation to fail +. + +MessageId= +SymbolicName=MSG_ERR_S_TEMPDOWN +Language=English +Please try again in a few minutes +. + +MessageId= +SymbolicName=MSG_ERR_NOHOST +Language=English +A server could not be reached +. + +MessageId= +SymbolicName=MSG_ERR_S_NOHOST +Language=English +This can be caused by the server being unavailable, network errors, or improper configuration. Please try again or contact your administrator for assistance. +. + +MessageId= +SymbolicName=MSG_ +Language=English +. diff --git a/src/windows/identity/plugins/krb5/version.rc b/src/windows/identity/plugins/krb5/version.rc index 135b08e25..c894dff63 100644 --- a/src/windows/identity/plugins/krb5/version.rc +++ b/src/windows/identity/plugins/krb5/version.rc @@ -1,88 +1,88 @@ -/* Copyright (c) 2004 Massachusetts Institute of Technology - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ - -/* $Id$ */ - -#include - -#ifndef LANGVER - -#define STR_FILEDESC "Kerberos v5 Plugin for Network Identity Manager" -#define STR_INTNAME "krb5cred" -#define STR_ORIGNAME "krb5cred.dll" - -#else - -#ifdef LANG_en_us - -#define STR_FILEDESC "English(US) language resources for the Keberos 5 plugin" -#define STR_INTNAME "krb5cred_en_us" -#define STR_ORIGNAME "krb5cred_en_us.dll" - -#else - -#error Unknown langugae - -#endif - -#endif - -1 VERSIONINFO - FILEVERSION KH_VERSION_LIST - PRODUCTVERSION KH_VERSION_LIST - FILEFLAGSMASK KH_VER_FILEFLAGMASK - FILEFLAGS KH_VER_FILEFLAGS - FILEOS KH_VER_FILEOS - FILETYPE KH_VER_FILETYPEDLL - FILESUBTYPE 0 - { - BLOCK "StringFileInfo" - { - BLOCK "040904b0" - { - VALUE "CompanyName", KH_VERSTR_COMPANY_1033 - VALUE "FileDescription", STR_FILEDESC - VALUE "FileVersion", KH_VERSTR_VERSION_1033 - VALUE "InternalName", STR_INTNAME - VALUE "LegalCopyright", KH_VERSTR_COPYRIGHT_1033 - VALUE "OriginalFilename", STR_ORIGNAME - VALUE "ProductName", "Network Identity Manager" - VALUE "ProductVersion", KH_VERSTR_PRODUCT_1033 -#ifdef KH_VERSTR_COMMENT_1033 - VALUE "Comment", KH_VERSTR_COMMENT_1033 -#endif -#ifndef LANGVER - VALUE NIMV_MODULE, "MITKrb5" - VALUE NIMV_PLUGINS, "Krb5Cred,Krb5Ident" - VALUE NIMV_APIVER, KH_VERSION_STRINGAPI - VALUE NIMV_SUPPORT, "http://web.mit.edu/kerberos" -#endif - } - } - - BLOCK "VarFileInfo" - { - VALUE "Translation", 0x409, 0x4b0 - } - } +/* Copyright (c) 2004 Massachusetts Institute of Technology + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +/* $Id$ */ + +#include + +#ifndef LANGVER + +#define STR_FILEDESC "Kerberos v5 Plugin for Network Identity Manager" +#define STR_INTNAME "krb5cred" +#define STR_ORIGNAME "krb5cred.dll" + +#else + +#ifdef LANG_en_us + +#define STR_FILEDESC "English(US) language resources for the Keberos 5 plugin" +#define STR_INTNAME "krb5cred_en_us" +#define STR_ORIGNAME "krb5cred_en_us.dll" + +#else + +#error Unknown langugae + +#endif + +#endif + +1 VERSIONINFO + FILEVERSION KH_VERSION_LIST + PRODUCTVERSION KH_VERSION_LIST + FILEFLAGSMASK KH_VER_FILEFLAGMASK + FILEFLAGS KH_VER_FILEFLAGS + FILEOS KH_VER_FILEOS + FILETYPE KH_VER_FILETYPEDLL + FILESUBTYPE 0 + { + BLOCK "StringFileInfo" + { + BLOCK "040904b0" + { + VALUE "CompanyName", KH_VERSTR_COMPANY_1033 + VALUE "FileDescription", STR_FILEDESC + VALUE "FileVersion", KH_VERSTR_VERSION_1033 + VALUE "InternalName", STR_INTNAME + VALUE "LegalCopyright", KH_VERSTR_COPYRIGHT_1033 + VALUE "OriginalFilename", STR_ORIGNAME + VALUE "ProductName", "Network Identity Manager" + VALUE "ProductVersion", KH_VERSTR_PRODUCT_1033 +#ifdef KH_VERSTR_COMMENT_1033 + VALUE "Comment", KH_VERSTR_COMMENT_1033 +#endif +#ifndef LANGVER + VALUE NIMV_MODULE, "MITKrb5" + VALUE NIMV_PLUGINS, "Krb5Cred,Krb5Ident" + VALUE NIMV_APIVER, KH_VERSION_STRINGAPI + VALUE NIMV_SUPPORT, "http://web.mit.edu/kerberos" +#endif + } + } + + BLOCK "VarFileInfo" + { + VALUE "Translation", 0x409, 0x4b0 + } + } diff --git a/src/windows/identity/sample/templates/credprov/Makefile b/src/windows/identity/sample/templates/credprov/Makefile index b9400105a..898c614ca 100644 --- a/src/windows/identity/sample/templates/credprov/Makefile +++ b/src/windows/identity/sample/templates/credprov/Makefile @@ -1,278 +1,278 @@ -# -# Copyright (c) 2006 Secure Endpoints Inc. -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation files -# (the "Software"), to deal in the Software without restriction, -# including without limitation the rights to use, copy, modify, merge, -# publish, distribute, sublicense, and/or sell copies of the Software, -# and to permit persons to whom the Software is furnished to do so, -# subject to the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Environment variables -# --------------------- -# -# Before running the makefile, set the environment variable KFWSDKDIR -# to the directory containing the Kerberos for Windows SDK version 3.1 -# or later. The path should not end in a backslash. - -# Configuration settings -# ---------------------- - -# Declare a few things about our plug-in. - -# TODO: Change the plug-in name -PLUGINNAME=MyPlugin - -# TODO: Change the module name -MODULENAME=MyModule - -# TODO: Change the credtype name -CREDTYPENAME=MyCred - -# TODO: Change this as appropriate -DLLBASENAME=myplugin - -# Version info - -# TODO: Change the version numbers -VERMAJOR=0 -VERMINOR=1 -VERAUX =0 -VERPATCH=0 - -# Leave these as-is -VERLIST=$(VERMAJOR).$(VERMINOR).$(VERAUX).$(VERPATCH) -VERLISTC=$(VERMAJOR),$(VERMINOR),$(VERAUX),$(VERPATCH) - -# Various checks - -!ifndef MSSDK -! error Platform SDK environment variables not set. -!endif - -!ifndef KFWSDKDIR -! error KFWSDKDIR environment variable not set. -!endif - -# Directories - -BUILDROOT=. - -!ifdef NODEBUG -BUILDTYPE=release -!else -BUILDTYPE=debug -!endif - -!ifndef CPU -!error Environment variable 'CPU' is not defined. -!endif - -DEST=$(BUILDROOT)\dest\$(CPU)_$(BUILDTYPE) -OBJ=$(BUILDROOT)\obj\$(CPU)_$(BUILDTYPE) - -!ifndef NIDMRAWDIRS -KFWINCDIR=$(KFWSDKDIR)\inc -NIDMINCDIR=$(KFWINCDIR)\netidmgr -NIDMLIBDIR=$(KFWSDKDIR)\lib\$(CPU) -!else -NIDMINCDIR=$(KFWSDKDIR)\inc -NIDMLIBDIR=$(KFWSDKDIR) -!endif - -# Win32.mak - -!include - -# Program macros - -CD=cd -RM=del /q -MKDIR=mkdir -RMDIR=rmdir -ECHO=echo -CP=copy /y -LINK=link -MC=mc - -# Lots more macros - -incflags = -I"$(NIDMINCDIR)" -I"$(OBJ)" -I. -rincflags = /i "$(NIDMINCDIR)" /i "$(OBJ)" /i . - -ldebug = $(ldebug) /DEBUG -cdebug = $(cdebug) -Os -Zi - -cdefines = $(cdefines) -DUNICODE -D_UNICODE - -C2OBJ=$(CC) $(cdebug) $(cflags) $(incflags) $(cdefines) /Fo"$@" /c $** - -DLLGUILINK=$(LINK) /NOLOGO $(ldebug) $(dlllflags) $(guilibsmt) /OUT:"$@" /IMPLIB:$(DEST)\$(@B).lib $** - -DLLRESLINK=$(LINK) /NOLOGO /DLL /NOENTRY /MACHINE:$(PROCESSOR_ARCHITECTURE) /OUT:"$@" $** - -RC2RES=$(RC) $(RFLAGS) $(rincflags) /fo "$@" $** - -MC2RC=$(MC) $(MCFLAGS) -h "$(OBJ)\" -m 1024 -r "$(OBJ)\" -x "$(OBJ)\" $** - -{}.c{$(OBJ)}.obj: - $(C2OBJ) - -{$(OBJ)}.c{$(OBJ)}.obj: - $(C2OBJ) - -{}.rc{$(OBJ)}.res: - $(RC2RES) - -mkdirs:: -!if !exist($(DEST)) - $(MKDIR) "$(DEST)" -!endif -!if !exist($(OBJ)) - $(MKDIR) "$(OBJ)" -!endif - -clean:: - $(RM) "$(OBJ)\*.*" - $(RM) "$(DEST)\*.*" - -.SUFFIXES: .h - -# -# Manifest handling -# -# Starting with Visual Studio 8, the C compiler and the linker -# generate manifests so that the applications will link with the -# correct side-by-side DLLs at run-time. These are required for -# correct operation under Windows XP. We also have custom manifests -# which need to be merged with the manifests that VS creates. -# -# The syntax for invoking the _VC_MANIFEST_EMBED_foo macro is: -# $(_VC_MANIFEST_EMBED_???) -# - -!ifndef MT -MT=mt.exe -nologo -!endif - -_VC_MANIFEST_EMBED_EXE= \ -if exist "$@.manifest" $(MT) -outputresource:"$@";1 -manifest "$@.manifest" - -_VC_MANIFEST_EMBED_DLL=$(_VC_MANIFEST_EMBED_EXE) - -# Note that if you are merging manifests, then the VS generated -# manifest should be cleaned up after calling _VC_MANIFEST_EMBED_???. -# This ensures that even if the DLL or EXE is executed in-place, the -# embedded manifest will be used. Otherwise the $@.manifest file will -# be used. -_VC_MANIFEST_CLEAN= \ -if exist "$@.manifest" $(RM) "$@.manifest" - -# End of manifest handling - - -# Now for the actual build stuff - -DLL=$(DEST)\$(DLLBASENAME).dll - -LIBFILES= \ - "$(NIDMLIBDIR)\nidmgr32.lib" - -OBJFILES= \ - $(OBJ)\credacq.obj \ - $(OBJ)\credtype.obj \ - $(OBJ)\main.obj \ - $(OBJ)\plugin.obj \ - $(OBJ)\proppage.obj \ - $(OBJ)\config_main.obj \ - $(OBJ)\config_id.obj \ - $(OBJ)\config_ids.obj - -DLLRESFILE=$(OBJ)\version.res - -CONFIGHEADER=$(OBJ)\credacq_config.h - -all: mkdirs $(CONFIGHEADER) $(DLL) lang - -$(CONFIGHEADER): Makefile - $(CP) << "$@" -/* This is a generated file. Do not modify directly. */ - -#pragma once - -#define MYPLUGIN_DLLBASE "$(DLLBASENAME)" - -#define MYPLUGIN_NAME "$(PLUGINNAME)" - -#define MYMODULE_NAME "$(MODULENAME)" - -#define MYCREDTYPE_NAME "$(CREDTYPENAME)" - -#define VERSION_MAJOR $(VERMAJOR) -#define VERSION_MINOR $(VERMINOR) -#define VERSION_AUX $(VERAUX) -#define VERSION_PATCH $(VERPATCH) - -#define VERSION_LIST $(VERLIST) -#define VERSION_LISTC $(VERLISTC) -#define VERSION_STRING "$(VERLIST)" - -<< - -clean:: - $(RM) $(CONFIGHEADER) - -$(DLL): $(OBJFILES) $(DLLRESFILE) - $(DLLGUILINK) $(LIBFILES) - $(_VC_MANIFEST_EMBED_DLL) - $(_VC_MANIFEST_CLEAN) - -clean:: - $(RM) $(DLL) - -# Language specific resources - -# (repeat the following block as needed, redefining LANG for each -# supported language) - -# English-US -LANG=en_us - -LANGDLL=$(DEST)\$(DLLBASENAME)_$(LANG).dll - -lang:: $(LANGDLL) - -$(LANGDLL): $(OBJ)\langres_$(LANG).res $(OBJ)\version_$(LANG).res - $(DLLRESLINK) - $(_VC_MANIFEST_EMBED_DLL) - $(_VC_MANIFEST_CLEAN) - -clean:: - $(RM) $(LANGDLL) - -$(OBJ)\version_$(LANG).res: version.rc - $(RC) $(RFLAGS) $(rincflags) /d LANGRES /d LANG_$(LANG) /fo $@ $** - -clean:: - $(RM) $(OBJ)\version_$(LANG).res - -$(OBJ)\langres_$(LANG).res: lang\$(LANG)\langres.rc - $(RC2RES) - -clean:: - $(RM) $(OBJ)\langres_$(LANG).res - -# /English-US +# +# Copyright (c) 2006 Secure Endpoints Inc. +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +# Environment variables +# --------------------- +# +# Before running the makefile, set the environment variable KFWSDKDIR +# to the directory containing the Kerberos for Windows SDK version 3.1 +# or later. The path should not end in a backslash. + +# Configuration settings +# ---------------------- + +# Declare a few things about our plug-in. + +# TODO: Change the plug-in name +PLUGINNAME=MyPlugin + +# TODO: Change the module name +MODULENAME=MyModule + +# TODO: Change the credtype name +CREDTYPENAME=MyCred + +# TODO: Change this as appropriate +DLLBASENAME=myplugin + +# Version info + +# TODO: Change the version numbers +VERMAJOR=0 +VERMINOR=1 +VERAUX =0 +VERPATCH=0 + +# Leave these as-is +VERLIST=$(VERMAJOR).$(VERMINOR).$(VERAUX).$(VERPATCH) +VERLISTC=$(VERMAJOR),$(VERMINOR),$(VERAUX),$(VERPATCH) + +# Various checks + +!ifndef MSSDK +! error Platform SDK environment variables not set. +!endif + +!ifndef KFWSDKDIR +! error KFWSDKDIR environment variable not set. +!endif + +# Directories + +BUILDROOT=. + +!ifdef NODEBUG +BUILDTYPE=release +!else +BUILDTYPE=debug +!endif + +!ifndef CPU +!error Environment variable 'CPU' is not defined. +!endif + +DEST=$(BUILDROOT)\dest\$(CPU)_$(BUILDTYPE) +OBJ=$(BUILDROOT)\obj\$(CPU)_$(BUILDTYPE) + +!ifndef NIDMRAWDIRS +KFWINCDIR=$(KFWSDKDIR)\inc +NIDMINCDIR=$(KFWINCDIR)\netidmgr +NIDMLIBDIR=$(KFWSDKDIR)\lib\$(CPU) +!else +NIDMINCDIR=$(KFWSDKDIR)\inc +NIDMLIBDIR=$(KFWSDKDIR) +!endif + +# Win32.mak + +!include + +# Program macros + +CD=cd +RM=del /q +MKDIR=mkdir +RMDIR=rmdir +ECHO=echo +CP=copy /y +LINK=link +MC=mc + +# Lots more macros + +incflags = -I"$(NIDMINCDIR)" -I"$(OBJ)" -I. +rincflags = /i "$(NIDMINCDIR)" /i "$(OBJ)" /i . + +ldebug = $(ldebug) /DEBUG +cdebug = $(cdebug) -Os -Zi + +cdefines = $(cdefines) -DUNICODE -D_UNICODE + +C2OBJ=$(CC) $(cdebug) $(cflags) $(incflags) $(cdefines) /Fo"$@" /c $** + +DLLGUILINK=$(LINK) /NOLOGO $(ldebug) $(dlllflags) $(guilibsmt) /OUT:"$@" /IMPLIB:$(DEST)\$(@B).lib $** + +DLLRESLINK=$(LINK) /NOLOGO /DLL /NOENTRY /MACHINE:$(PROCESSOR_ARCHITECTURE) /OUT:"$@" $** + +RC2RES=$(RC) $(RFLAGS) $(rincflags) /fo "$@" $** + +MC2RC=$(MC) $(MCFLAGS) -h "$(OBJ)\" -m 1024 -r "$(OBJ)\" -x "$(OBJ)\" $** + +{}.c{$(OBJ)}.obj: + $(C2OBJ) + +{$(OBJ)}.c{$(OBJ)}.obj: + $(C2OBJ) + +{}.rc{$(OBJ)}.res: + $(RC2RES) + +mkdirs:: +!if !exist($(DEST)) + $(MKDIR) "$(DEST)" +!endif +!if !exist($(OBJ)) + $(MKDIR) "$(OBJ)" +!endif + +clean:: + $(RM) "$(OBJ)\*.*" + $(RM) "$(DEST)\*.*" + +.SUFFIXES: .h + +# +# Manifest handling +# +# Starting with Visual Studio 8, the C compiler and the linker +# generate manifests so that the applications will link with the +# correct side-by-side DLLs at run-time. These are required for +# correct operation under Windows XP. We also have custom manifests +# which need to be merged with the manifests that VS creates. +# +# The syntax for invoking the _VC_MANIFEST_EMBED_foo macro is: +# $(_VC_MANIFEST_EMBED_???) +# + +!ifndef MT +MT=mt.exe -nologo +!endif + +_VC_MANIFEST_EMBED_EXE= \ +if exist "$@.manifest" $(MT) -outputresource:"$@";1 -manifest "$@.manifest" + +_VC_MANIFEST_EMBED_DLL=$(_VC_MANIFEST_EMBED_EXE) + +# Note that if you are merging manifests, then the VS generated +# manifest should be cleaned up after calling _VC_MANIFEST_EMBED_???. +# This ensures that even if the DLL or EXE is executed in-place, the +# embedded manifest will be used. Otherwise the $@.manifest file will +# be used. +_VC_MANIFEST_CLEAN= \ +if exist "$@.manifest" $(RM) "$@.manifest" + +# End of manifest handling + + +# Now for the actual build stuff + +DLL=$(DEST)\$(DLLBASENAME).dll + +LIBFILES= \ + "$(NIDMLIBDIR)\nidmgr32.lib" + +OBJFILES= \ + $(OBJ)\credacq.obj \ + $(OBJ)\credtype.obj \ + $(OBJ)\main.obj \ + $(OBJ)\plugin.obj \ + $(OBJ)\proppage.obj \ + $(OBJ)\config_main.obj \ + $(OBJ)\config_id.obj \ + $(OBJ)\config_ids.obj + +DLLRESFILE=$(OBJ)\version.res + +CONFIGHEADER=$(OBJ)\credacq_config.h + +all: mkdirs $(CONFIGHEADER) $(DLL) lang + +$(CONFIGHEADER): Makefile + $(CP) << "$@" +/* This is a generated file. Do not modify directly. */ + +#pragma once + +#define MYPLUGIN_DLLBASE "$(DLLBASENAME)" + +#define MYPLUGIN_NAME "$(PLUGINNAME)" + +#define MYMODULE_NAME "$(MODULENAME)" + +#define MYCREDTYPE_NAME "$(CREDTYPENAME)" + +#define VERSION_MAJOR $(VERMAJOR) +#define VERSION_MINOR $(VERMINOR) +#define VERSION_AUX $(VERAUX) +#define VERSION_PATCH $(VERPATCH) + +#define VERSION_LIST $(VERLIST) +#define VERSION_LISTC $(VERLISTC) +#define VERSION_STRING "$(VERLIST)" + +<< + +clean:: + $(RM) $(CONFIGHEADER) + +$(DLL): $(OBJFILES) $(DLLRESFILE) + $(DLLGUILINK) $(LIBFILES) + $(_VC_MANIFEST_EMBED_DLL) + $(_VC_MANIFEST_CLEAN) + +clean:: + $(RM) $(DLL) + +# Language specific resources + +# (repeat the following block as needed, redefining LANG for each +# supported language) + +# English-US +LANG=en_us + +LANGDLL=$(DEST)\$(DLLBASENAME)_$(LANG).dll + +lang:: $(LANGDLL) + +$(LANGDLL): $(OBJ)\langres_$(LANG).res $(OBJ)\version_$(LANG).res + $(DLLRESLINK) + $(_VC_MANIFEST_EMBED_DLL) + $(_VC_MANIFEST_CLEAN) + +clean:: + $(RM) $(LANGDLL) + +$(OBJ)\version_$(LANG).res: version.rc + $(RC) $(RFLAGS) $(rincflags) /d LANGRES /d LANG_$(LANG) /fo $@ $** + +clean:: + $(RM) $(OBJ)\version_$(LANG).res + +$(OBJ)\langres_$(LANG).res: lang\$(LANG)\langres.rc + $(RC2RES) + +clean:: + $(RM) $(OBJ)\langres_$(LANG).res + +# /English-US diff --git a/src/windows/identity/sample/templates/credprov/README b/src/windows/identity/sample/templates/credprov/README index f091143c8..2ecf88188 100644 --- a/src/windows/identity/sample/templates/credprov/README +++ b/src/windows/identity/sample/templates/credprov/README @@ -1,250 +1,250 @@ - - Network Identity Manager - - Credentials Provider Plug-in Template - ------------------------------------------------------------------- - - CONTENTS - - 1. INTRODUCTION - 2. COPYRIGHT AND LICENSE - 3. ROADMAP OF THE TEMPLATE - 4. BUILD REQUIREMENTS - 5. BUILDING - 6. RUNNING THE PLUG-IN - 7. KNOWN ISSUES - 8. SUPPORT / BUG REPORTS - ------------------------------------------------------------------- - -1. INTRODUCTION - - This directory and subdirectories contain a plug-in template for - creating a credentials provider plug-in for Network Identity - Manager. A credentials manager plug-in provides knowledge of a - specifc credentials type to the NetIDMgr application and manages - those credentials on behalf of NetIDMgr. - - This version of the template adheres to the following version - constraints: - - Network Identity Manager API version : 5 - - (This API version corresponds to the MIT Kerberos for Windows - version 3.1). - - The source files in this template can be used to build the plug-in - DLL and the US English resource DLL for the plug-in. In its - current form, the plug-in doesn't do any credentials management. - However, it implements a number of stub functions that can be - filled in to perform the necessary credentials management - operations. - ------------------------------------------------------------------- - -2. COPYRIGHT AND LICENSE - - Copyright (c) 2006 Secure Endpoints Inc. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, copy, - modify, merge, publish, distribute, sublicense, and/or sell copies - of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - ------------------------------------------------------------------- - -3. ROADMAP OF THE TEMPLATE - - The template consists of the following files and directories: - - .\README - - This file. - - .\Makefile - - The primary (and only) Makefile used by 'nmake' to build the - plug-in. In addition to providing build directives, it also - contains a set of macros which defines the names and version - information that is used throughout the plug-in code. - - Look for the 'Configuration Settings' section of the Makefile - for the macros. If you are basing a plug-in on this template, - you will want to change these macros. These macros will be - used to generate 'credacq_config.h', a header file included by - 'credprov.h' so that the values of the macros can be used in C - code. - - .\credprov.h - - The main header file for all the C source files in the - plug-in. - - .\main.c - - Provides the entry points for the module. - - .\plugin.c - - Provides the message processing functions and support routines - for implementing the plug-in. Note that some of the message - processing routines have been moved to other sources files - based on their use. - - .\credtype.c - - Functions for handling our credentials type. - - .\credacq.c - - Handlers for the credentials acquisition messages including - handling the user interface for the new credentials dialogs. - - .\proppage.c - - Dialog procedures and support code for displaying property - sheets for credentials that belong to our credentials type. - - .\config_main.c - - Dialog procedures and support code for providing the general - configuration panel for this plug-in. - - .\config_id.c - - Dialog procedures and support code for providing per-identity - configuration for this plug-in. - - .\config_ids.c - - Dialog procedures and support code for providing configuration - for defaults across all identities. - - .\version.rc - - Version information for the plug-in as well as all the - language resource DLLs. - - .\langres.h - - Declarations for the language resources (see below). In its - current form, it was generated via Visual Studio while editing - the language resouces file. - - .\images\plugin.ico - - A generic plug-in icon. - - .\lang\en_us\langres.rc - - US-English language resources. This will be used to create - the language resource DLL. - ------------------------------------------------------------------- - -4. BUILD REQUIREMENTS - - Microsoft(R) Platform SDK (Windows Server 2003 or later) - - (http://www.microsoft.com/msdownload/platformsdk/sdkupdate/) - - Microsoft(R) Visual C++ (Visual Studio 2003 or later) - - Although not tested, the template should build using the - Microsoft Visual C++ toolkit. - - MIT Kerberos for Windows (version 3.1 or later) SDK - - At the current time, version 3.1 is still in beta. However, - the template will not work with the 3.0 SDK due to a number of - changes that were made to the NetIDMgr API between 3.0 and - 3.1. - ------------------------------------------------------------------- - -5. BUILDING - - The build process is fairly starightforward. The source is set up - to build using 'nmake', a build tool distributed with the Platform - SDK as well as with Visual Studio. - - 1. Open a command prompt with a suitable build environment. - - From a plain command prompt, you can set up a debug build - environment targetting Windows XP (32-bit) with: - - > "%PROGRAMFILES%\Microsoft Platform SDK\SetEnv.Cmd" /XP32 /DEBUG - - 2. Set the environment variable KFWSDKDIR to point to the root of - the Kerberos for Windows 3.1 SDK. (i.e. %KFWSDKDIR%\inc - should be the include directory of the SDK) - - > SET KFWSDKDIR=%PROGRAMFILES%\MIT\Kerberos - - 3. Start the build: - - > NMAKE all - - The build target 'all' builds the plug-in and the language - resources. There is an additional build target 'clean' which - removes the temporary files and the binaries generated during - the build. - - Assuming everything goes well, the plug-in binaries should be - created under a subdirectory under 'dest'. The name of the - subdirectory reflects the target architecture and the build - type ('debug' or 'release'). - ------------------------------------------------------------------- - -6. RUNNING THE PLUG-IN - - Once the binaries for the plug-in have been built, you need to - register the plug-in with NetIDMgr by adding a registry value as - follows: - - [HKEY_CURRENT_USER\Software\MIT\NetIDMgr\PluginManager\Modules\] - "ImagePath"="" - - The should be the full path to the plug-in DLL. - - is the name of the module that you built. The - default value specified in the template is 'MyModule'. This is - the value of the macro 'MODULENAME' defined in the 'Makefile'. - - Once this is done, you need to restart NetIDMgr so that it will - pick up the new plug-in. - ------------------------------------------------------------------- - -7. KNOWN ISSUES - - 1. With the current MIT Kerberos for Windows 3.1 beta, NetIDMgr - will fail to load the plug-in when tries to load the plug-in - for the first time. Restarting NetIDMgr will fix the problem. - This will be fixed in a future beta and the final release of - KfW 3.1 - ------------------------------------------------------------------- - -8. SUPPORT / BUG REPORTS - - Problems should be sent to netidmgr@secure-endpoints.com - ------------------------------------------------------------------- + + Network Identity Manager + + Credentials Provider Plug-in Template + +------------------------------------------------------------------ + + CONTENTS + + 1. INTRODUCTION + 2. COPYRIGHT AND LICENSE + 3. ROADMAP OF THE TEMPLATE + 4. BUILD REQUIREMENTS + 5. BUILDING + 6. RUNNING THE PLUG-IN + 7. KNOWN ISSUES + 8. SUPPORT / BUG REPORTS + +------------------------------------------------------------------ + +1. INTRODUCTION + + This directory and subdirectories contain a plug-in template for + creating a credentials provider plug-in for Network Identity + Manager. A credentials manager plug-in provides knowledge of a + specifc credentials type to the NetIDMgr application and manages + those credentials on behalf of NetIDMgr. + + This version of the template adheres to the following version + constraints: + + Network Identity Manager API version : 5 + + (This API version corresponds to the MIT Kerberos for Windows + version 3.1). + + The source files in this template can be used to build the plug-in + DLL and the US English resource DLL for the plug-in. In its + current form, the plug-in doesn't do any credentials management. + However, it implements a number of stub functions that can be + filled in to perform the necessary credentials management + operations. + +------------------------------------------------------------------ + +2. COPYRIGHT AND LICENSE + + Copyright (c) 2006 Secure Endpoints Inc. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, copy, + modify, merge, publish, distribute, sublicense, and/or sell copies + of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------ + +3. ROADMAP OF THE TEMPLATE + + The template consists of the following files and directories: + + .\README + + This file. + + .\Makefile + + The primary (and only) Makefile used by 'nmake' to build the + plug-in. In addition to providing build directives, it also + contains a set of macros which defines the names and version + information that is used throughout the plug-in code. + + Look for the 'Configuration Settings' section of the Makefile + for the macros. If you are basing a plug-in on this template, + you will want to change these macros. These macros will be + used to generate 'credacq_config.h', a header file included by + 'credprov.h' so that the values of the macros can be used in C + code. + + .\credprov.h + + The main header file for all the C source files in the + plug-in. + + .\main.c + + Provides the entry points for the module. + + .\plugin.c + + Provides the message processing functions and support routines + for implementing the plug-in. Note that some of the message + processing routines have been moved to other sources files + based on their use. + + .\credtype.c + + Functions for handling our credentials type. + + .\credacq.c + + Handlers for the credentials acquisition messages including + handling the user interface for the new credentials dialogs. + + .\proppage.c + + Dialog procedures and support code for displaying property + sheets for credentials that belong to our credentials type. + + .\config_main.c + + Dialog procedures and support code for providing the general + configuration panel for this plug-in. + + .\config_id.c + + Dialog procedures and support code for providing per-identity + configuration for this plug-in. + + .\config_ids.c + + Dialog procedures and support code for providing configuration + for defaults across all identities. + + .\version.rc + + Version information for the plug-in as well as all the + language resource DLLs. + + .\langres.h + + Declarations for the language resources (see below). In its + current form, it was generated via Visual Studio while editing + the language resouces file. + + .\images\plugin.ico + + A generic plug-in icon. + + .\lang\en_us\langres.rc + + US-English language resources. This will be used to create + the language resource DLL. + +------------------------------------------------------------------ + +4. BUILD REQUIREMENTS + + Microsoft(R) Platform SDK (Windows Server 2003 or later) + + (http://www.microsoft.com/msdownload/platformsdk/sdkupdate/) + + Microsoft(R) Visual C++ (Visual Studio 2003 or later) + + Although not tested, the template should build using the + Microsoft Visual C++ toolkit. + + MIT Kerberos for Windows (version 3.1 or later) SDK + + At the current time, version 3.1 is still in beta. However, + the template will not work with the 3.0 SDK due to a number of + changes that were made to the NetIDMgr API between 3.0 and + 3.1. + +------------------------------------------------------------------ + +5. BUILDING + + The build process is fairly starightforward. The source is set up + to build using 'nmake', a build tool distributed with the Platform + SDK as well as with Visual Studio. + + 1. Open a command prompt with a suitable build environment. + + From a plain command prompt, you can set up a debug build + environment targetting Windows XP (32-bit) with: + + > "%PROGRAMFILES%\Microsoft Platform SDK\SetEnv.Cmd" /XP32 /DEBUG + + 2. Set the environment variable KFWSDKDIR to point to the root of + the Kerberos for Windows 3.1 SDK. (i.e. %KFWSDKDIR%\inc + should be the include directory of the SDK) + + > SET KFWSDKDIR=%PROGRAMFILES%\MIT\Kerberos + + 3. Start the build: + + > NMAKE all + + The build target 'all' builds the plug-in and the language + resources. There is an additional build target 'clean' which + removes the temporary files and the binaries generated during + the build. + + Assuming everything goes well, the plug-in binaries should be + created under a subdirectory under 'dest'. The name of the + subdirectory reflects the target architecture and the build + type ('debug' or 'release'). + +------------------------------------------------------------------ + +6. RUNNING THE PLUG-IN + + Once the binaries for the plug-in have been built, you need to + register the plug-in with NetIDMgr by adding a registry value as + follows: + + [HKEY_CURRENT_USER\Software\MIT\NetIDMgr\PluginManager\Modules\] + "ImagePath"="" + + The should be the full path to the plug-in DLL. + + is the name of the module that you built. The + default value specified in the template is 'MyModule'. This is + the value of the macro 'MODULENAME' defined in the 'Makefile'. + + Once this is done, you need to restart NetIDMgr so that it will + pick up the new plug-in. + +------------------------------------------------------------------ + +7. KNOWN ISSUES + + 1. With the current MIT Kerberos for Windows 3.1 beta, NetIDMgr + will fail to load the plug-in when tries to load the plug-in + for the first time. Restarting NetIDMgr will fix the problem. + This will be fixed in a future beta and the final release of + KfW 3.1 + +------------------------------------------------------------------ + +8. SUPPORT / BUG REPORTS + + Problems should be sent to netidmgr@secure-endpoints.com + +------------------------------------------------------------------ diff --git a/src/windows/identity/sample/templates/credprov/lang/en_us/langres.rc b/src/windows/identity/sample/templates/credprov/lang/en_us/langres.rc index 7e3702792..ebffa5410 100644 --- a/src/windows/identity/sample/templates/credprov/lang/en_us/langres.rc +++ b/src/windows/identity/sample/templates/credprov/lang/en_us/langres.rc @@ -1,204 +1,204 @@ -// Microsoft Visual C++ generated resource script. -// -#include "..\..\langres.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "..\\..\\langres.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_PLUGIN ICON "..\\..\\images\\plugin.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_PP_CRED DIALOGEX 0, 0, 235, 156 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Property Page" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "TODO: layout property page",IDC_STATIC,60,73,110,8 -END - -IDD_PP_IDENT DIALOGEX 0, 0, 235, 156 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Property Page" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "TODO: layout property page",IDC_STATIC,60,73,106,8 -END - -IDD_NEW_CREDS DIALOGEX 0, 0, 300, 166 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - CONTROL "My Cred Options",IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_SUNKEN | WS_GROUP,7,7,286,11 -END - -IDD_CONFIG DIALOGEX 0, 0, 255, 182 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN -END - -IDD_CONFIG_ID DIALOGEX 0, 0, 235, 151 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN -END - -IDD_CONFIG_IDS DIALOGEX 0, 0, 235, 151 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - IDD_PP_CRED, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 228 - TOPMARGIN, 7 - BOTTOMMARGIN, 149 - END - - IDD_PP_IDENT, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 228 - TOPMARGIN, 7 - BOTTOMMARGIN, 149 - END - - IDD_NEW_CREDS, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 293 - TOPMARGIN, 7 - BOTTOMMARGIN, 159 - END - - IDD_CONFIG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 248 - TOPMARGIN, 7 - BOTTOMMARGIN, 175 - END - - IDD_CONFIG_ID, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 228 - TOPMARGIN, 7 - BOTTOMMARGIN, 144 - END - - IDD_CONFIG_IDS, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 228 - TOPMARGIN, 7 - BOTTOMMARGIN, 144 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_PLUGIN_DESC "My Credentials Provider Plugin" - IDS_CT_SHORT_DESC "My Cred" - IDS_CT_LONG_DESC "My Credential" -END - -STRINGTABLE -BEGIN - IDS_NC_CT_TEMPLATE "

My Cred: %s

" - IDS_NC_CT_TEMPLATE_NL "

%s

" - IDS_GEN_NONE "(none)" - IDS_CFG_SHORT_DESC "My Creds" - IDS_CFG_LONG_DESC "My Creds Options" - IDS_CFG_IDS_SHORT_DESC "My Creds" - IDS_CFG_IDS_LONG_DESC "My Creds Options for all identities" - IDS_CFG_ID_SHORT_DESC "My Creds" - IDS_CFG_ID_LONG_DESC "My Creds Options for this identity" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +// Microsoft Visual C++ generated resource script. +// +#include "..\..\langres.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "..\\..\\langres.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_PLUGIN ICON "..\\..\\images\\plugin.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_PP_CRED DIALOGEX 0, 0, 235, 156 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Property Page" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "TODO: layout property page",IDC_STATIC,60,73,110,8 +END + +IDD_PP_IDENT DIALOGEX 0, 0, 235, 156 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Property Page" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "TODO: layout property page",IDC_STATIC,60,73,106,8 +END + +IDD_NEW_CREDS DIALOGEX 0, 0, 300, 166 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + CONTROL "My Cred Options",IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_SUNKEN | WS_GROUP,7,7,286,11 +END + +IDD_CONFIG DIALOGEX 0, 0, 255, 182 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN +END + +IDD_CONFIG_ID DIALOGEX 0, 0, 235, 151 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN +END + +IDD_CONFIG_IDS DIALOGEX 0, 0, 235, 151 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_PP_CRED, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 228 + TOPMARGIN, 7 + BOTTOMMARGIN, 149 + END + + IDD_PP_IDENT, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 228 + TOPMARGIN, 7 + BOTTOMMARGIN, 149 + END + + IDD_NEW_CREDS, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 293 + TOPMARGIN, 7 + BOTTOMMARGIN, 159 + END + + IDD_CONFIG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 248 + TOPMARGIN, 7 + BOTTOMMARGIN, 175 + END + + IDD_CONFIG_ID, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 228 + TOPMARGIN, 7 + BOTTOMMARGIN, 144 + END + + IDD_CONFIG_IDS, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 228 + TOPMARGIN, 7 + BOTTOMMARGIN, 144 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE +BEGIN + IDS_PLUGIN_DESC "My Credentials Provider Plugin" + IDS_CT_SHORT_DESC "My Cred" + IDS_CT_LONG_DESC "My Credential" +END + +STRINGTABLE +BEGIN + IDS_NC_CT_TEMPLATE "

My Cred: %s

" + IDS_NC_CT_TEMPLATE_NL "

%s

" + IDS_GEN_NONE "(none)" + IDS_CFG_SHORT_DESC "My Creds" + IDS_CFG_LONG_DESC "My Creds Options" + IDS_CFG_IDS_SHORT_DESC "My Creds" + IDS_CFG_IDS_LONG_DESC "My Creds Options for all identities" + IDS_CFG_ID_SHORT_DESC "My Creds" + IDS_CFG_ID_LONG_DESC "My Creds Options for this identity" +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/windows/identity/sample/templates/credprov/version.rc b/src/windows/identity/sample/templates/credprov/version.rc index c27766761..47b032c4f 100644 --- a/src/windows/identity/sample/templates/credprov/version.rc +++ b/src/windows/identity/sample/templates/credprov/version.rc @@ -1,94 +1,94 @@ -/* Copyright (c) 2006 Secure Endpoints Inc. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ - -/* $Id$ */ - -#include "credprov.h" -#include - -/* We use the same version.rc file for the main plugin DLL as well as - for the localized resource DLLs.*/ - -#ifndef LANGVER - -#define STR_FILEDESC "My Credentials Provider Plugin for NetIDMgr" -#define STR_INTNAME MYPLUGIN_NAME -#define STR_ORIGNAME MYPLUGIN_DLLBASE ".dll" - -#else - -#ifdef LANG_en_us - -#define STR_FILEDESC "English(US) language resources for My Credentials Provider" -#define STR_INTNAME MYPLUGIN_DLLBASE "_en_us" -#define STR_ORIGNAME MYPLUGIN_DLLBASE "_en_us.dll" - -#else - -#error Unknown langugae - -#endif - -#endif - -1 VERSIONINFO - FILEVERSION VERSION_LISTC - PRODUCTVERSION VERSION_LISTC - FILEFLAGSMASK KH_VER_FILEFLAGMASK - FILEFLAGS KH_VER_FILEFLAGS - FILEOS KH_VER_FILEOS - FILETYPE KH_VER_FILETYPEDLL - FILESUBTYPE 0 - { - - BLOCK "StringFileInfo" - { - BLOCK "040904b0" - { - VALUE "CompanyName", "My Company" - VALUE "FileDescription", "My Credentials Provider Plugin" - VALUE "FileVersion", VERSION_STRING - VALUE "InternalName", STR_INTNAME - VALUE "LegalCopyright", "(C) 2006 My Company" - VALUE "OriginalFilename", STR_ORIGNAME - VALUE "ProductName", "My Plugin Product" - VALUE "ProductVersion", VERSION_STRING -#ifndef LANGVER - VALUE NIMV_MODULE, MYMODULE_NAME - -/* if more than one plugin is provided by this module, then all of - those plugins should be listed here separated by commas. */ - VALUE NIMV_PLUGINS, MYPLUGIN_NAME - - VALUE NIMV_APIVER, KH_VERSION_STRINGAPI - VALUE NIMV_SUPPORT, "http://example.com/myplugin" -#endif - } - } - - BLOCK "VarFileInfo" - { - VALUE "Translation", 0x409, 1200 - } - } +/* Copyright (c) 2006 Secure Endpoints Inc. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +/* $Id$ */ + +#include "credprov.h" +#include + +/* We use the same version.rc file for the main plugin DLL as well as + for the localized resource DLLs.*/ + +#ifndef LANGVER + +#define STR_FILEDESC "My Credentials Provider Plugin for NetIDMgr" +#define STR_INTNAME MYPLUGIN_NAME +#define STR_ORIGNAME MYPLUGIN_DLLBASE ".dll" + +#else + +#ifdef LANG_en_us + +#define STR_FILEDESC "English(US) language resources for My Credentials Provider" +#define STR_INTNAME MYPLUGIN_DLLBASE "_en_us" +#define STR_ORIGNAME MYPLUGIN_DLLBASE "_en_us.dll" + +#else + +#error Unknown langugae + +#endif + +#endif + +1 VERSIONINFO + FILEVERSION VERSION_LISTC + PRODUCTVERSION VERSION_LISTC + FILEFLAGSMASK KH_VER_FILEFLAGMASK + FILEFLAGS KH_VER_FILEFLAGS + FILEOS KH_VER_FILEOS + FILETYPE KH_VER_FILETYPEDLL + FILESUBTYPE 0 + { + + BLOCK "StringFileInfo" + { + BLOCK "040904b0" + { + VALUE "CompanyName", "My Company" + VALUE "FileDescription", "My Credentials Provider Plugin" + VALUE "FileVersion", VERSION_STRING + VALUE "InternalName", STR_INTNAME + VALUE "LegalCopyright", "(C) 2006 My Company" + VALUE "OriginalFilename", STR_ORIGNAME + VALUE "ProductName", "My Plugin Product" + VALUE "ProductVersion", VERSION_STRING +#ifndef LANGVER + VALUE NIMV_MODULE, MYMODULE_NAME + +/* if more than one plugin is provided by this module, then all of + those plugins should be listed here separated by commas. */ + VALUE NIMV_PLUGINS, MYPLUGIN_NAME + + VALUE NIMV_APIVER, KH_VERSION_STRINGAPI + VALUE NIMV_SUPPORT, "http://example.com/myplugin" +#endif + } + } + + BLOCK "VarFileInfo" + { + VALUE "Translation", 0x409, 1200 + } + } diff --git a/src/windows/identity/ui/appver.rc b/src/windows/identity/ui/appver.rc index 58a69a472..324ad5231 100644 --- a/src/windows/identity/ui/appver.rc +++ b/src/windows/identity/ui/appver.rc @@ -1,40 +1,40 @@ - -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION KH_VERSION_LIST - PRODUCTVERSION KH_VERSION_LIST - FILEFLAGSMASK 0x17L - FILEFLAGS KH_VER_FILEFLAGS - FILEOS KH_VER_FILEOS - FILETYPE 0x0L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", KH_VERSTR_COMPANY_1033 - VALUE "FileDescription", "Network Identity Manager" - VALUE "FileVersion", KH_VERSTR_VERSION_1033 - VALUE "InternalName", "NetIDMgr" - VALUE "LegalCopyright", KH_VERSTR_COPYRIGHT_1033 - VALUE "OriginalFilename", "netidmgr.exe" - VALUE "ProductName", "Network Identity Manager" - VALUE "ProductVersion", KH_VERSTR_PRODUCT_1033 -#ifdef KH_VERSTR_COMMENT_1033 - VALUE "Comment", KH_VERSTR_COMMENT_1033 -#endif - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END + +#include +#include + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION KH_VERSION_LIST + PRODUCTVERSION KH_VERSION_LIST + FILEFLAGSMASK 0x17L + FILEFLAGS KH_VER_FILEFLAGS + FILEOS KH_VER_FILEOS + FILETYPE 0x0L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", KH_VERSTR_COMPANY_1033 + VALUE "FileDescription", "Network Identity Manager" + VALUE "FileVersion", KH_VERSTR_VERSION_1033 + VALUE "InternalName", "NetIDMgr" + VALUE "LegalCopyright", KH_VERSTR_COPYRIGHT_1033 + VALUE "OriginalFilename", "netidmgr.exe" + VALUE "ProductName", "Network Identity Manager" + VALUE "ProductVersion", KH_VERSTR_PRODUCT_1033 +#ifdef KH_VERSTR_COMMENT_1033 + VALUE "Comment", KH_VERSTR_COMMENT_1033 +#endif + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END diff --git a/src/windows/identity/ui/lang/en_us/cmdline.rtf b/src/windows/identity/ui/lang/en_us/cmdline.rtf index 8a16b8e8f827ac6ad07593e4de6f6c61425bd973..ca90069db57cb8a7a6800ded50743032352f88d9 100644 GIT binary patch delta 152 zcmeyz`G|8uz{J2=tXwe#iA57Xc}*5%5}zExC<_soT){X4C}IWW1u^M@<)<^jOFY7I!Eso5dc=+Q{O_33dcmEf)g-^RFy~ delta 187 zcmaFF`Hyo#03+|jfLZLkTrmZSMZ6Q=dol7({>UUgIe<|XCOEl>aRyXWkx3aY>dB-F z742n0s9n$G1Qs=htJ7rGfvU@4mV=A-GrK}XUo%U', $ARGV[1] or die "Can't open output file"; - -print OUF < - - khui_accel_def khui_accel_global[] = { -EOS - -# skip first line - ; - -while() { - print OUF "{".$_."},\n"; -} - -print OUF <', $ARGV[1] or die "Can't open output file"; + +print OUF < + + khui_accel_def khui_accel_global[] = { +EOS + +# skip first line + ; + +while() { + print OUF "{".$_."},\n"; +} + +print OUF <', $ARGV[1] or die "Can't open output file"; - -print OUF < - - khui_action khui_actions[] = { -EOS - -# skip first line - ; - -while() { - print OUF "{".$_."},\n"; -} - -print OUF <', $ARGV[1] or die "Can't open output file"; + +print OUF < + + khui_action khui_actions[] = { +EOS + +# skip first line + ; + +while() { + print OUF "{".$_."},\n"; +} + +print OUF < - - -Khimaira Credentials Manager - - - - - - + + + +Khimaira Credentials Manager + + + + + + diff --git a/src/windows/identity/ui/netidmgr.manifest.i386.vc7 b/src/windows/identity/ui/netidmgr.manifest.i386.vc7 index 5e83258c4..3d77cce68 100644 --- a/src/windows/identity/ui/netidmgr.manifest.i386.vc7 +++ b/src/windows/identity/ui/netidmgr.manifest.i386.vc7 @@ -1,22 +1,22 @@ - - - -Khimaira Credentials Manager - - - - - - + + + +Khimaira Credentials Manager + + + + + + diff --git a/src/windows/identity/ui/netidmgr.manifest.i386.vc7.debug b/src/windows/identity/ui/netidmgr.manifest.i386.vc7.debug index 5e83258c4..3d77cce68 100644 --- a/src/windows/identity/ui/netidmgr.manifest.i386.vc7.debug +++ b/src/windows/identity/ui/netidmgr.manifest.i386.vc7.debug @@ -1,22 +1,22 @@ - - - -Khimaira Credentials Manager - - - - - - + + + +Khimaira Credentials Manager + + + + + + diff --git a/src/windows/identity/ui/netidmgr.manifest.i386.vc8 b/src/windows/identity/ui/netidmgr.manifest.i386.vc8 index 84d91a339..d2ced7fd2 100644 --- a/src/windows/identity/ui/netidmgr.manifest.i386.vc8 +++ b/src/windows/identity/ui/netidmgr.manifest.i386.vc8 @@ -1,31 +1,31 @@ - - - -Khimaira Credentials Manager - - - - - - - - - + + + +Khimaira Credentials Manager + + + + + + + + + diff --git a/src/windows/identity/ui/netidmgr.manifest.i386.vc8.debug b/src/windows/identity/ui/netidmgr.manifest.i386.vc8.debug index 84d91a339..d2ced7fd2 100644 --- a/src/windows/identity/ui/netidmgr.manifest.i386.vc8.debug +++ b/src/windows/identity/ui/netidmgr.manifest.i386.vc8.debug @@ -1,31 +1,31 @@ - - - -Khimaira Credentials Manager - - - - - - - - - + + + +Khimaira Credentials Manager + + + + + + + + + diff --git a/src/windows/identity/uilib/Makefile b/src/windows/identity/uilib/Makefile index 5686db523..92c0aa15a 100644 --- a/src/windows/identity/uilib/Makefile +++ b/src/windows/identity/uilib/Makefile @@ -1,65 +1,65 @@ -# -# Copyright (c) 2004 Massachusetts Institute of Technology -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation files -# (the "Software"), to deal in the Software without restriction, -# including without limitation the rights to use, copy, modify, merge, -# publish, distribute, sublicense, and/or sell copies of the Software, -# and to permit persons to whom the Software is furnished to do so, -# subject to the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - - -MODULE=uilib -!include <../config/Makefile.w32> - -UIDLLOBJFILES= \ - $(OBJ)\rescache.obj \ - $(OBJ)\action.obj \ - $(OBJ)\creddlg.obj \ - $(OBJ)\alert.obj \ - $(OBJ)\propsheet.obj \ - $(OBJ)\propwnd.obj \ - $(OBJ)\uilibmain.obj \ - $(OBJ)\actiondef.obj \ - $(OBJ)\acceldef.obj \ - $(OBJ)\configui.obj \ - $(OBJ)\trackerwnd.obj \ - $(OBJ)\uibind.obj \ - $(OBJ)\version.obj - -INCFILES= \ - $(INCDIR)\khuidefs.h \ - $(INCDIR)\khrescache.h \ - $(INCDIR)\khaction.h \ - $(INCDIR)\khactiondef.h \ - $(INCDIR)\khalerts.h \ - $(INCDIR)\khhtlink.h \ - $(INCDIR)\khnewcred.h \ - $(INCDIR)\khprops.h \ - $(INCDIR)\khconfigui.h \ - $(INCDIR)\khtracker.h \ - $(INCDIR)\khremote.h \ - $(INCDIR)\intaction.h \ - $(INCDIR)\intalert.h - -$(OBJ)\actiondef.c: actions.csv actiondef.cfg - $(CCSV) $** $@ - -$(OBJ)\acceldef.c: accel.csv acceldef.cfg - $(CCSV) $** $@ - -all: mkdirs $(INCFILES) $(UIDLLOBJFILES) - +# +# Copyright (c) 2004 Massachusetts Institute of Technology +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + +MODULE=uilib +!include <../config/Makefile.w32> + +UIDLLOBJFILES= \ + $(OBJ)\rescache.obj \ + $(OBJ)\action.obj \ + $(OBJ)\creddlg.obj \ + $(OBJ)\alert.obj \ + $(OBJ)\propsheet.obj \ + $(OBJ)\propwnd.obj \ + $(OBJ)\uilibmain.obj \ + $(OBJ)\actiondef.obj \ + $(OBJ)\acceldef.obj \ + $(OBJ)\configui.obj \ + $(OBJ)\trackerwnd.obj \ + $(OBJ)\uibind.obj \ + $(OBJ)\version.obj + +INCFILES= \ + $(INCDIR)\khuidefs.h \ + $(INCDIR)\khrescache.h \ + $(INCDIR)\khaction.h \ + $(INCDIR)\khactiondef.h \ + $(INCDIR)\khalerts.h \ + $(INCDIR)\khhtlink.h \ + $(INCDIR)\khnewcred.h \ + $(INCDIR)\khprops.h \ + $(INCDIR)\khconfigui.h \ + $(INCDIR)\khtracker.h \ + $(INCDIR)\khremote.h \ + $(INCDIR)\intaction.h \ + $(INCDIR)\intalert.h + +$(OBJ)\actiondef.c: actions.csv actiondef.cfg + $(CCSV) $** $@ + +$(OBJ)\acceldef.c: accel.csv acceldef.cfg + $(CCSV) $** $@ + +all: mkdirs $(INCFILES) $(UIDLLOBJFILES) + diff --git a/src/windows/identity/uilib/accel.csv b/src/windows/identity/uilib/accel.csv index 2984eba61..d55bff0b7 100644 --- a/src/windows/identity/uilib/accel.csv +++ b/src/windows/identity/uilib/accel.csv @@ -1,26 +1,26 @@ -command,mod,key,scope -KHUI_PACTION_MENU,FVIRTKEY,VK_F10,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_PACTION_UP,FVIRTKEY,VK_UP,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_PACTION_UP_EXTEND,FVIRTKEY|FSHIFT,VK_UP,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_PACTION_UP_TOGGLE,FVIRTKEY|FCONTROL,VK_UP,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_PACTION_PGUP,FVIRTKEY,VK_PRIOR,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_PACTION_PGUP_EXTEND,FVIRTKEY|FSHIFT,VK_PRIOR,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_PACTION_DOWN,FVIRTKEY,VK_DOWN,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_PACTION_DOWN_EXTEND,FVIRTKEY|FSHIFT,VK_DOWN,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_PACTION_DOWN_TOGGLE,FVIRTKEY|FCONTROL,VK_DOWN,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_PACTION_PGDN,FVIRTKEY,VK_NEXT,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_PACTION_PGDN_EXTEND,FVIRTKEY|FSHIFT,VK_NEXT,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_PACTION_LEFT,FVIRTKEY,VK_LEFT,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_PACTION_RIGHT,FVIRTKEY,VK_RIGHT,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_PACTION_ENTER,FVIRTKEY,VK_RETURN,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_PACTION_ESC,FVIRTKEY,VK_ESCAPE,KHUI_ACCEL_SCOPE_GLOBAL -#KHUI_PACTION_DELETE,FVIRTKEY,VK_DELETE,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_ACTION_DESTROY_CRED,FVIRTKEY,VK_DELETE,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_ACTION_EXIT,FCONTROL|FVIRTKEY,\'X\',KHUI_ACCEL_SCOPE_GLOBAL -KHUI_ACTION_VIEW_REFRESH,FVIRTKEY,VK_F5,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_ACTION_NEW_CRED,FCONTROL|FVIRTKEY,\'N\',KHUI_ACCEL_SCOPE_GLOBAL -KHUI_ACTION_RENEW_CRED,FCONTROL|FVIRTKEY,\'R\',KHUI_ACCEL_SCOPE_GLOBAL -KHUI_ACTION_IMPORT,FCONTROL|FVIRTKEY,\'I\',KHUI_ACCEL_SCOPE_GLOBAL -KHUI_ACTION_DESTROY_CRED,FCONTROL|FVIRTKEY,\'D\',KHUI_ACCEL_SCOPE_GLOBAL -KHUI_ACTION_LAYOUT_MINI,FVIRTKEY,VK_F7,KHUI_ACCEL_SCOPE_GLOBAL -KHUI_PACTION_SELALL,FCONTROL|FVIRTKEY,\'A\',KHUI_ACCEL_SCOPE_GLOBAL +command,mod,key,scope +KHUI_PACTION_MENU,FVIRTKEY,VK_F10,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_PACTION_UP,FVIRTKEY,VK_UP,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_PACTION_UP_EXTEND,FVIRTKEY|FSHIFT,VK_UP,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_PACTION_UP_TOGGLE,FVIRTKEY|FCONTROL,VK_UP,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_PACTION_PGUP,FVIRTKEY,VK_PRIOR,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_PACTION_PGUP_EXTEND,FVIRTKEY|FSHIFT,VK_PRIOR,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_PACTION_DOWN,FVIRTKEY,VK_DOWN,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_PACTION_DOWN_EXTEND,FVIRTKEY|FSHIFT,VK_DOWN,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_PACTION_DOWN_TOGGLE,FVIRTKEY|FCONTROL,VK_DOWN,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_PACTION_PGDN,FVIRTKEY,VK_NEXT,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_PACTION_PGDN_EXTEND,FVIRTKEY|FSHIFT,VK_NEXT,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_PACTION_LEFT,FVIRTKEY,VK_LEFT,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_PACTION_RIGHT,FVIRTKEY,VK_RIGHT,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_PACTION_ENTER,FVIRTKEY,VK_RETURN,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_PACTION_ESC,FVIRTKEY,VK_ESCAPE,KHUI_ACCEL_SCOPE_GLOBAL +#KHUI_PACTION_DELETE,FVIRTKEY,VK_DELETE,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_ACTION_DESTROY_CRED,FVIRTKEY,VK_DELETE,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_ACTION_EXIT,FCONTROL|FVIRTKEY,\'X\',KHUI_ACCEL_SCOPE_GLOBAL +KHUI_ACTION_VIEW_REFRESH,FVIRTKEY,VK_F5,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_ACTION_NEW_CRED,FCONTROL|FVIRTKEY,\'N\',KHUI_ACCEL_SCOPE_GLOBAL +KHUI_ACTION_RENEW_CRED,FCONTROL|FVIRTKEY,\'R\',KHUI_ACCEL_SCOPE_GLOBAL +KHUI_ACTION_IMPORT,FCONTROL|FVIRTKEY,\'I\',KHUI_ACCEL_SCOPE_GLOBAL +KHUI_ACTION_DESTROY_CRED,FCONTROL|FVIRTKEY,\'D\',KHUI_ACCEL_SCOPE_GLOBAL +KHUI_ACTION_LAYOUT_MINI,FVIRTKEY,VK_F7,KHUI_ACCEL_SCOPE_GLOBAL +KHUI_PACTION_SELALL,FCONTROL|FVIRTKEY,\'A\',KHUI_ACCEL_SCOPE_GLOBAL diff --git a/src/windows/identity/uilib/acceldef.cfg b/src/windows/identity/uilib/acceldef.cfg index 3be4f2e46..20bbeb581 100644 --- a/src/windows/identity/uilib/acceldef.cfg +++ b/src/windows/identity/uilib/acceldef.cfg @@ -1,51 +1,51 @@ -# -# Copyright (c) 2004 Massachusetts Institute of Technology -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, copy, -# modify, merge, publish, distribute, sublicense, and/or sell copies -# of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# - -$file_prefix = < - -khui_accel_def khui_accel_global[] = { -EOS - -$record_prefix = "{"; - -$record_sep = ",\n"; - -$record_postfix = "}"; - -$file_postfix = < + +khui_accel_def khui_accel_global[] = { +EOS + +$record_prefix = "{"; + +$record_sep = ",\n"; + +$record_postfix = "}"; + +$file_postfix = < -#include -#include -#include"../ui/resource.h" - -khui_action khui_actions [] = { -EOS - -$record_prefix = "ACTION_FULL("; - -$record_sep = ",\n"; - -$record_postfix = ")"; - -$file_postfix = < +#include +#include +#include"../ui/resource.h" + +khui_action khui_actions [] = { +EOS + +$record_prefix = "ACTION_FULL("; + +$record_sep = ",\n"; + +$record_postfix = ")"; + +$file_postfix = < - -INCFILES= \ - $(INCDIR)\utils.h \ - $(INCDIR)\hashtable.h \ - $(INCDIR)\mstring.h \ - $(INCDIR)\sync.h \ - $(INCDIR)\perfstat.h - -OBJFILES= \ - $(OBJ)\hashtable.obj \ - $(OBJ)\mstring.obj \ - $(OBJ)\sync.obj \ - $(OBJ)\perfstat.obj - -LIBFILES= - -SDKLIBFILES= - -all: mkdirs $(INCFILES) $(OBJFILES) - -clean:: +# +# Copyright (c) 2004 Massachusetts Institute of Technology +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + +MODULE=util +!include <../config/Makefile.w32> + +INCFILES= \ + $(INCDIR)\utils.h \ + $(INCDIR)\hashtable.h \ + $(INCDIR)\mstring.h \ + $(INCDIR)\sync.h \ + $(INCDIR)\perfstat.h + +OBJFILES= \ + $(OBJ)\hashtable.obj \ + $(OBJ)\mstring.obj \ + $(OBJ)\sync.obj \ + $(OBJ)\perfstat.obj + +LIBFILES= + +SDKLIBFILES= + +all: mkdirs $(INCFILES) $(OBJFILES) + +clean:: if exist '..\obj' $(RM) $(INCFILES) \ No newline at end of file diff --git a/src/windows/installer/nsis/nsi-includes-tagged.nsi b/src/windows/installer/nsis/nsi-includes-tagged.nsi index acf77c0b5..01bd29986 100644 --- a/src/windows/installer/nsis/nsi-includes-tagged.nsi +++ b/src/windows/installer/nsis/nsi-includes-tagged.nsi @@ -1,8 +1,8 @@ -!define KFW_TARGETDIR %BUILDDIR%\target -!define KFW_EXTRADIR "%BUILDDIR%\target" -!define KFW_VERSION %VERSION_MAJOR%.%VERSION_MINOR% -!define KFW_MAJORVERSION %VERSION_MAJOR% -!define KFW_MINORVERSION %VERSION_MINOR% -!define KFW_PATCHLEVEL %VERSION_PATCH% -!define CL_1310 - +!define KFW_TARGETDIR %BUILDDIR%\target +!define KFW_EXTRADIR "%BUILDDIR%\target" +!define KFW_VERSION %VERSION_MAJOR%.%VERSION_MINOR% +!define KFW_MAJORVERSION %VERSION_MAJOR% +!define KFW_MINORVERSION %VERSION_MINOR% +!define KFW_PATCHLEVEL %VERSION_PATCH% +!define CL_1310 + diff --git a/src/windows/installer/nsis/site-local-tagged.nsi b/src/windows/installer/nsis/site-local-tagged.nsi index 26ad54169..614a27af9 100644 --- a/src/windows/installer/nsis/site-local-tagged.nsi +++ b/src/windows/installer/nsis/site-local-tagged.nsi @@ -1,13 +1,13 @@ -!define KFW_TARGETDIR %TARGETDIR% -!define KFW_CONFIG_DIR %CONFIGDIR-NSI% -!define KFW_MAJORVERSION %VERSION_MAJOR% -!define KFW_MINORVERSION %VERSION_MINOR% -!define KFW_PATCHLEVEL %VERSION_PATCH% -!define CL_1310 - -!define RELEASE -!define NOT_DEBUG -!define BETA 1 -!define SAMPLE_CONFIG_REALM "ATHENA.MIT.EDU" -!define HTTP_CONFIG_URL "[Obtain a URL from your Kerberos administrator]" - +!define KFW_TARGETDIR %TARGETDIR% +!define KFW_CONFIG_DIR %CONFIGDIR-NSI% +!define KFW_MAJORVERSION %VERSION_MAJOR% +!define KFW_MINORVERSION %VERSION_MINOR% +!define KFW_PATCHLEVEL %VERSION_PATCH% +!define CL_1310 + +!define RELEASE +!define NOT_DEBUG +!define BETA 1 +!define SAMPLE_CONFIG_REALM "ATHENA.MIT.EDU" +!define HTTP_CONFIG_URL "[Obtain a URL from your Kerberos administrator]" + diff --git a/src/windows/installer/wix/lang/license.rtf b/src/windows/installer/wix/lang/license.rtf index b28c08026..dd7b0b6ea 100644 --- a/src/windows/installer/wix/lang/license.rtf +++ b/src/windows/installer/wix/lang/license.rtf @@ -1,102 +1,102 @@ -{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}{\f1\froman\fprq2\fcharset0 Times New Roman;}} -{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\nowidctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\f0\fs20 Copyright Notice and Legal Administrivia\par -----------------------------------------\par -\par -Copyright (C) 1985-2005 by the Massachusetts Institute of Technology.\par -\par -All rights reserved.\par -\par -Export of this software from the United States of America may require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting.\par -\par -WITHIN THAT CONSTRAINT, permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and\par -this permission notice appear in supporting documentation, and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Furthermore if you modify this software you must label your software as modified software and not distribute it in such a fashion that it might be confused with the original MIT software. M.I.T. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.\par -\par -THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\par -\par -Individual source code files are copyright MIT, Cygnus Support, OpenVision, Oracle, Sun Soft, FundsXpress, and others.\par -\par -Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira, and Zephyr are trademarks of the Massachusetts Institute of Technology (MIT). No commercial use of these trademarks may be made without prior written permission of MIT.\par -\par -"Commercial use" means use of a name in a product or other for-profit manner. It does NOT prevent a commercial firm from referring to the MIT trademarks in order to convey information (although in doing so, recognition of their trademark status should be given).\par -\par -----\par -\par -The following copyright and permission notice applies to the OpenVision Kerberos Administration system located in kadmin/create, kadmin/dbutil, kadmin/passwd, kadmin/server, lib/kadm5, and portions of lib/rpc:\par -\par -Copyright, OpenVision Technologies, Inc., 1996, All Rights Reserved\par -\par -WARNING: Retrieving the OpenVision Kerberos Administration system source code, as described below, indicates your acceptance of the following terms. If you do not agree to the following terms, do not retrieve the OpenVision Kerberos administration system.\par -\par -You may freely use and distribute the Source Code and Object Code compiled from it, with or without modification, but this Source Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER EXPRESS OR IMPLIED. IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY OTHER REASON.\par -\par -OpenVision retains all copyrights in the donated Source Code. OpenVision also retains copyright to derivative works of the Source Code, whether created by OpenVision or by a third party. The OpenVision copyright notice must be preserved if derivative works are made based on the donated Source Code.\par -\par -OpenVision Technologies, Inc. has donated this Kerberos Administration system to MIT for inclusion in the standard Kerberos 5 distribution. This donation underscores our commitment to continuing Kerberos technology development and our gratitude for the valuable work which has been performed by MIT and the Kerberos community.\par -\par -----\par -\par -Portions contributed by Matt Crawford were work performed at Fermi National Accelerator Laboratory, which is operated by Universities Research Association, Inc., under contract DE-AC02-76CHO3000 with the U.S. Department of Energy.\par -\par -\pard ----\f1\fs24\par -\pard\nowidctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\f0\fs20\par -The implementation of the Yarrow pseudo-random number generator in src/lib/crypto/yarrow has the following copyright:\par -\par -Copyright 2000 by Zero-Knowledge Systems, Inc.\par -\par -Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Zero-Knowledge Systems, Inc. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Zero-Knowledge Systems, Inc. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.\par -\par -ZERO-KNOWLEDGE SYSTEMS, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ZERO-KNOWLEDGE SYSTEMS, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\par -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\par -\par -\pard ----\f1\fs24\par -\pard\nowidctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\f0\fs20\par -The implementation of the AES encryption algorithm in src/lib/crypto/aes has the following copyright:\par -\par -Copyright (c) 2001, Dr Brian Gladman , Worcester, UK.\par -All rights reserved.\par -\par -LICENSE TERMS\par -\par -The free distribution and use of this software in both source and binary form is allowed (with or without changes) provided that:\par -\par -1. distributions of this source code include the above copyright notice, this list of conditions and the following disclaimer;\par -\par -2. distributions in binary form include the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other associated materials;\par -\par -3. the copyright holder's name is not used to endorse products built using this software without specific written permission. \par -\par -DISCLAIMER\par -\par -This software is provided 'as is' with no explcit or implied warranties in respect of any properties, including, but not limited to, correctness and fitness for purpose.\par -\par -\par -\par -Acknowledgements\par -----------------\par -\par -Appreciation Time!!!! There are far too many people to try to thank them all; many people have contributed to the development of Kerberos V5. This is only a partial listing....\par -\par -Thanks to Paul Vixie and the Internet Software Consortium for funding the work of Barry Jaspan. This funding was invaluable for the OV administration server integration, as well as the 1.0 release preparation process.\par -\par -Thanks to John Linn, Scott Foote, and all of the folks at OpenVision Technologies, Inc., who donated their administration server for use in the MIT release of Kerberos.\par -\par -Thanks to Jeff Bigler, Mark Eichin, Marc Horowitz, Nancy Gilman, Ken Raeburn, and all of the folks at Cygnus Support, who provided innumerable bug fixes and portability enhancements to the Kerberos V5 tree. Thanks especially to Jeff Bigler, for the new user and system administrator's documentation.\par -\par -Thanks to Doug Engert from ANL for providing many bug fixes, as well as testing to ensure DCE interoperability.\par -\par -Thanks to Ken Hornstein at NRL for providing many bug fixes and suggestions, and for working on SAM preauthentication.\par -\par -Thanks to Matt Crawford at FNAL for bugfixes and enhancements.\par -\par -Thanks to Sean Mullan and Bill Sommerfeld from Hewlett Packard for their many suggestions and bug fixes.\par -\par -Thanks to Nalin Dahyabhai of RedHat and Chris Evans for locating and providing patches for numerous buffer overruns.\par -\par -Thanks to Christopher Thompson and Marcus Watts for discovering the ftpd security bug.\par -\par -Thanks to Paul Nelson of Thursby Software Systems for implementing the Microsoft set password protocol.\par -\par -Thanks to the members of the Kerberos V5 development team at MIT, both past and present: Danilo Almeida, Jeffrey Altman, Jay Berkenbilt, Richard Basch, Mitch Berger, John Carr, Don Davis, Alexandra Ellwood, Nancy Gilman, Matt Hancher, Sam Hartman, Paul Hill, Marc Horowitz, Eva Jacobus, Miroslav Jurisic, Barry Jaspan, Geoffrey King, John Kohl, Peter Litwack, Scott McGuire, Kevin Mitchell, Cliff Neuman, Paul Park, Ezra Peisach, Chris Provenzano, Ken Raeburn, Jon Rochlis, Jeff Schiller, Jen Selby, Brad Thompson, Harry Tsai, Ted Ts'o, Marshall Vale, Tom Yu.\par -\pard\nowidctlpar\f1\fs24\par -} +{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}{\f1\froman\fprq2\fcharset0 Times New Roman;}} +{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\nowidctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\f0\fs20 Copyright Notice and Legal Administrivia\par +----------------------------------------\par +\par +Copyright (C) 1985-2005 by the Massachusetts Institute of Technology.\par +\par +All rights reserved.\par +\par +Export of this software from the United States of America may require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting.\par +\par +WITHIN THAT CONSTRAINT, permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and\par +this permission notice appear in supporting documentation, and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Furthermore if you modify this software you must label your software as modified software and not distribute it in such a fashion that it might be confused with the original MIT software. M.I.T. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.\par +\par +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\par +\par +Individual source code files are copyright MIT, Cygnus Support, OpenVision, Oracle, Sun Soft, FundsXpress, and others.\par +\par +Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira, and Zephyr are trademarks of the Massachusetts Institute of Technology (MIT). No commercial use of these trademarks may be made without prior written permission of MIT.\par +\par +"Commercial use" means use of a name in a product or other for-profit manner. It does NOT prevent a commercial firm from referring to the MIT trademarks in order to convey information (although in doing so, recognition of their trademark status should be given).\par +\par +----\par +\par +The following copyright and permission notice applies to the OpenVision Kerberos Administration system located in kadmin/create, kadmin/dbutil, kadmin/passwd, kadmin/server, lib/kadm5, and portions of lib/rpc:\par +\par +Copyright, OpenVision Technologies, Inc., 1996, All Rights Reserved\par +\par +WARNING: Retrieving the OpenVision Kerberos Administration system source code, as described below, indicates your acceptance of the following terms. If you do not agree to the following terms, do not retrieve the OpenVision Kerberos administration system.\par +\par +You may freely use and distribute the Source Code and Object Code compiled from it, with or without modification, but this Source Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER EXPRESS OR IMPLIED. IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY OTHER REASON.\par +\par +OpenVision retains all copyrights in the donated Source Code. OpenVision also retains copyright to derivative works of the Source Code, whether created by OpenVision or by a third party. The OpenVision copyright notice must be preserved if derivative works are made based on the donated Source Code.\par +\par +OpenVision Technologies, Inc. has donated this Kerberos Administration system to MIT for inclusion in the standard Kerberos 5 distribution. This donation underscores our commitment to continuing Kerberos technology development and our gratitude for the valuable work which has been performed by MIT and the Kerberos community.\par +\par +----\par +\par +Portions contributed by Matt Crawford were work performed at Fermi National Accelerator Laboratory, which is operated by Universities Research Association, Inc., under contract DE-AC02-76CHO3000 with the U.S. Department of Energy.\par +\par +\pard ----\f1\fs24\par +\pard\nowidctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\f0\fs20\par +The implementation of the Yarrow pseudo-random number generator in src/lib/crypto/yarrow has the following copyright:\par +\par +Copyright 2000 by Zero-Knowledge Systems, Inc.\par +\par +Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Zero-Knowledge Systems, Inc. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Zero-Knowledge Systems, Inc. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.\par +\par +ZERO-KNOWLEDGE SYSTEMS, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ZERO-KNOWLEDGE SYSTEMS, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\par +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\par +\par +\pard ----\f1\fs24\par +\pard\nowidctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\f0\fs20\par +The implementation of the AES encryption algorithm in src/lib/crypto/aes has the following copyright:\par +\par +Copyright (c) 2001, Dr Brian Gladman , Worcester, UK.\par +All rights reserved.\par +\par +LICENSE TERMS\par +\par +The free distribution and use of this software in both source and binary form is allowed (with or without changes) provided that:\par +\par +1. distributions of this source code include the above copyright notice, this list of conditions and the following disclaimer;\par +\par +2. distributions in binary form include the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other associated materials;\par +\par +3. the copyright holder's name is not used to endorse products built using this software without specific written permission. \par +\par +DISCLAIMER\par +\par +This software is provided 'as is' with no explcit or implied warranties in respect of any properties, including, but not limited to, correctness and fitness for purpose.\par +\par +\par +\par +Acknowledgements\par +----------------\par +\par +Appreciation Time!!!! There are far too many people to try to thank them all; many people have contributed to the development of Kerberos V5. This is only a partial listing....\par +\par +Thanks to Paul Vixie and the Internet Software Consortium for funding the work of Barry Jaspan. This funding was invaluable for the OV administration server integration, as well as the 1.0 release preparation process.\par +\par +Thanks to John Linn, Scott Foote, and all of the folks at OpenVision Technologies, Inc., who donated their administration server for use in the MIT release of Kerberos.\par +\par +Thanks to Jeff Bigler, Mark Eichin, Marc Horowitz, Nancy Gilman, Ken Raeburn, and all of the folks at Cygnus Support, who provided innumerable bug fixes and portability enhancements to the Kerberos V5 tree. Thanks especially to Jeff Bigler, for the new user and system administrator's documentation.\par +\par +Thanks to Doug Engert from ANL for providing many bug fixes, as well as testing to ensure DCE interoperability.\par +\par +Thanks to Ken Hornstein at NRL for providing many bug fixes and suggestions, and for working on SAM preauthentication.\par +\par +Thanks to Matt Crawford at FNAL for bugfixes and enhancements.\par +\par +Thanks to Sean Mullan and Bill Sommerfeld from Hewlett Packard for their many suggestions and bug fixes.\par +\par +Thanks to Nalin Dahyabhai of RedHat and Chris Evans for locating and providing patches for numerous buffer overruns.\par +\par +Thanks to Christopher Thompson and Marcus Watts for discovering the ftpd security bug.\par +\par +Thanks to Paul Nelson of Thursby Software Systems for implementing the Microsoft set password protocol.\par +\par +Thanks to the members of the Kerberos V5 development team at MIT, both past and present: Danilo Almeida, Jeffrey Altman, Jay Berkenbilt, Richard Basch, Mitch Berger, John Carr, Don Davis, Alexandra Ellwood, Nancy Gilman, Matt Hancher, Sam Hartman, Paul Hill, Marc Horowitz, Eva Jacobus, Miroslav Jurisic, Barry Jaspan, Geoffrey King, John Kohl, Peter Litwack, Scott McGuire, Kevin Mitchell, Cliff Neuman, Paul Park, Ezra Peisach, Chris Provenzano, Ken Raeburn, Jon Rochlis, Jeff Schiller, Jen Selby, Brad Thompson, Harry Tsai, Ted Ts'o, Marshall Vale, Tom Yu.\par +\pard\nowidctlpar\f1\fs24\par +} \ No newline at end of file diff --git a/src/windows/installer/wix/platform.wxi b/src/windows/installer/wix/platform.wxi index 3c7e7bacb..93f173348 100644 --- a/src/windows/installer/wix/platform.wxi +++ b/src/windows/installer/wix/platform.wxi @@ -1,191 +1,191 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/windows/installer/wix/runtime.wxi b/src/windows/installer/wix/runtime.wxi index 13d491b85..7b09fea2c 100644 --- a/src/windows/installer/wix/runtime.wxi +++ b/src/windows/installer/wix/runtime.wxi @@ -1,90 +1,90 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/windows/installer/wix/runtime_debug.wxi b/src/windows/installer/wix/runtime_debug.wxi index f30786bc3..30bc566e9 100644 --- a/src/windows/installer/wix/runtime_debug.wxi +++ b/src/windows/installer/wix/runtime_debug.wxi @@ -1,14 +1,14 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/src/windows/installer/wix/site-local-tagged.wxi b/src/windows/installer/wix/site-local-tagged.wxi index 2b48e5045..c9a565112 100644 --- a/src/windows/installer/wix/site-local-tagged.wxi +++ b/src/windows/installer/wix/site-local-tagged.wxi @@ -1,105 +1,105 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/windows/kfwlogon/kfwlogon.def b/src/windows/kfwlogon/kfwlogon.def index 05e5b3b1d..85ba1028c 100644 --- a/src/windows/kfwlogon/kfwlogon.def +++ b/src/windows/kfwlogon/kfwlogon.def @@ -1,14 +1,14 @@ -LIBRARY KFWLOGON - -EXPORTS - - DllEntryPoint - NPGetCaps - NPLogonNotify - NPPasswordChangeNotify - KFW_Logon_Event - LogonEventHandlerA - - - - +LIBRARY KFWLOGON + +EXPORTS + + DllEntryPoint + NPGetCaps + NPLogonNotify + NPPasswordChangeNotify + KFW_Logon_Event + LogonEventHandlerA + + + + -- 2.26.2