]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Prune Leash sources 782/head
authorGreg Hudson <ghudson@mit.edu>
Mon, 21 May 2018 08:10:04 +0000 (01:10 -0700)
committerGreg Hudson <ghudson@mit.edu>
Sun, 3 Jun 2018 15:00:51 +0000 (11:00 -0400)
When Leash was imported in 2011-2012, some of its functionality was
removed either at compile-time or runtime--most notably krb4 support,
AFS integration, and editing of "properties" (registry values).
Remove most of the unnecessary material.

214 files changed:
src/windows/include/leashwin.h
src/windows/include/loadfuncs-leash.h
src/windows/installer/wix/config.wxi
src/windows/installer/wix/features.wxi
src/windows/installer/wix/files.wxi
src/windows/installer/wix/msi-deployment-guide.txt
src/windows/installer/wix/property.wxi
src/windows/kfwlogon/Makefile.in
src/windows/kfwlogon/kfwcommon.c
src/windows/leash/AfsProperties.cpp [deleted file]
src/windows/leash/AfsProperties.h [deleted file]
src/windows/leash/CLeashDragListBox.cpp [deleted file]
src/windows/leash/CLeashDragListBox.h [deleted file]
src/windows/leash/Krb4EditDomainRealmList.cpp [deleted file]
src/windows/leash/Krb4EditDomainRealmList.h [deleted file]
src/windows/leash/Krb5Properties.cpp [deleted file]
src/windows/leash/Krb5Properties.h [deleted file]
src/windows/leash/KrbAddHostServer.cpp [deleted file]
src/windows/leash/KrbAddHostServer.h [deleted file]
src/windows/leash/KrbAddRealm.cpp [deleted file]
src/windows/leash/KrbAddRealm.h [deleted file]
src/windows/leash/KrbConfigOptions.cpp [deleted file]
src/windows/leash/KrbConfigOptions.h [deleted file]
src/windows/leash/KrbDomainRealmMaintenance.cpp [deleted file]
src/windows/leash/KrbDomainRealmMaintenance.h [deleted file]
src/windows/leash/KrbEditHostServer.cpp [deleted file]
src/windows/leash/KrbEditHostServer.h [deleted file]
src/windows/leash/KrbEditRealm.cpp [deleted file]
src/windows/leash/KrbEditRealm.h [deleted file]
src/windows/leash/KrbMiscConfigOpt.cpp [deleted file]
src/windows/leash/KrbMiscConfigOpt.h [deleted file]
src/windows/leash/KrbProperties.cpp [deleted file]
src/windows/leash/KrbProperties.h [deleted file]
src/windows/leash/KrbRealmHostMaintenance.cpp [deleted file]
src/windows/leash/KrbRealmHostMaintenance.h [deleted file]
src/windows/leash/Leash.cpp
src/windows/leash/Leash.h
src/windows/leash/Leash.rc
src/windows/leash/LeashAboutBox.cpp
src/windows/leash/LeashFileDialog.cpp [deleted file]
src/windows/leash/LeashFileDialog.h [deleted file]
src/windows/leash/LeashProperties.cpp [deleted file]
src/windows/leash/LeashProperties.h [deleted file]
src/windows/leash/LeashView.cpp
src/windows/leash/LeashView.h
src/windows/leash/Lglobals.cpp [deleted file]
src/windows/leash/Lglobals.h
src/windows/leash/MainFrm.cpp
src/windows/leash/Makefile.in
src/windows/leash/htmlhelp/Images/Bullet.gif [deleted file]
src/windows/leash/htmlhelp/Images/Capture.PNG [deleted file]
src/windows/leash/htmlhelp/Images/Get_Ticket_Icon.png [deleted file]
src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_10.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_11.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_12.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_13.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_5.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_6.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_7.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_8.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_9.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_about_leash.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_change_password.JPG [deleted file]
src/windows/leash/htmlhelp/Images/Leash_debug_window.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_display_window.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_init_ticket_advanced.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_init_ticket_basic.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_menu_action.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_menu_file.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_menu_help.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_menu_options.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_menu_view.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_properties_afs.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_properties_krb4.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_properties_krb5_1.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_properties_krb5_2.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_properties_krb_1.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_properties_krb_2.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_properties_krb_3.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_properties_krb_4.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_properties_leash.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_systray_icons.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_systray_menu.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Leash_toolbar.jpg [deleted file]
src/windows/leash/htmlhelp/Images/Options_Button.PNG [deleted file]
src/windows/leash/htmlhelp/Images/Options_Button_Tiny.png [deleted file]
src/windows/leash/htmlhelp/Images/Options_Menu.PNG [deleted file]
src/windows/leash/htmlhelp/Images/Options_Menu_Open.png [deleted file]
src/windows/leash/htmlhelp/Images/Options_Menu_Tiny.png [deleted file]
src/windows/leash/htmlhelp/Images/Ticket_Options.PNG [deleted file]
src/windows/leash/htmlhelp/Images/View_Menu.GIF [deleted file]
src/windows/leash/htmlhelp/Images/View_Menu.PNG [deleted file]
src/windows/leash/htmlhelp/Images/View_Menu_tiny.png [deleted file]
src/windows/leash/htmlhelp/Images/View_Options.PNG [deleted file]
src/windows/leash/htmlhelp/Images/allowed_mix_case_realm_name.png [deleted file]
src/windows/leash/htmlhelp/Images/automatic_ticket_renewal.png [deleted file]
src/windows/leash/htmlhelp/Images/destroy_tickets_on_exit.png [deleted file]
src/windows/leash/htmlhelp/Images/encryption_type.png [deleted file]
src/windows/leash/htmlhelp/Images/expiration_alarm.png [deleted file]
src/windows/leash/htmlhelp/Images/flags.png [deleted file]
src/windows/leash/htmlhelp/Images/issued.png [deleted file]
src/windows/leash/htmlhelp/Images/renewable_until.png [deleted file]
src/windows/leash/htmlhelp/Images/valid_until.png [deleted file]
src/windows/leash/htmlhelp/LeashHelp.hhp [deleted file]
src/windows/leash/htmlhelp/MITKerberosHelp.hhp
src/windows/leash/htmlhelp/Table_of_Contents.hhc [deleted file]
src/windows/leash/htmlhelp/html/Button_Menu.htm [deleted file]
src/windows/leash/htmlhelp/html/Distroy_Tickets.htm [deleted file]
src/windows/leash/htmlhelp/html/Export_Tickets.htm [deleted file]
src/windows/leash/htmlhelp/html/How_Use_Kerberos.htm [deleted file]
src/windows/leash/htmlhelp/html/Import_Status.htm [deleted file]
src/windows/leash/htmlhelp/html/Import_Tickets.htm [deleted file]
src/windows/leash/htmlhelp/html/More_Menu.htm [deleted file]
src/windows/leash/htmlhelp/html/Options_Menu.htm [deleted file]
src/windows/leash/htmlhelp/html/Renew_Tickets2.htm [deleted file]
src/windows/leash/htmlhelp/html/View_Menu.htm [deleted file]
src/windows/leash/htmlhelp/html/Windows_Logon_Tickets.htm [deleted file]
src/windows/leash/htmlhelp/html/afx_hidw_status_bar.htm [deleted file]
src/windows/leash/htmlhelp/html/afx_hidw_toolbar.htm [deleted file]
src/windows/leash/htmlhelp/html/hid_app_about.htm [deleted file]
src/windows/leash/htmlhelp/html/hid_app_exit.htm [deleted file]
src/windows/leash/htmlhelp/html/hid_context_help.htm [deleted file]
src/windows/leash/htmlhelp/html/hid_help_index.htm [deleted file]
src/windows/leash/htmlhelp/html/hid_help_using.htm [deleted file]
src/windows/leash/htmlhelp/html/hid_sc_close.htm [deleted file]
src/windows/leash/htmlhelp/html/hid_sc_maximize.htm [deleted file]
src/windows/leash/htmlhelp/html/hid_sc_minimize.htm [deleted file]
src/windows/leash/htmlhelp/html/hid_sc_move.htm [deleted file]
src/windows/leash/htmlhelp/html/hid_sc_restore.htm [deleted file]
src/windows/leash/htmlhelp/html/hid_sc_size.htm [deleted file]
src/windows/leash/htmlhelp/html/hid_view_status_bar.htm [deleted file]
src/windows/leash/htmlhelp/html/hid_view_toolbar.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_acknowledgements.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_bug_reports.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_command_change_password.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_command_destroy_tickets.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_command_get_tickets.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_command_import_tickets.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_command_renew_tickets.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_command_reset_window.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_command_sync_time.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_command_update_display.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_copyright.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_errors.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_export.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_external_aklog.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_external_kdestroy.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_external_kinit.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_external_klist.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_external_ms2mit.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_file_exit.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_help_about_leash32.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_kerberos_copyright.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_manpage_aklog.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_manpage_kdestroy.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_manpage_kinit.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_manpage_klist.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_manpage_ms2mit.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_manpages.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_menu_commands.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_menu_help_why_use.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_option_afs_properties.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_option_auto_renewal.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_option_destroy_tickets_on_exit.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_option_expiration_alarm.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_option_kerberos_properties.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_option_krb4_properties.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_option_krb5_properties.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_option_leash_properties.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_option_upper_case_realm.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_about_kerberos.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_error_57.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_error_62.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_error_8.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_error_invalid_principal.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_kerberos_auth_service.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_kerberos_command_prompt.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_kerberos_help_topics.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_kerberos_names.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_kerberos_principals.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_kerberos_tickets.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_leash_help_topics.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_leash_systray.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_leash_window.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_online_help.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_password_choice.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_timing_issues.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_topic_why_use.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_view_debug_window.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_view_large_icons.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_view_status_bar.htm [deleted file]
src/windows/leash/htmlhelp/html/leash_view_toolbar.htm [deleted file]
src/windows/leash/htmlhelp/leash32.hhk [deleted file]
src/windows/leash/htmlhelp/leash32.hhp [deleted file]
src/windows/leash/resource.h
src/windows/leashdll/AFSroutines.c [deleted file]
src/windows/leashdll/Makefile.in
src/windows/leashdll/include/krb4/conf-pc.h [deleted file]
src/windows/leashdll/include/krb4/conf.h [deleted file]
src/windows/leashdll/include/krb4/osconf.h [deleted file]
src/windows/leashdll/krb5routines.c
src/windows/leashdll/leash-int.h
src/windows/leashdll/leashdll.c
src/windows/leashdll/leashdll.h
src/windows/leashdll/leashids.h
src/windows/leashdll/leashw32.def
src/windows/leashdll/lsh_pwd.c
src/windows/leashdll/lsh_pwd.rc
src/windows/leashdll/lshcallb.c [deleted file]
src/windows/leashdll/lshfunc.c
src/windows/leashdll/registry.c [deleted file]
src/windows/leashdll/timesync.c
src/windows/leashdll/winerr.c
src/windows/version.rc

index 325dce2e96ec857bdc1cf09697f091073158bd20..08b9c7d6b655489754352020b2a9173d3d98d426 100644 (file)
@@ -2,9 +2,6 @@
 #define __LEASHWIN__
 
 ////Is this sufficient?
-#ifndef NO_KRB4
-#include <krb.h>
-#else
 #include <krb5.h>
 #define ANAME_SZ               40
 #define        REALM_SZ                40
@@ -12,7 +9,6 @@
 #define        INST_SZ                 40
 /* include space for '.' and '@' */
 #define        MAX_K_NAME_SZ       (ANAME_SZ + INST_SZ + REALM_SZ + 2)
-#endif
 
 #define DLGTYPE_PASSWD   0
 #define DLGTYPE_CHPASSWD 1
@@ -185,9 +181,6 @@ DWORD Leash_reset_default_proxiable();
 DWORD Leash_get_default_publicip();
 DWORD Leash_set_default_publicip(DWORD ipv4addr);
 DWORD Leash_reset_default_publicip();
-DWORD Leash_get_default_use_krb4();
-DWORD Leash_set_default_use_krb4(DWORD onoff);
-DWORD Leash_reset_default_use_krb4();
 DWORD Leash_get_hide_kinit_options();
 DWORD Leash_set_hide_kinit_options(DWORD onoff);
 DWORD Leash_reset_hide_kinit_options();
@@ -203,9 +196,6 @@ DWORD Leash_reset_default_renew_min();
 DWORD Leash_get_default_renew_max();
 DWORD Leash_set_default_renew_max(DWORD minutes);
 DWORD Leash_reset_default_renew_max();
-DWORD Leash_get_lock_file_locations();
-DWORD Leash_set_lock_file_locations(DWORD onoff);
-DWORD Leash_reset_lock_file_locations();
 DWORD Leash_get_default_uppercaserealm();
 DWORD Leash_set_default_uppercaserealm(DWORD onoff);
 DWORD Leash_reset_default_uppercaserealm();
index 38b1decbb0be27f6908e3dcca0a8a07ddf2ab750..6e7bdbc82f6c4d72f6faabd530536b6cac0dc62d 100644 (file)
@@ -204,24 +204,6 @@ TYPEDEF_FUNC(
     Leash_reset_default_publicip,
     (void)
     );
-TYPEDEF_FUNC(
-    DWORD,
-    CALLCONV_C,
-    Leash_get_default_use_krb4,
-    (void)
-    );
-TYPEDEF_FUNC(
-    DWORD,
-    CALLCONV_C,
-    Leash_set_default_use_krb4,
-    (DWORD)
-    );
-TYPEDEF_FUNC(
-    DWORD,
-    CALLCONV_C,
-    Leash_reset_default_use_krb4,
-    (void)
-    );
 TYPEDEF_FUNC(
     DWORD,
     CALLCONV_C,
@@ -312,24 +294,6 @@ TYPEDEF_FUNC(
     Leash_reset_default_renewable,
     (void)
     );
-TYPEDEF_FUNC(
-    DWORD,
-    CALLCONV_C,
-    Leash_get_lock_file_locations,
-    (void)
-    );
-TYPEDEF_FUNC(
-    DWORD,
-    CALLCONV_C,
-    Leash_set_lock_file_locations,
-    (DWORD)
-    );
-TYPEDEF_FUNC(
-    DWORD,
-    CALLCONV_C,
-    Leash_reset_lock_file_locations,
-    (void)
-    );
 TYPEDEF_FUNC(
     DWORD,
     CALLCONV_C,
index 8b0882a723fe8946724e607a1b5c0d3122db8443..ae0efaf8247b11ea5e728868e489c2bea729c38e 100644 (file)
     <?endif?>
     
     <!-- Configuration macros -->
-    <?ifndef LeashAfsStatus?>
-        <?define LeashAfsStatus="1"?>
-    <?endif?>
     <?ifndef LeashCreateMissingConfig?>
         <?define LeashCreateMissingConfig="0"?>
     <?endif?>
     <?ifndef LeashPublicIp?>
         <?define LeashPublicIp="0"?>
     <?endif?>
-    <?ifndef LeashUseKrb4?>
-        <?define LeashUseKrb4="1"?>
-    <?endif?>
     <?ifndef LeashHideKinitOptions?>
         <?define LeashHideKinitOptions="0"?>
     <?endif?>
         <?define LeashPreserveKinitOptions="0"?>
     <?endif?>
     <!-- These actually have no defaults. -->
-    <?ifndef Krb4KrbRealms?>
-        <?define Krb4KrbRealms=""?>
-    <?endif?>
-    <?ifndef Krb4KrbConf?>
-        <?define Krb4KrbConf=""?>
-    <?endif?>
-    <?ifndef Krb4ConfigDir?>
-        <?define Krb4ConfigDir=""?>
-    <?endif?>
-    <?ifndef Krb4TicketFile?>
-        <?define Krb4TicketFile=""?>
-    <?endif?>
     <?ifndef Krb5Config?>
         <?define Krb5Config=""?>
     <?endif?>
index 398ddda6f37f14475f077ca75d2c78ae92bb6dc9..5fe17f02a7bdc59a18b2405ecfa0e6ac44cfa3ce 100644 (file)
             <ComponentRef Id="rcm_krb5_3" />
 
             <!-- Leash config options -->
-            <ComponentRef Id="rcm_leash_1" />
             <ComponentRef Id="rcm_leash_2" />
             <ComponentRef Id="rcm_leash_3" />
-            <ComponentRef Id="rcm_leash_5" />
             <ComponentRef Id="rcm_leash_6" />
             
             <ComponentRef Id="cmf_leash32_chm" />
             <ComponentRef Id="rcm_leashdll_5" />
             <ComponentRef Id="rcm_leashdll_6" />
             <ComponentRef Id="rcm_leashdll_7" />
-            <ComponentRef Id="rcm_leashdll_8" />
             <ComponentRef Id="rcm_leashdll_9" />
             <ComponentRef Id="rcm_leashdll_10" />
             <ComponentRef Id="rcm_leashdll_11" />
index cfec3bd2d6cfe38eaf81343060c55bbd9a7738e7..faf16b7c1553c0d53496eb5b6d9286aee4429826 100644 (file)
                     </Component> -->
 
                     <!-- Leash32 configuration -->
-                    <Component Win64="$(var.Win64)" Id="rcm_leash_1" Guid="$(var.rcm_leash_1_guid)" DiskId="1">
-                           <RegistryValue Id="reg_leash_1" Root="HKLM" Key="Software\MIT\Leash32\Settings" Name="AfsStatus" Type="integer" Value="[LEASHAFSSTATUS]" KeyPath="yes"/>
-                           <Condition>LEASHAFSSTATUS</Condition>
-                    </Component>
                     <Component Win64="$(var.Win64)" Id="rcm_leash_2" Guid="$(var.rcm_leash_2_guid)" DiskId="1">
                            <RegistryValue Id="reg_leash_2" Root="HKLM" Key="Software\MIT\Leash32\Settings" Name="createmissingconfig" Type="integer" Value="[LEASHCREATEMISSINGCONFIG]" KeyPath="yes"/>
                            <Condition>LEASHCREATEMISSINGCONFIG</Condition>
                            <RegistryValue Id="reg_leash_3" Root="HKLM" Key="Software\MIT\Leash32\Settings" Name="AutoRenewTickets" Type="integer" Value="[LEASHAUTORENEWTICKETS]" KeyPath="yes"/>
                            <Condition>LEASHAUTORENEWTICKETS</Condition>
                     </Component>
-                    <Component Win64="$(var.Win64)" Id="rcm_leash_5" Guid="$(var.rcm_leash_5_guid)" DiskId="1">
-                           <RegistryValue Id="reg_leash_5" Root="HKLM" Key="Software\MIT\Leash" Name="lock_file_locations" Type="integer" Value="[LEASHLOCKFILELOCATIONS]" KeyPath="yes"/>
-                           <Condition>LEASHLOCKFILELOCATIONS</Condition>
-                    </Component>
                     <Component Win64="$(var.Win64)" Id="rcm_leash_6" Guid="$(var.rcm_leash_6_guid)" DiskId="1">
                            <RegistryValue Id="reg_leash_6" Root="HKLM" Key="Software\MIT\Leash" Name="MsLsaImport" Type="integer" Value="[LEASHMSLSAIMPORT]" KeyPath="yes"/>
                            <Condition>LEASHMSLSAIMPORT</Condition>
                            <RegistryValue Id="reg_leashdll_7" Root="HKLM" Key="Software\MIT\Leash" Name="publicip" Type="integer" Value="[LEASHPUBLICIP]" KeyPath="yes"/>
                            <Condition>LEASHPUBLICIP</Condition>
                     </Component>
-                    <Component Win64="$(var.Win64)" Id="rcm_leashdll_8" Guid="$(var.rcm_leashdll_8_guid)" DiskId="1">
-                           <RegistryValue Id="reg_leashdll_8" Root="HKLM" Key="Software\MIT\Leash" Name="usekrb4" Type="integer" Value="[LEASHUSEKRB4]" KeyPath="yes"/>
-                           <Condition>LEASHUSEKRB4</Condition>
-                    </Component>
                     <Component Win64="$(var.Win64)" Id="rcm_leashdll_9" Guid="$(var.rcm_leashdll_9_guid)" DiskId="1">
                            <RegistryValue Id="reg_leashdll_9" Root="HKLM" Key="Software\MIT\Leash" Name="hide_kinit_options" Type="integer" Value="[LEASHHIDEKINITOPTIONS]" KeyPath="yes"/>
                            <Condition>LEASHHIDEKINITOPTIONS</Condition>
index 3a3c28ebcdeb168b6c0aa6d59d8a9c6523458503..ab317af5bf07ba9f86d830266efa02c59b1d7d20 100644 (file)
@@ -172,10 +172,6 @@ Kerberos for Windows
 
 2.1.2    Leash GUI properties
 
-    LEASHAFSSTATUS
-       Setting: afs token retrieval
-       Values : '0' or '1'
-
     LEASHCREATEMISSINGCONFIG
        Setting: automatic generation of missing configuration files
        Values : '0' or '1'
@@ -184,10 +180,6 @@ Kerberos for Windows
        Setting: automatic ticket renewal
        Values : '0' or '1'
 
-    LEASHLOCKFILELOCATIONS
-       Setting: lock configuration files location
-       Values : '0' or '1'
-
     LEASHMSLSAIMPORT
        Setting: automatic importation of MSLSA credentials
        Values : '0', '1' or '2'
@@ -222,10 +214,6 @@ Kerberos for Windows
        Setting: default public ipv4 address
        Values : numeric
 
-    LEASHUSEKRB4
-       Setting: request kerberos iv tickets
-       Values : '0' or '1'
-
     LEASHHIDEKINITOPTIONS
        Setting: hide advanced kinit options in dialog
        Values : '0' or '1'
@@ -258,22 +246,7 @@ Kerberos for Windows
        Setting: Preserve ticket initialization dialog options
        Values : numeric
 
-2.1.4  Kerberos 4 properties
-
-    KRB4KRBREALMS   (realms full pathname)
-    KRB4KRBCONF     (config full pathname)
-    KRB4KRBCONFIDIR (dir for both files)
-       Setting: location of krbrealm & krbconf
-       Values : string
-        (note that the three registry settings are conditioned
-        independently. I.e. If you only set KRB4KRBCONF, only the
-        krb.conf setting will be written.)
-
-    KRB4TICKETFILE
-       Setting: ticket file
-       Values : string
-
-2.1.5  Kerberos 5 properties
+2.1.4  Kerberos 5 properties
 
     KRB5CONFIG
        Setting: location of krb5.ini
@@ -638,7 +611,6 @@ Kerberos for Windows
 
     Krb5Cred : Kerberos 5 credentials provider
     Krb5Ident: Kerberos 5 Identity provider
-    Krb4Cred : Kerberos 4 credentials provider
 
     Consult the vendors for the plug-in names of other third party
     plug-ins.  Additionally, the plug-ins configuration panel in the
@@ -804,57 +776,6 @@ Kerberos for Windows
         Obtain renewable tickets.
 
 
-3.1.4   Settings for the Kerberos 4 Credentials Provider Plug-in
-
-    Registry key 1: 'Software\MIT\NetIDMgr\KCDB\Identity\<principal name>\Krb4Cred'
-    Registry key 2: 'Software\MIT\NetIDMgr\PluginManager\Plugins\Krb4Cred\Parameters'
-    ---------------
-
-    Theses settings are also maintained per identity.  However, if the
-    setting is not specified for some identity or if the identity is
-    new, then the global default will be used (registry key 2).
-    Global defaults should be set in the second registry key.
-
-    Value   : Krb4NewCreds
-    Type    : DWORD (0 or 1)
-    Default : 1
-
-        If '1', obtains Kerberos 4 credentials.  Note that currently,
-        only one identity can have Kerberos 4 credentials at one time.
-
-    Value   : Krb4Method
-    Type    : DWORD (0, 1 or 2)
-    Default : 0
-
-        Method for obtaining Kerberos 4 credentials.  The values are
-        as follows:
-
-        0 : Automatically determine method
-        1 : Use password
-        2 : Use Kerberos 5 to 4 translation
-
-    Value   : DefaultLifetime
-    Type    : DWORD
-    Default : 36000
-
-        The default ticket lifetime, in seconds.
-
-    Value   : MaxLifetime
-    Type    : DWORD
-    Default : 86400
-
-        Maximum lifetime, in seconds.  This value is used to set the
-        range of the user interface controls that allow setting the
-        lifetime.
-
-    Value   : MinLifetime
-    Type    : DWORD
-    Default : 60
-
-        Minimum lifetime, in seconds.  This value is used to set the
-        range of the user interface controls that allow setting the
-        lifetime.
-
 ----------------------------------------------------------------------
 
 4.   Additional Resources
index 70504c181ce04d57aee6945ba99bce90fe585741..80039870c94a1a96794d2cda0bdfcd9319fbb831 100644 (file)
          variable value is the empty string (""), then the properties will
          not be defined. -->
 <?ifdef UseDefaultProperties?>
-    <Property Id="LEASHAFSSTATUS" Admin="yes" Secure="yes">$(var.LeashAfsStatus)</Property>
     <Property Id="LEASHCREATEMISSINGCONFIG" Admin="yes" Secure="yes">$(var.LeashCreateMissingConfig)</Property>
     <Property Id="LEASHAUTORENEWTICKETS" Admin="yes" Secure="yes">$(var.LeashAutoRenewTickets)</Property>
-    <Property Id="LEASHLOCKFILELOCATIONS" Admin="yes" Secure="yes">$(var.LeashLockFileLocations)</Property>
     <Property Id="LEASHMSLSAIMPORT" Admin="yes" Secure="yes">$(var.LeashMsLsaImport)</Property>
     <Property Id="LEASHLIFETIME" Admin="yes" Secure="yes">$(var.LeashLifetime)</Property>
     <Property Id="LEASHRENEWTILL" Admin="yes" Secure="yes">$(var.LeashRenewTill)</Property>
@@ -70,7 +68,6 @@
     <Property Id="LEASHNOADDRESSES" Admin="yes" Secure="yes">$(var.LeashNoAddresses)</Property>
     <Property Id="LEASHPROXIABLE" Admin="yes" Secure="yes">$(var.LeashProxiable)</Property>
     <Property Id="LEASHPUBLICIP" Admin="yes" Secure="yes">$(var.LeashPublicIp)</Property>
-    <Property Id="LEASHUSEKRB4" Admin="yes" Secure="yes">$(var.LeashUseKrb4)</Property>
     <Property Id="LEASHHIDEKINITOPTIONS" Admin="yes" Secure="yes">$(var.LeashHideKinitOptions)</Property>
     <Property Id="LEASHLIFEMIN" Admin="yes" Secure="yes">$(var.LeashLifeMin)</Property>
     <Property Id="LEASHLIFEMAX" Admin="yes" Secure="yes">$(var.LeashLifeMax)</Property>
     <Property Id="LEASHUPPERCASEREALM" Admin="yes" Secure="yes">$(var.LeashUppercaseRealm)</Property>
     <Property Id="LEASHTIMEHOST" Admin="yes" Secure="yes">$(var.LeashTimeHost)</Property>
     <Property Id="LEASHPRESERVEKINITOPTIONS" Admin="yes" Secure="yes">$(var.LeashPreserveKinitOptions)</Property>
-    <Property Id="KRB4KRBREALMS" Admin="yes" Secure="yes">$(var.Krb4KrbRealms)</Property>
-    <Property Id="KRB4KRBCONF" Admin="yes" Secure="yes">$(var.Krb4KrbConf)</Property>
-    <Property Id="KRB4CONFIGDIR" Admin="yes" Secure="yes">$(var.Krb4ConfigDir)</Property>
-    <Property Id="KRB4TICKETFILE" Admin="yes" Secure="yes">$(var.Krb4TicketFile)</Property>
     <Property Id="KRB5CONFIG" Admin="yes" Secure="yes">$(var.Krb5Config)</Property>
     <Property Id="KRB5CCNAME" Admin="yes" Secure="yes">$(var.Krb5CcName)</Property>
     <Property Id="KRB5PRESERVEIDENTITY" Admin="yes" Secure="yes">$(var.Krb5PreserveIdentity)</Property>
index a5b9a1681d7ce7af67b7b125eb4f180d0031c7ce..d5ebe2bf4382f913ae5ea7688460617159784e37 100644 (file)
@@ -3,7 +3,6 @@
 
 mydir=.
 BUILDTOP=$(REL)..$(S)..
-DEFINES = -DNO_KRB4
 LOCALINCLUDES = -I$(BUILDTOP) -I$(BUILDTOP)\include -I$(BUILDTOP)\windows\include
 PROG_LIBPATH=-L$(TOPLIBD) -L$(KRB5_LIBDIR)
 
index a348221932cb5b70cb8bd9531fa29b5089e0e0d3..9249a2377388d6b01a28b8e415378f869474468b 100644 (file)
@@ -56,7 +56,6 @@ DECL_FUNC_PTR(Leash_get_default_renew_till);
 DECL_FUNC_PTR(Leash_get_default_noaddresses);
 DECL_FUNC_PTR(Leash_get_default_proxiable);
 DECL_FUNC_PTR(Leash_get_default_publicip);
-DECL_FUNC_PTR(Leash_get_default_use_krb4);
 DECL_FUNC_PTR(Leash_get_default_life_min);
 DECL_FUNC_PTR(Leash_get_default_life_max);
 DECL_FUNC_PTR(Leash_get_default_renew_min);
@@ -167,7 +166,6 @@ FUNC_INFO leash_fi[] = {
     MAKE_FUNC_INFO(Leash_get_default_noaddresses),
     MAKE_FUNC_INFO(Leash_get_default_proxiable),
     MAKE_FUNC_INFO(Leash_get_default_publicip),
-    MAKE_FUNC_INFO(Leash_get_default_use_krb4),
     MAKE_FUNC_INFO(Leash_get_default_life_min),
     MAKE_FUNC_INFO(Leash_get_default_life_max),
     MAKE_FUNC_INFO(Leash_get_default_renew_min),
diff --git a/src/windows/leash/AfsProperties.cpp b/src/windows/leash/AfsProperties.cpp
deleted file mode 100644 (file)
index dabcdfd..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-// AfsProperties.cpp : implementation file
-//
-
-#include "stdafx.h"
-#include "leash.h"
-#include "AfsProperties.h"
-
-/* This should be set to something other than 0 or 1 (the valid values) */
-#define INVALID_AFS_STATUS_VALUE 2
-#define IS_INVALID_AFS_STATUS_VALUE(x) ((x != 0) && (x != 1))
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-// CAfsProperties dialog
-
-
-CAfsProperties::CAfsProperties(CWnd* pParent /*=NULL*/)
-       : CDialog(CAfsProperties::IDD, pParent)
-{
-    m_newAfsStatus = 0;
-    m_oldAfsStatus = 0;
-
-    //{{AFX_DATA_INIT(CAfsProperties)
-    // NOTE: the ClassWizard will add member initialization here
-    //}}AFX_DATA_INIT
-}
-
-
-void CAfsProperties::DoDataExchange(CDataExchange* pDX)
-{
-    CDialog::DoDataExchange(pDX);
-    //{{AFX_DATA_MAP(CAfsProperties)
-    // NOTE: the ClassWizard will add DDX an3d DDV calls here
-    //}}AFX_DATA_MAP
-}
-
-
-BEGIN_MESSAGE_MAP(CAfsProperties, CDialog)
-    //{{AFX_MSG_MAP(CAfsProperties)
-    ON_BN_CLICKED(IDC_BUTTON_AFS_PROPERTIES, OnButtonAfsProperties)
-    ON_BN_CLICKED(IDC_RADIO_AFS_ENABLED, OnRadioAfsEnabled)
-    ON_BN_CLICKED(IDC_RADIO_AFS_DISABLED, OnRadioAfsDisabled)
-    ON_COMMAND(ID_HELP, OnHelp)
-    //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-/////////////////////////////////////////////////////////////////////////////
-// CAfsProperties message handlers
-
-BOOL
-CAfsProperties::OnInitDialog()
-{
-    CDialog::OnInitDialog();
-
-    // Get State* of Destroy Tickets On Exit
-    m_pApp = AfxGetApp();
-
-    m_oldAfsStatus = m_pApp->GetProfileInt("Settings", "AfsStatus",
-                                           INVALID_AFS_STATUS_VALUE);
-    if (IS_INVALID_AFS_STATUS_VALUE(m_oldAfsStatus))
-    {
-        // set the default
-        m_pApp->WriteProfileInt("Settings", "AfsStatus", 1);
-        m_oldAfsStatus = 1;
-    }
-
-    m_newAfsStatus = m_oldAfsStatus;
-
-    int enabled = (m_oldAfsStatus != 0);
-    if (enabled)
-        CheckDlgButton(IDC_RADIO_AFS_ENABLED, TRUE);
-    else
-        CheckDlgButton(IDC_RADIO_AFS_DISABLED, TRUE);
-
-    return TRUE;
-}
-
-void CAfsProperties::OnButtonAfsProperties()
-{
-    if (32 >= (LRESULT) ShellExecute (NULL, NULL, "AFS_CONFIG.EXE", NULL,
-                                      NULL, SW_SHOW))
-    {
-        MessageBox("Can't find file AFS_CONFIG.EXE", "Error", MB_OK);
-    }
-}
-
-void CAfsProperties::OnOK()
-{
-    if (m_oldAfsStatus != m_newAfsStatus)
-    {
-        if (!m_pApp->WriteProfileInt("Settings", "AfsStatus", m_newAfsStatus))
-        {
-            MessageBox("There was an error putting your entry into the "
-                       "Registry!", "Error", MB_OK);
-        }
-    }
-
-    CDialog::OnOK();
-}
-
-void CAfsProperties::OnRadioAfsEnabled()
-{
-       m_newAfsStatus = 1;
-}
-
-void CAfsProperties::OnRadioAfsDisabled()
-{
-       m_newAfsStatus = 0;
-}
-
-void CAfsProperties::OnHelp()
-{
-#ifdef CALL_HTMLHELP
-    AfxGetApp()->HtmlHelp(HID_AFS_PROPERTIES_COMMAND);
-#else
-    AfxGetApp()->WinHelp(HID_AFS_PROPERTIES_COMMAND);
-#endif
-}
diff --git a/src/windows/leash/AfsProperties.h b/src/windows/leash/AfsProperties.h
deleted file mode 100644 (file)
index 2c6e1ed..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#if !defined(AFX_AFSPROPERTIES_H__FD135601_2FCB_11D3_96A2_0000861B8A3C__INCLUDED_)
-#define AFX_AFSPROPERTIES_H__FD135601_2FCB_11D3_96A2_0000861B8A3C__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-// AfsProperties.h : header file
-//
-
-/////////////////////////////////////////////////////////////////////////////
-// CAfsProperties dialog
-
-class CAfsProperties : public CDialog
-{
-// Construction
-private:
-    UINT m_newAfsStatus;
-    UINT m_oldAfsStatus;
-    CWinApp *m_pApp;
-
-public:
-       CAfsProperties(CWnd* pParent = NULL);   // standard constructor
-
-// Dialog Data
-       //{{AFX_DATA(CAfsProperties)
-       enum { IDD = IDD_AFS_PROPERTIES };
-               // NOTE: the ClassWizard will add data members here
-       //}}AFX_DATA
-
-
-// Overrides
-       // ClassWizard generated virtual function overrides
-       //{{AFX_VIRTUAL(CAfsProperties)
-       protected:
-       virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
-       //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
-       // Generated message map functions
-       //{{AFX_MSG(CAfsProperties)
-       virtual BOOL OnInitDialog();
-       afx_msg void OnButtonAfsProperties();
-       virtual void OnOK();
-       afx_msg void OnRadioAfsEnabled();
-       afx_msg void OnRadioAfsDisabled();
-    afx_msg void OnHelp();
-       //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_AFSPROPERTIES_H__FD135601_2FCB_11D3_96A2_0000861B8A3C__INCLUDED_)
diff --git a/src/windows/leash/CLeashDragListBox.cpp b/src/windows/leash/CLeashDragListBox.cpp
deleted file mode 100644 (file)
index 2753884..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-#include "stdafx.h"
-#include "CLeashDragListBox.h"
-#include "leash.h"
-#include "lglobals.h"
-
-/////////////////////////////////////////////////////////////////////////////
-// CLeashDragListBox
-
-//IMPLEMENT_DYNAMIC(CLeashDragListBox, CDragListBox)
-
-CLeashDragListBox::CLeashDragListBox()
- :CDragListBox()
-{
-
-}
-
-CLeashDragListBox::~CLeashDragListBox()
-{
-       DestroyWindow();
-}
-
-void CLeashDragListBox::initOtherListbox(CPropertyPage* pPage, CListBox* pOtherListBox)
-{
-       m_pPage = pPage;
-       m_pOtherListBox = pOtherListBox;
-}
-
-
-void CLeashDragListBox::PreSubclassWindow()
-{
-       ASSERT(::IsWindow(m_hWnd));
-       ASSERT((GetStyle() & (LBS_MULTIPLESEL|LBS_SORT)) == 0);
-       MakeDragList(m_hWnd);
-}
-
-BOOL CLeashDragListBox::BeginDrag(CPoint pt)
-{
-       m_nLast = -1;
-       DrawInsert(ItemFromPt(pt));
-       return TRUE;
-}
-
-void CLeashDragListBox::CancelDrag(CPoint)
-{
-       DrawInsert(-1);
-}
-
-UINT CLeashDragListBox::Dragging(CPoint pt)
-{
-       int nIndex = ItemFromPt(pt, FALSE); // don't allow scrolling just yet
-       DrawInsert(nIndex);
-       ItemFromPt(pt);
-       return (nIndex == LB_ERR) ? DL_STOPCURSOR : DL_MOVECURSOR;
-}
-
-void CLeashDragListBox::Dropped(int nSrcIndex, CPoint pt)
-{
-       ASSERT(!(GetStyle() & (LBS_OWNERDRAWFIXED|LBS_OWNERDRAWVARIABLE)) ||
-               (GetStyle() & LBS_HASSTRINGS));
-
-       DrawInsert(-1);
-       int nDestIndex = ItemFromPt(pt);
-
-       if (nSrcIndex == -1 || nDestIndex == -1)
-               return;
-       if (nDestIndex == nSrcIndex || nDestIndex == nSrcIndex+1)
-               return; //didn't move
-       CString str1, str2;
-       DWORD_PTR dwData;
-       GetText(nSrcIndex, str1);
-       GetText(nDestIndex, str2);
-       dwData = GetItemData(nSrcIndex);
-       DeleteString(nSrcIndex);
-       if (nSrcIndex < nDestIndex)
-               nDestIndex--;
-       nDestIndex = InsertString(nDestIndex, str1);
-       SetItemData(nDestIndex, dwData);
-       SetCurSel(nDestIndex);
-
-       // Save new order of items to profile linklist
-       char theSection[REALM_SZ + 1];
-       const char*  adminServer[] = {"realms", theSection, ADMIN_SERVER, NULL};
-       const char* Section[] = {"realms", theSection, NULL};
-       const char** adminServ = adminServer;
-       const char** section = Section;
-       const char* valueSection[] = {"realms", theSection, "kdc", NULL};
-       const char** valueSec = valueSection;
-       CString theValue;
-       CHAR hostServer[MAX_HSTNM];
-
-       if (LB_ERR == m_pOtherListBox->GetText(m_pOtherListBox->GetCurSel(), theSection))
-      ASSERT(0);
-
-       long retval = pprofile_rename_section(CLeashApp::m_krbv5_profile,
-                                                                                  section, NULL);
-       if (retval)
-       {
-               MessageBox("Dropped::There is on error, profile will not be saved!!!\
-                   \nIf this error persist, contact your administrator.",
-                                  "Leash", MB_OK);
-               return;
-       }
-
-       retval = pprofile_add_relation(CLeashApp::m_krbv5_profile,
-                                                                   section, NULL);
-       if (retval)
-       {
-               MessageBox("Dropped::There is on error, profile will not be saved!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Leash", MB_OK);
-               return;
-       }
-
-       for (INT maxItems = GetCount(), item = 0; item < maxItems; item++)
-       {
-               GetText(item, hostServer);
-               //strcpy(hostServer, theValue);
-
-               if (strstr(hostServer, ADMIN_SERVER))
-               {
-                       char* pAdmin = strchr(hostServer, ' ');
-                       if (pAdmin)
-                         *pAdmin = 0;
-                       else
-                         ASSERT(0);
-
-                       retval = pprofile_add_relation(CLeashApp::m_krbv5_profile,
-                                                                                       adminServ, hostServer);
-                       if (retval)
-                       {
-                               MessageBox("Dropped::There is on error, profile will not be saved!!!\
-                           \nIf this error persist, contact your administrator.",
-                                                  "Leash", MB_OK);
-                               return;
-                       }
-               }
-
-               retval = pprofile_add_relation(CLeashApp::m_krbv5_profile,
-                                                                               valueSec, hostServer);
-               if (retval)
-               {
-                       MessageBox("Dropped::There is on error, profile will not be saved!!!\
-                       \nIf this error persist, contact your administrator.",
-                                          "Leash", MB_OK);
-                       return;
-               }
-       }
-
-       m_pPage->SetModified(TRUE);
-}
-
-void CLeashDragListBox::DrawInsert(int nIndex)
-{
-       if (m_nLast != nIndex)
-       {
-               DrawSingle(m_nLast);
-               DrawSingle(nIndex);
-               m_nLast = nIndex;
-       }
-}
-
-void CLeashDragListBox::DrawSingle(int nIndex)
-{
-       if (nIndex == -1)
-               return;
-       CBrush* pBrush = CDC::GetHalftoneBrush();
-       CRect rect;
-       GetClientRect(&rect);
-       CRgn rgn;
-       rgn.CreateRectRgnIndirect(&rect);
-
-       CDC* pDC = GetDC();
-       // prevent drawing outside of listbox
-       // this can happen at the top of the listbox since the listbox's DC is the
-       // parent's DC
-       pDC->SelectClipRgn(&rgn);
-
-       GetItemRect(nIndex, &rect);
-       rect.bottom = rect.top+2;
-       rect.top -= 2;
-       CBrush* pBrushOld = pDC->SelectObject(pBrush);
-       //draw main line
-       pDC->PatBlt(rect.left, rect.top, rect.Width(), rect.Height(), PATINVERT);
-
-       pDC->SelectObject(pBrushOld);
-       ReleaseDC(pDC);
-}
-
-/*
-BOOL CLeashDragListBox::OnChildNotify(UINT nMessage, WPARAM wParam, LPARAM lParam, LRESULT* pResult)
-{
-       if (nMessage != m_nMsgDragList)
-               return CListBox::OnChildNotify(nMessage, wParam, lParam, pResult);
-
-       ASSERT(pResult != NULL);
-       LPDRAGLISTINFO pInfo = (LPDRAGLISTINFO)lParam;
-       ASSERT(pInfo != NULL);
-       switch (pInfo->uNotification)
-       {
-       case DL_BEGINDRAG:
-               *pResult = BeginDrag(pInfo->ptCursor);
-               break;
-       case DL_CANCELDRAG:
-               CancelDrag(pInfo->ptCursor);
-               break;
-       case DL_DRAGGING:
-               *pResult = Dragging(pInfo->ptCursor);
-               break;
-       case DL_DROPPED:
-               Dropped(GetCurSel(), pInfo->ptCursor);
-               break;
-       }
-       return TRUE;
-}
-*/
diff --git a/src/windows/leash/CLeashDragListBox.h b/src/windows/leash/CLeashDragListBox.h
deleted file mode 100644 (file)
index 02179b2..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _LEASH_DRAGLISTBOX
-#define _LEASH_DRAGLISTBOX
-
-/////////////////////////////////////////////////////////////////////////////
-// CLeashDragListBox
-
-//#include "AFXCMN.h"
-
-class CLeashDragListBox : public CDragListBox
-{
-       //DECLARE_DYNAMIC(CDragListBoxCLeashDragListBox)
-
-       CListBox* m_pOtherListBox;
-       CPropertyPage* m_pPage;
-
-// Constructors
-public:
-       CLeashDragListBox();
-       void initOtherListbox(CPropertyPage* pPage, CListBox* pOtherListBox);
-
-// Attributes
-       //int ItemFromPt(CPoint pt, BOOL bAutoScroll = TRUE) const;
-
-// Operations
-       virtual void DrawInsert(int nItem);
-
-// Overridables
-       virtual BOOL BeginDrag(CPoint pt);
-       virtual void CancelDrag(CPoint pt);
-       virtual UINT Dragging(CPoint pt);
-       virtual void Dropped(int nSrcIndex, CPoint pt);
-
-// Implementation
-public:
-       int m_nLast;
-       void DrawSingle(int nIndex);
-       virtual void PreSubclassWindow();
-       virtual ~CLeashDragListBox();
-protected:
-       //virtual BOOL OnChildNotify(UINT, WPARAM, LPARAM, LRESULT*);
-};
-
-//class CLeashDragListBox;
-
-#endif // _LEASH_DRAGLISTBOX
diff --git a/src/windows/leash/Krb4EditDomainRealmList.cpp b/src/windows/leash/Krb4EditDomainRealmList.cpp
deleted file mode 100644 (file)
index 722718a..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-//     **************************************************************************************
-//     File:                   Krb4EditDomainRealmList.cpp
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    CPP file for Krb4EditDomainRealmList.h. Contains variables and functions
-//                                     for Kerberos Four Properites
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     12/02/98        ADL             Original
-//     **************************************************************************************
-
-
-#include "stdafx.h"
-#include "leash.h"
-#include "Krb4EditDomainRealmList.h"
-#include "lglobals.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrb4EditDomainRealmList dialog
-
-
-CKrb4EditDomainRealmList::CKrb4EditDomainRealmList(LPSTR editItem, CWnd* pParent)
-       : CDialog(CKrb4EditDomainRealmList::IDD, pParent)
-{
-    m_startup = TRUE;
-       m_editItem = _T("");
-
-       // Parse the passed in item
-       LPSTR pEditItem = editItem;
-       LPSTR findSpace = strchr(editItem, ' ');
-       if (findSpace)
-         *findSpace = 0;
-       else
-       {
-////@#+This hack doesn't seem right
-#ifndef NO_KRB4
-
-                LeashErrorBox("This is a defective entry in file",
-                                          CKrb4ConfigFileLocation::m_newKrbrealmFile);
-#endif
-                ASSERT(0);
-                m_initDomainHost = m_newDomainHost = editItem;
-                m_initRealm = m_newRealm = _T("");
-                return;
-       }
-
-       m_initDomainHost = m_newDomainHost = editItem;  // first token
-
-       pEditItem = strchr(editItem, '\0');
-       if (pEditItem)
-       {
-               pEditItem++;
-               findSpace++;
-       }
-       else
-         ASSERT(0);
-
-       findSpace = strchr(pEditItem, ' ');
-       if (findSpace)
-       {
-               *findSpace = 0;
-       }
-
-       m_initRealm = m_newRealm = pEditItem; // second token
-
-       //{{AFX_DATA_INIT(CKrb4EditDomainRealmList)
-               // NOTE: the ClassWizard will add member initialization here
-       //}}AFX_DATA_INIT
-}
-
-void CKrb4EditDomainRealmList::DoDataExchange(CDataExchange* pDX)
-{
-       CDialog::DoDataExchange(pDX);
-       //{{AFX_DATA_MAP(CKrb4EditDomainRealmList)
-               // NOTE: the ClassWizard will add DDX and DDV calls here
-       //}}AFX_DATA_MAP
-}
-
-
-BEGIN_MESSAGE_MAP(CKrb4EditDomainRealmList, CDialog)
-       //{{AFX_MSG_MAP(CKrb4EditDomainRealmList)
-       ON_WM_SHOWWINDOW()
-       ON_EN_CHANGE(IDC_EDIT_REALMNAME, OnChangeEditDefaultRealm)
-       ON_EN_CHANGE(IDC_EDIT_DOMAINHOST, OnChangeEditRealmHostname)
-       //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrb4EditDomainRealmList message handlers
-
-
-void CKrb4EditDomainRealmList::OnShowWindow(BOOL bShow, UINT nStatus)
-{
-       CDialog::OnShowWindow(bShow, nStatus);
-       m_startup = FALSE;
-}
-
-BOOL CKrb4EditDomainRealmList::OnInitDialog()
-{
-       CDialog::OnInitDialog();
-
-       SetDlgItemText(IDC_EDIT_REALMNAME, m_newRealm);
-       SetDlgItemText(IDC_EDIT_DOMAINHOST, m_newDomainHost);
-
-       return TRUE;
-}
-
-void CKrb4EditDomainRealmList::OnChangeEditDefaultRealm()
-{
-       if (!m_startup)
-         GetDlgItemText(IDC_EDIT_REALMNAME, m_newRealm);
-}
-
-void CKrb4EditDomainRealmList::OnChangeEditRealmHostname()
-{
-       if (!m_startup)
-         GetDlgItemText(IDC_EDIT_DOMAINHOST, m_newDomainHost);
-}
-
-void CKrb4EditDomainRealmList::OnOK()
-{
-       m_newRealm.TrimLeft();
-       m_newRealm.TrimRight();
-       m_newDomainHost.TrimLeft();
-       m_newDomainHost.TrimRight();
-
-       if (m_newRealm.IsEmpty() || m_newDomainHost.IsEmpty())
-       { // stay
-               MessageBox("OnOK::Both Domain-Host and Realm fields must be filled in!",
-                    "Leash", MB_OK);
-       }
-       else if (-1 != m_newRealm.Find(' ') || -1 != m_newDomainHost.Find(' '))
-       { // stay
-               MessageBox("OnOK::Illegal space found!", "Leash", MB_OK);
-       }
-
-       else
-         CDialog::OnOK(); // exit
-
-       m_editItem = m_newDomainHost + " " + m_newRealm;
-}
diff --git a/src/windows/leash/Krb4EditDomainRealmList.h b/src/windows/leash/Krb4EditDomainRealmList.h
deleted file mode 100644 (file)
index 9f8a18f..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-//     **************************************************************************************
-//     File:                   Krb4EditDomainRealmList.h
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    H file for Krb4EditDomainRealmList.cpp. Contains variables and functions
-//                                     for Kerberos Four Properites
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     12/02/98        ADL             Original
-//     **************************************************************************************
-
-
-#if !defined(AFX_KRB4EDITDOMAINREALMLIST_H__F4D41684_96A4_11D2_94E2_0000861B8A3C__INCLUDED_)
-#define AFX_KRB4EDITDOMAINREALMLIST_H__F4D41684_96A4_11D2_94E2_0000861B8A3C__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-// CKrb4EditDomainRealmList.h : header file
-//
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrb4EditDomainRealmList dialog
-
-class CKrb4EditDomainRealmList : public CDialog
-{
-// Construction
-private:
-       CString m_editItem;
-       CString m_initRealm;
-       CString m_newRealm;
-       CString m_initDomainHost;
-       CString m_newDomainHost;
-       BOOL m_startup;
-
-
-public:
-       CKrb4EditDomainRealmList(LPSTR editItem, CWnd* pParent = NULL);
-       CString GetEditedItem() {return m_editItem;}
-       CString GetRealm() {return m_newRealm;}
-       CString GetDomainHost() {return m_newDomainHost;}
-
-// Dialog Data
-       //{{AFX_DATA(CKrb4EditDomainRealmList)
-       enum { IDD = IDD_KRB4_EDIT_DOMAINREALMNAME };
-               // NOTE: the ClassWizard will add data members here
-       //}}AFX_DATA
-
-
-// Overrides
-       // ClassWizard generated virtual function overrides
-       //{{AFX_VIRTUAL(CKrb4EditDomainRealmList)
-       protected:
-       virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
-       //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
-       // Generated message map functions
-       //{{AFX_MSG(CKrb4EditDomainRealmList)
-       afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
-       virtual BOOL OnInitDialog();
-       afx_msg void OnChangeEditDefaultRealm();
-       afx_msg void OnChangeEditRealmHostname();
-       virtual void OnOK();
-       //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_KRB4EDITDOMAINREALMLIST_H__F4D41684_96A4_11D2_94E2_0000861B8A3C__INCLUDED_)
diff --git a/src/windows/leash/Krb5Properties.cpp b/src/windows/leash/Krb5Properties.cpp
deleted file mode 100644 (file)
index c4ffef2..0000000
+++ /dev/null
@@ -1,644 +0,0 @@
-//****************************************************************************
-// File:       Krb5Properties.cpp
-// By:         Arthur David Leather
-// Created:    12/02/98
-// Copyright:  1998 Massachusetts Institute of Technology - All rights
-//             reserved.
-// Description:        CPP file for Krb5Properties.h. Contains variables and functions
-//             for Kerberos Five Properties
-//
-// History:
-//
-// MM/DD/YY    Inits   Description of Change
-// 12/02/98    ADL     Original
-//*****************************************************************************
-
-#include "stdafx.h"
-#include "leash.h"
-#include "LeashFileDialog.h"
-#include "Krb5Properties.h"
-#include "win-mac.h"
-#include "lglobals.h"
-#include "LeashView.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrb5ConfigFileLocation dialog
-
-IMPLEMENT_DYNCREATE(CKrb5ConfigFileLocation, CPropertyPage)
-
-CKrb5ConfigFileLocation::CKrb5ConfigFileLocation()
-    : CPropertyPage(CKrb5ConfigFileLocation::IDD)
-{
-    m_initConfigFile = _T("");
-    m_initTicketFile = _T("");
-    m_newConfigFile = _T("");
-    m_newTicketFile = _T("");
-    m_startupPage1 = TRUE;
-
-    //{{AFX_DATA_INIT(CKrb5ConfigFileLocation)
-    //}}AFX_DATA_INIT
-}
-
-void CKrb5ConfigFileLocation::DoDataExchange(CDataExchange* pDX)
-{
-    CDialog::DoDataExchange(pDX);
-    //{{AFX_DATA_MAP(CKrb5ConfigFileLocation)
-    DDX_Control(pDX, IDC_EDIT_KRB5_TXT_FILE, m_ticketEditBox);
-    //}}AFX_DATA_MAP
-}
-
-BEGIN_MESSAGE_MAP(CKrb5ConfigFileLocation, CDialog)
-    //{{AFX_MSG_MAP(CKrb5ConfigFileLocation)
-    ON_BN_CLICKED(IDC_BUTTON_KRB5INI_BROWSE, OnButtonKrb5iniBrowse)
-    ON_BN_CLICKED(IDC_BUTTON_KRB5_TICKETFILE_BROWSE, OnButtonKrb5TicketfileBrowse)
-    ON_EN_CHANGE(IDC_EDIT_KRB5_TXT_FILE, OnChangeEditKrb5TxtFile)
-    ON_EN_CHANGE(IDC_EDIT_KRB5INI_LOCATION, OnChangeEditKrb5iniLocation)
-    ON_WM_SHOWWINDOW()
-    //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-
-BOOL CKrb5ConfigFileLocation::OnApply()
-{
-    BOOL tooManySlashes = FALSE;
-    BOOL foundError = FALSE;
-
-    if( getenv("RENEW_TILL") !=  NULL)
-    {
-        MessageBox("The ticket renewable time is being controlled by the environment"
-                   "variable RENEW_TILL instead of the registry. Leash cannot modify"
-                   "the environment. Use the System control panel instead.",
-                    "Leash", MB_OK);
-        return(FALSE);
-    }
-
-    if( getenv("RENEWABLE") !=  NULL)
-    {
-        MessageBox("Ticket renewability is being controlled by the environment"
-                   "variable RENEWABLE instead of the registry. Leash cannot modify"
-                   "the environment. Use the System control panel instead.",
-                    "Leash", MB_OK);
-        return(FALSE);
-    }
-
-    if( getenv("FORWARDABLE") !=  NULL)
-    {
-        MessageBox("Ticket forwarding is being controlled by the environment"
-                   "variable FORWARDABLE instead of the registry. Leash cannot modify"
-                   "the environment. Use the System control panel instead.",
-                    "Leash", MB_OK);
-        return(FALSE);
-    }
-
-    if( getenv("PROXIABLE") !=  NULL)
-    {
-        MessageBox("Ticket proxying is being controlled by the environment"
-                   "variable PROXIABLE instead of the registry. Leash cannot modify"
-                   "the environment. Use the System control panel instead.",
-                    "Leash", MB_OK);
-        return(FALSE);
-    }
-
-    if( getenv("NOADDRESSES") !=  NULL)
-    {
-        MessageBox("Addressless tickets are being controlled by the environment"
-                   "variable NOADDRESSES instead of the registry. Leash cannot modify"
-                   "the environment. Use the System control panel instead.",
-                    "Leash", MB_OK);
-        return(FALSE);
-    }
-
-
-    // KRB5.INI file
-    if (!CLeashApp::m_krbv5_profile ||
-       0 != m_newConfigFile.CompareNoCase(m_initConfigFile))
-    { // Different path for Krb5.ini
-
-        if (IsDlgButtonChecked(IDC_CHECK_CONFIRM_KRB5_EXISTS))
-        {
-            // Check for extra slashes at end of path
-            LPSTR pSlash = strrchr(m_newConfigFile.GetBuffer(0), '\\');
-            if (pSlash && *(pSlash - 1) == '\\')
-            { // don't commit changes
-                tooManySlashes = TRUE;
-            }
-            else if (pSlash && *(pSlash + 1) == '\0')
-            { // commit changes, but take out slash at the end of path
-                *pSlash = 0;
-            }
-
-            m_newConfigFile.ReleaseBuffer(-1);
-
-            // Check for invalid path
-            Directory directory(m_newConfigFile);
-            if (tooManySlashes || !directory.IsValidFile())
-            { // don't commit changes
-                foundError = TRUE;
-
-                if (tooManySlashes)
-                    LeashErrorBox("OnApply::Too Many Slashes At End of "
-                                  "Selected Directory",
-                                  m_newConfigFile);
-                else
-                    LeashErrorBox("OnApply::Selected file doesn't exist",
-                                  m_newConfigFile);
-
-                SetDlgItemText(IDC_EDIT_KRB5INI_LOCATION, m_initConfigFile);
-            }
-            else
-            {
-                // more error checking
-                CHAR confname[MAX_PATH];
-
-                const char *filenames[2];
-                filenames[0] = m_newConfigFile;
-                filenames[1] = NULL;
-
-                const char*  rootSection[] = {"realms", NULL};
-                const char** rootsec = rootSection;
-                char **sections = NULL;
-
-                long retval = pprofile_init(filenames, &CLeashApp::m_krbv5_profile);
-                if (!retval)
-                    retval = pprofile_get_subsection_names(CLeashApp::m_krbv5_profile,
-                                                           rootsec, &sections
-                                                           );
-                if (retval || !*sections )
-                {
-                    foundError = TRUE;
-                    MessageBox("Your file selection is either corrupt or not a Kerberos Five Config. file",
-                               "Leash", MB_OK);
-
-                    pprofile_free_list(sections);
-
-                    // Restore old 'valid' config. file
-                    if (CLeashApp::GetProfileFile(confname, sizeof(confname)))
-                    {
-                        foundError = TRUE;
-                        MessageBox("Can't locate Kerberos Five Config. file!",
-                                   "Error", MB_OK);
-                        return TRUE;
-                    }
-
-                    filenames[0] = confname;
-                    filenames[1] = NULL;
-
-                    retval = pprofile_init(filenames, &CLeashApp::m_krbv5_profile);
-                    if (!retval)
-                        retval = pprofile_get_subsection_names(CLeashApp::m_krbv5_profile,
-                                                               rootsec, &sections);
-                    if (retval || !*sections)
-                    {
-                        foundError = TRUE;
-                        MessageBox("OnApply::There is a problem with your "
-                                   "Kerberos Five Config. file!\n"
-                                   "Contact your Administrator.",
-                                   "Leash", MB_OK);
-                    }
-
-                    pprofile_free_list(sections);
-                    SetDlgItemText(IDC_EDIT_KRB5INI_LOCATION, m_initConfigFile);
-
-                    pprofile_release(CLeashApp::m_krbv5_profile);
-                    return TRUE;
-                }
-
-                pprofile_free_list(sections);
-           }
-        }
-
-        // Commit changes
-        if (!foundError)
-        {
-            if (SetRegistryVariable("config", m_newConfigFile,
-                                    "Software\\MIT\\Kerberos5"))
-            {
-                MessageBox("Failed to set \"Krb.conf\"!", "Error", MB_OK);
-            }
-
-            m_initConfigFile = m_newConfigFile;
-            SetModified(TRUE);
-        }
-    }
-
-    // Credential cache (ticket) file
-    // Ticket file
-    if (0 != m_initTicketFile.CompareNoCase(m_newTicketFile))
-    {
-        if (getenv("KRB5_ENV_CCNAME"))
-        {
-            // Just in case they set (somehow) KRB5_ENV_CCNAME while this box is up
-            MessageBox("OnApply::Ticket file is set in your System's"
-                       "Environment!\nYou must first remove it.",
-                       "Error", MB_OK);
-
-            return TRUE;
-        }
-
-        // Commit changes
-        if (SetRegistryVariable("ccname", m_newTicketFile,
-                                "Software\\MIT\\Kerberos5"))
-        {
-            MessageBox("Failed to set \"ccname\"!", "Error", MB_OK);
-        }
-        if ( CLeashApp::m_krbv5_context )
-            pkrb5_cc_set_default_name(CLeashApp::m_krbv5_context,m_newTicketFile);
-
-        m_initTicketFile = m_newTicketFile;
-    }
-
-    return TRUE;
-}
-
-
-BOOL CKrb5ConfigFileLocation::OnInitDialog()
-{
-    CDialog::OnInitDialog();
-
-    CHAR confname[MAX_PATH];
-    CHAR ticketName[MAX_PATH];
-
-    CheckDlgButton(IDC_CHECK_CONFIRM_KRB5_EXISTS, TRUE);
-
-    // Config. file (Krb5.ini)
-    if (CLeashApp::GetProfileFile(confname, sizeof(confname)))
-    {
-        MessageBox("Can't locate Kerberos Five config. file!", "Error", MB_OK);
-        return TRUE;
-    }
-
-    m_initConfigFile = m_newConfigFile = confname;
-    SetDlgItemText(IDC_EDIT_KRB5INI_LOCATION, m_initConfigFile);
-
-    if (pLeash_get_lock_file_locations() || getenv("KRB5_CONFIG"))
-    {
-        GetDlgItem(IDC_EDIT_KRB5INI_LOCATION)->EnableWindow(FALSE);
-        GetDlgItem(IDC_BUTTON_KRB5INI_BROWSE)->EnableWindow(FALSE);
-        GetDlgItem(IDC_CHECK_CONFIRM_KRB5_EXISTS)->EnableWindow(FALSE);
-    }
-    else if ( !(getenv("KRB5_CONFIG")) )
-    {
-        GetDlgItem(IDC_STATIC_INIFILES)->ShowWindow(FALSE);
-    }
-
-
-    // Set TICKET.KRB file Editbox
-    *ticketName = NULL;
-    if (CLeashApp::m_krbv5_context)
-    {
-        const char *pticketName = pkrb5_cc_default_name(CLeashApp::m_krbv5_context);
-
-        if (pticketName)
-            strcpy(ticketName, pticketName);
-    }
-
-    if (!*ticketName)
-    {
-        MessageBox("OnInitDialog::Can't locate Kerberos Five ticket file!",
-                   "Error", MB_OK);
-        return TRUE;
-    }
-    else
-    {
-        m_initTicketFile = m_newTicketFile = ticketName;
-        SetDlgItemText(IDC_EDIT_KRB5_TXT_FILE, m_initTicketFile);
-    }
-
-    if (getenv("KRB5CCNAME"))
-        GetDlgItem(IDC_EDIT_KRB5_TXT_FILE)->EnableWindow(FALSE);
-    else
-        GetDlgItem(IDC_STATIC_TICKETFILE)->ShowWindow(FALSE);
-
-    return TRUE;
-}
-
-void CKrb5ConfigFileLocation::OnButtonKrb5iniBrowse()
-{
-    CLeashFileDialog dlgFile(TRUE, NULL, "*.*",
-                             "Kerbereos Five Config. File (.ini)");
-    dlgFile.m_ofn.lpstrTitle = "Select the Kerberos Five Config. File";
-    while (TRUE)
-    {
-        if (IDOK == dlgFile.DoModal())
-        {
-            m_newConfigFile = dlgFile.GetPathName();
-            SetDlgItemText(IDC_EDIT_KRB5INI_LOCATION, m_newConfigFile);
-            break;
-        }
-        else
-            break;
-    }
-}
-
-void CKrb5ConfigFileLocation::OnButtonKrb5TicketfileBrowse()
-{
-    CString ticket_path = "*.*";
-    CLeashFileDialog dlgFile(TRUE, NULL, ticket_path,
-                             "Kerbereos Five Ticket File (Krb5cc)");
-    dlgFile.m_ofn.lpstrTitle = "Select Credential Cache (Ticket) File";
-
-    if (IDOK == dlgFile.DoModal())
-    {
-        m_newTicketFile = dlgFile.GetPathName();
-        SetDlgItemText(IDC_EDIT_KRB5_TXT_FILE, m_newTicketFile);
-    }
-}
-
-void CKrb5ConfigFileLocation::OnChangeEditKrb5iniLocation()
-{
-    if (!m_startupPage1)
-    {
-        GetDlgItemText(IDC_EDIT_KRB5INI_LOCATION, m_newConfigFile);
-        SetModified(TRUE);
-    }
-}
-
-void CKrb5ConfigFileLocation::OnChangeEditKrb5TxtFile()
-{
-    if (!m_startupPage1)
-    {
-        GetDlgItemText(IDC_EDIT_KRB5_TXT_FILE, m_newTicketFile);
-        SetModified(TRUE);
-    }
-}
-
-void CKrb5ConfigFileLocation::OnShowWindow(BOOL bShow, UINT nStatus)
-{
-    CDialog::OnShowWindow(bShow, nStatus);
-    m_startupPage1 = FALSE;
-}
-
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrb5ConfigOptions dialog
-
-IMPLEMENT_DYNCREATE(CKrb5ConfigOptions, CPropertyPage)
-
-CKrb5ConfigOptions::CKrb5ConfigOptions()
-       : CPropertyPage(CKrb5ConfigOptions::IDD)
-{
-    m_initForwardable = 0;
-    m_newForwardable = 0;
-    m_initProxiable = 0;
-    m_newProxiable = 0;
-    m_initRenewable = 0;
-    m_newRenewable = 0;
-    m_initNoAddress = 0;
-    m_newNoAddress = 0;
-    m_initIPAddress = 0;
-#ifdef SET_PUBLIC_IP
-    m_newIPAddress = 0;
-#endif /* SET_PUBLIC_IP */
-
-    //{{AFX_DATA_INIT(CKrb5ConfigOptions)
-    // NOTE: the ClassWizard will add member initialization here
-    //}}AFX_DATA_INIT
-}
-
-
-void CKrb5ConfigOptions::DoDataExchange(CDataExchange* pDX)
-{
-    CDialog::DoDataExchange(pDX);
-
-    //{{AFX_DATA_MAP(CKrb5ConfigOptions)
-    // NOTE: the ClassWizard will add DDX and DDV calls here
-    //}}AFX_DATA_MAP
-}
-
-
-BEGIN_MESSAGE_MAP(CKrb5ConfigOptions, CDialog)
-    //{{AFX_MSG_MAP(CKrb5ConfigOptions)
-    ON_BN_CLICKED(IDC_CHECK_FORWARDABLE, OnCheckForwardable)
-    ON_BN_CLICKED(IDC_CHECK_PROXIABLE, OnCheckProxiable)
-    ON_BN_CLICKED(IDC_CHECK_RENEWABLE, OnCheckRenewable)
-    ON_BN_CLICKED(IDC_CHECK_NO_ADDRESS, OnCheckNoAddress)
-    ON_WM_HELPINFO()
-    //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-
-BOOL CKrb5ConfigOptions::OnApply()
-{
-#ifdef SET_PUBLIC_IP
-    SendDlgItemMessage( IDC_IPADDRESS_PUBLIC,
-                        IPM_GETADDRESS,
-                        0,
-                        (LPARAM)(LPDWORD)&m_newIPAddress
-                      );
-#endif /* SET_PUBLIC_IP */
-
-    if ((m_initForwardable == m_newForwardable) &&
-        (m_initProxiable == m_newProxiable) &&
-        (m_initRenewable == m_newRenewable) &&
-        (m_initNoAddress == m_newNoAddress)
-#ifdef SET_PUBLIC_IP
-         && (m_initIPAddress == m_newIPAddress)
-#endif /* SET_PUBLIC_IP */
-         )
-        return TRUE;
-
-    CWinApp *pApp = NULL;
-    pApp = AfxGetApp();
-    if (!pApp)
-    {
-        MessageBox("There is a problem finding Leash application "
-                   "information!",
-                   "Error", MB_OK);
-        return FALSE;
-    }
-
-    if ( m_newNoAddress == FALSE ) {
-        CHAR confname[MAX_PATH];
-        if (!CLeashApp::GetProfileFile(confname, sizeof(confname)))
-        {
-            const char *filenames[2];
-            char *value=NULL;
-            long retval, noaddresses = 1;
-            filenames[0] = confname;
-            filenames[1] = NULL;
-            retval = pprofile_init(filenames, &CLeashApp::m_krbv5_profile);
-            if (!retval) {
-                retval = pprofile_get_string(CLeashApp::m_krbv5_profile, "libdefaults","noaddresses", 0, "true", &value);
-                if ( value ) {
-                    noaddresses = config_boolean_to_int(value);
-                    pprofile_release_string(value);
-                }
-                pprofile_release(CLeashApp::m_krbv5_profile);
-            }
-
-            if ( noaddresses )
-            {
-                MessageBox("The No Addresses setting cannot be disabled unless the setting\n"
-                           "    noaddresses=false\n"
-                           "is added to the [libdefaults] section of the KRB5.INI file.",
-                            "Error", MB_OK);
-                return FALSE;
-
-            }
-        }
-    }
-
-    pLeash_set_default_forwardable(m_newForwardable);
-    pLeash_set_default_proxiable(m_newProxiable);
-    pLeash_set_default_renewable(m_newRenewable);
-    pLeash_set_default_noaddresses(m_newNoAddress);
-#ifdef SET_PUBLIC_IP
-    pLeash_set_default_publicip(m_newIPAddress);
-#endif /* SET_PUBLIC_IP */
-
-    CLeashView::m_forwardableTicket = m_initForwardable = m_newForwardable;
-    CLeashView::m_proxiableTicket = m_initProxiable = m_newProxiable;
-    CLeashView::m_renewableTicket = m_initRenewable = m_newRenewable;
-    CLeashView::m_noaddressTicket = m_initNoAddress = m_newNoAddress;
-#ifdef SET_PUBLIC_IP
-    CLeashView::m_publicIPAddress = m_initIPAddress = m_newIPAddress;
-#endif /* SET_PUBLIC_IP */
-    return TRUE;
-}
-
-BOOL CKrb5ConfigOptions::OnInitDialog()
-{
-    CDialog::OnInitDialog();
-
-    CWinApp *pApp = NULL;
-    pApp = AfxGetApp();
-    if (!pApp)
-    {
-        MessageBox("There is a problem finding Leash application "
-                   "information!",
-                   "Error", MB_OK);
-    }
-    else
-    {
-        m_initForwardable = pLeash_get_default_forwardable();
-        m_initProxiable = pLeash_get_default_proxiable();
-        m_initRenewable = pLeash_get_default_renewable();
-        m_initNoAddress = pLeash_get_default_noaddresses();
-        m_initIPAddress = pLeash_get_default_publicip();
-    }
-
-    CheckDlgButton(IDC_CHECK_FORWARDABLE, m_initForwardable);
-    m_newForwardable = m_initForwardable;
-
-    CheckDlgButton(IDC_CHECK_PROXIABLE, m_initProxiable);
-    m_newProxiable = m_initProxiable;
-
-    CheckDlgButton(IDC_CHECK_RENEWABLE, m_initRenewable);
-    m_newRenewable = m_initRenewable;
-
-    CheckDlgButton(IDC_CHECK_NO_ADDRESS, m_initNoAddress);
-    m_newNoAddress = m_initNoAddress;
-
-    if ( m_initNoAddress ) {
-        // Disable the control - jaltman
-
-        SendDlgItemMessage( IDC_IPADDRESS_PUBLIC,
-                            IPM_CLEARADDRESS,
-                            0,
-                            0
-                            );
-    }
-    else {
-        SendDlgItemMessage( IDC_IPADDRESS_PUBLIC,
-                            IPM_SETADDRESS,
-                            0,
-                            (LPARAM)m_initIPAddress
-                            );
-    }
-#ifdef SET_PUBLIC_IP
-    m_newIPAddress = m_initIPAddress;
-#endif /* SET_PUBLIC_IP */
-
-    return TRUE;  // return TRUE unless you set the focus to a control
-                  // EXCEPTION: OCX Property Pages should return FALSE
-}
-
-void CKrb5ConfigOptions::OnCheckForwardable()
-{
-    m_newForwardable = (BOOL)IsDlgButtonChecked(IDC_CHECK_FORWARDABLE);
-    SetModified(TRUE);
-}
-
-void CKrb5ConfigOptions::OnCheckProxiable()
-{
-    m_newProxiable = (BOOL)IsDlgButtonChecked(IDC_CHECK_PROXIABLE);
-    SetModified(TRUE);
-}
-
-void CKrb5ConfigOptions::OnCheckRenewable()
-{
-    m_newRenewable = (BOOL)IsDlgButtonChecked(IDC_CHECK_RENEWABLE);
-    SetModified(TRUE);
-}
-
-void CKrb5ConfigOptions::OnCheckNoAddress()
-{
-    m_newNoAddress = (BOOL)IsDlgButtonChecked(IDC_CHECK_NO_ADDRESS);
-    SetModified(TRUE);
-
-    if ( m_newNoAddress ) {
-        // Disable the control - jaltman
-
-        SendDlgItemMessage( IDC_IPADDRESS_PUBLIC,
-                            IPM_CLEARADDRESS,
-                            0,
-                            0
-                            );
-    } else {
-        // Enable the IP Address Control - jaltman
-
-        SendDlgItemMessage( IDC_IPADDRESS_PUBLIC,
-                            IPM_SETADDRESS,
-                            0,
-                            (LPARAM)m_initIPAddress
-                            );
-    }
-}
-
-///////////////////////////////////////////////////////////////////////
-// CKrb5Properties
-
-IMPLEMENT_DYNAMIC(CKrb5Properties, CPropertySheet)
-
-CKrb5Properties::CKrb5Properties(UINT nIDCaption, CWnd* pParentWnd,
-                                 UINT iSelectPage)
-    :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
-{
-}
-
-CKrb5Properties::CKrb5Properties(LPCTSTR pszCaption, CWnd* pParentWnd,
-                                 UINT iSelectPage)
-    :CPropertySheet(pszCaption, pParentWnd, iSelectPage)
-{
-    AddPage(&m_fileLocation);
-    AddPage(&m_configOptions);
-}
-
-CKrb5Properties::~CKrb5Properties()
-{
-}
-
-void CKrb5Properties::OnHelp()
-{
-#ifdef CALL_HTMLHELP
-    AfxGetApp()->HtmlHelp(HID_KRB5_PROPERTIES_COMMAND);
-#else
-    AfxGetApp()->WinHelp(HID_KRB5_PROPERTIES_COMMAND);
-#endif
-}
-
-
-
-BEGIN_MESSAGE_MAP(CKrb5Properties, CPropertySheet)
-    //{{AFX_MSG_MAP(CKrb5Properties)
-    // NOTE - the ClassWizard will add and remove mapping macros here.
-    ON_COMMAND(ID_HELP, OnHelp)
-    //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
diff --git a/src/windows/leash/Krb5Properties.h b/src/windows/leash/Krb5Properties.h
deleted file mode 100644 (file)
index c091ddd..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-//     **************************************************************************************
-//     File:                   Krb5Properties.h
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    H file for Krb5Properties.cpp. Contains variables and functions
-//                                     for Kerberos Five Properties
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     12/02/98        ADL             Original
-//     **************************************************************************************
-
-
-#if !defined(AFX_KRB5PROPERTIES_H__9011A0B3_6E92_11D2_9454_0000861B8A3C__INCLUDED_)
-#define AFX_KRB5PROPERTIES_H__9011A0B3_6E92_11D2_9454_0000861B8A3C__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-// Krb5Properties.h : header file
-//
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrb5ConfigOptions dialog
-
-class CKrb5ConfigFileLocation : public CPropertyPage
-{
-// Construction
-private:
-       DECLARE_DYNCREATE(CKrb5ConfigFileLocation)
-       CString m_initConfigFile;
-       CString m_initTicketFile;
-       CString m_newConfigFile;
-       CString m_newTicketFile;
-       BOOL m_startupPage1;
-
-public:
-       CKrb5ConfigFileLocation();   // standard constructor
-
-// Dialog Data
-       //{{AFX_DATA(CKrb5ConfigFileLocation)
-       enum { IDD = IDD_KRB5_PROP_LOCATION };
-       CEdit   m_ticketEditBox;
-       //}}AFX_DATA
-
-
-// Overrides
-       // ClassWizard generated virtual function overrides
-       //{{AFX_VIRTUAL(CKrb5ConfigFileLocation)
-       public:
-       protected:
-       virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
-       //}}AFX_VIRTUAL
-
-       virtual BOOL OnApply();
-
- // Implementation
-protected:
-
-       // Generated message map functions
-       //{{AFX_MSG(CKrb5ConfigFileLocation)
-       virtual BOOL OnInitDialog();
-       afx_msg void OnButtonKrb5iniBrowse();
-       afx_msg void OnButtonKrb5TicketfileBrowse();
-       afx_msg void OnChangeEditKrb5TxtFile();
-       afx_msg void OnChangeEditKrb5iniLocation();
-       afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
-       //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-};
-
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrb5ConfigOptions dialog
-
-class CKrb5ConfigOptions : public CPropertyPage
-{
-// Construction
-private:
-       DECLARE_DYNCREATE(CKrb5ConfigOptions)
-       INT m_initForwardable;
-       INT m_newForwardable;
-       INT m_initProxiable;
-       INT m_newProxiable;
-       INT m_initRenewable;
-       INT m_newRenewable;
-       INT m_initNoAddress;
-       INT m_newNoAddress;
-    DWORD m_initIPAddress;
-#ifdef SET_PUBLIC_IP
-    DWORD m_newIPAddress;
-#endif /* SET_PUBLIC_IP */
-
-public:
-       CKrb5ConfigOptions();   // standard constructor
-
-// Dialog Data
-       //{{AFX_DATA(CKrb5ConfigOptions)
-       enum { IDD = IDD_KRB5_PROP_CONTENT };
-       //}}AFX_DATA
-
-
-// Overrides
-       // ClassWizard generated virtual function overrides
-       //{{AFX_VIRTUAL(CKrb5ConfigOptions)
-       protected:
-       virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
-       //}}AFX_VIRTUAL
-
-       virtual BOOL OnApply();
-
-// Implementation
-protected:
-
-       // Generated message map functions
-       //{{AFX_MSG(CKrb5ConfigOptions)
-       virtual BOOL OnInitDialog();
-       afx_msg void OnCheckForwardable();
-       afx_msg void OnCheckProxiable();
-       afx_msg void OnCheckRenewable();
-       afx_msg void OnCheckNoAddress();
-       //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-};
-
-class CKrb5Properties : public CPropertySheet
-{
-private:
-       DECLARE_DYNAMIC(CKrb5Properties)
-
-public:
-       CKrb5ConfigFileLocation m_fileLocation;
-       CKrb5ConfigOptions m_configOptions;
-
-// Construction
-public:
-       CKrb5Properties(UINT nIDCaption, CWnd* pParentWnd = NULL,
-                  UINT iSelectPage = 0);
-       CKrb5Properties(LPCTSTR pszCaption, CWnd* pParentWnd = NULL,
-                  UINT iSelectPage = 0);
-
-// Attributes
-public:
-
-// Operations
-public:
-
-// Overrides
-       // ClassWizard generated virtual function overrides
-       //{{AFX_VIRTUAL(CKrb5Properties)
-       //}}AFX_VIRTUAL
-
-// Implementation
-public:
-       virtual ~CKrb5Properties();
-
-       // Generated message map functions
-protected:
-       //{{AFX_MSG(CKrb5Properties)
-               // NOTE - the ClassWizard will add and remove member functions here.
-    afx_msg void OnHelp();
-    //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-};
-
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_KRB5PROPERTIES_H__9011A0B3_6E92_11D2_9454_0000861B8A3C__INCLUDED_)
diff --git a/src/windows/leash/KrbAddHostServer.cpp b/src/windows/leash/KrbAddHostServer.cpp
deleted file mode 100644 (file)
index fc53e41..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-// KrbAddHostServer.cpp : implementation file
-//
-
-#include "stdafx.h"
-#include "leash.h"
-#include "KrbAddHostServer.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbAddHostServer dialog
-
-
-CKrbAddHostServer::CKrbAddHostServer(CWnd* pParent /*=NULL*/)
-       : CDialog(CKrbAddHostServer::IDD, pParent)
-{
-       m_newHost = _T("");
-       m_startup = TRUE;
-
-       //{{AFX_DATA_INIT(CKrbAddHostServer)
-               // NOTE: the ClassWizard will add member initialization here
-       //}}AFX_DATA_INIT
-}
-
-
-void CKrbAddHostServer::DoDataExchange(CDataExchange* pDX)
-{
-       CDialog::DoDataExchange(pDX);
-       //{{AFX_DATA_MAP(CKrbAddHostServer)
-               // NOTE: the ClassWizard will add DDX and DDV calls here
-       //}}AFX_DATA_MAP
-}
-
-
-BEGIN_MESSAGE_MAP(CKrbAddHostServer, CDialog)
-       //{{AFX_MSG_MAP(CKrbAddHostServer)
-       ON_EN_CHANGE(IDC_EDIT_KDC_HOST, OnChangeEditKdcHost)
-       ON_WM_SHOWWINDOW()
-       //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbAddHostServer message handlers
-
-void CKrbAddHostServer::OnOK()
-{
-       m_newHost.TrimLeft();
-       m_newHost.TrimRight();
-
-       if (m_newHost.IsEmpty())
-       { // stay
-               MessageBox("OnOK:: Server Hosting a KDC must be filled in!",
-                    "Error", MB_OK);
-       }
-       else if (-1 != m_newHost.Find(' '))
-       { // stay
-               MessageBox("OnOK::Illegal space found!", "Error", MB_OK);
-       }
-       else
-         CDialog::OnOK(); // exit
-}
-
-void CKrbAddHostServer::OnChangeEditKdcHost()
-{
-       if (!m_startup)
-         GetDlgItemText(IDC_EDIT_KDC_HOST, m_newHost);
-}
-
-void CKrbAddHostServer::OnShowWindow(BOOL bShow, UINT nStatus)
-{
-       CDialog::OnShowWindow(bShow, nStatus);
-       m_startup = FALSE;
-}
diff --git a/src/windows/leash/KrbAddHostServer.h b/src/windows/leash/KrbAddHostServer.h
deleted file mode 100644 (file)
index 989d388..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#if !defined(AFX_KRBADDHOSTSERVER_H__1B6B6ED8_D26D_11D2_95AF_0000861B8A3C__INCLUDED_)
-#define AFX_KRBADDHOSTSERVER_H__1B6B6ED8_D26D_11D2_95AF_0000861B8A3C__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-// KrbAddHostServer.h : header file
-//
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbAddHostServer dialog
-
-class CKrbAddHostServer : public CDialog
-{
-// Construction
-       CString m_newHost;
-       BOOL m_startup;
-
-public:
-       CKrbAddHostServer(CWnd* pParent = NULL);   // standard constructor
-       CString GetNewHost() {return m_newHost;}
-
-
-// Dialog Data
-       //{{AFX_DATA(CKrbAddHostServer)
-       enum { IDD = IDD_KRB_ADD_KDC_HOSTSERVER};
-               // NOTE: the ClassWizard will add data members here
-       //}}AFX_DATA
-
-
-// Overrides
-       // ClassWizard generated virtual function overrides
-       //{{AFX_VIRTUAL(CKrbAddHostServer)
-       protected:
-       virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
-       //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
-       // Generated message map functions
-       //{{AFX_MSG(CKrbAddHostServer)
-       virtual void OnOK();
-       afx_msg void OnChangeEditKdcHost();
-       afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
-       //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_KRBADDHOSTSERVER_H__1B6B6ED8_D26D_11D2_95AF_0000861B8A3C__INCLUDED_)
diff --git a/src/windows/leash/KrbAddRealm.cpp b/src/windows/leash/KrbAddRealm.cpp
deleted file mode 100644 (file)
index 4527e4b..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-//     File:                   KrbAddRealm.cpp
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    CPP file for KrbAddRealm.h. Contains variables and functions
-//                                     for Kerberos Four and Five Properties
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     12/02/98        ADL             Original
-//     **************************************************************************************
-
-
-#include "stdafx.h"
-#include "leash.h"
-#include "KrbAddRealm.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbAddRealm dialog
-
-
-CKrbAddRealm::CKrbAddRealm(CWnd* pParent /*=NULL*/)
-: CDialog(CKrbAddRealm::IDD, pParent)
-{
-       m_newRealm = _T("");
-       m_startup = TRUE;
-
-       //{{AFX_DATA_INIT(CKrbAddRealm)
-               // NOTE: the ClassWizard will add member initialization here
-       //}}AFX_DATA_INIT
-}
-
-
-void CKrbAddRealm::DoDataExchange(CDataExchange* pDX)
-{
-       CDialog::DoDataExchange(pDX);
-       //{{AFX_DATA_MAP(CKrbAddRealm)
-               // NOTE: the ClassWizard will add DDX and DDV calls here
-       //}}AFX_DATA_MAP
-}
-
-
-BEGIN_MESSAGE_MAP(CKrbAddRealm, CDialog)
-       //{{AFX_MSG_MAP(CKrbAddRealm)
-       ON_WM_SHOWWINDOW()
-       ON_EN_CHANGE(IDC_EDIT_REALM, OnChangeEditRealm)
-       //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbAddRealm message handlers
-
-void CKrbAddRealm::OnShowWindow(BOOL bShow, UINT nStatus)
-{
-       CDialog::OnShowWindow(bShow, nStatus);
-       m_startup = FALSE;
-}
-
-void CKrbAddRealm::OnChangeEditRealm()
-{
-       if (!m_startup)
-         GetDlgItemText(IDC_EDIT_REALM, m_newRealm);
-}
-
-void CKrbAddRealm::OnOK()
-{
-       m_newRealm.TrimLeft();
-       m_newRealm.TrimRight();
-
-       if (m_newRealm.IsEmpty())
-       { // stay
-               MessageBox("OnOK:: Kerberos Realm must be filled in!",
-                   "Leash", MB_OK);
-       }
-       else if (-1 != m_newRealm.Find(' '))
-       { // stay
-               MessageBox("OnOK::Illegal space found!", "Leash", MB_OK);
-       }
-       else
-         CDialog::OnOK(); // exit
-}
diff --git a/src/windows/leash/KrbAddRealm.h b/src/windows/leash/KrbAddRealm.h
deleted file mode 100644 (file)
index 48ae4b7..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-//     **************************************************************************************
-//     File:                   KrbAddRealm.h
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    H file for KrbAddRealm.cpp Contains variables and functions
-//                                     for Kerberos Four and Five Properties
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     12/02/98        ADL             Original
-//     **************************************************************************************
-
-
-#if !defined(AFX_ADDTOREALMHOSTLIST_H__26A1E1F3_9117_11D2_94D0_0000861B8A3C__INCLUDED_)
-#define AFX_ADDTOREALMHOSTLIST_H__26A1E1F3_9117_11D2_94D0_0000861B8A3C__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-// AddToRealmHostList.h : header file
-//
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbAddRealm dialog
-
-class CKrbAddRealm : public CDialog
-{
-// Construction
-       CString m_newRealm;
-       BOOL m_startup;
-
-public:
-       CKrbAddRealm(CWnd* pParent = NULL);   // standard constructor
-       CString GetNewRealm() {return m_newRealm;}
-
-// Dialog Data
-       //{{AFX_DATA(CKrbAddRealm)
-       enum { IDD = IDD_KRB_ADD_REALM };
-       //}}AFX_DATA
-
-
-// Overrides
-       // ClassWizard generated virtual function overrides
-       //{{AFX_VIRTUAL(CKrbAddRealm)
-       protected:
-       virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
-       //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
-       // Generated message map functions
-       //{{AFX_MSG(CKrbAddRealm)
-       afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
-       virtual void OnOK();
-       afx_msg void OnChangeEditRealm();
-       //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_ADDTOREALMHOSTLIST_H__26A1E1F3_9117_11D2_94D0_0000861B8A3C__INCLUDED_)
diff --git a/src/windows/leash/KrbConfigOptions.cpp b/src/windows/leash/KrbConfigOptions.cpp
deleted file mode 100644 (file)
index c8fa66c..0000000
+++ /dev/null
@@ -1,674 +0,0 @@
-//     **************************************************************************************
-//     File:                   KrbConfigOptions.cpp
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    CPP file for KrbProperties.h. Contains variables and functions
-//                                     for Kerberos Four and Five Properties
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     2/01/98 ADL             Original
-//     **************************************************************************************
-
-
-#include "stdafx.h"
-#include "Leash.h"
-#include "KrbProperties.h"
-#include "KrbConfigOptions.h"
-#include "LeashFileDialog.h"
-#include "LeashMessageBox.h"
-#include "wshelper.h"
-#include "lglobals.h"
-#include <io.h>
-#include <direct.h>
-#include "reminder.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-
-///////////////////////////////////////////////////////////////////////
-// CKrbConfigOptions property page
-
-CString CKrbConfigOptions::m_newDefaultRealm;
-CString CKrbConfigOptions::m_hostServer;
-CComboBox CKrbConfigOptions::m_krbRealmEditbox;
-BOOL CKrbConfigOptions::m_profileError;
-BOOL CKrbConfigOptions::m_dupEntriesError;
-
-IMPLEMENT_DYNCREATE(CKrbConfigOptions, CPropertyPage)
-
-CKrbConfigOptions::CKrbConfigOptions() : CPropertyPage(CKrbConfigOptions::IDD)
-{
-       m_initDefaultRealm = _T("");
-       m_newDefaultRealm = _T("");
-       m_startupPage2 = TRUE;
-       m_noKrbFileError = FALSE;
-       m_noKrbhostWarning = FALSE;
-       m_dupEntriesError = FALSE;
-       m_profileError  = FALSE;
-       m_noRealm = FALSE;
-
-       //{{AFX_DATA_INIT(CKrbConfigOptions)
-       //}}AFX_DATA_INIT
-}
-
-CKrbConfigOptions::~CKrbConfigOptions()
-{
-}
-
-VOID CKrbConfigOptions::DoDataExchange(CDataExchange* pDX)
-{
-       TRACE("Entering CKrbConfigOptions::DoDataExchange -- %d\n",
-             pDX->m_bSaveAndValidate);
-       CPropertyPage::DoDataExchange(pDX);
-       //{{AFX_DATA_MAP(CKrbConfigOptions)
-       DDX_Control(pDX, IDC_EDIT_DEFAULT_REALM, m_krbRealmEditbox);
-       //}}AFX_DATA_MAP
-}
-
-static char far * near parse_str(char far*buffer,char far*result)
-{
-        while (isspace(*buffer))
-                buffer++;
-        while (!isspace(*buffer))
-                *result++=*buffer++;
-        *result='\0';
-        return buffer;
-}
-
-#ifndef NO_KRB4
-int krb_get_krbhst(char* h, char* r, int n)
-{
-       char lbstorage[BUFSIZ];
-    char tr[REALM_SZ];
-    static FILE *cnffile; /*XXX pbh added static because of MS bug in fgets() */
-    static char FAR *linebuf; /*XXX pbh added static because of MS bug in fgets() */
-    int i;
-    char *p;
-
-    //static char buffer[80];
-    //krb_get_krbconf(buffer);
-    memset(lbstorage, '\0', BUFSIZ ); /* 4-22-94 */
-    linebuf = &lbstorage[0];
-
-    if ((cnffile = fopen(CKrbProperties::m_krbPath,"r")) == NULL) {
-        if (n==1) {
-            (void) strcpy(h,KRB_HOST);
-            return(KSUCCESS);
-        } else {
-            return(KFAILURE);
-        }
-    }
-    /* linebuf=(char FAR *)malloc(BUFSIZ); */ /*4-22-94*/
-    if (fgets(linebuf,BUFSIZ,cnffile)==NULL) {
-            /* free(linebuf); */ /* 4-22-94 */
-
-            return(KFAILURE);
-    }
-    /* bzero( tr, sizeof(tr) ); */   /* pbh 2-24-93 */
-    memset(tr, '\0', sizeof(tr) );
-    parse_str(linebuf,tr);
-    if (*tr=='\0') {
-            return (KFAILURE);
-    }
-    /* run through the file, looking for the nth server for this realm */
-    for (i = 1; i <= n;) {
-        if (fgets(linebuf, BUFSIZ, cnffile) == NULL) {
-            /* free(linebuf); */ /*4-22-94*/
-            (void) fclose(cnffile);
-            return(KFAILURE);
-        }
-        /* bzero( tr, sizeof(tr) ); */   /* pbh 2-24-93 */
-        memset(tr, '\0', sizeof(tr) );
-        p=parse_str(linebuf,tr);
-        if (*tr=='\0')
-                continue;
-        memset(h, '\0', lstrlen(h) );
-        parse_str(p,h);
-        if (*tr=='\0')
-                continue;
-        if (!lstrcmp(tr,r))
-                i++;
-    }
-    /* free(linebuf); */ /*4-22-94*/
-    (void) fclose(cnffile);
-    return(KSUCCESS);
-}
-#endif
-
-BOOL CKrbConfigOptions::OnInitDialog()
-{
-    m_initDefaultRealm = _T("");
-    m_newDefaultRealm = _T("");
-    m_noKrbFileError = FALSE;
-    m_noKrbhostWarning = FALSE;
-    m_dupEntriesError = FALSE;
-    m_profileError     = FALSE;
-    m_noRealm = FALSE;
-
-    CPropertyPage::OnInitDialog();
-
-#ifndef NO_KRB4
-       if (CLeashApp::m_hKrb4DLL && !CLeashApp::m_hKrb5DLL)
-       {  // Krb4 NOT krb5
-               // Fill in all edit boxes
-               char krbRealm[REALM_SZ + 1];
-               char krbhst[MAX_HSTNM + 1];
-               CStdioFile krbCon;
-               if (!krbCon.Open(CKrbProperties::m_krbPath, CFile::modeRead))
-               {
-                       SetDlgItemText(IDC_EDIT_DEFAULT_REALM, KRB_REALM);
-                       SetDlgItemText(IDC_EDIT_REALM_HOSTNAME, KRB_MASTER);
-                       //CheckRadioButton(IDC_RADIO_ADMIN_SERVER, IDC_RADIO_NO_ADMIN_SERVER, IDC_RADIO_NO_ADMIN_SERVER);
-                       m_initDefaultRealm = m_newDefaultRealm = KRB_REALM;
-               }
-               else
-               { // place krbRealm in Edit box
-                       memset(krbRealm, '\0', sizeof(krbRealm));
-                       if (!krbCon.ReadString(krbRealm, sizeof(krbRealm)) || '\r' == *krbRealm  ||
-                               '\n' == *krbRealm || '\0' == *krbRealm)
-                       {
-                               SetDlgItemText(IDC_EDIT_DEFAULT_REALM, KRB_REALM);
-                               SetDlgItemText(IDC_EDIT_REALM_HOSTNAME, KRB_MASTER);
-                               m_initDefaultRealm = m_newDefaultRealm = KRB_REALM;
-                       }
-                       else
-                       {
-                               *(krbRealm + strlen(krbRealm) - 1) = 0;
-                               LPSTR pSpace = strchr(krbRealm, ' ');
-                               if (pSpace)
-                                 *pSpace = 0;
-
-                               m_initDefaultRealm = m_newDefaultRealm = krbRealm;
-
-                               memset(krbhst, '\0', sizeof(krbhst));
-                               krbCon.Close();
-
-                               // Check for Host
-                               // don't use KRB4 - krb_get_krbhst - would have to re-logon, on file location
-                               // change, to use this function
-                               if (KFAILURE == pkrb_get_krbhst(krbhst, krbRealm, 1))
-                               {
-                                       m_noKrbhostWarning = TRUE;
-                               }
-                               else
-                               { // place hostname in Edit Box
-                                       //SetDlgItemText(IDC_EDIT_REALM_HOSTNAME, krbhst);
-
-                                       m_hostServer = krbhst;
-
-                                       // New stuff to put realms in Combo Box
-                                       CStdioFile krbCon;
-                                       if (!krbCon.Open(CKrbProperties::m_krbPath, CFile::modeRead))
-                                       {
-                                               m_noKrbFileError = TRUE;
-                                               m_noRealm = TRUE;
-                                       } else {
-
-                                               LPSTR space = NULL;
-                                               CHAR lineBuf[REALM_SZ + MAX_HSTNM + 20];
-                                               CHAR localRealm[REALM_SZ + MAX_HSTNM + 20];
-                                               memset(lineBuf, '\0', sizeof(lineBuf));
-                                               memset(localRealm, '\0', sizeof(localRealm));
-
-                                               if (krbCon.ReadString(localRealm, sizeof(localRealm)))
-                                                 *(localRealm + strlen(localRealm) - 1) = 0;
-                                               else
-                                                 return FALSE;
-
-                                               space = strchr(localRealm, ' ');
-                                               if (space)
-                                                 *space = 0;
-
-                                               while (TRUE)
-                                               {
-                                                       if (!krbCon.ReadString(lineBuf, sizeof(lineBuf)))
-                                                         break;
-
-                                                       *(lineBuf + sizeof(lineBuf) - 1) = 0;
-
-                                                       if (strlen(lineBuf) == 0)
-                                                               continue;
-
-                                                       space = strchr(lineBuf, ' ');
-                                                       if (!space) space = strchr(lineBuf, '\t');
-                                                       if (space)
-                                                         *space = 0;
-                                                       else
-                                                         ASSERT(0);
-
-                            // skip Kerberos Options
-                            if ( !strncmp(".KERBEROS.OPTION.",lineBuf,17) )
-                                continue;
-
-                                                       if (CB_ERR == m_krbRealmEditbox.FindStringExact(-1, lineBuf))
-                                                       { // no dups
-                                                               if (LB_ERR == m_krbRealmEditbox.AddString(lineBuf))
-                                                               {
-                                                                       MessageBox("OnInitDialog::Can't add to Kerberos Realm Combobox",
-                                                                                  "Leash", MB_OK);
-                                                                       return FALSE;
-                                                               }
-                                                       }
-                                               }
-
-                                               m_krbRealmEditbox.SelectString(-1, krbRealm);
-
-                                       } // end of 'else'
-                               } // end of 'place hostname in Edit Box' else statement
-                       } // end of 'Check for Host' else statement
-               } // end of 'place krbRealm in Edit box' else
-       }
-       else
-#endif
-       if (CLeashApp::m_hKrb5DLL)
-       { // Krb5 OR krb5 AND krb4
-               char *realm = NULL;
-               pkrb5_get_default_realm(CLeashApp::m_krbv5_context, &realm);
-
-               if (!realm)
-                       m_noRealm = TRUE;
-
-               m_initDefaultRealm = m_newDefaultRealm = realm;
-
-           if ( !CLeashApp::m_krbv5_profile ) {
-            CHAR confname[MAX_PATH];
-            if (!CLeashApp::GetProfileFile(confname, sizeof(confname)))
-            {
-                const char *filenames[2];
-                filenames[0] = confname;
-                filenames[1] = NULL;
-                pprofile_init(filenames, &CLeashApp::m_krbv5_profile);
-            }
-           }
-
-        CHAR selRealm[REALM_SZ];
-        strcpy(selRealm, m_newDefaultRealm);
-        const char*  Section[] = {"realms", selRealm, "kdc", NULL};
-        const char** section = Section;
-        char **values = NULL;
-        char * value  = NULL;
-
-        long retval = pprofile_get_values(CLeashApp::m_krbv5_profile,
-                                           section, &values);
-
-        if (!retval && values)
-            m_hostServer = *values;
-        else {
-            int dns_in_use = 0;
-            // Determine if we are using DNS for KDC lookups
-            retval = pprofile_get_string(CLeashApp::m_krbv5_profile, "libdefaults",
-                                          "dns_lookup_kdc", 0, 0, &value);
-            if (value == 0 && retval == 0)
-                retval = pprofile_get_string(CLeashApp::m_krbv5_profile, "libdefaults",
-                                              "dns_fallback", 0, 0, &value);
-            if (value == 0) {
-                dns_in_use = 1;
-            } else {
-                dns_in_use = config_boolean_to_int(value);
-                pprofile_release_string(value);
-            }
-            if (dns_in_use)
-                m_hostServer = "DNS SRV record lookups will be used to find KDC";
-            else {
-                m_hostServer = "No KDC information available";
-            }
-        }
-        SetDlgItemText(IDC_EDIT_REALM_HOSTNAME, m_hostServer);
-
-        if ( realm )
-            pkrb5_free_default_realm(CLeashApp::m_krbv5_context, realm);
-    }
-
-       // Set host and domain names in their Edit Boxes, respectively.
-       char hostName[80]="";
-       char domainName[80]="";
-       int ckHost = wsh_gethostname(hostName, sizeof(hostName));
-       int ckdomain = wsh_getdomainname(domainName, sizeof(domainName));
-       CString dot_DomainName = ".";
-       dot_DomainName += domainName;
-
-       SetDlgItemText(IDC_EDIT_HOSTNAME, ckHost == 0 ? hostName : "");
-       SetDlgItemText(IDC_EDIT_DOMAINNAME, ckdomain == 0 ? dot_DomainName : "");
-
-       return m_noRealm;
-}
-
-BOOL CKrbConfigOptions::OnApply()
-{
-       // If no changes were made, quit this function
-       if (0 == m_initDefaultRealm.CompareNoCase(m_newDefaultRealm))
-         return TRUE;
-
-       m_newDefaultRealm.TrimLeft();
-       m_newDefaultRealm.TrimRight();
-
-       if (m_newDefaultRealm.IsEmpty())
-       {
-               MessageBox("OnApply::Your Kerberos Realm field must be filled in!",
-                    "Leash", MB_OK);
-               m_newDefaultRealm = m_initDefaultRealm;
-               SetDlgItemText(IDC_EDIT_DEFAULT_REALM, m_newDefaultRealm);
-               return TRUE;
-       }
-
-       CStdioFile krbCon;
-       if (!krbCon.Open(CKrbProperties::m_krbPath, CFile::modeCreate |
-                         CFile::modeNoTruncate |
-                         CFile::modeRead))
-       {
-               LeashErrorBox("OnApply::Can't open configuration file",
-                                         CKrbProperties::m_krbPath);
-               return TRUE;
-       }
-
-       CStdioFile krbCon2;
-       CString krbCon2File = CKrbProperties::m_krbPath;
-       krbCon2File += "___";
-       if (!krbCon2.Open(krbCon2File, CFile::modeCreate | CFile::modeWrite))
-       {
-               LeashErrorBox("OnApply:: Can't open configuration file",
-                                         CKrbProperties::m_krbPath);
-               return TRUE;
-       }
-
-       CString readWrite;
-       krbCon.ReadString(readWrite);
-       krbCon2.WriteString(m_newDefaultRealm);
-       krbCon2.WriteString("\n");
-       while (krbCon.ReadString(readWrite))
-       {
-               krbCon2.WriteString(readWrite);
-               krbCon2.WriteString("\n");
-       }
-
-       krbCon.Close();
-       krbCon2.Close();
-       krbCon2.Remove(CKrbProperties::m_krbPath);
-       krbCon2.Rename(krbCon2File, CKrbProperties::m_krbPath);
-
-       if (CLeashApp::m_hKrb5DLL)
-       { // Krb5 OR krb5 AND krb4
-           if ( !CLeashApp::m_krbv5_profile ) {
-            CHAR confname[MAX_PATH];
-            if (!CLeashApp::GetProfileFile(confname, sizeof(confname)))
-            {
-                const char *filenames[2];
-                filenames[0] = confname;
-                filenames[1] = NULL;
-                pprofile_init(filenames, &CLeashApp::m_krbv5_profile);
-            }
-           }
-
-               const char*  Names[] = {"libdefaults", "default_realm", NULL};
-               const char** names = Names;
-
-               long retval = pprofile_update_relation(CLeashApp::m_krbv5_profile,
-                                                       names, m_initDefaultRealm, m_newDefaultRealm);
-
-               if (retval)
-               {
-                       MessageBox("OnApply::The previous value cannot be found, the profile will not be saved!!!\
-                        \nIf this error persists after restarting Leash, contact your administrator.",
-                                          "Leash", MB_OK);
-                       return TRUE;
-               }
-
-               // Save to Kerberos Five config. file "Krb5.ini"
-           retval = pprofile_flush(CLeashApp::m_krbv5_profile);
-       }
-
-       m_initDefaultRealm = m_newDefaultRealm;
-       return TRUE;
-}
-
-void CKrbConfigOptions::OnSelchangeEditDefaultRealm()
-{
-       if (!m_startupPage2)
-       {
-               GetDlgItemText(IDC_EDIT_DEFAULT_REALM, m_newDefaultRealm);
-               SetModified(TRUE);
-
-               if (CLeashApp::m_hKrb5DLL)
-               {
-                       CHAR selRealm[REALM_SZ];
-                       strcpy(selRealm, m_newDefaultRealm);
-                       const char*  Section[] = {"realms", selRealm, "kdc", NULL};
-                       const char** section = Section;
-                       char **values = NULL;
-                       char * value  = NULL;
-
-                       long retval = pprofile_get_values(CLeashApp::m_krbv5_profile,
-                                                                                          section, &values);
-
-                       if (!retval && values)
-                         SetDlgItemText(IDC_EDIT_REALM_HOSTNAME, *values);
-                       else {
-                               int dns_in_use = 0;
-                               // Determine if we are using DNS for KDC lookups
-                               retval = pprofile_get_string(CLeashApp::m_krbv5_profile, "libdefaults",
-                                                                        "dns_lookup_kdc", 0, 0, &value);
-                               if (value == 0 && retval == 0)
-                                       retval = pprofile_get_string(CLeashApp::m_krbv5_profile, "libdefaults",
-                                                                                "dns_fallback", 0, 0, &value);
-                               if (value == 0) {
-                               dns_in_use = 1;
-                               } else {
-                                       dns_in_use = config_boolean_to_int(value);
-                                       pprofile_release_string(value);
-                               }
-                               if (dns_in_use)
-                                       SetDlgItemText(IDC_EDIT_REALM_HOSTNAME, "DNS SRV record lookups will be used to find KDC");
-                               else
-                                       SetDlgItemText(IDC_EDIT_REALM_HOSTNAME, "No KDC information available");
-                       }
-               }
-#ifndef NO_KRB4
-               else
-               {
-                       CHAR krbhst[MAX_HSTNM + 1];
-                       CHAR krbrlm[REALM_SZ + 1];
-
-                       strcpy(krbrlm, CKrbConfigOptions::m_newDefaultRealm);
-                       memset(krbhst, '\0', sizeof(krbhst));
-
-                       // Check for Host
-                       // don't use KRB4 - krb_get_krbhst - would have to re-logon, on file location
-                       // change, to use this function
-                       if (KFAILURE == pkrb_get_krbhst(krbhst, krbrlm, 1))
-                       {
-                               MessageBox("OnSelchangeEditDefaultRealm::Unable to find the Host Server for your Default Realm!!!\
-                            \n 'Apply' your changes and try again.",
-                                               "Leash", MB_OK);
-                           SetDlgItemText(IDC_EDIT_REALM_HOSTNAME, "");
-                               return;
-                       }
-
-                       m_hostServer = krbhst;
-                       if (strlen(krbhst))
-                         SetDlgItemText(IDC_EDIT_REALM_HOSTNAME, m_hostServer);
-               }
-#endif
-       }
-}
-
-void CKrbConfigOptions::OnEditchangeEditDefaultRealm()
-{
-       if (!m_startupPage2)
-       {
-               GetDlgItemText(IDC_EDIT_DEFAULT_REALM, m_newDefaultRealm);
-               SetModified(TRUE);
-       }
-}
-
-void CKrbConfigOptions::OnShowWindow(BOOL bShow, UINT nStatus)
-{
-       CPropertyPage::OnShowWindow(bShow, nStatus);
-
-       if (CLeashApp::m_hKrb5DLL)
-         ResetDefaultRealmComboBox();
-
-       SetDlgItemText(IDC_EDIT_REALM_HOSTNAME, m_hostServer);
-}
-
-void CKrbConfigOptions::ResetDefaultRealmComboBox()
-{ // Krb5 is loaded
-       // Reset Config Tab's Default Realm Combo Editbox
-       const char*  rootSection[] = {"realms", NULL};
-       const char** rootsec = rootSection;
-       char **sections = NULL,
-                **cpp = NULL,
-         *value = 0;
-    int dns;
-
-    long retval = pprofile_get_string(CLeashApp::m_krbv5_profile, "libdefaults",
-                                  "dns_lookup_kdc", 0, 0, &value);
-    if (value == 0 && retval == 0)
-        retval = pprofile_get_string(CLeashApp::m_krbv5_profile, "libdefaults",
-                                      "dns_fallback", 0, 0, &value);
-    if (value == 0) {
-        dns = 1;
-    } else {
-        dns = config_boolean_to_int(value);
-        pprofile_release_string(value);
-    }
-
-    retval = pprofile_get_subsection_names(CLeashApp::m_krbv5_profile,
-                                                   rootsec , &sections);
-
-       if (retval)
-       {
-        m_hostServer = _T("");
-
-        // This is not a fatal error if DNS KDC Lookup is being used.
-        // Determine the starting value for DNS KDC Lookup Checkbox
-        if ( dns )
-            return;
-
-        m_profileError = TRUE;
-       }
-
-       m_krbRealmEditbox.ResetContent();
-
-    if ( !m_profileError ) {
-       for (cpp = sections; *cpp; cpp++)
-       {
-               if (CB_ERR == m_krbRealmEditbox.FindStringExact(-1, *cpp))
-               { // no dups
-                       if (CB_ERR == m_krbRealmEditbox.AddString(*cpp))
-                       {
-                               ::MessageBox(NULL, "ResetDefaultRealmComboBox::Can't add to Kerberos Realm Combobox",
-                                                        "Leash", MB_OK);
-                               return;
-                       }
-               }
-               else
-                 m_dupEntriesError = TRUE;
-       }
-    }
-
-    if (!m_newDefaultRealm.IsEmpty()) {
-
-               if (CB_ERR == m_krbRealmEditbox.FindStringExact(-1, m_newDefaultRealm))
-               { // no dups
-                       m_krbRealmEditbox.AddString(m_newDefaultRealm);
-               }
-               m_krbRealmEditbox.SelectString(-1, m_newDefaultRealm);
-
-               const char*  Section[] = {"realms", m_newDefaultRealm, "kdc", NULL}; //theSection
-               const char** section = Section;
-               char **values = NULL;
-
-               retval = pprofile_get_values(CLeashApp::m_krbv5_profile,
-                                            section, &values);
-
-        if (!retval && values)
-            m_hostServer = *values;
-        else {
-            if (dns)
-                m_hostServer = "DNS SRV record lookups will be used to find KDC";
-            else {
-                m_hostServer = "No KDC information available";
-            }
-               }
-       }
-}
-
-BOOL CKrbConfigOptions::PreTranslateMessage(MSG* pMsg)
-{
-       if (!m_startupPage2)
-       {
-               if (m_noKrbFileError)
-               {
-                       LeashErrorBox("PreTranslateMessage::Unable to open configuration file",
-                               !strlen(CKrbProperties::m_krbPath) ? KRB_FILE :
-                               CKrbProperties::m_krbPath);
-                       m_noKrbFileError = FALSE;
-               }
-
-               if (m_noKrbhostWarning)
-               {
-                       MessageBox("PreTranslateMessage::Unable to locate the Kerberos Host for your Kerberos Realm!",
-                                          "Leash", MB_OK);
-                       m_noKrbhostWarning = FALSE;
-               }
-
-               if (m_dupEntriesError)
-               {
-                       MessageBox("PreTranslateMessage::Found duplicate entries in the Kerberos 5 Config. File!!!\
-                        \nPlease contact your Administrator.",
-                                          "Leash", MB_OK);
-
-                       m_dupEntriesError = FALSE;
-               }
-
-               if (m_profileError)
-               {
-                       MessageBox("PreTranslateMessage::Unable to open Kerberos 5 Config. File!!!\
-                        \nIf this error persists, contact your administrator.",
-                                      "Leash", MB_OK);
-                       m_profileError  = FALSE;
-               }
-
-               if (m_noRealm)
-               {
-                       MessageBox("PreTranslateMessage::Unable to determine the Default Realm.\
-                        \n Contact your Administrator!",
-                                          "Leash", MB_OK);
-
-                       m_noRealm = FALSE;
-               }
-       }
-
-       m_startupPage2 = FALSE;
-       return CPropertyPage::PreTranslateMessage(pMsg);
-}
-
-
-BEGIN_MESSAGE_MAP(CKrbConfigOptions, CPropertyPage)
-       //{{AFX_MSG_MAP(CKrbConfigOptions)
-       ON_WM_SHOWWINDOW()
-       ON_CBN_EDITCHANGE(IDC_EDIT_DEFAULT_REALM, OnEditchangeEditDefaultRealm)
-       ON_CBN_SELCHANGE(IDC_EDIT_DEFAULT_REALM, OnSelchangeEditDefaultRealm)
-       ON_BN_CLICKED(IDC_BUTTON_KRB_HELP, OnButtonKrbHelp)
-       ON_BN_CLICKED(IDC_BUTTON_KRBREALM_HELP, OnButtonKrbrealmHelp)
-       //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-
-
-void CKrbConfigOptions::OnButtonKrbHelp()
-{
-       MessageBox("No Help Available!", "Leash", MB_OK);
-}
-
-void CKrbConfigOptions::OnButtonKrbrealmHelp()
-{
-       MessageBox("No Help Available!", "Leash", MB_OK);
-}
diff --git a/src/windows/leash/KrbConfigOptions.h b/src/windows/leash/KrbConfigOptions.h
deleted file mode 100644 (file)
index 3169e71..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-//     **************************************************************************************
-//     File:                   KrbConfigOptions.h
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    H file for KrbProperties.cpp. Contains variables and functions
-//                                     for Kerberos Four Properties
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     2/01/98 ADL             Original
-//     **************************************************************************************
-
-
-#if !defined(AFX_CONFIGOPTIONS_H__CD702F99_7495_11D0_8FDC_00C04FC2A0C2__INCLUDED_)
-#define AFX_CONFIGOPTIONS_H__CD702F99_7495_11D0_8FDC_00C04FC2A0C2__INCLUDED_
-
-#if _MSC_VER >= 1000
-#pragma once
-#endif // _MSC_VER >= 1000
-// Krb4Properties.h : header file
-//
-
-#include "Resource.h"
-
-
-///////////////////////////////////////////////////////////////////////
-// CKrbConfigOptions dialog
-
-class CKrbConfigOptions : public CPropertyPage
-{
-// Construction
-private:
-       DECLARE_DYNCREATE(CKrbConfigOptions)
-       BOOL m_startupPage2;
-       BOOL m_noKrbFileError;
-       BOOL m_noKrbhostWarning;
-       static BOOL m_profileError;
-       static BOOL m_dupEntriesError;
-       BOOL m_noRealm;
-       CString m_initDefaultRealm;
-       static CString m_newDefaultRealm; ///// also used for CKrb4DomainRealmMaintenance
-       static CString m_hostServer;
-
-       static void ResetDefaultRealmComboBox();
-
-public:
-       CKrbConfigOptions();
-       ~CKrbConfigOptions();
-
-// Dialog Data
-       //{{AFX_DATA(CKrbConfigOptions)
-       enum { IDD = IDD_KRB_PROP_CONTENT };
-       static CComboBox m_krbRealmEditbox;
-       //}}AFX_DATA
-
-
-// Overrides
-       // ClassWizard generate virtual function overrides
-       //{{AFX_VIRTUAL(CKrbConfigOptions)
-       public:
-       virtual BOOL PreTranslateMessage(MSG* pMsg);
-       protected:
-       virtual VOID DoDataExchange(CDataExchange* pDX); // DDX/DDV support
-       //}}AFX_VIRTUAL
-
-       virtual BOOL OnApply();
-
-// Implementation
-protected:
-       // Generated message map functions
-       //{{AFX_MSG(CKrbConfigOptions)
-       virtual BOOL OnInitDialog();
-       afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
-       afx_msg void OnEditchangeEditDefaultRealm();
-       afx_msg void OnSelchangeEditDefaultRealm();
-       afx_msg void OnButtonKrbHelp();
-       afx_msg void OnButtonKrbrealmHelp();
-       //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-
-};
-
-/////////////////////////////////////////////////////////////////////////////
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_CONFIGOPTIONS_H__CD702F99_7495_11D0_8FDC_00C04FC2A0C2__INCLUDED_)
diff --git a/src/windows/leash/KrbDomainRealmMaintenance.cpp b/src/windows/leash/KrbDomainRealmMaintenance.cpp
deleted file mode 100644 (file)
index a216a23..0000000
+++ /dev/null
@@ -1,439 +0,0 @@
-// CKrbDomainRealmMaintenance.cpp : implementation file
-//
-
-#include "stdafx.h"
-#include "leash.h"
-#include "KrbDomainRealmMaintenance.h"
-#include "Krb4EditDomainRealmList.h"
-#include "KrbProperties.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbDomainRealmMaintenance dialog
-
-
-CKrbDomainRealmMaintenance::CKrbDomainRealmMaintenance(CWnd* pParent /*=NULL*/)
-       :CPropertyPage(CKrbDomainRealmMaintenance::IDD)
-{
-       m_dupEntiesError = FALSE;
-       //{{AFX_DATA_INIT(CKrbDomainRealmMaintenance)
-       // NOTE: the ClassWizard will add member initialization here
-       //}}AFX_DATA_INIT
-}
-
-
-void CKrbDomainRealmMaintenance::DoDataExchange(CDataExchange* pDX)
-{
-       CPropertyPage::DoDataExchange(pDX);
-       //{{AFX_DATA_MAP(CKrbDomainRealmMaintenance)
-       DDX_Control(pDX, IDC_LIST_DOMAINREALM, m_KDCDomainList);
-       //}}AFX_DATA_MAP
-}
-
-
-BEGIN_MESSAGE_MAP(CKrbDomainRealmMaintenance, CPropertyPage)
-       //{{AFX_MSG_MAP(CKrbDomainRealmMaintenance)
-       ON_BN_CLICKED(IDC_BUTTON_HOST_ADD, OnButtonHostAdd)
-       ON_BN_CLICKED(IDC_BUTTON_HOST_EDIT, OnButtonHostEdit)
-       ON_BN_CLICKED(ID_BUTTON_HOST_REMOVE, OnButtonHostRemove)
-       ON_LBN_DBLCLK(IDC_LIST_DOMAINREALM, OnDblclkListDomainrealm)
-       ON_BN_CLICKED(IDC_BUTTON_HOSTMAINT_HELP, OnButtonHostmaintHelp)
-       //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbDomainRealmMaintenance message handlers
-
-BOOL CKrbDomainRealmMaintenance::OnInitDialog()
-{
-       CPropertyPage::OnInitDialog();
-
-       char theName[REALM_SZ + 1];
-       char theNameValue[REALM_SZ + MAX_HSTNM + 2];
-       const char*  Section[] = {"domain_realm", theName, NULL}; //theSection
-       const char** section = Section;
-       char **values = NULL,
-                **vpp = NULL;
-
-       const char*  rootSection[] = {"domain_realm", NULL};
-       const char** rootsec = rootSection;
-       char **sections = NULL,
-                **cpp = NULL;
-
-       long retval = pprofile_get_relation_names(CLeashApp::m_krbv5_profile,
-                                                                                          rootsec, &sections);
-
-       if (retval && PROF_NO_RELATION != retval)
-       {
-               MessageBox("OnInitDialog::There is on error, profile will not be saved!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Leash", MB_OK);
-               return TRUE;
-       }
-
-
-       for (cpp = sections; *cpp; cpp++)
-       {
-               strcpy(theName, *cpp);
-               retval = pprofile_get_values(CLeashApp::m_krbv5_profile,
-                                                                         section, &values);
-
-               for (vpp = values; *vpp; vpp++)
-               {
-                       strcpy(theNameValue, theName);
-                       strcat(theNameValue, " ");
-                       strcat(theNameValue, *vpp);
-
-                       if (LB_ERR == m_KDCDomainList.FindStringExact(-1, theNameValue))
-                       {
-                               if (LB_ERR == m_KDCDomainList.AddString(theNameValue))
-                               {
-                                       MessageBox("OnInitDialog::Can't add to Kerberos Domain Listbox",
-                                                          "Leash", MB_OK);
-                                       return FALSE;
-                               }
-                       }
-                       else
-                         m_dupEntiesError = TRUE;
-               }
-       }
-
-       m_KDCDomainList.SetCurSel(0);
-
-       if (!m_KDCDomainList.GetCount())
-       {
-               GetDlgItem(ID_BUTTON_HOST_REMOVE)->EnableWindow(FALSE);
-               GetDlgItem(IDC_BUTTON_HOST_EDIT)->EnableWindow(FALSE);
-       }
-
-       return TRUE;  // return TRUE unless you set the focus to a control
-                     // EXCEPTION: OCX Property Pages should return FALSE
-}
-
-BOOL CKrbDomainRealmMaintenance::OnApply()
-{
-       if (!CLeashApp::m_krbv5_profile) {
-               CHAR confname[MAX_PATH];
-               if (!CLeashApp::GetProfileFile(confname, sizeof(confname)))
-        {
-               const char *filenames[2];
-                   filenames[0] = confname;
-                       filenames[1] = NULL;
-                       pprofile_init(filenames, &CLeashApp::m_krbv5_profile);
-               }
-       }
-
-       // Save to Kerberos Five config. file "Krb5.ini"
-       long retval = pprofile_flush(CLeashApp::m_krbv5_profile);
-
-       if (retval && PROF_NO_RELATION != retval)
-       {
-               MessageBox("OnApply::There is on error, profile will not be saved!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Leash", MB_OK);
-               return TRUE;
-       }
-
-#ifndef NO_KRB4
-       // Save to Kerberos Four config. file "Krb.con"
-       CStdioFile krbrealmCon;
-       if (!krbrealmCon.Open(CKrbProperties::m_krbrealmPath, CFile::modeCreate |
-                             CFile::modeNoTruncate |
-                                                                                                        CFile::modeReadWrite))
-       {
-               LeashErrorBox("OnApply::Can't open Configuration File",
-                                         CKrbProperties::m_krbrealmPath);
-               return TRUE;
-       }
-
-       krbrealmCon.SetLength(0);
-
-       char theNameValue[REALM_SZ + MAX_HSTNM + 2];
-
-       for (INT maxItems = m_KDCDomainList.GetCount(), item = 0; item < maxItems; item++)
-       {
-               if (LB_ERR == m_KDCDomainList.GetText(item, theNameValue))
-                 ASSERT(0);
-
-               krbrealmCon.WriteString(theNameValue);
-               krbrealmCon.WriteString("\n");
-       }
-
-       krbrealmCon.Close();
-#endif
-
-       return TRUE;
-}
-
-void CKrbDomainRealmMaintenance::OnCancel()
-{
-    CHAR fileName[MAX_PATH];
-
-    if (CLeashApp::GetProfileFile(fileName, sizeof(fileName)))
-    {
-        MessageBox("Can't locate Kerberos Five Config. file!", "Error", MB_OK);
-        return;
-    }
-
-    pprofile_abandon(CLeashApp::m_krbv5_profile);
-
-    const char *filenames[2];
-    filenames[0] = fileName;
-    filenames[1] = NULL;
-       pprofile_init(filenames, &CLeashApp::m_krbv5_profile);
-
-       CPropertyPage::OnCancel();
-}
-
-void CKrbDomainRealmMaintenance::OnButtonHostAdd()
-{
-////I don't understand why this is doing K4 operations here
-#ifndef NO_KRB4
-       CKrb4AddToDomainRealmList addToDomainRealmList;
-       if (IDOK == addToDomainRealmList.DoModal())
-       {
-               char theName[MAX_HSTNM + 1];
-               const char* Section[] = {"domain_realm", theName, NULL};
-               const char** section = Section;
-
-               if (addToDomainRealmList.GetNewRealm().IsEmpty())
-                 ASSERT(0);
-
-               if (CheckForDupDomain(addToDomainRealmList.GetNewDomainHost()))
-               {
-                       MessageBox("Can't have duplicate Host/Domains!\nYour entry will not be saved to list",
-                                          "Leash", MB_OK);
-                       return;
-               }
-
-               CString newLine;
-               newLine = addToDomainRealmList.GetNewDomainHost() + " " + addToDomainRealmList.GetNewRealm();
-
-               if (LB_ERR != m_KDCDomainList.FindStringExact(-1, newLine))
-               {
-                       MessageBox("We can't have duplicates!\nYour entry was not saved to list.",
-                        "Leash", MB_OK);
-                       return;
-               }
-
-               CString newHost; // new section in the profile linklist
-               strcpy(theName, addToDomainRealmList.GetNewDomainHost());
-
-               long retval = pprofile_add_relation(CLeashApp::m_krbv5_profile,
-                                                                                section, addToDomainRealmList.GetNewRealm());
-
-               if (retval)
-               {
-                       MessageBox("OnButtonHostAdd::There is on error, profile will not be saved!!!\
-                        \nIf this error persist, contact your administrator.",
-                                      "Leash", MB_OK);
-               }
-
-               m_KDCDomainList.AddString(newLine);
-               SetModified(TRUE);
-
-               if (1 == m_KDCDomainList.GetCount())
-               {
-                       GetDlgItem(ID_BUTTON_HOST_REMOVE)->EnableWindow();
-                       GetDlgItem(IDC_BUTTON_HOST_EDIT)->EnableWindow();
-               }
-       }
-#endif
-}
-
-void CKrbDomainRealmMaintenance::OnButtonHostEdit()
-{
-       INT selItemIndex = m_KDCDomainList.GetCurSel();
-       LPSTR pSelItem = new char[m_KDCDomainList.GetTextLen(selItemIndex) + 1];
-       if (!pSelItem)
-         ASSERT(0);
-
-       CHAR theName[MAX_HSTNM + 1];
-       char theNameValue[REALM_SZ + MAX_HSTNM + 2];
-       CHAR OLD_VALUE[REALM_SZ + 1];
-       m_KDCDomainList.GetText(selItemIndex, theName);
-       strcpy(pSelItem, theName);
-
-       LPSTR pselItem = strchr(theName, ' ');
-       if (pselItem)
-         *pselItem = 0;
-       else
-         ASSERT(0);
-
-       strcpy(OLD_VALUE, pselItem + 1);
-       strcpy(theNameValue, pSelItem);
-
-       CKrb4EditDomainRealmList editDomainRealmList(pSelItem);
-
-       if (IDOK == editDomainRealmList.DoModal())
-       {
-               if (0 != strcmp(theName, editDomainRealmList.GetDomainHost())
-                       && CheckForDupDomain(editDomainRealmList.GetDomainHost()))
-               { // Duplicate Host/Domain Error
-                       MessageBox("We can't have duplicate Host/Domains!\nYour entry will not be saved to list",
-                                          "Leash", MB_OK);
-                       return;
-               }
-
-               const char* Section[] = {"domain_realm", theName, NULL};
-               const char** section = Section;
-
-               CString editedHost = editDomainRealmList.GetEditedItem();
-
-               if (0 != editedHost.CompareNoCase(theNameValue) &&
-                       LB_ERR != m_KDCDomainList.FindStringExact(-1, editedHost))
-               {
-                       MessageBox("We can't have duplicate Realms!\nYour entry was not saved to list.",
-                        "Leash", MB_OK);
-                       delete [] pSelItem;
-                       return;
-               }
-
-               long retval = pprofile_update_relation(CLeashApp::m_krbv5_profile,
-                                                                                       section, OLD_VALUE,     NULL);
-
-               if (retval)
-               {
-                       MessageBox("OnButtonHostEdit::There is on error, profile will not be saved!!!\
-                        \nIf this error persist, contact your administrator.",
-                                          "Leash", MB_OK);
-                       return;
-               }
-
-               strcpy(theName, editDomainRealmList.GetDomainHost());
-
-               retval = pprofile_add_relation(CLeashApp::m_krbv5_profile,
-                                                                               section, editDomainRealmList.GetRealm());
-
-
-               if (retval)
-               { // thsi might not be the best way to handle this type of error
-                       MessageBox("OnButtonHostEdit::There is on error, profile will not be saved!!!\
-                        \nIf this error persist, contact your administrator.",
-                                          "Leash", MB_OK);
-                       return;
-               }
-
-               m_KDCDomainList.DeleteString(selItemIndex);
-               m_KDCDomainList.AddString(editedHost);
-               selItemIndex = m_KDCDomainList.FindStringExact(-1, editedHost);
-               m_KDCDomainList.SetCurSel(selItemIndex);
-
-               SetModified(TRUE);
-       }
-
-       delete [] pSelItem;
-}
-
-void CKrbDomainRealmMaintenance::OnDblclkListDomainrealm()
-{
-       OnButtonHostEdit();
-}
-
-void CKrbDomainRealmMaintenance::OnButtonHostRemove()
-{
-       CHAR theName[MAX_HSTNM + 1];
-       CHAR OLD_VALUE[REALM_SZ + 1];
-       char theNameValue[REALM_SZ + MAX_HSTNM + 2];
-       const char* Section[] = {"domain_realm", theName, NULL};
-       const char** section = Section;
-
-       INT curSel = m_KDCDomainList.GetCurSel();
-       m_KDCDomainList.GetText(curSel, theNameValue);
-
-       CString serverHostMsg;
-       CString serverHost;
-       serverHostMsg.Format("Your about to remove Host/Domain \"%s\" from the list!\n\nContinue?",
-                                                 theNameValue);
-
-       if (IDYES != AfxMessageBox(serverHostMsg, MB_YESNO))
-         return;
-
-       LPSTR pNameValue = strchr(theNameValue, ' ');
-       if (pNameValue)
-       {
-               *pNameValue = 0;
-               strcpy(theName, theNameValue);
-               pNameValue++;
-               strcpy(OLD_VALUE, pNameValue);
-       }
-       else
-         ASSERT(0);
-
-       if (!m_KDCDomainList.GetCount())
-       {
-               GetDlgItem(ID_BUTTON_HOSTNAME_REMOVE)->EnableWindow(FALSE);
-               GetDlgItem(IDC_BUTTON_HOSTNAME_EDIT)->EnableWindow(FALSE);
-       }
-
-       long retval = pprofile_update_relation(CLeashApp::m_krbv5_profile,
-                                                                                   section, OLD_VALUE, NULL);
-
-       if (retval)
-       {
-               MessageBox("OnButtonHostRemove::There is on error, profile will not be saved!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Leash", MB_OK);
-               return;
-       }
-
-       m_KDCDomainList.DeleteString(curSel);  // Single Sel Listbox
-
-       if (-1 == m_KDCDomainList.SetCurSel(curSel))
-         m_KDCDomainList.SetCurSel(curSel - 1);
-
-       if (!m_KDCDomainList.GetCount())
-       {
-               GetDlgItem(ID_BUTTON_HOST_REMOVE)->EnableWindow(FALSE);
-               GetDlgItem(IDC_BUTTON_HOST_EDIT)->EnableWindow(FALSE);
-       }
-
-       SetModified(TRUE);
-}
-
-
-BOOL CKrbDomainRealmMaintenance::PreTranslateMessage(MSG* pMsg)
-{
-       if (m_dupEntiesError)
-       {
-               MessageBox("Found an error (duplicate items) in your Kerberos Five Config. File!!!\
-                    \nPlease contract your Administrator.",
-                                  "Leash", MB_OK);
-
-               m_dupEntiesError = FALSE;
-       }
-
-       return CPropertyPage::PreTranslateMessage(pMsg);
-}
-
-BOOL CKrbDomainRealmMaintenance::CheckForDupDomain(CString& newDomainHost)
-{
-       char theName[REALM_SZ + MAX_HSTNM + 2];
-
-       for (INT maxItems = m_KDCDomainList.GetCount(), item = 0; item < maxItems; item++)
-       {
-               if (LB_ERR == m_KDCDomainList.GetText(item, theName))
-                 ASSERT(0);
-
-               LPSTR pValue = strchr(theName, ' ');
-               if (pValue)
-                 *pValue = 0;
-               else
-                 ASSERT(0);
-
-               if (0 == newDomainHost.CompareNoCase(theName))
-                 return TRUE;
-       }
-
-       return FALSE;
-}
-
-void CKrbDomainRealmMaintenance::OnButtonHostmaintHelp()
-{
-       MessageBox("No Help Available!", "Leash", MB_OK);
-}
diff --git a/src/windows/leash/KrbDomainRealmMaintenance.h b/src/windows/leash/KrbDomainRealmMaintenance.h
deleted file mode 100644 (file)
index e22e86e..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#if !defined(AFX_KRBDOMAINREALMMAINTENANCE_H__6DB290A6_E14D_11D2_95CE_0000861B8A3C__INCLUDED_)
-#define AFX_KRBDOMAINREALMMAINTENANCE_H__6DB290A6_E14D_11D2_95CE_0000861B8A3C__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-// CKrbDomainRealmMaintenance.h : header file
-//
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbDomainRealmMaintenance dialog
-
-class CKrbDomainRealmMaintenance : public CPropertyPage
-{
-// Construction
-private:
-       BOOL m_dupEntiesError;
-       BOOL CheckForDupDomain(CString& newDomainHost);
-
-public:
-       CKrbDomainRealmMaintenance(CWnd* pParent = NULL);   // standard constructor
-
-// Dialog Data
-       //{{AFX_DATA(CKrbDomainRealmMaintenance)
-       enum { IDD = IDD_KRB_DOMAINREALM_MAINT };
-       CListBox        m_KDCDomainList;
-       //}}AFX_DATA
-
-
-// Overrides
-       // ClassWizard generated virtual function overrides
-       //{{AFX_VIRTUAL(CKrbDomainRealmMaintenance)
-       public:
-       virtual BOOL PreTranslateMessage(MSG* pMsg);
-       protected:
-       virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
-       //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
-       // Generated message map functions
-       //{{AFX_MSG(CKrbDomainRealmMaintenance)
-       virtual void OnCancel();
-       virtual BOOL OnApply();
-       virtual BOOL OnInitDialog();
-       afx_msg void OnButtonHostAdd();
-       afx_msg void OnButtonHostEdit();
-       afx_msg void OnButtonHostRemove();
-       afx_msg void OnDblclkListDomainrealm();
-       afx_msg void OnButtonHostmaintHelp();
-       //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_KRBDOMAINREALMMAINTENANCE_H__6DB290A6_E14D_11D2_95CE_0000861B8A3C__INCLUDED_)
diff --git a/src/windows/leash/KrbEditHostServer.cpp b/src/windows/leash/KrbEditHostServer.cpp
deleted file mode 100644 (file)
index 5fe27c5..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-//     **************************************************************************************
-//     File:                   KrbEditHostServer.cpp
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    CPP file for KrbEditHostServer.h. Contains variables and functions
-//                                     for Kerberos Four and Five Properties
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     12/02/98        ADL             Original
-//     **************************************************************************************
-
-
-#include "stdafx.h"
-#include "leash.h"
-#include "KrbEditHostServer.h"
-#include "lglobals.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbEditHostServer dialog
-
-CKrbEditHostServer::CKrbEditHostServer(CString& editItem, CWnd* pParent)
-       : CDialog(CKrbEditHostServer::IDD, pParent)
-{
-       m_startup = TRUE;
-       m_newHost = editItem;
-
-       //{{AFX_DATA_INIT(CKrbEditHostServer)
-               // NOTE: the ClassWizard will add member initialization here
-       //}}AFX_DATA_INIT
-}
-
-void CKrbEditHostServer::DoDataExchange(CDataExchange* pDX)
-{
-       CDialog::DoDataExchange(pDX);
-       //{{AFX_DATA_MAP(CKrbEditHostServer)
-               // NOTE: the ClassWizard will add DDX and DDV calls here
-       //}}AFX_DATA_MAP
-}
-
-
-BEGIN_MESSAGE_MAP(CKrbEditHostServer, CDialog)
-       //{{AFX_MSG_MAP(CKrbEditHostServer)
-       ON_WM_SHOWWINDOW()
-       ON_EN_CHANGE(IDC_EDIT_KDC_HOST, OnChangeEditKdcHost)
-       //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbEditHostServer message handlers
-
-BOOL CKrbEditHostServer::OnInitDialog()
-{
-       CDialog::OnInitDialog();
-
-       SetDlgItemText(IDC_EDIT_KDC_HOST, m_newHost);
-       return TRUE;
-}
-
-void CKrbEditHostServer::OnShowWindow(BOOL bShow, UINT nStatus)
-{
-       CDialog::OnShowWindow(bShow, nStatus);
-       m_startup = FALSE;
-}
-
-void CKrbEditHostServer::OnChangeEditKdcHost()
-{
-       if (!m_startup)
-         GetDlgItemText(IDC_EDIT_KDC_HOST, m_newHost);
-}
-
-void CKrbEditHostServer::OnOK()
-{
-       m_newHost.TrimLeft();
-       m_newHost.TrimRight();
-
-       if (m_newHost.IsEmpty())
-       { // stay
-               MessageBox("OnOK::The Server field must be filled in!",
-                    "Error", MB_OK);
-       }
-       else if (-1 != m_newHost.Find(' '))
-       { // stay
-               MessageBox("OnOK::Illegal space found!", "Error", MB_OK);
-       }
-       else
-         CDialog::OnOK(); // exit
-}
diff --git a/src/windows/leash/KrbEditHostServer.h b/src/windows/leash/KrbEditHostServer.h
deleted file mode 100644 (file)
index 5cbbd03..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-//     **************************************************************************************
-//     File:                   KrbEditHostServer.h
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    H file for KrbEditHostServer.cpp. Contains variables and functions
-//                                     for Kerberos Four and Five Properties
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     12/02/98        ADL             Original
-//     **************************************************************************************
-
-
-
-#if !defined(AFX_EDITHOST_H__26A1E1F7_9117_11D2_94D0_0000861B8A3C__INCLUDED_)
-#define AFX_EDITHOST_H__26A1E1F7_9117_11D2_94D0_0000861B8A3C__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-// EditRealmHostList.h : header file
-//
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbEditHostServer dialog
-
-class CKrbEditHostServer : public CDialog
-{
-// Construction
-private:
-       CString m_newHost;
-       BOOL m_startup;
-
-public:
-       CKrbEditHostServer(CString& editItem, CWnd* pParent = NULL);
-       CString GetEditedItem() {return m_newHost;}
-
-// Dialog Data
-       //{{AFX_DATA(CKrbEditHostServer)
-       enum { IDD = IDD_KRB_EDIT_KDC_HOSTSERVER };
-       //}}AFX_DATA
-
-
-// Overrides
-       // ClassWizard generated virtual function overrides
-       //{{AFX_VIRTUAL(CKrbEditHostServer)
-       protected:
-       virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
-       //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
-       // Generated message map functions
-       //{{AFX_MSG(CKrbEditHostServer)
-       afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
-       virtual void OnOK();
-       virtual BOOL OnInitDialog();
-       afx_msg void OnChangeEditKdcHost();
-       //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_EDITHOST_H__26A1E1F7_9117_11D2_94D0_0000861B8A3C__INCLUDED_)
diff --git a/src/windows/leash/KrbEditRealm.cpp b/src/windows/leash/KrbEditRealm.cpp
deleted file mode 100644 (file)
index d7d04bd..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-//     **************************************************************************************
-//     File:                   KrbEditRealm.cpp
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    CPP file for KrbEditRealm.h. Contains variables and functions
-//                                     for Kerberos Four and Five Properties
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     12/02/98        ADL             Original
-//     **************************************************************************************
-
-
-#include "stdafx.h"
-#include "leash.h"
-#include "KrbEditRealm.h"
-#include "lglobals.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbEditRealm dialog
-
-CKrbEditRealm::CKrbEditRealm(CString& editItem, CWnd* pParent)
-       : CDialog(CKrbEditRealm::IDD, pParent)
-{
-       m_startup = TRUE;
-       m_newRealm = editItem;
-
-
-       //{{AFX_DATA_INIT(CKrbEditRealm)
-               // NOTE: the ClassWizard will add member initialization here
-       //}}AFX_DATA_INIT
-}
-
-void CKrbEditRealm::DoDataExchange(CDataExchange* pDX)
-{
-       CDialog::DoDataExchange(pDX);
-       //{{AFX_DATA_MAP(CKrbEditRealm)
-               // NOTE: the ClassWizard will add DDX and DDV calls here
-       //}}AFX_DATA_MAP
-}
-
-
-BEGIN_MESSAGE_MAP(CKrbEditRealm, CDialog)
-       //{{AFX_MSG_MAP(CKrbEditRealm)
-       ON_WM_SHOWWINDOW()
-       ON_EN_CHANGE(IDC_EDIT_REALM, OnChangeEditRealm)
-       //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbEditRealm message handlers
-
-BOOL CKrbEditRealm::OnInitDialog()
-{
-       CDialog::OnInitDialog();
-
-       SetDlgItemText(IDC_EDIT_REALM, m_newRealm);
-
-       return TRUE;
-}
-
-void CKrbEditRealm::OnShowWindow(BOOL bShow, UINT nStatus)
-{
-       CDialog::OnShowWindow(bShow, nStatus);
-       m_startup = FALSE;
-}
-
-void CKrbEditRealm::OnChangeEditRealm()
-{
-       if (!m_startup)
-         GetDlgItemText(IDC_EDIT_REALM, m_newRealm);
-}
-
-void CKrbEditRealm::OnOK()
-{
-       m_newRealm.TrimLeft();
-       m_newRealm.TrimRight();
-
-       if (m_newRealm.IsEmpty())
-       { // stay
-               MessageBox("OnOK::The Realm field must be filled in!",
-                    "Leash", MB_OK);
-       }
-       else if (-1 != m_newRealm.Find(' '))
-       { // stay
-               MessageBox("OnOK::Illegal space found!", "Leash", MB_OK);
-       }
-       else
-         CDialog::OnOK(); // exit
-}
diff --git a/src/windows/leash/KrbEditRealm.h b/src/windows/leash/KrbEditRealm.h
deleted file mode 100644 (file)
index 4bf5fdf..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-//     **************************************************************************************
-//     File:                   KrbEditRealm.h
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    H file for Krb4EditRealmHostList.cpp. Contains variables and functions
-//                                     for Kerberos Four Properties
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     12/02/98        ADL             Original
-//     **************************************************************************************
-
-
-
-#if !defined(AFX_EDITREALMHOSTLIST_H__26A1E1F7_9117_11D2_94D0_0000861B8A3C__INCLUDED_)
-#define AFX_EDITREALMHOSTLIST_H__26A1E1F7_9117_11D2_94D0_0000861B8A3C__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-// EditRealmHostList.h : header file
-//
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbEditRealm dialog
-
-class CKrbEditRealm : public CDialog
-{
-// Construction
-private:
-       //CString m_editItem;
-       //CString m_initRealm;
-       CString m_newRealm;
-       //CString m_initHost;
-       //CString m_newHost;
-       //BOOL m_initAdmin;
-       //BOOL m_newAdmin;
-       BOOL m_startup;
-
-public:
-       CKrbEditRealm(CString& editItem, CWnd* pParent = NULL);
-       CString GetEditedItem() {return m_newRealm;}
-
-// Dialog Data
-       //{{AFX_DATA(CKrbEditRealm)
-       enum { IDD = IDD_KRB_EDIT_REALM };
-       //}}AFX_DATA
-
-
-// Overrides
-       // ClassWizard generated virtual function overrides
-       //{{AFX_VIRTUAL(CKrbEditRealm)
-       protected:
-       virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
-       //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
-       // Generated message map functions
-       //{{AFX_MSG(CKrbEditRealm)
-       afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
-       afx_msg void OnChangeEditRealm();
-       virtual void OnOK();
-       virtual BOOL OnInitDialog();
-       //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_EDITREALMHOSTLIST_H__26A1E1F7_9117_11D2_94D0_0000861B8A3C__INCLUDED_)
diff --git a/src/windows/leash/KrbMiscConfigOpt.cpp b/src/windows/leash/KrbMiscConfigOpt.cpp
deleted file mode 100644 (file)
index 2c7153e..0000000
+++ /dev/null
@@ -1,1020 +0,0 @@
-//*****************************************************************************
-// File:       KrbMiscConfigOpt.cpp
-// By:         Paul B. Hill
-// Created:    08/12/1999
-// Copyright:  @1999 Massachusetts Institute of Technology - All rights
-//             reserved.
-// Description: CPP file for KrbMiscConfigOpt.cpp.  Contains variables
-//             and functions for Kerberos Properties.
-//
-// History:
-//
-// MM/DD/YY    Inits   Description of Change
-// 08/12/99    PBH     Original
-//*****************************************************************************
-
-#include "stdafx.h"
-#include "Leash.h"
-#include "KrbProperties.h"
-#include "KrbMiscConfigOpt.h"
-#include "LeashFileDialog.h"
-#include "LeashMessageBox.h"
-#include "lglobals.h"
-#include <direct.h>
-#include "reminder.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-
-///////////////////////////////////////////////////////////////////////
-// CKrbMiscConfigOpt property page
-
-UINT CKrbMiscConfigOpt::m_DefaultLifeTime;
-CString CKrbMiscConfigOpt::m_initDefaultLifeTimeMin;
-CString CKrbMiscConfigOpt::m_newDefaultLifeTimeMin;
-CEdit CKrbMiscConfigOpt::m_krbLifeTimeMinEditbox;
-CString CKrbMiscConfigOpt::m_initDefaultLifeTimeHr;
-CString CKrbMiscConfigOpt::m_newDefaultLifeTimeHr;
-CEdit CKrbMiscConfigOpt::m_krbLifeTimeHrEditbox;
-CString CKrbMiscConfigOpt::m_initDefaultLifeTimeDay;
-CString CKrbMiscConfigOpt::m_newDefaultLifeTimeDay;
-CEdit CKrbMiscConfigOpt::m_krbLifeTimeDayEditbox;
-
-UINT CKrbMiscConfigOpt::m_DefaultRenewTill;
-CString CKrbMiscConfigOpt::m_initDefaultRenewTillMin;
-CString CKrbMiscConfigOpt::m_newDefaultRenewTillMin;
-CEdit CKrbMiscConfigOpt::m_krbRenewTillMinEditbox;
-CString CKrbMiscConfigOpt::m_initDefaultRenewTillHr;
-CString CKrbMiscConfigOpt::m_newDefaultRenewTillHr;
-CEdit CKrbMiscConfigOpt::m_krbRenewTillHrEditbox;
-CString CKrbMiscConfigOpt::m_initDefaultRenewTillDay;
-CString CKrbMiscConfigOpt::m_newDefaultRenewTillDay;
-CEdit CKrbMiscConfigOpt::m_krbRenewTillDayEditbox;
-
-UINT CKrbMiscConfigOpt::m_DefaultLifeMin;
-CString CKrbMiscConfigOpt::m_initDefaultLifeMinMin;
-CString CKrbMiscConfigOpt::m_newDefaultLifeMinMin;
-CEdit CKrbMiscConfigOpt::m_krbLifeMinMinEditbox;
-CString CKrbMiscConfigOpt::m_initDefaultLifeMinHr;
-CString CKrbMiscConfigOpt::m_newDefaultLifeMinHr;
-CEdit CKrbMiscConfigOpt::m_krbLifeMinHrEditbox;
-CString CKrbMiscConfigOpt::m_initDefaultLifeMinDay;
-CString CKrbMiscConfigOpt::m_newDefaultLifeMinDay;
-CEdit CKrbMiscConfigOpt::m_krbLifeMinDayEditbox;
-
-UINT CKrbMiscConfigOpt::m_DefaultLifeMax;
-CString CKrbMiscConfigOpt::m_initDefaultLifeMaxMin;
-CString CKrbMiscConfigOpt::m_newDefaultLifeMaxMin;
-CEdit CKrbMiscConfigOpt::m_krbLifeMaxMinEditbox;
-CString CKrbMiscConfigOpt::m_initDefaultLifeMaxHr;
-CString CKrbMiscConfigOpt::m_newDefaultLifeMaxHr;
-CEdit CKrbMiscConfigOpt::m_krbLifeMaxHrEditbox;
-CString CKrbMiscConfigOpt::m_initDefaultLifeMaxDay;
-CString CKrbMiscConfigOpt::m_newDefaultLifeMaxDay;
-CEdit CKrbMiscConfigOpt::m_krbLifeMaxDayEditbox;
-
-UINT CKrbMiscConfigOpt::m_DefaultRenewMin;
-CString CKrbMiscConfigOpt::m_initDefaultRenewMinMin;
-CString CKrbMiscConfigOpt::m_newDefaultRenewMinMin;
-CEdit CKrbMiscConfigOpt::m_krbRenewMinMinEditbox;
-CString CKrbMiscConfigOpt::m_initDefaultRenewMinHr;
-CString CKrbMiscConfigOpt::m_newDefaultRenewMinHr;
-CEdit CKrbMiscConfigOpt::m_krbRenewMinHrEditbox;
-CString CKrbMiscConfigOpt::m_initDefaultRenewMinDay;
-CString CKrbMiscConfigOpt::m_newDefaultRenewMinDay;
-CEdit CKrbMiscConfigOpt::m_krbRenewMinDayEditbox;
-
-UINT CKrbMiscConfigOpt::m_DefaultRenewMax;
-CString CKrbMiscConfigOpt::m_initDefaultRenewMaxMin;
-CString CKrbMiscConfigOpt::m_newDefaultRenewMaxMin;
-CEdit CKrbMiscConfigOpt::m_krbRenewMaxMinEditbox;
-CString CKrbMiscConfigOpt::m_initDefaultRenewMaxHr;
-CString CKrbMiscConfigOpt::m_newDefaultRenewMaxHr;
-CEdit CKrbMiscConfigOpt::m_krbRenewMaxHrEditbox;
-CString CKrbMiscConfigOpt::m_initDefaultRenewMaxDay;
-CString CKrbMiscConfigOpt::m_newDefaultRenewMaxDay;
-CEdit CKrbMiscConfigOpt::m_krbRenewMaxDayEditbox;
-
-
-IMPLEMENT_DYNCREATE(CKrbMiscConfigOpt, CPropertyPage)
-
-CKrbMiscConfigOpt::CKrbMiscConfigOpt() : CPropertyPage(CKrbMiscConfigOpt::IDD)
-{
-    m_noLifeTime = FALSE;
-
-    m_DefaultLifeTime = 0;
-    m_DefaultRenewTill = 0;
-       m_DefaultLifeMin = 0;
-       m_DefaultLifeMax = 0;
-       m_DefaultRenewMin = 0;
-       m_DefaultRenewMax = 0;
-    m_initUseKrb4 = m_newUseKrb4 = 0;
-    m_initKinitPreserve = m_newKinitPreserve = 0;
-
-       //{{AFX_DATA_INIT(CKrbConfigOptions)
-       //}}AFX_DATA_INIT
-}
-
-CKrbMiscConfigOpt::~CKrbMiscConfigOpt()
-{
-}
-
-VOID CKrbMiscConfigOpt::DoDataExchange(CDataExchange* pDX)
-{
-    TRACE("Entering CKrbMiscConfigOpt::DoDataExchange -- %d\n",
-          pDX->m_bSaveAndValidate);
-    CPropertyPage::DoDataExchange(pDX);
-    //{{AFX_DATA_MAP(CKrbMscConfigOpt)
-
-    DDX_Control(pDX, IDC_EDIT_LIFETIME_D,  m_krbLifeTimeDayEditbox);
-    DDX_Control(pDX, IDC_EDIT_LIFETIME_H,  m_krbLifeTimeHrEditbox);
-    DDX_Control(pDX, IDC_EDIT_LIFETIME_M,  m_krbLifeTimeMinEditbox);
-    DDX_Control(pDX, IDC_EDIT_RENEWTILL_D,  m_krbRenewTillDayEditbox);
-    DDX_Control(pDX, IDC_EDIT_RENEWTILL_H,  m_krbRenewTillHrEditbox);
-    DDX_Control(pDX, IDC_EDIT_RENEWTILL_M,  m_krbRenewTillMinEditbox);
-    DDX_Control(pDX, IDC_EDIT_LIFE_MIN_D,  m_krbLifeMinDayEditbox);
-    DDX_Control(pDX, IDC_EDIT_LIFE_MIN_H,  m_krbLifeMinHrEditbox);
-    DDX_Control(pDX, IDC_EDIT_LIFE_MIN_M,  m_krbLifeMinMinEditbox);
-    DDX_Control(pDX, IDC_EDIT_LIFE_MAX_D,  m_krbLifeMaxDayEditbox);
-    DDX_Control(pDX, IDC_EDIT_LIFE_MAX_H,  m_krbLifeMaxHrEditbox);
-    DDX_Control(pDX, IDC_EDIT_LIFE_MAX_M,  m_krbLifeMaxMinEditbox);
-    DDX_Control(pDX, IDC_EDIT_RENEW_MIN_D, m_krbRenewMinDayEditbox);
-    DDX_Control(pDX, IDC_EDIT_RENEW_MIN_H, m_krbRenewMinHrEditbox);
-    DDX_Control(pDX, IDC_EDIT_RENEW_MIN_M, m_krbRenewMinMinEditbox);
-    DDX_Control(pDX, IDC_EDIT_RENEW_MAX_D, m_krbRenewMaxDayEditbox);
-    DDX_Control(pDX, IDC_EDIT_RENEW_MAX_H, m_krbRenewMaxHrEditbox);
-    DDX_Control(pDX, IDC_EDIT_RENEW_MAX_M, m_krbRenewMaxMinEditbox);
-    //}}AFX_DATA_MAP
-}
-
-
-BOOL CKrbMiscConfigOpt::OnInitDialog()
-{
-    CPropertyPage::OnInitDialog();
-
-       DWORD tmp = m_DefaultLifeTime = pLeash_get_default_lifetime();
-    if (tmp)
-        m_noLifeTime = FALSE; // We now have the value.
-    else
-        m_noLifeTime = TRUE;
-
-    LPTSTR buf = m_initDefaultLifeTimeDay.GetBuffer(80);
-       _itoa(tmp/24/60, buf, 10);
-       tmp %= (24 * 60);
-    m_initDefaultLifeTimeDay.ReleaseBuffer();
-       m_newDefaultLifeTimeDay = m_initDefaultLifeTimeDay;
-
-       buf = m_initDefaultLifeTimeHr.GetBuffer(80);
-       _itoa(tmp/60, buf, 10);
-       tmp %= 60;
-    m_initDefaultLifeTimeHr.ReleaseBuffer();
-       m_newDefaultLifeTimeHr = m_initDefaultLifeTimeHr;
-
-       buf = m_initDefaultLifeTimeMin.GetBuffer(80);
-       _itoa(tmp, buf, 10);
-    m_initDefaultLifeTimeMin.ReleaseBuffer();
-       m_newDefaultLifeTimeMin = m_initDefaultLifeTimeMin;
-
-       tmp = m_DefaultRenewTill = pLeash_get_default_renew_till();
-    buf = m_initDefaultRenewTillDay.GetBuffer(80);
-       _itoa(tmp/24/60, buf, 10);
-       tmp %= (24 * 60);
-    m_initDefaultRenewTillDay.ReleaseBuffer();
-       m_newDefaultRenewTillDay = m_initDefaultRenewTillDay;
-
-       buf = m_initDefaultRenewTillHr.GetBuffer(80);
-       _itoa(tmp/60, buf, 10);
-       tmp %= 60;
-    m_initDefaultRenewTillHr.ReleaseBuffer();
-       m_newDefaultRenewTillHr = m_initDefaultRenewTillHr;
-
-       buf = m_initDefaultRenewTillMin.GetBuffer(80);
-       _itoa(tmp, buf, 10);
-    m_initDefaultRenewTillMin.ReleaseBuffer();
-       m_newDefaultRenewTillMin = m_initDefaultRenewTillMin;
-
-    tmp = m_DefaultLifeMin = pLeash_get_default_life_min();
-       buf = m_initDefaultLifeMinDay.GetBuffer(80);
-       _itoa(tmp/24/60, buf, 10);
-       tmp %= (24 * 60);
-    m_initDefaultLifeMinDay.ReleaseBuffer();
-       m_newDefaultLifeMinDay = m_initDefaultLifeMinDay;
-
-       buf = m_initDefaultLifeMinHr.GetBuffer(80);
-       _itoa(tmp/60, buf, 10);
-       tmp %= 60;
-    m_initDefaultLifeMinHr.ReleaseBuffer();
-       m_newDefaultLifeMinHr = m_initDefaultLifeMinHr;
-
-       buf = m_initDefaultLifeMinMin.GetBuffer(80);
-       _itoa(tmp, buf, 10);
-    m_initDefaultLifeMinMin.ReleaseBuffer();
-       m_newDefaultLifeMinMin = m_initDefaultLifeMinMin;
-
-       tmp = m_DefaultLifeMax = pLeash_get_default_life_max();
-       buf = m_initDefaultLifeMaxDay.GetBuffer(80);
-       _itoa(tmp/24/60, buf, 10);
-       tmp %= (24 * 60);
-    m_initDefaultLifeMaxDay.ReleaseBuffer();
-       m_newDefaultLifeMaxDay = m_initDefaultLifeMaxDay;
-
-       buf = m_initDefaultLifeMaxHr.GetBuffer(80);
-       _itoa(tmp/60, buf, 10);
-       tmp %= 60;
-    m_initDefaultLifeMaxHr.ReleaseBuffer();
-       m_newDefaultLifeMaxHr = m_initDefaultLifeMaxHr;
-
-       buf = m_initDefaultLifeMaxMin.GetBuffer(80);
-       _itoa(tmp, buf, 10);
-    m_initDefaultLifeMaxMin.ReleaseBuffer();
-       m_newDefaultLifeMaxMin = m_initDefaultLifeMaxMin;
-
-    tmp = m_DefaultRenewMin = pLeash_get_default_renew_min();
-       buf = m_initDefaultRenewMinDay.GetBuffer(80);
-       _itoa(tmp/24/60, buf, 10);
-       tmp %= (24 * 60);
-    m_initDefaultRenewMinDay.ReleaseBuffer();
-       m_newDefaultRenewMinDay = m_initDefaultRenewMinDay;
-
-       buf = m_initDefaultRenewMinHr.GetBuffer(80);
-       _itoa(tmp/60, buf, 10);
-       tmp %= 60;
-    m_initDefaultRenewMinHr.ReleaseBuffer();
-       m_newDefaultRenewMinHr = m_initDefaultRenewMinHr;
-
-       buf = m_initDefaultRenewMinMin.GetBuffer(80);
-       _itoa(tmp, buf, 10);
-    m_initDefaultRenewMinMin.ReleaseBuffer();
-       m_newDefaultRenewMinMin = m_initDefaultRenewMinMin;
-
-       tmp = m_DefaultRenewMax = pLeash_get_default_renew_max();
-       buf = m_initDefaultRenewMaxDay.GetBuffer(80);
-       _itoa(tmp/24/60, buf, 10);
-       tmp %= (24 * 60);
-    m_initDefaultRenewMaxDay.ReleaseBuffer();
-       m_newDefaultRenewMaxDay = m_initDefaultRenewMaxDay;
-
-       buf = m_initDefaultRenewMaxHr.GetBuffer(80);
-       _itoa(tmp/60, buf, 10);
-       tmp %= 60;
-    m_initDefaultRenewMaxHr.ReleaseBuffer();
-       m_newDefaultRenewMaxHr = m_initDefaultRenewMaxHr;
-
-       buf = m_initDefaultRenewMaxMin.GetBuffer(80);
-       _itoa(tmp, buf, 10);
-    m_initDefaultRenewMaxMin.ReleaseBuffer();
-       m_newDefaultRenewMaxMin = m_initDefaultRenewMaxMin;
-
-    if (!CLeashApp::m_hKrb5DLL)
-    {
-        GetDlgItem(IDC_EDIT_RENEWTILL_D)->EnableWindow(FALSE);
-        GetDlgItem(IDC_EDIT_RENEWTILL_H)->EnableWindow(FALSE);
-        GetDlgItem(IDC_EDIT_RENEWTILL_M)->EnableWindow(FALSE);
-        GetDlgItem(IDC_EDIT_RENEW_MIN_D)->EnableWindow(FALSE);
-        GetDlgItem(IDC_EDIT_RENEW_MIN_H)->EnableWindow(FALSE);
-        GetDlgItem(IDC_EDIT_RENEW_MIN_M)->EnableWindow(FALSE);
-        GetDlgItem(IDC_EDIT_RENEW_MAX_D)->EnableWindow(FALSE);
-        GetDlgItem(IDC_EDIT_RENEW_MAX_H)->EnableWindow(FALSE);
-        GetDlgItem(IDC_EDIT_RENEW_MAX_M)->EnableWindow(FALSE);
-    }
-
-#ifndef NO_KRB4
-    m_initUseKrb4 = m_newUseKrb4 = (CLeashApp::m_hKrb4DLL ? pLeash_get_default_use_krb4() : 0);
-    CheckDlgButton(IDC_CHECK_REQUEST_KRB4, m_initUseKrb4);
-    if ( !CLeashApp::m_hKrb4DLL )
-        GetDlgItem(IDC_CHECK_REQUEST_KRB4)->EnableWindow(FALSE);
-#else
-////Or remove these completely?
-    m_initUseKrb4 = m_newUseKrb4 = 0;
-    CheckDlgButton(IDC_CHECK_REQUEST_KRB4, 0);
-    GetDlgItem(IDC_CHECK_REQUEST_KRB4)->EnableWindow(FALSE);
-#endif
-
-    m_initKinitPreserve = m_newKinitPreserve = pLeash_get_default_preserve_kinit_settings();
-    CheckDlgButton(IDC_CHECK_PRESERVE_KINIT_OPTIONS, m_initKinitPreserve);
-
-    return(TRUE);
-}
-
-BOOL CKrbMiscConfigOpt::OnApply()
-{
-    DWORD lifetime = ((atoi(m_newDefaultLifeTimeDay)*24 + atoi(m_newDefaultLifeTimeHr)) * 60) + atoi(m_newDefaultLifeTimeMin);
-    DWORD renewtill = ((atoi(m_newDefaultRenewTillDay)*24 + atoi(m_newDefaultRenewTillHr)) * 60) + atoi(m_newDefaultRenewTillMin);
-    DWORD lifemin = ((atoi(m_newDefaultLifeMinDay)*24 + atoi(m_newDefaultLifeMinHr)) * 60) + atoi(m_newDefaultLifeMinMin);
-    DWORD lifemax = ((atoi(m_newDefaultLifeMaxDay)*24 + atoi(m_newDefaultLifeMaxHr)) * 60) + atoi(m_newDefaultLifeMaxMin);
-    DWORD renewmin = ((atoi(m_newDefaultRenewMinDay)*24 + atoi(m_newDefaultRenewMinHr)) * 60) + atoi(m_newDefaultRenewMinMin);
-    DWORD renewmax = ((atoi(m_newDefaultRenewMaxDay)*24 + atoi(m_newDefaultRenewMaxHr)) * 60) + atoi(m_newDefaultRenewMaxMin);
-
-    // If no changes were made, quit this function
-    if ( m_DefaultLifeTime == lifetime &&
-         m_DefaultRenewTill == renewtill &&
-                m_DefaultLifeMin == lifemin &&
-                m_DefaultLifeMax == lifemax &&
-                m_DefaultRenewMin == renewmin &&
-                m_DefaultRenewMax == renewmax &&
-                m_initUseKrb4 == m_newUseKrb4 &&
-                m_initKinitPreserve == m_newKinitPreserve
-                )
-        return TRUE;
-
-    if ( lifemin > lifemax ) {
-        MessageBox("The Minimum Ticket Lifetime must be less than the Maximum Ticket Lifetime.",
-                    "Leash", MB_OK);
-        return(FALSE);
-    }
-
-    if (lifetime < lifemin || lifetime > lifemax) {
-        MessageBox("The default Ticket Lifetime must fall within the range specified by the "
-                   "Minimum and Maximum Ticket Lifetime fields",
-                    "Leash", MB_OK);
-        return(FALSE);
-    }
-
-    if ( CLeashApp::m_hKrb5DLL && (renewmin > renewmax) ) {
-        MessageBox("The Minimum Ticket Renewable Lifetime must be less than the Maximum Ticket Renewable Lifetime.",
-                    "Leash", MB_OK);
-        return(FALSE);
-    }
-
-    if ( CLeashApp::m_hKrb5DLL && (renewmin < lifemin) ) {
-        MessageBox("The Minimum Renewable Ticket Lifetime must not be smaller than the Minimum Ticket Lifetime.",
-                    "Leash", MB_OK);
-    }
-
-    if ( CLeashApp::m_hKrb5DLL && (renewtill < renewmin || renewtill > renewmax) ) {
-        MessageBox("The default Renewable Ticket Lifetime must fall within the range specified by the "
-                   "Minimum and Maximum Renewable Ticket Lifetime fields",
-                    "Leash", MB_OK);
-        return(FALSE);
-    }
-
-       m_DefaultLifeMin = lifemin;
-       pLeash_set_default_life_min(m_DefaultLifeMin);
-       m_initDefaultLifeMinDay = m_newDefaultLifeMinDay;
-       m_initDefaultLifeMinHr  = m_newDefaultLifeMinHr ;
-       m_initDefaultLifeMinMin = m_newDefaultLifeMinMin;
-
-       m_DefaultLifeMax = lifemax;
-       pLeash_set_default_life_max(m_DefaultLifeMax);
-       m_initDefaultLifeMaxDay = m_newDefaultLifeMaxDay;
-       m_initDefaultLifeMaxHr  = m_newDefaultLifeMaxHr ;
-       m_initDefaultLifeMaxMin = m_newDefaultLifeMaxMin;
-
-       m_DefaultRenewMin = renewmin;
-       pLeash_set_default_renew_min(m_DefaultRenewMin);
-       m_initDefaultRenewMinDay = m_newDefaultRenewMinDay;
-       m_initDefaultRenewMinHr  = m_newDefaultRenewMinHr ;
-       m_initDefaultRenewMinMin = m_newDefaultRenewMinMin;
-
-       m_DefaultRenewMax = renewmax;
-       pLeash_set_default_renew_max(m_DefaultRenewMax);
-       m_initDefaultRenewMaxDay = m_newDefaultRenewMaxDay;
-       m_initDefaultRenewMaxHr  = m_newDefaultRenewMaxHr ;
-       m_initDefaultRenewMaxMin = m_newDefaultRenewMaxMin;
-
-    m_DefaultRenewTill = renewtill;
-       pLeash_set_default_renew_till(m_DefaultRenewTill);
-       m_initDefaultRenewTillDay = m_newDefaultRenewTillDay;
-       m_initDefaultRenewTillHr  = m_newDefaultRenewTillHr ;
-       m_initDefaultRenewTillMin = m_newDefaultRenewTillMin;
-
-    if( getenv("LIFETIME") !=  NULL)
-    {
-        MessageBox("The ticket lifetime is being controlled by the environment "
-                   "variable LIFETIME instead of the registry. Leash cannot modify "
-                   "the environment. Use the System control panel instead.",
-                    "Leash", MB_OK);
-        return(FALSE);
-    }
-
-    m_DefaultLifeTime = lifetime;
-       pLeash_set_default_lifetime(m_DefaultLifeTime);
-       m_initDefaultLifeTimeDay = m_newDefaultLifeTimeDay;
-       m_initDefaultLifeTimeHr  = m_newDefaultLifeTimeHr ;
-       m_initDefaultLifeTimeMin = m_newDefaultLifeTimeMin;
-
-    // If we're using an environment variable tell the user that we
-    // can't use Leash to modify the value.
-
-    if (!m_DefaultLifeTime)
-    {
-        MessageBox("A lifetime setting of 0 is special in that it means that "
-                   "the application is free to pick whatever default it deems "
-                   "appropriate",
-                   "Leash", MB_OK);
-    }
-
-#ifndef NO_KRB4
-       if ( m_initUseKrb4 != m_newUseKrb4 ) {
-               pLeash_set_default_use_krb4(m_newUseKrb4);
-       }
-#endif
-
-       if ( m_initKinitPreserve != m_newKinitPreserve ) {
-               pLeash_set_default_preserve_kinit_settings(m_newKinitPreserve);
-       }
-
-       return TRUE;
-}
-
-void CKrbMiscConfigOpt::OnSelchangeEditDefaultLifeTime()
-{
-       static int in_progress = 0;
-    if (!in_progress && !m_startupPage2)
-    {
-               in_progress = 1;
-        GetDlgItemText(IDC_EDIT_LIFETIME_D, m_newDefaultLifeTimeDay);
-        GetDlgItemText(IDC_EDIT_LIFETIME_H, m_newDefaultLifeTimeHr);
-        GetDlgItemText(IDC_EDIT_LIFETIME_M, m_newDefaultLifeTimeMin);
-               DWORD value = (((atoi(m_newDefaultLifeTimeDay)*24 + atoi(m_newDefaultLifeTimeHr)) * 60) + atoi(m_newDefaultLifeTimeMin));
-               LPSTR buf = m_newDefaultLifeTimeDay.GetBuffer(80);
-               _itoa(value/24/60, buf, 10);
-               value %= (24 * 60);
-               m_newDefaultLifeTimeDay.ReleaseBuffer();
-               buf = m_newDefaultLifeTimeHr.GetBuffer(80);
-               _itoa(value/60, buf, 10);
-               value %= 60;
-               m_newDefaultLifeTimeHr.ReleaseBuffer();
-               buf = m_newDefaultLifeTimeMin.GetBuffer(80);
-               _itoa(value, buf, 10);
-               m_newDefaultLifeTimeMin.ReleaseBuffer();
-        SetDlgItemText(IDC_EDIT_LIFETIME_D, m_newDefaultLifeTimeDay);
-        SetDlgItemText(IDC_EDIT_LIFETIME_H, m_newDefaultLifeTimeHr);
-        SetDlgItemText(IDC_EDIT_LIFETIME_M, m_newDefaultLifeTimeMin);
-        SetModified(TRUE);
-               in_progress = 0;
-    }
-}
-
-void CKrbMiscConfigOpt::OnEditKillfocusEditDefaultLifeTime()
-{
-    static int in_progress = 0;
-    if (!in_progress && !m_startupPage2)
-    {
-               in_progress = 1;
-        GetDlgItemText(IDC_EDIT_LIFETIME_D, m_newDefaultLifeTimeDay);
-        GetDlgItemText(IDC_EDIT_LIFETIME_H, m_newDefaultLifeTimeHr);
-        GetDlgItemText(IDC_EDIT_LIFETIME_M, m_newDefaultLifeTimeMin);
-               DWORD value = (((atoi(m_newDefaultLifeTimeDay)*24 + atoi(m_newDefaultLifeTimeHr)) * 60) + atoi(m_newDefaultLifeTimeMin));
-               LPSTR buf = m_newDefaultLifeTimeDay.GetBuffer(80);
-               _itoa(value/24/60, buf, 10);
-               value %= (24 * 60);
-               m_newDefaultLifeTimeDay.ReleaseBuffer();
-               buf = m_newDefaultLifeTimeHr.GetBuffer(80);
-               _itoa(value/60, buf, 10);
-               value %= 60;
-               m_newDefaultLifeTimeHr.ReleaseBuffer();
-               buf = m_newDefaultLifeTimeMin.GetBuffer(80);
-               _itoa(value, buf, 10);
-               m_newDefaultLifeTimeMin.ReleaseBuffer();
-        SetDlgItemText(IDC_EDIT_LIFETIME_D, m_newDefaultLifeTimeDay);
-        SetDlgItemText(IDC_EDIT_LIFETIME_H, m_newDefaultLifeTimeHr);
-        SetDlgItemText(IDC_EDIT_LIFETIME_M, m_newDefaultLifeTimeMin);
-
-               SetModified(TRUE);
-               in_progress = 0;
-    }
-}
-
-void CKrbMiscConfigOpt::ResetDefaultLifeTimeEditBox()
-{
-    // Reset Config Tab's Default LifeTime Editbox
-
-       DWORD tmp = m_DefaultLifeTime = pLeash_get_default_lifetime();
-       LPSTR buf = m_newDefaultLifeTimeDay.GetBuffer(80);
-       _itoa(tmp/24/60, buf, 10);
-       tmp %= (24 * 60);
-    m_newDefaultLifeTimeDay.ReleaseBuffer();
-       buf = m_newDefaultLifeTimeHr.GetBuffer(80);
-       _itoa(tmp/60, buf, 10);
-       tmp %= 60;
-    m_newDefaultLifeTimeHr.ReleaseBuffer();
-       buf = m_newDefaultLifeTimeMin.GetBuffer(80);
-       _itoa(tmp, buf, 10);
-    m_newDefaultLifeTimeMin.ReleaseBuffer();
-
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFETIME_D, m_newDefaultLifeTimeDay);
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFETIME_H, m_newDefaultLifeTimeHr);
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFETIME_M, m_newDefaultLifeTimeMin);
-}
-
-
-void CKrbMiscConfigOpt::OnSelchangeEditDefaultRenewTill()
-{
-       static int in_progress = 0;
-    if (!in_progress && !m_startupPage2)
-    {
-               in_progress = 1;
-        GetDlgItemText(IDC_EDIT_RENEWTILL_D, m_newDefaultRenewTillDay);
-        GetDlgItemText(IDC_EDIT_RENEWTILL_H, m_newDefaultRenewTillHr);
-        GetDlgItemText(IDC_EDIT_RENEWTILL_M, m_newDefaultRenewTillMin);
-               DWORD value = (((atoi(m_newDefaultRenewTillDay)*24 + atoi(m_newDefaultRenewTillHr)) * 60) + atoi(m_newDefaultRenewTillMin));
-               LPSTR buf = m_newDefaultRenewTillDay.GetBuffer(80);
-               _itoa(value/24/60, buf, 10);
-               value %= (24 * 60);
-               m_newDefaultRenewTillDay.ReleaseBuffer();
-               buf = m_newDefaultRenewTillHr.GetBuffer(80);
-               _itoa(value/60, buf, 10);
-               value %= 60;
-               m_newDefaultRenewTillHr.ReleaseBuffer();
-               buf = m_newDefaultRenewTillMin.GetBuffer(80);
-               _itoa(value, buf, 10);
-               m_newDefaultRenewTillMin.ReleaseBuffer();
-        SetDlgItemText(IDC_EDIT_RENEWTILL_D, m_newDefaultRenewTillDay);
-        SetDlgItemText(IDC_EDIT_RENEWTILL_H, m_newDefaultRenewTillHr);
-        SetDlgItemText(IDC_EDIT_RENEWTILL_M, m_newDefaultRenewTillMin);
-        SetModified(TRUE);
-               in_progress = 0;
-    }
-}
-
-void CKrbMiscConfigOpt::OnEditKillfocusEditDefaultRenewTill()
-{
-    static int in_progress = 0;
-    if (!in_progress && !m_startupPage2)
-    {
-               in_progress = 1;
-        GetDlgItemText(IDC_EDIT_RENEWTILL_D, m_newDefaultRenewTillDay);
-        GetDlgItemText(IDC_EDIT_RENEWTILL_H, m_newDefaultRenewTillHr);
-        GetDlgItemText(IDC_EDIT_RENEWTILL_M, m_newDefaultRenewTillMin);
-               DWORD value = (((atoi(m_newDefaultRenewTillDay)*24 + atoi(m_newDefaultRenewTillHr)) * 60) + atoi(m_newDefaultRenewTillMin));
-               LPSTR buf = m_newDefaultRenewTillDay.GetBuffer(80);
-               _itoa(value/24/60, buf, 10);
-               value %= (24 * 60);
-               m_newDefaultRenewTillDay.ReleaseBuffer();
-               buf = m_newDefaultRenewTillHr.GetBuffer(80);
-               _itoa(value/60, buf, 10);
-               value %= 60;
-               m_newDefaultRenewTillHr.ReleaseBuffer();
-               buf = m_newDefaultRenewTillMin.GetBuffer(80);
-               _itoa(value, buf, 10);
-               m_newDefaultRenewTillMin.ReleaseBuffer();
-        SetDlgItemText(IDC_EDIT_RENEWTILL_D, m_newDefaultRenewTillDay);
-        SetDlgItemText(IDC_EDIT_RENEWTILL_H, m_newDefaultRenewTillHr);
-        SetDlgItemText(IDC_EDIT_RENEWTILL_M, m_newDefaultRenewTillMin);
-
-               SetModified(TRUE);
-               in_progress = 0;
-    }
-}
-
-void CKrbMiscConfigOpt::ResetDefaultRenewTillEditBox()
-{
-    // Reset Config Tab's Default RenewTill Editbox
-
-       DWORD tmp = m_DefaultRenewTill = pLeash_get_default_lifetime();
-       LPSTR buf = m_newDefaultRenewTillDay.GetBuffer(80);
-       _itoa(tmp/24/60, buf, 10);
-       tmp %= (24 * 60);
-    m_newDefaultRenewTillDay.ReleaseBuffer();
-       buf = m_newDefaultRenewTillHr.GetBuffer(80);
-       _itoa(tmp/60, buf, 10);
-       tmp %= 60;
-    m_newDefaultRenewTillHr.ReleaseBuffer();
-       buf = m_newDefaultRenewTillMin.GetBuffer(80);
-       _itoa(tmp, buf, 10);
-    m_newDefaultRenewTillMin.ReleaseBuffer();
-
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEWTILL_D, m_newDefaultRenewTillDay);
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEWTILL_H, m_newDefaultRenewTillHr);
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEWTILL_M, m_newDefaultRenewTillMin);
-}
-
-
-void CKrbMiscConfigOpt::OnSelchangeEditDefaultLifeMin()
-{
-       static int in_progress = 0;
-    if (!in_progress && !m_startupPage2)
-    {
-               in_progress = 1;
-        GetDlgItemText(IDC_EDIT_LIFE_MIN_D, m_newDefaultLifeMinDay);
-        GetDlgItemText(IDC_EDIT_LIFE_MIN_H, m_newDefaultLifeMinHr);
-        GetDlgItemText(IDC_EDIT_LIFE_MIN_M, m_newDefaultLifeMinMin);
-               DWORD value = (((atoi(m_newDefaultLifeMinDay)*24 + atoi(m_newDefaultLifeMinHr)) * 60) + atoi(m_newDefaultLifeMinMin));
-               LPSTR buf = m_newDefaultLifeMinDay.GetBuffer(80);
-               _itoa(value/24/60, buf, 10);
-               value %= (24 * 60);
-               m_newDefaultLifeMinDay.ReleaseBuffer();
-               buf = m_newDefaultLifeMinHr.GetBuffer(80);
-               _itoa(value/60, buf, 10);
-               value %= 60;
-               m_newDefaultLifeMinHr.ReleaseBuffer();
-               buf = m_newDefaultLifeMinMin.GetBuffer(80);
-               _itoa(value, buf, 10);
-               m_newDefaultLifeMinMin.ReleaseBuffer();
-        SetDlgItemText(IDC_EDIT_LIFE_MIN_D, m_newDefaultLifeMinDay);
-        SetDlgItemText(IDC_EDIT_LIFE_MIN_H, m_newDefaultLifeMinHr);
-        SetDlgItemText(IDC_EDIT_LIFE_MIN_M, m_newDefaultLifeMinMin);
-        SetModified(TRUE);
-               in_progress = 0;
-    }
-}
-
-void CKrbMiscConfigOpt::OnEditKillfocusEditDefaultLifeMin()
-{
-    static int in_progress = 0;
-    if (!in_progress && !m_startupPage2)
-    {
-               in_progress = 1;
-        GetDlgItemText(IDC_EDIT_LIFE_MIN_D, m_newDefaultLifeMinDay);
-        GetDlgItemText(IDC_EDIT_LIFE_MIN_H, m_newDefaultLifeMinHr);
-        GetDlgItemText(IDC_EDIT_LIFE_MIN_M, m_newDefaultLifeMinMin);
-               DWORD value = (((atoi(m_newDefaultLifeMinDay)*24 + atoi(m_newDefaultLifeMinHr)) * 60) + atoi(m_newDefaultLifeMinMin));
-               LPSTR buf = m_newDefaultLifeMinDay.GetBuffer(80);
-               _itoa(value/24/60, buf, 10);
-               value %= (24 * 60);
-               m_newDefaultLifeMinDay.ReleaseBuffer();
-               buf = m_newDefaultLifeMinHr.GetBuffer(80);
-               _itoa(value/60, buf, 10);
-               value %= 60;
-               m_newDefaultLifeMinHr.ReleaseBuffer();
-               buf = m_newDefaultLifeMinMin.GetBuffer(80);
-               _itoa(value, buf, 10);
-               m_newDefaultLifeMinMin.ReleaseBuffer();
-        SetDlgItemText(IDC_EDIT_LIFE_MIN_D, m_newDefaultLifeMinDay);
-        SetDlgItemText(IDC_EDIT_LIFE_MIN_H, m_newDefaultLifeMinHr);
-        SetDlgItemText(IDC_EDIT_LIFE_MIN_M, m_newDefaultLifeMinMin);
-
-               SetModified(TRUE);
-               in_progress = 0;
-    }
-}
-
-void CKrbMiscConfigOpt::ResetDefaultLifeMinEditBox()
-{
-    // Reset Config Tab's Default LifeMin Editbox
-
-       DWORD tmp = m_DefaultLifeMin = pLeash_get_default_life_min();
-       LPSTR buf = m_newDefaultLifeMinDay.GetBuffer(80);
-       _itoa(tmp/24/60, buf, 10);
-       tmp %= (24 * 60);
-    m_newDefaultLifeMinDay.ReleaseBuffer();
-       buf = m_newDefaultLifeMinHr.GetBuffer(80);
-       _itoa(tmp/60, buf, 10);
-       tmp %= 60;
-    m_newDefaultLifeMinHr.ReleaseBuffer();
-       buf = m_newDefaultLifeMinMin.GetBuffer(80);
-       _itoa(tmp, buf, 10);
-    m_newDefaultLifeMinMin.ReleaseBuffer();
-
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFE_MIN_D, m_newDefaultLifeMinDay);
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFE_MIN_H, m_newDefaultLifeMinHr);
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFE_MIN_M, m_newDefaultLifeMinMin);
-}
-
-void CKrbMiscConfigOpt::OnSelchangeEditDefaultLifeMax()
-{
-       static int in_progress = 0;
-    if (!in_progress && !m_startupPage2)
-    {
-               in_progress = 1;
-        GetDlgItemText(IDC_EDIT_LIFE_MAX_D, m_newDefaultLifeMaxDay);
-        GetDlgItemText(IDC_EDIT_LIFE_MAX_H, m_newDefaultLifeMaxHr);
-        GetDlgItemText(IDC_EDIT_LIFE_MAX_M, m_newDefaultLifeMaxMin);
-               DWORD value = (((atoi(m_newDefaultLifeMaxDay)*24 + atoi(m_newDefaultLifeMaxHr)) * 60) + atoi(m_newDefaultLifeMaxMin));
-               LPSTR buf = m_newDefaultLifeMaxDay.GetBuffer(80);
-               _itoa(value/24/60, buf, 10);
-               value %= (24 * 60);
-               m_newDefaultLifeMaxDay.ReleaseBuffer();
-               buf = m_newDefaultLifeMaxHr.GetBuffer(80);
-               _itoa(value/60, buf, 10);
-               value %= 60;
-               m_newDefaultLifeMaxHr.ReleaseBuffer();
-               buf = m_newDefaultLifeMaxMin.GetBuffer(80);
-               _itoa(value, buf, 10);
-               m_newDefaultLifeMaxMin.ReleaseBuffer();
-        SetDlgItemText(IDC_EDIT_LIFE_MAX_D, m_newDefaultLifeMaxDay);
-        SetDlgItemText(IDC_EDIT_LIFE_MAX_H, m_newDefaultLifeMaxHr);
-        SetDlgItemText(IDC_EDIT_LIFE_MAX_M, m_newDefaultLifeMaxMin);
-
-        SetModified(TRUE);
-               in_progress = 0;
-       }
-}
-
-void CKrbMiscConfigOpt::OnEditKillfocusEditDefaultLifeMax()
-{
-       static int in_progress = 0;
-    if (!in_progress && !m_startupPage2)
-    {
-               in_progress = 1;
-        GetDlgItemText(IDC_EDIT_LIFE_MAX_D, m_newDefaultLifeMaxDay);
-        GetDlgItemText(IDC_EDIT_LIFE_MAX_H, m_newDefaultLifeMaxHr);
-        GetDlgItemText(IDC_EDIT_LIFE_MAX_M, m_newDefaultLifeMaxMin);
-               DWORD value = (((atoi(m_newDefaultLifeMaxDay)*24 + atoi(m_newDefaultLifeMaxHr)) * 60) + atoi(m_newDefaultLifeMaxMin));
-               LPSTR buf = m_newDefaultLifeMaxDay.GetBuffer(80);
-               _itoa(value/24/60, buf, 10);
-               value %= (24 * 60);
-               m_newDefaultLifeMaxDay.ReleaseBuffer();
-               buf = m_newDefaultLifeMaxHr.GetBuffer(80);
-               _itoa(value/60, buf, 10);
-               value %= 60;
-               m_newDefaultLifeMaxHr.ReleaseBuffer();
-               buf = m_newDefaultLifeMaxMin.GetBuffer(80);
-               _itoa(value, buf, 10);
-               m_newDefaultLifeMaxMin.ReleaseBuffer();
-        SetDlgItemText(IDC_EDIT_LIFE_MAX_D, m_newDefaultLifeMaxDay);
-        SetDlgItemText(IDC_EDIT_LIFE_MAX_H, m_newDefaultLifeMaxHr);
-        SetDlgItemText(IDC_EDIT_LIFE_MAX_M, m_newDefaultLifeMaxMin);
-
-               SetModified(TRUE);
-               in_progress = 0;
-       }
-}
-
-void CKrbMiscConfigOpt::ResetDefaultLifeMaxEditBox()
-{
-    // Reset Config Tab's Default LifeMax Editbox
-
-       DWORD tmp = m_DefaultLifeMax = pLeash_get_default_life_min();
-       LPSTR buf = m_newDefaultLifeMaxDay.GetBuffer(80);
-       _itoa(tmp/24/60, buf, 10);
-       tmp %= (24 * 60);
-    m_newDefaultLifeMaxDay.ReleaseBuffer();
-       buf = m_newDefaultLifeMaxHr.GetBuffer(80);
-       _itoa(tmp/60, buf, 10);
-       tmp %= 60;
-    m_newDefaultLifeMaxHr.ReleaseBuffer();
-       buf = m_newDefaultLifeMaxMin.GetBuffer(80);
-       _itoa(tmp, buf, 10);
-    m_newDefaultLifeMaxMin.ReleaseBuffer();
-
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFE_MAX_D, m_newDefaultLifeMaxDay);
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFE_MAX_H, m_newDefaultLifeMaxHr);
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFE_MAX_M, m_newDefaultLifeMaxMin);
-}
-
-void CKrbMiscConfigOpt::OnSelchangeEditDefaultRenewMin()
-{
-       static int in_progress = 0;
-    if (!in_progress && !m_startupPage2)
-    {
-               in_progress = 1;
-        GetDlgItemText(IDC_EDIT_RENEW_MIN_D, m_newDefaultRenewMinDay);
-        GetDlgItemText(IDC_EDIT_RENEW_MIN_H, m_newDefaultRenewMinHr);
-        GetDlgItemText(IDC_EDIT_RENEW_MIN_M, m_newDefaultRenewMinMin);
-               DWORD value = (((atoi(m_newDefaultRenewMinDay)*24 + atoi(m_newDefaultRenewMinHr)) * 60) + atoi(m_newDefaultRenewMinMin));
-               LPSTR buf = m_newDefaultRenewMinDay.GetBuffer(80);
-               _itoa(value/24/60, buf, 10);
-               value %= (24 * 60);
-               m_newDefaultRenewMinDay.ReleaseBuffer();
-               buf = m_newDefaultRenewMinHr.GetBuffer(80);
-               _itoa(value/60, buf, 10);
-               value %= 60;
-               m_newDefaultRenewMinHr.ReleaseBuffer();
-               buf = m_newDefaultRenewMinMin.GetBuffer(80);
-               _itoa(value, buf, 10);
-               m_newDefaultRenewMinMin.ReleaseBuffer();
-        SetDlgItemText(IDC_EDIT_RENEW_MIN_D, m_newDefaultRenewMinDay);
-        SetDlgItemText(IDC_EDIT_RENEW_MIN_H, m_newDefaultRenewMinHr);
-        SetDlgItemText(IDC_EDIT_RENEW_MIN_M, m_newDefaultRenewMinMin);
-
-        SetModified(TRUE);
-               in_progress = 0;
-       }
-}
-
-void CKrbMiscConfigOpt::OnEditKillfocusEditDefaultRenewMin()
-{
-       static int in_progress = 0;
-    if (!in_progress && !m_startupPage2)
-    {
-               in_progress = 1;
-        GetDlgItemText(IDC_EDIT_RENEW_MIN_D, m_newDefaultRenewMinDay);
-        GetDlgItemText(IDC_EDIT_RENEW_MIN_H, m_newDefaultRenewMinHr);
-        GetDlgItemText(IDC_EDIT_RENEW_MIN_M, m_newDefaultRenewMinMin);
-               DWORD value = (((atoi(m_newDefaultRenewMinDay)*24 + atoi(m_newDefaultRenewMinHr)) * 60) + atoi(m_newDefaultRenewMinMin));
-               LPSTR buf = m_newDefaultRenewMinDay.GetBuffer(80);
-               _itoa(value/24/60, buf, 10);
-               value %= (24 * 60);
-               m_newDefaultRenewMinDay.ReleaseBuffer();
-               buf = m_newDefaultRenewMinHr.GetBuffer(80);
-               _itoa(value/60, buf, 10);
-               value %= 60;
-               m_newDefaultRenewMinHr.ReleaseBuffer();
-               buf = m_newDefaultRenewMinMin.GetBuffer(80);
-               _itoa(value, buf, 10);
-               m_newDefaultRenewMinMin.ReleaseBuffer();
-        SetDlgItemText(IDC_EDIT_RENEW_MIN_D, m_newDefaultRenewMinDay);
-        SetDlgItemText(IDC_EDIT_RENEW_MIN_H, m_newDefaultRenewMinHr);
-        SetDlgItemText(IDC_EDIT_RENEW_MIN_M, m_newDefaultRenewMinMin);
-
-               SetModified(TRUE);
-               in_progress = 0;
-       }
-}
-
-void CKrbMiscConfigOpt::ResetDefaultRenewMinEditBox()
-{
-    // Reset Config Tab's Default RenewMin Editbox
-
-       DWORD tmp = m_DefaultRenewMin = pLeash_get_default_life_min();
-       LPSTR buf = m_newDefaultRenewMinDay.GetBuffer(80);
-       _itoa(tmp/24/60, buf, 10);
-       tmp %= (24 * 60);
-    m_newDefaultRenewMinDay.ReleaseBuffer();
-       buf = m_newDefaultRenewMinHr.GetBuffer(80);
-       _itoa(tmp/60, buf, 10);
-       tmp %= 60;
-    m_newDefaultRenewMinHr.ReleaseBuffer();
-       buf = m_newDefaultRenewMinMin.GetBuffer(80);
-       _itoa(tmp, buf, 10);
-    m_newDefaultRenewMinMin.ReleaseBuffer();
-
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEW_MIN_D, m_newDefaultRenewMinDay);
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEW_MIN_H, m_newDefaultRenewMinHr);
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEW_MIN_M, m_newDefaultRenewMinMin);
-}
-
-void CKrbMiscConfigOpt::OnSelchangeEditDefaultRenewMax()
-{
-       static int in_progress = 0;
-    if (!in_progress && !m_startupPage2)
-    {
-               in_progress = 1;
-        GetDlgItemText(IDC_EDIT_RENEW_MAX_D, m_newDefaultRenewMaxDay);
-        GetDlgItemText(IDC_EDIT_RENEW_MAX_H, m_newDefaultRenewMaxHr);
-        GetDlgItemText(IDC_EDIT_RENEW_MAX_M, m_newDefaultRenewMaxMin);
-               DWORD value = (((atoi(m_newDefaultRenewMaxDay)*24 + atoi(m_newDefaultRenewMaxHr)) * 60) + atoi(m_newDefaultRenewMaxMin));
-               LPSTR buf = m_newDefaultRenewMaxDay.GetBuffer(80);
-               _itoa(value/24/60, buf, 10);
-               value %= (24 * 60);
-               m_newDefaultRenewMaxDay.ReleaseBuffer();
-               buf = m_newDefaultRenewMaxHr.GetBuffer(80);
-               _itoa(value/60, buf, 10);
-               value %= 60;
-               m_newDefaultRenewMaxHr.ReleaseBuffer();
-               buf = m_newDefaultRenewMaxMin.GetBuffer(80);
-               _itoa(value, buf, 10);
-               m_newDefaultRenewMaxMin.ReleaseBuffer();
-        SetDlgItemText(IDC_EDIT_RENEW_MAX_D, m_newDefaultRenewMaxDay);
-        SetDlgItemText(IDC_EDIT_RENEW_MAX_H, m_newDefaultRenewMaxHr);
-        SetDlgItemText(IDC_EDIT_RENEW_MAX_M, m_newDefaultRenewMaxMin);
-
-        SetModified(TRUE);
-               in_progress = 0;
-       }
-}
-
-void CKrbMiscConfigOpt::OnEditKillfocusEditDefaultRenewMax()
-{
-       static int in_progress = 0;
-    if (!in_progress && !m_startupPage2)
-    {
-               in_progress = 1;
-        GetDlgItemText(IDC_EDIT_RENEW_MAX_D, m_newDefaultRenewMaxDay);
-        GetDlgItemText(IDC_EDIT_RENEW_MAX_H, m_newDefaultRenewMaxHr);
-        GetDlgItemText(IDC_EDIT_RENEW_MAX_M, m_newDefaultRenewMaxMin);
-               DWORD value = (((atoi(m_newDefaultRenewMaxDay)*24 + atoi(m_newDefaultRenewMaxHr)) * 60) + atoi(m_newDefaultRenewMaxMin));
-               LPSTR buf = m_newDefaultRenewMaxDay.GetBuffer(80);
-               _itoa(value/24/60, buf, 10);
-               value %= (24 * 60);
-               m_newDefaultRenewMaxDay.ReleaseBuffer();
-               buf = m_newDefaultRenewMaxHr.GetBuffer(80);
-               _itoa(value/60, buf, 10);
-               value %= 60;
-               m_newDefaultRenewMaxHr.ReleaseBuffer();
-               buf = m_newDefaultRenewMaxMin.GetBuffer(80);
-               _itoa(value, buf, 10);
-               m_newDefaultRenewMaxMin.ReleaseBuffer();
-        SetDlgItemText(IDC_EDIT_RENEW_MAX_D, m_newDefaultRenewMaxDay);
-        SetDlgItemText(IDC_EDIT_RENEW_MAX_H, m_newDefaultRenewMaxHr);
-        SetDlgItemText(IDC_EDIT_RENEW_MAX_M, m_newDefaultRenewMaxMin);
-
-               SetModified(TRUE);
-               in_progress = 0;
-       }
-}
-
-void CKrbMiscConfigOpt::ResetDefaultRenewMaxEditBox()
-{
-    // Reset Config Tab's Default RenewMax Editbox
-
-       DWORD tmp = m_DefaultRenewMax = pLeash_get_default_life_min();
-       LPSTR buf = m_newDefaultRenewMaxDay.GetBuffer(80);
-       _itoa(tmp/24/60, buf, 10);
-       tmp %= (24 * 60);
-    m_newDefaultRenewMaxDay.ReleaseBuffer();
-       buf = m_newDefaultRenewMaxHr.GetBuffer(80);
-       _itoa(tmp/60, buf, 10);
-       tmp %= 60;
-    m_newDefaultRenewMaxHr.ReleaseBuffer();
-       buf = m_newDefaultRenewMaxMin.GetBuffer(80);
-       _itoa(tmp, buf, 10);
-    m_newDefaultRenewMaxMin.ReleaseBuffer();
-
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEW_MAX_D, m_newDefaultRenewMaxDay);
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEW_MAX_H, m_newDefaultRenewMaxHr);
-       ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEW_MAX_M, m_newDefaultRenewMaxMin);
-}
-
-void CKrbMiscConfigOpt::OnCheckUseKrb4()
-{
-    m_newUseKrb4 = (BOOL)IsDlgButtonChecked(IDC_CHECK_REQUEST_KRB4);
-}
-
-void CKrbMiscConfigOpt::OnCheckKinitPreserve()
-{
-    m_newKinitPreserve = (BOOL)IsDlgButtonChecked(IDC_CHECK_PRESERVE_KINIT_OPTIONS);
-}
-
-void CKrbMiscConfigOpt::OnShowWindow(BOOL bShow, UINT nStatus)
-{
-    CPropertyPage::OnShowWindow(bShow, nStatus);
-
-    if (CLeashApp::m_hKrb5DLL)
-        ResetDefaultLifeTimeEditBox();
-
-       SetDlgItemText(IDC_EDIT_LIFETIME_D, m_newDefaultLifeTimeDay);
-       SetDlgItemText(IDC_EDIT_LIFETIME_H, m_newDefaultLifeTimeHr);
-       SetDlgItemText(IDC_EDIT_LIFETIME_M, m_newDefaultLifeTimeMin);
-       SetDlgItemText(IDC_EDIT_RENEWTILL_D, m_newDefaultRenewTillDay);
-       SetDlgItemText(IDC_EDIT_RENEWTILL_H, m_newDefaultRenewTillHr);
-       SetDlgItemText(IDC_EDIT_RENEWTILL_M, m_newDefaultRenewTillMin);
-       SetDlgItemText(IDC_EDIT_LIFE_MIN_D, m_newDefaultLifeMinDay);
-       SetDlgItemText(IDC_EDIT_LIFE_MIN_H, m_newDefaultLifeMinHr);
-       SetDlgItemText(IDC_EDIT_LIFE_MIN_M, m_newDefaultLifeMinMin);
-       SetDlgItemText(IDC_EDIT_LIFE_MAX_D, m_newDefaultLifeMaxDay);
-       SetDlgItemText(IDC_EDIT_LIFE_MAX_H, m_newDefaultLifeMaxHr);
-       SetDlgItemText(IDC_EDIT_LIFE_MAX_M, m_newDefaultLifeMaxMin);
-       SetDlgItemText(IDC_EDIT_RENEW_MIN_D, m_newDefaultRenewMinDay);
-       SetDlgItemText(IDC_EDIT_RENEW_MIN_H, m_newDefaultRenewMinHr);
-       SetDlgItemText(IDC_EDIT_RENEW_MIN_M, m_newDefaultRenewMinMin);
-       SetDlgItemText(IDC_EDIT_RENEW_MAX_D, m_newDefaultRenewMaxDay);
-       SetDlgItemText(IDC_EDIT_RENEW_MAX_H, m_newDefaultRenewMaxHr);
-       SetDlgItemText(IDC_EDIT_RENEW_MAX_M, m_newDefaultRenewMaxMin);
-}
-
-BOOL CKrbMiscConfigOpt::PreTranslateMessage(MSG* pMsg)
-{
-    if (!m_startupPage2)
-    {
-        if (m_noLifeTime)
-        {
-            MessageBox("A lifetime setting of 0 is special in that it means that "
-                       "the application is free to pick whatever default it deems "
-                       "appropriate",
-                       "Leash", MB_OK);
-            m_noLifeTime = FALSE;
-        }
-    }
-
-    m_startupPage2 = FALSE;
-    return CPropertyPage::PreTranslateMessage(pMsg);
-}
-
-
-BEGIN_MESSAGE_MAP(CKrbMiscConfigOpt, CPropertyPage)
-       //{{AFX_MSG_MAP(CKrbConfigOptions)
-       ON_WM_SHOWWINDOW()
-
-       ON_EN_KILLFOCUS(IDC_EDIT_LIFETIME_D, OnEditKillfocusEditDefaultLifeTime)
-       ON_CBN_SELCHANGE(IDC_EDIT_LIFETIME_D, OnSelchangeEditDefaultLifeTime)
-       ON_EN_KILLFOCUS(IDC_EDIT_LIFETIME_H, OnEditKillfocusEditDefaultLifeTime)
-       ON_CBN_SELCHANGE(IDC_EDIT_LIFETIME_H, OnSelchangeEditDefaultLifeTime)
-       ON_EN_KILLFOCUS(IDC_EDIT_LIFETIME_M, OnEditKillfocusEditDefaultLifeTime)
-       ON_CBN_SELCHANGE(IDC_EDIT_LIFETIME_M, OnSelchangeEditDefaultLifeTime)
-
-       ON_EN_KILLFOCUS(IDC_EDIT_RENEWTILL_D, OnEditKillfocusEditDefaultRenewTill)
-       ON_CBN_SELCHANGE(IDC_EDIT_RENEWTILL_D, OnSelchangeEditDefaultRenewTill)
-       ON_EN_KILLFOCUS(IDC_EDIT_RENEWTILL_H, OnEditKillfocusEditDefaultRenewTill)
-       ON_CBN_SELCHANGE(IDC_EDIT_RENEWTILL_H, OnSelchangeEditDefaultRenewTill)
-       ON_EN_KILLFOCUS(IDC_EDIT_RENEWTILL_M, OnEditKillfocusEditDefaultRenewTill)
-       ON_CBN_SELCHANGE(IDC_EDIT_RENEWTILL_M, OnSelchangeEditDefaultRenewTill)
-
-       ON_EN_KILLFOCUS(IDC_EDIT_LIFE_MIN_D, OnEditKillfocusEditDefaultLifeMin)
-       ON_CBN_SELCHANGE(IDC_EDIT_LIFE_MIN_D, OnSelchangeEditDefaultLifeMin)
-       ON_EN_KILLFOCUS(IDC_EDIT_LIFE_MIN_H, OnEditKillfocusEditDefaultLifeMin)
-       ON_CBN_SELCHANGE(IDC_EDIT_LIFE_MIN_H, OnSelchangeEditDefaultLifeMin)
-       ON_EN_KILLFOCUS(IDC_EDIT_LIFE_MIN_M, OnEditKillfocusEditDefaultLifeMin)
-       ON_CBN_SELCHANGE(IDC_EDIT_LIFE_MIN_M, OnSelchangeEditDefaultLifeMin)
-
-       ON_EN_KILLFOCUS(IDC_EDIT_LIFE_MAX_D, OnEditKillfocusEditDefaultLifeMax)
-       ON_CBN_SELCHANGE(IDC_EDIT_LIFE_MAX_D, OnSelchangeEditDefaultLifeMax)
-       ON_EN_KILLFOCUS(IDC_EDIT_LIFE_MAX_H, OnEditKillfocusEditDefaultLifeMax)
-       ON_CBN_SELCHANGE(IDC_EDIT_LIFE_MAX_H, OnSelchangeEditDefaultLifeMax)
-       ON_EN_KILLFOCUS(IDC_EDIT_LIFE_MAX_M, OnEditKillfocusEditDefaultLifeMax)
-       ON_CBN_SELCHANGE(IDC_EDIT_LIFE_MAX_M, OnSelchangeEditDefaultLifeMax)
-
-       ON_EN_KILLFOCUS(IDC_EDIT_RENEW_MIN_D, OnEditKillfocusEditDefaultRenewMin)
-       ON_CBN_SELCHANGE(IDC_EDIT_RENEW_MIN_D, OnSelchangeEditDefaultRenewMin)
-       ON_EN_KILLFOCUS(IDC_EDIT_RENEW_MIN_H, OnEditKillfocusEditDefaultRenewMin)
-       ON_CBN_SELCHANGE(IDC_EDIT_RENEW_MIN_H, OnSelchangeEditDefaultRenewMin)
-       ON_EN_KILLFOCUS(IDC_EDIT_RENEW_MIN_M, OnEditKillfocusEditDefaultRenewMin)
-       ON_CBN_SELCHANGE(IDC_EDIT_RENEW_MIN_M, OnSelchangeEditDefaultRenewMin)
-
-       ON_EN_KILLFOCUS(IDC_EDIT_RENEW_MAX_D, OnEditKillfocusEditDefaultRenewMax)
-       ON_CBN_SELCHANGE(IDC_EDIT_RENEW_MAX_D, OnSelchangeEditDefaultRenewMax)
-       ON_EN_KILLFOCUS(IDC_EDIT_RENEW_MAX_H, OnEditKillfocusEditDefaultRenewMax)
-       ON_CBN_SELCHANGE(IDC_EDIT_RENEW_MAX_H, OnSelchangeEditDefaultRenewMax)
-       ON_EN_KILLFOCUS(IDC_EDIT_RENEW_MAX_M, OnEditKillfocusEditDefaultRenewMax)
-       ON_CBN_SELCHANGE(IDC_EDIT_RENEW_MAX_M, OnSelchangeEditDefaultRenewMax)
-
-    ON_BN_CLICKED(IDC_CHECK_REQUEST_KRB4, OnCheckUseKrb4)
-       ON_BN_CLICKED(IDC_CHECK_PRESERVE_KINIT_OPTIONS, OnCheckKinitPreserve)
-       //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
diff --git a/src/windows/leash/KrbMiscConfigOpt.h b/src/windows/leash/KrbMiscConfigOpt.h
deleted file mode 100644 (file)
index e2daf29..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-//*****************************************************************************
-// File:       KrbMiscConfigOpt.h
-// By:         Paul B. Hill
-// Created:    08/12/1999
-// Copyright:  @1999 Massachusetts Institute of Technology - All rights
-//             reserved.
-// Description: H file for KrbMiscConfigOpt.cpp.  Contains variables
-//             and functions for Kerberos Properties.
-//
-// History:
-//
-// MM/DD/YY    Inits   Description of Change
-// 08/12/99    PBH     Original
-//*****************************************************************************
-
-
-#if !defined(AFX_MISCCONFIGOPT_H__CD702F99_7495_11D0_8FDC_00C04FC2A0C2__INCLUDED_)
-#define AFX_MISCONFIGOPT_H__CD702F99_7495_11D0_8FDC_00C04FC2A0C2__INCLUDED_
-
-#if _MSC_VER >= 1000
-#pragma once
-#endif
-
-
-#include "resource.h"
-
-
-///////////////////////////////////////////////////////////////////////
-// CKrbMiscConfigOptions dialog
-
-class CKrbMiscConfigOpt : public CPropertyPage
-{
-// Construction
-private:
-       DECLARE_DYNCREATE(CKrbMiscConfigOpt)
-       BOOL m_startupPage2;
-    BOOL m_noLifeTime;
-
-       static UINT m_DefaultLifeTime;
-       static CString m_initDefaultLifeTimeMin;
-       static CString m_newDefaultLifeTimeMin;
-       static CString m_initDefaultLifeTimeHr;
-       static CString m_newDefaultLifeTimeHr;
-       static CString m_initDefaultLifeTimeDay;
-       static CString m_newDefaultLifeTimeDay;
-
-       static UINT m_DefaultRenewTill;
-       static CString m_initDefaultRenewTillMin;
-       static CString m_newDefaultRenewTillMin;
-       static CString m_initDefaultRenewTillHr;
-       static CString m_newDefaultRenewTillHr;
-       static CString m_initDefaultRenewTillDay;
-       static CString m_newDefaultRenewTillDay;
-
-       static UINT m_DefaultLifeMin;
-       static CString m_initDefaultLifeMinMin;
-       static CString m_newDefaultLifeMinMin;
-       static CString m_initDefaultLifeMinHr;
-       static CString m_newDefaultLifeMinHr;
-       static CString m_initDefaultLifeMinDay;
-       static CString m_newDefaultLifeMinDay;
-
-       static UINT m_DefaultLifeMax;
-       static CString m_initDefaultLifeMaxMin;
-       static CString m_newDefaultLifeMaxMin;
-       static CString m_initDefaultLifeMaxHr;
-       static CString m_newDefaultLifeMaxHr;
-       static CString m_initDefaultLifeMaxDay;
-       static CString m_newDefaultLifeMaxDay;
-
-       static UINT m_DefaultRenewMin;
-       static CString m_initDefaultRenewMinMin;
-       static CString m_newDefaultRenewMinMin;
-       static CString m_initDefaultRenewMinHr;
-       static CString m_newDefaultRenewMinHr;
-       static CString m_initDefaultRenewMinDay;
-       static CString m_newDefaultRenewMinDay;
-
-       static UINT m_DefaultRenewMax;
-       static CString m_initDefaultRenewMaxMin;
-       static CString m_newDefaultRenewMaxMin;
-       static CString m_initDefaultRenewMaxHr;
-       static CString m_newDefaultRenewMaxHr;
-       static CString m_initDefaultRenewMaxDay;
-       static CString m_newDefaultRenewMaxDay;
-
-       static void ResetDefaultLifeTimeEditBox();
-       static void ResetDefaultRenewTillEditBox();
-       static void ResetDefaultLifeMinEditBox();
-       static void ResetDefaultLifeMaxEditBox();
-       static void ResetDefaultRenewMinEditBox();
-       static void ResetDefaultRenewMaxEditBox();
-
-    BOOL m_initUseKrb4;
-    BOOL m_newUseKrb4;
-    BOOL m_initKinitPreserve;
-    BOOL m_newKinitPreserve;
-
-public:
-       CKrbMiscConfigOpt();
-       ~CKrbMiscConfigOpt();
-
-// Dialog Data
-       //{{AFX_DATA(CKrbMiscConfigOpt)
-       enum { IDD = IDD_KRB_PROP_MISC };
-       static CEdit m_krbLifeTimeDayEditbox;
-       static CEdit m_krbLifeTimeMinEditbox;
-       static CEdit m_krbLifeTimeHrEditbox;
-       static CEdit m_krbRenewTillDayEditbox;
-       static CEdit m_krbRenewTillMinEditbox;
-       static CEdit m_krbRenewTillHrEditbox;
-       static CEdit m_krbRenewMaxDayEditbox;
-       static CEdit m_krbRenewMinDayEditbox;
-       static CEdit m_krbLifeMinDayEditbox;
-       static CEdit m_krbLifeMinMinEditbox;
-       static CEdit m_krbLifeMinHrEditbox;
-       static CEdit m_krbLifeMaxDayEditbox;
-       static CEdit m_krbLifeMaxMinEditbox;
-       static CEdit m_krbLifeMaxHrEditbox;
-       static CEdit m_krbRenewMinMinEditbox;
-       static CEdit m_krbRenewMinHrEditbox;
-       static CEdit m_krbRenewMaxMinEditbox;
-       static CEdit m_krbRenewMaxHrEditbox;
-       //}}AFX_DATA
-
-
-// Overrides
-       // ClassWizard generate virtual function overrides
-       //{{AFX_VIRTUAL(CKrbConfigOptions)
-       public:
-       virtual BOOL PreTranslateMessage(MSG* pMsg);
-       protected:
-       virtual VOID DoDataExchange(CDataExchange* pDX); // DDX/DDV support
-       //}}AFX_VIRTUAL
-
-       virtual BOOL OnApply();
-
-// Implementation
-protected:
-       // Generated message map functions
-       //{{AFX_MSG(CKrbMiscConfigOpt)
-       virtual BOOL OnInitDialog();
-       afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
-       afx_msg void OnEditKillfocusEditDefaultLifeTime();
-       afx_msg void OnResetDefaultLifeTimeEditBox();
-       afx_msg void OnSelchangeEditDefaultLifeTime();
-       afx_msg void OnEditKillfocusEditDefaultRenewTill();
-       afx_msg void OnResetDefaultRenewTillEditBox();
-       afx_msg void OnSelchangeEditDefaultRenewTill();
-       afx_msg void OnEditKillfocusEditDefaultLifeMin();
-       afx_msg void OnResetDefaultLifeMinEditBox();
-       afx_msg void OnSelchangeEditDefaultLifeMin();
-       afx_msg void OnEditKillfocusEditDefaultLifeMax();
-       afx_msg void OnResetDefaultLifeMaxEditBox();
-       afx_msg void OnSelchangeEditDefaultLifeMax();
-       afx_msg void OnEditKillfocusEditDefaultRenewMin();
-       afx_msg void OnResetDefaultRenewMinEditBox();
-       afx_msg void OnSelchangeEditDefaultRenewMin();
-       afx_msg void OnEditKillfocusEditDefaultRenewMax();
-       afx_msg void OnResetDefaultRenewMaxEditBox();
-       afx_msg void OnSelchangeEditDefaultRenewMax();
-    afx_msg void OnCheckUseKrb4();
-    afx_msg void OnCheckKinitPreserve();
-       //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-
-};
-
-/////////////////////////////////////////////////////////////////////////////
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_MISCONFIGOPT_H__CD702F99_7495_11D0_8FDC_00C04FC2A0C2__INCLUDED_)
diff --git a/src/windows/leash/KrbProperties.cpp b/src/windows/leash/KrbProperties.cpp
deleted file mode 100644 (file)
index 9885b14..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-//     File:                   KrbProperties.cpp
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    CPP file for KrbProperties.h. Contains variables and functions
-//                                     for Kerberos Four Properties
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     02/01/98        ADL             Original
-//     **************************************************************************************
-
-
-#include "stdafx.h"
-#include "KrbProperties.h"
-
-#include "Leash.h"
-#include "wshelper.h"
-#include "lglobals.h"
-#include "reminder.h"
-
-CHAR CKrbProperties::m_krbPath[MAX_PATH];
-CHAR CKrbProperties::m_krbrealmPath[MAX_PATH];
-BOOL CKrbProperties::KrbPropertiesOn;
-
-///////////////////////////////////////////////////////////////////////
-// CKrbProperties
-
-IMPLEMENT_DYNAMIC(CKrbProperties, CPropertySheet)
-CKrbProperties::CKrbProperties(UINT nIDCaption, CWnd* pParentWnd,
-                               UINT iSelectPage)
-:CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
-{
-}
-
-CKrbProperties::CKrbProperties(LPCTSTR pszCaption, CWnd* pParentWnd,
-                                                          UINT iSelectPage)
-:CPropertySheet(pszCaption, pParentWnd, iSelectPage)
-{
-       KrbPropertiesOn = FALSE;
-
-#ifdef COMMENT
-       // If this will not be fatal, then it does not need to be performed here.
-       if (CLeashApp::m_hKrb5DLL)
-       {
-               char *realm = NULL;
-               pkrb5_get_default_realm(CLeashApp::m_krbv5_context, &realm);
-
-               if (!realm)
-               {
-                       MessageBox("CKrbProperties::Unable to determine default Kerberos REALM.\
-                        \n Consult your Administrator!",
-                                          "Error", MB_OK);
-                       // I don't think this is necessarily fatal.  - jaltman
-                       // return;
-               }
-       }
-#endif /* COMMENT */
-
-#ifndef NO_KRB4
-    CLeashApp::GetKrb4ConFile(m_krbPath,sizeof(m_krbPath));
-    CLeashApp::GetKrb4RealmFile(m_krbrealmPath,sizeof(m_krbrealmPath));
-#endif
-
-       AddPage(&m_configOptions);
-       AddPage(&m_miscConfigOpt);
-
-#ifndef NO_KRB4
-       if (CLeashApp::m_hKrb4DLL && !CLeashApp::m_hKrb5DLL)
-       {
-               AddPage(&m_krb4RealmHostMaintenance);
-               AddPage(&m_krb4DomainRealmMaintenance);
-       }
-       else
-#endif
-       if (CLeashApp::m_hKrb5DLL)
-       {
-               AddPage(&m_realmHostMaintenance);
-               AddPage(&m_domainRealmMaintenance);
-       }
-
-       KrbPropertiesOn = TRUE;
-}
-
-CKrbProperties::~CKrbProperties()
-{
-       KrbPropertiesOn = FALSE;
-}
-
-void CKrbProperties::OnHelp()
-{
-    AfxGetApp()->WinHelp(HID_KERBEROS_PROPERTIES_COMMAND);
-}
-
-
-BEGIN_MESSAGE_MAP(CKrbProperties, CPropertySheet)
-       //{{AFX_MSG_MAP(CKrbProperties)
-               // NOTE - the ClassWizard will add and remove mapping macros here.
-    ON_COMMAND(ID_HELP, OnHelp)
-    //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-///////////////////////////////////////////////////////////////////////
-// CKrbProperties message handlers
diff --git a/src/windows/leash/KrbProperties.h b/src/windows/leash/KrbProperties.h
deleted file mode 100644 (file)
index f476ac1..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-//     **************************************************************************************
-//     File:                   KrbProperties.h
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    H file for KrbProperties.cpp. Contains variables and functions
-//                                     for Kerberos Four Properties
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     02/01/98        ADL             Original
-//     **************************************************************************************
-
-
-#if !defined(AFX_KRB_PROPERTY_H__CD702F99_7495_11D0_8FDC_00C04FC2A0C2__INCLUDED_)
-#define AFX_KRB_PROPERTY_H__CD702F99_7495_11D0_8FDC_00C04FC2A0C2__INCLUDED_
-
-#if _MSC_VER >= 1000
-#pragma once
-#endif // _MSC_VER >= 1000
-// KrbProperties.h : header file
-//
-
-#include "KrbConfigOptions.h"
-#include "KrbRealmHostMaintenance.h"
-#include "KrbDomainRealmMaintenance.h"
-#ifndef NO_KRB4
-#include "Krb4DomainRealmMaintenance.h"
-#include "Krb4RealmHostMaintenance.h"
-#endif
-#include "KrbMiscConfigOpt.h"
-
-//////////////////////////////////////////////////////////////////////
-// CKrbProperties
-
-class CKrbProperties : public CPropertySheet
-{
-private:
-       DECLARE_DYNAMIC(CKrbProperties)
-
-public:
-       //CKrbConfigFileLocation m_fileLocation;
-       CKrbConfigOptions m_configOptions;
-#ifndef NO_KRB4
-       CKrb4RealmHostMaintenance m_krb4RealmHostMaintenance;
-#endif
-       CKrbRealmHostMaintenance m_realmHostMaintenance;
-#ifndef NO_KRB4
-       CKrb4DomainRealmMaintenance m_krb4DomainRealmMaintenance;
-#endif
-       CKrbDomainRealmMaintenance m_domainRealmMaintenance;
-    CKrbMiscConfigOpt m_miscConfigOpt;
-
-       static BOOL KrbPropertiesOn;
-       static BOOL applyButtonEnabled;
-       static CHAR m_krbPath[MAX_PATH];
-       static CHAR m_krbrealmPath[MAX_PATH];
-
-// Construction
-public:
-       CKrbProperties(UINT nIDCaption, CWnd* pParentWnd = NULL,
-                  UINT iSelectPage = 0);
-       CKrbProperties(LPCTSTR pszCaption, CWnd* pParentWnd = NULL,
-                  UINT iSelectPage = 0);
-
-// Attributes
-public:
-
-// Operations
-public:
-
-// Overrides
-       // ClassWizard generated virtual function overrides
-       //{{AFX_VIRTUAL(CKrbProperties)
-       //}}AFX_VIRTUAL
-
-// Implementation
-public:
-       virtual ~CKrbProperties();
-
-       // Generated message map functions
-protected:
-       //{{AFX_MSG(CKrbProperties)
-               // NOTE - the ClassWizard will add and remove member functions here.
-    afx_msg void OnHelp();
-    //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-};
-
-/////////////////////////////////////////////////////////////////////////////
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_KRB_PROPERTY_H__CD702F99_7495_11D0_8FDC_00C04FC2A0C2__INCLUDED_)
diff --git a/src/windows/leash/KrbRealmHostMaintenance.cpp b/src/windows/leash/KrbRealmHostMaintenance.cpp
deleted file mode 100644 (file)
index bbe97d6..0000000
+++ /dev/null
@@ -1,1043 +0,0 @@
-//     **************************************************************************************
-//     File:                   KrbRealmHostMaintenance.cpp
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    CPP file for KrbRealmHostMaintenance.h. Contains variables and functions
-//                                     for Kerberos Four and Five Properties
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     12/02/98        ADL             Original
-//     **************************************************************************************
-
-
-#include "stdafx.h"
-#include "leash.h"
-#include "KrbProperties.h"
-#include "KrbAddRealm.h"
-#include "KrbAddHostServer.h"
-#include "KrbRealmHostMaintenance.h"
-#include "KrbEditRealm.h"
-#include "KrbEditHostServer.h"
-#include "KrbConfigOptions.h"
-
-#include "lglobals.h"
-#include "MainFrm.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbRealmHostMaintenance dialog
-
-
-IMPLEMENT_DYNCREATE(CKrbRealmHostMaintenance, CPropertyPage)
-
-CKrbRealmHostMaintenance::CKrbRealmHostMaintenance()
- : CPropertyPage(CKrbRealmHostMaintenance::IDD)
-{
-       m_isRealmListBoxInFocus = FALSE;
-       m_isStart = TRUE;
-       m_theAdminServer = _T("");
-       m_theAdminServerMarked = _T("");
-    m_initDnsKdcLookup = 0;
-    m_newDnsKdcLookup = 0;
-
-       m_KDCHostList.initOtherListbox(this, &m_KDCRealmList);
-}
-
-CKrbRealmHostMaintenance::~CKrbRealmHostMaintenance()
-{
-}
-
-void CKrbRealmHostMaintenance::DoDataExchange(CDataExchange* pDX)
-{
-       CPropertyPage::DoDataExchange(pDX);
-       //{{AFX_DATA_MAP(CKrbRealmHostMaintenance)
-       DDX_Control(pDX, IDC_LIST_KDC_REALM, m_KDCRealmList);
-       DDX_Control(pDX, IDC_LIST_KDC_HOST, m_KDCHostList);
-       //}}AFX_DATA_MAP
-}
-
-BEGIN_MESSAGE_MAP(CKrbRealmHostMaintenance, CPropertyPage)
-       //{{AFX_MSG_MAP(CKrbRealmHostMaintenance)
-       ON_BN_CLICKED(IDC_BUTTON_REALM_HOST_ADD, OnButtonRealmHostAdd)
-       ON_BN_CLICKED(IDC_BUTTON_REALM_EDIT, OnButtonRealmHostEdit)
-       ON_BN_CLICKED(ID_BUTTON_REALM_REMOVE, OnButtonRealmHostRemove)
-       ON_LBN_SELCHANGE(IDC_LIST_KDC_REALM, OnSelchangeListKdcRealm)
-       ON_BN_CLICKED(IDC_BUTTON_ADMINSERVER, OnButtonAdminserver)
-       ON_LBN_SETFOCUS(IDC_LIST_KDC_REALM, OnSetfocusListKdcRealm)
-       ON_BN_CLICKED(IDC_BUTTON_KDCHOST_ADD, OnButtonKdchostAdd)
-       ON_BN_CLICKED(IDC_BUTTON_KDCHOST_REMOVE, OnButtonKdchostRemove)
-       ON_BN_CLICKED(IDC_BUTTON_REMOVE_ADMINSERVER, OnButtonRemoveAdminserver)
-       ON_LBN_SELCHANGE(IDC_LIST_KDC_HOST, OnSelchangeListKdcHost)
-       ON_BN_CLICKED(IDC_BUTTON_KDCHOST_EDIT, OnButtonKdchostEdit)
-       ON_LBN_DBLCLK(IDC_LIST_KDC_REALM, OnDblclkListKdcRealm)
-       ON_LBN_DBLCLK(IDC_LIST_KDC_HOST, OnDblclkListKdcHost)
-       ON_WM_KEYDOWN()
-       ON_WM_CANCELMODE()
-       ON_BN_CLICKED(IDC_BUTTON_REALMHOST_MAINT_HELP, OnButtonRealmhostMaintHelp)
-    ON_BN_CLICKED(IDC_DNS_KDC, OnCheckDnsKdcLookup)
-       //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbRealmHostMaintenance message handlers
-
-BOOL CKrbRealmHostMaintenance::OnInitDialog()
-{
-       CPropertyPage::OnInitDialog();
-
-       const char*  rootSection[] = {"realms", NULL};
-       const char** rootsec = rootSection;
-       char **sections = NULL,
-                **cpp = NULL,
-          *value = NULL;
-
-       long retval = pprofile_get_subsection_names(CLeashApp::m_krbv5_profile,
-                                                   rootsec, &sections);
-
-       if (retval && PROF_NO_RELATION != retval)
-       {
-               MessageBox("OnInitDialog::There is an error, profile will not be saved!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Leash", MB_OK);
-               return TRUE;
-       }
-
-       for (cpp = sections; *cpp; cpp++)
-       {
-               if (LB_ERR == m_KDCRealmList.AddString(*cpp))
-               {
-                       MessageBox("OnInitDialog::Can't add to Kerberos Realm Listbox",
-                                               "Leash", MB_OK);
-                       return FALSE;
-               }
-       }
-
-       pprofile_free_list(sections);
-
-    // Determine the starting value for DNS KDC Lookup Checkbox
-    retval = pprofile_get_string(CLeashApp::m_krbv5_profile, "libdefaults",
-                               "dns_lookup_kdc", 0, 0, &value);
-    if (value == 0 && retval == 0)
-        retval = pprofile_get_string(CLeashApp::m_krbv5_profile, "libdefaults",
-                                  "dns_fallback", 0, 0, &value);
-    if (value == 0) {
-        m_initDnsKdcLookup = m_newDnsKdcLookup = 1;
-    } else {
-        m_initDnsKdcLookup = m_newDnsKdcLookup = config_boolean_to_int(value);
-        pprofile_release_string(value);
-    }
-    CheckDlgButton(IDC_DNS_KDC, m_initDnsKdcLookup);
-
-    // Compaire Krb Four with what's in the Krb Five Profile Linklist
-       // and add to m_KDCRealmList if needed.
-       m_KDCRealmList.SetCurSel(0);
-
-       if (!m_KDCRealmList.GetCount())
-       {
-               GetDlgItem(IDC_BUTTON_REALM_EDIT)->EnableWindow(FALSE);
-       }
-       else if (1 >= m_KDCRealmList.GetCount())
-       {
-               GetDlgItem(ID_BUTTON_REALM_REMOVE)->EnableWindow(FALSE);
-       }
-       else
-       {
-               GetDlgItem(ID_BUTTON_REALM_REMOVE)->EnableWindow();
-               GetDlgItem(IDC_BUTTON_REALM_EDIT)->EnableWindow();
-       }
-
-
-       if (!m_KDCHostList.GetCount())
-       {
-               GetDlgItem(IDC_BUTTON_KDCHOST_REMOVE)->EnableWindow(FALSE);
-               GetDlgItem(IDC_BUTTON_KDCHOST_EDIT)->EnableWindow(FALSE);
-       }
-       else
-       {
-               GetDlgItem(IDC_BUTTON_KDCHOST_REMOVE)->EnableWindow();
-               GetDlgItem(IDC_BUTTON_KDCHOST_EDIT)->EnableWindow();
-       }
-
-
-       return TRUE;
-}
-
-BOOL CKrbRealmHostMaintenance::OnApply()
-{
-    char theSection[REALM_SZ + 1];
-    const char*  adminServer[] = {"realms", theSection, ADMIN_SERVER, NULL};
-    const char*  Section[] = {"realms", theSection, "kdc", NULL}; //theSection
-    const char** section = Section;
-    const char** adminServ = adminServer;
-
-    if (!CLeashApp::m_krbv5_profile) {
-        CHAR confname[MAX_PATH];
-        if (!CLeashApp::GetProfileFile(confname, sizeof(confname)))
-        {
-               const char *filenames[2];
-                   filenames[0] = confname;
-                       filenames[1] = NULL;
-                       pprofile_init(filenames, &CLeashApp::m_krbv5_profile);
-               }
-       }
-
-       /*
-    // Safety check for empty section (may not be need, but left it in anyway)
-       INT maxRealms = m_KDCRealmList.GetCount();
-       for (INT realm = 0; realm < maxRealms; realm++)
-       {
-               m_KDCRealmList.GetText(realm, theSection);
-               long retval = pprofile_get_values(CLeashApp::m_krbv5_profile,
-                                                      section, &values);
-        pprofile_free_list(values);
-
-        if (PROF_NO_RELATION == retval)
-               {
-                       if (IDYES == AfxMessageBox("One or more Realms do not have any corresponing Servers!!!\n\nContinue?",
-                               MB_YESNO))
-                         break;
-                       else
-                         return TRUE;
-               }
-
-               if (retval && PROF_NO_RELATION != retval)
-               {
-                       MessageBox("OnApply::There is an error, profile will not be saved!!!\nIf this error persist, contact your administrator.",
-                                      "Error", MB_OK);
-                       return TRUE;
-               }
-    }
-    */
-
-    long retval = pprofile_flush(CLeashApp::m_krbv5_profile);
-
-    if (retval && PROF_NO_RELATION != retval)
-       {
-               MessageBox("OnApply::There is an error, profile will not be saved!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Leash", MB_OK);
-       }
-
-#ifndef NO_KRB4
-    // Save to Kerberos Four config. file "Krb.con"
-    CStdioFile krbCon;
-       if (!krbCon.Open(CKrbProperties::m_krbPath, CFile::modeCreate |
-                                                                                           CFile::modeNoTruncate |
-                                                                                               CFile::modeReadWrite))
-       {
-               LeashErrorBox("OnApply::Can't open Configuration File",
-                                         CKrbProperties::m_krbPath);
-               return TRUE;
-       }
-
-       krbCon.SetLength(0);
-
-       krbCon.WriteString(CKrbConfigOptions::m_newDefaultRealm);
-       krbCon.WriteString("\n");
-
-       for (INT maxItems = m_KDCRealmList.GetCount(), item = 0; item < maxItems; item++)
-       {
-        char **values = NULL,
-                **cpp = NULL,
-                **admin = NULL;
-
-        if (LB_ERR == m_KDCRealmList.GetText(item, theSection))
-                 ASSERT(0);
-
-        retval = pprofile_get_values(CLeashApp::m_krbv5_profile,
-                                                                         section, &values);
-
-        if (retval && PROF_NO_RELATION != retval)
-               {
-                       MessageBox("OnApply::There is an error, profile will not be saved!!!\
-                        \nIf this error persist, contact your administrator.",
-                                      "Leash", MB_OK);
-               }
-
-           retval = pprofile_get_values(CLeashApp::m_krbv5_profile,
-                                                                         adminServ , &admin);
-
-               if (retval && PROF_NO_RELATION != retval)
-               {
-                       MessageBox("OnApply::There is an error, profile will not be saved!!!\
-                        \nIf this error persist, contact your administrator.",
-                                      "Leash", MB_OK);
-               }
-
-        char* pSemiCl = NULL;
-               if (admin)
-        {
-            if (*admin)
-            {
-                if ((pSemiCl = strchr(*admin, ':')))
-                     *pSemiCl = 0;
-            }
-        }
-
-
-        char hostKdc[MAX_HSTNM];
-               if (values)
-        for (cpp = values; *cpp; cpp++)
-               {
-                       strcpy(hostKdc, *cpp);
-
-            if ((pSemiCl = strchr(hostKdc, ':')))
-                     *pSemiCl = 0;
-
-            if (admin)
-            {
-                if (*admin)
-                {
-                    if (0 == stricmp(hostKdc, *admin))
-                      strcat(hostKdc, " admin server");
-                }
-            }
-
-            CString kdcHost = theSection;
-                       kdcHost += " ";
-                       kdcHost += hostKdc;
-
-                       krbCon.WriteString(kdcHost);
-                       krbCon.WriteString("\n");
-               }
-
-       if (values)
-          pprofile_free_list(values);
-
-        if (admin)
-          pprofile_free_list(admin);
-    }
-
-    if ( m_newDnsKdcLookup )
-        krbCon.WriteString(".KERBEROS.OPTION. dns\n");
-
-    krbCon. Close();
-#endif // NO_KRB4
-    return TRUE;
-}
-
-void CKrbRealmHostMaintenance::OnCancel()
-{
-    CHAR fileName[MAX_PATH];
-    if (CLeashApp::GetProfileFile(fileName, sizeof(fileName)))
-    {
-        MessageBox("Can't locate Kerberos Five Config. file!", "Error", MB_OK);
-        return;
-    }
-
-
-    long retval = 0;
-    if (CLeashApp::m_krbv5_profile)
-        pprofile_abandon(CLeashApp::m_krbv5_profile);
-
-    /*
-    if (retval)
-       {
-               MessageBox("OnButtonRealmHostAdd::There is an error, profile will not be abandon!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Leash", MB_OK);
-               return;
-       }
-       */
-
-    const char *filenames[2];
-    filenames[0] = fileName;
-    filenames[1] = NULL;
-       retval = pprofile_init(filenames, &CLeashApp::m_krbv5_profile);
-
-    if (retval)
-       {
-               MessageBox("OnButtonRealmHostAdd::There is an error, profile will not be initialized!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Leash", MB_OK);
-               return;
-       }
-
-
-       CPropertyPage::OnCancel();
-}
-
-void CKrbRealmHostMaintenance::OnCheckDnsKdcLookup()
-{
-       const char*  dnsLookupKdc[] = {"libdefaults","dns_lookup_kdc",NULL};
-
-    m_newDnsKdcLookup = (BOOL)IsDlgButtonChecked(IDC_DNS_KDC);
-
-       long retval = pprofile_clear_relation(CLeashApp::m_krbv5_profile,
-                                                                                 dnsLookupKdc);
-
-    if (retval && PROF_NO_RELATION != retval)
-       {
-               MessageBox("OnButtonAdminserver::There is an error, profile will not be saved!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Error", MB_OK);
-               return;
-       }
-
-       retval = pprofile_add_relation(CLeashApp::m_krbv5_profile,
-                                    dnsLookupKdc,
-                                    m_newDnsKdcLookup ? "true" : "false");
-
-       if (retval)
-       { // this might not be a good way to handle this type of error
-               MessageBox("OnButtonAdminserver::There is an error, profile will not be saved!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Error", MB_OK);
-               return;
-       }
-    SetModified(TRUE);
-}
-
-void CKrbRealmHostMaintenance::OnButtonRealmHostAdd()
-{
-    m_KDCRealmList.SetFocus();
-
-    CKrbAddRealm addToRealmHostList;
-       if (IDOK == addToRealmHostList.DoModal())
-       {
-               char theSection[REALM_SZ + 1];
-               const char* Section[] = {"realms", theSection, NULL};
-               const char** section = Section;
-
-
-           if (!CLeashApp::m_krbv5_profile) {
-               CHAR confname[MAX_PATH];
-               if (!CLeashApp::GetProfileFile(confname, sizeof(confname)))
-               {
-                   const char *filenames[2];
-                   filenames[0] = confname;
-                   filenames[1] = NULL;
-                   pprofile_init(filenames, &CLeashApp::m_krbv5_profile);
-               }
-           }
-
-               CString newRealm; // new section in the profile linklist
-               newRealm = addToRealmHostList.GetNewRealm();
-
-               if (LB_ERR != m_KDCRealmList.FindStringExact(-1, newRealm))
-               {
-                       MessageBox("We can't have duplicate Realms!\nYour entry was not saved to list.",
-                       "Leash", MB_OK);
-                       return;
-               }
-
-               if (addToRealmHostList.GetNewRealm().IsEmpty())
-                 ASSERT(0);
-
-               strcpy(theSection, newRealm);
-               long retval = pprofile_add_relation(CLeashApp::m_krbv5_profile,
-                                                    section, NULL);
-
-               if (retval)
-               {
-                       MessageBox("OnButtonRealmHostAdd::There is an error, profile will not be saved!!!\
-                        \nIf this error persist, contact your administrator.",
-                                      "Leash", MB_OK);
-                       return;
-               }
-
-               if (LB_ERR == m_KDCRealmList.AddString(newRealm))
-                 ASSERT(0);
-
-               if (LB_ERR == m_KDCRealmList.SetCurSel(m_KDCRealmList.FindStringExact(-1, newRealm)))
-                 ASSERT(0);
-
-               MessageBox("You must now add a Kerberos Host Server or Realm you just added will be removed!!!",
-                                  "Leash", MB_OK);
-
-               m_KDCHostList.ResetContent();
-        if (OnButtonKdchostAddInternal())
-               { // Cancel
-
-                       long retval = pprofile_rename_section(CLeashApp::m_krbv5_profile,
-                                                                                                  section, NULL);
-
-                       if (retval)
-                       {
-                               MessageBox("OnButtonRealmHostRemove::There is an error, profile will not be saved!!!\
-                            \nIf this error persist, contact your administrator.",
-                                                  "Leash", MB_OK);
-                               return;
-                       }
-
-                       if (LB_ERR == m_KDCRealmList.DeleteString(m_KDCRealmList.GetCurSel()))
-                         ASSERT(0);
-
-                       m_KDCRealmList.SetCurSel(0);
-               }
-
-               OnSelchangeListKdcRealm();
-               SetModified(TRUE);
-       }
-
-       if (1 >= m_KDCRealmList.GetCount())
-       {
-               GetDlgItem(ID_BUTTON_REALM_REMOVE)->EnableWindow(FALSE);
-       }
-       else
-       {
-               GetDlgItem(ID_BUTTON_REALM_REMOVE)->EnableWindow();
-               GetDlgItem(IDC_BUTTON_REALM_EDIT)->EnableWindow();
-       }
-}
-
-void CKrbRealmHostMaintenance::OnButtonKdchostAdd()
-{
-    OnButtonKdchostAddInternal();
-}
-
-bool CKrbRealmHostMaintenance::OnButtonKdchostAddInternal()
-{
-       CString newHost; // new section in the profile linklist
-    CKrbAddHostServer addHostServer;
-       if (IDOK == addHostServer.DoModal())
-       { // OK
-               char theSection[MAX_HSTNM + 1];
-               const char* Section[] = {"realms", theSection, "kdc", NULL};
-               const char** section = Section;
-
-               if (addHostServer.GetNewHost().IsEmpty())
-                 ASSERT(0);
-
-               newHost = addHostServer.GetNewHost();
-
-               if (LB_ERR != m_KDCHostList.FindStringExact(-1, newHost))
-               {
-                       MessageBox("We can't have duplicate Host Servers for the same Realm!\
-                        \nYour entry was not saved to list.",
-                       "Leash", MB_OK);
-                       return true;
-               }
-
-               m_KDCRealmList.GetText(m_KDCRealmList.GetCurSel(), theSection);
-           long retval = pprofile_add_relation(CLeashApp::m_krbv5_profile,
-                                                                                section, addHostServer.GetNewHost());
-
-               if (retval)
-               {
-                       MessageBox("OnButtonKdchostAdd::There is an error, profile will not be saved!!!\
-                        \nIf this error persist, contact your administrator.",
-                                          "Leash", MB_OK);
-
-                       return true;
-               }
-
-        if (LB_ERR == m_KDCHostList.AddString(newHost))
-                 ASSERT(0);
-
-               SetModified(TRUE);
-       }
-       else
-         return true;
-
-       if (m_KDCHostList.GetCount() > 1)
-    {
-        m_KDCHostList.SetCurSel(m_KDCHostList.FindStringExact(-1, newHost));
-           m_KDCHostList.SetFocus();
-        OnSelchangeListKdcHost();
-
-        GetDlgItem(IDC_BUTTON_KDCHOST_REMOVE)->EnableWindow();
-    }
-
-    if (1 == m_KDCRealmList.GetCount())
-       {
-        GetDlgItem(IDC_BUTTON_KDCHOST_REMOVE)->EnableWindow();
-               GetDlgItem(IDC_BUTTON_KDCHOST_EDIT)->EnableWindow();
-       }
-
-       return false;
-}
-
-void CKrbRealmHostMaintenance::OnButtonRealmHostEdit()
-{
-       INT selItemIndex = m_KDCRealmList.GetCurSel();
-       CString selItem;
-
-    m_KDCHostList.SetFocus();
-    //m_KDCRealmList.SetFocus();
-    //m_KDCHostList.SetCurSel(0);
-    m_KDCRealmList.GetText(selItemIndex, selItem);
-
-       CKrbEditRealm editRealmHostList(selItem);
-
-       if (IDOK == editRealmHostList.DoModal())
-       {
-               char theSection[REALM_SZ + 1];
-               const char* Section[] = {"realms", theSection, NULL};
-               const char** section = Section;
-
-               CString editedRealm = editRealmHostList.GetEditedItem();
-
-               if (0 != editedRealm.CompareNoCase(selItem) &&
-                       LB_ERR != m_KDCRealmList.FindStringExact(-1, editedRealm))
-               {
-                       MessageBox("We can't have duplicate Realms!\nYour entry was not saved to list.",
-                       "Leash", MB_OK);
-                       return;
-               }
-
-               strcpy(theSection, selItem);
-
-               long retval = pprofile_rename_section(CLeashApp::m_krbv5_profile,
-                                                                                          section, editRealmHostList.GetEditedItem());
-
-               if (retval)
-               {
-                       MessageBox("OnButtonRealmHostEdit::There is an error, profile will not be saved!!!\
-                        \nIf this error persist, contact your administrator.",
-                                          "Leash", MB_OK);
-                       return;
-               }
-
-               m_KDCRealmList.DeleteString(selItemIndex);
-               m_KDCRealmList.AddString(editedRealm);
-               selItemIndex = m_KDCRealmList.FindStringExact(-1, editedRealm);
-               m_KDCRealmList.SetCurSel(selItemIndex);
-
-               CKrbConfigOptions::ResetDefaultRealmComboBox();
-               SetModified(TRUE);
-       }
-}
-
-void CKrbRealmHostMaintenance::OnDblclkListKdcRealm()
-{
-       OnButtonRealmHostEdit();
-}
-
-void CKrbRealmHostMaintenance::OnButtonKdchostEdit()
-{
-       INT selItemIndex = m_KDCHostList.GetCurSel();
-       CHAR OLD_VALUE[MAX_HSTNM + 1];
-       CString editedHostServer;
-       CString _adminServer;
-
-    m_KDCHostList.SetFocus();
-    m_KDCHostList.GetText(selItemIndex, OLD_VALUE);
-
-       LPSTR pOLD_VALUE = strchr(OLD_VALUE, ' ');
-       if (pOLD_VALUE)
-       {
-               *pOLD_VALUE = 0;
-               _adminServer = pOLD_VALUE + 1;
-       }
-
-       CString selItem = OLD_VALUE;
-       CKrbEditHostServer editHostServerList(selItem);
-
-       if (IDOK == editHostServerList.DoModal())
-       {
-               char theSection[REALM_SZ + 1];
-               const char*  adminServer[] = {"realms", theSection, ADMIN_SERVER, NULL};
-               const char* Section[] = {"realms", theSection, "kdc", NULL};
-               const char** section = Section;
-               const char** adminServ = adminServer;
-
-               editedHostServer = editHostServerList.GetEditedItem();
-
-               if (0 != editedHostServer.CompareNoCase(selItem) &&
-                       LB_ERR != m_KDCHostList.FindStringExact(-1, editedHostServer))
-               {
-                       MessageBox("We can't have duplicate Host Servers for the same Realm!\
-                        \nYour entry was not saved to list.",
-                       "Leash", MB_OK);
-                       return;
-               }
-
-               m_KDCHostList.DeleteString(selItemIndex);
-               m_KDCRealmList.GetText(m_KDCRealmList.GetCurSel(), theSection);
-
-               if (!_adminServer.IsEmpty())
-               { // there is a admin_server
-                       editedHostServer += " ";
-                       editedHostServer += _adminServer;
-
-                       long retval = pprofile_update_relation(CLeashApp::m_krbv5_profile,
-                                                                                                        adminServ, OLD_VALUE,  editHostServerList.GetEditedItem());
-                       if (retval)
-                       {
-                               MessageBox("OnButtonKdchostEdit::There is an error, profile will not be saved!!!\
-                            \nIf this error persist, contact your administrator.",
-                                                  "Leash", MB_OK);
-                               return;
-                       }
-               }
-
-               long retval = pprofile_update_relation(CLeashApp::m_krbv5_profile,
-                                                                               section, OLD_VALUE,     editHostServerList.GetEditedItem());
-
-               if (retval)
-               {
-                       MessageBox("OnButtonKdchostEdit::There is an error, profile will not be saved!!!\
-                        \nIf this error persist, contact your administrator.",
-                                          "Leash", MB_OK);
-                       return;
-               }
-
-               m_KDCHostList.InsertString(selItemIndex, editedHostServer);
-               m_KDCHostList.SetCurSel(selItemIndex);
-
-               OnSelchangeListKdcHost();
-               SetModified(TRUE);
-       }
-}
-
-void CKrbRealmHostMaintenance::OnDblclkListKdcHost()
-{
-       OnButtonKdchostEdit();
-}
-
-void CKrbRealmHostMaintenance::OnButtonRealmHostRemove()
-{
-       char theSection[REALM_SZ + 1];
-       const char* Section[] = {"realms", theSection, NULL};
-       const char** section = Section;
-
-    m_KDCRealmList.SetFocus();
-    m_KDCRealmList.GetText(m_KDCRealmList.GetCurSel(), theSection);
-
-       CString RealmMsg;
-       RealmMsg.Format("Your about to remove a Realm, \"%s\", and all it's dependents from the list!\n\nContinue?",
-                                       theSection);
-
-       if (IDYES != AfxMessageBox(RealmMsg, MB_YESNO))
-         return;
-
-       long retval = pprofile_rename_section(CLeashApp::m_krbv5_profile,
-                                                                                  section, NULL);
-
-       if (retval)
-       {
-               MessageBox("OnButtonRealmHostRemove::There is an error, profile will not be saved!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Leash", MB_OK);
-               return;
-       }
-
-       INT curSel = m_KDCRealmList.GetCurSel();
-
-       if (LB_ERR == m_KDCRealmList.DeleteString(curSel))
-         ASSERT(0);// Single Sel Listbox
-
-       if (-1 == m_KDCRealmList.SetCurSel(curSel))
-         m_KDCRealmList.SetCurSel(curSel - 1);
-
-       SetModified(TRUE);
-
-       if (!m_KDCRealmList.GetCount())
-       {
-               GetDlgItem(IDC_BUTTON_REALM_EDIT)->EnableWindow(FALSE);
-       }
-       if (1 >= m_KDCRealmList.GetCount())
-       {
-               OnSelchangeListKdcRealm();
-               GetDlgItem(ID_BUTTON_REALM_REMOVE)->EnableWindow(FALSE);
-       }
-       else
-         OnSelchangeListKdcRealm();
-}
-
-void CKrbRealmHostMaintenance::OnButtonKdchostRemove()
-{
-       char theSection[REALM_SZ + 1];
-       const char*  adminServer[] = {"realms", theSection, ADMIN_SERVER, NULL};
-       const char* Section[] = {"realms", theSection, "kdc", NULL};
-       const char** section = Section;
-       const char** adminServ = adminServer;
-       CHAR OLD_VALUE[MAX_HSTNM + 1];
-       CString serverHostMsg;
-       CString serverHost;
-       CString _adminServer;
-
-    m_KDCHostList.GetText(m_KDCHostList.GetCurSel(), serverHost);
-       serverHostMsg.Format("Your about to remove Server \"%s\" from the list!\n\nContinue?",
-                                                 serverHost);
-
-       if (IDYES != AfxMessageBox(serverHostMsg, MB_YESNO))
-         return;
-
-       m_KDCRealmList.GetText(m_KDCRealmList.GetCurSel(), theSection);
-       INT curSel = m_KDCHostList.GetCurSel();
-       m_KDCHostList.GetText(curSel, OLD_VALUE);
-
-       LPSTR pOLD_VALUE = strchr(OLD_VALUE, ' ');
-       if (pOLD_VALUE)
-       {
-               *pOLD_VALUE = 0;
-               _adminServer = pOLD_VALUE + 1;
-       }
-
-       long retval = pprofile_update_relation(CLeashApp::m_krbv5_profile,
-                                                                                   section, OLD_VALUE, NULL);
-       if (retval)
-       {
-               MessageBox("OnButtonKdchostRemove::There is an error, profile will not be saved!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Leash", MB_OK);
-               return;
-       }
-
-       if (!_adminServer.IsEmpty())
-       { // there is a admin_server
-               retval = pprofile_update_relation(CLeashApp::m_krbv5_profile,
-                                                                                  adminServ, OLD_VALUE, NULL);
-               if (retval)
-               {
-                       MessageBox("OnButtonKdchostRemove::There is an error, profile will not be saved!!!\
-                        \nIf this error persist, contact your administrator.",
-                                          "Error", MB_OK);
-                       return;
-               }
-       }
-
-       m_KDCHostList.DeleteString(curSel);
-
-       if (-1 == m_KDCHostList.SetCurSel(curSel))
-         m_KDCHostList.SetCurSel(curSel - 1);
-
-       SetModified(TRUE);
-
-       if (!m_KDCHostList.GetCount())
-       {
-               GetDlgItem(IDC_BUTTON_KDCHOST_REMOVE)->EnableWindow(FALSE);
-               GetDlgItem(IDC_BUTTON_KDCHOST_EDIT)->EnableWindow(FALSE);
-               GetDlgItem(IDC_BUTTON_ADMINSERVER)->EnableWindow(FALSE);
-               GetDlgItem(IDC_BUTTON_REMOVE_ADMINSERVER)->EnableWindow(FALSE);
-       }
-       else if (m_KDCHostList.GetCount() <= 1)
-         GetDlgItem(IDC_BUTTON_KDCHOST_REMOVE)->EnableWindow(FALSE);
-
-    OnSelchangeListKdcHost();
-}
-
-BOOL CKrbRealmHostMaintenance::PreTranslateMessage(MSG* pMsg)
-{
-       if (m_isStart)
-       {
-               OnSelchangeListKdcRealm();
-               m_isStart = FALSE;
-       }
-
-       return CPropertyPage::PreTranslateMessage(pMsg);
-}
-
-void CKrbRealmHostMaintenance::OnSelchangeListKdcRealm()
-{
-       char theSection[REALM_SZ + 1];
-       const char*  adminServer[] = {"realms", theSection, ADMIN_SERVER, NULL};
-       const char*  Section[] = {"realms", theSection, "kdc", NULL}; //theSection
-       const char** section = Section;
-       const char** adminServ = adminServer;
-       char **values = NULL,
-                **adminValue = NULL,
-                **cpp = NULL;
-
-       m_KDCRealmList.GetText(m_KDCRealmList.GetCurSel(), theSection);
-
-       long retval = pprofile_get_values(CLeashApp::m_krbv5_profile,
-                                          section, &values);
-
-       if (retval && PROF_NO_RELATION != retval)
-       {
-               MessageBox("OnSelchangeListKdcRealm::There is an error, profile will not be saved!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Error", MB_OK);
-               return;
-       }
-
-       m_KDCHostList.ResetContent();
-
-    if ( !retval && values ) {
-        retval = pprofile_get_values(CLeashApp::m_krbv5_profile,
-                                      adminServ, &adminValue);
-
-        if (retval && PROF_NO_RELATION != retval)
-        {
-            MessageBox("OnSelchangeListKdcRealm::There is an error, profile will not be saved!!!\
-                        \nIf this error persist, contact your administrator.",
-                        "Error", MB_OK);
-            return;
-        }
-
-        m_theAdminServer = _T("");
-        m_theAdminServerMarked = _T("");
-
-        for (cpp = values; *cpp; cpp++)
-        {
-            CString kdcHost = *cpp;
-
-            if (adminValue && 0 == strcmp(*adminValue, *cpp))
-            {
-                m_theAdminServer = kdcHost;
-                kdcHost += " ";
-                kdcHost += ADMIN_SERVER;
-
-                m_theAdminServerMarked = kdcHost;
-            }
-
-            if (LB_ERR == m_KDCHostList.AddString(kdcHost))
-            {
-                MessageBox("OnSelchangeListKdcRealm::Can't add Realm to Listbox",
-                            "Error", MB_OK);
-            }
-        }
-
-        pprofile_free_list(values);
-    } else {
-        GetDlgItem(IDC_BUTTON_REALM_HOST_ADD)->EnableWindow(TRUE);
-        GetDlgItem(ID_BUTTON_REALM_REMOVE)->EnableWindow(FALSE);
-        GetDlgItem(IDC_BUTTON_REALM_EDIT)->EnableWindow(FALSE);
-    }
-    CKrbConfigOptions::ResetDefaultRealmComboBox();
-
-       GetDlgItem(IDC_BUTTON_KDCHOST_REMOVE)->EnableWindow(FALSE);
-       GetDlgItem(IDC_BUTTON_KDCHOST_EDIT)->EnableWindow(FALSE);
-}
-
-void CKrbRealmHostMaintenance::OnSelchangeListKdcHost()
-{
-       CString adminServer;
-       m_KDCHostList.GetText(m_KDCHostList.GetCurSel(), adminServer);
-
-       if (-1 != adminServer.Find(ADMIN_SERVER))
-       {
-               GetDlgItem(IDC_BUTTON_ADMINSERVER)->EnableWindow(FALSE);
-               GetDlgItem(IDC_BUTTON_REMOVE_ADMINSERVER)->EnableWindow();
-       }
-       else
-       {
-               GetDlgItem(IDC_BUTTON_ADMINSERVER)->EnableWindow();
-               GetDlgItem(IDC_BUTTON_REMOVE_ADMINSERVER)->EnableWindow(FALSE);
-       }
-
-       if (m_KDCHostList.GetCount() > 1)
-         GetDlgItem(IDC_BUTTON_KDCHOST_REMOVE)->EnableWindow();
-
-       GetDlgItem(IDC_BUTTON_KDCHOST_EDIT)->EnableWindow();
-}
-
-void CKrbRealmHostMaintenance::OnSetfocusListKdcRealm()
-{
-       GetDlgItem(IDC_BUTTON_ADMINSERVER)->EnableWindow(FALSE);
-       GetDlgItem(IDC_BUTTON_REMOVE_ADMINSERVER)->EnableWindow(FALSE);
-}
-
-void CKrbRealmHostMaintenance::OnButtonAdminserver()
-{
-       // Install new admin.server in profile linklist
-       char theSection[REALM_SZ + 1];
-       const char* Section[] = {"realms", theSection, ADMIN_SERVER, NULL};
-       const char** section = Section;
-
-    m_KDCHostList.SetFocus();
-    INT index1 = m_KDCHostList.GetCurSel();
-       INT index2 = m_KDCHostList.FindStringExact(-1, m_theAdminServerMarked);
-
-       if (-1 != index2)
-       {
-               m_KDCHostList.DeleteString(index2);
-               if (LB_ERR == m_KDCHostList.InsertString(index2, m_theAdminServer))
-               {
-                       MessageBox("OnButtonAdminserver::Can't add to list!!!",
-                                                 "Error, MB_OK");
-               }
-       }
-
-       CString makeAdmin;
-       m_KDCHostList.GetText(index1, makeAdmin);
-       m_KDCHostList.DeleteString(index1);
-       m_theAdminServer = makeAdmin;
-       makeAdmin += " ";
-       makeAdmin += ADMIN_SERVER;
-       m_theAdminServerMarked = makeAdmin;
-
-       if (LB_ERR == m_KDCHostList.InsertString(index1, makeAdmin))
-       {
-               MessageBox("OnButtonAdminserver::Can't add to list!!!",
-                                         "Error, MB_OK");
-       }
-
-       m_KDCHostList.SetCurSel(m_KDCHostList.FindStringExact(-1, makeAdmin)); //index2 -1);
-       GetDlgItem(IDC_BUTTON_ADMINSERVER)->EnableWindow(FALSE);
-       GetDlgItem(IDC_BUTTON_REMOVE_ADMINSERVER)->EnableWindow();
-
-       m_KDCRealmList.GetText(m_KDCRealmList.GetCurSel(), theSection);
-
-       long retval = pprofile_clear_relation(CLeashApp::m_krbv5_profile,
-                                                                                  section);
-
-    if (retval && PROF_NO_RELATION != retval)
-       {
-               MessageBox("OnButtonAdminserver::There is an error, profile will not be saved!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Error", MB_OK);
-               return;
-       }
-
-       retval = pprofile_add_relation(CLeashApp::m_krbv5_profile,
-                                                       section, m_theAdminServer);
-
-       if (retval)
-       { // this might not be a good way to handle this type of error
-               MessageBox("OnButtonAdminserver::There is an error, profile will not be saved!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Error", MB_OK);
-               return;
-       }
-
-       SetModified(TRUE);
-}
-
-void CKrbRealmHostMaintenance::OnButtonRemoveAdminserver()
-{
-       // Remove admin.server from profile linklist
-       char theSection[REALM_SZ + 1];
-       const char* Section[] = {"realms", theSection, ADMIN_SERVER, NULL};
-       const char** section = Section;
-
-    m_KDCHostList.SetFocus();
-    m_KDCRealmList.GetText(m_KDCRealmList.GetCurSel(), theSection);
-
-       long retval = pprofile_clear_relation(CLeashApp::m_krbv5_profile,
-                                                                                  section);
-
-       if (retval)
-       {
-               MessageBox("OnButtonRemoveAdminserver::There is an error, profile will not be saved!!!\
-                    \nIf this error persist, contact your administrator.",
-                                  "Error", MB_OK);
-               return;
-       }
-
-    INT index = m_KDCHostList.GetCurSel();
-       m_KDCHostList.DeleteString(index);
-
-    if (LB_ERR == m_KDCHostList.InsertString(index, m_theAdminServer))
-       {
-               MessageBox("OnButtonRemoveAdminserver::Can't add to list!!!",
-                                         "Error, MB_OK");
-
-
-       }
-
-       m_theAdminServerMarked = m_theAdminServer;
-       m_KDCHostList.SetCurSel(m_KDCHostList.FindStringExact(-1, m_theAdminServer));
-       GetDlgItem(IDC_BUTTON_ADMINSERVER)->EnableWindow();
-       GetDlgItem(IDC_BUTTON_REMOVE_ADMINSERVER)->EnableWindow(FALSE);
-
-       SetModified(TRUE);
-}
-
-
-
-void CKrbRealmHostMaintenance::OnButtonRealmhostMaintHelp()
-{
-       MessageBox("No Help Available!", "Note", MB_OK);
-}
diff --git a/src/windows/leash/KrbRealmHostMaintenance.h b/src/windows/leash/KrbRealmHostMaintenance.h
deleted file mode 100644 (file)
index c894e22..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-//     **************************************************************************************
-//     File:                   KrbRealmHostMaintenance.h
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    H file for KrbRealmHostMaintenance.cpp. Contains variables and functions
-//                                     for Kerberos Four and Five Properties
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     12/02/98        ADL             Original
-//     **************************************************************************************
-
-
-#if !defined(AFX_KRBREALMNAMEMAINTENANCE_H__2FE711C3_8E9A_11D2_94C5_0000861B8A3C__INCLUDED_)
-#define AFX_KRBREALMNAMEMAINTENANCE_H__2FE711C3_8E9A_11D2_94C5_0000861B8A3C__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-
-
-/////////////////////////////////////////////////////////////////////////////
-// CKrbRealmHostMaintenance dialog
-
-#include "resource.h"
-#include "CLeashDragListBox.h"
-
-#define MAXLINE 256
-
-class CKrbRealmHostMaintenance : public CPropertyPage
-{
-// Construction
-private:
-       DECLARE_DYNCREATE(CKrbRealmHostMaintenance)
-       CHAR lineBuf[MAXLINE];
-       CString m_theAdminServerMarked;
-       CString m_theAdminServer;
-       BOOL m_isRealmListBoxInFocus;
-       BOOL m_isStart;
-    BOOL m_initDnsKdcLookup;
-    BOOL m_newDnsKdcLookup;
-
-       bool OnButtonKdchostAddInternal();
-
-       //void ResetDefaultRealmComboBox();
-
-public:
-       //CKrbRealmHostMaintenance(CWnd* pParent = NULL);   // standard constructor
-       CKrbRealmHostMaintenance();
-       virtual ~CKrbRealmHostMaintenance();
-
-// Dialog Data
-       //{{AFX_DATA(CKrbRealmHostMaintenance)
-       enum { IDD = IDD_KRB_REALMHOST_MAINT };
-       CListBox        m_KDCRealmList;
-       CLeashDragListBox m_KDCHostList;
-       //}}AFX_DATA
-
-
-// Overrides
-       // ClassWizard generated virtual function overrides
-       //{{AFX_VIRTUAL(CKrbRealmHostMaintenance)
-       public:
-       virtual BOOL PreTranslateMessage(MSG* pMsg);
-       protected:
-       virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
-       //}}AFX_VIRTUAL
-
-
-// Implementation
-protected:
-
-       // Generated message map functions
-       //{{AFX_MSG(CKrbRealmHostMaintenance)
-       virtual BOOL OnInitDialog();
-       virtual BOOL OnApply();
-       virtual void OnCancel();
-       afx_msg void OnButtonRealmHostAdd();
-       afx_msg void OnButtonRealmHostEdit();
-       afx_msg void OnButtonRealmHostRemove();
-       afx_msg void OnSelchangeListKdcRealm();
-       afx_msg void OnButtonAdminserver();
-       afx_msg void OnSetfocusListKdcRealm();
-       afx_msg void OnButtonKdchostAdd();
-       afx_msg void OnButtonKdchostRemove();
-       afx_msg void OnButtonRemoveAdminserver();
-       afx_msg void OnSelchangeListKdcHost();
-       afx_msg void OnButtonKdchostEdit();
-       afx_msg void OnDblclkListKdcRealm();
-       afx_msg void OnDblclkListKdcHost();
-       afx_msg void OnButtonRealmhostMaintHelp();
-    afx_msg void OnCheckDnsKdcLookup();
-       //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_KRBREALMNAMEMAINTENANCE_H__2FE711C3_8E9A_11D2_94C5_0000861B8A3C__INCLUDED_)
index f4e7493502385d089a8b23ca73a997f3318dbb20..b342bbb65e573733683732b747cbe687e58383ee 100644 (file)
 
 #include <wshelper.h>
 
-#ifndef NO_AFS
-#include "afscompat.h"
-#endif
-
 #include <errno.h>
 
 #include <afxwin.h>
@@ -53,13 +49,8 @@ TicketInfoWrapper ticketinfo;
 HWND CLeashApp::m_hProgram = 0;
 HINSTANCE CLeashApp::m_hLeashDLL = 0;
 HINSTANCE CLeashApp::m_hComErr = 0;
-////@#+Remove
-#ifndef NO_KRB4
-HINSTANCE CLeashApp::m_hKrb4DLL = 0;
-#endif
 HINSTANCE CLeashApp::m_hKrb5DLL = 0;
 HINSTANCE CLeashApp::m_hKrb5ProfileDLL= 0;
-HINSTANCE CLeashApp::m_hAfsDLL = 0;
 HINSTANCE CLeashApp::m_hPsapi = 0;
 HINSTANCE CLeashApp::m_hToolHelp32 = 0;
 krb5_context CLeashApp::m_krbv5_context = 0;
@@ -118,12 +109,8 @@ CLeashApp::~CLeashApp()
     CloseHandle(ticketinfo.lockObj);
 #endif
        AfxFreeLibrary(m_hLeashDLL);
-#ifndef NO_KRB4
-       AfxFreeLibrary(m_hKrb4DLL);
-#endif
        AfxFreeLibrary(m_hKrb5DLL);
        AfxFreeLibrary(m_hKrb5ProfileDLL);
-       AfxFreeLibrary(m_hAfsDLL);
        AfxFreeLibrary(m_hPsapi);
     AfxFreeLibrary(m_hToolHelp32);
     AfxFreeLibrary(m_hKrbLSA);
@@ -497,134 +484,35 @@ BOOL CLeashApp::InitInstance()
 // CLeashApp commands
 
 // leash functions
-DECL_FUNC_PTR(not_an_API_LeashKRB4GetTickets);
-DECL_FUNC_PTR(not_an_API_LeashAFSGetToken);
-DECL_FUNC_PTR(not_an_API_LeashGetTimeServerName);
 DECL_FUNC_PTR(Leash_kdestroy);
 DECL_FUNC_PTR(Leash_changepwd_dlg);
 DECL_FUNC_PTR(Leash_changepwd_dlg_ex);
 DECL_FUNC_PTR(Leash_kinit_dlg);
 DECL_FUNC_PTR(Leash_kinit_dlg_ex);
 DECL_FUNC_PTR(Leash_timesync);
-DECL_FUNC_PTR(Leash_get_default_lifetime);
-DECL_FUNC_PTR(Leash_set_default_lifetime);
-DECL_FUNC_PTR(Leash_get_default_forwardable);
-DECL_FUNC_PTR(Leash_set_default_forwardable);
-DECL_FUNC_PTR(Leash_get_default_renew_till);
-DECL_FUNC_PTR(Leash_set_default_renew_till);
-DECL_FUNC_PTR(Leash_get_default_noaddresses);
-DECL_FUNC_PTR(Leash_set_default_noaddresses);
-DECL_FUNC_PTR(Leash_get_default_proxiable);
-DECL_FUNC_PTR(Leash_set_default_proxiable);
-DECL_FUNC_PTR(Leash_get_default_publicip);
-DECL_FUNC_PTR(Leash_set_default_publicip);
-DECL_FUNC_PTR(Leash_get_default_use_krb4);
-DECL_FUNC_PTR(Leash_set_default_use_krb4);
-DECL_FUNC_PTR(Leash_get_default_life_min);
-DECL_FUNC_PTR(Leash_set_default_life_min);
-DECL_FUNC_PTR(Leash_get_default_life_max);
-DECL_FUNC_PTR(Leash_set_default_life_max);
-DECL_FUNC_PTR(Leash_get_default_renew_min);
-DECL_FUNC_PTR(Leash_set_default_renew_min);
-DECL_FUNC_PTR(Leash_get_default_renew_max);
-DECL_FUNC_PTR(Leash_set_default_renew_max);
-DECL_FUNC_PTR(Leash_get_default_renewable);
-DECL_FUNC_PTR(Leash_set_default_renewable);
-DECL_FUNC_PTR(Leash_get_lock_file_locations);
-DECL_FUNC_PTR(Leash_set_lock_file_locations);
 DECL_FUNC_PTR(Leash_get_default_uppercaserealm);
 DECL_FUNC_PTR(Leash_set_default_uppercaserealm);
 DECL_FUNC_PTR(Leash_get_default_mslsa_import);
-DECL_FUNC_PTR(Leash_set_default_mslsa_import);
-DECL_FUNC_PTR(Leash_get_default_preserve_kinit_settings);
-DECL_FUNC_PTR(Leash_set_default_preserve_kinit_settings);
 DECL_FUNC_PTR(Leash_import);
 DECL_FUNC_PTR(Leash_importable);
 DECL_FUNC_PTR(Leash_renew);
-DECL_FUNC_PTR(Leash_reset_defaults);
 
 FUNC_INFO leash_fi[] = {
-    MAKE_FUNC_INFO(not_an_API_LeashKRB4GetTickets),
-    MAKE_FUNC_INFO(not_an_API_LeashAFSGetToken),
-    MAKE_FUNC_INFO(not_an_API_LeashGetTimeServerName),
     MAKE_FUNC_INFO(Leash_kdestroy),
     MAKE_FUNC_INFO(Leash_changepwd_dlg),
     MAKE_FUNC_INFO(Leash_changepwd_dlg_ex),
     MAKE_FUNC_INFO(Leash_kinit_dlg),
        MAKE_FUNC_INFO(Leash_kinit_dlg_ex),
     MAKE_FUNC_INFO(Leash_timesync),
-    MAKE_FUNC_INFO(Leash_get_default_lifetime),
-    MAKE_FUNC_INFO(Leash_set_default_lifetime),
-    MAKE_FUNC_INFO(Leash_get_default_renew_till),
-    MAKE_FUNC_INFO(Leash_set_default_renew_till),
-    MAKE_FUNC_INFO(Leash_get_default_forwardable),
-    MAKE_FUNC_INFO(Leash_set_default_forwardable),
-    MAKE_FUNC_INFO(Leash_get_default_noaddresses),
-    MAKE_FUNC_INFO(Leash_set_default_noaddresses),
-    MAKE_FUNC_INFO(Leash_get_default_proxiable),
-    MAKE_FUNC_INFO(Leash_set_default_proxiable),
-    MAKE_FUNC_INFO(Leash_get_default_publicip),
-    MAKE_FUNC_INFO(Leash_set_default_publicip),
-    MAKE_FUNC_INFO(Leash_get_default_use_krb4),
-    MAKE_FUNC_INFO(Leash_set_default_use_krb4),
-    MAKE_FUNC_INFO(Leash_get_default_life_min),
-    MAKE_FUNC_INFO(Leash_set_default_life_min),
-    MAKE_FUNC_INFO(Leash_get_default_life_max),
-    MAKE_FUNC_INFO(Leash_set_default_life_max),
-    MAKE_FUNC_INFO(Leash_get_default_renew_min),
-    MAKE_FUNC_INFO(Leash_set_default_renew_min),
-    MAKE_FUNC_INFO(Leash_get_default_renew_max),
-    MAKE_FUNC_INFO(Leash_set_default_renew_max),
-    MAKE_FUNC_INFO(Leash_get_default_renewable),
-    MAKE_FUNC_INFO(Leash_set_default_renewable),
-    MAKE_FUNC_INFO(Leash_get_lock_file_locations),
-    MAKE_FUNC_INFO(Leash_set_lock_file_locations),
     MAKE_FUNC_INFO(Leash_get_default_uppercaserealm),
     MAKE_FUNC_INFO(Leash_set_default_uppercaserealm),
     MAKE_FUNC_INFO(Leash_get_default_mslsa_import),
-    MAKE_FUNC_INFO(Leash_set_default_mslsa_import),
-    MAKE_FUNC_INFO(Leash_get_default_preserve_kinit_settings),
-    MAKE_FUNC_INFO(Leash_set_default_preserve_kinit_settings),
     MAKE_FUNC_INFO(Leash_import),
     MAKE_FUNC_INFO(Leash_importable),
     MAKE_FUNC_INFO(Leash_renew),
-    MAKE_FUNC_INFO(Leash_reset_defaults),
     END_FUNC_INFO
 };
 
-////
-#ifndef NO_KRB4
-// krb4 functions
-DECL_FUNC_PTR(set_krb_debug);
-DECL_FUNC_PTR(set_krb_ap_req_debug);
-DECL_FUNC_PTR(krb_get_krbconf2);
-DECL_FUNC_PTR(krb_get_krbrealm2);
-DECL_FUNC_PTR(tkt_string);
-DECL_FUNC_PTR(krb_set_tkt_string);
-DECL_FUNC_PTR(krb_realmofhost);
-DECL_FUNC_PTR(krb_get_lrealm);
-DECL_FUNC_PTR(krb_get_krbhst);
-DECL_FUNC_PTR(tf_init);
-DECL_FUNC_PTR(tf_close);
-DECL_FUNC_PTR(krb_get_tf_realm);
-
-FUNC_INFO krb4_fi[] = {
-    MAKE_FUNC_INFO(set_krb_debug),
-    MAKE_FUNC_INFO(set_krb_ap_req_debug),
-    MAKE_FUNC_INFO(krb_get_krbconf2),
-    MAKE_FUNC_INFO(krb_get_krbrealm2),
-    MAKE_FUNC_INFO(tkt_string),
-    MAKE_FUNC_INFO(krb_set_tkt_string),
-    MAKE_FUNC_INFO(krb_realmofhost),
-    MAKE_FUNC_INFO(krb_get_lrealm),
-    MAKE_FUNC_INFO(krb_get_krbhst),
-    MAKE_FUNC_INFO(tf_init),
-    MAKE_FUNC_INFO(tf_close),
-    MAKE_FUNC_INFO(krb_get_tf_realm),
-    END_FUNC_INFO
-};
-#endif
-
 // com_err funcitons
 DECL_FUNC_PTR(error_message);
 FUNC_INFO ce_fi[] =  {
@@ -783,18 +671,10 @@ FUNC_INFO profile_fi[] = {
 BOOL CLeashApp::InitDLLs()
 {
     m_hLeashDLL = AfxLoadLibrary(LEASHDLL);
-#ifndef NO_KRB4
-    m_hKrb4DLL = AfxLoadLibrary(KERB4DLL);
-#endif
     m_hKrb5DLL = AfxLoadLibrary(KERB5DLL);
     m_hKrb5ProfileDLL = AfxLoadLibrary(KERB5_PPROFILE_DLL);
     m_hComErr = AfxLoadLibrary(COMERR_DLL);
 
-#ifndef NO_AFS
-    afscompat_init();
-    m_hAfsDLL = AfxLoadLibrary(AFSAuthentDLL());
-#endif
-
 #define PSAPIDLL "psapi.dll"
 #define TOOLHELPDLL "kernel32.dll"
 
@@ -824,19 +704,6 @@ BOOL CLeashApp::InitDLLs()
                    "Error", MB_OK);
         return FALSE;
     }
-////
-#ifndef NO_KRB4
-    if (m_hKrb4DLL)
-    {
-        if (!LoadFuncs(KERB4DLL, krb4_fi, 0, 0, 1, 0, 0))
-        {
-            MessageBox(hwnd,
-                       "Unexpected error while loading " KERB4DLL ".\n"
-                       "Kerberos 4 functionality will be disabled.\n",
-                       "Error", MB_OK);
-        }
-    }
-#endif
 
     if (m_hKrb5DLL)
     {
@@ -943,7 +810,6 @@ BOOL CLeashApp::FirstInstance()
 void
 CLeashApp::ValidateConfigFiles()
 {
-    CStdioFile krbCon;
     char confname[257];
     char realm[256]="";
 
@@ -953,8 +819,6 @@ CLeashApp::ValidateConfigFiles()
             return;
 
     if ( m_hKrb5DLL ) {
-        int krb_con_open = 0;
-
         // Create the empty KRB5.INI file
         if (!GetProfileFile(confname,sizeof(confname))) {
             const char *filenames[2];
@@ -972,16 +836,6 @@ CLeashApp::ValidateConfigFiles()
                        }
 
 
-            if ( !GetKrb4ConFile(confname,sizeof(confname)) ) {
-                if (!krbCon.Open(confname, CFile::modeNoTruncate | CFile::modeRead))
-                {
-                    if (krbCon.Open(confname, CFile::modeCreate | CFile::modeWrite))
-                    {
-                        krb_con_open = 1;
-                    }
-                }
-            }
-
             const char*  lookupKdc[] = {"libdefaults", "dns_lookup_kdc", NULL};
             const char*  lookupRealm[] = {"libdefaults", "dns_lookup_realm", NULL};
             const char*  defRealm[] = {"libdefaults", "default_realm", NULL};
@@ -1031,10 +885,6 @@ CLeashApp::ValidateConfigFiles()
                 if ( domain[0] ) {
                     strncpy(realm,domain,256);
                     realm[255] = '\0';
-                    if ( krb_con_open ) {
-                        krbCon.WriteString(realm);
-                        krbCon.WriteString("\n");
-                    }
                     strncat(realmkey,domain,256-strlen(realmkey));
                     realmkey[255] = '\0';
                 }
@@ -1095,13 +945,6 @@ CLeashApp::ValidateConfigFiles()
                                                                     names,
                                                                     (const char *)p);
 
-                                    if ( krb_con_open ) {
-                                        krbCon.WriteString((const char *)subkey);
-                                        krbCon.WriteString("\t");
-                                        krbCon.WriteString((const char *)p);
-                                        krbCon.WriteString("\n");
-                                    }
-
                                     p += strlen((char*)p) + 1;
                                 }
                                 free(lpszValue);
@@ -1141,11 +984,6 @@ CLeashApp::ValidateConfigFiles()
                     realm[krb5_princ_realm(ctx,me)->length] = '\0';
                 }
 
-                if ( krb_con_open ) {
-                    krbCon.WriteString(realm);
-                    krbCon.WriteString("\n");
-                }
-
               no_k5_realm:
                 if ( me )
                     pkrb5_free_principal(ctx,me);
@@ -1179,194 +1017,10 @@ CLeashApp::ValidateConfigFiles()
             pprofile_release(m_krbv5_profile);
             m_krbv5_profile = NULL;
 
-            // Close KRB.CON file
-            if ( krb_con_open ) {
-                krbCon.WriteString(".KERBEROS.OPTION. dns\n");
-                krbCon.Close();
-            }
-
-            // Create the empty KRBREALM.CON file
-            if ( !GetKrb4RealmFile(confname,sizeof(confname)) ) {
-                if (!krbCon.Open(confname, CFile::modeNoTruncate | CFile::modeRead))
-                {
-                    if (krbCon.Open(confname, CFile::modeCreate | CFile::modeWrite))
-                    {
-                        krbCon.Close();
-                    }
-                } else
-                    krbCon.Close();
-            }
-
         }
-////
-#ifndef NO_KRB4
-    } else if ( m_hKrb4DLL ) {
-        if ( !realm[0] ) {
-            /* Open ticket file */
-            char * file = ptkt_string();
-            int k_errno;
-
-            if (file != NULL && file[0]) {
-                if ((k_errno = ptf_init(file, R_TKT_FIL)) == KSUCCESS) {
-                    /* Close ticket file */
-                    (void) ptf_close();
-
-                    k_errno = pkrb_get_tf_realm(file, realm);
-                }
-                if (k_errno != KSUCCESS) {
-                    k_errno = pkrb_get_lrealm(realm, 1);
-                }
-            }
-        }
-
-        if ( !GetKrb4ConFile(confname,sizeof(confname)) ) {
-            if (!krbCon.Open(confname, CFile::modeNoTruncate | CFile::modeRead))
-            {
-                if (krbCon.Open(confname, CFile::modeCreate | CFile::modeWrite))
-                {
-                    if ( realm[0] )
-                        krbCon.WriteString(realm);
-                    krbCon.WriteString("\n.KERBEROS.OPTION. dns\n");
-                    krbCon.Close();
-                }
-            } else
-                               krbCon.Close();
-        }
-
-        if ( !GetKrb4RealmFile(confname,sizeof(confname)) ) {
-            if (!krbCon.Open(confname, CFile::modeNoTruncate | CFile::modeRead))
-            {
-                if (krbCon.Open(confname, CFile::modeCreate | CFile::modeWrite))
-                {
-                    krbCon.Close();
-                }
-            } else
-                               krbCon.Close();
-        }
-#endif
     }
 }
 
-////@#+Should this be just deleted or reworked?
-BOOL
-CLeashApp::GetKrb4ConFile(
-    LPSTR confname,
-    UINT szConfname
-    )
-{
-    if (m_hKrb5DLL
-////
-#ifndef NO_KRB4
-       && !m_hKrb4DLL
-#endif
-       )
-       { // hold krb.con where krb5.ini is located
-               CHAR krbConFile[MAX_PATH]="";
-           //strcpy(krbConFile, CLeashApp::m_krbv5_profile->first_file->filename);
-        if (GetProfileFile(krbConFile, sizeof(krbConFile)))
-        {
-                   GetWindowsDirectory(krbConFile,sizeof(krbConFile));
-            krbConFile[MAX_PATH-1] = '\0';
-                       strncat(krbConFile,"\\KRB5.INI",sizeof(krbConFile)-strlen(krbConFile)-1);
-            krbConFile[MAX_PATH-1] = '\0';
-        }
-
-               LPSTR pFind = strrchr(krbConFile, '\\');
-               if (pFind)
-               {
-                       *pFind = 0;
-                       strncat(krbConFile, "\\",MAX_PATH-1);
-            krbConFile[MAX_PATH-1] = '\0';
-                       strncat(krbConFile, KRB_FILE,MAX_PATH-1);
-            krbConFile[MAX_PATH-1] = '\0';
-               }
-               else
-                 ASSERT(0);
-
-               strncpy(confname, krbConFile, szConfname);
-        confname[szConfname-1] = '\0';
-       }
-////
-#ifndef NO_KRB4
-       else if (m_hKrb4DLL)
-       {
-        unsigned int size = szConfname;
-        memset(confname, '\0', szConfname);
-               if (!pkrb_get_krbconf2(confname, &size))
-               { // Error has happened
-                   GetWindowsDirectory(confname,szConfname);
-            confname[szConfname-1] = '\0';
-                       strncat(confname, "\\",szConfname);
-            confname[szConfname-1] = '\0';
-                       strncat(confname,KRB_FILE,szConfname);
-            confname[szConfname-1] = '\0';
-               }
-       }
-#endif
-
-    return FALSE;
-}
-
-BOOL
-CLeashApp::GetKrb4RealmFile(
-    LPSTR confname,
-    UINT szConfname
-    )
-{
-    if (m_hKrb5DLL
-////
-#ifndef NO_KRB4
-       && !m_hKrb4DLL
-#endif
-       )
-       { // hold krb.con where krb5.ini is located
-               CHAR krbRealmConFile[MAX_PATH];
-               //strcpy(krbRealmConFile, CLeashApp::m_krbv5_profile->first_file->filename);
-               if (GetProfileFile(krbRealmConFile, sizeof(krbRealmConFile)))
-        {
-                   GetWindowsDirectory(krbRealmConFile,sizeof(krbRealmConFile));
-            krbRealmConFile[MAX_PATH-1] = '\0';
-                       strncat(krbRealmConFile,"\\KRB5.INI",sizeof(krbRealmConFile)-strlen(krbRealmConFile));
-            krbRealmConFile[MAX_PATH-1] = '\0';
-        }
-
-               LPSTR pFind = strrchr(krbRealmConFile, '\\');
-               if (pFind)
-               {
-                       *pFind = 0;
-                       strncat(krbRealmConFile, "\\",MAX_PATH-1-strlen(krbRealmConFile));
-            krbRealmConFile[MAX_PATH-1] = '\0';
-                       strncat(krbRealmConFile, KRBREALM_FILE,MAX_PATH-1-strlen(krbRealmConFile));
-            krbRealmConFile[MAX_PATH-1] = '\0';
-               }
-               else
-                 ASSERT(0);
-
-               strncpy(confname, krbRealmConFile, szConfname);
-        confname[szConfname-1] = '\0';
-       }
-////
-#ifndef NO_KRB4
-       else if (m_hKrb4DLL)
-       {
-        unsigned int size = szConfname;
-        memset(confname, '\0', szConfname);
-        if (!pkrb_get_krbrealm2(confname, &size))
-               {
-                   GetWindowsDirectory(confname,szConfname);
-            confname[szConfname-1] = '\0';
-                       strncat(confname, "\\",szConfname-strlen(confname));
-            confname[szConfname-1] = '\0';
-                       strncat(confname,KRBREALM_FILE,szConfname-strlen(confname));
-            confname[szConfname-1] = '\0';
-            return TRUE;
-               }
-       }
-#endif
-
-    return FALSE;
-}
-
 BOOL
 CLeashApp::GetProfileFile(
     LPSTR confname,
index 6d5f815a9f729ec541fac96368140b397931a3ce..c2b5f1665a3b71bcf8efa1f9e5bc56bb6737a344 100644 (file)
@@ -39,8 +39,6 @@
 #define HID_DESTROY_TICKETS_ON_EXIT            98321
 #define HID_UPPERCASE_REALM_OPTION      98323
 #define HID_RESET_WINDOW_OPTION                        98326
-#define HID_AFS_PROPERTIES_COMMAND             98327
-#define HID_KRB4_PROPERTIES_COMMAND            98329
 #define HID_KRB5_PROPERTIES_COMMAND            98330
 #define HID_LEASH_PROPERTIES_COMMAND   98331
 #define HID_LOW_TICKET_ALARM_OPTION            98334
@@ -56,7 +54,6 @@
 #define HID_LEASH_COMMANDS              131200
 #define HID_ABOUT_LEASH32_MODULES       131225
 #define HID_DEBUG_WINDOW                               131229
-#define HID_KRB4_PROPERTIES_EDIT           131232
 #define HID_KERBEROS_PROPERTIES_EDIT   131233
 #define HID_LEASH_PROPERTIES_EDIT              131239
 #define HID_KRB5_PROPERTIES_FORWARDING  131240
@@ -108,12 +105,8 @@ public:
        static HINSTANCE        m_hLeashDLL;
        static HINSTANCE        m_hComErr;
 ////
-#ifndef NO_KRB4
-       static HINSTANCE        m_hKrb4DLL;
-#endif
        static HINSTANCE        m_hKrb5DLL;
        static HINSTANCE        m_hKrb5ProfileDLL;
-       static HINSTANCE        m_hAfsDLL;
        static HINSTANCE        m_hPsapi;
        static HINSTANCE        m_hToolHelp32;
        static krb5_context m_krbv5_context;
@@ -126,8 +119,6 @@ public:
        virtual ~CLeashApp();
 
     static BOOL  GetProfileFile(LPSTR confname, UINT szConfname);
-    static BOOL  GetKrb4ConFile(LPSTR confname, UINT szConfname);
-    static BOOL  GetKrb4RealmFile(LPSTR confname, UINT szConfname);
     static void  ValidateConfigFiles();
     static void  ObtainTicketsViaUserIfNeeded(HWND hWnd);
     static DWORD GetNumOfIpAddrs(void);
index 798e62969348cb8411a9542b84feb468a4c39b83..2359a8d978765cbf6784576a48be2446a36b3285 100644 (file)
@@ -178,11 +178,6 @@ BEGIN
     "Z",            ID_EDIT_UNDO,           VIRTKEY, CONTROL, NOINVERT
 END
 
-IDD_KRB4_DOMAINREALM_MAINT ACCELERATORS
-BEGIN
-    "F",            ID_BUTTON_HOSTNAME_REMOVE, VIRTKEY, CONTROL, NOINVERT
-END
-
 
 /////////////////////////////////////////////////////////////////////////////
 //
@@ -202,7 +197,7 @@ BEGIN
     CONTROL         "Tree1",IDC_TREEVIEW,"SysTreeView32",TVS_HASBUTTONS |
                     TVS_HASLINES | TVS_LINESATROOT | TVS_DISABLEDRAGDROP |
                     TVS_INFOTIP | WS_HSCROLL | WS_TABSTOP,0,19,164,13
-    LTEXT           "Your Kerberos Tickets and AFS Tokens (Issued/Expires/[Renew]/Principal)",
+    LTEXT           "Your Kerberos Tickets (Issued/Expires/[Renew]/Principal)",
                     IDC_LABEL_KERB_TICKETS,6,5,280,12
     CONTROL         "",IDC_LEASH_MAINVIEW,"SysListView32",LVS_REPORT |
                     LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,0,43,347,88
@@ -259,30 +254,6 @@ BEGIN
     CTEXT           "Leash Warning Here!!!",IDC_LEASH_WARNING_MSG,0,7,257,27
 END
 
-IDD_KRB4_PROP_LOCATION DIALOG  0, 0, 316, 191
-STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Client File Location"
-FONT 8, "MS Sans Serif"
-BEGIN
-    EDITTEXT        IDC_EDIT_TICKET_FILE,64,24,239,12,ES_AUTOHSCROLL
-    EDITTEXT        IDC_EDIT_KRB_LOC,64,110,203,12,ES_AUTOHSCROLL | WS_GROUP
-    PUSHBUTTON      "Browse",IDC_BUTTON_KRB_BROWSE,271,109,31,14,WS_GROUP
-    PUSHBUTTON      "Browse",IDC_BUTTON_KRBREALM_BROWSE,271,129,32,14,
-                    WS_GROUP
-    LTEXT           "Name:",IDC_STATIC_TICKET_FILEPATH,34,25,22,8
-    GROUPBOX        "Configuration File(s) Path",IDC_STATIC_CONFIG_FILES,7,
-                    92,301,93
-    GROUPBOX        "Ticket File",IDC_STATIC_TICKETFILE,7,8,301,71
-    LTEXT           "Config.:",IDC_STATIC_KRBCON,31,110,25,8
-    LTEXT           "Ticket file name is set in your computer's environment!\nTo edit, remove it from the environment.",
-                    IDC_STATIC_TXT,12,54,283,19
-    LTEXT           "One or more Configuration file locations are set in your computer's environment!\nTo edit, remove all of them from the environment.",
-                    IDC_STATIC_CONFILES,12,160,284,19
-    EDITTEXT        IDC_EDIT_KRBREALM_LOC,64,130,203,12,ES_AUTOHSCROLL |
-                    WS_GROUP
-    LTEXT           "Realms:",IDC_STATIC_KRBREALMS,30,130,26,8
-END
-
 IDD_KRB_PROP_CONTENT DIALOG  0, 0, 314, 172
 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Default Realm Configuration"
@@ -315,36 +286,6 @@ BEGIN
     GROUPBOX        "",stc32,7,7,227,98,NOT WS_VISIBLE
 END
 
-IDD_LEASH_PROPERTIES DIALOGEX 0, 0, 305, 166
-STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Leash Properties"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    EDITTEXT        IDC_EDIT_TIME_SERVER,59,22,233,12,ES_AUTOHSCROLL
-    PUSHBUTTON      "&Help",IDC_BUTTON_LEASHINI_HELP2,138,145,50,14
-    DEFPUSHBUTTON   "&OK",IDOK,242,145,50,14
-    PUSHBUTTON      "&Cancel",IDCANCEL,190,145,50,14
-    LTEXT           "Name:",IDC_STATIC_TIMESERVER,31,23,22,8
-    GROUPBOX        "Time Server",IDC_STATIC_OPTIONS,7,7,291,45
-    LTEXT           "Time server name is set in your computer's environment!\nTo edit, remove it from the environment.",
-                    IDC_STATIC_TIMEHOST,31,22,201,21
-    CONTROL         "Create Configuration Files &Missing at Startup",
-                    IDC_CHECK_CREATE_MISSING_CFG,"Button",BS_AUTOCHECKBOX |
-                    WS_TABSTOP,15,105,244,10
-    PUSHBUTTON      "&Restore Leash Defaults",IDC_RESET_DEFAULTS,31,126,243,
-                    14
-    GROUPBOX        "Miscellaneous Options",IDC_GROUP_LEASH_MISC,7,95,291,29
-    GROUPBOX        "Automatic MSLSA Ticket Importation",IDC_STATIC,7,52,291,
-                    40
-    CONTROL         "Never",IDC_RADIO_MSLSA_IMPORT_OFF,"Button",
-                    BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,16,70,35,10
-    CONTROL         "Always",IDC_RADIO_MSLSA_IMPORT_ON,"Button",
-                    BS_AUTORADIOBUTTON | WS_TABSTOP,62,70,48,10
-    CONTROL         "When MSLSA Principal matches Default Realm",
-                    IDC_RADIO_MSLSA_IMPORT_MATCH,"Button",BS_AUTORADIOBUTTON |
-                    WS_TABSTOP,116,71,165,10
-END
-
 IDD_KRB5_PROP_CONTENT DIALOG  0, 0, 321, 126
 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Configuration Options"
@@ -407,19 +348,6 @@ BEGIN
                     BS_AUTOCHECKBOX | WS_TABSTOP,169,158,131,10
 END
 
-IDD_KRB4_DOMAINREALM_MAINT DIALOG  0, 0, 313, 213
-STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Domain-Host/Realm Maintenance"
-FONT 8, "MS Sans Serif"
-BEGIN
-    LISTBOX         IDC_LIST_DOMAINREALM,7,7,299,174,LBS_NOINTEGRALHEIGHT |
-                    WS_VSCROLL | WS_TABSTOP
-    DEFPUSHBUTTON   "&Add",IDC_BUTTON_REALM_HOST_ADD,52,192,50,14
-    PUSHBUTTON      "&Remove",ID_BUTTON_REALM_HOST_REMOVE,106,192,50,14
-    PUSHBUTTON      "&Edit",IDC_BUTTON_REALM_HOST_EDIT,160,192,50,14
-    PUSHBUTTON      "&Help",IDC_BUTTON_HOSTMAINT_HELP,214,192,50,14
-END
-
 IDD_KRB_ADD_REALM DIALOG  0, 0, 295, 94
 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Add a Kerberos Realm"
@@ -448,34 +376,6 @@ BEGIN
                     IDC_STATIC_NOTE,11,15,267,8
 END
 
-IDD_KRB4_ADD_DOMAINREALMNAME DIALOG  0, 0, 295, 89
-STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Add Your Domain-Host/Kerberos Realm Names to List"
-FONT 8, "MS Sans Serif"
-BEGIN
-    EDITTEXT        IDC_EDIT_DOMAINHOSTNAME,75,15,208,12,ES_AUTOHSCROLL
-    EDITTEXT        IDC_EDIT_DOMAINREALMNAME,75,32,208,12,ES_UPPERCASE |
-                    ES_AUTOHSCROLL
-    PUSHBUTTON      "&OK",IDOK,232,62,50,14
-    PUSHBUTTON      "&Cancel",IDCANCEL,179,62,50,14
-    LTEXT           "Domain or Host: ",IDC_STATIC_DEFAULT_REALM,12,17,58,8
-    LTEXT           "Kerberos Realm:",IDC_STATIC_REALM_HOSTNAME,17,34,53,8
-END
-
-IDD_KRB4_EDIT_DOMAINREALMNAME DIALOG  0, 0, 295, 89
-STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Edit Your Domain-Host/Kerberos Realm Names to List"
-FONT 8, "MS Sans Serif"
-BEGIN
-    EDITTEXT        IDC_EDIT_DOMAINHOST,75,15,208,12,ES_AUTOHSCROLL
-    EDITTEXT        IDC_EDIT_REALMNAME,75,32,208,12,ES_UPPERCASE |
-                    ES_AUTOHSCROLL
-    PUSHBUTTON      "&OK",IDOK,232,62,50,14
-    PUSHBUTTON      "&Cancel",IDCANCEL,179,62,50,14
-    LTEXT           "Domain or Host: ",IDC_STATIC_DEFAULT_REALM,12,17,58,8
-    LTEXT           "Kerberos Realm:",IDC_STATIC_REALM_HOSTNAME,17,34,53,8
-END
-
 IDD_KRB_ADD_KDC_HOSTSERVER DIALOG  0, 0, 295, 94
 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Add a Kerberos Host Server"
@@ -502,57 +402,6 @@ BEGIN
                     IDC_STATIC_NOTE,11,15,267,8
 END
 
-IDD_KRB4_REALMHOST_MAINT2 DIALOG  0, 0, 313, 214
-STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Realm/Host Maintenance"
-FONT 8, "MS Sans Serif"
-BEGIN
-    DEFPUSHBUTTON   "&Add",IDC_BUTTON_KRB4_REALM_HOST_ADD,53,161,50,14
-    PUSHBUTTON      "&Remove",ID_BUTTON_KRB4_REALM_HOST_REMOVE,107,161,50,14
-    PUSHBUTTON      "&Edit",IDC_BUTTON_KRB4_REALM_HOST_EDIT,161,161,50,14
-    PUSHBUTTON      "&Help",IDC_BUTTON_REALMHOST_MAINT_HELP2,214,161,50,14
-    LISTBOX         IDC_LIST_REMOVE_HOST,7,7,299,149,LBS_NOINTEGRALHEIGHT |
-                    WS_VSCROLL | WS_TABSTOP
-    CONTROL         "Use DNS KDC Lookup",IDC_KRB4_DNS_KDC,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,18,186,89,10
-END
-
-IDD_KRB4_EDIT_REALM DIALOG  0, 0, 296, 113
-STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Edit Kerberos Realm/Kerberos Host Names"
-FONT 8, "MS Sans Serif"
-BEGIN
-    EDITTEXT        IDC_EDIT_DEFAULT_REALM,70,23,213,12,ES_UPPERCASE |
-                    ES_AUTOHSCROLL
-    EDITTEXT        IDC_EDIT_REALM_HOSTNAME,70,41,213,12,ES_AUTOHSCROLL
-    CONTROL         "Has Administrative Server",IDC_RADIO_ADMIN_SERVER,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,50,61,96,12
-    CONTROL         "No Administrative Server",IDC_RADIO_NO_ADMIN_SERVER,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,154,61,92,12
-    PUSHBUTTON      "&OK",IDOK,233,86,50,14
-    PUSHBUTTON      "&Cancel",IDCANCEL,181,86,50,14
-    LTEXT           "Kerberos Realm:",IDC_STATIC_DEFAULT_REALM,11,25,53,8
-    LTEXT           "Kerberos Host:",IDC_STATIC_REALM_HOSTNAME,16,43,48,8
-END
-
-IDD_KRB4_ADD_REALM DIALOG  0, 0, 296, 113
-STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Add Kerberos Realm/Kerberos Host Names"
-FONT 8, "MS Sans Serif"
-BEGIN
-    EDITTEXT        IDC_EDIT_DEFAULT_REALM,70,23,213,12,ES_UPPERCASE |
-                    ES_AUTOHSCROLL
-    EDITTEXT        IDC_EDIT_REALM_HOSTNAME,70,41,213,12,ES_AUTOHSCROLL
-    CONTROL         "Has Administrative Server",IDC_RADIO_ADMIN_SERVER,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,50,61,95,12
-    CONTROL         "No Administrative Server",IDC_RADIO_NO_ADMIN_SERVER,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,154,61,92,12
-    PUSHBUTTON      "&OK",IDOK,232,86,50,14
-    PUSHBUTTON      "&Cancel",IDCANCEL,179,86,50,14
-    LTEXT           "Kerberos Realm:",IDC_STATIC_DEFAULT_REALM,11,25,53,8
-    LTEXT           "Kerberos Host:",IDC_STATIC_REALM_HOSTNAME,16,43,48,8
-END
-
 IDD_KRB_DOMAINREALM_MAINT DIALOG  0, 0, 314, 213
 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "DNS / Realm Mapping"
@@ -565,21 +414,6 @@ BEGIN
     PUSHBUTTON      "&Edit",IDC_BUTTON_HOST_EDIT,185,192,50,14
 END
 
-IDD_AFS_PROPERTIES DIALOG  0, 0, 290, 68
-STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "AFS Properties"
-FONT 8, "MS Sans Serif"
-BEGIN
-    CONTROL         "AFS Enabled",IDC_RADIO_AFS_ENABLED,"Button",
-                    BS_AUTORADIOBUTTON,12,19,59,10
-    CONTROL         "AFS Disabled",IDC_RADIO_AFS_DISABLED,"Button",
-                    BS_AUTORADIOBUTTON,80,19,59,10
-    PUSHBUTTON      "AFS Properties",IDC_BUTTON_AFS_PROPERTIES,11,47,70,14
-    DEFPUSHBUTTON   "&OK",IDOK,227,47,50,14
-    PUSHBUTTON      "&Cancel",IDCANCEL,173,47,50,14
-    PUSHBUTTON      "&Help",IDC_BUTTON_LEASHINI_HELP2,119,47,50,14
-END
-
 IDD_KRB_PROP_MISC DIALOGEX 0, 0, 314, 215
 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Ticket Lifetime and Other Initialization Options"
@@ -653,8 +487,6 @@ BEGIN
     LTEXT           "h",IDC_STATIC,230,26,8,8
     LTEXT           "m",IDC_STATIC,267,26,8,8
     GROUPBOX        "Ticket Initialization Options",IDC_STATIC,7,151,300,59
-    CONTROL         "Request Kerberos 4 Tickets",IDC_CHECK_REQUEST_KRB4,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,167,203,10
     CONTROL         "Preserve Ticket Initialization Dialog Options",
                     IDC_CHECK_PRESERVE_KINIT_OPTIONS,"Button",
                     BS_AUTOCHECKBOX | WS_TABSTOP,20,182,208,10
@@ -696,14 +528,6 @@ BEGIN
     BEGIN
     END
 
-    IDD_KRB4_PROP_LOCATION, DIALOG
-    BEGIN
-        LEFTMARGIN, 6
-        RIGHTMARGIN, 307
-        TOPMARGIN, 6
-        BOTTOMMARGIN, 184
-    END
-
     IDD_KRB_PROP_CONTENT, DIALOG
     BEGIN
         LEFTMARGIN, 7
@@ -720,14 +544,6 @@ BEGIN
         BOTTOMMARGIN, 105
     END
 
-    IDD_LEASH_PROPERTIES, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 298
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 159
-    END
-
     IDD_KRB5_PROP_CONTENT, DIALOG
     BEGIN
         LEFTMARGIN, 7
@@ -753,14 +569,6 @@ BEGIN
         BOTTOMMARGIN, 206
     END
 
-    IDD_KRB4_DOMAINREALM_MAINT, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 306
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 206
-    END
-
     IDD_KRB_ADD_REALM, DIALOG
     BEGIN
         LEFTMARGIN, 7
@@ -777,22 +585,6 @@ BEGIN
         BOTTOMMARGIN, 87
     END
 
-    IDD_KRB4_ADD_DOMAINREALMNAME, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 288
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 82
-    END
-
-    IDD_KRB4_EDIT_DOMAINREALMNAME, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 288
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 82
-    END
-
     IDD_KRB_ADD_KDC_HOSTSERVER, DIALOG
     BEGIN
         LEFTMARGIN, 7
@@ -809,30 +601,6 @@ BEGIN
         BOTTOMMARGIN, 87
     END
 
-    IDD_KRB4_REALMHOST_MAINT2, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 306
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 206
-    END
-
-    IDD_KRB4_EDIT_REALM, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 289
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 106
-    END
-
-    IDD_KRB4_ADD_REALM, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 289
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 106
-    END
-
     IDD_KRB_DOMAINREALM_MAINT, DIALOG
     BEGIN
         LEFTMARGIN, 7
@@ -841,14 +609,6 @@ BEGIN
         BOTTOMMARGIN, 206
     END
 
-    IDD_AFS_PROPERTIES, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 283
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 61
-    END
-
     IDD_KRB_PROP_MISC, DIALOG
     BEGIN
         LEFTMARGIN, 7
@@ -957,7 +717,6 @@ BEGIN
     ID_OPTIONS_RESETWINDOWSIZE
                             "Puts Leash's main window back to it's default size "
     ID_RESET_WINDOW_SIZE    "Refresh Leash window to it's default size/position"
-    ID_AFS_CONTROL_PANEL    "Enables you to change settings"
     ID_SYSTEM_CONTROL_PANEL "Open your System Properties window"
     ID_OPTIONS_LOWTICKETALARMSOUND
                             "Turn alarm off or on,  when ticket time is low"
index d5c6be24bb4a1aeee8747ca12c8e989b067a7ccf..8c621c3509dd9593292206722c5a68354a84acba 100644 (file)
@@ -327,22 +327,9 @@ void CLeashAboutBox::OnNotLoadedModules()
 {
     m_LB_DLLsLoaded.ResetContent();
 
-#ifndef NO_KRB4
-    if (!CLeashApp::m_hKrb4DLL)
-        m_LB_DLLsLoaded.AddString(KERB4DLL);
-#endif
-
     if (!CLeashApp::m_hKrb5DLL)
         m_LB_DLLsLoaded.AddString(KERB5DLL);
 
-    // NOTE: If the snippet below is commented back in,
-    // it should read
-    // if (!CLeashApp::m_hAfsDLL)
-    // m_LB_DLLsLoaded.AddString(AFSAuthentDLL());
-
-    //if (!CLeashApp::m_hAfsDLL)
-    //m_LB_DLLsLoaded.AddString(ASFDLL);
-
     HighlightFirstItem();
 }
 
diff --git a/src/windows/leash/LeashFileDialog.cpp b/src/windows/leash/LeashFileDialog.cpp
deleted file mode 100644 (file)
index 7e45f42..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-//     **************************************************************************************
-//     File:                   LeashFileDialog.cpp
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    CPP file for LeashFileDialog.h. Contains variables and functions
-//                                     for the Leash File Dialog Box
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     12/02/98        ADL             Original
-//     **************************************************************************************
-
-
-#include "stdafx.h"
-#include "leash.h"
-#include "LeashFileDialog.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-// CLeashFileDialog
-
-IMPLEMENT_DYNAMIC(CLeashFileDialog, CFileDialog)
-
-
-
-CLeashFileDialog::CLeashFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName,
-               LPCTSTR lpszFilter, DWORD dwFlags, CWnd* pParentWnd) :
-               CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)
-{
-       m_ofn.Flags |= OFN_ENABLETEMPLATE;
-       m_ofn.lpTemplateName = MAKEINTRESOURCE(IDD_FILESPECIAL);
-       m_ofn.lpstrFilter = lpszFilter;
-       m_ofn.lpstrFileTitle = m_lpstrFileTitle;
-       m_ofn.nMaxFileTitle = MAX_PATH;
-       *m_lpstrFileTitle = 0;
-       BOOL m_startup = TRUE;
-}
-
-
-BEGIN_MESSAGE_MAP(CLeashFileDialog, CFileDialog)
-       //{{AFX_MSG_MAP(CLeashFileDialog)
-       //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-
-BOOL CLeashFileDialog::OnInitDialog()
-{
-       BOOL bRet = CFileDialog::OnInitDialog();
-       if (bRet == TRUE)
-       {
-               GetParent()->GetDlgItem(IDOK)->SetWindowText("&OK");
-               //GetParent()->GetDlgItem(IDOK)->EnableWindow(FALSE);
-       }
-
-       return bRet;
-}
-
-void CLeashFileDialog::OnFileNameChange( )
-{
-       if (!m_startup)
-       { //' keeps the OK button disabled until a real select is made
-               CString testString = GetFileName();
-               if (-1 == testString.Find('*'))
-                 GetParent()->GetDlgItem(IDOK)->EnableWindow();
-       }
-         else
-           m_startup = FALSE;
-}
diff --git a/src/windows/leash/LeashFileDialog.h b/src/windows/leash/LeashFileDialog.h
deleted file mode 100644 (file)
index aef156d..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-//     **************************************************************************************
-//     File:                   LeashFileDialog.h
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    H file for LeashFileDialog.cpp. Contains variables and functions
-//                                     for the Leash File Dialog Box
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     12/02/98        ADL             Original
-//     **************************************************************************************
-
-
-#if !defined(AFX_LEASHFILEDIALOG_H__E74500E1_6B74_11D2_9448_0000861B8A3C__INCLUDED_)
-#define AFX_LEASHFILEDIALOG_H__E74500E1_6B74_11D2_9448_0000861B8A3C__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-// LeashFileDialog.h : header file
-//
-
-/////////////////////////////////////////////////////////////////////////////
-// CLeashFileDialog dialog
-
-class CLeashFileDialog : public CFileDialog
-{
-       DECLARE_DYNAMIC(CLeashFileDialog)
-
-private:
-       CHAR m_lpstrFileTitle[MAX_PATH];
-       BOOL m_startup;
-
-public:
-       CLeashFileDialog(BOOL bOpenFileDialog, // TRUE for FileOpen, FALSE for FileSaveAs
-                                        LPCTSTR lpszDefExt = NULL,
-                                        LPCTSTR lpszFileName = NULL,
-                                        LPCTSTR lpszFilter = NULL,
-                     DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_FILEMUSTEXIST,
-                                        CWnd* pParentWnd = NULL);
-
-               CString GetSelectedFileName() {return m_lpstrFileTitle;}
-
-protected:
-       //{{AFX_MSG(CLeashFileDialog)
-       virtual BOOL OnInitDialog();
-       virtual void OnFileNameChange( );
-       //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_LEASHFILEDIALOG_H__E74500E1_6B74_11D2_9448_0000861B8A3C__INCLUDED_)
diff --git a/src/windows/leash/LeashProperties.cpp b/src/windows/leash/LeashProperties.cpp
deleted file mode 100644 (file)
index 2854231..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-//     **************************************************************************************
-//     File:                   LeashProperties.cpp
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    CPP file for LeashProperties.h. Contains variables and functions
-//                                     for the Leash Properties Dialog Box
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     12/02/98        ADL             Original
-//     **************************************************************************************
-
-#include "stdafx.h"
-#include "leash.h"
-#include "LeashProperties.h"
-#include "LeashMessageBox.h"
-#include <leashinfo.h>
-#include "lglobals.h"
-#include "reminder.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-// CLeashProperties dialog
-
-char CLeashProperties::timeServer[255] = {NULL};
-
-CLeashProperties::CLeashProperties(CWnd* pParent /*=NULL*/)
-       : CDialog(CLeashProperties::IDD, pParent)
-{
-    m_initMissingFiles = m_newMissingFiles = 0;
-    dw_initMslsaImport = dw_newMslsaImport = 0;
-
-       //{{AFX_DATA_INIT(CLeashProperties)
-               // NOTE: the ClassWizard will add member initialization here
-       //}}AFX_DATA_INIT
-}
-
-
-void CLeashProperties::DoDataExchange(CDataExchange* pDX)
-{
-       CDialog::DoDataExchange(pDX);
-       //{{AFX_DATA_MAP(CLeashProperties)
-               // NOTE: the ClassWizard will add DDX and DDV calls here
-       //}}AFX_DATA_MAP
-}
-
-
-BEGIN_MESSAGE_MAP(CLeashProperties, CDialog)
-       //{{AFX_MSG_MAP(CLeashProperties)
-       ON_BN_CLICKED(IDC_BUTTON_LEASHINI_HELP2, OnHelp)
-    ON_BN_CLICKED(IDC_CHECK_CREATE_MISSING_CFG, OnCheckMissingCfg)
-    ON_BN_CLICKED(IDC_RESET_DEFAULTS, OnButtonResetDefaults)
-    ON_BN_CLICKED(IDC_RADIO_MSLSA_IMPORT_OFF, OnRadioMslsaNever)
-    ON_BN_CLICKED(IDC_RADIO_MSLSA_IMPORT_ON,  OnRadioMslsaAlways)
-    ON_BN_CLICKED(IDC_RADIO_MSLSA_IMPORT_MATCH, OnRadioMslsaMatchingRealm)
-       //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-/////////////////////////////////////////////////////////////////////////////
-// CLeashProperties message handlers
-
-BOOL CLeashProperties::OnInitDialog()
-{
-       CDialog::OnInitDialog();
-
-    pLeashGetTimeServerName(timeServer, TIMEHOST);
-    SetDlgItemText(IDC_EDIT_TIME_SERVER, timeServer);
-
-       if (getenv(TIMEHOST))
-        GetDlgItem(IDC_EDIT_TIME_SERVER)->EnableWindow(FALSE);
-    else
-        GetDlgItem(IDC_STATIC_TIMEHOST)->ShowWindow(FALSE);
-
-    CWinApp * pApp = AfxGetApp();
-    if (pApp)
-        m_initMissingFiles = m_newMissingFiles =
-            pApp->GetProfileInt("Settings", "CreateMissingConfig", FALSE_FLAG);
-    CheckDlgButton(IDC_CHECK_CREATE_MISSING_CFG, m_initMissingFiles);
-
-    dw_initMslsaImport = dw_newMslsaImport = pLeash_get_default_mslsa_import();
-    switch ( dw_initMslsaImport ) {
-    case 0:
-        CheckDlgButton(IDC_RADIO_MSLSA_IMPORT_OFF,TRUE);
-        break;
-    case 1:
-        CheckDlgButton(IDC_RADIO_MSLSA_IMPORT_ON,TRUE);
-        break;
-    case 2:
-        CheckDlgButton(IDC_RADIO_MSLSA_IMPORT_MATCH,TRUE);
-        break;
-    }
-
-    return TRUE;
-}
-
-void CLeashProperties::OnOK()
-{
-       CString timeServer_;
-       GetDlgItemText(IDC_EDIT_TIME_SERVER, timeServer_);
-
-       if (getenv(TIMEHOST))
-    {
-        // Check system for TIMEHOST, just in case it gets set (somehow)
-        MessageBox("Can't change the time host unless you remove it from the environment!",
-                   "Error", MB_OK);
-        return;
-    }
-
-    if( getenv("USEKRB4") !=  NULL)
-    {
-        MessageBox("Kerberos 4 ticket requests are being controlled by the environment"
-                   "variable USEKRB4 instead of the registry. Leash cannot modify"
-                   "the environment. Use the System control panel instead.",
-                    "Leash", MB_OK);
-        return;
-    }
-
-    if (SetRegistryVariable(TIMEHOST, timeServer_))
-       {
-               MessageBox("There was an error putting your entry into the Registry!",
-                   "Error", MB_OK);
-    }
-
-    if ( m_initMissingFiles != m_newMissingFiles ) {
-        CWinApp * pApp = AfxGetApp();
-        if (pApp)
-            pApp->WriteProfileInt("Settings", "CreateMissingConfig",
-                                m_newMissingFiles ? TRUE_FLAG : FALSE_FLAG);
-
-        if ( m_newMissingFiles )
-            CLeashApp::ValidateConfigFiles();
-    }
-
-    if ( dw_initMslsaImport != dw_newMslsaImport ) {
-               pLeash_set_default_mslsa_import(dw_newMslsaImport);
-       }
-
-       CDialog::OnOK();
-}
-
-void CLeashProperties::OnCheckMissingCfg()
-{
-    m_newMissingFiles = (BOOL)IsDlgButtonChecked(IDC_CHECK_CREATE_MISSING_CFG);
-}
-
-void CLeashProperties::OnRadioMslsaNever()
-{
-    dw_newMslsaImport = 0;
-}
-
-void CLeashProperties::OnRadioMslsaAlways()
-{
-    dw_newMslsaImport = 1;
-}
-
-void CLeashProperties::OnRadioMslsaMatchingRealm()
-{
-    dw_newMslsaImport = 2;
-}
-
-void CLeashProperties::OnHelp()
-{
-#ifdef CALL_HTMLHELP
-    AfxGetApp()->HtmlHelp(HID_LEASH_PROPERTIES_COMMAND);
-#else
-    AfxGetApp()->WinHelp(HID_LEASH_PROPERTIES_COMMAND);
-#endif
-}
-
-void CLeashProperties::OnButtonResetDefaults()
-{
-    if (IDYES != AfxMessageBox("You are about to reset all Leash settings to their default values!\n\nContinue?",
-                                MB_YESNO))
-        return;
-
-    pLeash_reset_defaults();
-
-    HKEY hKey;
-    LONG rc;
-
-    rc = RegOpenKeyEx(HKEY_CURRENT_USER, "SOFTWARE\\MIT\\Leash32\\Settings",
-                      0, KEY_WRITE, &hKey);
-    if (rc)
-        return;
-
-    rc = RegDeleteValue(hKey, "AutoRenewTickets");
-    rc = RegDeleteValue(hKey, "CreateMissingConfig");
-    rc = RegDeleteValue(hKey, "DebugWindow");
-    rc = RegDeleteValue(hKey, "LargeIcons");
-    rc = RegDeleteValue(hKey, "TIMEHOST");
-    rc = RegDeleteValue(hKey, "AfsStatus");
-    rc = RegDeleteValue(hKey, "LowTicketAlarm");
-
-    RegCloseKey(hKey);
-}
diff --git a/src/windows/leash/LeashProperties.h b/src/windows/leash/LeashProperties.h
deleted file mode 100644 (file)
index 314eba7..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-//     **************************************************************************************
-//     File:                   LeashProperties.h
-//     By:                             Arthur David Leather
-//     Created:                12/02/98
-//     Copyright               @1998 Massachusetts Institute of Technology - All rights reserved.
-//     Description:    H file for LeashProperties.cpp. Contains variables and functions
-//                                     for the Leash Properties Dialog Box
-//
-//     History:
-//
-//     MM/DD/YY        Inits   Description of Change
-//     12/02/98        ADL             Original
-//     **************************************************************************************
-
-#if !defined(AFX_LEASHPROPERTIES_H__7E54E028_726E_11D2_945E_0000861B8A3C__INCLUDED_)
-#define AFX_LEASHPROPERTIES_H__7E54E028_726E_11D2_945E_0000861B8A3C__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-// LeashProperties.h : header file
-//
-
-/////////////////////////////////////////////////////////////////////////////
-// CLeashProperties dialog
-
-#define TIMEHOST "TIMEHOST"
-
-class CLeashProperties : public CDialog
-{
-private:
-       static char timeServer[255];
-       CHAR sysDir[MAX_PATH];
-    BOOL m_initMissingFiles;
-    BOOL m_newMissingFiles;
-    DWORD dw_initMslsaImport;
-    DWORD dw_newMslsaImport;
-
-// Construction
-public:
-       CLeashProperties(CWnd* pParent = NULL);   // standard constructor
-
-// Dialog Data
-       //{{AFX_DATA(CLeashProperties)
-       enum { IDD = IDD_LEASH_PROPERTIES };
-               // NOTE: the ClassWizard will add data members here
-       //}}AFX_DATA
-
-
-// Overrides
-       // ClassWizard generated virtual function overrides
-       //{{AFX_VIRTUAL(CLeashProperties)
-       public:
-       protected:
-       virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
-       //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
-       // Generated message map functions
-       //{{AFX_MSG(CLeashProperties)
-       virtual BOOL OnInitDialog();
-       virtual void OnOK();
-       afx_msg void OnHelp();
-    afx_msg void OnCheckMissingCfg();
-    afx_msg void OnRadioMslsaNever();
-    afx_msg void OnRadioMslsaAlways();
-    afx_msg void OnRadioMslsaMatchingRealm();
-    afx_msg void OnButtonResetDefaults();
-       //}}AFX_MSG
-       DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_LEASHPROPERTIES_H__7E54E028_726E_11D2_945E_0000861B8A3C__INCLUDED_)
index 5115a1eb8d2046eef2fed5b768dd59fe3a52412e..a2d005bcad734661ed05fe1248fccc3f2048e963 100644 (file)
 #include "LeashDebugWindow.h"
 #include "LeashMessageBox.h"
 #include "LeashAboutBox.h"
-#include "Krb5Properties.h"
-#include "LeashProperties.h"
-#include "KrbProperties.h"
-#include "AfsProperties.h"
 #include <krb5.h>
 
 #ifdef _DEBUG
@@ -82,23 +78,15 @@ BEGIN_MESSAGE_MAP(CLeashView, CListView)
        ON_UPDATE_COMMAND_UI(ID_INIT_TICKET, OnUpdateInitTicket)
        ON_UPDATE_COMMAND_UI(ID_RENEW_TICKET, OnUpdateRenewTicket)
        ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
-       ON_COMMAND(ID_AFS_CONTROL_PANEL, OnAfsControlPanel)
        ON_UPDATE_COMMAND_UI(ID_DEBUG_MODE, OnUpdateDebugMode)
        ON_UPDATE_COMMAND_UI(ID_CFG_FILES, OnUpdateCfgFiles)
-       ON_COMMAND(ID_KRB4_PROPERTIES, OnKrb4Properties)
-       ON_COMMAND(ID_KRB5_PROPERTIES, OnKrb5Properties)
-       ON_COMMAND(ID_LEASH_PROPERTIES, OnLeashProperties)
     ON_COMMAND(ID_LEASH_RESTORE, OnLeashRestore)
     ON_COMMAND(ID_LEASH_MINIMIZE, OnLeashMinimize)
        ON_COMMAND(ID_LOW_TICKET_ALARM, OnLowTicketAlarm)
        ON_COMMAND(ID_AUTO_RENEW, OnAutoRenew)
        ON_UPDATE_COMMAND_UI(ID_LOW_TICKET_ALARM, OnUpdateLowTicketAlarm)
        ON_UPDATE_COMMAND_UI(ID_AUTO_RENEW, OnUpdateAutoRenew)
-       ON_UPDATE_COMMAND_UI(ID_KRB4_PROPERTIES, OnUpdateKrb4Properties)
-       ON_UPDATE_COMMAND_UI(ID_KRB5_PROPERTIES, OnUpdateKrb5Properties)
-       ON_UPDATE_COMMAND_UI(ID_AFS_CONTROL_PANEL, OnUpdateAfsControlPanel)
        ON_UPDATE_COMMAND_UI(ID_MAKE_DEFAULT, OnUpdateMakeDefault)
-       ON_COMMAND(ID_PROPERTIES, OnKrbProperties)
        ON_UPDATE_COMMAND_UI(ID_PROPERTIES, OnUpdateProperties)
        ON_COMMAND(ID_HELP_KERBEROS_, OnHelpKerberos)
        ON_COMMAND(ID_HELP_LEASH32, OnHelpLeash32)
@@ -121,19 +109,8 @@ END_MESSAGE_MAP()
 
 
 time_t CLeashView::m_ticketTimeLeft = 0;  // # of seconds left before tickets expire
-INT  CLeashView::m_forwardableTicket = 0;
-INT  CLeashView::m_proxiableTicket = 0;
-INT  CLeashView::m_renewableTicket = 0;
-INT  CLeashView::m_noaddressTicket = 0;
-DWORD CLeashView::m_publicIPAddress = 0;
-INT  CLeashView::m_ticketStatusAfs = 0; // Defense Condition: are we low on tickets?
-INT  CLeashView::m_ticketStatusKrb4 = 0; // Defense Condition: are we low on tickets?
 INT  CLeashView::m_ticketStatusKrb5 = 0; // Defense Condition: are we low on tickets?
-INT  CLeashView::m_warningOfTicketTimeLeftAfs = 0; // Prevents warning box from coming up repeatively
-INT  CLeashView::m_warningOfTicketTimeLeftKrb4 = 0; // Prevents warning box from coming up repeatively
 INT  CLeashView::m_warningOfTicketTimeLeftKrb5 = 0; // Prevents warning box from coming up repeatively
-INT  CLeashView::m_warningOfTicketTimeLeftLockAfs = 0;
-INT  CLeashView::m_warningOfTicketTimeLeftLockKrb4 = 0;
 INT  CLeashView::m_warningOfTicketTimeLeftLockKrb5 = 0;
 INT  CLeashView::m_updateDisplayCount;
 INT  CLeashView::m_alreadyPlayedDisplayCount;
@@ -344,14 +321,8 @@ void DurationToString(long delta, LPTSTR *outStr)
 CLeashView::CLeashView()
 {
 ////@#+Need removing as well!
-#ifndef NO_KRB4
-    m_listKrb4 = NULL;
-#endif
-    m_listAfs = NULL;
     m_startup = TRUE;
-    m_warningOfTicketTimeLeftKrb4 = 0;
     m_warningOfTicketTimeLeftKrb5 = 0;
-    m_warningOfTicketTimeLeftLockKrb4 = 0;
     m_warningOfTicketTimeLeftLockKrb5 = 0;
     m_largeIcons = 0;
     m_destroyTicketsOnExit = 0;
@@ -376,11 +347,6 @@ CLeashView::CLeashView()
     m_hMenu = NULL;
     m_pApp = NULL;
     m_ccacheDisplay = NULL;
-    m_forwardableTicket = 0;
-    m_proxiableTicket = 0;
-    m_renewableTicket = 0;
-    m_noaddressTicket = 0;
-    m_publicIPAddress = 0;
     m_autoRenewTickets = 0;
     m_autoRenewalAttempted = 0;
     m_pWarningMessage = NULL;
@@ -496,8 +462,7 @@ time_t CLeashView::LeashTime()
 // Call while possessing a lock to ticketinfo.lockObj
 INT CLeashView::GetLowTicketStatus(int ver)
 {
-    BOOL b_notix = (ver == 5 && !ticketinfo.Krb5.btickets) ||
-                   (ver == 1 && !ticketinfo.Afs.btickets);
+    BOOL b_notix = (ver == 5 && !ticketinfo.Krb5.btickets);
 
     if (b_notix)
         return NO_TICKETS;
@@ -565,21 +530,6 @@ VOID CLeashView::OnShowWindow(BOOL bShow, UINT nStatus)
         // Get State of Upper Case Realm
         m_upperCaseRealm = pLeash_get_default_uppercaserealm();
 
-        // Forwardable flag
-        m_forwardableTicket = pLeash_get_default_forwardable();
-
-        // Proxiable flag
-        m_proxiableTicket = pLeash_get_default_proxiable();
-
-        // Renewable flag
-        m_renewableTicket = pLeash_get_default_renewable();
-
-        // No Address flag
-        m_noaddressTicket = pLeash_get_default_noaddresses();
-
-        // Public IP Address
-        m_publicIPAddress = pLeash_get_default_publicip();
-
         // UI main display column widths
         for (int i=0; i<NUM_VIEW_COLUMNS; i++) {
             ViewColumnInfo &info = sm_viewColumns[i];
@@ -596,32 +546,17 @@ VOID CLeashView::OnShowWindow(BOOL bShow, UINT nStatus)
 
     SetTimer(1, ONE_SECOND, TimerProc);
 
-    if (
-////
-#ifndef NO_KRB4
-       !CLeashApp::m_hKrb4DLL &&
-#endif
-       !CLeashApp::m_hKrb5DLL && !CLeashApp::m_hAfsDLL)
+    if (!CLeashApp::m_hKrb5DLL)
     {
 ////Update not to mention K4
-        AfxMessageBox("Neither Kerberos Four, Kerberos Five nor AFS is loaded!!!"
+        AfxMessageBox("Kerberos Five is not loaded!!!"
                    "\r\nYou will not be able to retrieve tickets and/or "
                    "tokens.",
                    MB_OK|MB_ICONWARNING);
     }
 
-    if (!CLeashApp::m_hAfsDLL)
-    {
-        // No AFS installed
-        SetDlgItemText(IDC_LABEL_KERB_TICKETS,
-                       "Your Kerberos Tickets (Issued/Expires/[Renew]/Principal)");
-    } else
-    {
-        // AFS installed
-        SetDlgItemText(IDC_LABEL_KERB_TICKETS,
-                       "Your Kerberos Tickets and AFS Tokens (Issued/Expires/[Renew]/Principal)");
-
-    }
+    SetDlgItemText(IDC_LABEL_KERB_TICKETS,
+                  "Your Kerberos Tickets (Issued/Expires/[Renew]/Principal)");
 
     // CLeashApp::m_krbv5_context = NULL;
 }
@@ -693,9 +628,7 @@ UINT CLeashView::InitTicket(void * hWnd)
         if (WaitForSingleObject( ticketinfo.lockObj, INFINITE ) != WAIT_OBJECT_0) {
             throw("Unable to lock ticketinfo");
         }
-        m_warningOfTicketTimeLeftKrb4 = 0;
         m_warningOfTicketTimeLeftKrb5 = 0;
-        m_ticketStatusKrb4 = 0;
         m_ticketStatusKrb5 = 0;
         ReleaseMutex(ticketinfo.lockObj);
         m_autoRenewalAttempted = 0;
@@ -758,9 +691,7 @@ cleanup:
                 throw("Unable to lock ticketinfo");
             }
             ticketinfo.Krb5.btickets = GOOD_TICKETS;
-            m_warningOfTicketTimeLeftKrb4 = 0;
             m_warningOfTicketTimeLeftKrb5 = 0;
-            m_ticketStatusKrb4 = 0;
             m_ticketStatusKrb5 = 0;
             ReleaseMutex(ticketinfo.lockObj);
             ::SendMessage((HWND)hWnd, WM_COMMAND, ID_UPDATE_DISPLAY, 0);
@@ -899,9 +830,7 @@ UINT CLeashView::RenewTicket(void * hWnd)
     // Try to renew
     BOOL b_renewed = pLeash_renew();
     if ( b_renewed ) {
-        m_warningOfTicketTimeLeftKrb4 = 0;
         m_warningOfTicketTimeLeftKrb5 = 0;
-        m_ticketStatusKrb4 = 0;
         m_ticketStatusKrb5 = 0;
         m_autoRenewalAttempted = 0;
         ReleaseMutex(ticketinfo.lockObj);
@@ -1229,8 +1158,6 @@ FindCCacheDisplayElem(CCacheDisplayData *pElem, int itemIndex)
 
 VOID CLeashView::OnUpdateDisplay()
 {
-    BOOL AfsEnabled = m_pApp->GetProfileInt("Settings", "AfsStatus", 1);
-
     CListCtrl& list = GetListCtrl();
     // @TODO: there is probably a more sensible place to initialize these...
     if ((m_BaseFont == NULL) && (list.GetFont())) {
@@ -1274,33 +1201,13 @@ VOID CLeashView::OnUpdateDisplay()
         }
     }
 
-#ifndef NO_KRB4
-    INT ticketIconStatusKrb4;
-    INT ticketIconStatus_SelectedKrb4;
-    INT iconStatusKrb4;
-#endif
-
     INT ticketIconStatusKrb5;
     INT ticketIconStatus_SelectedKrb5;
     INT iconStatusKrb5;
 
-    INT ticketIconStatusAfs;
-    INT ticketIconStatus_SelectedAfs;
-    INT iconStatusAfs;
-
-#ifndef NO_KRB4
-    LONG krb4Error;
-#endif
-    LONG afsError;
-
     if (WaitForSingleObject( ticketinfo.lockObj, 100 ) != WAIT_OBJECT_0)
         throw("Unable to lock ticketinfo");
 
-#ifndef NO_KRB4
-    // Get Kerb 4 tickets in list
-    krb4Error = pLeashKRB4GetTickets(&ticketinfo.Krb4, &m_listKrb4);
-#endif
-
     // Get Kerb 5 tickets in list
     LeashKRB5ListDefaultTickets(&ticketinfo.Krb5);
     if (CLeashApp::m_hKrb5DLL && !CLeashApp::m_krbv5_profile)
@@ -1318,55 +1225,11 @@ VOID CLeashView::OnUpdateDisplay()
         pprofile_init(filenames, &CLeashApp::m_krbv5_profile);
     }
 
-    // Get AFS Tokens in list
-    if (CLeashApp::m_hAfsDLL) {
-        char * principal;
-        if ( ticketinfo.Krb5.principal[0] )
-            principal = ticketinfo.Krb5.principal;
-        else
-            principal = "";
-        afsError = pLeashAFSGetToken(&ticketinfo.Afs, &m_listAfs, principal);
-    }
-
     /*
      * Update Ticket Status for Krb5 so that we may use their state
      * to select the appropriate Icon for the Parent Node
      */
 
-////Might need to delete dependent stuff as well!!!
-#ifndef NO_KRB4
-    /* Krb4 */
-    UpdateTicketTime(ticketinfo.Krb4);
-    m_ticketStatusKrb4 = GetLowTicketStatus(4);
-    if (!m_listKrb4 || EXPIRED_TICKETS == ticketinfo.Krb4.btickets ||
-         m_ticketStatusKrb4 == ZERO_MINUTES_LEFT)
-    {
-        ticketIconStatusKrb4 = EXPIRED_CLOCK;
-        ticketIconStatus_SelectedKrb4 = EXPIRED_CLOCK;
-        iconStatusKrb4 = EXPIRED_TICKET;
-    }
-    else if (TICKETS_LOW == ticketinfo.Krb4.btickets ||
-             m_ticketStatusKrb4 == FIVE_MINUTES_LEFT ||
-             m_ticketStatusKrb4 == TEN_MINUTES_LEFT ||
-             m_ticketStatusKrb4 == FIFTEEN_MINUTES_LEFT)
-    {
-        ticketIconStatusKrb4 = LOW_CLOCK;
-        ticketIconStatus_SelectedKrb4 = LOW_CLOCK;
-        iconStatusKrb4 = LOW_TICKET;
-    }
-    else if ( CLeashApp::m_hKrb4DLL )
-    {
-        ticketIconStatusKrb4 = ACTIVE_CLOCK;
-        ticketIconStatus_SelectedKrb4 = ACTIVE_CLOCK;
-        iconStatusKrb4 = ACTIVE_TICKET;
-    } else {
-        ticketIconStatusKrb4 = EXPIRED_CLOCK;
-        ticketIconStatus_SelectedKrb4 = EXPIRED_CLOCK;
-        iconStatusKrb4 = TICKET_NOT_INSTALLED;
-    }
-#endif
-
-
     /* Krb5 */
     UpdateTicketTime(ticketinfo.Krb5);
     m_ticketStatusKrb5 = GetLowTicketStatus(5);
@@ -1399,37 +1262,6 @@ VOID CLeashView::OnUpdateDisplay()
         iconStatusKrb5 = TICKET_NOT_INSTALLED;
     }
 
-    /* Afs */
-    UpdateTicketTime(ticketinfo.Afs);
-    m_ticketStatusAfs = GetLowTicketStatus(1);
-    if (!m_listAfs || EXPIRED_TICKETS == ticketinfo.Afs.btickets ||
-         m_ticketStatusAfs == ZERO_MINUTES_LEFT)
-    {
-        ticketIconStatusAfs = EXPIRED_CLOCK;
-        ticketIconStatus_SelectedAfs = EXPIRED_CLOCK;
-        iconStatusAfs = EXPIRED_TICKET;
-    }
-    else if (TICKETS_LOW == ticketinfo.Afs.btickets ||
-             m_ticketStatusAfs == FIVE_MINUTES_LEFT ||
-             m_ticketStatusAfs == TEN_MINUTES_LEFT ||
-             m_ticketStatusAfs == FIFTEEN_MINUTES_LEFT)
-    {
-        ticketIconStatusAfs = LOW_CLOCK;
-        ticketIconStatus_SelectedAfs = LOW_CLOCK;
-        iconStatusAfs = LOW_TICKET;
-    }
-    else if ( CLeashApp::m_hAfsDLL )
-    {
-        ticketIconStatusAfs = ACTIVE_CLOCK;
-        ticketIconStatus_SelectedAfs = ACTIVE_CLOCK;
-        iconStatusAfs = ACTIVE_TICKET;
-    } else
-    {
-        ticketIconStatusAfs = EXPIRED_CLOCK;
-        ticketIconStatus_SelectedAfs = EXPIRED_CLOCK;
-        iconStatusAfs = TICKET_NOT_INSTALLED;
-    }
-
     int trayIcon = NONE_PARENT_NODE;
     if (CLeashApp::m_hKrb5DLL && ticketinfo.Krb5.btickets) {
         switch ( iconStatusKrb5 ) {
@@ -1553,8 +1385,6 @@ VOID CLeashView::OnUpdateDisplay()
     LeashKRB5FreeTicketInfo(&ticketinfo.Krb5);
     LeashKRB5FreeTickets(&principallist);
 
-    // @TODO: AFS-specific here
-
     ReleaseMutex(ticketinfo.lockObj);
 }
 
@@ -1655,9 +1485,6 @@ VOID CLeashView::OnActivateView(BOOL bActivate, CView* pActivateView,
 
     m_alreadyPlayed = TRUE;
 
-    if (!CKrbProperties::KrbPropertiesOn)
-        SendMessage(WM_COMMAND, ID_UPDATE_DISPLAY, 0);
-
     if (m_debugStartUp)
     {
         OnDebugMode();
@@ -1671,11 +1498,6 @@ VOID CLeashView::OnActivateView(BOOL bActivate, CView* pActivateView,
 ////@#+Is this KRB4 only?
 VOID CLeashView::OnDebugMode()
 {
-#ifndef NO_KRB4
-    if (!pset_krb_debug)
-        return;
-#endif
-
     if (!m_pDebugWindow)
     {
         AfxMessageBox("There is a problem with the Leash Debug Window!",
@@ -1724,11 +1546,6 @@ VOID CLeashView::OnDebugMode()
 
         m_pApp->WriteProfileInt("Settings", "DebugWindow", FALSE_FLAG);
         m_pDebugWindow->DestroyWindow();
-////
-#ifndef NO_KRB4
-        pset_krb_debug(OFF);
-        pset_krb_ap_req_debug(OFF);
-#endif
         return;
     }
     else
@@ -1958,11 +1775,7 @@ VOID CLeashView::OnUpdateUppercaseRealm(CCmdUI *pCmdUI)
 VOID CLeashView::ResetTreeNodes()
 {
     m_hPrincipalState = 0;
-#ifndef NO_KRB4
-    m_hKerb4State = 0;
-#endif
     m_hKerb5State = 0;
-    m_hAFSState = 0;
 }
 
 VOID CLeashView::OnDestroy()
@@ -1998,13 +1811,7 @@ VOID CLeashView::OnUpdateDestroyTicket(CCmdUI* pCmdUI)
 
 VOID CLeashView::OnUpdateInitTicket(CCmdUI* pCmdUI)
 {
-    if (
-////Is this logic correct?
-#ifndef NO_KRB4
-       !CLeashApp::m_hKrb4DLL &&
-#endif
-       !CLeashApp::m_hKrb5DLL &&
-        !CLeashApp::m_hAfsDLL)
+  if (!CLeashApp::m_hKrb5DLL)
         pCmdUI->Enable(FALSE);
     else
         pCmdUI->Enable(TRUE);
@@ -2091,17 +1898,8 @@ LRESULT CLeashView::OnTrayIcon(WPARAM wParam, LPARAM lParam)
             menu->AppendMenu(MF_STRING, ID_INIT_TICKET, "&Get Tickets");
             if (WaitForSingleObject( ticketinfo.lockObj, INFINITE ) != WAIT_OBJECT_0)
                 throw("Unable to lock ticketinfo");
-            if (!(
-#ifndef NO_KRB4
-               ticketinfo.Krb4.btickets ||
-#endif
-               ticketinfo.Krb5.btickets) ||
-////Not entirely sure about the logic
-#ifndef NO_KRB4
-                 !CLeashApp::m_hKrb4DLL &&
-#endif
-                !CLeashApp::m_hKrb5DLL &&
-                 !CLeashApp::m_hAfsDLL)
+            if (!ticketinfo.Krb5.btickets ||
+               !CLeashApp::m_hKrb5DLL)
                 nFlags = MF_STRING | MF_GRAYED;
             else
                 nFlags = MF_STRING;
@@ -2111,7 +1909,7 @@ LRESULT CLeashView::OnTrayIcon(WPARAM wParam, LPARAM lParam)
             else
                 nFlags = MF_STRING;
             menu->AppendMenu(MF_STRING, ID_IMPORT_TICKET, "&Import Tickets");
-            if (!ticketinfo.Krb5.btickets && !ticketinfo.Afs.btickets)
+            if (!ticketinfo.Krb5.btickets)
                 nFlags = MF_STRING | MF_GRAYED;
             else
                 nFlags = MF_STRING;
@@ -2161,12 +1959,6 @@ VOID CLeashView::OnAppAbout()
 }
 
 
-VOID CLeashView::OnAfsControlPanel()
-{
-    CAfsProperties afsProperties;
-    afsProperties.DoModal();
-}
-
 VOID CLeashView::OnInitialUpdate()
 {
     CListView::OnInitialUpdate();
@@ -2180,14 +1972,8 @@ VOID CLeashView::OnItemexpandedTreeview(NMHDR* pNMHDR, LRESULT* pResult)
 
     if (m_hPrincipal == pNMTreeView->itemNew.hItem)
         m_hPrincipalState = pNMTreeView->action;
-#ifndef NO_KRB4
-    else if (m_hKerb4 == pNMTreeView->itemNew.hItem)
-        m_hKerb4State = pNMTreeView->action;
-#endif
     else if (m_hKerb5 == pNMTreeView->itemNew.hItem)
         m_hKerb5State = pNMTreeView->action;
-    else if (m_hAFS ==  pNMTreeView->itemNew.hItem)
-        m_hAFSState =  pNMTreeView->action;
 
     CMainFrame::m_isBeingResized = TRUE;
     *pResult = 0;
@@ -2195,56 +1981,12 @@ VOID CLeashView::OnItemexpandedTreeview(NMHDR* pNMHDR, LRESULT* pResult)
 
 VOID CLeashView::OnUpdateDebugMode(CCmdUI* pCmdUI)
 {
-////
-#ifndef NO_KRB4
-    if (!pset_krb_debug)
-#endif
         pCmdUI->Enable(FALSE);
-////
-#ifndef NO_KRB4
-    else
-        pCmdUI->Enable(TRUE);
-#endif
 }
 
 VOID CLeashView::OnUpdateCfgFiles(CCmdUI* pCmdUI)
 {
-////
-#ifndef NO_KRB4
-    if (!pkrb_get_krbconf2)
-#endif
         pCmdUI->Enable(FALSE);
-////
-#ifndef NO_KRB4
-    else
-        pCmdUI->Enable(TRUE);
-#endif
-}
-
-VOID CLeashView::OnLeashProperties()
-{
-    CLeashProperties leashProperties;
-    leashProperties.DoModal();
-}
-
-VOID CLeashView::OnKrbProperties()
-{
-    CKrbProperties krbProperties("Kerberos Properties");
-    krbProperties.DoModal();
-}
-
-VOID CLeashView::OnKrb4Properties()
-{
-#ifndef NO_KRB4
-    CKrb4Properties krb4Properties("Kerberos Four Properties");
-    krb4Properties.DoModal();
-#endif
-}
-
-VOID CLeashView::OnKrb5Properties()
-{
-    CKrb5Properties krb5Properties("Kerberos Five Properties");
-    krb5Properties.DoModal();
 }
 
 /*
@@ -2369,10 +2111,8 @@ BOOL CLeashView::PreTranslateMessage(MSG* pMsg)
         if (InterlockedDecrement(&m_timerMsgNotInProgress) == 0) {
 
             CString ticketStatusKrb5 = TCHAR(NOT_INSTALLED);
-            CString ticketStatusAfs  = TCHAR(NOT_INSTALLED);
             CString strTimeDate;
             CString lowTicketWarningKrb5;
-            CString lowTicketWarningAfs;
 
           timer_start:
             if (WaitForSingleObject( ticketinfo.lockObj, 100 ) != WAIT_OBJECT_0)
@@ -2469,113 +2209,6 @@ BOOL CLeashView::PreTranslateMessage(MSG* pMsg)
             }
             //KRB5
 
-
-            if (CLeashApp::m_hAfsDLL)
-            {
-                // AFS
-                UpdateTicketTime(ticketinfo.Afs);
-                if (!ticketinfo.Afs.btickets)
-                {
-                    BOOL AfsEnabled = m_pApp->GetProfileInt("Settings", "AfsStatus", 1);
-                    if ( AfsEnabled )
-                        ticketStatusAfs = "AFS: No Tickets";
-                    else
-                        ticketStatusAfs = "AFS: Disabled";
-                }
-                else if (EXPIRED_TICKETS == ticketinfo.Afs.btickets)
-                {
-#ifndef NO_KRB5
-                    if (ticketinfo.Krb5.btickets &&
-                         EXPIRED_TICKETS != ticketinfo.Krb5.btickets &&
-                         m_autoRenewTickets &&
-                         !m_autoRenewalAttempted &&
-                         ticketinfo.Krb5.renew_until &&
-                         (ticketinfo.Krb5.issued + ticketinfo.Krb5.renew_until -LeashTime() > 20 * 60) &&
-                         !stricmp(ticketinfo.Krb5.principal,ticketinfo.Afs.principal)
-                         )
-                    {
-                        m_autoRenewalAttempted = 1;
-                        ReleaseMutex(ticketinfo.lockObj);
-                        AfxBeginThread(RenewTicket,m_hWnd);
-                        goto timer_start;
-                    }
-#endif /* NO_KRB5 */
-                    ticketStatusAfs = "AFS: Expired Tickets";
-                    lowTicketWarningAfs = "Your AFS token(s) have expired";
-                    if (!m_warningOfTicketTimeLeftLockAfs)
-                        m_warningOfTicketTimeLeftAfs = 0;
-                    m_warningOfTicketTimeLeftLockAfs = ZERO_MINUTES_LEFT;
-                    m_ticketTimeLeft = 0;
-                }
-                else
-                {
-                    m_ticketStatusAfs = GetLowTicketStatus(1);
-                    switch (m_ticketStatusAfs)
-                    {
-                    case FIFTEEN_MINUTES_LEFT:
-                        ticketinfo.Afs.btickets = TICKETS_LOW;
-
-                        lowTicketWarningAfs = "Less then 15 minutes left on your AFStoken(s)";
-                        break;
-                    case TEN_MINUTES_LEFT:
-                        ticketinfo.Afs.btickets = TICKETS_LOW;
-
-                        lowTicketWarningAfs = "Less then 10 minutes left on your AFS token(s)";
-
-                        if (!m_warningOfTicketTimeLeftLockAfs)
-                            m_warningOfTicketTimeLeftAfs = 0;
-
-                        m_warningOfTicketTimeLeftLockAfs = TEN_MINUTES_LEFT;
-                        break;
-                    case FIVE_MINUTES_LEFT:
-                        ticketinfo.Afs.btickets = TICKETS_LOW;
-                        if (m_warningOfTicketTimeLeftLockAfs == TEN_MINUTES_LEFT)
-                            m_warningOfTicketTimeLeftAfs = 0;
-
-                        m_warningOfTicketTimeLeftLockAfs = FIVE_MINUTES_LEFT;
-
-                        lowTicketWarningAfs = "Less then 5 minutes left on your AFS token(s)";
-                        break;
-                    default:
-                        m_ticketStatusAfs = 0;
-                        break;
-                    }
-
-                }
-
-                if (CMainFrame::m_isMinimum)
-                {
-                    // minimized dispay
-                    ticketStatusAfs.Format("AFS: %02d:%02d Left",
-                                            (m_ticketTimeLeft / 60L / 60L),
-                                            (m_ticketTimeLeft / 60L % 60L));
-                }
-                else
-                {
-                    // normal display
-                    if (GOOD_TICKETS == ticketinfo.Afs.btickets ||
-                         TICKETS_LOW == ticketinfo.Afs.btickets)
-                    {
-                        if ( m_ticketTimeLeft >= 60 ) {
-                            ticketStatusAfs.Format("AFS Token Life: %02d:%02d",
-                                                    (m_ticketTimeLeft / 60L / 60L),
-                                                    (m_ticketTimeLeft / 60L % 60L));
-                        } else {
-                            ticketStatusAfs.Format("AFS Token Life: < 1 min");
-                        }
-                    }
-#ifndef NO_STATUS_BAR
-                    if (CMainFrame::m_wndStatusBar)
-                    {
-                        CMainFrame::m_wndStatusBar.SetPaneInfo(3, 111113, SBPS_NORMAL, 130);
-                        CMainFrame::m_wndStatusBar.SetPaneText(3, ticketStatusAfs, SBT_POPOUT);
-                    }
-#endif
-                }
-            }
-            // AFS
-
-#ifndef NO_KRB5
             if ( m_ticketStatusKrb5 == TWENTY_MINUTES_LEFT &&
                  m_autoRenewTickets && !m_autoRenewalAttempted && ticketinfo.Krb5.renew_until &&
                  (ticketinfo.Krb5.renew_until - LeashTime() > 20 * 60))
@@ -2585,17 +2218,13 @@ BOOL CLeashView::PreTranslateMessage(MSG* pMsg)
                 AfxBeginThread(RenewTicket,m_hWnd);
                 goto timer_start;
             }
-#endif /* NO_KRB5 */
 
             BOOL warningKrb5 = m_ticketStatusKrb5 > NO_TICKETS &&
                 m_ticketStatusKrb5 < TWENTY_MINUTES_LEFT &&
                     !m_warningOfTicketTimeLeftKrb5;
-            BOOL warningAfs = m_ticketStatusAfs > NO_TICKETS &&
-                m_ticketStatusAfs < TWENTY_MINUTES_LEFT &&
-                    !m_warningOfTicketTimeLeftAfs;
 
             // Play warning message only once per each case statement above
-            if (warningKrb5 || warningAfs)
+            if (warningKrb5)
             {
 
                 CString lowTicketWarning = "";
@@ -2606,13 +2235,6 @@ BOOL CLeashView::PreTranslateMessage(MSG* pMsg)
                     m_warningOfTicketTimeLeftKrb5 = ON;
                     warnings++;
                 }
-                if (warningAfs) {
-                    if ( warnings )
-                        lowTicketWarning += "\n";
-                    lowTicketWarning += lowTicketWarningAfs;
-                    m_warningOfTicketTimeLeftAfs = ON;
-                    warnings++;
-                }
 
                 ReleaseMutex(ticketinfo.lockObj);
                 AlarmBeep();
@@ -2625,17 +2247,10 @@ BOOL CLeashView::PreTranslateMessage(MSG* pMsg)
 
             if (CMainFrame::m_isMinimum)
             {
-                if ( CLeashApp::m_hAfsDLL )
-                    strTimeDate = ( "MIT Kerberos - "
-                                    "[" + ticketStatusKrb5 + "] - " +
-                                    "[" + ticketStatusAfs + "] - " +
-                                    "[" + ticketinfo.Krb5.principal + "]" + " - " +
-                                    tTimeDate.Format("%A, %B %d, %Y  %H:%M "));
-                else
-                    strTimeDate = ( "MIT Kerberos - "
-                                    "[" + ticketStatusKrb5 + "] - " +
-                                    "[" + ticketinfo.Krb5.principal + "]" + " - " +
-                                    tTimeDate.Format("%A, %B %d, %Y  %H:%M "));
+             strTimeDate = ( "MIT Kerberos - "
+                             "[" + ticketStatusKrb5 + "] - " +
+                             "[" + ticketinfo.Krb5.principal + "]" + " - " +
+                             tTimeDate.Format("%A, %B %d, %Y  %H:%M "));
             }
             else
             {
@@ -2756,28 +2371,6 @@ VOID CLeashView::AlarmBeep()
 }
 
 VOID CLeashView::OnUpdateProperties(CCmdUI* pCmdUI)
-{
-    if (CLeashApp::m_hKrb5DLL
-#ifndef NO_KRB4
-       || CLeashApp::m_hKrb4DLL
-#endif
-       )
-        pCmdUI->Enable();
-    else
-        pCmdUI->Enable(FALSE);
-}
-
-VOID CLeashView::OnUpdateKrb4Properties(CCmdUI* pCmdUI)
-{
-#ifndef NO_KRB4
-    if (CLeashApp::m_hKrb4DLL)
-        pCmdUI->Enable();
-    else
-#endif
-        pCmdUI->Enable(FALSE);
-}
-
-VOID CLeashView::OnUpdateKrb5Properties(CCmdUI* pCmdUI)
 {
     if (CLeashApp::m_hKrb5DLL)
         pCmdUI->Enable();
@@ -2785,18 +2378,6 @@ VOID CLeashView::OnUpdateKrb5Properties(CCmdUI* pCmdUI)
         pCmdUI->Enable(FALSE);
 }
 
-VOID CLeashView::OnUpdateAfsControlPanel(CCmdUI* pCmdUI)
-{
-////Is the comment even correct?
-#ifndef NO_KRB4
-    // need Krb 4 to get AFS tokens
-    if (CLeashApp::m_hAfsDLL && CLeashApp::m_hKrb4DLL)
-        pCmdUI->Enable();
-    else
-#endif
-        pCmdUI->m_pMenu->DeleteMenu(pCmdUI->m_nID, MF_BYCOMMAND);
-}
-
 void CLeashView::OnHelpLeash32()
 {
 #ifdef CALL_HTMLHELP
index b6d288691ace5f6c7a9d9b0c542ab9f6e9f3bdb7..2caecef32ba69f2104320752427146baea83309d 100644 (file)
@@ -129,22 +129,13 @@ class CLeashView : public CListView
 {
 private:
 ////@#+Remove
-#ifndef NO_KRB4
-    TicketList*         m_listKrb4;
-#endif
-    TicketList*         m_listAfs;
     CLeashDebugWindow* m_pDebugWindow;
     CCacheDisplayData*  m_ccacheDisplay;
        CImageList                      m_imageList;
        CWinApp*                        m_pApp;
        HTREEITEM                       m_hPrincipal;
-////@#+Remove
-#ifndef NO_KRB4
-       HTREEITEM                       m_hKerb4;
-#endif
        HTREEITEM                       m_hKerb5;
     HTREEITEM           m_hk5tkt;
-       HTREEITEM                       m_hAFS;
        TV_INSERTSTRUCT         m_tvinsert;
        HMENU                           m_hMenu;
     BOOL                               m_startup;
@@ -157,11 +148,7 @@ private:
        INT                                     m_largeIcons;
        INT                                     m_lowTicketAlarm;
        INT                                     m_hPrincipalState;
-#ifndef NO_KRB4
-       INT                                     m_hKerb4State;
-#endif
        INT                                     m_hKerb5State;
-       INT                                     m_hAFSState;
     CString*            m_pWarningMessage;
     BOOL                m_bIconAdded;
     BOOL                m_bIconDeleted;
@@ -174,18 +161,9 @@ private:
     static ViewColumnInfo sm_viewColumns[NUM_VIEW_COLUMNS];
 
     static INT                 m_autoRenewTickets;
-    static INT          m_ticketStatusAfs;
-////Remove as well?
-    static INT          m_ticketStatusKrb4;
     static INT          m_ticketStatusKrb5;
     static INT          m_autoRenewalAttempted;
-       static INT                      m_warningOfTicketTimeLeftAfs;
-////Remove as well?
-       static INT                      m_warningOfTicketTimeLeftKrb4;
        static INT                      m_warningOfTicketTimeLeftKrb5;
-    static INT                 m_warningOfTicketTimeLeftLockAfs;
-////Remove as well?
-    static INT                 m_warningOfTicketTimeLeftLockKrb4;
     static INT                 m_warningOfTicketTimeLeftLockKrb5;
     static INT                 m_updateDisplayCount;
     static INT         m_alreadyPlayedDisplayCount;
@@ -246,11 +224,6 @@ protected: // create from serialization only
 
 // Attributes
 public:
-       static INT   m_forwardableTicket;
-       static INT   m_proxiableTicket;
-    static INT   m_renewableTicket;
-    static INT   m_noaddressTicket;
-    static DWORD m_publicIPAddress;
     static BOOL  m_importedTickets;
 
     CLeashView();
@@ -327,18 +300,14 @@ protected:
        afx_msg VOID OnUpdateAutoRenew(CCmdUI* pCmdUI);
        afx_msg VOID OnUpdateMakeDefault(CCmdUI* pCmdUI);
        afx_msg VOID OnAppAbout();
-       afx_msg VOID OnAfsControlPanel();
        afx_msg VOID OnUpdateDebugMode(CCmdUI* pCmdUI);
        afx_msg VOID OnUpdateCfgFiles(CCmdUI* pCmdUI);
-       afx_msg VOID OnKrb4Properties();
        afx_msg VOID OnKrb5Properties();
        afx_msg void OnLeashProperties();
        afx_msg void OnLeashRestore();
        afx_msg void OnLeashMinimize();
        afx_msg void OnLowTicketAlarm();
-       afx_msg void OnUpdateKrb4Properties(CCmdUI* pCmdUI);
        afx_msg void OnUpdateKrb5Properties(CCmdUI* pCmdUI);
-       afx_msg void OnUpdateAfsControlPanel(CCmdUI* pCmdUI);
     afx_msg void OnKrbProperties();
        afx_msg void OnUpdateProperties(CCmdUI* pCmdUI);
        afx_msg void OnHelpKerberos();
diff --git a/src/windows/leash/Lglobals.cpp b/src/windows/leash/Lglobals.cpp
deleted file mode 100644 (file)
index 861255e..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-//*****************************************************************************
-// File:       lgobals.cpp
-// By:         Arthur David Leather
-// Created:    12/02/98
-// Copyright:  @1998 Massachusetts Institute of Technology - All rights
-//              reserved.
-// Description:        CPP file for lgobals.cpp. Contains global variables and helper
-//             functions
-//
-// History:
-//
-// MM/DD/YY    Inits   Description of Change
-// 02/02/98    ADL     Original
-//*****************************************************************************
-
-#include "stdafx.h"
-#include "leash.h"
-#include <direct.h>
-#include "lglobals.h"
-
-static const char *const conf_yes[] = {
-    "y", "yes", "true", "t", "1", "on",
-    0,
-};
-
-static const char *const conf_no[] = {
-    "n", "no", "false", "nil", "0", "off",
-    0,
-};
-
-int
-config_boolean_to_int(const char *s)
-{
-    const char *const *p;
-
-    for(p=conf_yes; *p; p++) {
-        if (!strcasecmp(*p,s))
-            return 1;
-    }
-
-    for(p=conf_no; *p; p++) {
-        if (!strcasecmp(*p,s))
-            return 0;
-    }
-
-    /* Default to "no" */
-    return 0;
-}
-
-
-// Global Function for deleting or putting a value in the Registry
-BOOL SetRegistryVariable(const CString& regVariable,
-                         const CString& regValue,
-                         const char* regSubKey)
-{
-    // Set Register Variable
-    HKEY hKey = NULL;
-    LONG err = 0L;
-
-
-    if (ERROR_SUCCESS != (err = RegOpenKeyEx(HKEY_CURRENT_USER,
-                                             regSubKey,
-                                             0, KEY_ALL_ACCESS, &hKey)))
-    {
-        if ((err = RegCreateKeyEx(HKEY_CURRENT_USER, regSubKey, 0, 0, 0,
-                                  KEY_ALL_ACCESS, 0, &hKey, 0)))
-        {
-            // Error
-            return TRUE;
-        }
-    }
-
-    if (ERROR_SUCCESS == err && hKey)
-    {
-        if (regValue.IsEmpty())
-        {
-            // Delete
-            RegDeleteValue(hKey, regVariable);
-        }
-        else
-        {
-            // Insure that Name (Variable) is in the Registry and set
-            // it's new value
-            char nVariable[MAX_PATH+1];
-            char* pVARIABLE = nVariable;
-            strncpy(pVARIABLE, regValue, MAX_PATH);
-
-            if (ERROR_SUCCESS !=
-                RegSetValueEx(hKey, regVariable, 0,
-                              REG_SZ, (const unsigned char*)pVARIABLE,
-                              lstrlen(regValue)))
-            {
-                // Error
-                return FALSE;
-            }
-        }
-
-        RegCloseKey(hKey);
-
-        // Send this message to all top-level windows in the system
-        ::PostMessage(HWND_BROADCAST, WM_WININICHANGE, 0L, (LPARAM) regSubKey);
-        return FALSE;
-    }
-
-    return TRUE;
-}
-
-VOID LeashErrorBox(LPCSTR errorMsg, LPCSTR insertedString, LPCSTR errorFlag)
-{
-    CString strMessage;
-    strMessage = errorMsg;
-    strMessage += ": ";
-    strMessage += insertedString;
-
-    MessageBox(CLeashApp::m_hProgram, strMessage, errorFlag, MB_OK);
-
-    //if (*errorFlag == 'E')
-    //ASSERT(0); // on error condition only
-}
-
-Directory::Directory(LPCSTR pathToValidate)
-{
-    m_pathToValidate = pathToValidate;
-    _getdcwd(_getdrive(), m_savCurPath, sizeof(m_savCurPath));
-}
-
-Directory::~Directory()
-{
-    if (-1 == _chdir(m_savCurPath))
-        ASSERT(0);
-}
-
-BOOL Directory::IsValidDirectory()
-{
-    if (-1 == _chdir(m_pathToValidate))
-        return FALSE;
-
-    return TRUE;
-}
-
-BOOL Directory::IsValidFile()
-{
-    CFileFind fileFind;
-    if (!fileFind.FindFile(m_pathToValidate))
-        return FALSE;
-
-    return TRUE;
-}
index 7141d79e0bb8c07fd98f7e16f72002b3a379c934..c462722ba132edaddcbcd4a7cac7f6cf3fb6df24 100644 (file)
@@ -60,76 +60,18 @@ TYPEDEF_FUNC(
 
 #define pGetModuleFileNameEx pGetModuleFileNameExA
 
-// leash functions
-TYPEDEF_FUNC(
-    long,
-    WINAPIV,
-    not_an_API_LeashKRB4GetTickets,
-    (TICKETINFO *, TicketList **)
-    );
-TYPEDEF_FUNC(
-    long,
-    WINAPIV,
-    not_an_API_LeashAFSGetToken,
-    (TICKETINFO *, TicketList **, char *)
-    );
-TYPEDEF_FUNC(
-    long,
-    WINAPIV,
-    not_an_API_LeashGetTimeServerName,
-    (char *, const char*)
-    );
-
-extern DECL_FUNC_PTR(not_an_API_LeashKRB4GetTickets);
-extern DECL_FUNC_PTR(not_an_API_LeashAFSGetToken);
-extern DECL_FUNC_PTR(not_an_API_LeashGetTimeServerName);
 extern DECL_FUNC_PTR(Leash_kdestroy);
 extern DECL_FUNC_PTR(Leash_changepwd_dlg);
 extern DECL_FUNC_PTR(Leash_changepwd_dlg_ex);
 extern DECL_FUNC_PTR(Leash_kinit_dlg);
 extern DECL_FUNC_PTR(Leash_kinit_dlg_ex);
 extern DECL_FUNC_PTR(Leash_timesync);
-extern DECL_FUNC_PTR(Leash_get_default_lifetime);
-extern DECL_FUNC_PTR(Leash_set_default_lifetime);
-extern DECL_FUNC_PTR(Leash_get_default_forwardable);
-extern DECL_FUNC_PTR(Leash_set_default_forwardable);
-extern DECL_FUNC_PTR(Leash_get_default_renew_till);
-extern DECL_FUNC_PTR(Leash_set_default_renew_till);
-extern DECL_FUNC_PTR(Leash_get_default_noaddresses);
-extern DECL_FUNC_PTR(Leash_set_default_noaddresses);
-extern DECL_FUNC_PTR(Leash_get_default_proxiable);
-extern DECL_FUNC_PTR(Leash_set_default_proxiable);
-extern DECL_FUNC_PTR(Leash_get_default_publicip);
-extern DECL_FUNC_PTR(Leash_set_default_publicip);
-extern DECL_FUNC_PTR(Leash_get_default_use_krb4);
-extern DECL_FUNC_PTR(Leash_set_default_use_krb4);
-extern DECL_FUNC_PTR(Leash_get_default_life_min);
-extern DECL_FUNC_PTR(Leash_set_default_life_min);
-extern DECL_FUNC_PTR(Leash_get_default_life_max);
-extern DECL_FUNC_PTR(Leash_set_default_life_max);
-extern DECL_FUNC_PTR(Leash_get_default_renew_min);
-extern DECL_FUNC_PTR(Leash_set_default_renew_min);
-extern DECL_FUNC_PTR(Leash_get_default_renew_max);
-extern DECL_FUNC_PTR(Leash_set_default_renew_max);
-extern DECL_FUNC_PTR(Leash_get_default_renewable);
-extern DECL_FUNC_PTR(Leash_set_default_renewable);
-extern DECL_FUNC_PTR(Leash_get_lock_file_locations);
-extern DECL_FUNC_PTR(Leash_set_lock_file_locations);
 extern DECL_FUNC_PTR(Leash_get_default_uppercaserealm);
 extern DECL_FUNC_PTR(Leash_set_default_uppercaserealm);
 extern DECL_FUNC_PTR(Leash_get_default_mslsa_import);
-extern DECL_FUNC_PTR(Leash_set_default_mslsa_import);
-extern DECL_FUNC_PTR(Leash_get_default_preserve_kinit_settings);
-extern DECL_FUNC_PTR(Leash_set_default_preserve_kinit_settings);
 extern DECL_FUNC_PTR(Leash_import);
 extern DECL_FUNC_PTR(Leash_importable);
 extern DECL_FUNC_PTR(Leash_renew);
-extern DECL_FUNC_PTR(Leash_reset_defaults);
-
-////Do we still need this one?
-#define pLeashKRB4GetTickets     pnot_an_API_LeashKRB4GetTickets
-#define pLeashAFSGetToken        pnot_an_API_LeashAFSGetToken
-#define pLeashGetTimeServerName  pnot_an_API_LeashGetTimeServerName
 
 // psapi functions
 extern DECL_FUNC_PTR(GetModuleFileNameExA);
@@ -232,13 +174,6 @@ extern DECL_FUNC_PTR(profile_release_string);
 
 #define LEASH_HELP_FILE "leash.chm"
 
-extern int  config_boolean_to_int(const char *);
-extern BOOL SetRegistryVariable(const CString& regVariable,
-                                const CString& regValue,
-                                const char* regSubKey = "Software\\MIT\\Leash32\\Settings");
-extern VOID LeashErrorBox(LPCSTR errorMsg, LPCSTR insertedString,
-                          LPCSTR errorFlag = "Error");
-
 // Get ticket info for the default ccache only
 extern void LeashKRB5ListDefaultTickets(TICKETINFO *ticketinfo);
 // clean up ticket info
@@ -249,26 +184,10 @@ extern void LeashKRB5ListAllTickets(TICKETINFO **ticketinfolist);
 // clean up ticket info list
 extern void LeashKRB5FreeTickets(TICKETINFO **ticketinfolist);
 
-
-
-class Directory
-{
-    CHAR m_savCurPath[MAX_PATH];
-    CString m_pathToValidate;
-
-public:
-    Directory(LPCSTR pathToValidate);
-    virtual ~Directory();
-
-    BOOL IsValidDirectory();
-    BOOL IsValidFile();
-};
-
 class TicketInfoWrapper {
   public:
     HANDLE     lockObj;
     TICKETINFO Krb5;
-    TICKETINFO Afs;
 };
 extern TicketInfoWrapper ticketinfo;
 
index 886efe6d188c282e7d5baf815115882c72806686..843f2cecf9f04f273bc695cd64a8af2531cc6b04 100644 (file)
@@ -165,8 +165,7 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
 
 #ifndef NO_STATUS_BAR
        if (!m_wndStatusBar.Create(this) ||
-               !m_wndStatusBar.SetIndicators(indicators,
-                 (CLeashApp::m_hAfsDLL ? 4 : 3)))
+           !m_wndStatusBar.SetIndicators(indicators, 3))
        {
                MessageBox("There is problem creating the Leash Status Bar!",
                    "Error", MB_OK);
index eac4b3484363ef8de2a3849dddd6e314b1880942..861df16a1b704b758fbc4ec16a2f369a1d431d45 100644 (file)
@@ -1,19 +1,6 @@
 # makefile: Leash executable
 #
 
-#TODO Fix later:
-NO_AFS=1
-
-!ifndef NO_AFS
-###AFS_BASE=
-AFS_INCLUDES=-I$(AFS_BASE)\Include
-AFS_LIB=$(AFS_BASE)\lib
-AFS_LIBS=$(AFS_LIB)\afsauthent.lib
-!else
-AFS_INCLUDES=
-AFS_LIBS=
-!endif
-
 EXE_NAME=leash
 WSHELPER=wshelp32
 
@@ -24,35 +11,19 @@ WSHELPER=wshelp64
 SUBDIRS= htmlhelp
 
 OBJS=   \
-       $(OUTPRE)Krb4EditDomainRealmList.obj \
-       $(OUTPRE)CLeashDragListBox.obj \
-       $(OUTPRE)Krb5Properties.obj \
-       $(OUTPRE)KrbAddHostServer.obj \
-       $(OUTPRE)KrbAddRealm.obj \
-       $(OUTPRE)KrbConfigOptions.obj \
-       $(OUTPRE)KrbDomainRealmMaintenance.obj \
-       $(OUTPRE)KrbEditHostServer.obj \
-       $(OUTPRE)KrbEditRealm.obj \
-       $(OUTPRE)KrbProperties.obj \
-       $(OUTPRE)KrbRealmHostMaintenance.obj \
        $(OUTPRE)Leash.obj \
        $(OUTPRE)LeashAboutBox.obj \
        $(OUTPRE)LeashDebugWindow.obj \
        $(OUTPRE)LeashDoc.obj \
-       $(OUTPRE)LeashFileDialog.obj \
        $(OUTPRE)LeashFrame.obj \
        $(OUTPRE)LeashMessageBox.obj \
-       $(OUTPRE)LeashProperties.obj \
        $(OUTPRE)LeashUIApplication.obj \
        $(OUTPRE)LeashUICommandHandler.obj \
        $(OUTPRE)LeashView.obj \
-       $(OUTPRE)lglobals.obj \
        $(OUTPRE)MainFrm.obj \
        $(OUTPRE)out2con.obj \
        $(OUTPRE)StdAfx.obj \
-       $(OUTPRE)AfsProperties.obj \
        $(OUTPRE)VSroutines.obj \
-       $(OUTPRE)KrbMiscConfigOpt.obj \
        $(OUTPRE)KrbListTickets.obj
 
 RESFILE = $(OUTPRE)Leash.res
@@ -68,17 +39,13 @@ LOCALINCLUDES= -I$(BUILDTOP) -I$(BUILDTOP)\include -I$(BUILDTOP)\windows\include
 RFLAGS = $(LOCALINCLUDES)
 RCFLAGS        = $(RFLAGS) -D_WIN32 -DLEASH_APP
 
-DEFINES = -DWINSOCK -DWIN32 -DWINDOWS -D_AFXDLL -DNO_KRB4 -DNO_STATUS_BAR -DUSE_MESSAGE_BOX
+DEFINES = -DWINSOCK -DWIN32 -DWINDOWS -D_AFXDLL -DNO_STATUS_BAR -DUSE_MESSAGE_BOX
 !ifdef NODEBUG
 DEFINES = $(DEFINES)
 !else
 DEFINES = $(DEFINES) -DDBG
 !endif
 
-!ifdef NO_AFS
-DEFINES = $(DEFINES) -DNO_AFS
-!endif
-
 ##### Linker
 LINK   = link
 LIBS   = $(GLIB) $(CLIB) $(WLIB)
diff --git a/src/windows/leash/htmlhelp/Images/Bullet.gif b/src/windows/leash/htmlhelp/Images/Bullet.gif
deleted file mode 100644 (file)
index 090f96c..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Bullet.gif and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Capture.PNG b/src/windows/leash/htmlhelp/Images/Capture.PNG
deleted file mode 100644 (file)
index a87fa36..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Capture.PNG and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Get_Ticket_Icon.png b/src/windows/leash/htmlhelp/Images/Get_Ticket_Icon.png
deleted file mode 100644 (file)
index 1c9c959..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Get_Ticket_Icon.png and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_10.jpg b/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_10.jpg
deleted file mode 100644 (file)
index fdbfe84..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_10.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_11.jpg b/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_11.jpg
deleted file mode 100644 (file)
index 45eaa8b..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_11.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_12.jpg b/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_12.jpg
deleted file mode 100644 (file)
index c3c73d5..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_12.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_13.jpg b/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_13.jpg
deleted file mode 100644 (file)
index 5fec2fb..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_13.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_5.jpg b/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_5.jpg
deleted file mode 100644 (file)
index 517a342..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_5.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_6.jpg b/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_6.jpg
deleted file mode 100644 (file)
index 536bc77..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_6.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_7.jpg b/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_7.jpg
deleted file mode 100644 (file)
index b61a044..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_7.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_8.jpg b/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_8.jpg
deleted file mode 100644 (file)
index c45ecc1..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_8.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_9.jpg b/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_9.jpg
deleted file mode 100644 (file)
index c6a8e55..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Kerberos_auth_serv_fig_9.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_about_leash.jpg b/src/windows/leash/htmlhelp/Images/Leash_about_leash.jpg
deleted file mode 100644 (file)
index bb6a1d5..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_about_leash.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_change_password.JPG b/src/windows/leash/htmlhelp/Images/Leash_change_password.JPG
deleted file mode 100644 (file)
index ade00bc..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_change_password.JPG and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_debug_window.jpg b/src/windows/leash/htmlhelp/Images/Leash_debug_window.jpg
deleted file mode 100644 (file)
index 56c06cc..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_debug_window.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_display_window.jpg b/src/windows/leash/htmlhelp/Images/Leash_display_window.jpg
deleted file mode 100644 (file)
index c022797..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_display_window.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_init_ticket_advanced.jpg b/src/windows/leash/htmlhelp/Images/Leash_init_ticket_advanced.jpg
deleted file mode 100644 (file)
index b78716e..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_init_ticket_advanced.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_init_ticket_basic.jpg b/src/windows/leash/htmlhelp/Images/Leash_init_ticket_basic.jpg
deleted file mode 100644 (file)
index 09552c8..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_init_ticket_basic.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_menu_action.jpg b/src/windows/leash/htmlhelp/Images/Leash_menu_action.jpg
deleted file mode 100644 (file)
index a5e6581..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_menu_action.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_menu_file.jpg b/src/windows/leash/htmlhelp/Images/Leash_menu_file.jpg
deleted file mode 100644 (file)
index b78fb93..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_menu_file.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_menu_help.jpg b/src/windows/leash/htmlhelp/Images/Leash_menu_help.jpg
deleted file mode 100644 (file)
index 215891b..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_menu_help.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_menu_options.jpg b/src/windows/leash/htmlhelp/Images/Leash_menu_options.jpg
deleted file mode 100644 (file)
index 808e7c2..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_menu_options.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_menu_view.jpg b/src/windows/leash/htmlhelp/Images/Leash_menu_view.jpg
deleted file mode 100644 (file)
index 8c13358..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_menu_view.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_properties_afs.jpg b/src/windows/leash/htmlhelp/Images/Leash_properties_afs.jpg
deleted file mode 100644 (file)
index 389bc80..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_properties_afs.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_properties_krb4.jpg b/src/windows/leash/htmlhelp/Images/Leash_properties_krb4.jpg
deleted file mode 100644 (file)
index 1fb585d..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_properties_krb4.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_properties_krb5_1.jpg b/src/windows/leash/htmlhelp/Images/Leash_properties_krb5_1.jpg
deleted file mode 100644 (file)
index 57b99af..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_properties_krb5_1.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_properties_krb5_2.jpg b/src/windows/leash/htmlhelp/Images/Leash_properties_krb5_2.jpg
deleted file mode 100644 (file)
index 597a6e6..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_properties_krb5_2.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_properties_krb_1.jpg b/src/windows/leash/htmlhelp/Images/Leash_properties_krb_1.jpg
deleted file mode 100644 (file)
index 797a2ff..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_properties_krb_1.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_properties_krb_2.jpg b/src/windows/leash/htmlhelp/Images/Leash_properties_krb_2.jpg
deleted file mode 100644 (file)
index 871cabb..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_properties_krb_2.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_properties_krb_3.jpg b/src/windows/leash/htmlhelp/Images/Leash_properties_krb_3.jpg
deleted file mode 100644 (file)
index 9175442..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_properties_krb_3.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_properties_krb_4.jpg b/src/windows/leash/htmlhelp/Images/Leash_properties_krb_4.jpg
deleted file mode 100644 (file)
index 948c3e4..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_properties_krb_4.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_properties_leash.jpg b/src/windows/leash/htmlhelp/Images/Leash_properties_leash.jpg
deleted file mode 100644 (file)
index 2358a6e..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_properties_leash.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_systray_icons.jpg b/src/windows/leash/htmlhelp/Images/Leash_systray_icons.jpg
deleted file mode 100644 (file)
index fb8ff66..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_systray_icons.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_systray_menu.jpg b/src/windows/leash/htmlhelp/Images/Leash_systray_menu.jpg
deleted file mode 100644 (file)
index 3145019..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_systray_menu.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Leash_toolbar.jpg b/src/windows/leash/htmlhelp/Images/Leash_toolbar.jpg
deleted file mode 100644 (file)
index d66952b..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Leash_toolbar.jpg and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Options_Button.PNG b/src/windows/leash/htmlhelp/Images/Options_Button.PNG
deleted file mode 100644 (file)
index b33d4c4..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Options_Button.PNG and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Options_Button_Tiny.png b/src/windows/leash/htmlhelp/Images/Options_Button_Tiny.png
deleted file mode 100644 (file)
index cdcc398..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Options_Button_Tiny.png and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Options_Menu.PNG b/src/windows/leash/htmlhelp/Images/Options_Menu.PNG
deleted file mode 100644 (file)
index b2cf625..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Options_Menu.PNG and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Options_Menu_Open.png b/src/windows/leash/htmlhelp/Images/Options_Menu_Open.png
deleted file mode 100644 (file)
index 251ab3a..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Options_Menu_Open.png and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Options_Menu_Tiny.png b/src/windows/leash/htmlhelp/Images/Options_Menu_Tiny.png
deleted file mode 100644 (file)
index 2f4ce68..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Options_Menu_Tiny.png and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/Ticket_Options.PNG b/src/windows/leash/htmlhelp/Images/Ticket_Options.PNG
deleted file mode 100644 (file)
index e26fc1e..0000000
Binary files a/src/windows/leash/htmlhelp/Images/Ticket_Options.PNG and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/View_Menu.GIF b/src/windows/leash/htmlhelp/Images/View_Menu.GIF
deleted file mode 100644 (file)
index 84c08e6..0000000
Binary files a/src/windows/leash/htmlhelp/Images/View_Menu.GIF and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/View_Menu.PNG b/src/windows/leash/htmlhelp/Images/View_Menu.PNG
deleted file mode 100644 (file)
index c917f27..0000000
Binary files a/src/windows/leash/htmlhelp/Images/View_Menu.PNG and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/View_Menu_tiny.png b/src/windows/leash/htmlhelp/Images/View_Menu_tiny.png
deleted file mode 100644 (file)
index c14f3f9..0000000
Binary files a/src/windows/leash/htmlhelp/Images/View_Menu_tiny.png and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/View_Options.PNG b/src/windows/leash/htmlhelp/Images/View_Options.PNG
deleted file mode 100644 (file)
index ba9f587..0000000
Binary files a/src/windows/leash/htmlhelp/Images/View_Options.PNG and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/allowed_mix_case_realm_name.png b/src/windows/leash/htmlhelp/Images/allowed_mix_case_realm_name.png
deleted file mode 100644 (file)
index b358911..0000000
Binary files a/src/windows/leash/htmlhelp/Images/allowed_mix_case_realm_name.png and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/automatic_ticket_renewal.png b/src/windows/leash/htmlhelp/Images/automatic_ticket_renewal.png
deleted file mode 100644 (file)
index 320fd18..0000000
Binary files a/src/windows/leash/htmlhelp/Images/automatic_ticket_renewal.png and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/destroy_tickets_on_exit.png b/src/windows/leash/htmlhelp/Images/destroy_tickets_on_exit.png
deleted file mode 100644 (file)
index 3984361..0000000
Binary files a/src/windows/leash/htmlhelp/Images/destroy_tickets_on_exit.png and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/encryption_type.png b/src/windows/leash/htmlhelp/Images/encryption_type.png
deleted file mode 100644 (file)
index 7e4b4b7..0000000
Binary files a/src/windows/leash/htmlhelp/Images/encryption_type.png and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/expiration_alarm.png b/src/windows/leash/htmlhelp/Images/expiration_alarm.png
deleted file mode 100644 (file)
index 502705f..0000000
Binary files a/src/windows/leash/htmlhelp/Images/expiration_alarm.png and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/flags.png b/src/windows/leash/htmlhelp/Images/flags.png
deleted file mode 100644 (file)
index a1b7d4d..0000000
Binary files a/src/windows/leash/htmlhelp/Images/flags.png and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/issued.png b/src/windows/leash/htmlhelp/Images/issued.png
deleted file mode 100644 (file)
index 266f0d1..0000000
Binary files a/src/windows/leash/htmlhelp/Images/issued.png and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/renewable_until.png b/src/windows/leash/htmlhelp/Images/renewable_until.png
deleted file mode 100644 (file)
index d5443ef..0000000
Binary files a/src/windows/leash/htmlhelp/Images/renewable_until.png and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/Images/valid_until.png b/src/windows/leash/htmlhelp/Images/valid_until.png
deleted file mode 100644 (file)
index 53246ca..0000000
Binary files a/src/windows/leash/htmlhelp/Images/valid_until.png and /dev/null differ
diff --git a/src/windows/leash/htmlhelp/LeashHelp.hhp b/src/windows/leash/htmlhelp/LeashHelp.hhp
deleted file mode 100644 (file)
index 6462ae9..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-[OPTIONS]
-Binary Index=No
-Compatibility=1.1 or later
-Compiled file=LeashHelp.chm
-Contents file=TOC.hhc
-Default Window=Leash Help
-Default topic=Html\Getting_Started.htm
-Display compile progress=No
-Full text search stop list file=stoplist.stp
-Full-text search=Yes
-Index file=Index.hhk
-Language=0x409 English (United States)
-
-[WINDOWS]
-Leash Help="MIT Kerberos Help","TOC.hhc","Index.hhk",,,,,,,0x62420,,0x100e,[0,0,800,800],,,,,,,0
-
-
-[FILES]
-Html\Getting_Started.htm
-Html\Change_Password.htm
-Html\Forget_Password.htm
-Html\Kerberos.htm
-Html\Password_Tips.htm
-Html\Passwords.htm
-Html\Using_Leash_Menus.htm
-Html\Tickets.htm
-Html\Destroy_Tickets.htm
-Html\Get_Tickets.htm
-Html\Import_Tickets.htm
-Html\Renew_Tickets.htm
-Html\Ticket_Settings.htm
-Html\View_Tickets.htm
-Leash.css
-HTML\FAQ.htm
-HTML\Options_Menu.htm
-HTML\Command_Line.htm
-HTML\MS2MIT.htm
-HTML\KDESTROY.htm
-HTML\KLIST.htm
-HTML\KINIT.htm
-HTML\Troubleshooting.htm
-HTML\Kerberos_Terminology.htm
-HTML\Report_Bugs.htm
-HTML\Encryption_Types.htm
-HTML\KCPYTKT.htm
-HTML\KVNO.htm
-HTML\KSWITCH.htm
-HTML\KPASSWD.htm
-HTML\Export_Tickets.htm
-HTML\View_Menu.htm
-HTML\Glossary.htm
-HTML\Import_Status.htm
-HTML\Debugging.htm
-HTML\Keyboard_Shortcuts.htm
-HTML\Windows_Logon_Tickets.htm
-HTML\How_Kerberos_Works.htm
-HTML\Principals.htm
-HTML\Make_Default.htm
-HTML\Manage_Multiple_Principals.htm
-HTML\Forget_Principals.htm
-HTML\More_Menu.htm
-HTML\Home_Tab.htm
-HTML\Options_Tab.htm
-
-[ALIAS]
-HID_ABOUT_KERBEROS = html\How_Kerberos_Works.htm
-HID_CHANGE_PASSWORD_COMMAND = html\Change_Password.htm
-HID_DESTROY_TICKETS_COMMAND = html\Destroy_Tickets.htm
-HID_DESTROY_TICKETS_ON_EXIT = html\Options_Tab.htm
-HID_EXIT_COMMAND = html\leash_file_exit.htm
-HID_GET_TICKETS_COMMAND = html\Get_Tickets.htm
-HID_RENEW_TICKETS_COMMAND = html\Renew_Tickets.htm
-HID_IMPORT_TICKETS_COMMAND = html\Import_Tickets.htm
-HID_HELP_CONTENTS = html\Getting_Started.htm
-HID_KERBEROS_PROPERTIES_ADDDOM = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_ADDHOST = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_ADDHOST = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_ADDRLM = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_COMMAND = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_EDIT = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_EDITDOM = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_EDITHOST = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_LISTDOM = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_LISTRLM = html\leash_option_kerberos_properties.htm
-HID_KRB5_PROPERTIES_COMMAND    = html\leash_option_krb5_properties.htm
-HID_KRB5_PROPERTIES_EDIT = html\leash_option_krb5_properties.htm
-HID_KRB5_PROPERTIES_FORWARDING = html\leash_option_krb5_properties.htm
-HID_LARGE_ICONS_OPTION = html\leash_view_large_icons.htm
-HID_LEASH_COMMANDS = html\Getting_Started.htm
-HID_LEASH_PROGRAM = html\Getting_Started.htm
-HID_LEASH_PROPERTIES_COMMAND = html\leash_option_leash_properties.htm
-HID_LEASH_PROPERTIES_EDIT = html\leash_option_leash_properties.htm
-HID_LOW_TICKET_ALARM_OPTION    = html\leash_option_expiration_alarm.htm
-HID_RESET_WINDOW_OPTION = html\leash_command_reset_window.htm
-HID_SCNCHRONIZE_TIME_OPTION = html\leash_command_sync_time.htm
-HID_STATUS_BAR_OPTION = html\leash_view_status_bar.htm
-HID_TOOLBAR_OPTION = html\leash_view_toolbar.htm
-HID_UPDATE_DISPLAY_COMMAND = html\leash_command_update_display.htm
-HID_UPPERCASE_REALM_OPTION = html\leash_option_upper_case_realm.htm
-HID_WHY_USE_LEASH32    = html\leash_topic_why_use.htm
-ID_CHANGEPASSWORD = html\leash_command_change_password.htm
-ID_COUNTDOWN = html\leash_option_expiration_alarm.htm
-ID_DESTROY = html\leash_command_destroy_tickets.htm
-ID_EXIT = html\leash_file_exit.htm
-ID_HELP_CHOOSE_PASSWORD = html\leash_topic_password_choice.htm
-ID_HELP_KERBEROS = html\leash_topic_kerberos_help_topics.htm
-ID_HELP_LEASH = html\leash_topic_leash_help_topics.htm
-ID_HELP_PURPOSE = html\leash_topic_why_use.htm
-ID_INITTICKETS = html\leash_command_get_tickets.htm
-hid_app_about = html\hid_app_about.htm
-hid_app_exit = html\hid_app_exit.htm
-hid_help_index = html\hid_help_index.htm
-hid_help_using = html\hid_help_using.htm
-hid_context_help = html\hid_context_help.htm
-hid_sc_size = html\hid_sc_size.htm
-hid_sc_move = html\hid_sc_move.htm
-hid_sc_minimize = html\hid_sc_minimize.htm
-hid_sc_maximize = html\hid_sc_maximize.htm
-hid_sc_close = html\hid_sc_close.htm
-hid_sc_restore = html\hid_sc_restore.htm
-
-[MAP]
-#define HID_ABOUT_KERBEROS              98320
-#define HID_ABOUT_LEASH32_COMMAND       123200
-#define HID_ABOUT_LEASH32_MODULES       131225
-#define HID_AFS_PROPERTIES_COMMAND             98327
-#define HID_CHANGE_PASSWORD_COMMAND            98315
-#define HID_DEBUG_WINDOW                               131229
-#define HID_DEBUG_WINDOW_OPTION                        98317
-#define HID_DESTROY_TICKETS_COMMAND     98313
-#define HID_DESTROY_TICKETS_ON_EXIT            98321
-#define HID_EXIT_COMMAND                123201
-#define HID_GET_TICKETS_COMMAND                        98343
-#define HID_RENEW_TICKETS_COMMAND       98312
-#define HID_IMPORT_TICKETS_COMMAND      98342
-#define HID_HELP_CONTENTS                              98340
-#define HID_KERBEROS_PROPERTIES_ADDDOM  131255
-#define HID_KERBEROS_PROPERTIES_ADDHOST 131254
-#define HID_KERBEROS_PROPERTIES_ADDHOST 131269
-#define HID_KERBEROS_PROPERTIES_ADDRLM  131253
-#define HID_KERBEROS_PROPERTIES_COMMAND 98337
-#define HID_KERBEROS_PROPERTIES_EDIT   131233
-#define HID_KERBEROS_PROPERTIES_EDITDOM 131256
-#define HID_KERBEROS_PROPERTIES_EDITHOST 131271
-#define HID_KERBEROS_PROPERTIES_LISTDOM 131279
-#define HID_KERBEROS_PROPERTIES_LISTRLM 131250
-#define HID_KRB4_PROPERTIES_COMMAND            98329
-#define HID_KRB4_PROPERTIES_EDIT               131232
-#define HID_KRB5_PROPERTIES_COMMAND            98330
-#define HID_KRB5_PROPERTIES_EDIT               131241
-#define HID_KRB5_PROPERTIES_FORWARDING  131240
-#define HID_KRBCHECK_OPTION                            98335
-#define HID_LARGE_ICONS_OPTION          98322
-#define HID_LEASH_COMMANDS              131200
-#define HID_LEASH_PROGRAM               98319
-#define HID_LEASH_PROPERTIES_COMMAND   98331
-#define HID_LEASH_PROPERTIES_EDIT              131239
-#define HID_LOW_TICKET_ALARM_OPTION            98334
-#define HID_RESET_WINDOW_OPTION                        98326
-#define HID_SCNCHRONIZE_TIME_OPTION     98314
-#define HID_STATUS_BAR_OPTION           124929
-#define HID_TOOLBAR_OPTION                             124928
-#define HID_UPDATE_DISPLAY_COMMAND      98316
-#define HID_UPPERCASE_REALM_OPTION      98323
-#define HID_WHY_USE_LEASH32                            98341
-#define ID_CHANGEPASSWORD               112
-#define ID_COUNTDOWN                    101
-#define ID_DESTROY                      111
-#define ID_EXIT                         200
-#define ID_HELP_CHOOSE_PASSWORD         2511841056
-#define ID_HELP_KERBEROS                211
-#define ID_HELP_LEASH                   210
-#define ID_HELP_PURPOSE                 115
-#define ID_INITTICKETS                  113
-#define KRB_BAD_NAME                       39525457
-#define KRB_BAD_TIME                       39525413
-#DEFINE KRB_ERROR_78                       39525454
-#define KRB_INCORR_PASSWD                  39525438
-#define KRB_NO_TKT_FILE                    39525446
-#define KRB_UNKNOWN_REALM                  39525433
-#define KRB_UNKNOWN_USER                   39525384
-#define LSH_INVINSTANCE                    40591875
-
-[INFOTYPES]
index b046d139dd1f7f214a1385f1b654691a18ce882d..ac02401eb73b16f56d9d15806c95bac8408eadbb 100644 (file)
@@ -61,46 +61,11 @@ HID_ABOUT_KERBEROS = html\Getting_Started.htm
 HID_CHANGE_PASSWORD_COMMAND = html\Change_Password.htm
 HID_DESTROY_TICKETS_COMMAND = html\Destroy_Tickets.htm
 HID_DESTROY_TICKETS_ON_EXIT = html\Options_Tab.htm
-HID_EXIT_COMMAND = html\leash_file_exit.htm
 HID_GET_TICKETS_COMMAND = html\Get_Tickets.htm
 HID_RENEW_TICKETS_COMMAND = html\Renew_Tickets.htm
-HID_IMPORT_TICKETS_COMMAND = html\Import_Tickets.htm
 HID_HELP_CONTENTS = html\Getting_Started.htm
-HID_KERBEROS_PROPERTIES_ADDDOM = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_ADDHOST = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_ADDHOST = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_ADDRLM = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_COMMAND = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_EDIT = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_EDITDOM = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_EDITHOST = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_LISTDOM = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_LISTRLM = html\leash_option_kerberos_properties.htm
-HID_KRB5_PROPERTIES_COMMAND    = html\leash_option_krb5_properties.htm
-HID_KRB5_PROPERTIES_EDIT = html\leash_option_krb5_properties.htm
-HID_KRB5_PROPERTIES_FORWARDING = html\leash_option_krb5_properties.htm
-HID_LARGE_ICONS_OPTION = html\leash_view_large_icons.htm
 HID_LEASH_COMMANDS = html\Getting_Started.htm
 HID_LEASH_PROGRAM = html\Getting_Started.htm
-HID_LEASH_PROPERTIES_COMMAND = html\leash_option_leash_properties.htm
-HID_LEASH_PROPERTIES_EDIT = html\leash_option_leash_properties.htm
-HID_LOW_TICKET_ALARM_OPTION    = html\leash_option_expiration_alarm.htm
-HID_RESET_WINDOW_OPTION = html\leash_command_reset_window.htm
-HID_SCNCHRONIZE_TIME_OPTION = html\leash_command_sync_time.htm
-HID_STATUS_BAR_OPTION = html\leash_view_status_bar.htm
-HID_TOOLBAR_OPTION = html\leash_view_toolbar.htm
-HID_UPDATE_DISPLAY_COMMAND = html\leash_command_update_display.htm
-HID_UPPERCASE_REALM_OPTION = html\leash_option_upper_case_realm.htm
-HID_WHY_USE_LEASH32    = html\leash_topic_why_use.htm
-ID_CHANGEPASSWORD = html\leash_command_change_password.htm
-ID_COUNTDOWN = html\leash_option_expiration_alarm.htm
-ID_DESTROY = html\leash_command_destroy_tickets.htm
-ID_EXIT = html\leash_file_exit.htm
-ID_HELP_CHOOSE_PASSWORD = html\leash_topic_password_choice.htm
-ID_HELP_KERBEROS = html\leash_topic_kerberos_help_topics.htm
-ID_HELP_LEASH = html\leash_topic_leash_help_topics.htm
-ID_HELP_PURPOSE = html\leash_topic_why_use.htm
-ID_INITTICKETS = html\leash_command_get_tickets.htm
 hid_app_about = html\hid_app_about.htm
 hid_app_exit = html\hid_app_exit.htm
 hid_help_index = html\hid_help_index.htm
@@ -117,55 +82,18 @@ hid_sc_restore = html\hid_sc_restore.htm
 #define HID_ABOUT_KERBEROS              98320
 #define HID_ABOUT_LEASH32_COMMAND       123200
 #define HID_ABOUT_LEASH32_MODULES       131225
-#define HID_AFS_PROPERTIES_COMMAND             98327
 #define HID_CHANGE_PASSWORD_COMMAND            98315
 #define HID_DEBUG_WINDOW                               131229
 #define HID_DEBUG_WINDOW_OPTION                        98317
 #define HID_DESTROY_TICKETS_COMMAND     98313
 #define HID_DESTROY_TICKETS_ON_EXIT            98321
-#define HID_EXIT_COMMAND                123201
 #define HID_GET_TICKETS_COMMAND                        98343
 #define HID_RENEW_TICKETS_COMMAND       98312
-#define HID_IMPORT_TICKETS_COMMAND      98342
 #define HID_HELP_CONTENTS                              98340
-#define HID_KERBEROS_PROPERTIES_ADDDOM  131255
-#define HID_KERBEROS_PROPERTIES_ADDHOST 131254
-#define HID_KERBEROS_PROPERTIES_ADDHOST 131269
-#define HID_KERBEROS_PROPERTIES_ADDRLM  131253
-#define HID_KERBEROS_PROPERTIES_COMMAND 98337
-#define HID_KERBEROS_PROPERTIES_EDIT   131233
-#define HID_KERBEROS_PROPERTIES_EDITDOM 131256
-#define HID_KERBEROS_PROPERTIES_EDITHOST 131271
-#define HID_KERBEROS_PROPERTIES_LISTDOM 131279
-#define HID_KERBEROS_PROPERTIES_LISTRLM 131250
-#define HID_KRB4_PROPERTIES_COMMAND            98329
-#define HID_KRB4_PROPERTIES_EDIT               131232
-#define HID_KRB5_PROPERTIES_COMMAND            98330
-#define HID_KRB5_PROPERTIES_EDIT               131241
-#define HID_KRB5_PROPERTIES_FORWARDING  131240
 #define HID_KRBCHECK_OPTION                            98335
-#define HID_LARGE_ICONS_OPTION          98322
 #define HID_LEASH_COMMANDS              131200
 #define HID_LEASH_PROGRAM               98319
-#define HID_LEASH_PROPERTIES_COMMAND   98331
-#define HID_LEASH_PROPERTIES_EDIT              131239
 #define HID_LOW_TICKET_ALARM_OPTION            98334
-#define HID_RESET_WINDOW_OPTION                        98326
-#define HID_SCNCHRONIZE_TIME_OPTION     98314
-#define HID_STATUS_BAR_OPTION           124929
-#define HID_TOOLBAR_OPTION                             124928
-#define HID_UPDATE_DISPLAY_COMMAND      98316
-#define HID_UPPERCASE_REALM_OPTION      98323
-#define HID_WHY_USE_LEASH32                            98341
-#define ID_CHANGEPASSWORD               112
-#define ID_COUNTDOWN                    101
-#define ID_DESTROY                      111
-#define ID_EXIT                         200
-#define ID_HELP_CHOOSE_PASSWORD         2511841056
-#define ID_HELP_KERBEROS                211
-#define ID_HELP_LEASH                   210
-#define ID_HELP_PURPOSE                 115
-#define ID_INITTICKETS                  113
 #define KRB_BAD_NAME                       39525457
 #define KRB_BAD_TIME                       39525413
 #DEFINE KRB_ERROR_78                       39525454
diff --git a/src/windows/leash/htmlhelp/Table_of_Contents.hhc b/src/windows/leash/htmlhelp/Table_of_Contents.hhc
deleted file mode 100644 (file)
index 5e50e24..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<HTML>
-<HEAD>
-<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
-<!-- Sitemap 1.0 -->
-</HEAD><BODY>
-<OBJECT type="text/site properties">
-       <param name="Auto Generated" value="Yes">
-</OBJECT>
-<UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Name" value="Why Use Leash?">
-               <param name="Local" value="html/leash_topic_why_use.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Name" value="Leash Help Topics">
-               <param name="Local" value="html/leash_topic_leash_help_topics.htm">
-               </OBJECT>
-       <UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="Leash Screen Display (Kerberometer and Dash Notification)">
-                       <param name="Local" value="html/leash_topic_leash_window.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="Leash System Tray Tool">
-                       <param name="Local" value="html/leash_topic_leash_systray.htm">
-                       </OBJECT>
-               <UL>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="System Tray Menu">
-                               <param name="Local" value="html/leash_topic_leash_systray.htm">
-                               </OBJECT>
-               </UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="Leash Commands">
-                       <param name="Local" value="html/leash_menu_commands.htm">
-                       </OBJECT>
-               <UL>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Exit Command">
-                               <param name="Local" value="html/leash_file_exit.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Get Ticket(s)/Token(s) Command, Ctrl+T">
-                               <param name="Local" value="html/leash_command_get_tickets.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Import Ticket(s)/Token(s) Command, Ctrl+I">
-                               <param name="Local" value="html/leash_command_import_tickets.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Renew Ticket(s)/Token(s) Command, Ctrl+R">
-                               <param name="Local" value="html/leash_command_renew_tickets.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Destroy Ticket(s)/Token(s) Command, Ctrl+D">
-                               <param name="Local" value="html/leash_command_destroy_tickets.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Change Password Command">
-                               <param name="Local" value="html/leash_command_change_password.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Reset Window Size/Pos Option">
-                               <param name="Local" value="html/leash_command_reset_window.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Synchronize Time">
-                               <param name="Local" value="html/leash_command_sync_time.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Update Display Command, F5">
-                               <param name="Local" value="html/leash_command_update_display.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Large Icons">
-                               <param name="Local" value="html/leash_view_large_icons.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Leash Toolbar">
-                               <param name="Local" value="html/leash_view_toolbar.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Status Bar">
-                               <param name="Local" value="html/leash_view_status_bar.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Debug Window">
-                               <param name="Local" value="html/leash_view_debug_window.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Automatic Ticket Renewal Option">
-                               <param name="Local" value="html/leash_option_auto_renewal.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Destroy Tickets/Tokens on Exit Option">
-                               <param name="Local" value="html/leash_option_destroy_tickets_on_exit.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Expiration Alarm Option">
-                               <param name="Local" value="html/leash_option_expiration_alarm.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Upper Case Realm Name Option">
-                               <param name="Local" value="html/leash_option_upper_case_realm.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Leash Properties\85 Command, Ctrl+L">
-                               <param name="Local" value="html/leash_option_leash_properties.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Kerberos Properties Command, Ctrl+K">
-                               <param name="Local" value="html/leash_option_kerberos_properties.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Kerberos v4 Properties\85 Command, Ctrl+4">
-                               <param name="Local" value="html/leash_option_krb4_properties.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="Kerberos v5 Properties Command, Ctrl+5">
-                               <param name="Local" value="html/leash_option_krb5_properties.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="AFS Properties Command, Ctrl+A">
-                               <param name="Local" value="html/leash_option_afs_properties.htm">
-                               </OBJECT>
-                       <LI> <OBJECT type="text/sitemap">
-                               <param name="Name" value="About Leash">
-                               <param name="Local" value="html/leash_help_about_leash32.htm">
-                               </OBJECT>
-               </UL>
-       </UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Name" value="Kerberos Help Topics">
-               <param name="Local" value="html/leash_topic_kerberos_help_topics.htm">
-               </OBJECT>
-       <UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="About Kerberos">
-                       <param name="Local" value="html/leash_topic_about_kerberos.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="Kerberos Names">
-                       <param name="Local" value="html/leash_topic_kerberos_names.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="Kerberos Tickets">
-                       <param name="Local" value="html/leash_topic_kerberos_tickets.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="Using Kerberos in a Command Prompt Environment">
-                       <param name="Local" value="html/leash_topic_kerberos_command_prompt.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="Kerberos Timing Issues">
-                       <param name="Local" value="html/leash_topic_timing_issues.htm">
-                       </OBJECT>
-       </UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Name" value="Kerberos for Windows Command Line Tools Manpages">
-               <param name="Local" value="html/leash_manpages.htm">
-               </OBJECT>
-       <UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="KINIT Command">
-                       <param name="Local" value="html/leash_manpage_kinit.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="KLIST Command">
-                       <param name="Local" value="html/leash_manpage_klist.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="KDESTROY Command">
-                       <param name="Local" value="html/leash_manpage_kdestroy.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="MS2MIT Command">
-                       <param name="Local" value="html/leash_manpage_ms2mit.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="AKLOG Command">
-                       <param name="Local" value="html/leash_manpage_aklog.htm">
-                       </OBJECT>
-       </UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Name" value="Common Leash Error Messages">
-               <param name="Local" value="html/leash_errors.htm">
-               </OBJECT>
-       <UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="Kerberos Error 8: Unknown username, instance, or realm.">
-                       <param name="Local" value="html/leash_topic_error_8.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="Kerberos Error 57: Cannot contact the Kerberos server for the selected realm.">
-                       <param name="Local" value="html/leash_topic_error_57.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="Kerberos Error 62: Password incorrect.">
-                       <param name="Local" value="html/leash_topic_error_62.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Name" value="Invalid principal.">
-                       <param name="Local" value="html/leash_topic_error_invalid_principal.htm">
-                       </OBJECT>
-       </UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Name" value="How To Use Leash Online Help">
-               <param name="Local" value="html/leash_topic_online_help.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Name" value="Leash Copyright">
-               <param name="Local" value="html/leash_copyright.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Name" value="Kerberos Copyright">
-               <param name="Local" value="html/leash_kerberos_copyright.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Name" value="Kerberos Export Restrictions and Source Code Access">
-               <param name="Local" value="html/leash_export.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Name" value="Reporting Bugs and Requesting Assistance">
-               <param name="Local" value="html/leash_bug_reports.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Name" value="The MIT Kerberos Team">
-               <param name="Local" value="html/leash_acknowledgements.htm">
-               </OBJECT>
-</UL>
-</BODY></HTML>
diff --git a/src/windows/leash/htmlhelp/html/Button_Menu.htm b/src/windows/leash/htmlhelp/html/Button_Menu.htm
deleted file mode 100644 (file)
index 7b5b19b..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<HTML>
-<HEAD>
-<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
-<link rel="stylesheet" type="text/css" href="Leash.css" />
-<Title>Button Panel</Title>
-</HEAD>
-<BODY>
-<H1>Using the Button Panel</H1>
-
-<p>
-Use the main buttons in the riboon menu to work with tickets and passwords.  Several button functions can also be reached with <a href="HTML/Keyboard_Shortcuts.htm">keyboard shortcuts. </a>
-</p>
-<p></p>
-<table>
-<tr>
-<th>Button</th>
-<th>Click to...</th>
-<th>Details</th>
-</tr>
-
- <tr><th id="th2">Get Ticket </th>
- <td>Get a new Kerberos ticket. </td>
-<td>Click this button to open the Get Ticket window. Enter or select your Kerberos <a href="JavaScript:popup.TextPopup(popupPrincipal, popfont,9,9,-1,-1)">principal</a> and password.  To verify or change ticket settings and flags, click  Show Advanced. When you are finished, click Okay. <br>
-<a href="HTML/Get_Tickets.htm">More Get Tickets help</a></td></tr>
-
-
-
-</tr>
-
- <tr><th id="th2">Renew Ticket</th>
-<td>Renew tickets.<p></p>
-If you have multiple <a href="JavaScript:popup.TextPopup(popupPrincipal, popfont,9,9,-1,-1)">principals</a>, renew tickets for the selected principal(s). <p></p>
- </td>
-<td>All of the renewable tickets for the selected principal(s) will have their useable lifetimes extended.  Each ticket will be reset to the length of the original ticket's lifespan. Note that you cannot renew tickets that have already expired. <br>
-<a href="HTML/Renew_Tickets.htm">How to renew tickets</a></td>
-</tr>
-
- <tr><th id="th2">Destroy Ticket</th>
-<td>Destroy all existing tickets.
-
-
-<p></p>
-This button is greyed out and not accessible if the Automatically Import option is selected and you have Windows domain tickets imported  from your Windows Logon session. <br>
-<a href="HTML/Tickets.htm#importable">About importable (Windows domain) tickets</a>
-</td>
- <td>
-Imported  Windows domain tickets are obtained and renewed by the Windows Logon session, so if you destroy them in  MIT Kerberos they are not destroyed in the Windows session. Kerberos would immediately import them again.  <br>
-<a href="HTML/Destroy_Tickets.htm">How to destroy tickets </a></td>
-</tr>
-
- <tr><th id="th2">Export Ticket</th>
- <td> Export tickets to use in your Windows Logon session to a Windows domain.</td>
-<td>Click this button to export a ticket you've obtained with the Get Ticket window into your Windows Logon Session. This allows you to use a computer that is not part of a Kerberos <a href="JavaScript:popup.TextPopup(popupRealm, popfont,9,9,-1,-1)"> realm</a> (or Windows domain) to access that realm. <br>
-<a href="HTML/Export_Tickets.htm">How to export tickets </a></td>
-</tr>
-
- <tr><th id="th2"> Make Default </th>
- <td>Make the selected principal the default principal.
-<p></p>
-You won't need to use this button if  you have only one principal. </td>
-<td> Select a principal by clicking it and then click Make Default to make the selected principal the default one. The default principal is the one whose tickets are used when an application or service asks for tickets without specifying which principal is being authenticated.
-
-<a href="HTML/Make_Default.htm"> How to Make Default Principal </a>
-</td></tr>
-
- <tr><th id="th2">Change Password</th>
- <td> Change your Kerberos password.</td>
-<td> If you have multiple <a href="JavaScript:popup.TextPopup(popupPrincipal, popfont,9,9,-1,-1)">principals</a>,  you can enter or select the appropriate one in the Change Password window. Or you can click a principal to select it before using the Change Password button.<br>
-<a href="HTML/Change_Password.htm">How to change your password </a></td>
-</tr>
-</table>
-<H3> Related help</H3>
-<ul id="helpul">
-<li><a href="HTML/Get_Tickets.htm">Get Tickets</a></li>
-<li><a href="HTML/Renew_Tickets.htm">Renew Tickets</a></li>
-<li><a href="HTML/Destroy_Tickets.htm">Destroy Tickets</a></li>
-<li><a href="HTML/Tickets.htm#renewable">About Renewable Tickets </a></li>
-<li><a href="HTML/Change_Password.htm">Change Password</a></li>
-</ul>
-
-<SCRIPT Language=JavaScript>
-popfont="Arial,.725;"
-popupRealm="Kerberos realms are a way of logically grouping resources and identities that use Kerberos. Your realm is the home of your Kerberos identity and your point of entry to the network resources controlled by Kerberos. Windows calls realms 'domains.' "
-</SCRIPT>
-<SCRIPT Language=JavaScript>
-popfont="Arial,.725,"
-popupPrincipal="Your principal is your Kerberos identity. It is your user name combined with the Kerberos realm you are using. For example: 'jdoe@SALES.WIDGET.COM' "
-popupKeyboardShortcut="To use a keyboard shortcut, hold down the [Ctrl] key on your computer keyboard and press the appropriate letter.  "
-</SCRIPT>
-
-
-<OBJECT id=popup type="application/x-oleobject"
-classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
-</OBJECT>
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/Distroy_Tickets.htm b/src/windows/leash/htmlhelp/html/Distroy_Tickets.htm
deleted file mode 100644 (file)
index f8936e8..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<HTML>
-<HEAD>
-<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
-<Title>Destroy_Tickets</Title>
-</HEAD>
-<BODY>
-<H1>Distroy Tickets</H1>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/Export_Tickets.htm b/src/windows/leash/htmlhelp/html/Export_Tickets.htm
deleted file mode 100644 (file)
index b1083bb..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<HTML>
-<HEAD>
-<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
-<link rel="stylesheet" type="text/css" href="Leash.css" />
-<Title>Export_Tickets</Title>
-</HEAD>
-<BODY>
-<H1>Export Tickets</H1>
-<p>
-You can export tickets into your Windows Logon session so they can be used with  Windows services.   This is useful when you want to you use a computer that is not part of a Kerberos <a href="JavaScript:popup.TextPopup(popupRealm, popfont,9,9,-1,-1)"> realm</a> (or Windows domain)  to access that realm (or domain).    </p>
-<p>
-<b>Note: </b>Exporting tickets will destroy any tickets you already have for your Windows Logon session. If you have unexpired tickets when you run the Export Ticket command, MIT Kerberos will warn you and give you the option to cancel the command.</p>
-<p>
-To export  tickets you have already obtained with the Get Ticket window into your Windows Logon session:</p>
-<ol>
-<li>Click the Export Ticket button in the Home tab.</li>
-<li>Click Okay to confirm that you want to export the tickets and destroy any you already have for  your Windows Logon session.
-</ol>
-
-
-<H2>Related help</H2>
-<ul id="helpul">
-<li><a href="HTML/Tickets.htm">About tickets</a></li>
-<li><a href="HTML/Destroy_Tickets.htm">Destroy Tickets</a></li>
-</ul>
-<SCRIPT Language=JavaScript>
-popfont="Arial,.725,"
-popupRealm="Kerberos realms are a way of logically grouping resources and identities that use Kerberos. Your realm is the home of your Kerberos identity and your point of entry to the network resources controlled by Kerberos. Windows calls realms 'domains.' "
-</SCRIPT>
-
-<OBJECT id=popup type="application/x-oleobject"
-classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
-</OBJECT>
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/How_Use_Kerberos.htm b/src/windows/leash/htmlhelp/html/How_Use_Kerberos.htm
deleted file mode 100644 (file)
index 38e54f6..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<HTML>
-<HEAD>
-<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
-<link rel="stylesheet" type="text/css" href="Leash.css" />
-<Title>How_Use_Kerberos</Title>
-</HEAD>
-<BODY>
-<H1>How Do I Use Kerberos? </H1>
-<p>It is simple to use Kerberos through the MIT Kerberos program. Click the Get Ticket button and log on to get a Kerberos ticket. This ticket is proof of your identity and allows you to access all of the network resources you are pemitted to use. For the most part, your tickets are passed on through the network without needing anything more from you. </p>
-<p>
-Kerberos tickets do expire, usually after about the length of a working day. </p>
-
-<H2 id="helph2">Related Help</H2>
-<ul id="helpul">
-<li><a href="HTML/Tickets.htm">Tickets</a></li>
-
-</ul>
-
-
-
-It is helpful to understand three concepts before using Kerberos; realms, principals, and tickets.
-<table>
-<tr>
-<th>Tickets</th>
-</tr>
-<tr>
-<td>
-To keep passwords from being transmitted in the clear and to provide users the convenience of a single log-on to access multiple services and hosts, Kerberos uses the concept of <i>tickets.</i> Once a user provides a valid identity and password, Kerberos  issues the user a ticket with a limited lifetime.  In most cases the ticket then allows the user to access all of the servers and hosts he or she should be able to access, for the lifetime of the ticket.
-When you get tickets through Leash, Kerberos verfies that you are who you say you are by checking your user name and password and then gives you an initial ticket.  When you access a service in your Kerberos realm, Leash passes your initial Kerberos ticket to the service. The service verifies the ticket and then issues you a service ticket that allows you access to that service.  You don't have to worry about obtaining these new service tickets; they are automatically given to you. You can view service tickets with Leash but cannot directly obtain or destroy them.
-</td>
-</tr>
-
-<H2> Realm  </H2>
- A Kerberos <b>realm</b> is the group of network resources that that you gain access to when you log on with a Kerberos identity and password. For example, a university might have a Kerberos realm that includes all of the servers that students should be allowed to access. Some companies or universities might  maintain more than one realm, potentially overlapping them. If you have access to more than one realm, you must log on to each one separately. By definition, each network resource in a Kerberos realm uses the same Kerberos installation  for authentication.
-
-<H2> Principal </H2>
-A Kerberos <b>principal</b>  is  the identity you use to log on through Kerberos. Some people will have more than one principal. For example, an administrator might have a regular principal and a seperate one with admin rights, like root access.
-
-<H2> Tickets </H2>
-
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/Import_Status.htm b/src/windows/leash/htmlhelp/html/Import_Status.htm
deleted file mode 100644 (file)
index ba7ec79..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html><head>
-<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
-<link rel="stylesheet" type="text/css" href="Leash.css">
-<title>Import Status</title></head>
-
-<body>
-
-<h1>Import Status </h1>
-<p>
-The Import Status column in the main window shows whether tickets were
-obtained with the Get Ticket function in MIT Kerberos or if they were
-obtained by a Windows Logon session when you logged on to a domain, and
-whether they have been imported or exported to the other application. </p>
-<p>
-To show or hide this column, open the Options tab and use the Import
-Status checkbox in the View Options panel. Note that Import Status is
-only available if you have obtained tickets through a Windows Logon
-session. <br>
-<a href="HTML/Options_Tab.htm#using-view-options">How to: Use View Options Panel </a></p>
-
-<table>
-<tbody><tr><th> Import Status </th>
-<th>Meaning</th>
-</tr>
-<tr>
-<th id="th2">imported</th>
-<td>The tickets were obtained when you started a Windows Logon session by logging in to a domain.
-
-They have been imported into MIT Kerberos. </td>
-
-</tr><tr>
-<th id="th2">importable</th>
-<td>The tickets were obtained when you started a Windows Logon session  by logging in to a domain.
-<p></p>
-They have not been imported into MIT Kerberos because Automatic Import
-has been turned off. To import them, select Automatic Import in the
-Ticket Options panel of the Options tab, or click the Import button in the Home tab.<br>
- <a href="HTML/Options_Tab.htm#using-ticket-options">How to: Use Ticket Options Panel</a><br>
-<a href="HTML/Import_Tickets.htm">How to: Import Tickets</a></li></td>
-</tr><tr>
-<th id="th2">protected</th>
-<td>The tickets were obtained when you started a Windows Logon session  by logging in to a domain.
-<p></p>
-They have not been imported into Windows for Kerberos because User
-Access Control (UAC) in Windows is preventing that action. If you want
-to allow the tickets to be imported, turn off your computer's UAC. </td>
-
-</tr><tr>
-<th id="th2">exportable</th>
-<td> You used the Get Ticket window to obtain these tickets.
-<p></p>
-They have not been exported.  <p></p>
-To export these tickets for use with Windows services, click the Export
-Ticket button. Note that exporting your tickets replaces rather than
-adds to any existing tickets in your Windows Logon session. </td>
-
-</tr><tr>
-<th id="th2">exported</th>
-<td>You used the Get Ticket window to obtain these tickets.
-<p></p>
-They have been exported into your Windows Logon session and can be used with Windows services. </td>
-
-</tr></tbody></table>
-
-<h2>Related Help</h2>
-<ul id="helpul">
-<li><a href="HTML/Options_Tab.htm#using-view-options">Using the View Options panel</a></li>
-<li><a href="HTML/Options_Tab.htm#using-ticket-options">Using theTicket Options panel</a></li>
-<li><a href="HTML/Export_Tickets.htm">Export tickets</a></li>
-<li><a href="HTML/Import_Tickets.htm">Import tickets</a></li>
-<li><a href="HTML/Windows_Logon_Tickets.htm">Windows Logon session tickets</a></li>
-</ul>
-
-</body></html>
diff --git a/src/windows/leash/htmlhelp/html/Import_Tickets.htm b/src/windows/leash/htmlhelp/html/Import_Tickets.htm
deleted file mode 100644 (file)
index 0e71ab4..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html><head>
-<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
-<link rel="stylesheet" type="text/css" href="Leash.css">
-<style type="text/css">
-td
-{
-vertical-align:top;
-}
-</style>
-<title>Import_Tickets</title></head>
-
-<body>
-<h1><a name="top">Import Tickets</a></h1>
-<p>
-You can import Windows domain tickets that you have already obtained
-through a Windows Logon session. Imported tickets can be fully used by
-applications that require the MIT Kerberos interface. In most
-installations, MIT Kerberos will automatically import these tickets if
-possible. </p>
-<table>
-<tbody><tr><th>On this page</th><th>On other pages</th></tr>
-<tr>
-<td>
-<b>How to...</b>
-<ul id="helpul">
-<li><a href="#auto-import">Turn Automatic Import on or off </a></li>
-<li><a href="#import-button">Use the Import Ticket button </a></li>
-
-</ul>
-</td>
-<td> <b>Learn about...</b>
-<ul id="helpul">
-<li><a href="HTML/Tickets.htm#importable">Importable Tickets</a></li>
-<li><a href="HTML/Import_Status.htm">Import Status meanings</a></li>
-<li><a href="HTML/Troubleshooting.htm#Windows-session">Troubleshoot importing tickets</a></li>
-
-</ul>
-</td>
-</tr>
-</tbody></table>
-
-<h2><a name="auto-import">Turn Automatic Import on or off </a></h2>
-<p>
-In most installations, MIT Kerberos will automatically import tickets
-if possible. Go to the Options tab and click the Automatic Import
-Tickets checkbox in the Ticket Options panel to turn the feature on or
-off. <br>
-<a href="HTML/Options_Tab.htm#using-ticket-options">How to: Use Ticket Options Panel </a>
-</p><p>
-In some cases MIT Kerberos tries to automatically import tickets but is
-prevented from doing so by the Windows User Access Control (UAC)
-feature. If this happens the tickets are still displayed in the main
-window, but have the Import Status of <i>protected.</i> You can turn off UAC on your computer to allow the tickets to be imported.
-</p>
-<p>
-<a href="#top">Back to top</a></p>
-
-
-<h2><a name="import-button"> Use the Import Ticket button  </a></h2>
-<p>
-If the Automatic Import option is turned off, you can still import tickets.
-</p><ol>
-<li>Go to the Home tab.</li>
-<li>Click the Import Tickets button. </li>
-<li>Click Okay to confirm that you want to import your tickets and destroy any that are already in MIT Kerberos. </li>
-</ol>
-
-<p></p>
-<p>
-<a href="#top">Back to top</a></p>
-
-
-
-
-<h2>Related help</h2>
-<ul id="helpul">
-<li><a href="HTML/Tickets.htm">About tickets</a></li>
-<li><a href="HTML/Destroy_Tickets.htm">Destroy Tickets</a></li>
-</ul>
-
-</body></html>
diff --git a/src/windows/leash/htmlhelp/html/More_Menu.htm b/src/windows/leash/htmlhelp/html/More_Menu.htm
deleted file mode 100644 (file)
index 96b9968..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<HTML>
-<HEAD>
-<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
-<link rel="stylesheet" type="text/css" href="Leash.css" />
-<Title>More Panel</Title>
-</HEAD>
-<BODY>
-<H1>Using the More Panel</H1>
-
-<p>
-Use the More panel  to reach features not needed by all users.
-</p>
-<H3>Find the More panel </H3>
-<p> The More panel is the panel on the far right of the ribbon menu. If your Kerberos window is wide enough, you will see the full More panel. If the window is too small to display it, you will see a More button.  Click the More button to reach the full panel options. </p>
-<p></p>
-<table>
-<tr>
-<th>Option</th>
-<th>Select if...</th>
-<th>Details</th>
-</tr>
-
- <tr><th id="th2">Forget Principals </th>
- <td>You have previously entered a principal in the Get Ticket window and saved it, but you no longer want that principal included in the auto-complete feature or list of saved principals.
- </td>
-<td> <a name="forget-principals">Select this to delete all saved principals from the auto-complete list in the Get Ticket and Change Password windows.
- <br>
-<a href="HTML/Forget_Principals.htm">More Forget Principals help</a> </td></tr>
-</tr>
-<tr>
-<th id="th2">
-Allow Mixed Case Realm Name</th>
-<td>If your Kerberos realm name uses any lower case letters.</td>
-<td>
-<a name="mixed-case-realm">Kerberos <em>realms</em> are a way of logically grouping resources and identities that use Kerberos. </a> By convention, realm names use all upper case letters. This helps distinguish a realm from the DNS domain it corrosponds to. Realm names are case sensitive. So for convenience, anything you enter in the realm field of the Get Ticket window is converted to upper case, unless you turn this option on. </td></tr>
-</table>
-<H3> Related help</H3>
-<ul id="helpul">
-<li><a href="HTML/Forget_Principals.htm">How to Forget Principals </a> </li>
-<li><a href="HTML/Kerberos_Terminology.htm#realms">Kerberos Terminology: Realms</a></li>
-
-</ul>
-
-
-
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/Options_Menu.htm b/src/windows/leash/htmlhelp/html/Options_Menu.htm
deleted file mode 100644 (file)
index 5fe4920..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<HTML>
-<HEAD>
-<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
-<link rel="stylesheet" type="text/css" href="Leash.css" />
-<Title>Options Panel</Title>
-</HEAD>
-<BODY>
-<H1>Using the Options  Panel</H1>
-<p>
-Use the Options panel to manage general MIT Kerberos settings.
-</p>
-<H3>Find the Options panel </H3>
-<p> Look to the right of the buttons and View panel. If your Kerberos window is wide enough, you will see the Option checkboxes. If the window is too small to display them, you will see an Options button.  Click the Options button to reach the option checkboxes. </p>
-
-<H3>Turning Options on and off</H3>
-<p>
-A checkmark indicates that the option is currently turned on. Click an Option checkbox to turn the option on or off.
-</p>
-<p></p>
-<table>
-<tr>
-<th>
-Option</th>
-<th>
-Turn this on to...</th>
-<th>
-Details</th>
-</tr>
-<tr>
-<th id="th2">Destroy Tickets on Exit </th>
-<td> <a name="destroy-tickets">Have MIT Kerberos destroy your tickets when you exit the program. </a>
-<p></p>
-<b>Note: </b>MIT Kerberos cannot permanently destroy tickets you've obtained by logging into a Windows domain, even if you've imported them. Those tickets are destroyed when you log out of the domain.</td>
-<td>Turning this option on provides greater security. However, you will need to turn this off if you want to exit MIT Kerberos but  leave processes running which require your valid tickets.  </td></tr>
-<tr>
-<th id="th2">Automatic Ticket Renewal</th>
-<td>
-Automatically renew tickets flagged as renewable, without promptings or requiring a password,  until the renewal lifetime is reached. </td>
-<td>
-<a name="automatic-renewal">Renewing your tickets allows you to run batch jobs without interruption and to work through a long session without continually reentering your
-password. </a> <a href="HTML/Tickets.htm#renewable">About renewable tickets</a>
-<p></p>
-<b>Note: </b>Automatic ticket renewal will not work if you exit MIT Kerberos or if your machine is in hibernation mode.
- </td></tr>
-<tr>
-<th id="th2">Expiration Alarm</th>
-<td >Have Kerberos provide an audible alarm 15, 10, and 5 minutes before your tickets expire.</td>
-<td ><a name="expiration-alarm">Regardless of whether this option is on, Kerberos alerts you to expiring tickets at the same intervals with pop up window. </a>However, the pop up
-window will not always be visible on a busy desktop.  <a href="HTML/Tickets.htm#expiration">About ticket expiration</a></td></tr>
-
-</table>
-<H2> Related help</H2>
-<ul id="helpul">
-<li><a href="HTML/Renew_Tickets.htm">Renew Tickets</a></li>
-<li><a href="HTML/Destroy_Tickets.htm">Destroy Tickets</a></li>
-<li><a href="HTML/Tickets.htm#renewable">About Renewable Tickets </a></li>
-<li><a href="HTML/Tickets.htm#expiration">About Ticket Expiration</a></li>
-</ul>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/Renew_Tickets2.htm b/src/windows/leash/htmlhelp/html/Renew_Tickets2.htm
deleted file mode 100644 (file)
index 1233c67..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<HTML>
-<HEAD>
-<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
-<Title>Renew_Tickets</Title>
-<link rel="stylesheet" type="text/css" href="Leash.css" />
-</HEAD>
-<BODY>
-<a name="top"><H1>Renew Tickets</H1></a>
-<p>
-Renewing your tickets allows you to run batch jobs without interruption and to work through a long session without continually reentering your password. Each time you renew your ticket, Kerberos resets the ticket lifetime to the length of the orginal ticket. </p>
-
-
-
-
-<H2 id="helph2">How to...</H2>
-<div style="margin-left:3 em; padding-left: 0";>
-
-<ul style="text-indent: -3em; list-style:none;
-font-family : Verdana, Geneva, sans-serif;
-       font-size: .8em;
-       margin-top: 0;
-       margin-left:0;">
-<li><a href="#get">Get renewable tickets</a></li>
-<li><a href="#renewable-flag">See which of your tickets are renewable</li>
-<li><a href="#renewable-flag">Find  how long a ticket can be renewed</a></li>
-<li><a href="#renew-once">Renew a ticket once</a></li>
-<li><a href="#renew-automatically">Renew tickets automatically</a></li>
-</ul>
-</div>
-<a name="get"><p></p></a>
-<H2>Get renewable tickets</H2>
-<p>
-In most configurations of Kerberos, you can choose to get renewable tickets. In some installations they will even be the default ticket setting.
-<ol>
-<li>Click the Get Ticket button on the top of the window.</li>
-<li> Enter your user name and password in the Get Ticket window. If the advanced settings are not visible, click Show Advanced Settings. </li>
-<li> Under "Flag this ticket as, " select <b>Renewable</b> if it is not already checked.
-<li> Use the Renewable Until slider if you want to adjust how many days (or hours) you will be able to renew this ticket.</li>
-<li> Click OK.</li>
-</ol>
-</p>
-
-<a name="renewable-flag"><p></p></a>
-<H2>See which of your tickets are renewable</H2>
-<p>
-In the main Kerberos window, click the Flags checkbox. The Flags column is added to your view. Renewable tickets have the word "renewbale" in this column.
-</p>
-<a name="renewable-until"><p></p></a>
-<H2>Find  how long a ticket can be renewed</H2>
-<p>
-In the main Kerberos window, click the Renewable Until checkbox. The Renewable Until column will appear. Your can renew your ticket repeatedly until the date and time in this column is reached, as long as you renew it while it is still valid.
-</p>
-<a name="renew-once"><p></p></a>
-<H2>Renew ticket once</H2>
-<p>
-To renew your existing Kerberos ticket(s) just once, click the Renew Ticket button at the top of the window. Your ticket(s) will be renewed with the same lifespan as the original ticket. The new expiration time is listed in the "Valid Until" column.
-</p>
-
-<a name="renew-automatically"><p></p></a>
-<H2>Renew ticket automatically</H2>
-<p>To set your Kerberos tickets to automatically renew for the entire renewable lifetime of the tickets, click the <b> Options</b> drop down button and select <b>Automatic Ticket Renewal</b>. If this option is already checked, selecting it will uncheck it and turn automatic renewal off. </p>
-<p>
-<b>Note: </b>MIT Kerberos can only automatically renew tickets while MIT Kerberos is active and running. This means that if your machine is in hibernation mode or if MIT Kerberos is not running when it is time to renew your tickets, your tickets will not be renewed. </p>
-<p>
-
-<H2>Renew Ticket Errors</H2>
-If any of the conditions listed below is not met, you will see an error message and then the Get Tickets window will open, allowing you to get a new ticket.</p>
-<p>
-You can renew your existing Kerberos tickets if all of the following are true:
-<ul>
-<li>The "Get tickets that  can be renewed" box was selected when you obtained the ticket; <br>
-<b>and</b></li>
-<li>The " renewable by" deadline has not been reached ; <br>
-<b>and</b></li>
-<li>Your ticket has not already expired.</li>
-</ul>
-
-
-
-<b>Related help</b>
-<ul>
-<li><a href="HTML/Ticket_Settings.htm">Ticket settings and flags</a></li>
-<li><a href="HTML/Get_Tickets.htm">Get  tickets</a></li>
-</ul>
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/View_Menu.htm b/src/windows/leash/htmlhelp/html/View_Menu.htm
deleted file mode 100644 (file)
index 73aee19..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<HTML>
-<HEAD>
-<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
-<link rel="stylesheet" type="text/css" href="Leash.css" />
-<Title>View Panel</Title>
-</HEAD>
-<BODY>
-<H1>Using the View  Panel </H1>
-<p>
-Use the View panel to choose which information columns are displayed in the main window. The View panel is to the right of the buttons in the top of the Kerberos window.</p>
-<H3>Show or Hide View Columns</H3>
-<p>
-A checkmark next to a View option indicates that the View column is currently shown in the main window. For example, "Valid Until" is selected by default, so the main window shows the Valid Until column unless you unselect that checkbox. </p>
-
-<H3>Viewing Ticket Information</H3>
-<p>
-The columns selected in the View panel show in the main window.
-Click and drag the line separating two column headings to make a column wider or narrower. Click the blue triangle next to a principal to see information for all of the principal's tickets. <a href="HTML/View_Tickets.htm">More help about viewing tickets </a> </p>
-</p>
-<p></p>
-<H3> Column Descriptions</H3>
-
-<table>
-<tr>
-<th>
-Checkbox Name </th>
-<th>
-Select this checkbox to...</th>
-<th>
-Details</th>
-</tr>
-<tr>
-<th id="th2"><a name="issued">Issued  </a></th>
-<td> See the date and time your ticket was originally obtained. </td>
-<td>If the ticket is imported, this is the time it was originally obtained when you logged on to a Windows domain with a Windows Logon session.</td> </tr>
-<tr>
-<th id="th2">
- Renewable Until</th>
-<td>See the date and time that your renewable tickets cannot be renewed any more. After this time you must get a new ticket to access services authenticated by Kerberos.</td>
-<td>
- <a name="renewable-until">If this column shows <em>Not Renewable</em>, the ticket was not flagged as renewable when you obtained it.</a>
-<p></p>
-<b>Related Help:</b><ul id="helpul">
-<li> <a href="HTML/Tickets.htm#renewable"> About renewable tickets</a> </li>
-<li><a href="HTML/Renew_Tickets.htm"> Renew tickets</a></li>
-<li><a href="HTML/Ticket_Settings.htm"> Ticket settings and flags</a></li>
-</ul>
-</td></tr>
-<tr>
-<th id="th2"> Valid Until  </th>
-<td>
-See when your ticket will expire. Note that you cannot renew a ticket if you let it expire. </td>
-<td>
- <a name="valid-until">Kerberos alerts you to expiring tickets with a warning in a pop up window. </a>
-To add an audible warning, select <b>Expiration Alarm</b> in the Options panel. <br><a href="HTML/Options_Menu.htm">Using the Options Panel</a>
- </td></tr>
-<tr>
-<th id="th2">  Encryption Type  </th>
-<td >See the encryption type used to encrypt each session key and ticket. This can be useful when troubleshooting.</td>
-<td > <a name="encryption-type">Kerberos supports multiple  types of encryption.</a> The type used for a particular  ticket or session key is automatically negotiated when you request a ticket or a service. <br>
-<a href="HTML/Encryption_Types.htm#supported-types">More About Encryption Types</a> </td></tr>
-<tr>
-<th id="th2"> Flags</th>
-<td>See how the tickets were flagged (renewable and/or fowardable) when you obtained them.
-<td> <a name="flags"> You cannot change how an existing flag is set. If you need a ticket with different flags, you must get a new ticket. <br></a>
-<a href="HTML/Ticket_Settings.htm">About ticket settings and flags </a>
-</td>
-</tr>
-<tr><th id="th2"> Import Status</th>
-<td>  See which of your tickets have been imported (or can be imported), from a Windows Logon session, and which have been exported (or can be exported) into a Windows Logon session.
-
-<p></p>
-This column is only available when you have  Kerberos tickets obtained by logging into Windows Logon session to enter a Windows domain.
-<p></p>
-<a href="HTML/Tickets.htm#importable">About importable (Windows domain) tickets</a>
-</td>
-<td><a name="import-status">The import status tells you what  application was used to obtain the ticket, and what application can fully use it now.</a>  Tickets originally obtained by starting  a Windows Logon session in a domain are <em> imported</em> or <em>importable</em> to MIT Kerberos, or they are <em>protected</em> from being imported. <p></p> Tickets obtained with the Get Ticket window are eithe <em>exportable</em> or <em>exported</em> to the Windows Logon session. <a href="HTML/Import_Status.htm">Import Status meanings</a>
-
- </td>
-</td>
-
-</tr>
-
-
-</table>
-<H2> Related help</H2>
-<ul id="helpul">
-<li><a href="HTML/View_Tickets.htm">View tickets</a></li>
-<li><a href="HTML/Renew_Tickets.htm">Renew tickets</a></li>
-<li><a href="HTML/Destroy_Tickets.htm">Destroy tickets</a></li>
-<li><a href="HTML/Tickets.htm#renewable">About renewable tickets</a></li>
-<li><a href="HTML/Tickets.htm#importable">About importable (Windows domain) tickets </a></li>
-<li><a href="HTML/Tickets.htm#expiration">About ticket expiration</a></li>
-<li><a href="HTML/Import_Status.htm">Import Status</a></li>
-</ul>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/Windows_Logon_Tickets.htm b/src/windows/leash/htmlhelp/html/Windows_Logon_Tickets.htm
deleted file mode 100644 (file)
index f3d44a6..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html><head>
-<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
-<link rel="stylesheet" type="text/css" href="Leash.css">
-<title>Windows Logon Tickets</title></head>
-
-<body>
-<h1>Windows Logon Session Tickets</h1>
-<p>
-MIT Kerberos is not the only interface for managing Kerberos tickets.
-When you log on to a Windows domain, you are issued a Kerberos ticket
-for your Windows Logon session. This ticket is automatically renewed
-until you log out of the session, when it is destroyed.</p>
-<p>
-Sometimes applications that require Kerberos authentication only work
-with MIT Kerberos. Others work only with the interface that is part of
-the Windows Logon session. For this reason, you can use MIT Kerberos to
-import tickets from your Windows domain or export tickets into your
-Windows Logon session for use with Windows services, depending on your
-needs.
-</p>
-
-<table>
-<tbody><tr>
-<th id="th2"> Learn about... </th><th id="th2">How to...</th>  </tr>
-<tr>
-<td>
-<ul id="helpul">
-<li><a href="HTML/Tickets.htm#importable"> Importable (Windows domain) tickets </a></li>
-<li><a href="HTML/Import_Status.htm"> Import status</a></li>
-</ul>
-</td>
-<td>
-<ul id="helpul">
-<li><a href="HTML/Import_Tickets.htm"> Import tickets </a></li>
-<li><a href="HTML/Export_Tickets.htm"> Export tickets </a></li>
-</ul>
-</td>
-</tr>
-</tbody></table>
-
-
-
-
-</body></html>
diff --git a/src/windows/leash/htmlhelp/html/afx_hidw_status_bar.htm b/src/windows/leash/htmlhelp/html/afx_hidw_status_bar.htm
deleted file mode 100644 (file)
index 82cb4d9..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>(status bar)</TITLE>
-</HEAD>
-
-<BODY>
-
-
-<OBJECT TYPE="application/x-oleobject" CLASSID="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
-       <PARAM NAME="Keyword" VALUE="status bar">
-</OBJECT>
-
-<P><A NAME="afx_hidw_status_bar"></A><B>Status Bar</B></P>
-
-<P>The status bar is displayed at the bottom of the &lt;&lt;YourApp&gt;&gt; window.  To display or hide the status bar, use the
-<b> Status Bar</b> command in the <b> View</b> menu.</P>
-
-<P>The left area of the status bar describes actions of menu items as you use the arrow keys to navigate through menus.  This area similarly shows messages that describe the actions of toolbar buttons as you
-press them, before releasing them.  If after viewing the description of the toolbar button command you wish not to execute the command, then release the mouse button while the pointer is off the toolbar button.</P>
-
-<P>The right areas of the status bar indicate which of the following keys are latched down:</P>
-
-<P><B>Indicator &nbsp;&nbsp;&nbsp;Description</B></P>
-
-<P>CAP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Caps Lock key is latched down.</P>
-
-<P>NUM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Num Lock key is latched down.</P>
-
-<P>SCRL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Scroll Lock key is latched down.</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/afx_hidw_toolbar.htm b/src/windows/leash/htmlhelp/html/afx_hidw_toolbar.htm
deleted file mode 100644 (file)
index fc47454..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>(toolbar)</TITLE>
-</HEAD>
-
-<BODY>
-
-
-<OBJECT TYPE="application/x-oleobject" CLASSID="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" width="14" height="14">
-       <PARAM NAME="Keyword" VALUE="toolbar">
-</OBJECT>
-
-<P><A NAME="afx_hidw_toolbar"></A><B>Toolbar</B></P>
-
-
-<P>The toolbar is displayed across the top of the application window, below the menu bar.  The toolbar provides quick mouse access to many tools used in &lt;&lt;YourApp&gt;&gt;,</P>
-
-<P>To hide or display the toolbar, click <b>Toolbar</b> from the <b> View</b> menu.</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/hid_app_about.htm b/src/windows/leash/htmlhelp/html/hid_app_about.htm
deleted file mode 100644 (file)
index 538cc9e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>(About command (Help menu))</TITLE>
-</HEAD>
-
-<BODY>
-
-
-<P><A NAME="hid_app_about"></A><B>About command (Help menu)</B></P>
-
-<P>Use this command to display the copyright notice and version number of your copy of &lt;&lt;YourApp&gt;&gt;.</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/hid_app_exit.htm b/src/windows/leash/htmlhelp/html/hid_app_exit.htm
deleted file mode 100644 (file)
index 805f043..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>(File Exit command)</TITLE>
-</HEAD>
-
-<BODY>
-
-
-<OBJECT TYPE="application/x-oleobject" CLASSID="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
-       <PARAM NAME="Keyword" VALUE="exit">
-</OBJECT>
-
-<P><A NAME="hid_app_exit"></A><B>Exit command (File menu)</B></P>
-
-<P>Use this command to end your &lt;&lt;YourApp&gt;&gt; session.  You can also use the
-<b> Close</b> command on the application <b> Control</b> menu.  &lt;&lt;YourApp&gt;&gt; prompts you to save documents with unsaved changes.</P>
-
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/hid_context_help.htm b/src/windows/leash/htmlhelp/html/hid_context_help.htm
deleted file mode 100644 (file)
index 34f742e..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>(Help Using Help Command)</TITLE>
-</HEAD>
-
-<BODY>
-
-
-<P><A NAME="hid_context_help"></A><B>Context Help command </B></P>
-
-
-<P>Use this command to obtain help on some portion of &lt;&lt;YourApp&gt;&gt;.  When you choose the
-toolbar's <b> Context Help</b> button, the mouse pointer will change to an arrow and question mark.  Then click somewhere in the &lt;&lt;YourApp&gt;&gt; window, such as another
-toolbar button.  The help topic will be shown for the item you clicked.</P>
-
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/hid_help_index.htm b/src/windows/leash/htmlhelp/html/hid_help_index.htm
deleted file mode 100644 (file)
index 9356177..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>(Index command (Help menu))</TITLE>
-</HEAD>
-
-<BODY>
-
-
-<P><A NAME="hid_help_index"></A><B>Index command (Help menu)</B></P>
-
-<P>Use this command to display the opening screen of help.  From the opening screen, you can jump to step-by-step instructions for using &lt;&lt;YourApp&gt;&gt; and various types of reference information.  </P>
-
-<P>Once you open help, you can click the <b> Contents</b> button whenever you want to return to the opening screen.</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/hid_help_using.htm b/src/windows/leash/htmlhelp/html/hid_help_using.htm
deleted file mode 100644 (file)
index bcf07e8..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>(Using Help command (Help menu))</TITLE>
-</HEAD>
-
-<BODY>
-
-
-<P><A NAME="hid_help_using"></A><B>Using Help command (Help menu)</B></P>
-
-<P>Use this command for instructions about using help.</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/hid_sc_close.htm b/src/windows/leash/htmlhelp/html/hid_sc_close.htm
deleted file mode 100644 (file)
index 775be73..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><HTML><HEAD><META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252"><TITLE>(Close command (Control menus))</TITLE></HEAD><BODY><P><A NAME="hid_sc_close"></A><B>Close command (Control menus)</B></P><P>Use this command to close the active window or dialog box.</P><P>Double-clicking a <b>Control</b> menu box is the same as choosing the <b> Close</b> command.</P><P>Note:  If you have multiple windows open for a single document, the <b> Close</b> command on the document<b> Control</b> menu closes only one window at a time.  You can close all windows at once with the<b> Close</b> command on the <b> File</b> menu.</P></BODY></HTML>
diff --git a/src/windows/leash/htmlhelp/html/hid_sc_maximize.htm b/src/windows/leash/htmlhelp/html/hid_sc_maximize.htm
deleted file mode 100644 (file)
index 241292d..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>(Maximize command (System menu))</TITLE>
-</HEAD>
-
-<BODY>
-
-
-<P><A NAME="hid_sc_maximize"></A><B>Maximize command (System menu)</B></P>
-
-<P>Use this command to enlarge the active window to fill the available space.</P>
-
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/hid_sc_minimize.htm b/src/windows/leash/htmlhelp/html/hid_sc_minimize.htm
deleted file mode 100644 (file)
index 118fe1e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>(System Minimize Command)</TITLE>
-</HEAD>
-
-<BODY>
-
-
-<P><A NAME="hid_sc_minimize"></A><B>Minimize command (application Control menu)</B></P>
-
-<P>Use this command to reduce the &lt;&lt;YourApp&gt;&gt; window to an icon.</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/hid_sc_move.htm b/src/windows/leash/htmlhelp/html/hid_sc_move.htm
deleted file mode 100644 (file)
index f97f855..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>(Move command (Control menu))</TITLE>
-</HEAD>
-
-<BODY>
-
-
-<P><A NAME="hid_sc_move"></A><B>Move command (Control menu)</B></P>
-
-<P>Use this command to display a four-headed arrow so you can move the active window or dialog box with the arrow keys.</P>
-
-<P>Note:  This command is unavailable if you maximize the window.</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/hid_sc_restore.htm b/src/windows/leash/htmlhelp/html/hid_sc_restore.htm
deleted file mode 100644 (file)
index bdef357..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>(Restore command (Control menu))</TITLE>
-</HEAD>
-
-<BODY>
-
-
-<P><A NAME="hid_sc_restore"></A><B>Restore command (Control menu)</B></P>
-
-<P>Use this command to return the active window to its size and position before you chose the
-<b> Maximize</b> or <b> Minimize</b> command.</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/hid_sc_size.htm b/src/windows/leash/htmlhelp/html/hid_sc_size.htm
deleted file mode 100644 (file)
index 9332719..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>(Size command (System menu))</TITLE>
-</HEAD>
-
-<BODY>
-
-
-<P><A NAME="hid_sc_size"></A><B>Size command (System menu)</B></P>
-
-<P>Use this command to display a four-headed arrow so you can size the active window with the arrow keys.</P>
-
-<P>After the pointer changes to the four-headed arrow:</P>
-
-<P>1.Press one of the direction keys (left, right, up, or down arrow key) to move the pointer to the border you want to move.  </P>
-
-<P>2.Press a direction key to move the border.</P>
-
-<P>3.Press ENTER when the window is the size you want.</P>
-
-<P>Note:  This command is unavailable if you maximize the window.</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/hid_view_status_bar.htm b/src/windows/leash/htmlhelp/html/hid_view_status_bar.htm
deleted file mode 100644 (file)
index 6068737..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>(View Status Bar Command)</TITLE>
-</HEAD>
-
-<BODY>
-
-
-<OBJECT TYPE="application/x-oleobject" CLASSID="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
-       <PARAM NAME="Keyword" VALUE="status bar">
-</OBJECT>
-
-<P><A NAME="hid_view_status_bar"></A><B>Status Bar command (View menu)</B></P>
-
-<P>Use this command to display and hide the status bar, which describes the action to be executed by the selected menu item or
-pressed toolbar button, and keyboard latch state. A checkmark appears next to the menu item when the
-status bar is displayed.</P>
-
-<P>See <A HREF="afx_hidw_status_bar.htm">Status Bar</A> for help on using the status bar.</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/hid_view_toolbar.htm b/src/windows/leash/htmlhelp/html/hid_view_toolbar.htm
deleted file mode 100644 (file)
index 43dfe35..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>(View Toolbar command)</TITLE>
-</HEAD>
-
-<BODY>
-
-
-<OBJECT TYPE="application/x-oleobject" CLASSID="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
-       <PARAM NAME="Keyword" VALUE="toolbar">
-</OBJECT>
-
-<P><A NAME="hid_view_toolbar"></A><B>Toolbar command (View menu)</B></P>
-
-<P>Use this command to display and hide the toolbar, which includes buttons for some of the most common commands in &lt;&lt;YourApp&gt;&gt;, such as
-<b> File Open</b>.  A checkmark appears next to the menu item when the toolbar is displayed.</P>
-
-<P>See <A HREF="afx_hidw_toolbar.htm">Toolbar</A> for help on using the toolbar.</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/leash_acknowledgements.htm b/src/windows/leash/htmlhelp/html/leash_acknowledgements.htm
deleted file mode 100644 (file)
index 577ceb5..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>The MIT Kerberos Team</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="acknowledgements">
-</object>
-<p></p>
-<h1><a name="id_help_people"></a>The MIT Kerberos Team</h1>
-This is by no means a complete list, as we have contributors and
-collaborators from all over the net. <br>
-<big><span style="font-weight: bold; text-decoration: underline;"><br>
-MIT Team Members</span></big>
-<ul>
-  <li>Marshall Vale - Team Leader </li>
-  <li>Jeffrey Altman </li>
-  <li><a href="http://web.mit.edu/lxs/www/">Alexandra Ellwood</a> ('97)
-PGP key: <a
- href="http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=0x22412C62">22412C62</a>
-  </li>
-  <li>Sam Hartman ('97) PGP keys: <a
- href="http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=0x3C86260F">3C86260F</a>
-    <a
- href="http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=0x68DEB5D1">68DEB5D1</a>
-  </li>
-  <li><a href="http://web.mit.edu/pbh/www/home.html">Paul Hill</a> </li>
-  <li>Scott McGuire </li>
-  <li>Ken Raeburn ('88) PGP keys: <a
- href="http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=0xC43E7B98">C43E7B98</a>
-  </li>
-  <li>Jeff Schiller ('79) PGP keys: <a
- href="http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=0xF414952B">F414952B</a>
-    <a
- href="http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=0x0DBF906D">0DBF906D</a>
-  </li>
-  <li><a href="http://www.mit.edu/people/tlyu/home.html">Tom Yu</a>
-('96) PGP keys: <a
- href="http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=0x2E2F668E">2E2F668E</a>
-    <a
- href="http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=0x749D7889">749D7889</a>
-    <a
- href="http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=0xF376813D">F376813D</a>
-  </li>
-</ul>
-The following people are not officially affiliated with MIT, but
-contribute to the MIT Kerberos V5 effort:
-<ul>
-  <li><a href="http://web.mit.edu/probe/www/home.html">Richard Basch</a>
-('90) </li>
-  <li>Danilo Almeida ('98) </li>
-  <li>Marc Horowitz ('92) </li>
-  <li>Barry Jaspan ('92) </li>
-  <li>Miro Jurisic ('01) </li>
-  <li>Ezra Peisach ('89) </li>
-  <li><a href="http://web.mit.edu/tytso/www/home.html">Ted Ts'o</a>
-('90) PGP keys: <a
- href="http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=0x80B07A4F">80B07A4F</a>
-    <a
- href="http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=0xE086CB93">E086CB93</a>
-    <a
- href="http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=0x103D4013">103D4013</a>
-    <a
- href="http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=0x93674C40">93674C40</a>
-    <a
- href="http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=0xF1A37611">F1A37611</a>
-    <a
- href="http://pgp.mit.edu:11371/pks/lookup?op=vindex&amp;search=0x466B4289">466B4289</a></li>
-</ul>
-<br>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_bug_reports.htm b/src/windows/leash/htmlhelp/html/leash_bug_reports.htm
deleted file mode 100644 (file)
index d830815..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Reporting Bugs and Requesting Assistance</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="bugs">
-</object>
-<p></p>
-<h1><a name="id_help_problems"></a>Reporting Bugs and Requesting
-Assistance<br>
-</h1>
-<p></p>
-<p class="MsoNormal" style="">If you find bugs, please mail
-them to kfw-bugs@MIT.EDU.</p>
-<p class="MsoNormal">kerberos@MIT.EDU is a mailing list set up for
-discussing
-Kerberos issues. It is gatewayed to the Usenet newsgroup
-'comp.protocols.kerberos'. If you prefer to read it via mail, send a
-request to
-kerberos-request@MIT.EDU to get added or subscribe via the web page:<o:p>&nbsp;</o:p></p>
-<p class="MsoNormal" style="text-indent: 0.5in;"><a
- href="http://mailman.mit.edu/mailman/listinfo/kerberos">http://mailman.mit.edu/mailman/listinfo/kerberos</a><o:p></o:p></p>
-<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_command_change_password.htm b/src/windows/leash/htmlhelp/html/leash_command_change_password.htm
deleted file mode 100644 (file)
index e2e971e..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Change Password Command</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="change">
-</object>
-<h3><a name="hid_change_password_command"></a><a name="id_help_change"></a><b>Change Password Command</b></h3>
-<p>The Change Password command is found on the Action menu; it is also
-the fifth button (from the left) in the toolbar.&nbsp; This command
-changes your Kerberos password.<br>
-</p>
-<p><img style="width: 616px; height: 377px;"
- alt="Change Password Dialog" title="Change Password Dialog"
- src="..%5CImages%5CLeash_change_password.jpg"><br>
-</p>
-<p>Note: This command will not change your local machine password
-unless your Windows Logon Session is authenticated using Kerberos.<br>
-</p>
-<p><a href="leash_topic_password_choice.htm#id_help_choose">How To
-Choose a Password</a>.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_command_destroy_tickets.htm b/src/windows/leash/htmlhelp/html/leash_command_destroy_tickets.htm
deleted file mode 100644 (file)
index 595ce81..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Destroy Tickets Command</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="destroy"> <param name="Keyword"
- value="key, Ctrl+D">
-</object>
-<h3><b><a name="id_help_destroy"></a><a
- name="hid_destroy_tickets_command"></a>Destroy Ticket(s)/Token(s) Command, Ctrl+D</b></h3>
-This command is found on the Action menu; it is also the fourth button
-(from the left) in the toolbar.&nbsp; Use this command to destroy all
-of the Kerberos tickets (and perhaps AFS tokens) on your local
-machine.&nbsp; Leash confirms your intentions before completing the
-request.&nbsp; Tickets for individual services may not be destroyed by
-the Leash Application.<br>
-<br>
-Once tickets are destroyed, you must Get or Import new tickets before
-Kerberized applications can once again access network services.<br>
-<br>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_command_get_tickets.htm b/src/windows/leash/htmlhelp/html/leash_command_get_tickets.htm
deleted file mode 100644 (file)
index a380919..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Get Tickets Command</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="renew"> <param name="Keyword"
- value="key, Ctrl+T">
-</object>
-<h3><b><a name="hid_get_tickets_command"></a><a name="id_help_get"></a>Get Ticket(s)/Token(s) Command, Ctrl+T</b></h3>
-This command is found under the Action menu; it is also the first
-button (from the left) in the toolbar.&nbsp; Use this command to obtain
-new Kerberos tickets (and perhaps AFS tokens.)<br>
-<br>
-<img style="width: 700px; height: 584px;"
- alt="Advanced Initialize Tickets Dialog"
- title="Advanced Initialize Tickets Dialog"
- src="../Images/Leash_init_ticket_advanced.jpg"><br>
-<br>
-<img style="width: 700px; height: 316px;"
- alt="Basic Initialize Tickets Dialog"
- title="Basic Initialize Tickets Dialog"
- src="..%5CImages%5CLeash_init_ticket_basic.jpg"><br>
-<br>
-When you select this commmand, Leash displays a dialog requesting your
-Username, Kerberos Realm, and Password; if these are correct, Leash
-will obtain tickets for you.&nbsp; You may optionally specify a ticket
-lifetime and various Kerberos 5 ticket options: <br>
-<ul>
-  <li>ticket forwarding</li>
-  <li>addressless tickets</li>
-  <li>renewable ticket times<br>
-  </li>
-</ul>
-<p>See Also</p>
-<p><a href="leash_topic_kerberos_tickets.htm">Kerberos tickets</a></p>
-<p>AFS tokens</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_command_import_tickets.htm b/src/windows/leash/htmlhelp/html/leash_command_import_tickets.htm
deleted file mode 100644 (file)
index 846bb35..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Import Tickets Command</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="renew"> <param name="Keyword"
- value="key, Ctrl+T">
-</object>
-<h3><b><a name="hid_import_tickets_command"></a><a name="id_help_import"></a>Import Ticket(s)/Token(s) Command, Ctrl+I</b></h3>
-This command is found on the Action menu; it is the third button (from
-the left) in the toolbar.&nbsp; Use this command to import Kerberos
-tickets from your Windows Logon Session.&nbsp; Importing tickets will
-result in the destruction of existing tickets.&nbsp; Leash will confirm
-the operation if necessary.<br>
-<br>
-Note:&nbsp; This command is only available if your Windows Logon
-Session is authenticated using Kerberos.<br>
-<p>See Also</p>
-<p><a href="leash_topic_kerberos_tickets.htm">Kerberos tickets</a></p>
-<p>AFS tokens</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_command_renew_tickets.htm b/src/windows/leash/htmlhelp/html/leash_command_renew_tickets.htm
deleted file mode 100644 (file)
index cca2fb8..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Renew Tickets Command</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="renew"> <param name="Keyword"
- value="key, Ctrl+T">
-</object>
-<h3><b><a name="hid_renew_tickets_command"></a><a name="id_help_renew"></a>Renew Ticket(s)/Token(s) Command, Ctrl+R</b></h3>
-This command is found on the Action menu; it is also the second button
-(from the left) in the toolbar.&nbsp; Use this command to renew the
-Kerberos tickets (and perhaps AFS tokens) on your local machine without
-requiring the use of a password.&nbsp; If your existing tickets cannot
-be renewed the ticket initialization dialog will be displayed allowing
-you to request new tickets.<br>
-<br>
-Note: This command is only available if your existing Kerberos tickets
-are renewable.<br>
-<br>
-<br>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_command_reset_window.htm b/src/windows/leash/htmlhelp/html/leash_command_reset_window.htm
deleted file mode 100644 (file)
index 3c189e7..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Reset Window Size/Pos Option</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="reset">
-</object>
-<h3><a name="hid_reset_window_option"></a><b>Reset Window Size/Pos
-Option</b></h3>
-<p>When you select this from the Options menu, the Leash window moves
-to its default size and position, near the upper left corner of the
-screen.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_command_sync_time.htm b/src/windows/leash/htmlhelp/html/leash_command_sync_time.htm
deleted file mode 100644 (file)
index 8b69f87..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Synchronize Time Option</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="synchronize">
-</object>
-<h3><a name="hid_scnchronize_time_option"></a><b>Synchronize Time</b></h3>
-<p>This command is found on the Action menu; it is also the sixth
-button (from the left) in the toolbar.&nbsp; When you select this
-command, Leash synchronizes the local machine time with the time server
-specified in the Leash Properties dialog.<br>
-</p>
-<p>Note: Kerberos authentication protocol requires loosely synchronized
-time between computers.&nbsp; The local machine clock and the Kerberos
-server clock need to be within five minutes of each other for Kerberos
-to function properly.&nbsp; This function can also be performed with
-the clock icon on the toolbar and has no keyboard equivalent.<br>
-<br>
-</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_command_update_display.htm b/src/windows/leash/htmlhelp/html/leash_command_update_display.htm
deleted file mode 100644 (file)
index a10718a..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Update Display Command</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="update"> <param name="Keyword" value="Key, F5">
-</object>
-<h3><b><a name="id_help_pdate"></a><a name="hid_update_display_cammand"></a>Update Display Command, F5</b></h3>
-<p>Use this command (in the Actions menu, or the black rectangular
-icon) to update the display of your current Kerberos tickets. You can
-also perform this function by clicking in the main Leash window.</p>
-<p><b>Why Use It...</b></p>
-<p>Although most end users will likely find this Leash feature
-irrelevant, application developers and support staff may occasionally
-find it to be useful. For example, you may want an immediate status
-check of Kerberos tickets if you have just used command-line <a
- href="leash_external_kinit.htm">kinit</a> or <a
- href="leash_external_kdestroy.htm">kdestroy</a> and want to check that
-they have functioned successfully.</p>
-<p><b>How It Works...</b></p>
-<p>While Leash automatically checks the status of your Kerberos tickets
-every 30 seconds, the Update Display command forces an immediate status
-check.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_copyright.htm b/src/windows/leash/htmlhelp/html/leash_copyright.htm
deleted file mode 100644 (file)
index f3bc88e..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Leash Copyright</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="copyright, Leash">
-</object>
-<p></p>
-<h1><a name="id_help_lcopyright"></a>Leash Copyright</h1>
-<p></p>
-<p>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: </p>
-<p>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:</p>
-<p>Copyright 1992-2004 by the Massachusetts Institute of Technology.
-All rights reserved. </p>
-<p>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. </p>
-<p>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.</p>
-<p>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.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_errors.htm b/src/windows/leash/htmlhelp/html/leash_errors.htm
deleted file mode 100644 (file)
index 9179109..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Leash Copyright</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="copyright, Leash">
-</object>
-<p></p>
-<h1><a name="id_leash_errors"></a>Common Leash Error Messages</h1>
-<p></p>
-This section describes error messages commonly displayed by Leash.
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_export.htm b/src/windows/leash/htmlhelp/html/leash_export.htm
deleted file mode 100644 (file)
index b7b39a7..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Kerberos Export Restrictions and Source Code Access</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="export">
-</object>
-<p></p>
-<h1><a name="id_help_export"></a>Kerberos Export Restrictions and Source Code Access</h1>
-<p></p>
-<p>Copyright (C) 1989-2004 by the Massachusetts Institute of Technology</p>
-<p><b>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.</b></p>
-<p>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. 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.</p>
-<p>Export of the documentation is not restricted.</p>
-<br>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_external_aklog.htm b/src/windows/leash/htmlhelp/html/leash_external_aklog.htm
deleted file mode 100644 (file)
index 5b00030..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>aklog.exe</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="kdestroy, exe">
-</object>
-<p><b>aklog.exe program</b></p>
-<p>aklog is a program which may be used to obtain AFS tokens for a cell
-which may or may not be equivalent to the Kerberos realm whose tickets
-are used to obtain the tokens.<br>
-<br>
-</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_external_kdestroy.htm b/src/windows/leash/htmlhelp/html/leash_external_kdestroy.htm
deleted file mode 100644 (file)
index a623193..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>kdestroy.exe</TITLE>
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
-
-<OBJECT TYPE="application/x-oleobject" CLASSID="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
-       <PARAM NAME="Keyword" VALUE="kdestroy, exe">
-</OBJECT>
-
-<P><B>kdestroy.exe program</B></P>
-
-<P>This is another way to destroy your tickets. Running this application will immediately destroy all tickets and tokens you might have, no matter how they were obtained.</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/leash_external_kinit.htm b/src/windows/leash/htmlhelp/html/leash_external_kinit.htm
deleted file mode 100644 (file)
index 97d62c0..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>kinit.exe</TITLE>
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
-
-<OBJECT TYPE="application/x-oleobject" CLASSID="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
-       <PARAM NAME="Keyword" VALUE="kinit, exe">
-</OBJECT>
-
-<P><B>kinit.exe program</B></P>
-
-<P>This is a little program which will run a command-prompt, text-based version of the ticket initialization window.  (However, unlike in the graphical version, you do not have the option of changing the ticket lifetime.)  This can be useful if you have a slow computer, or if you are having difficulty with the graphical version for some reason.</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/leash_external_klist.htm b/src/windows/leash/htmlhelp/html/leash_external_klist.htm
deleted file mode 100644 (file)
index a2e7bdb..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>Why Use</TITLE>
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
-
-<OBJECT TYPE="application/x-oleobject" CLASSID="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
-       <PARAM NAME="Keyword" VALUE="klist, exe">
-</OBJECT>
-
-<P><B>klist.exe program</B></P>
-
-<P>This application will quickly list all of the tickets you have.</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/leash_external_ms2mit.htm b/src/windows/leash/htmlhelp/html/leash_external_ms2mit.htm
deleted file mode 100644 (file)
index a2f301e..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>ms2mit.exe</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="kdestroy, exe">
-</object>
-<p><b>ms2mit.exe program</b></p>
-<p>This is another way to import Windows Logon Session Kerberos tickets
-for use by Leash and other Kerberos for Windows applications.&nbsp; The
-functionality is equivalent to the Import Tickets Command.<br>
-<br>
-</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_file_exit.htm b/src/windows/leash/htmlhelp/html/leash_file_exit.htm
deleted file mode 100644 (file)
index 72ecf49..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Exit/End Leash Program</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="exit">
-</object>
-<h3><b><a name="id_help_exit"></a><a name="hid_exit_command"></a>Exit Command</b></h3>
-<p>From the File menu, you can use this command to exit the Leash
-program.&nbsp; If any other means is used to close the Leash window,
-the Leash program will continue to execute and remain present in the
-Windows System Tray.<br>
-</p>
-<p><b>Important Note...</b></p>
-<p>Exiting the Leash program will <b>not</b> destroy your current
-Kerberos tickets. Unless you have selected this in the options menu,
-you need to use the destroy tickets command.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_help_about_leash32.htm b/src/windows/leash/htmlhelp/html/leash_help_about_leash32.htm
deleted file mode 100644 (file)
index 8eedd89..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>About Leash Command</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="help, About Leash">
-</object>
-<h3><a name="hid_about_leash32_comand"></a><b>About Leash</b></h3>
-<p>When you access this window from the Help menu, you see a Module
-list, three radio buttons, and a Properties button. Modules are
-executables and dll files that Leash may require.<br>
-</p>
-<p><img style="width: 471px; height: 269px;" alt="About Leash dialog"
- title="About Leash dialog" src="..%5CImages%5CLeash_about_leash.jpg"><br>
-</p>
-<p>The radio buttons let you choose to view a list of:
-</p>
-<ul>
-  <li>Leash Modules - displays the modules that Leash currently has
-loaded for its own use; <br>
-    <br>
-  </li>
-  <li>All Modules - displays Leash modules as well as those loaded by
-the OS;<br>
-    <br>
-  </li>
-  <li>Missing Modules - displays modules that Leash needs for
-complete functionality but that are not found. (Leash can still
-function with some modules missing.). This is useful if part of Leash
-is missing; you can find which files are needed to restore full
-functionality. </li>
-</ul>
-<p>If you select a module and click on the Properties button, Leash
-displays the properties of the selected module - both the general
-properties and those of this particular version.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_kerberos_copyright.htm b/src/windows/leash/htmlhelp/html/leash_kerberos_copyright.htm
deleted file mode 100644 (file)
index 68fa98f..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Kerberos Copyright</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="copyright, kerberos">
-</object>
-<p></p>
-<h1><a name="id_help_kcopyright"></a>Kerberos Copyright</h1>
-<p></p>
-<p>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: </p>
-<p>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:</p>
-<p>Copyright 1992-2004 by the Massachusetts Institute of Technology.
-All rights reserved. </p>
-<p>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. </p>
-<p>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.</p>
-<p>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.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_manpage_aklog.htm b/src/windows/leash/htmlhelp/html/leash_manpage_aklog.htm
deleted file mode 100644 (file)
index a9c5f6d..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>AKLOG Command</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="kinit, man">
-</object>
-<p><h2><a name="id_help_kinit"></a>AKLOG Command</h2></p>
-<p>(from UNIX man page)</p>
-<pre><code>User Commands                                            AKLOG(1)<br><br>NAME<br>     aklog - Obtain tokens for authentication to AFS<br><br>SYNOPSIS<br>     aklog [ -d ] [ -force ] [ -hosts ] [ -zsubs ] [ -noprdb ]  [<br>     [ -cell | -c ] cell [ -k kerberos-realm ] ] [ [ -path | -p ]<br>     pathname ]<br><br>DESCRIPTION<br>     The aklog program is used  to  authenticate  to  a  cell  or<br>     directory  in  AFS,  the Andrew Filesystem, by obtaining AFS<br>     tokens. Ordinarily, aklog is not used directly but called by<br>     attach(1).<br><br>     If aklog is invoked with no command line arguments, it  will<br>     obtain  tokens for the workstation's local cell.  It is pos-<br>     sible to invoke aklog with arbitrarily many cells and  path-<br>     names  specified  on  the  command  line. aklog knows how to<br>     expand cell name abbreviations, so short forms of cell names<br>     can be use used.  In addition, aklog understands the follow-<br>     ing command line options:<br><br>     -cell | -c cell<br>         This flag is not ordinarily necessary  since  aklog  can<br>         usually  figure  out when an argument is a cell.  It can<br>         be used to introduce a cell name that  would  ordinarily<br>         be  mistaken for a path name if this should be required.<br>         If this flag is omitted, an argument will be treated  as<br>         a cell name if it contains no slashes (/) and is neither<br>         "." nor ".." .<br><br>     -k kerberos-realm<br>         This flag is valid only when immediately  following  the<br>         name  of a cell.  It is used to tell aklog what kerberos<br>         realm should be used while authenticating to the preced-<br>         ing  cell.  This argument is unnecessary except when the<br>         workstation is  not  properly  configured.   Ordinarily,<br>         aklog can determine this information on its own.<br><br>     -path | -p pathname<br>         Like the -cell flag, this flag is  usually  unnecessary.<br>         When  it  appears,  the  next  command  line argument is<br>         always treated as a path name.  Ordinarily, an  argument<br>         is  treated as a path name if it is "." or ".." or if it<br>         contains a slash (/).<br><br>     -hosts<br>         Prints all the server addresses which may act as a  sin-<br>         gle  point  of failure in accessing the specified direc-<br>         tory path.  Each element of the path is examined, and as<br>         new  volumes  are traversed, if they are not replicated,<br>         the server's IP address containing the  volume  will  be<br>         displayed.   Attach(1)  invokes  aklog with this option.<br>         The output is of the form<br><br>         host: IP address<br><br>     -zsubs<br>         Causes the printing of the zephyr subscription  informa-<br>         tion  that  a  person  using  a given path or cell would<br>         want. Attach(1) invokes aklog  with  this  option.   The<br>         output is of the form<br><br>         zsub: instance<br><br>         where instance is the instance of a class filsrv  zephyr<br>         subscription.<br><br>     -noprdb<br>         Ordinarily, aklog looks up the AFS ID  corresponding  to<br>         the name of the person invoking the command.  Specifying<br>         this flag turns off this  functionality.   This  may  be<br>         desirable  if the protection database is unavailable for<br>         some reason and tokens are desired anyway.<br><br>     -d  Turns on printing of debugging information.  This option<br>         is not intended for general users.<br><br>     -force<br>         Forces aklog to obtain  new  tokens  even  if  the  user<br>         already appears to have tokens identical to the new ones<br>         they would get.  This option is most often required when<br>         the user has recently been added to an AFS group.<br><br>EXIT CODES<br>     The exit status of aklog will be one of the following:<br><br>     0    Success -- No error occurred.<br><br>     1    Usage -- Bad command syntax;  accompanied  by  a  usage<br>          message.<br><br>     2    Something failed -- More than one cell or pathname  was<br>          given  on  the  command  line  and at least one failure<br>          occurred.  A more specific  error  status  is  returned<br>          when only one directive is given.<br><br>     3    AFS -- Unable to get AFS configuration or unable to get<br>          information about a specific cell.<br><br>     4    Kerberos -- Unable to get tickets for authentication.<br><br>     5    Token -- Unable to get tokens.<br><br>     6    Bad pathname -- The path given was not a  directory  or<br>          lstat(2) failed on some component of the pathname.<br><br>     7    Miscellaneous -- An  internal  failure  occurred.   For<br>          example, aklog returns this if it runs out of memory.<br><br>EXAMPLES<br>     To get tokens for the local cell:<br>     % aklog<br><br>     To get tokens for the athena.mit.edu cell:<br>     % aklog athena.mit.edu<br>     or<br>     % aklog athena<br><br>     To       get       tokens       adequate       to       read<br>     /afs/athena.mit.edu/user/p/potato:<br>     % aklog /afs/athena.mit.edu/user/p/potato<br><br>     To get tokens for a test cell that is  in  a  test  Kerberos<br>     realm:<br>     % aklog testcell.mit.edu -k TESTREALM.MIT.EDU<br><br>SEE ALSO<br>     attach(1), tokens(1), unlog(1)<br><br><br></code></pre>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_manpage_kdestroy.htm b/src/windows/leash/htmlhelp/html/leash_manpage_kdestroy.htm
deleted file mode 100644 (file)
index 9c7aa42..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>KDESTROY Command</TITLE>
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
-
-<OBJECT TYPE="application/x-oleobject" CLASSID="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
-       <PARAM NAME="Keyword" VALUE="kdestroy, man">
-</OBJECT>
-
-<P><h2><A NAME="id_help_kdestroy"></A>KDESTROY Command</h2></P>
-
-<P>(from UNIX man page)</P>
-
-<PRE><CODE>User Commands  KDESTROY ( 1 )
-
-NAME
- kdestroy - destroy Kerberos tickets
-
-SYNOPSIS
- kdestroy [-5] [-4] [-q] [-c cache_name]
-
-DESCRIPTION
-
- The kdestroy utility destroys the user's active Kerberos
- authorization tickets by writing zeros to the specified credentials
- cache that contains them.  If the credentials cache is not specified,
- the default credentials cache is destroyed.  If kdestroy was built with
- Kerberos 4 support, the default behavior is to destroy both Kerberos 5
- and Kerberos 4 credentials.  Otherwise, kdestroy will default to
- destroying only Kerberos 5 credentials.
-
-OPTIONS
-
- -5 destroy Kerberos 5 credentials.  This overrides whatever the
-    default built-in behavior may be.  This option may be used with -4
-
- -4 destroy Kerberos 4 credentials.  This overrides whatever the
-    default built-in behavior may be.  This option is only available
-    if kinit was built with Kerberos 4 compatibility.  This option may
-    be used with -5
-
- -q Run quietly.  Normally kdestroy beeps if it fails to destroy the
-    user's tickets.  The -q flag suppresses this behavior.
-
- -c cache_name
-    use cache_name as the credentials (ticket) cache name and
-    location; if this option is not used, the default cache name and
-    location are used.
-
- The default credentials cache may vary between systems.  If the
- KRB5CCNAME environment variable is set, its value is used to name the
- default ticket cache.
-
- Most installations recommend that you place the kdestroy command in
- your .logout file, so that your tickets are destroyed automatically
- when you log out.
-
-ENVIRONMENT
- Kdestroy uses the following environment variables:
-
- KRB5CCNAME Location of the Kerberos 5 credentials (ticket) cache.
-
- KRBTKFILE Filename of the Kerberos 4 credentials (ticket) cache.
-
-FILES
- /tmp/krb5cc_[uid] default location of Kerberos 5 credentials cache
- ([uid] is the decimal UID of the user).
-
- /tmp/tkt[uid] default location of Kerberos 4 credentials cache ([uid]
- is the decimal UID of the user).
-
-SEE  ALSO
- kinit(1), klist(1), krb5(3)
-
-BUGS
- Only the tickets in the specified credentials cache are
- destroyed.  Separate ticket caches are used to hold root instance and
- password changing tickets.  These should probably be destroyed too,
- or all of a user's tickets kept in a single credentials cache.</CODE></PRE>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/leash_manpage_kinit.htm b/src/windows/leash/htmlhelp/html/leash_manpage_kinit.htm
deleted file mode 100644 (file)
index 88e54f3..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>KINIT Command</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="kinit, man">
-</object>
-<p><h2><a name="id_help_kinit"></a>KINIT Command</h2></p>
-<p>(from UNIX man page)</p>
-<pre><code>User Commands                                            KINIT(1)<br><br>NAME<br>     kinit - obtain and cache Kerberos ticket-granting ticket<br><br>SYNOPSIS<br>     kinit<br>          [-5] [-4] [-V] [-l lifetime] [-s start_time] [-r<br>          renewable_life] [-p | -P] [-f | -F] [-A] [-v] [-R] [-k<br>          [-t keytab_file]] [-c cache_name] [-S service_name]<br>          [principal]<br><br>DESCRIPTION<br>     kinit obtains and caches an initial  ticket-granting  ticket<br>     for  principal.Thetypicaldefaultbehavior Kerberos 5 tickets.<br>     However, if kinit was built with both Kerberos 4 support and<br>     with  the  default behavior of acquiring both types of tick-<br>     ets, it will try to acquire both Kerberos 5 and  Kerberos  4<br>     by default.  Any documentation particular to Kerberos 4 does<br>     not apply if Kerberos 4 support was not built into kinit.<br><br>OPTIONS<br>     -5   get Kerberos 5 tickets.  This  overrides  whatever  the<br>          default  built-in  behavior may be.  This option may be<br>          used with -4<br><br>     -4   get Kerberos 4 tickets.  This  overrides  whatever  the<br>          default  built-in behavior may be.  This option is only<br>          available if kinit was built with Kerberos  4  compati-<br>          bility.  This option may be used with -5<br><br>     -V   display verbose output.<br><br>     -l lifetime<br>          requests a ticket  with  the  lifetime  lifetime.   The<br>          value  for lifetime must be followed immediately by one<br>          of the following delimiters:<br><br>             s  seconds<br>             m  minutes<br>             h  hours<br>             d  days<br><br>          as in "kinit -l 90m".  You cannot mix units; a value of<br>          `3h30m' will result in an error.<br><br>          If the -l option is not specified, the  default  ticket<br>          lifetime (configured by each site) is used.  Specifying<br>          a ticket lifetime longer than the maximum ticket  life-<br>          time (configured by each site) results in a ticket with<br>          the maximum lifetime.<br><br>     -s start_time<br>          requests  a  postdated  ticket,   valid   starting   at<br>          start_time.   Postdated  tickets  are  issued  with the<br>          invalid flag set, and need to be fed back  to  the  kdc<br>          before use.  (Not applicaple to Kerberos 4.)<br><br>     -r renewable_life<br>          requests renewable tickets, with a  total  lifetime  of<br>          renewable_life.   The duration is in the same format as<br>          the -l option, with the same delimiters.  (Not applica-<br>          ple to Kerberos 4.)<br><br>     -f   request forwardable tickets.  (Not applicaple  to  Ker-<br>          beros 4.)<br><br>     -F   do not request forwardable tickets.  (Not applicaple to<br>          Kerberos 4.)<br><br>     -p   request proxiable tickets.  (Not applicaple to Kerberos<br>          4.)<br><br>     -P   do not request proxiable tickets.  (Not  applicaple  to<br>          Kerberos 4.)<br><br>     -A   request address-less tickets.  (Not applicaple to  Ker-<br>          beros 4.)<br><br>     -v   requests that the ticket granting ticket in  the  cache<br>          (with  the  invalid  flag set) be passed to the kdc for<br>          validation.  If the ticket is within its requested time<br>          range, the cache is replaced with the validated ticket.<br>          (Not applicaple to Kerberos 4.)<br><br>     -R   requests renewal of the ticket-granting  ticket.   Note<br>          that  an  expired ticket cannot be renewed, even if the<br>          ticket is still within its renewable life.  When  using<br>          this  option with Kerberos 4, the kdc must support Ker-<br>          beros 5 to Kerberos 4 ticket conversion.<br><br>     -k [-t keytab_file]<br>          requests a host ticket, obtained  from  a  key  in  the<br>          local host's keytab file.  The name and location of the<br>          keytab file may be specified with  the  -t  keytab_file<br>          option; otherwise the default name and location will be<br>          used.  When using this option with Kerberos 4, the  kdc<br>          must  support  Kerberos  5 to Kerberos 4 ticket conver-<br>          sion.<br><br>     -c cache_name<br>          use cache_name as the Kerberos 5  credentials  (ticket)<br>          cache  name  and  location; if this option is not used,<br>          the default cache name and location are used.<br><br>          The default credentials cache may vary between systems.<br><br>          If  the  KRB5CCNAME  environment  variable  is set, its<br>          value is used to name the default  ticket  cache.   Any<br>          existing  contents of the cache are destroyed by kinit.<br>          (Note: The default name for Kerberos 4 comes  from  the<br>          KRBTKFILE  environment  variable.  This option does not<br>          apply to Kerberos 4.)<br><br>     -S service_name<br>          specify an alternate service name to use  when  getting<br>          initial tickets.  (Applicable to Kerberos 5 or if using<br>          both Kerberos 5 and Kerberos 4 with a kdc that supports<br>          Kerberos 5 to Kerberos 4 ticket conversion.)<br><br>ENVIRONMENT<br>     Kinit uses the following environment variables:<br><br>     KRB5CCNAME      Location  of  the  Kerberos  5   credentials<br>                     (ticket) cache.<br><br>     KRBTKFILE      Filename  of  the  Kerberos   4   credentials<br>                    (ticket) cache.<br><br>FILES<br>     /tmp/krb5cc_[uid]  default location of  Kerberos  5  creden-<br>                        tials  cache ([uid] is the decimal UID of<br>                        the user).<br><br>     /tmp/tkt[uid]  default location of  Kerberos  4  credentials<br>                    cache ([uid] is the decimal UID of the user).<br><br>     /etc/krb5.keytab<br>                    default location for the local host's  keytab<br>                    file.<br><br>SEE ALSO<br>     klist(1), kdestroy(1), krb5(3)<br><br><br></code></pre>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_manpage_klist.htm b/src/windows/leash/htmlhelp/html/leash_manpage_klist.htm
deleted file mode 100644 (file)
index 9bc955e..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>KLIST Command</TITLE>
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
-
-<OBJECT TYPE="application/x-oleobject" CLASSID="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
-       <PARAM NAME="Keyword" VALUE="klist, man">
-</OBJECT>
-
-<P><h2><A NAME="id_help_klist"></A>KLIST Command</h2></P>
-
-<P>(from UNIX man page)</P>
-
-<PRE><CODE>User Commands  KLIST ( 1 )
-
-NAME
- klist - list cached Kerberos tickets
-
-SYNOPSIS
- klist [-5] [-4] [-e] [[-c] [-f] [-s] [-a [-n]]] [-k [-t] [-K]]
- [cache_name | keytab_name]
-
-DESCRIPTION
-
- Klist lists the Kerberos principal and Kerberos tickets held in a
- credentials cache, or the keys held in a keytab file.  If klist was
- built with Kerberos 4 support, the default behavior is to list both
- Kerberos 5 and Kerberos 4 credentials.  Otherwise, klist will default
- to listing only Kerberos 5 credentials.
-
-OPTIONS
- -5 list Kerberos 5 credentials.  This overrides whatever the default
- built-in behavior may be.  This option may be used with -4
-
- -4 list Kerberos 4 credentials.  This overrides whatever the default
- built-in behavior may be.  This option is only available if kinit was
- built with Kerberos 4 compatibility.  This option may be used with -5
-
- -e displays the encryption types of the session key and the ticket
- for each credential in the credential cache, or each key in the
- keytab file.
-
- -c List tickets held in a credentials cache.  This is the default if
- neither -c nor -k is specified.
-
- -f shows the flags present in the credentials, using the following
- abbreviations:
-
- F Forwardable
- f forwarded
- P Proxiable
- p proxy
- D postDateable
- d postdated
- R Renewable
- I Initial
- i invalid
-
- -s causes klist to run silently (produce no output), but to still set
- the exit status according to whether it finds the credentials cache.
- The exit status is `0' if klist finds a credentials cache, and `1' if
- it does not.
-
- -a display list of addresses in credentials.
-
- -n show numeric addresses instead of reverse-resolving addresses.
-
- -k List keys held in a keytab file.
-
- -t display the time entry timestamps for each keytab entry in the
- keytab file.
-
- -K display the value of the encryption key in each keytab entry in
- the keytab file.
-
- If cache_name or keytab_name is not specified, klist will display the
- credentials in the default credentials cache or keytab file as
- appropriate.  If the KRB5CCNAME environment variable is set, its
- value is used to name the default ticket cache.
-
-ENVIRONMENT
- Klist uses the following environment variables:
-
- KRB5CCNAME Location of the Kerberos 5 credentials (ticket) cache.
-
- KRBTKFILE Filename of the Kerberos 4 credentials (ticket) cache.
-
-FILES
- /tmp/krb5cc_[uid] default location of Kerberos 5 credentials cache
- ([uid] is the decimal UID of the user).
-
- /tmp/tkt[uid] default location of Kerberos 4 credentials cache ([uid]
- is the decimal UID of the user).
-
- /etc/krb5.keytab
- default location for the local host's keytab file.
-
-SEE  ALSO
- kinit(1), kdestroy(1), krb5(3)</CODE></PRE>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/leash_manpage_ms2mit.htm b/src/windows/leash/htmlhelp/html/leash_manpage_ms2mit.htm
deleted file mode 100644 (file)
index 99184f6..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>MS2MIT Command</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="kinit, man">
-</object>
-<p><h2><a name="id_help_kinit"></a>MS2MIT Command</h2></p>
-<pre><code>NAME<br> ms2mit - import Kerberos credentials from the current Windows Logon <br>          Session and insert them into the Kerberos for Windows <br>          default Credentials Cache<br><br>SYNOPSIS<br> ms2mit<br><br>DESCRIPTION<br><br>  <br><br>SEE  ALSO<br> klist(1), kdestroy(1), krb5(3)</code></pre>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_manpages.htm b/src/windows/leash/htmlhelp/html/leash_manpages.htm
deleted file mode 100644 (file)
index 3838622..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Leash Copyright</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="copyright, Leash">
-</object>
-<p></p>
-<h1><a name="id_kfw_manpages"></a>Kerberos for Windows Command Line Tools Manpages</h1>
-<p></p>
-<p>This section reproduces the manpages for the Kerberos for Windows command line tools.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_menu_commands.htm b/src/windows/leash/htmlhelp/html/leash_menu_commands.htm
deleted file mode 100644 (file)
index a3d8a8a..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Leash Commands</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
-<param name="Keyword" value="commands">
-</object>
-<p></p>
-<h2><a name="id_help_commands"></a><a name="hid_leash_commands"></a>Leash Commands</h2>
-<p></p>
-<p>File:<br>
-<img style="width: 232px; height: 52px;" alt="File menu"
- title="File menu" src="..%5CImages%5CLeash_menu_file.jpg"><br>
-</p>
-<p><a href="leash_file_exit.htm">Exit</a></p>
-<p>Action:<br>
-<img style="width: 288px; height: 223px;" alt="Action Menu"
- title="Action Menu" src="..%5CImages%5Cleash_menu_action.jpg"><br>
-</p>
-<p><a href="leash_command_get_tickets.htm#id_help_get">Get Ticket(s)/Token(s)</a></p>
-<p><a href="leash_command_renew_tickets.htm#id_help_renew">Renew Ticket(s)/Token(s)</a></p>
-<p><a href="leash_command_import_tickets.htm#id_help_import">Import Ticket(s)/Token(s)</a></p>
-<p><a href="leash_command_destroy_tickets.htm">Destroy Ticket(s)/Token(s)</a></p>
-<p><a href="leash_command_change_password.htm">Change Password </a></p>
-<p><a href="leash_command_reset_window.htm">Reset Window Size/Pos </a></p>
-<p><a href="leash_command_sync_time.htm">Synchronize Time </a></p>
-<p><a href="leash_command_update_display.htm#hid_update_display_command">Update Display </a></p>
-<p>View:<br>
-<img style="width: 232px; height: 116px;" alt="View menu"
- title="View menu" src="..%5CImages%5CLeash_menu_view.jpg"><br>
-</p>
-<p><a href="leash_view_large_icons.htm">Large Icons </a></p>
-<p><a href="leash_view_toolbar.htm">Toolbar </a></p>
-<p><a href="leash_view_status_bar.htm">Status Bar </a></p>
-<p><a href="leash_view_debug_window.htm">Debug Window </a></p>
-<p>Options:<br>
-<img style="width: 416px; height: 233px;" alt="Options menu"
- title="Options menu" src="..%5CImages%5CLeash_menu_options.jpg"><br>
-</p>
-<p><a href="leash_option_upper_case_realm.htm">Upper Case Realm Name </a></p>
-<p><a href="leash_option_expiration_alarm.htm">Expiration Alarm </a></p>
-<p><a href="leash_option_destroy_tickets_on_exit.htm">Destroy Tickets/Tokens on Exit </a></p>
-<p><a href="leash_option_leash_properties.htm">Leash Properties\85</a></p>
-<p><a href="leash_option_kerberos_properties.htm">Kerberos Properties </a></p>
-<p><a href="leash_option_krb4_properties.htm">Kerberos v4 Properties\85</a></p>
-<p><a href="leash_option_krb5_properties.htm">Kerberos v5 Properties\85</a></p>
-<p><a href="leash_option_afs_properties.htm">AFS Properties </a></p>
-<p><u>Help:<br>
-<img style="width: 320px; height: 52px;" alt="Help menu"
- title="Help menu" src="..%5CImages%5CLeash_menu_help.jpg"><br>
-</u></p>
-<p><a href="leash_help_about_leash32.htm">About Leash...</a></p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_menu_help_why_use.htm b/src/windows/leash/htmlhelp/html/leash_menu_help_why_use.htm
deleted file mode 100644 (file)
index 9a0f1bd..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Why Use</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="help, Why use Leash">
-</object>
-<p><b>Why Use Leash</b></p>
-<p>This command, found under the Help menu, starts Leash help (the
-document you are currently viewing).</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_option_afs_properties.htm b/src/windows/leash/htmlhelp/html/leash_option_afs_properties.htm
deleted file mode 100644 (file)
index c64aabd..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>AFS Properties Command</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="properties, AFS"> <param name="Keyword"
- value="key, Ctrl+A">
-</object>
-<h3><a name="hid_afs_properties_command"></a><b>AFS Properties Command,
-Ctrl+A</b></h3>
-<p>The AFS Properties dialog can be found on the Options menu when AFS
-is available.</p>
-<p><img style="width: 550px; height: 178px;" alt="AFS Properties Dialog"
- title="AFS Properties Dialog"
- src="..%5CImages%5CLeash_properties_afs.jpg"><br>
-</p>
-<p>There is a radio button pair to enable or disable the retrieval and
-display of AFS tokens. There is also an AFS Properties button to bring
-up the AFS Client Configuration program in order to alter settings for
-Client Properties, Cell Hosts, and Submounts.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_option_auto_renewal.htm b/src/windows/leash/htmlhelp/html/leash_option_auto_renewal.htm
deleted file mode 100644 (file)
index 904b9b4..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Automatic Ticket Renewal Option</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="expiration">
-</object>
-<h3><a name="hid_low_ticket_alarm_option"></a><b>Automatic Ticket
-Renewal Option</b></h3>
-When Automatic Ticket Renewal is on, whenever tickets (or tokens) are
-near expiration (within 15 minutes) Leash will attempt to extend the
-ticket lifetime either via ticket renewal or ticket importation.&nbsp;
-If these attempts fail, Leash will display the ticket initialization
-dialog.&nbsp; In this way, Leash ensures that there are always valid
-Kerberos tickets (and AFS tokens).<br>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_option_destroy_tickets_on_exit.htm b/src/windows/leash/htmlhelp/html/leash_option_destroy_tickets_on_exit.htm
deleted file mode 100644 (file)
index d8da0d9..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Destroy Tickets/Tokens on Exit Option</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="destroy">
-</object>
-<h3><a name="hid_destroy_tickets_on_exit"></a><b>Destroy Tickets/Tokens
-on Exit Option</b></h3>
-<p>If this option is selected under the Options menu, Leash destroys
-your tickets and tokens when you Exit Leash; otherwise, the tickets
-remain. This option is turned off by default. </p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_option_expiration_alarm.htm b/src/windows/leash/htmlhelp/html/leash_option_expiration_alarm.htm
deleted file mode 100644 (file)
index c253970..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Low Ticket/Token Time Alarm Option</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="expiration">
-</object>
-<h3><a name="hid_low_ticket_alarm_option"></a><b>Expiration Alarm Option</b></h3>
-<p>Leash will always pop up windows with warnings that your tickets are
-about to expire, beginning 15 minutes before the time of expiration and
-continuing every 5 minutes. However, when this option is selected under
-the Options menu, a bell will ring as well. </p>
-<p>When you view your tickets and tokens, those shown in yellow are due
-to expire in less than 15 minutes; those in green have 15 minutes or
-greater. (A red ticket is one you have but is expired; gray tickets are
-not available to you at the current time, because Leash or your machine
-is missing a requisite module or piece of functionality.)<br>
-</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_option_kerberos_properties.htm b/src/windows/leash/htmlhelp/html/leash_option_kerberos_properties.htm
deleted file mode 100644 (file)
index d3ea130..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Kerberos Properties Command</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="properties, Kerberos"> <param name="Keyword"
- value="key, Ctrl+K">
-</object>
-<h3><a name="hid_kerberos_properties_command"></a><b>Kerberos Properties Command, Ctrl+K</b></h3>
-<p>When you select this from the Options menu, Leash will display a
-tabbed window. The box within this window has four tabs: <br>
-</p>
-<ul>
-  <li>Default Realm Configuration</li>
-  <li>Ticket Lifetime and Other Initialization Options<br>
-  </li>
-  <li>Realm/Server Mapping<br>
-  </li>
-  <li>DNS/Realm Mapping.</li>
-</ul>
-<p><i>Default Realm Configuration:<br>
-<img style="width: 623px; height: 558px;"
- alt="Default Realm Configuration" title="Default Realm Configuration"
- src="..%5CImages%5CLeash_properties_krb_1.jpg"><br>
-</i></p>
-<p>There are two groups, the <span style="font-weight: bold;">Kerberos
-Realm/Host Server</span> and the <span style="font-weight: bold;">Computer
-Host/Domain Name</span>. </p>
-<p>Kerberos Realm/Host Server: In the <span style="font-weight: bold;">Your
-Kerberos Realm</span> field, select a Kerberos realm from the dropdown
-list. The list is editable using the Realm/Server Mapping tab. Leash
-automatically fills in your Kerberos server with the first server in
-the "Servers Hosting a KDC" list on the Realm/Server Mappings tab. </p>
-<p>Computer Host/Domain Name: The field labeled <span
- style="font-weight: bold;">Your Computer's Host Name</span> displays
-the name of your local machine.&nbsp; The <span
- style="font-weight: bold;">Your Computer's Domain Name</span> field
-displays the domain to which your local machine currently belongs.<br>
-</p>
-<p><i>Ticket Lifetime and Other Initialization Options:<br>
-<img style="width: 623px; height: 558px;" alt="Ticket Lifetime"
- title="Ticket Lifetime" src="..%5CImages%5CLeash_properties_krb_2.jpg"><br>
-</i></p>
-<p>
-</p>
-<>There are two expiration times associated with Kerberos
-tickets.&nbsp; The first specifies the length of the time period during
-which the tickets are valid for use.&nbsp; The second specifies the
-length of the renewable lifetime.&nbsp; Valid Kerberos tickets may have
-their valid use lifetime repeatedly extended up until the renewable
-lifetime expires.&nbsp; The settings on this page are used to configure
-default lifetime values for Leash to use when requesting Kerberos
-tickets from the Kerberos server (key distribution center).&nbsp; The
-Kerberos server may issue tickets with shorter lifetimes than were
-requested.<br>
-<br>
-The minimum and maximum values are used by the ticket initialization
-dialog box when constructing the Lifetime and Renewable Lifetime
-sliders.&nbsp; These sliders can be used to modify the requested ticket
-lifetimes when Kerberos tickets are initialized.<br>
-<br>
-When the <b>Request Kerberos 4
-credentials</b> button is checked, Leash will attempt to retrieve
-Kerberos 4
-credentials when ticket initialization, renewal, or importation is
-performed.<span style="">&nbsp; </span>Leash will attempt a Kerberos
-5 to Kerberos 4 conversion and if that fails an initial Kerberos 4
-ticket
-request will be generated.<span style="">&nbsp; </span>Kerberos
-realms are increasingly configured to support on Kerberos 5.<span
- style="">&nbsp; </span>If the realms you use do not support Kerberos
-4 it is suggested that this button be unchecked.</>
-<><o:p>&nbsp;</o:p><br>
-<br>
-When the <b style="">Preserve Ticket Initialization Options</b> button
-is checked, changes
-to the Lifetime, Renewable Lifetime, and Kerberos 5 ticket properties
-on the
-Ticket Initialization Dialog will be saved as the new default values
-for the
-current user. <o:p></o:p></>
-<p>
-</p>
-<p><i>Realm/Server Mapping</i>:<br>
-<img style="width: 623px; height: 558px;" alt="Realm / Server Mapping"
- title="Realm / Server Mapping"
- src="..%5CImages%5CLeash_properties_krb_3.jpg"><br>
-</p>
-The <span style="font-weight: bold;">Kerberos Realms</span> list box
-is used to add, remove or rename realms from the local Kerberos
-configuration files. To add a new realm, click on the Insert button
-beneath the Kerberos Realms list box.&nbsp; In the dialog, type the
-name of the new realm and click OK.&nbsp; However, for the realm to be
-inserted, it needs one or more servers.&nbsp; Immediately after you
-enter the new realm name, you will be prompted for the names of one
-Kerberos server in that realm.&nbsp; If you do not enter a server name,
-Leash will not insert the realm.<br>
-<br>
-To add servers to an existing realm, select the realm from the Kerberos
-Realms list box and click the Insert button under Servers Hosting a KDC
-list box.&nbsp; You will be prompted for the name of the new
-server.&nbsp; You can also remove servers, and designate either one or
-none as the administrative server.&nbsp; (The administrative server is
-the preferred server for performing password changes.) &nbsp;<br>
-<br>
-By clicking and dragging on the server that you want to move, you can
-change their order; this is important because the server listed at the
-top appears in this window under the <span style="font-weight: bold;">Default
-Realm Configuration</span> tab as the value for <span
- style="font-weight: bold;">Your Kerberos Server</span>.<br>
-<br>
-The <span style="font-weight: bold;">Use DNS KDC Lookup</span>
-checkbox is used to specify whether or not Kerberos should utilize the
-domain name service to attempt to find Kerberos Servers when the
-existing listed servers are not available.<br>
-<br>
-<p><i>DNS/Realm Mapping</i>:<br>
-<img style="width: 623px; height: 558px;" alt="DNS / Realm Mapping"
- title="DNS / Realm Mapping"
- src="..%5CImages%5CLeash_properties_krb_4.jpg"><br>
-</p>
-<p>Each entry here consists of two portions: the domain name (such as
-.mit.edu) or hostname (such as dialup.athena.mit.edu) followed by a
-space and the Kerberos realm (such as ATHENA.MIT.EDU) which is used by
-that domain or machine.&nbsp; You can insert new entries, edit existing
-ones, or delete old entries.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_option_krb4_properties.htm b/src/windows/leash/htmlhelp/html/leash_option_krb4_properties.htm
deleted file mode 100644 (file)
index a8922c9..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Kerberos Four Properties Command</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="properties, Kerberos4"> <param name="Keyword"
- value="key, Ctrl+4">
-</object>
-<h3><a name="hid_krb4_properties_command"></a><b>Kerberos v4 Properties\85 Command, Ctrl+4</b></h3>
-<p>The Kerberos v4 Properties dialog is accessible from the Options
-menu. <br>
-</p>
-<p><img style="width: 623px; height: 513px;"
- alt="Kerberos Four Properties" title="Kerberos Four Properties"
- src="..%5CImages%5CLeash_properties_krb4.jpg"><br>
-</p>
-<p>Here, you can specify the name of the in-memory cache used to store
-the Kerberos 4 tickets.&nbsp; The format of the name is \93API:\94 followed
-by the cache name.&nbsp; Disk caches are not supported by Kerberos for
-Windows.<br>
-<br>
-The paths to the Kerberos 4 configuration files: krb.con and
-krbrealm.con may be changed from this dialog if necessary.&nbsp; The
-default is to store the configuration files in the Windows directory.<br>
-<br>
-</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_option_krb5_properties.htm b/src/windows/leash/htmlhelp/html/leash_option_krb5_properties.htm
deleted file mode 100644 (file)
index d686882..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Kerberos Five Properties Command</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="properties, Kerberos5"> <param name="Keyword"
- value="key, Ctrl+5">
-</object>
-<h3><a name="hid_krb5_properties_command"></a><b>Kerberos v5 Properties Command, Ctrl+5</b></h3>
-The Kerberos v5 Properties dialog is accessible from the Options menu.
-This dialog has two tabs: <span style="font-weight: bold;">File
-Location</span> and <span style="font-weight: bold;">Configuration
-Options</span>.<br>
-<br>
-<span style="font-style: italic;">File Location:</span><br>
-<br>
-<img style="width: 633px; height: 477px;"
- alt="Kerberos Five Properties: File Location"
- title="Kerberos Five Properties: File Location"
- src="..%5CImages%5CLeash_properties_krb5_1.jpg"><br>
-<br>
-<p class="MsoBodyTextIndent2" style="text-indent: 0in;">The <b>File
-Location</b>
-tab allows you to specify the location of the default Kerberos 5 ticket
-cache and
-configuration file.<span style="">&nbsp; </span>The <b style="">Ticket
-File </b>field specifies the name of
-the in-memory cache (Ticket File) used to store the Kerberos 5 tickets.<span
- style="">&nbsp; </span>The format of the name is \93API:\94 followed by
-the cache name or "MSLSA:".<span style="">&nbsp; </span>Disk caches
-(type "FILE:") are not
-supported by Kerberos for Windows.<span style="">&nbsp; </span>The <b
- style="">Configuration File </b>field specifies the
-path to the Kerberos 5 configuration file, krb5.ini.<span style="">&nbsp;
-</span>If <b style="">Confirm
-that new configuration file exists</b> is checked when the
-configuration file
-location is changed, then Leash will not accept values which are not
-pre-existing Kerberos 5 configuration files.<br>
-</p>
-<p class="MsoBodyTextIndent2" style="text-indent: 0in;"><span
- style="font-style: italic;"><br>
-Configuration Options:</span><br>
-</p>
-<p class="MsoBodyTextIndent2" style="text-indent: 0in;"><img
- style="width: 633px; height: 477px;"
- alt="Kerberos Five Properties: Configuration Options"
- title="Kerberos Five Properties: Configuration Options"
- src="..%5CImages%5CLeash_properties_krb5_2.jpg"><br>
-</p>
-<p class="MsoBodyTextIndent2" style="text-indent: 0in;"></p>
-<p class="MsoNormal">On the <b style="">Configuration
-Options</b> page, you provide default attribute values to be used when
-requesting Kerberos 5 tickets from the Kerberos server.<span style="">&nbsp;
-</span></p>
-<p class="MsoNormal">When <b style="">Forwardable </b>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.<span style="">&nbsp; </span>When tickets are
-forwarded, there is no need to obtain Kerberos tickets again to access
-Kerberized
-services on the remote host. </p>
-<p class="MsoNormal">When <b style="">Proxiable </b>tickets
-are received from the Kerberos Server, these tickets can be passed onto
-Kerberized services which can in turn act on your behalf.<span style="">&nbsp;</span><o:p>&nbsp;</o:p></p>
-<p class="MsoNormal">When <b style="">Renewable</b>
-tickets are received from the Kerberos Server, the ticket lifetimes may
-be
-renewed without prompting the user for her password.<span style="">&nbsp;
-</span>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.<span
- style="">&nbsp; </span>When combined with <b style="">Automatic
-Ticket Renewal </b>(Option menu), Leash can maintain valid
-tickets for a week, a month, or longer by automatically renewing
-tickets prior
-to their expiration.<span style="">&nbsp; </span>The ability to
-renew tickets without a password is limited by the ticket\92s renewable
-lifetime as
-issued by the Kerberos Server.<o:p></o:p></p>
-<p class="MsoNormal">Traditionally, Kerberos tickets have included a
-list of
-network addresses within the tickets.<span style="">&nbsp;
-</span>This address list restricts the use of the tickets to the
-computers
-which are assigned those addresses.<span style="">&nbsp; </span>The
-use of address lists has become a headache for many users of Kerberos
-on
-network connections which use either Network Address Translation
-(Cable/DSL
-routers) or Network Address Hiding (VPN) capabilities.<span style="">&nbsp;
-</span>On these networks the address of the client
-machine appears to be different to the network service than it does to
-the
-client.<span style="">&nbsp; </span>The result is the Kerberos
-ticket is deemed to be invalid by the service even though it has not been
-stolen.<span style="">&nbsp; </span>When <b style="">No Addresses </b>is
-checked, Kerberos will not insert an address list
-into the Kerberos tickets.<span style="">&nbsp; </span>For
-Kerberized services which do not require address lists, this will
-enable
-Kerberos to be used across NAT and VPN based connections.<span style="">&nbsp;</span><o:p>&nbsp;</o:p></p>
-<p class="MsoNormal">Note 1:<span style="">&nbsp; </span>As of
-Kerberos 5 release 1.3, the library default is to disable the use of
-address
-lists.<span style="">&nbsp; </span>Leash will detect the setting
-from the Kerberos 5 configuration and check the <b style="">No
-Addresses</b> box.<span style="">&nbsp; </span>If you
-attempt to re-enable address lists while the library is configured to
-disable
-them , Leash will warn you that the Kerberos 5 configuration file must
-be
-altered. <span style="">&nbsp;</span><o:p>&nbsp;</o:p></p>
-<p class="MsoNormal">Note 2: Distributed Computing Environment (DCE)
-servers
-require the use of address lists.</p>
-<br>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_option_leash_properties.htm b/src/windows/leash/htmlhelp/html/leash_option_leash_properties.htm
deleted file mode 100644 (file)
index 2ca9221..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Leash Properties Command</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="properties, Leash"> <param name="Keyword"
- value="key, Ctrl+L">
-</object>
-<h3><a name="hid_leash_properties_command"></a><b>Leash Properties\85 Command, Ctrl+L</b></h3>
-<p>
-</p>
-<p class="MsoNormal">The Leash Properties dialog, located on the
-Options menu,
-allows you to configure operational properties specific to the Leash
-application which are not accessible directly via the Options menu.</p>
-<p><br>
-<img style="width: 578px; height: 377px;" alt="Leash Properties"
- title="Leash Properties" src="..%5CImages%5CLeash_properties_leash.jpg"></p>
-<p class="MsoNormal">Here you can set a time server from which Leash
-will obtain
-the correct time.<span style="">&nbsp; </span>Leash needs the
-correct time because of the time dependencies in Kerberos tickets.<span
- style="">&nbsp; </span>When you specify a time server, Leash tries
-to get the time from that server when you next run the Synchronize Time
-command.<span style="">&nbsp; </span>The default value for the time
-server is "time".<span style="">&nbsp; </span>If access to
-a time server were to fail, Leash would notify you, and revert to the
-server
-"time".<span style="">&nbsp; </span>Whichever server
-succeeds, Leash would tell you where it found the time.<span style="">&nbsp;
-</span>See the Synchronize Time command for more
-information.</p>
-<p class="MsoNormal">
-</p>
-<p class="MsoNormal">The <b style="">Automatic MSLSA
-Ticket Importation</b> radio buttons allow you to configure how Leash
-interacts
-with the Microsoft Kerberos Authentication Provider.<span style="">&nbsp;
-</span>Leash 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.<span style="">&nbsp; </span><b style="">Never</b>
-means do not import tickets from
-the MSLSA; <b style="">Always</b> means do import
-tickets from the MSLSA; and <b style="">When MSLSA
-Principal matches Default Realm</b> means import tickets from the MSLSA
-only if
-the Kerberos principal belongs to the Kerberos Realm specified within
-the <u style="">Kerberos Properties Dialog.</u><o:p></o:p></p>
-<p class="MsoNormal"><o:p></o:p></p>
-<p class="MsoNormal">When <b>Request Kerberos 4 credentials</b> is
-checked, Leash
-will attempt to retrieve Kerberos 4 credentials when ticket
-initialization,
-renewal, or importation is performed.<span style="">&nbsp;
-</span>Leash will attempt a Kerberos 5 to Kerberos 4 conversion and if
-that
-fails an initial Kerberos 4 ticket request will be generated.<span
- style="">&nbsp; </span>Kerberos realms are increasingly configured
-to support on Kerberos 5.<span style="">&nbsp; </span>If the realms
-you use do not support Kerberos 4 it is suggested that this button be
-unchecked.</p>
-<p class="MsoNormal">The <b>Restore Leash Defaults</b> button is used
-to restore
-user configurable Leash settings to the defaults as configured either
-by the
-local machine system administrator or by the Kerberos for Windows
-distribution.<br>
-<br>
-</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_option_upper_case_realm.htm b/src/windows/leash/htmlhelp/html/leash_option_upper_case_realm.htm
deleted file mode 100644 (file)
index c4c1abe..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Upper Case Realm Name Option</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="uppercase">
-</object>
-<h3><a name="hid_uppercase_realm_option"></a><b>Upper Case Realm Name
-Option</b></h3>
-<p>
-</p>
-<p class="MsoNormal">The default for this (accessible from the Options
-menu) is
-on; when this option is selected, the Kerberos realm name that you type
-(such
-as ATHENA.MIT.EDU) is converted to upper case regardless of how you
-type it.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_about_kerberos.htm b/src/windows/leash/htmlhelp/html/leash_topic_about_kerberos.htm
deleted file mode 100644 (file)
index a71181a..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>KERBEROS</TITLE>
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
-
-<OBJECT TYPE="application/x-oleobject" CLASSID="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
-       <PARAM NAME="Keyword" VALUE="about">
-</OBJECT>
-
-<P><H2><A NAME="id_help_kerberos"></A><A NAME="hid_about_kerberos"></A>About Kerberos</H2></P>
-
-<P>In Greek myth, the three-headed dog Kerberos guarded the gates of Hades.
-These days, Kerberos is an <A
-HREF="leas6oyq.htm#id_help_authentic">authentication</A> service developed at
-MIT for open network computing environments such as MITnet. Kerberos verifies
-that you are who you claim to be by matching your username and password,
-called a Kerberos <A HREF="leash_topic_kerberos_principal.htm#id_help_principal">principal</A>, to a
-private key encryption. </P>
-
-<P>When you start an application that relies on Kerberos authentication, you
-must identify yourself by giving your Kerberos principal. The Kerberos service
-checks to make sure that your name and password match the encrypted key before
-it gives you access to the service you have requested. The security of the
-network environment is maintained by never sending your unencrypted Kerberos
-password over the network. </P>
-
-<P>To use the Athena system, you must have a Kerberos username and password.
-Some Macintosh and Windows applications at MIT that use Kerberos to
-authenticate a user's identity are Eudora, Zephyr and AFS.</P>
-
-<P><B>See Also</B></P>
-
-<P><A HREF="leash_topic_kerberos_auth_service.htm">An Authentication Service for Open Network
-Systems</A></P>
-
-<P>(This technical description of Kerberos, by Steiner, Neuman, and Schiller,
-is available via anonymous ftp from athena-dist.mit.edu,
-/pub/kerberos/doc/usenix.txt.)</P>
-
-<P><A HREF="leash_topic_kerberos_principals.htm">Kerberos: How Does the Other Guy Know Who I
-Am?</A>.</P>
-
-<P>(This basic introduction to Kerberos and definitions of Kerberos-related
-terms is available in the SIPB publication <I>An Inessential Guide to
-Athena</I>.)</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_error_57.htm b/src/windows/leash/htmlhelp/html/leash_topic_error_57.htm
deleted file mode 100644 (file)
index f765293..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Kerberos Error 57</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="error, 57">
-</object>
-<p><h2><a name="krb_unknown_realm"></a><span style="font-weight: bold;">Kerberos Error 57: Cannot contact the Kerberos server for the selected realm.</span></h2></p>
-<p>This error has three common causes:</p>
-<p>1.The realm is misspelled, e.g. pbh@AHTENA.MIT.EDU instead of
-pbh@ATHENA.MIT.EDU (realms are case sensitive).</p>
-<p>2.Your krb.con file contains an entry for ATHENA.MIT.EDU but not
-athena.mit.edu.</p>
-<p>3.The realm is missing from your KRB.CON file, which should be
-located in your \net\kerb directory. If you suspect the problem is with
-your KRB.CON file, either call the Network Help Desk, 3-4101, or copy
-the /etc/krb.conf file from a nearby UNIX workstation to your
-\net\kerb\krb.con file.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_error_62.htm b/src/windows/leash/htmlhelp/html/leash_topic_error_62.htm
deleted file mode 100644 (file)
index 41f4540..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Kerberos Error 62</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="error, 62">
-</object>
-<p><h2><a name="krb_incorr_passwd"></a><span style="font-weight: bold;">Kerberos Error 62: Password incorrect.</span></h2></p>
-<p>This means that either you have misspelled your password or you have
-gotten the case wrong. Check the state of your CAPS Lock key.</p>
-<p>Characters do not echo to the screen or cause a beep when you type
-your password so that nearby users won't be able to tell how many
-letters are in your password.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_error_8.htm b/src/windows/leash/htmlhelp/html/leash_topic_error_8.htm
deleted file mode 100644 (file)
index 5fb8846..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Kerberos Error 8</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="error, 8">
-</object>
-<p><h2><a name="krb_unknown_user"></a><span style="font-weight: bold;">Kerberos Error 8: Unknown username, instance, or realm.</span></h2></p>
-<p>This error usually occurs when the username is not known for the
-designated realm. For example, at the time of this writing, there is no
-user "zzwn" in the Athena realm, so entering zzwn as a username will
-generate this error. </p>
-<p>Check the entered username or realm name for spelling mistakes or
-the wrong case.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_error_invalid_principal.htm b/src/windows/leash/htmlhelp/html/leash_topic_error_invalid_principal.htm
deleted file mode 100644 (file)
index fa7829f..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Invalid Principle</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="error, invalid principal">
-</object>
-<p><h2><a name="lsh_invprincipal"></a><span style="font-weight: bold;">Invalid principal.</span></h2></p>
-<p>This usually means that you just clicked on the OK button or pressed
-Enter without typing your username. </p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_kerberos_auth_service.htm b/src/windows/leash/htmlhelp/html/leash_topic_kerberos_auth_service.htm
deleted file mode 100644 (file)
index 6aeb657..0000000
+++ /dev/null
@@ -1,988 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>An Authentication Service for Open Network Systems</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="Kerberos">
-</object>
-<p><b><a name="id_help_usenix88"></a><i>Kerberos</i>: An Authentication
-Service for Open Network Systems</b></p>
-<p style="text-align: center;"><i>Jennifer G. Steiner</i></p>
-<div style="text-align: center;"></div>
-<div style="text-align: center;">
-<address>Project Athena </address>
-</div>
-<div></div>
-<div style="text-align: center;">
-<address>Massachusetts Institute of Technology</address>
-</div>
-<div style="text-align: center;"></div>
-<div style="text-align: center;">
-<address>Cambridge, MA 02139 </address>
-</div>
-<div style="text-align: center;"></div>
-<div style="text-align: center;">
-<address>steiner@ATHENA.MIT.EDU</address>
-</div>
-<div style="text-align: center;"></div>
-<p style="text-align: center;"><i>Clifford Neuman</i> *</p>
-<div style="text-align: center;"></div>
-<div style="text-align: center;">
-<address>Department of Computer Science, FR-35</address>
-</div>
-<div style="text-align: center;"></div>
-<div style="text-align: center;">
-<address>University of Washington</address>
-</div>
-<div style="text-align: center;"></div>
-<div style="text-align: center;">
-<address>Seattle, WA 98195</address>
-</div>
-<div style="text-align: center;"></div>
-<div style="text-align: center;">
-<address>bcn@CS.WASHINGTON.EDU</address>
-</div>
-<div style="text-align: center;"></div>
-<p style="text-align: center;">Jeffrey I. Schiller</p>
-<div style="text-align: center;"></div>
-<div style="text-align: center;">
-<address>Project Athena</address>
-</div>
-<div style="text-align: center;"></div>
-<div style="text-align: center;">
-<address>Massachusetts Institute of Technology</address>
-</div>
-<div style="text-align: center;"></div>
-<div style="text-align: center;">
-<address>Cambridge, MA 02139</address>
-</div>
-<div style="text-align: center;"></div>
-<div style="text-align: center;">
-<address>jis@ATHENA.MIT.EDU</address>
-</div>
-<p>* Clifford Neuman was a member of the Project Athena staff during
-the design and initial implementation phase of <i>Kerberos.</i></p>
-<p></p>
-<p style="text-align: center;"><i>ABSTRACT</i></p>
-<p style="text-align: center;">In an open network computing
-environment, a workstation cannot be trusted to identify its users
-correctly to network services. <i>Kerberos</i> provides an alternative
-approach whereby a trusted third-party authentication service is used
-to verify users' identities. This paper gives an overview of the <i>Kerberos</i>
-authentication model as implemented for MIT's Project Athena. It
-describes the protocols used by clients, servers, and <i>Kerberos</i>
-to achieve authentication. It also describes the management and
-replication of the database required. The views of <i>Kerberos</i> as
-seen by the user, programmer, and administrator are described. Finally,
-the role of <i>Kerberos</i> in the larger Athena picture is given,
-along with a list of applications that presently use <i>Kerberos</i>
-for user authentication. We describe the addition of <i>Kerberos</i>
-authentication to the Sun Network File System as a case study for
-integrating <i>Kerberos</i> with an existing application.</p>
-<p><b>Introduction</b></p>
-<p>This paper gives an overview of <i>Kerberos,</i> an authentication
-system designed by Miller and Neumanfor open network computing
-environments, and describes our experience using it at MIT's Project
-Athena. In the first section of the paper, we explain why a new
-authentication model is needed for open networks, and what its
-requirements are. The second section lists the components of the <i>Kerberos</i>
-software and describes how they interact in providing the
-authentication service. In Section 3, we describe the <i>Kerberos</i>
-naming scheme.</p>
-<p>Section 4 presents the building blocks of <i>Kerberos</i>
-authentication - the <i>ticket</i> and the <i>authenticator.</i> This
-leads to a discussion of the two authentication protocols: the initial
-authentication of a user to <i>Kerberos</i> (analogous to logging in),
-and the protocol for mutual authentication of a potential consumer and
-a potential producer of a network service.</p>
-<p><i>Kerberos</i> requires a database of information about its
-clients; Section 5 describes the database, its management, and the
-protocol for its modification. Section 6 describes the <i>Kerberos</i>
-interface to its users, applications programmers, and administrators.
-In Section 7, we describe how the Project Athena <i>Kerberos</i> fits
-into the rest of the Athena environment. We also describe the
-interaction of different <i>Kerberos</i> authentication domains, or <i>realms
-;</i> in our case, the relation between the Project Athena <i>Kerberos</i>
-and the <i>Kerberos</i> running at MIT's Laboratory for Computer
-Science.</p>
-<p>In Section 8, we mention open issues and problems as yet unsolved.
-The last section gives the current status of <i>Kerberos</i> at
-Project Athena. In the appendix, we describe in detail how <i>Kerberos</i>
-is applied to a network file service to authenticate users who wish to
-gain access to remote file systems. </p>
-<p><b>Conventions.</b> Throughout this paper we use terms that may be
-ambiguous, new to the reader, or used differently elsewhere. Below we
-state our use of those terms. </p>
-<p><i>User, Client, Server.</i> By <i>user,</i> we mean a human being
-who uses a program or service. A <i>client</i> also uses something,
-but is not necessarily a person; it can be a program. Often network
-applications consist of two parts; one program which runs on one
-machine and requests a remote service, and another program which runs
-on the remote machine and performs that service. We call those the <i>client</i>
-side and <i>server</i> side of the application, respectively. Often, a
-<i>client</i> will contact a <i>server</i> on behalf of a <i>user.</i></p>
-<p>Each entity that uses the <i>Kerberos</i> system, be it a user or a
-network server, is in one sense a client, since it uses the <i>Kerberos</i>
-service. So to distinguish <i>Kerberos</i> clients from clients of
-other services, we use the term <i>principal</i> to indicate such an
-entity. Note that a <i>Kerberos</i> principal can be either a user or
-a server. (We describe the naming of <i>Kerberos</i> principals in a
-later section.) </p>
-<p><i>Service vs. Server.</i> We use <i>service</i> as an abstract
-specification of some actions to be performed. A process which performs
-those actions is called a <i>server.</i> At a given time, there may be
-several <i>servers</i> (usually running on different machines)
-performing a given <i>service.</i> For example, at Athena there is one
-BSD UNIX <i>rlog-in</i> server running on each of our timesharing
-machines. </p>
-<p><i>Key, Private Key, Password. Kerberos</i> uses private key
-encryption. Each <i>Kerberos</i> principal is assigned a large number,
-its private key, known only to that principal and <i>Kerberos.</i> In
-the case of a user, the private key is the result of a one-way function
-applied to the user's <i>password.</i> We use <i>key</i> as shorthand
-for <i>private key.</i> </p>
-<p><i>Credentials.</i> Unfortunately, this word has a special meaning
-for both the Sun Network File System and the <i>Kerberos</i> system.
-We explicitly state whether we mean NFS credentials or <i>Kerberos</i>
-credentials, otherwise the term is used in the normal English language
-sense. </p>
-<p><i>Master and Slave.</i> It is possible to run <i>Kerberos</i>
-authentication software on more than one machine. However, there is
-always only one definitive copy of the <i>Kerberos</i> database. The
-machine which houses this database is called the <i>master</i>
-machine, or just the <i>master.</i> Other machines may possess
-read-only copies of the <i>Kerberos</i> database, and these are called
-<i>slaves.</i></p>
-<p><b>1. Motivation</b></p>
-<p>In a non-networked personal computing environment, resources and
-information can be protected by physically securing the personal
-computer. In a timesharing computing environment, the operating system
-protects users from one another and controls resources. In order to
-determine what each user is able to read or modify, it is necessary for
-the timesharing system to identify each user. This is accomplished when
-the user logs in.</p>
-<p>In a network of users requiring services from many separate
-computers, there are three approaches one can take to access control:
-One can do nothing, relying on the machine to which the user is logged
-in to prevent unauthorized access; one can require the host to prove
-its identity, but trust the host's word as to who the user is; or one
-can require the user to prove her/his identity for each required
-service.</p>
-<p>In a closed environment where all the machines are under strict
-control, one can use the first approach. When the organization controls
-all the hosts communicating over the network, this is a reasonable
-approach.</p>
-<p>In a more open environment, one might selectively trust only those
-hosts under organizational control. In this case, each host must be
-required to prove its identity. The rlog-in and rsh programs use this
-approach. In those protocols, authentication is done by checking the
-Internet address from which a connection has been established.</p>
-<p>In the Athena environment, we must be able to honor requests from
-hosts that are not under organizational control. Users have complete
-control of their workstations: they can reboot them, bring them up
-standalone, or even boot off their own tapes. As such, the third
-approach must be taken; the user must prove her/his identity for each
-desired service. The server must also prove its identity. It is not
-sufficient to physically secure the host running a network server;
-someone elsewhere on the network may be masquerading as the given
-server.</p>
-<p>Our environment places several requirements on an identification
-mechanism. First, it must be secure. Circumventing it must be difficult
-enough that a potential attacker does not find the authentication
-mechanism to be the weak link. Someone watching the network should not
-be able to obtain the information necessary to impersonate another
-user. Second, it must be reliable. Access to many services will depend
-on the authentication service. If it is not reliable, the system of
-services as a whole will not be. Third, it should be transparent.
-Ideally, the user should not be aware of authentication taking place.
-Finally, it should be scalable. Many systems can communicate with
-Athena hosts. Not all of these will support our mechanism, but software
-should not break if they did.</p>
-<p>Kerberos is the result of our work to satisfy the above
-requirements. When a user walks up to a workstation s/he "logs in". As
-far as the user can tell, this initial identification is sufficient to
-prove her/his identity to all the required network servers for the
-duration of the log-in session. The security of Kerberos relies on the
-security of several authentication servers, but not on the system from
-which users log in, nor on the security of the end servers that will be
-used. The authentication server provides a properly authenticated user
-with a way to prove her/his identity to servers scattered across the
-network.</p>
-<p>Authentication is a fundamental building block for a secure
-networked environment. If, for example, a server knows for certain the
-identity of a client, it can decide whether to provide the service,
-whether the user should be given special privileges, who should receive
-the bill for the service, and so forth. In other words, authorization
-and accounting schemes can be built on top of the authentication that
-Kerberos provides, resulting in equivalent security to the lone
-personal computer or the timesharing system.</p>
-<p><b>2. What is <i>Kerberos</i> ?</b></p>
-<p><i>Kerberos</i> is a trusted third-party authentication service
-based on the model presented by Needham and Schroeder.It is trusted in
-the sense that each of its clients believes <i>Kerberos'</i> judgement
-as to the identity of each of its other clients to be accurate. Time
-stamps (large numbers representing the current date and time) have been
-added to the original model to aid in the detection of <i>replay.</i>
-Replay occurs when a message is stolen off the network and resent
-later. For a more complete description of replay, and other issues of
-authentication, see Voydock and Kent.</p>
-<p><b>2.1. What Does It Do?</b></p>
-<p><i>Kerberos</i> keeps a database of its clients and their <i>private
-keys. </i>The private key is a large number known only to <i>Kerberos</i>
-and the client it belongs to. In the case that the client is a user, it
-is an encrypted password. Network services requiring authentication
-register with <i>Kerberos,</i> as do clients wishing to use those
-services. The private keys are negotiated at registration.</p>
-<p>Because <i>Kerberos</i> knows these private keys, it can create
-messages which convince one client that another is really who it claims
-to be. <i>Kerberos</i> also generates temporary private keys, called <i>session
-keys,</i> which are given to two clients and no one else. A session key
-can be used to encrypt messages between two parties.</p>
-<p><i>Kerberos</i> provides three distinct levels of protection. The
-application programmer determines which is appropriate, according to
-the requirements of the application. For example, some applications
-require only that authenticity be established at the initiation of a
-network connection, and can assume that further messages from a given
-network address originate from the authenticated party. Our
-authenticated network file system uses this level of security.</p>
-<p>Other applications require authentication of each message, but do
-not care whether the content of the message is disclosed or not. For
-these, <i>Kerberos</i> provides <i>safe messages.</i> Yet a higher
-level of security is provided by <i>private messages,</i> where each
-message is not only authenticated, but also encrypted. Private messages
-are used, for example, by the <i>Kerberos</i> server itself for
-sending passwords over the network</p>
-<p><b>2.2. Software Components</b></p>
-<p>The Athena implementation comprises several modules (see Figure 1).
-The <i>Kerberos</i> applications library provides an interface for
-application clients and application servers. It contains, among others,
-routines for creating or reading authentication requests, and the
-routines for creating safe or private messages.<br>
-</p>
-<ul style="margin-left: 40px;">
-  <li><span style="font-style: italic;">Kerberos</span> applications
-library</li>
-  <li>encryption library</li>
-  <li>database library</li>
-  <li>database administration programs</li>
-  <li>administration server</li>
-  <li>authentication server</li>
-  <li>propogation software</li>
-  <li>user programs</li>
-  <li>applications</li>
-</ul>
-<p style="text-align: left; margin-left: 40px;"><b>Figure 1. </b>Kerberos
-Software Components</p>
-<p>Encryption in <i>Kerberos</i> is based on DES, the Data Encryption
-Standard.The encryption library implements those routines. Several
-methods of encryption are provided, with tradeoffs between speed and
-security. An extension to the DES Cypher Block Chaining (CBC) mode,
-called the Propagating CBC mode, is also provided. In CBC, an error is
-propagated only through the current block of the cipher, whereas in
-PCBC, the error is propagated throughout the message. This renders the
-entire message useless if an error occurs, rather than just a portion
-of it. The encryption library is an independent module, and may be
-replaced with other DES implementations or a different encryption
-library.</p>
-<p>Another replaceable module is the database management system. The
-current Athena implementation of the database library uses <i>ndbm,</i>
-although INGRES was originally used. Other database management
-libraries could be used as well.</p>
-<p>The <i>Kerberos</i> database needs are straightforward; a record is
-held for each principal, containing the name, private key, and
-expiration date of the principal, along with some administrative
-information. (The expiration date is the date after which an entry is
-no longer valid. It is usually set to a few years into the future at
-registration.)</p>
-<p>Other user information, such as real name, phone number, and so
-forth, is kept by another server, the <i>Hesiod</i> nameserver. This
-way, sensitive information, namely passwords, can be handled by <i>Kerberos,</i>
-using fairly high security measures; while the non-sensitive
-information kept by <i>Hesiod</i> is dealt with differently; it can,
-for example, be sent unencrypted over the network.</p>
-<p>The <i>Kerberos</i> servers use the database library, as do the
-tools for administering the database.</p>
-<p>The <i>administration server</i> (or KDBM server) provides a
-read-write network interface to the database. The client side of the
-program may be run on any machine on the network. The server side,
-however, must run on the machine housing the <i>Kerberos</i> database
-in order to make changes to the database.</p>
-<p>The <i>authentication server </i>(or <i>Kerberos</i> server), on
-the other hand, performs read-only operations on the <i>Kerberos</i>
-database, namely, the authentication of principals, and generation of
-session keys. Since this server does not modify the <i>Kerberos</i>
-database, it may run on a machine housing a read-only copy of the
-master <i>Kerberos</i> database.</p>
-<p>Database propagation software manages replication of the <i>Kerberos</i>
-database. It is possible to have copies of the database on several
-different machines, with a copy of the authentication server running on
-each machine. Each of these <i>slave</i> machines receives an update
-of the <i>Kerberos</i> database from the <i>master</i> machine at
-given intervals.</p>
-<p>Finally, there are end-user programs for logging in to <i>Kerberos,</i>
-changing a <i>Kerberos</i> password, and displaying or destroying <i>Kerberos</i>
-<i>tickets</i> (tickets are explained later on).</p>
-<p><b>3. <i>Kerberos</i> Names</b></p>
-<p>Part of authenticating an entity is naming it. The process of
-authentication is the verification that the client is the one named in
-a request. What does a name consist of? In <i>Kerberos,</i> both users
-and servers are named. As far as the authentication server is
-concerned, they are equivalent. A name consists of a primary name, an
-instance, and a realm, expressed as <i>name.instance@realm</i> (see
-Figure 2).</p>
-<p style="margin-left: 80px;">bcn</p>
-<p style="margin-left: 80px;">treese.root</p>
-<p style="margin-left: 80px;">jis@LCS.MIT.EDU</p>
-<p style="margin-left: 80px;">rlog-in.priam@ATHENA.MIT.EDU</p>
-<p style="margin-left: 40px;"><b>Figure 2.</b> <i>Kerberos</i> Names</p>
-<p>The <i>primary name</i> is the name of the user or the service. The
-<i>instance</i> is used to distinguish among variations on the primary
-name. For users, an instance may entail special privileges, such as the
-"root" or "admin" instances. For services in the Athena environment,
-the instance is usually the name of the machine on which the server
-runs. For example, the <i>rlog-in</i> service has different instances
-on different hosts: <i>rlog-in.priam</i> is the <i>rlog-in</i> server
-on the host named priam. A <i>Kerberos</i> ticket is only good for a
-single named server. As such, a separate ticket is required to gain
-access to different instances of the same service. The <i>realm</i> is
-the name of an administrative entity that maintains authentication
-data. For example, different institutions may each have their own <i>Kerberos</i>
-machine, housing a different database. They have different <i>Kerberos</i>
-realms. (Realms are discussed further in section 8.2.).</p>
-<p><b>4. How It Works</b></p>
-<p>This section describes the <i>Kerberos</i> authentication
-protocols. The following abbreviations are used in the figures.<br>
-</p>
-<div style="margin-left: 40px;">
-<pre>c&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; -&gt; &nbsp;&nbsp;  client<br>s&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; -&gt;&nbsp;&nbsp;&nbsp; &nbsp;server<br>addr &nbsp;&nbsp;  -&gt;        client's network address<br>life         -&gt;  lifetime of ticket<br>tgs, TGS -&gt;    ticket-granting ticket<br>Kerberos -&gt;        authentication server<br>KDBM    -&gt;  administration server<br>K<sub>x</sub>   -&gt;  x's private key<br>K<sub>x,y</sub>        -&gt;         session key for x and y<br>{abc}K<sub>x</sub>    -&gt;  abc encrypted in x's key<br>T<sub>x,y</sub>       -&gt; x's ticket to use y<br>A<sub>x</sub>     -&gt;  authenticator for x<br>WS        -&gt;  workstation<br></pre>
-<span style="font-weight: bold;"></span></div>
-<p>As mentioned above, the <i>Kerberos</i> authentication model is
-based on the Needham and Schroeder key distribution protocol. When a
-user requests a service, her/his identity must be established. To do
-this, a ticket is presented to the server, along with proof that the
-ticket was originally issued to the user, not stolen. There are three
-phases to authentication through <i>Kerberos.</i> In the first phase,
-the user obtains credentials to be used to request access to other
-services. In the second phase, the user requests authentication for a
-specific service. In the final phase, the user presents those
-credentials to the end server.</p>
-<p><b>4.1 Credentials</b></p>
-<p>There are two types of credentials used in the <i>Kerberos</i>
-authentication model: <i>tickets</i> and <i>authenticators.</i> Both
-are based on private key encryption, but they are encrypted using
-different keys. A ticket is used to securely pass the identity of the
-person to whom the ticket was issued between the authentication server
-and the end server. A ticket also passes information that can be used
-to make sure that the person using the ticket is the same person to
-which it was issued. The authenticator contains the additional
-information which, when compared against that in the ticket proves that
-the client presenting the ticket is the same one to which the ticket
-was issued.</p>
-<p>A ticket is good for a single server and a single client. It
-contains the name of the server, the name of the client, the Internet
-address of the client, a time stamp, a lifetime, and a random session
-key. This information is encrypted using the key of the server for
-which the ticket will be used. Once the ticket has been issued, it may
-be used multiple times by the named client to gain access to the named
-server, until the ticket expires. Note that because the ticket is
-encrypted in the key of the server, it is safe to allow the user to
-pass the ticket on to the server without having to worry about the user
-modifying the ticket (see Figure 3).<br>
-</p>
-<p style="margin-left: 40px;">{s, c, addr, timestamp, life, K<sub>s,c</sub>}
-K<sub>s</sub><br>
-</p>
-<p style="margin-left: 40px;"><b>Figure 3.</b> Kerberos Ticket.</p>
-<p>Unlike the ticket, the authenticator can only be used once. A new
-one must be generated each time a client wants to use a service. This
-does not present a problem because the client is able to build the
-authenticator itself. An authenticator contains the name of the client,
-the workstation's IP address, and the current workstation time. The
-authenticator is encrypted in the session key that is part of the
-ticket (see Figure 4).</p>
-<div style="margin-left: 40px;">{ c, addr, timestamp } K<sub>s,c</sub><br>
-</div>
-<p style="margin-left: 40px;"><b>Figure 4.</b> A <i>Kerberos</i>
-Authenticator</p>
-<p><b>4.2. Getting the Initial Ticket</b></p>
-<p>When the user walks up to a workstation, only one piece of
-information can prove her/his identity: the user's password. The
-initial exchange with the authentication server is designed to minimize
-the chance that the password will be compromised, while at the same
-time not allowing a user to properly authenticate her/himself without
-knowledge of that password. The process of logging in appears to the
-user to be the same as logging in to a timesharing system. Behind the
-scenes, though, it is quite different (see Figure 5).</p>
-<p style="margin-left: 40px;"><b><img
- style="width: 447px; height: 170px;" alt=""
- src="../Images/Kerberos_auth_serv_fig_5.jpg"><br>
-Figure 5.</b> Getting the Initial Ticket.</p>
-<p>The user is prompted for her/his username. Once it has been entered,
-a request is sent to the authentication server containing the user's
-name and the name of a special service known as the <i>ticket-granting
-service.</i></p>
-<p>The authentication server checks that it knows about the client. If
-so, it generates a random session key which will later be used between
-the client and the ticket-granting server. It then creates a ticket for
-the ticket-granting server which contains the client's name, the name
-of the ticket-granting server, the current time, a lifetime for the
-ticket, the client's IP address, and the random session key just
-created. This is all encrypted in a key known only to the
-ticket-granting server and the authentication server.</p>
-<p>The authentication server then sends the ticket, along with a copy
-of the random session key and some additional information, back to the
-client. This response is encrypted in the client's private key, known
-only to <i>Kerberos</i> and the client, which is derived from the
-user's password.</p>
-<p>Once the response has been received by the client, the user is asked
-for her/his password. The password is converted to a DES key and used
-to decrypt the response from the authentication server. The ticket and
-the session key, along with some of the other information, are stored
-for future use, and the user's password and DES key are erased from
-memory.</p>
-<p>Once the exchange has been completed, the workstation possesses
-information that it can use to prove the identity of its user for the
-lifetime of the ticket-granting ticket. As long as the software on the
-workstation had not been previously tampered with, no information
-exists that will allow someone else to impersonate the user beyond the
-life of the ticket.</p>
-<p><b>4.3. Requesting a Service</b></p>
-<p>For the moment, let us pretend that the user already has a ticket
-for the desired server. In order to gain access to the server, the
-application builds an authenticator containing the client's name and IP
-address, and the current time. The authenticator is then encrypted in
-the session key that was received with the ticket for the server. The
-client then sends the authenticator along with the ticket to the server
-in a manner defined by the individual application.</p>
-<p>Once the authenticator and ticket have been received by the server,
-the server decrypts the ticket, uses the session key included in the
-ticket to decrypt the authenticator, compares the information in the
-ticket with that in the authenticator, the IP address from which the
-request was received, and the present time. If everything matches, it
-allows the request to proceed (see Figure 6).</p>
-<p style="margin-left: 40px;"><b><img
- style="width: 434px; height: 101px;" alt=""
- src="..%5CImages%5CKerberos_auth_serv_fig_6.jpg"><br>
-Figure 6.</b> Requesting a Service</p>
-<p>It is assumed that clocks are synchronized to within several
-minutes. If the time in the request is too far in the future or the
-past, the server treats the request as an attempt to replay a previous
-request. The server is also allowed to keep track of all past requests
-with time stamps that are still valid. In order to further foil replay
-attacks, a request received with the same ticket and time stamp as one
-already received can be discarded.</p>
-<p>Finally, if the client specifies that it wants the server to prove
-its identity too, the server adds one to the time stamp the client sent
-in the authenticator, encrypts the result in the session key, and sends
-the result back to the client (see Figure 7).</p>
-<p style="margin-left: 40px;"><b><img
- style="width: 421px; height: 108px;" alt=""
- src="..%5CImages%5CKerberos_auth_serv_fig_7.jpg"><br>
-Figure 7.</b> Mutual Authentication</p>
-<p>At the end of this exchange, the server is certain that, according
-to <i>Kerberos,</i> the client is who it says it is. If mutual
-authentication occurs, the client is also convinced that the server is
-authentic. Moreover, the client and server share a key which no one
-else knows, and can safely assume that a reasonably recent message
-encrypted in that key originated with the other party.</p>
-<p><b>4.4 Getting Server Tickets</b></p>
-<p>Recall that a ticket is only good for a single server. As such, it
-is necessary to obtain a separate ticket for each service the client
-wants to use. Tickets for individual servers can be obtained from the
-ticket-granting service. Since the ticket-granting service is itself a
-service, it makes use of the service access protocol described in the
-previous section.</p>
-<p>When a program requires a ticket that has not already been
-requested, it sends a request to the ticket-granting server (see Figure
-8). The request contains the name of the server for which a ticket is
-requested, along with the ticket-granting ticket and an authenticator
-built as described in the previous section.</p>
-<p style="margin-left: 40px;"><b><img
- style="width: 482px; height: 183px;" alt=""
- src="..%5CImages%5CKerberos_auth_serv_fig_8.jpg"><br>
-Figure 8.</b> Getting a Server Ticket</p>
-<p>The ticket-granting server then checks the authenticator and
-ticket-granting ticket as described above. If valid, the
-ticket-granting server generates a new random session key to be used
-between the client and the new server. It then builds a ticket for the
-new server containing the client's name, the server name, the current
-time, the client's IP address and the new session key it just
-generated. The lifetime of the new ticket is the minimum of the
-remaining life for the ticket-granting ticket and the default for the
-service.</p>
-<p>The ticket-granting server then sends the ticket, along with the
-session key and other information, back to the client. This time,
-however, the reply is encrypted in the session key that was part of the
-ticket-granting ticket. This way, there is no need for the user to
-enter her/his password again. Figure 9 summarizes the authentication
-protocols.</p>
-<p></p>
-<p style="margin-left: 40px;"><b><img
- style="width: 702px; height: 334px;" alt=""
- src="..%5CImages%5CKerberos_auth_serv_fig_9.jpg"><br>
-Figure 9. </b><i>Kerberos</i> Authentication Protocols.</p>
-<p><b>5. <i>Kerberos</i> Database</b></p>
-<p>Up to this point, we have discussed operations requiring read-only
-access to the <i>Kerberos</i> database. These operations are performed
-by the authentication service, which can run on both master and slave
-machines (see Figure 10).</p>
-<p style="margin-left: 40px;"><b><img
- style="width: 416px; height: 271px;" alt=""
- src="..%5CImages%5CKerberos_auth_serv_fig_10.jpg"><br>
-Figure 10.</b> Authentication Requests.</p>
-<p>In this section, we discuss operations that require write access to
-the database. These operations are performed by the administration
-service, called the <i>Kerberos</i> Database Management Service <i>(KDBM).</i>
-The current implementation stipulates that changes may only be made to
-the master <i>Kerberos</i> database; slave copies are read-only.
-Therefore, the KDBM server may only run on the master <i>Kerberos</i>
-machine (see Figure 11).</p>
-<p style="margin-left: 40px;"><b><img
- style="width: 401px; height: 273px;" alt=""
- src="..%5CImages%5CKerberos_auth_serv_fig_11.jpg"><br>
-Figure 11.</b> Administration Requests</p>
-<p>Note that, while authentication can still occur (on slaves),
-administration requests cannot be serviced if the master machine is
-down. In our experience, this has not presented a problem, as
-administration requests are infrequent.</p>
-<p>The KDBM handles requests from users to change their passwords. The
-client side of this program, which sends requests to the KDBM over the
-network, is the <i>kpasswd</i> program. The KDBM also accepts requests
-from <i>Kerberos</i> administrators, who may add principals to the
-database, as well as change passwords for existing principals. The
-client side of the administration program, which also sends requests to
-the KDBM over the network, is the <i>kadmin</i> program.</p>
-<p><b>5.1. The KDBM Server</b></p>
-<p>The KDBM server accepts requests to add principals to the database
-or change the passwords for existing principals. This service is unique
-in that the ticket-granting service will not issue tickets for it.
-Instead, the authentication service itself must be used (the same
-service that is used to get a ticket-granting ticket). The purpose of
-this is to require the user to enter a password. If this were not so,
-then if a user left her/his workstation unattended, a passerby could
-walk up and change her/his password for them, something which should be
-prevented. Likewise, if an administrator left her/his workstation
-unguarded, a passerby could change any password in the system.</p>
-<p>When the KDBM server receives a request, it authorizes it by
-comparing the authenticated principal name of the requester of the
-change to the principal name of the target of the request. If they are
-the same, the request is permitted. If they are not the same, the KDBM
-server consults an access control list (stored in a file on the master <i>Kerberos</i>
-system). If the requester's principal name is found in this file, the
-request is permitted, otherwise it is denied.</p>
-<p>By convention, names with a. <b>NULL</b> instance (the default
-instance) do not appear in the access control list file; instead, an <b>admin</b>
-instance is used. Therefore, for a user to become an administrator of <i>Kerberos</i>
-an <b>admin</b> instance for that username must be created, and added
-to the access control list. This convention allows an administrator to
-use a different password for <i>Kerberos</i> administration then s/he
-would use for normal log-in.</p>
-<p>All requests to the KDBM program, whether permitted or denied, are
-logged.</p>
-<p><b>5.2. The <i>kadmin</i> and <i>kpasswd</i> Programs</b></p>
-<p>Administrators of <i>Kerberos</i> use the <i>kadmin</i> program to
-add principals to the database, or change the passwords of existing
-principals. An administrator is required to enter the password for
-their <i>admin</i> instance name when they invoke the <i>kadmin</i>
-program. This password is used to fetch a ticket for the KDBM server
-(see Figure 12).</p>
-<p></p>
-<p style="margin-left: 40px;"><b><img
- style="width: 642px; height: 304px;" alt=""
- src="..%5CImages%5CKerberos_auth_serv_fig_12.jpg"><br>
-Figure 12.</b> Kerberos Administration Protocol.</p>
-<p>Users may change their <i>Kerberos</i> passwords using the <i>kpasswd</i>
-program. They are required to enter their old password when they invoke
-the program. This password is used to fetch a ticket for the KDBM
-server.</p>
-<p><b>5.3. Database Replication</b></p>
-<p>Each <i>Kerberos</i> realm has a <i>master</i> <i>Kerberos</i>
-machine, which houses the master copy of the authentication database.
-It is possible (although not necessary) to have additional, read-only
-copies of the database on <i>slave</i> machines elsewhere in the
-system. The advantages of having multiple copies of the database are
-those usually cited for replication: higher availability and better
-performance. If the master machine is down, authentication can still be
-achieved on one of the slave machines. The ability to perform
-authentication on any one of several machines reduces the probability
-of a bottleneck at the master machine.</p>
-<p>Keeping multiple copies of the database introduces the problem of
-data consistency. We have found that very simple methods suffice for
-dealing with inconsistency. The master database is dumped every hour.
-The database is sent, in its entirety, to the slave machines, which
-then update their own databases. A program on the master host, called <i>kprop,</i>
-sends the update to a peer program, called <i>kpropd,</i> running on
-each of the slave machines (see Figure 13). First <i>kprop</i> sends a
-checksum of the new database it is about to send. The checksum is
-encrypted in the <i>Kerberos</i> master database key, which both the
-master and slave <i>Kerberos</i> machines possess. The data is then
-transferred over the network to the <i>kpropd</i> on the slave
-machine. The slave propagation server calculates a checksum of the data
-it has received, and if it matches the checksum sent by the master, the
-new information is used to update the slave's database.</p>
-<p style="margin-left: 40px;"><b><img
- style="width: 387px; height: 247px;" alt=""
- src="..%5CImages%5CKerberos_auth_serv_fig_13.jpg"><br>
-Figure 13. </b>Database Propagation</p>
-<p>All passwords in the <i>Kerberos</i> database are encrypted in the
-master database key Therefore, the information passed from master to
-slave over the network is not useful to an eavesdropper. However, it is
-essential that only information from the master host be accepted by the
-slaves, and that tampering of data be detected, thus the checksum.</p>
-<p><b>6. <i>Kerberos</i> From the Outside Looking In</b></p>
-<p>The section will describe <i>Kerberos</i> from the practical point
-of view, first as seen by the user, then from the application
-programmer's viewpoint, and finally, through the tasks of the <i>Kerberos</i>
-administrator.</p>
-<p><b>6.1. User's Eye View</b></p>
-<p>If all goes well, the user will hardly notice that <i>Kerberos</i>
-is present. In our UNIX implementation, the ticket-granting ticket is
-obtained from <i>Kerberos</i> as part of the <i>log-in</i> process.
-The changing of a user's <i>Kerberos</i> password is part of the <i>passwd</i>
-program. And <i>Kerberos</i> tickets are automatically destroyed when
-a user logs out.</p>
-<p>If the user's log-in session lasts longer than the lifetime of the
-ticket-granting ticket (currently 8 hours), the user will notice <i>Kerberos'</i>
-presence because the next time a <i>Kerberos -authenticated</i>
-application is executed, it will fail. The <i>Kerberos</i> ticket for
-it will have expired. At that point, the user can run the <i>kinit</i>
-program to obtain a new ticket for the ticket-granting server. As when
-logging in, a password must be provided in order to get it. A user
-executing the <i>klist</i> command out of curiosity may be surprised
-at all the tickets which have silently been obtained on her/his behalf
-for services which require <i>Kerberos</i> authentication.</p>
-<p><b>6.2. From the Programmer's Viewpoint</b></p>
-<p>A programmer writing a <i>Kerberos</i> application will often be
-adding authentication to an already existing network application
-consisting of a client and server side. We call this process
-"Kerberizing" a program. Kerberizing usually involves making a call to
-the <i>Kerberos</i> library in order to perform authentication at the
-initial request for service. It may also involve calls to the DES
-library to encrypt messages and data which are subsequently sent
-between application client and application server.</p>
-<p>The most commonly used library functions are <i>krb_mk_req</i> on
-the client side, and <i>krb_rd_req</i> on the server side. The <i>krb_mk_req</i>
-routine takes as parameters the name, instance, and realm of the target
-server, which will be requested, and possibly a checksum of the data to
-be sent. The client then sends the message returned by the <i>krb_mk_req</i>
-call over the network to the server side of the application. When the
-server receives this message, it makes a call to the library routine <i>krb_rd_req.</i>
-The routine returns a judgement about the authenticity of the sender's
-alleged identity.</p>
-<p>If the application requires that messages sent between client and
-server be secret, then library calls can be made to <i>krb_mk_priv
-(krb_rd_priv)</i> to encrypt (decrypt) messages in the session key
-which both sides now share.</p>
-<p><b>6.3. The <i>Kerberos</i> Administrator's Job</b></p>
-<p>The <i>Kerberos</i> administrator's job begins with running a
-program to initialize the database. Another program must be run to
-register essential principals in the database, such as the <i>Kerberos</i>
-administrator's name with an <b>admin </b>instance. The <i>Kerberos</i>
-authentication server and the administration server must be started up.
-If there are slave databases, the administrator must arrange that the
-programs to propagate database updates from master to slaves be kicked
-off periodically.</p>
-<p>After these initial steps have been taken, the administrator
-manipulates the database over the network, using the <i>kadmin</i>
-program. Through that program, new principals can be added, and
-passwords can be changed.</p>
-<p>In particular, when a new <i>Kerberos</i> application is added to
-the system, the <i>Kerberos</i> administrator must take a few steps to
-get it working. The server must be registered in the database, and
-assigned a private key (usually this is an automatically generated
-random key). Then, some data (including the server's key) must be
-extracted from the database and installed in a file on the server's
-machine. The default file is <i>/etc/srvtab.</i> The <i>krb_rd_req</i>
-library routine called by the server (see the previous section) uses
-the information in that file to decrypt messages sent encrypted in the
-server's private key. The <i>/etc/srvtab</i> file authenticates the
-server as a password typed at a terminal authenticates the user.</p>
-<p>The <i>Kerberos</i> administrator must also ensure that <i>Kerberos</i>
-machines are physically secure, and would also be wise to maintain
-backups of the Master database.</p>
-<p><b>7. The Bigger Picture</b></p>
-<p>In this section, we describe how <i>Kerberos</i> fits into the
-Athena environment, including its use by other network services and
-applications, and how it interacts with remote <i>Kerberos</i> realms.
-For a more complete description of the Athena environment, please see
-G. W. Treese.</p>
-<p><b>7.1. Other Network Services' Use of <i>Kerberos</i></b></p>
-<p>Several network applications have been modified to use <i>Kerberos.</i>
-The <i>rlog-in</i> and <i>rsh</i> commands first try to authenticate
-using <i>Kerberos.</i> A user with valid <i>Kerberos</i> tickets can
-rlog-in to another Athena machine without having to set up.<i>rhosts</i>
-files. If the <i>Kerberos</i> authentication fails, the programs fall
-back on their usual methods of authorization, in this case, the.<i>rhosts</i>
-files.</p>
-<p>We have modified the Post Office Protocol to use <i>Kerberos</i>
-for authenticating users who wish to retrieve their electronic mail
-from the "post office". A message delivery program, called <i>Zephyr,</i>
-has been recently developed at Athena, and it uses <i>Kerberos</i> for
-authentication as well.</p>
-<p>The program for signing up new users, called <i>register,</i> uses
-both the Service Management System (SMS) and <i>Kerberos.</i> From
-SMS, it determines whether the information entered by the would-be new
-Athena user, such as name and MIT identification number, is valid. It
-then checks with <i>Kerberos</i> to see if the requested username is
-unique. If all goes well, a new entry is made to the <i>Kerberos</i>
-database, containing the username and password.</p>
-<p>For a detailed discussion of the use of <i>Kerberos</i> to secure
-Sun's Network File System, please refer to the appendix..</p>
-<p><b>7.2. Interaction with Other Kerberi</b></p>
-<p>It is expected that different administrative organizations will want
-to use <i>Kerberos</i> for user authentication. It is also expected
-that in many cases, users in one organization will want to use services
-in another. <i>Kerberos</i> supports multiple administrative domains.
-The specification of names in <i>Kerberos</i> includes a field called
-the <i>realm.</i> This field contains the name of the administrative
-domain within which the user is to be authenticated.</p>
-<p>Services are usually registered in a single realm and will only
-accept credentials issued by an authentication server for that realm. A
-user is usually registered in a single realm (the local realm), but it
-is possible for her/him to obtain credentials issued by another realm
-(the remote realm), on the strength of the authentication provided by
-the local realm. Credentials valid in a remote realm indicate the realm
-in which the user was originally authenticated. Services in the remote
-realm can choose whether to honor those credentials, depending on the
-degree of security required and the level of trust in the realm that
-initially authenticated the user.</p>
-<p>In order to perform cross-realm authentication, it is necessary that
-the administrators of each pair of realms select a key to be shared
-between their realms. A user in the local realm can then request a
-ticket-granting ticket from the local authentication server for the
-ticket-granting server in the remote realm. When that ticket is used,
-the remote ticket-granting server recognizes that the request is not
-from its own realm, and it uses the previously exchanged key to decrypt
-the ticket-granting ticket. It then issues a ticket as it normally
-would, except that the realm field for the client contains the name of
-the realm in which the client was originally authenticated.</p>
-<p>This approach could be extended to allow one to authenticate oneself
-through a series of realms until reaching the realm with the desired
-service. In order to do this, though, it would be necessary to record
-the entire path that was taken, and not just the name of the initial
-realm in which the user was authenticated. In such a situation, all
-that is known by the server is that A says that B says that C says that
-the user is so-and-so. This statement can only be trusted if everyone
-along the path is also trusted.</p>
-<p><b>8. Issues and Open Problems</b></p>
-<p>There are a number of issues and open problems associated with the <i>Kerberos</i>
-authentication mechanism. Among the issues are how to decide the
-correct lifetime for a ticket, how to allow proxies, and how to
-guarantee workstation integrity.</p>
-<p>The ticket lifetime problem is a matter of choosing the proper
-tradeoff between security and convenience. If the life of a ticket is
-long, then if a ticket and its associated session key are stolen or
-misplaced, they can be used for a longer period of time. Such
-information can be stolen if a user forgets to log out of a public
-workstation. Alternatively, if a user has been authenticated on a
-system that allows multiple users, another user with access to root
-might be able to find the information needed to use stolen tickets. The
-problem with giving a ticket a short lifetime, however, is that when it
-expires, the user will have to obtain a new one which requires the user
-to enter the password again.</p>
-<p>An open problem is the proxy problem. How can an authenticated user
-allow a server to acquire other network services on her/his behalf? An
-example where this would be important is the use of a service that will
-gain access to protected files directly from a fileserver. Another
-example of this problem is what we call <i>authentication forwarding.</i>
-If a user is logged into a workstation and logs in to a remote host, it
-would be nice if the user had access to the same services available
-locally, while running a program on the remote host. What makes this
-difficult is that the user might not trust the remote host, thus
-authentication forwarding is not desirable in all cases. We do not
-presently have a solution to this problem.</p>
-<p>Another problem, and one that is important in the Athena
-environment, is how to guarantee the integrity of the software running
-on a workstation. This is not so much of a problem on private
-workstations since the user that will be using it has control over it.
-On public workstations, however, someone might have come along and
-modified the <i>log-in</i> program to save the user's password. The
-only solution presently available in our environment is to make it
-difficult for people to modify software running on the public
-workstations. A better solution would require that the user's key never
-leave a system that the user knows can be trusted. One way this could
-be done would be if the user possessed a <i>smartcard</i> capable of
-doing the encryptions required in the authentication protocol.</p>
-<p><b>9. Status</b></p>
-<p>A prototype version of <i>Kerberos</i> went into production in
-September of 1986. Since January of 1987, <i>Kerberos</i> has been
-Project Athena's sole means of authenticating its 5,000 users, 650
-workstations, and 65 servers. In addition, <i>Kerberos</i> is now
-being used in place of.<i>rhosts</i> files for controlling access in
-several of Athena's timesharing systems.</p>
-<p><b>10. Acknowledgments</b></p>
-<p><i>Kerberos</i> was initially designed by Steve Miller and Clifford
-Neuman with suggestions from Jeff Schiller and Jerry Saltzer. Since
-that time, numerous other people have been involved with the project.
-Among them are Jim Aspnes, Bob Baldwin, John Barba, Richard Basch, Jim
-Bloom, Bill Bryant, Mark Colan, Rob French, Dan Geer, John Kohl, John
-Kubiatowicz, Bob Mckie, Brian Murphy, John Ostlund Ken Raeburn, Chris
-Reed, Jon Rochlis, Mike Shanzer, Bill Sommerfeld, Ted T'so, Win Treese,
-and Stan Zanarotti.</p>
-<p>We are grateful to Dan Geer, Kathy Lieben, Josh Lubarr, Ken Raeburn,
-Jerry Saltzer, Ed Steiner, Robbert van Renesse, and Win Treese whose
-suggestions much improved earlier drafts of this paper.</p>
-<p>The illustration on the title page is by Betsy Bruemmer.</p>
-<p><b>Appendix</b></p>
-<p><b><i>Kerberos</i> Application to Sun's Network File System (NFS)</b></p>
-<p>A key component of the Project Athena workstation system is the
-interposing of the network between the user's workstation and her/his
-private file storage (home directory). All private storage resides on a
-set of computers (currently VAX 11/750s) that are dedicated to this
-purpose. This allows us to offer services on publicly available UNIX
-workstations. When a user logs in to one of these publicly available
-workstations, rather then validate her/his name and password against a
-locally resident password file, we use <i>Kerberos</i> to determine
-her/his authenticity. The <i>log-in</i> program prompts for a username
-(as on any UNIX system). This username is used to fetch a <i>Kerberos</i>
-ticket-granting ticket. The <i>log-in</i> program uses the password to
-generate a DES key for decrypting the ticket. If decryption is
-successful, the user's home directory is located by consulting the <i>Hesiod</i>
-naming service and mounted through NFS. The <i>log-in</i> program then
-turns control over to the user's shell, which then can run the
-traditional per-user customization files because the home directory is
-now "attached" to the workstation. The <i>Hesiod</i> service is also
-used to construct an entry in the local password file. (This is for the
-benefit of programs that look up information in <i>/etc/passwd.)</i></p>
-<p>From several options for delivery of remote file service, we chose
-Sun's Network File System. However this system fails to mesh with our
-needs in a crucial way. NFS assumes that all workstations fall into two
-categories (as viewed from a file server's point of view): trusted and
-untrusted. Untrusted systems cannot access any files at all, trusted
-can. Trusted systems are completely trusted. It is assumed that a
-trusted system is managed by friendly management. Specifically, it is
-possible from a trusted workstation to masquerade as any valid user of
-the file service system and thus gain access to just about every file
-on the system. (Only files owned by "root" are exempted.).</p>
-<p>In our environment, the management of a workstation (in the
-traditional sense of UNIX system management) is in the hands of the
-user currently using it. We make no secret of the root password on our
-workstations, as we realize that a truly unfriendly user can break in
-by the very fact that s/he is sitting in the same physical location as
-the machine and has access to all console functions. Therefore we
-cannot truly trust our workstations in the NFS interpretation of trust.
-To allow proper access controls in our environment we had to make some
-modifications to the base NFS software, and integrate <i>Kerberos</i>
-into the scheme.</p>
-<p><b>Unmodified NFS</b></p>
-<p>In the implementation of NFS that we started with (from the
-University of Wisconsin), authentication was provided in the form of a
-piece of data included in each NFS request (called a "credential" in
-NFS terminology). This credential contains information about the unique
-user identifier (UID) of the requester and a list of the group
-identifiers (GIDs) of the requester's membership. This information is
-then used by the NFS server for access checking. The difference between
-a trusted and a non-trusted workstation is whether or not its
-credentials are accepted by the NFS server.</p>
-<p><b>Modified NFS</b></p>
-<p>In our environment, NFS servers must accept credentials from a
-workstation if and only if the credentials indicate the UID of the
-workstation's user, and no other.</p>
-<p>One obvious solution would be to change the nature of credentials
-from mere indicators of UID and GIDs to full blown <i>Kerberos</i>
-authenticated data. However a significant performance penalty would be
-paid if this solution were adopted. Credentials are exchanged on every
-NFS operation including all disk read and write activities. Including a
-<i>Kerberos</i> authentication on each disk transaction would add a
-fair number of full-blown encryptions (done in software) per
-transaction and, according to our envelope calculations, would have
-delivered unacceptable performance. (It would also have required
-placing the <i>Kerberos</i> library routines in the kernel address
-space.)</p>
-<p>We needed a hybrid approach, described below. The basic idea is to
-have the NFS server map credentials received from client workstations,
-to a valid (and possibly different) credential on the server system.
-This mapping is performed in the server's kernel on each NFS
-transaction and is setup at "mount" time by a user-level process that
-engages in <i>Kerberos -</i> moderated authentication prior to
-establishing a valid kernel credential mapping.</p>
-<p>To implement this we added a new system call to the kernel (required
-only on server systems, not on client systems) that provides for the
-control of the mapping function that maps incoming credentials from
-client workstations to credentials valid for use on the server (if
-any). The basic mapping function maps the tuple:</p>
-<p>&lt;CLIENT-IP-ADDRESS, UID-ON-CLIENT&gt;</p>
-<p>to a valid NFS credential on the server system. The
-CLIENT-IP-ADDRESS is extracted from the NFS request packet and the
-UID-ON-CLIENT is extracted from the credential supplied by the client
-system. Note: all information in the client-generated credential except
-the UID-ON-CLIENT is discarded.</p>
-<p>If no mapping exists, the server reacts in one of two ways,
-depending it is configured. In our friendly configuration we default
-the unmappable requests into the credentials for the user "nobody" who
-has no privileged access and has a unique UID. Unfriendly servers
-return an NFS access error when no valid mapping can be found for an
-incoming NFS credential.</p>
-<p>Our new system call is used to add and delete entries from the
-kernel resident map. It also provides the ability to flush all entries
-that map to a specific UID on the server system, or flush all entries
-from a given CLIENT-IP-ADDRESS.</p>
-<p>We modified the mount daemon (which handles NFS mount requests on
-server systems) to accept a new transaction type, the <i>Kerberos</i>
-authentication mapping request. Basically, as part of the mounting
-process, the client system provides a <i>Kerberos</i> authenticator
-along with an indication of her/his UID-ON-CLIENT (encrypted in the <i>Kerberos</i>
-authenticator) on the workstation. The server's mount daemon converts
-the <i>Kerberos</i> principal name into a local username. This
-username is then looked up in a special file to yield the user's UID
-and GIDs list. For efficiency, this file is a <i>ndbm</i> database
-file with the username as the key. From this information, an NFS
-credential is constructed and handed to the kernel as the valid mapping
-of the &lt;CLIENT-IP-ADDRESS, CLIENT-UID&gt; tuple for this request.</p>
-<p>At unmount time a request is sent to the mount daemon to remove the
-previously added mapping from the kernel. It is also possible to send a
-request at log-out time to invalidate all mapping for the current user
-on the server in question, thus cleaning up any remaining mappings that
-exist (though they shouldn't) before the workstation is made available
-for the next user.</p>
-<p><b>Security Implications of the Modified NFS</b></p>
-<p>This implementation is not completely secure. For starters, user
-data is still sent across the network in an unencrypted, and therefore
-interceptable, form. The low-level, per-transaction authentication is
-based on a &lt;CLIENT-IP-ADDRESS, CLIENT-UID&gt; pair provided
-unencrypted in the request packet. This information could be forged and
-thus security compromised. However, it should be noted that only while
-a user is actively using her/his files (i.e., while logged in) are
-valid mappings in place and therefore this form of attack is limited to
-when the user in question is logged in. When a user is not logged in,
-no amount of IP address forgery will permit unauthorized access to
-her/his files.</p>
-<p><b>References</b></p>
-<p>1.S. P. Miller, B. C. Neuman, J. I. Schiller, and J. H. Saltzer, <i>Section
-E.2.1: Kerberos Authentication and Authorization System</i>, M.I.T.
-Project Athena, Cambridge, Massachusetts (December 21, 1987). </p>
-<p>2.E. Balkovich, S. R. Lerman, and R. P. Parmelee, "Computing in
-Higher Education: The Athena Experience," <i>Communications of the ACM.</i>
-<b>28</b>(11), pp. 1214-1224, ACM (November, 1985).</p>
-<p>3.R. M. Needham and M. D. Schroeder, "Using Encryption for
-Authentication in Large Networks of Computers," <i>Communications of
-the ACM</i> <b>21</b>(12), pp. 993-999 (December, 1978). </p>
-<p>4.V. L. Voydock and S. T. Kent, "Security Mechanisms in High-Level
-Network Protocols," <i>Computing Surveys</i> <b>15</b>(2), ACM (June
-1983).</p>
-<p>5.National Bureau of Standards, "Data Encryption Standard," Federal
-Information Processing Standards Publication 46, Government Printing
-Office, Washington, D.C. (1977). </p>
-<p>6.S. P. Dyer, "Hesiod," in <i>Usenix Conference Proceedings</i>
-(Winter, 1988). </p>
-<p>7.W. J. Bryant, <i>Kerberos Programmer's Tutorial</i>, M.I.T.
-Project Athena (In preparation). </p>
-<p>8.W. J. Bryant, <i>Kerberos Administrator's Manual</i>, M.I.T.
-Project Athena (In preparation).</p>
-<p>9.G. W. Treese, "Berkeley Unix on 1000 Workstations: Athena Changes
-to 4.3BSD," in <i>Usenix Conference Proceedings</i> (Winter, 1988)</p>
-<p>10.C. A. DellaFera, M. W. Eichin, R. S. French, D. C. Jedlinsky, J.
-T. Kohl, and W. E. Sommerfeld, "The Zephyr Notification System," in <i>Usenix
-Conference Proceedings</i> (Winter, 1988).</p>
-<p>11.M. A. Rosenstein, D. E. Geer, and P. J. Levine, in <i>Usenix
-Conference Proceedings</i> (Winter, 1988).</p>
-<p>12.R. Sandberg, D. Goldberg, S. Kleiman, D. Walsh, and B. Lyon,
-"Design and Implementation of the Sun Network Filesystem," in <i>Usenix
-Conference Proceedings </i>(Summer, 1985).</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_kerberos_command_prompt.htm b/src/windows/leash/htmlhelp/html/leash_topic_kerberos_command_prompt.htm
deleted file mode 100644 (file)
index 5d1eed6..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>Using Kerberos in a Command Prompt Environment</TITLE>
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
-
-<OBJECT TYPE="application/x-oleobject" CLASSID="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
-       <PARAM NAME="Keyword" VALUE="DOS commands">
-</OBJECT>
-
-<P><H2><A NAME="id_help_dos_kerberos"></A>Using Kerberos in a Command Prompt Environment</H2></P>
-
-<P>Command Prompt commands that are available to perform Kerberos functions</P>
-
-<P><A HREF="leash_manpage_kinit.htm">KINIT</A> - Kerberos log-in utility</P>
-
-<P><A HREF="leash_manpage_klist.htm">KLIST</A> - list currently held Kerberos tickets</P>
-
-<P><A HREF="leash_manpage_kdestroy.htm">KDESTROY</A> - destroy Kerberos tickets</P>
-
-<P><A HREF="leash_manpage_ms2mit.htm">MS2MIT</A> - import Kerberos tickets from Windows Logon Session</P>
-
-<P><A HREF="leash_manpage_aklog.htm">AKLOG</A> - obtain AFS tokens</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_kerberos_help_topics.htm b/src/windows/leash/htmlhelp/html/leash_topic_kerberos_help_topics.htm
deleted file mode 100644 (file)
index 6696ffe..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Leash Program</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="Kerberos Help Topics">
-</object>
-<p></p>
-<h1><b>Kerberos Help Topics</b></h1>
-<p></p>
-<p><a href="leash_topic_about_kerberos.htm">About Kerberos</a></p>
-<p><a href="leash_topic_kerberos_names.htm">Kerberos Names</a></p>
-<p><a href="leash_topic_kerberos_tickets.htm">Kerberos Tickets</a></p>
-<p><a href="leash_topic_kerberos_command_prompt.htm">Using Kerberos in
-a Command Prompt Environment</a></p>
-<p><a href="leash_kerberos_copyright.htm">Kerberos Copyright</a></p>
-<p><a href="leash_export.htm">Kerberos Export Restrictions and Source
-Code Access</a></p>
-<p><a href="leash_topic_timing_issues.htm">Kerberos Timing Issues</a></p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_kerberos_names.htm b/src/windows/leash/htmlhelp/html/leash_topic_kerberos_names.htm
deleted file mode 100644 (file)
index 64a512b..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>Kerberos Names</TITLE>
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
-
-<OBJECT TYPE="application/x-oleobject" CLASSID="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
-       <PARAM NAME="Keyword" VALUE="names">
-</OBJECT>
-
-<P><H2><A NAME="id_help_names"></A>Kerberos Names</H2></P>
-
-<P>A Kerberos name contains three parts. The first is the principal name, which is usually a user's or service's name. The second is the instance, which in the case of a user is usually null. Some users may have privileged instances, however, such as "root" or "admin." In the case of a service, the instance is the name of the machine on which it runs; i.e. there can be an <B>rlogin</B> service running on the machine ABC, which is different from the rlogin service running on the machine XYZ. The third part of a Kerberos name is the realm. The realm corresponds to the Kerberos service providing authentication for the principal. For example, at MIT there is a Kerberos running at the Laboratory for Computer Science and one running at Project Athena.</P>
-
-<P>When writing a Kerberos name, the principal name is separated from the instance (if not null) by a period, and the realm (if not the local realm) follows, preceded by an "@" sign. The following are examples of valid Kerberos names:</P>
-
-<P>billb</P>
-
-<P>jis.admin</P>
-
-<P>srz@LCS.MIT.EDU</P>
-
-<P>treese.root@ATHENA.MIT.EDU</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_kerberos_principals.htm b/src/windows/leash/htmlhelp/html/leash_topic_kerberos_principals.htm
deleted file mode 100644 (file)
index 7b83d8a..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Kerberos: How does the other guy know who I am?</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="guide">
-</object>
-<p><b><a name="id_help_sipb"></a>Kerberos: How Does the Other Guy Know
-Who I Am?</b></p>
-<p>A portion of the text below was copied with permission from <i>An
-Inessential Guide to Athena</i> (5th edition) published by the MIT
-Student Information Processing Board.</p>
-<p>MIT's Athena Project developed a system known as Kerberos to provide
-for security on a physically insecure network. A complete description
-of the mechanisms used by Kerberos to provide this security is beyond
-the scope of this document. This section describes why Kerberos is
-necessary in a distributed computing environment, the theory behind
-Kerberos (with pointers to further information), and the user commands
-which interface to Kerberos. It also gives hints for using Kerberos
-more effectively.</p>
-<p><b>Why</b> <b>Kerberos</b> <b>is </b><a name="id_help_authentic"></a><b>needed</b>.
-Most moderately-sized to large computer systems use some form of
-password protection scheme to <i>authenticate </i>users; that is,
-they require a user who wishes to log in to give both his name and a
-secret password which only he and the computer system know. Anyone who
-happens to know the password can claim to be that user. It is therefore
-desirable to prevent people from listening in on the conversation
-between the computer and the user's terminal or workstation.</p>
-<p>This is relatively easy in the case of terminals directly connected
-to the machine, since each terminal has its own cable. In a local-area
-network, several (typically between 10 and 200) computers share one
-cable, and any computer can listen in on any network traffic. With the
-advent of network monitoring packages for IBM PC's and similar
-machines, it is relatively easy for a determined user to set up a
-program to listen in on a network for any and all passwords being sent
-over. This would allow an intruder to masquerade as someone else,
-violating their privacy and perhaps stealing information (academic or
-otherwise). <b>Note that THE ELECTRONIC COMMUNICATIONS PRIVACY ACT of
-1986 makes this a Federal crime</b> punishable by lots of nasty stuff
-(ask your lawyer for details).</p>
-<p>In addition, since Athena (like the Internet) uses a
-workstation-based model of computation, with most operations taking
-place on a single-user workstation with occasional requests (for files,
-etc.) going to other "server" machines, Athena needed to set up some
-way to allow users to <i>prove</i> their identity to such server
-machines.</p>
-<p><b>A few definitions</b>. Knowledge of the following terms is not
-essential for use of Kerberos but is helpful in understanding what is
-going on:</p>
-<p><b>user:</b>A human being who wishes to use a computer system. A
-user, through his workstation, may make a series of requests to several
-servers in the course of a session, and would like to avoid (due to
-sheer laziness, among other things) having to type his password to each
-machine in question.</p>
-<p><b>service:</b>A program or set of programs running on a computer
-which is accessible over the network. The service would like to know
-with certainty that the workstation to which it is providing the
-service is really being used by the <b>user</b> who claims to be
-logged in on the workstation. Note that workstations are <i>not </i>services,
-and thus one may not use Kerberos to log into them over the network.</p>
-<p><a name="id_help_principal"></a><b>principal:</b>An entity which can
-both prove its identity and verify the identities of other principals
-who wish to communicate with it; each <b>user</b> and each <b>service</b>
-registered with Kerberos is thus a principal.</p>
-<p><b>ticket:</b> A block of data which, when given to a user, enables
-her to prove her identity to a service. Tickets are stored in RAM in an
-area of memory reserved by the Kerberos cache. They are automatically
-erased when the computer is rebooted or when the user issues the
-destroy tickets command from Leash. They may also be destroyed from a
-Command Prompt by executing the command: kdestroy. Tickets contain
-information which must be considered private to the user, and thus
-should be protected. As they contain a time stamp, they cease to be
-valid after a limited time. One ticket is needed for each service;
-tickets are used to build <b>authenticators</b>, which are sent over
-the network to the service.</p>
-<p><b>authenticator:</b> A block of data which a user's workstation
-sends over the network to a specific service to prove that the
-workstation really is in use by that user. An authenticator expires
-after five minutes. One authenticator is typically built per session of
-use of a service; once the service decodes the authenticator, it
-generally permits the user to operate for as long as she wants. This
-behavior is not in any way mandated by the Kerberos suite of programs
-and libraries (it is just a detail of the implementation), but it is
-convenient and considered secure enough for most environments.</p>
-<p><b>How It Works...</b></p>
-<p>Kerberos uses a standard encryption-based authentication technique
-with a few variations designed to increase ease of use across
-administrative entities and reduce the number of possible "attacks" on
-the system. The system uses cryptographically sealed <i>tickets</i>
-and <i>authenticators</i>} which may be passed over the network and
-decrypted only by a user or machine which knows the appropriate
-encryption/decryption key.</p>
-<p><b>Using Kerberos...</b></p>
-<p>After obtaining your initial ticket getting ticket either by logging
-onto your workstation or by utilizing a Kerberos Ticket Manager (e.g.,
-Leash), Kerberos aware applications will generate authenticators and
-obtain service tickets without further end user interaction.&nbsp;
-Examples of programs which utilize Kerberos authentication include
-e-mail, distributed file systems, remote login tools, and browsers.<br>
-</p>
-<p><b>Registering with Kerberos...</b></p>
-<p>To use Kerberos you must have an account registered in a REALM
-associated with the service(s) you wish to access.&nbsp; Contact your
-network administrator to determine the registration procedures for your
-organization.<br>
-</p>
-<p>Once registered with Kerberos, tickets are obtained by the login
-program every time you log onto a workstation. You can also manually
-obtain new tickets (which you usually do only if your old ones have
-expired, 10 hours after you log in) by running the program<code> kinit</code>.
-It prompts for a username, requests an initial ticket from Kerberos,
-and then asks for your password. If you are not registered with
-Kerberos, it will print<code> Principal unknown (Kerberos)</code>.
-Unless you mistype your username, this should not happen. To correct
-this, or any other errors, contact the appropriate Help Desk personnel
-for your organization.<br>
-<br>
-</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_kerberos_tickets.htm b/src/windows/leash/htmlhelp/html/leash_topic_kerberos_tickets.htm
deleted file mode 100644 (file)
index 20b8859..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>Kerberos Tickets</TITLE>
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
-
-<P><H2><SUP><A NAME="id_help_tickets"></A></SUP>Kerberos Tickets</H2></P>
-
-<P>When you authenticate yourself with Kerberos, through either the Leash program or the kinit command, Kerberos gives you an initial Kerberos ticket. (A Kerberos ticket is an encrypted protocol message that provides authentication.) Kerberos uses this ticket for network utilities such as telnet, ftp or email. The ticket transactions are done transparently, so you don't have to worry about their management.</P>
-
-<P>Note, however, that tickets expire. Privileged tickets, such as root instance tickets, expire in a few minutes, while tickets that carry more ordinary privileges may be good for several hours or a day, depending on the installation's policy. On Athena, the default time limit is 10 hours; if your login session extends beyond the time limit, you will have to reauthenticate yourself to Kerberos to get new tickets.</P>
-
-<P><B>See Also</B></P>
-
-<P><A HREF="leash_topic_kerberos_auth_service.htm">An Authentication Service</A></P>
-
-<P><A HREF="leash_topic_kerberos_principals.htm">How Does the Other Guy Know Who I Am?</A></P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_leash_help_topics.htm b/src/windows/leash/htmlhelp/html/leash_topic_leash_help_topics.htm
deleted file mode 100644 (file)
index 57457d9..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>Leash Program</TITLE>
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
-
-<OBJECT TYPE="application/x-oleobject" CLASSID="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
-       <PARAM NAME="Keyword" VALUE="Leash program">
-</OBJECT>
-
-<P><B><A NAME="id_help_leash"></A><A NAME="hid_leash_program"></A>Leash Program</B></P>
-
-<P><I><B>leash</B> \'le-sh\ n [ME lees, leshe, fr. OF laisse, fr. laissier] 1: a line for leading or restraining an animal 2a: a set of three animals (as greyhounds, foxes, bucks, or hares) 2b: a set of three - leash vt 3: a Windows program developed at MIT to manage a user's Kerberos tickets.</I></P>
-
-<H1>Leash Help Topics</H1>
-
-<P><A HREF="leash_topic_leash_window.htm">Leash Screen Display (Kerberometer and Dash Notification)</A></P>
-
-<P><A HREF="leash_menu_commands.htm">Leash Commands</A></P>
-
-<P><A HREF="leash_topic_online_help.htm">How To Use Leash Online Help</A></P>
-
-<P><A HREF="leash_copyright.htm">Leash Copyright</A></P>
-
-<P><A HREF="leash_acknowledgements.htm">Acknowledgments</A></P>
-
-<P><A HREF="leash_bug_reports.htm">Reporting Problems with Leash</A></P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_leash_systray.htm b/src/windows/leash/htmlhelp/html/leash_topic_leash_systray.htm
deleted file mode 100644 (file)
index 1ac822e..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Leash System Tray Tool</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="systray">
-</object>
-<p></p>
-<h2><a name="id_help_systray"></a>Leash System Tray Tool</h2>
-<p class="MsoNormal">While Leash is running one of the following icons
-will be
-displayed in the system tray based upon the current state of your
-Kerberos
-tickets.<span style="">&nbsp; </span>Clicking on the icon with the
-first mouse button will open or close the Leash display window.<span
- style="">&nbsp; </span>Clicking with the second mouse button will
-display a menu of commands.</p>
-<img style="width: 367px; height: 53px;" alt="System Tray Icons"
- title="System Tray Icons" src="..%5CImages%5CLeash_systray_icons.jpg"><br>
-<br>
-<ul>
-  <li>Green: <span style="">&nbsp;&nbsp;&nbsp; </span>tickets are
-valid and have a lifetime of greater than 20 minutes</li>
-  <li>Grey: <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>no
-tickets
-are present</li>
-  <li>Orange:<span style="">&nbsp; </span>tickets are
-valid and about to expire</li>
-  <li>Red:<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>tickets
-have expired<br>
-  </li>
-</ul>
-<h3>System Tray Menu<br>
-</h3>
-<img style="width: 650px; height: 253px;" alt="System Tray Menu"
- title="System Tray Menu" src="..%5CImages%5CLeash_systray_menu.jpg"><br>
-<br>
-<ul>
-  <li><span style="font-weight: bold;">Open Leash Window</span> will
-restore the <a href="leash_topic_leash_window.htm">Leash Ticket
-Display window</a>. If the window is already open this option will
-appear as <span style="font-weight: bold;">Close Leash Window</span>.<br>
-  </li>
-  <li><a href="leash_command_get_tickets.htm">Get Ticket(s)/Token(s)</a></li>
-  <li><a href="leash_command_renew_tickets.htm">Renew Ticket(s)/Token(s)</a></li>
-  <li><a href="leash_command_import_tickets.htm">Import Tickets</a></li>
-  <li><a href="leash_command_destroy_tickets.htm">Destroy
-Ticket(s)/Token(s)</a></li>
-  <li><a href="leash_command_change_password.htm">Change Password</a></li>
-  <li><a href="leash_option_auto_renewal.htm">Automatic Ticket Renewal</a></li>
-  <li><a href="leash_option_expiration_alarm.htm">Expiration Alarm</a></li>
-  <li><a href="leash_file_exit.htm">Exit</a></li>
-</ul>
-<p class="MsoNormal"><o:p></o:p></p>
-<br>
-<p></p>
-<p></p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_leash_window.htm b/src/windows/leash/htmlhelp/html/leash_topic_leash_window.htm
deleted file mode 100644 (file)
index 8e515da..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Leash Screen Display (Kerberometer and Dash Notification)</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="display">
-</object>
-<p></p>
-<h2><a name="id_help_meter"></a>Leash Screen Display (Kerberometer and Dash Notification)</h2>
-<p></p>
-<p class="MsoBodyTextIndent2" style="text-indent: 0in;">The window
-title contains
-the name \93Leash\94 followed by the current date and time.<span style="">&nbsp;
-</span>Below the title are a menu bar; a tool bar
-(optional); a tree view; and a status bar (optional).</p>
-<p class="MsoNormal"><b><o:p><img style="width: 718px; height: 453px;"
- alt="Leash Display Window" title="Leash Display Window"
- src="..%5CImages%5CLeash_display_window.jpg"><br>
-</o:p></b></p>
-<p class="MsoNormal"></p>
-<p class="MsoNormal">The root of the Leash tree view shows the active
-user
-principal name (user@REALM).<span style="">&nbsp; </span>This entry
-appears with a "+" icon and a Kerberos icon to its left.<span style="">&nbsp;
-</span>Click on this plus icon of a line to expand
-the branch, displaying a "-" icon.<span style="">&nbsp;
-</span>To retract the branch click on the minus sign.</p>
-<p class="MsoNormal">Below user principal, the tree contains ticket
-categories.<span style="">&nbsp; </span>Below each ticket category
-are the current tickets belonging to the group.<span style="">&nbsp;
-</span>Each ticket entry contains the current ticket status, the time
-it was
-issued, the time it will expire, and the service principal and flags.<span
- style="">&nbsp; </span>For Kerberos 5 tickets, encryption types and
-network address information are listed below each ticket.</p>
-<p class="MsoNormal">The tree updates once per minute.<span style="">&nbsp;
-</span>If you need an immediate update of your
-ticket status, you can either click in the window or the press the
-Update
-Display button on the toolbar.</p>
-<p class="MsoNormal"><o:p></o:p>On the right of the status bar is a
-display of the remaining
-time of your tickets (both Kerberos 4 and Kerberos 5, as some programs
-obtain
-only Kerberos 4 tickets, these are not necessarily the same) in hours,
-minutes,
-and seconds.<span style="">&nbsp; </span>This used to be known as
-the <b>Kerberometer</b>.<span style="">&nbsp; </span></p>
-<p class="MsoNormal">Each ticket is described and represented by an
-icon of a
-little ticket. The color of the ticket changes based on its viability: </p>
-<p class="MsoNormal" style="margin-left: 1.5in;">green = normal</p>
-<p class="MsoNormal" style="margin-left: 1.5in;">yellow = tickets are
-within 15
-minutes of expiration</p>
-<p class="MsoNormal" style="margin-left: 1.5in;">red = tickets have
-expired, or you
-have no tickets</p>
-<p class="MsoNormal" style="margin-left: 1.5in;">gray = these tickets
-are not available
-to you</p>
-<p class="MsoNormal"><o:p></o:p><span
- style="font-family: &quot;Times New Roman&quot;;"></span>At 15, 10, and 5
-minutes before your Kerberos tickets expire, a screen pops up to warn
-that your Kerberos tickets will expire soon and to give you the
-opportunity to renew them.&nbsp; This used to be known as Dash-style
-notification.</p>
-<p class="MsoNormal">Andrew File System (AFS) tokens information is
-displayed
-only on machines that have either OpenAFS for Windows <a
- href="http://www.openafs.org/">http://www.openafs.org</a> or Transarc
-AFS 3.6
-for Windows.<o:p></o:p></p>
-<p class="MsoNormal"></p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_online_help.htm b/src/windows/leash/htmlhelp/html/leash_topic_online_help.htm
deleted file mode 100644 (file)
index 1a91f3e..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Help on Using Leash Online Help</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="help, online">
-</object>
-<h1><a name="id_help_leash_help"></a>How To Use Leash Online Help</h1>
-<p>In Leash, <b>F1</b> are the online Help keys. Here's what they do:</p>
-<p><b>Pressing F1...</b><b>gets you...</b></p>
-<p>in the Leash main window: <span style="font-weight: bold;">Leash
-Help Topics</span> -- click the one you need.</p>
-<p>in Leash Help Topics: Contents for How To Use Help -- list of topics
-explaining the features and functions of Windows online help -- click
-the one you need.</p>
-<p>in a Leash dialogue box: context-sensitive help, i.e., the specific
-topic that explains where you are and what you're doing.</p>
-<p>at an error message: explanation for the error message.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_password_choice.htm b/src/windows/leash/htmlhelp/html/leash_topic_password_choice.htm
deleted file mode 100644 (file)
index 5fd7dfa..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
-<TITLE>How to Choose a Password</TITLE>
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
-
-<OBJECT TYPE="application/x-oleobject" CLASSID="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
-       <PARAM NAME="Keyword" VALUE="choose">
-</OBJECT>
-
-<P><A NAME="hid_choose_password"></A><A NAME="id_help_choose"></A><B>How To Choose a Password...</B></P>
-
-<P>Your passwords are the keys to many computers, from a bank machine to a multiuser mainframe to a server on a network. Your password helps to prove that you are who you say you are, and ensures your privacy.</P>
-
-<P>Compromised passwords are the means by which most unauthorized (and unscrupulous) people gain access to a system. Someone logging on under your name has access not only to your computer files, but to most of the facilities of the computer system. Since tampering can have far-reaching and serious consequences, it's important to take to heart the following guidelines for choosing a password.</P>
-
-<P><B>Do choose</B>:</P>
-
-<P>*Something easy for you to remember with at least six characters.</P>
-
-<P>*Something obscure. For instance, you might deliberately misspell a term or use an odd character in an otherwise familiar term, such as "phnybon" instead of "funnybone." Or use a combination of two unrelated words or a combination of letters and numbers.</P>
-
-<P>*A combination of letters and numbers, or a phrase like "many colors" and then use only the consonants "mnYc0l0rz."</P>
-
-<P>*An acronym for your favorite saying, for example, "L!isn!" (Live! It's Saturday Night!)</P>
-
-<P><B>Don't choose</B>:</P>
-
-<P>*Your name in any form - first, middle, last, maiden, spelled backwards, nickname or initials.</P>
-
-<P>*Your userid, or your userid spelled backwards.</P>
-
-<P>*Part of your userid or name.</P>
-
-<P>*Any common name, such as Joe.</P>
-
-<P>*The name of a close relative, friend, or pet.</P>
-
-<P>*Your phone or office number, address, birthday, or anniversary.</P>
-
-<P>*Your license-plate number, your social-security number, or any all numeral password.</P>
-
-<P>*Names from popular culture, e.g., spock, sleepy. </P>
-
-<P>*Any word in a dictionary.</P>
-
-<P>*Passwords of fewer than four characters.</P>
-
-<P><B>Mum's the Word</B></P>
-
-<P>Never tell anyone your password -- not even your system administrator or account manager -- and don't write it down. Make sure you have chosen a password that you can remember. And, finally, change your password at regular intervals</P>
-
-<P>Reprinted from i/s, Vol. 4, No. 9,</P>
-
-<P>May 1989. Revised March 1993.</P>
-
-<P>Copyright C 1993 MIT Information Systems</P>
-
-<P>Send comments or questions about this publication to</P>
-
-<P>&lt;comment-ispubs@mit.edu&gt; or call x3-5150</P>
-
-<P>Before You Begin...</P>
-
-<P>Remember that <I>passwords are case-sensitive, </I>and<I> </I>note whether your keyboard has Caps Lock on.<B> </B>Leash is<B> </B>not programmed to inform you about the state of your Caps Lock key.</P>
-
-<P><B>How To Use Change Password...</B></P>
-
-<P><B>1.</B>In Leash, click on the Change Password button (the one that says abc and has a green arrow), type your username in the first field of the dialogue box that opens, and press Enter or click OK. You may start over anytime by clicking Restart, stop at any time by clicking Cancel, or get help at any time with the Help button.</P>
-
-<P><B>2.</B>Type your <I>current</I> password in the second field and press Enter or click OK.</P>
-
-<P>The program checks the username and password you entered and notifies you if either is invalid.</P>
-
-<P><B>3.</B>Type your <I>new</I> password in the third field and press Enter or click OK.</P>
-
-<P><B>4</B>.Retype your <I>new</I> password, to verify it, and press Enter or click OK.</P>
-
-<P>Once you have entered the new password twice with consistent spellings, the Leash program replaces your old password with the new, <I>if it is a strong password. </I>If Kerberos determines the password is weak, a message notifies you, and you need to<I> </I>repeat steps 1 through 4 with a strong password, as described by the "How To Choose a Password" guidelines above.</P>
-
-<P><B>How Change Password Works...</B></P>
-
-<P>When you type into the password fields of the dialog box, neither characters nor sounds echo back, thus keeping secret even the number of password characters. The program accepts only printable characters for new passwords, i.e., characters between ASCII codes 0x20 and 0x7E.</P>
-
-<P>When you have entered the new password twice consistently, the program attempts to change the password via a dialogue with the Kerberos administrative server. Some Kerberos sites, including MIT's Athena environment, check the password's strength before allowing the change to take place and notifies you if it determines that the password is weak.</P>
-
-</BODY>
-</HTML>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_timing_issues.htm b/src/windows/leash/htmlhelp/html/leash_topic_timing_issues.htm
deleted file mode 100644 (file)
index 281ee1a..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Kerberos Timing Issues</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="time">
-</object>
-<p></p>
-<h2><a name="id_help_time"></a>Kerberos Timing Issues</h2>
-<p></p>
-<p>To resynchronize your computer's clock to the network's clock,
-manually set it, or run the leash Synchronize Time Command.&nbsp; If
-you are using Windows XP or Windows 2003, the Date and Time Control
-Panel contains an Internet Time page which can be used to automatically
-synchronize the clock on a regular basis.<br>
-</p>
-<p><b>Why Do It...</b></p>
-<p>Kerberos authentication uses time stamps as part of its protocol.
-When the clocks of the Kerberos server and your computer are too far
-out of synchronization, you cannot authenticate properly.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_topic_why_use.htm b/src/windows/leash/htmlhelp/html/leash_topic_why_use.htm
deleted file mode 100644 (file)
index 26e1b7e..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Why use Leash?</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="why">
-</object>
-<h1><a name="id_help_purpose"></a><a name="hid_why_use_leash32"></a>Why
-Use Leash?</h1>
-<p class="MsoNormal">Leash is a graphical system-tray tool designed to
-manage for
-Kerberos tickets on Microsoft Windows. <span style="">&nbsp;</span>Leash
-is used to obtain Kerberos tickets,
-change your Kerberos password, and obtain Andrew File System (AFS)
-tokens.</p>
-<p>Leash combines the functionality of several command line tools a
-user would use to manage Kerberos functions: <a
- href="leash_external_kinit.htm">kinit</a>, <a
- href="leash_external_klist.htm">klist</a>, <a
- href="leash_external_kdestroy.htm">kdestroy</a>, ms2mit, aklog, and
-passwd or kpasswd. Leash combines all of these functions into one user
-interface and supports&nbsp; auto-renewal or <a
- href="leash_topic_leash_window.htm">user notification</a> when tickets
-are approaching expiration.</p>
-<p class="MsoNormal">There are many ways to execute Leash. In addition
-to
-clicking on a Leash shortcut, you can start Leash from the Windows
-command
-Prompt or Run... option. <span style="">&nbsp;</span>Command-line
-options may be specified.<span style="">&nbsp; </span>If you run Leash
-with the options -i or -kinit, it will display the ticket
-initialization dialog
-and exit; -m or \96ms2mit or \96import will import tickets from the
-Microsoft
-Windows logon session (if available) and exit; -d or -destroy will
-destroy all
-existing tickets and exit; -r or \96renew will renew existing Kerberos
-tickets
-(if possible) and exit; -a or \96autoinit will display the ticket
-initialization
-dialog if you have no Kerberos tickets.<o:p>&nbsp;</o:p></p>
-<p class="MsoNormal">You may create a shortcut to Leash within your
-Windows
-Startup folder (Start Menu-&gt;Programs-&gt;Startup).<span style="">&nbsp;
-</span><span style="">&nbsp;</span>A
-shortcut to \93Leash32.exe \96autoinit\94 ensures that Kerberos tickets are
-available
-for the use of Kerberized applications throughout your Windows logon
-session.</p>
-<p class="MsoNormal">If Leash is not executed before using a Kerberized
-application, the application may prompt you for your password. Some
-applications, like lpr, never prompt you for a password. These
-applications
-simply terminate with a message indicating that you are not
-authenticated. Before
-these applications can successfully be used a separate program, such as
-Leash
-or kinit, must be used to first authenticate you using Kerberos.<b><o:p>&nbsp;</o:p></b></p>
-<p class="MsoNormal">Leash does not perform a logon in the sense of the
-Windows
-Logon Service.<span style="">&nbsp; </span>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 Leash. Leash
-simply
-allows you to manage Kerberos tickets on behalf of compatible
-applications and
-to change your Kerberos password. <o:p></o:p></p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_view_debug_window.htm b/src/windows/leash/htmlhelp/html/leash_view_debug_window.htm
deleted file mode 100644 (file)
index 1ed4c3c..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Debug Window Option</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="debug">
-</object>
-<h3><a name="hid_debug_window_option"></a><b>Debug Window</b></h3>
-<p>When this item (found under the Action menu) is checked, the Leash
-Debug Window appears. <br>
-</p>
-<p><img style="width: 640px; height: 439px;" alt="Debug Window"
- title="Debug Window" src="..%5CImages%5CLeash_debug_window.jpg"></p>
-<p></p>
-<p class="MsoNormal" style="">From this window, commands that
-Leash issues to the Kerberos server are visible. Here, you can see
-exactly what
-Leash is doing. This action is useful if you are having a problem with
-Leash
-and want to see more exactly what is going on, or if you are writing
-Kerberized
-applications dependent on Kerberos tickets or the actions of Leash.<o:p>&nbsp;</o:p></p>
-<p class="MsoNormal" style="">Note: Debugging is only
-supported by Kerberos 4 and AFS.<span style="">&nbsp;
-</span>Kerberos 5 protocol operations cannot be debugged using Leash.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_view_large_icons.htm b/src/windows/leash/htmlhelp/html/leash_view_large_icons.htm
deleted file mode 100644 (file)
index 6e676db..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Large Icons Option</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="large icons">
-</object>
-<h3><a name="hid_large_icons_option"></a><b>Large Icons</b></h3>
-<p>
-</p>
-<p class="MsoNormal">When this option is checked on the View menu, the
-icons and
-fonts in the main window (such as the picture of Kerberos) will be
-about twice
-as big as the minimal icon and font size.<span style="">&nbsp;
-</span>Naturally, smaller icons allow many more tickets to fit into a
-nonscrolling window.<span style="">&nbsp; </span>The default setting
-of Leash is Large Icons.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_view_status_bar.htm b/src/windows/leash/htmlhelp/html/leash_view_status_bar.htm
deleted file mode 100644 (file)
index 18d722a..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Status Bar Option</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="status bar">
-</object>
-<h3><a name="hid_status_bar_option"></a><b>Status Bar</b></h3>
-<p>
-</p>
-<p class="MsoNormal" style="">The Status Bar is on by default;
-turning it off causes the bar at the bottom of the Leash window (with
-the time
-remaining on any tickets that you might have) to disappear.</p>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/html/leash_view_toolbar.htm b/src/windows/leash/htmlhelp/html/leash_view_toolbar.htm
deleted file mode 100644 (file)
index 1f6e674..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-  <meta http-equiv="Content-Type"
- content="text/html; charset=Windows-1252">
-  <title>Leash Toolbar</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<object type="application/x-oleobject"
- classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param
- name="Keyword" value="toolbar">
-</object>
-<h3><a name="hid_toolbar_option"></a><b>Leash Toolbar</b></h3>
-<p>
-</p>
-<p class="MsoNormal">By default, this option on the View menu is
-selected. When
-it is checked, the toolbar containing icons for commonly used commands
-is
-visible. Otherwise, Leash hides it.<br>
-</p>
-<p class="MsoNormal"><img style="width: 718px; height: 28px;"
- alt="Leash Toolbar" title="Leash Toolbar"
- src="..%5CImages%5CLeash_toolbar.jpg"><br>
-</p>
-<p class="MsoNormal"></p>
-<p class="MsoNormal">The Leash Toolbar contains buttons which act as
-shortcuts to
-the most frequently used Actions found on the Menubar.<span style="">&nbsp;
-</span>From left to right:</p>
-<ol style="margin-top: 0in;" start="1" type="1">
-  <li class="MsoNormal" style=""><a href="leash_command_get_tickets.htm">Get
-Tickets</a></li>
-  <li class="MsoNormal" style=""><a
- href="leash_command_renew_tickets.htm">Renew Tickets</a></li>
-  <li class="MsoNormal" style=""><a
- href="leash_command_import_tickets.htm">Import Tickets</a></li>
-  <li class="MsoNormal" style=""><a
- href="leash_command_destroy_tickets.htm">Destroy Tickets</a></li>
-  <li class="MsoNormal" style=""><a
- href="leash_command_change_password.htm">Change Password</a></li>
-  <li class="MsoNormal" style=""><a
- href="leash_command_update_display.htm">Update Display</a></li>
-  <li class="MsoNormal" style=""><a href="leash_command_sync_time.htm">Synchronize
-Time</a><o:p></o:p></li>
-</ol>
-<br>
-</body>
-</html>
diff --git a/src/windows/leash/htmlhelp/leash32.hhk b/src/windows/leash/htmlhelp/leash32.hhk
deleted file mode 100644 (file)
index 85b6221..0000000
+++ /dev/null
@@ -1,364 +0,0 @@
-<HTML>
-<!-- Sitemap 1.0 -->
-<OBJECT type="text/site properties">
-</OBJECT>
-<UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="about">
-               <param name="Name" value="KERBEROS">
-               <param name="Local" value="html/leash_topic_about_kerberos.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="acknowledgements">
-               <param name="Name" value="Acknowledgements">
-               <param name="Local" value="html/leash_acknowledgements.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="aklog">
-               <param name="See Also" value="aklog">
-               </OBJECT>
-       <UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="exe">
-                       <param name="Local" value="html/leash_external_aklog.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="man">
-                       <param name="Local" value="html/leash_manpage_aklog.htm">
-                       </OBJECT>
-       </UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="bugs">
-               <param name="Name" value="Reporting Problems With Leash">
-               <param name="Local" value="html/leash_bug_reports.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="change">
-               <param name="Name" value="Change Password Command">
-               <param name="Local" value="html/leash_command_change_password.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="choose">
-               <param name="Name" value="How to Choose a Password">
-               <param name="Local" value="html/leash_topic_password_choice.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="commands">
-               <param name="Name" value="Leash Commands">
-               <param name="Local" value="html/leash_menu_commands.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="copyright">
-               <param name="See Also" value="copyright">
-               </OBJECT>
-       <UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="kerberos">
-                       <param name="Local" value="html/leash_kerberos_copyright.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="Leash32">
-                       <param name="Local" value="html/leash_copyright.htm">
-                       </OBJECT>
-       </UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="debug">
-               <param name="Name" value="Debug Window Option">
-               <param name="Local" value="html/leash_view_debug_window.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="destroy">
-               <param name="Name" value="Destroy Tickets/Tokens on Exit Option">
-               <param name="Local" value="html/leash_option_tickets_on_exit.htm">
-               <param name="Name" value="Destroy Tickets Command">
-               <param name="Local" value="html/leash_command_destroy_tickets.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="display">
-               <param name="Name" value="Leash Display (Kerberometer and Dash Notification)">
-               <param name="Local" value="html/leash_topic_leash_window.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="DOS commands">
-               <param name="Name" value="Using Kerberos in a Command Prompt Environment">
-               <param name="Local" value="html/leash_topic_kerberos_command_prompt.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="error">
-               <param name="See Also" value="error">
-               </OBJECT>
-       <UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="57">
-                       <param name="Local" value="html/leash_topic_error_57.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="62">
-                       <param name="Local" value="html/leash_topic_error_62.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="8">
-                       <param name="Local" value="html/leash_topic_error_8.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="invalid principal">
-                       <param name="Local" value="html/leash_topic_invalid_principal.htm">
-                       </OBJECT>
-       </UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="exit">
-               <param name="Name" value="Exit/End Leash Program">
-               <param name="Local" value="html/leash_file_exit.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="expiration">
-               <param name="Name" value="Low Ticket/Token Time Alarm Option">
-               <param name="Local" value="html/leash_option_expiration_alarm.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="export">
-               <param name="Name" value="Kerberos Export Restrictions and Source Code Access">
-               <param name="Local" value="html/leash_export.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="get">
-               <param name="Name" value="InitializeTickets Command">
-               <param name="Local" value="html/leash_command_get_tickets.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="guide">
-               <param name="Name" value="Kerberos:  How does the other guy know who I am?">
-               <param name="Local" value="html/leash_topic_kerberos_principals.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="help">
-               <param name="See Also" value="help">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="import">
-               <param name="Name" value="ImportTickets Command">
-               <param name="Local" value="html/leash_command_import_tickets.htm">
-               </OBJECT>
-       <UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="About Kerberos">
-                       <param name="Local" value="html/leash_topic_about_kerberos.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="About Leash32">
-                       <param name="Local" value="html/leash_help_about_leash32.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="online">
-                       <param name="Local" value="html/leash_topic_online_help.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="Why use Leash32">
-                       <param name="Local" value="html/leash_topic_why_use.htm">
-                       </OBJECT>
-       </UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="kdestroy">
-               <param name="See Also" value="kdestroy">
-               </OBJECT>
-       <UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="exe">
-                       <param name="Local" value="html/leash_external_kdestroy.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="man">
-                       <param name="Local" value="html/leash_manpage_kdestroy.htm">
-                       </OBJECT>
-       </UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="Kerberos">
-               <param name="Name" value="An Authentication Service for Open Network Systems">
-               <param name="Local" value="html/leash_topic_kerberos_auth_service.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="key">
-               <param name="See Also" value="key">
-               </OBJECT>
-       <UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="Ctrl+4">
-                       <param name="Local" value="html/leash_option_krb4_properties.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="Ctrl+5">
-                       <param name="Local" value="html/leash_option_krb5_properties.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="Ctrl+A">
-                       <param name="Local" value="html/leash_option_afs_properties.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="Ctrl+D">
-                       <param name="Local" value="html/leash_command_destroy_tickets.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="Ctrl+I">
-                       <param name="Local" value="html/leash_command_import_tickets.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="Ctrl+K">
-                       <param name="Local" value="html/leash_option_kerberos_properties.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="Ctrl+L">
-                       <param name="Local" value="html/leash_option_leash_properties.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="Ctrl+R">
-                       <param name="Local" value="html/leash_command_renew_tickets.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="Ctrl+T">
-                       <param name="Local" value="html/leash_command_get_tickets.htm">
-                       </OBJECT>
-       </UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="Key">
-               <param name="See Also" value="Key">
-               </OBJECT>
-       <UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="F5">
-                       <param name="Local" value="html/leash_command_update_display.htm">
-                       </OBJECT>
-       </UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="kinit">
-               <param name="See Also" value="kinit">
-               </OBJECT>
-       <UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="exe">
-                       <param name="Local" value="html/leash_external_kinit.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="man">
-                       <param name="Local" value="html/leash_manpage_kinit.htm">
-                       </OBJECT>
-       </UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="klist">
-               <param name="See Also" value="klist">
-               </OBJECT>
-       <UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="exe">
-                       <param name="Local" value="html/leash_external_klist.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="man">
-                       <param name="Local" value="html/leash_manpage_klist.htm">
-                       </OBJECT>
-       </UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="large icons">
-               <param name="Name" value="Large Icons Option">
-               <param name="Local" value="html/leash_view_large_icons.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="Leash program">
-               <param name="Name" value="Leash Program">
-               <param name="Local" value="html/leash_topic_leash_help_topics.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="ms2mit">
-               <param name="See Also" value="ms2mit">
-               </OBJECT>
-       <UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="exe">
-                       <param name="Local" value="html/leash_external_ms2mit.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="man">
-                       <param name="Local" value="html/leash_manpage_ms2mit.htm">
-                       </OBJECT>
-       </UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="names">
-               <param name="Name" value="Kerberos Names">
-               <param name="Local" value="html/leash_topic_kerberos_names.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="properties">
-               <param name="See Also" value="properties">
-               </OBJECT>
-       <UL>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="AFS">
-                       <param name="Local" value="html/leash_option_afs_properties.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="Kerberos">
-                       <param name="Local" value="html/leash_option_kerberos_properties.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="Kerberos4">
-                       <param name="Local" value="html/leash_option_krb4_properties.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="Kerberos5">
-                       <param name="Local" value="html/leash_option_krb5_properties.htm">
-                       </OBJECT>
-               <LI> <OBJECT type="text/sitemap">
-                       <param name="Keyword" value="Leash">
-                       <param name="Local" value="html/leash_option_leash_properties.htm">
-                       </OBJECT>
-       </UL>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="renew">
-               <param name="Name" value="RenewTickets Command">
-               <param name="Local" value="html/leash_command_renew_tickets.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="reset">
-               <param name="Name" value="Reset Window Size/Pos Command">
-               <param name="Local" value="html/leash_command_reset_window.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="status bar">
-               <param name="Name" value="Status Bar Option">
-               <param name="Local" value="html/leash_view_status_bar.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="synchronize">
-               <param name="Name" value="Synchronize Time Command">
-               <param name="Local" value="html/leash_command_sync_time.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="tickets">
-               <param name="Name" value="How Kerberos Shares Tickets">
-               <param name="Local" value="html/leash_topic_sharing_tickets.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="time">
-               <param name="Name" value="Kerberos Timing Issues">
-               <param name="Local" value="html/leash_topic_timing_issues.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="toolbar">
-               <param name="Name" value="Toolbar Option">
-               <param name="Local" value="html/leash_view_toolbar.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="update">
-               <param name="Name" value="Update Display Command">
-               <param name="Local" value="html/leash_command_update_display.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="uppercase">
-               <param name="Name" value="Upper Case Realm Name Option">
-               <param name="Local" value="html/leash_option_upper_case_realm.htm">
-               </OBJECT>
-       <LI> <OBJECT type="text/sitemap">
-               <param name="Keyword" value="why">
-               <param name="Name" value="Why use Leash?">
-               <param name="Local" value="html/leash_topic_why_use.htm">
-               </OBJECT>
-</UL></HTML>
diff --git a/src/windows/leash/htmlhelp/leash32.hhp b/src/windows/leash/htmlhelp/leash32.hhp
deleted file mode 100644 (file)
index 5946eeb..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-[OPTIONS]
-Auto Index=Yes
-Auto TOC=9
-Compatibility=1.1 or later
-Compiled file=leash.chm
-Contents file=Table_of_Contents.hhc
-Default Font=Arial,10,0
-Default Window=Default Leash Help Window
-Default topic=html\leash_topic_why_use.htm
-Display compile progress=Yes
-Error log file=.\leash.log
-Full-text search=Yes
-Index file=leash32.hhk
-Language=0x409 English (United States)
-Title=Leash Ticket Manager Help
-
-[WINDOWS]
-Default Leash Help Window="Leash Ticket Manager Help","Table_of_Contents.hhc","leash32.hhk","html\leash_topic_leash_help_topics.htm","html\leash_topic_leash_help_topics.htm",,,,,0x42520,320,0x304e,[0,0,800,560],0x7b0000,,,,,,0
-
-
-[FILES]
-html\leash_topic_why_use.htm
-html\leash_topic_leash_help_topics.htm
-html\leash_topic_leash_window.htm
-html\leash_topic_leash_systray.htm
-html\leash_menu_commands.htm
-html\leash_file_exit.htm
-html\leash_command_get_tickets.htm
-html\leash_command_import_tickets.htm
-html\leash_command_renew_tickets.htm
-html\leash_command_destroy_tickets.htm
-html\leash_command_change_password.htm
-html\leash_topic_password_choice.htm
-html\leash_command_reset_window.htm
-html\leash_command_sync_time.htm
-html\leash_command_update_display.htm
-html\leash_view_large_icons.htm
-html\leash_view_toolbar.htm
-html\leash_view_status_bar.htm
-html\leash_view_debug_window.htm
-html\leash_option_auto_renewal.htm
-html\leash_option_destroy_tickets_on_exit.htm
-html\leash_option_expiration_alarm.htm
-html\leash_option_upper_case_realm.htm
-html\leash_option_leash_properties.htm
-html\leash_option_kerberos_properties.htm
-html\leash_option_krb4_properties.htm
-html\leash_option_krb5_properties.htm
-html\leash_option_afs_properties.htm
-html\leash_menu_help_why_use.htm
-html\leash_help_about_leash32.htm
-html\leash_topic_kerberos_help_topics.htm
-html\leash_topic_about_kerberos.htm
-html\leash_topic_kerberos_names.htm
-html\leash_topic_kerberos_tickets.htm
-html\leash_topic_kerberos_command_prompt.htm
-html\leash_topic_timing_issues.htm
-html\leash_external_kdestroy.htm
-html\leash_external_kinit.htm
-html\leash_external_klist.htm
-html\leash_external_ms2mit.htm
-html\leash_external_aklog.htm
-html\leash_topic_kerberos_principals.htm
-html\leash_topic_kerberos_auth_service.htm
-html\leash_manpages.htm
-html\leash_manpage_kinit.htm
-html\leash_manpage_klist.htm
-html\leash_manpage_kdestroy.htm
-html\leash_manpage_ms2mit.htm
-html\leash_manpage_aklog.htm
-html\leash_errors.htm
-html\leash_topic_error_8.htm
-html\leash_topic_error_57.htm
-html\leash_topic_error_62.htm
-html\leash_topic_error_invalid_principal.htm
-html\leash_topic_online_help.htm
-html\leash_copyright.htm
-html\leash_kerberos_copyright.htm
-html\leash_export.htm
-html\leash_bug_reports.htm
-html\leash_acknowledgements.htm
-html\hid_view_toolbar.htm
-html\afx_hidw_toolbar.htm
-html\hid_view_status_bar.htm
-html\afx_hidw_status_bar.htm
-html\hid_app_about.htm
-html\hid_app_exit.htm
-html\hid_help_index.htm
-html\hid_help_using.htm
-html\hid_context_help.htm
-html\hid_sc_size.htm
-html\hid_sc_move.htm
-html\hid_sc_minimize.htm
-html\hid_sc_maximize.htm
-html\hid_sc_close.htm
-html\hid_sc_restore.htm
-
-[ALIAS]
-HID_ABOUT_KERBEROS = html\leash_topic_about_kerberos.htm
-HID_ABOUT_LEASH32_COMMAND = html\leash_menu_commands.htm
-HID_ABOUT_LEASH32_MODULES = html\leash_help_about_leash32.htm
-HID_AFS_PROPERTIES_COMMAND = html\leash_option_afs_properties.htm
-HID_CHANGE_PASSWORD_COMMAND    = html\leash_command_change_password.htm
-HID_DEBUG_WINDOW = html\leash_view_debug_window.htm
-HID_DEBUG_WINDOW_OPTION = html\leash_view_debug_window.htm
-HID_DESTROY_TICKETS_COMMAND = html\leash_command_destroy_tickets.htm
-HID_DESTROY_TICKETS_ON_EXIT = html\leash_option_destroy_tickets_on_exit.htm
-HID_EXIT_COMMAND = html\leash_file_exit.htm
-HID_GET_TICKETS_COMMAND = html\leash_command_get_tickets.htm
-HID_RENEW_TICKETS_COMMAND = html\leash_command_renew_tickets.htm
-HID_IMPORT_TICKETS_COMMAND = html\leash_command_import_tickets.htm
-HID_HELP_CONTENTS = html\leash_topic_leash_help_topics.htm
-HID_KERBEROS_PROPERTIES_ADDDOM = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_ADDHOST = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_ADDHOST = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_ADDRLM = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_COMMAND = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_EDIT = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_EDITDOM = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_EDITHOST = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_LISTDOM = html\leash_option_kerberos_properties.htm
-HID_KERBEROS_PROPERTIES_LISTRLM = html\leash_option_kerberos_properties.htm
-HID_KRB4_PROPERTIES_COMMAND    = html\leash_option_krb4_properties.htm
-HID_KRB4_PROPERTIES_EDIT = html\leash_option_krb4_properties.htm
-HID_KRB5_PROPERTIES_COMMAND    = html\leash_option_krb5_properties.htm
-HID_KRB5_PROPERTIES_EDIT = html\leash_option_krb5_properties.htm
-HID_KRB5_PROPERTIES_FORWARDING = html\leash_option_krb5_properties.htm
-HID_LARGE_ICONS_OPTION = html\leash_view_large_icons.htm
-HID_LEASH_COMMANDS = html\leash_menu_commands.htm
-HID_LEASH_PROGRAM = html\leash_topic_leash_help_topics.htm
-HID_LEASH_PROPERTIES_COMMAND = html\leash_option_leash_properties.htm
-HID_LEASH_PROPERTIES_EDIT = html\leash_option_leash_properties.htm
-HID_LOW_TICKET_ALARM_OPTION    = html\leash_option_expiration_alarm.htm
-HID_RESET_WINDOW_OPTION = html\leash_command_reset_window.htm
-HID_SCNCHRONIZE_TIME_OPTION = html\leash_command_sync_time.htm
-HID_STATUS_BAR_OPTION = html\leash_view_status_bar.htm
-HID_TOOLBAR_OPTION = html\leash_view_toolbar.htm
-HID_UPDATE_DISPLAY_COMMAND = html\leash_command_update_display.htm
-HID_UPPERCASE_REALM_OPTION = html\leash_option_upper_case_realm.htm
-HID_WHY_USE_LEASH32    = html\leash_topic_why_use.htm
-ID_CHANGEPASSWORD = html\leash_command_change_password.htm
-ID_COUNTDOWN = html\leash_option_expiration_alarm.htm
-ID_DESTROY = html\leash_command_destroy_tickets.htm
-ID_EXIT = html\leash_file_exit.htm
-ID_HELP_CHOOSE_PASSWORD = html\leash_topic_password_choice.htm
-ID_HELP_KERBEROS = html\leash_topic_kerberos_help_topics.htm
-ID_HELP_LEASH = html\leash_topic_leash_help_topics.htm
-ID_HELP_PURPOSE = html\leash_topic_why_use.htm
-ID_INITTICKETS = html\leash_command_get_tickets.htm
-hid_view_toolbar = html\hid_view_toolbar.htm
-afx_hidw_toolbar = html\afx_hidw_toolbar.htm
-hid_view_status_bar = html\hid_view_status_bar.htm
-afx_hidw_status_bar = html\afx_hidw_status_bar.htm
-hid_app_about = html\hid_app_about.htm
-hid_app_exit = html\hid_app_exit.htm
-hid_help_index = html\hid_help_index.htm
-hid_help_using = html\hid_help_using.htm
-hid_context_help = html\hid_context_help.htm
-hid_sc_size = html\hid_sc_size.htm
-hid_sc_move = html\hid_sc_move.htm
-hid_sc_minimize = html\hid_sc_minimize.htm
-hid_sc_maximize = html\hid_sc_maximize.htm
-hid_sc_close = html\hid_sc_close.htm
-hid_sc_restore = html\hid_sc_restore.htm
-
-[MAP]
-#define HID_ABOUT_KERBEROS              98320
-#define HID_ABOUT_LEASH32_COMMAND       123200
-#define HID_ABOUT_LEASH32_MODULES       131225
-#define HID_AFS_PROPERTIES_COMMAND             98327
-#define HID_CHANGE_PASSWORD_COMMAND            98315
-#define HID_DEBUG_WINDOW                               131229
-#define HID_DEBUG_WINDOW_OPTION                        98317
-#define HID_DESTROY_TICKETS_COMMAND     98313
-#define HID_DESTROY_TICKETS_ON_EXIT            98321
-#define HID_EXIT_COMMAND                123201
-#define HID_GET_TICKETS_COMMAND                        98343
-#define HID_RENEW_TICKETS_COMMAND       98312
-#define HID_IMPORT_TICKETS_COMMAND      98342
-#define HID_HELP_CONTENTS                              98340
-#define HID_KERBEROS_PROPERTIES_ADDDOM  131255
-#define HID_KERBEROS_PROPERTIES_ADDHOST 131254
-#define HID_KERBEROS_PROPERTIES_ADDHOST 131269
-#define HID_KERBEROS_PROPERTIES_ADDRLM  131253
-#define HID_KERBEROS_PROPERTIES_COMMAND 98337
-#define HID_KERBEROS_PROPERTIES_EDIT   131233
-#define HID_KERBEROS_PROPERTIES_EDITDOM 131256
-#define HID_KERBEROS_PROPERTIES_EDITHOST 131271
-#define HID_KERBEROS_PROPERTIES_LISTDOM 131279
-#define HID_KERBEROS_PROPERTIES_LISTRLM 131250
-#define HID_KRB4_PROPERTIES_COMMAND            98329
-#define HID_KRB4_PROPERTIES_EDIT               131232
-#define HID_KRB5_PROPERTIES_COMMAND            98330
-#define HID_KRB5_PROPERTIES_EDIT               131241
-#define HID_KRB5_PROPERTIES_FORWARDING  131240
-#define HID_KRBCHECK_OPTION                            98335
-#define HID_LARGE_ICONS_OPTION          98322
-#define HID_LEASH_COMMANDS              131200
-#define HID_LEASH_PROGRAM               98319
-#define HID_LEASH_PROPERTIES_COMMAND   98331
-#define HID_LEASH_PROPERTIES_EDIT              131239
-#define HID_LOW_TICKET_ALARM_OPTION            98334
-#define HID_RESET_WINDOW_OPTION                        98326
-#define HID_SCNCHRONIZE_TIME_OPTION     98314
-#define HID_STATUS_BAR_OPTION           124929
-#define HID_TOOLBAR_OPTION                             124928
-#define HID_UPDATE_DISPLAY_COMMAND      98316
-#define HID_UPPERCASE_REALM_OPTION      98323
-#define HID_WHY_USE_LEASH32                            98341
-#define ID_CHANGEPASSWORD               112
-#define ID_COUNTDOWN                    101
-#define ID_DESTROY                      111
-#define ID_EXIT                         200
-#define ID_HELP_CHOOSE_PASSWORD         2511841056
-#define ID_HELP_KERBEROS                211
-#define ID_HELP_LEASH                   210
-#define ID_HELP_PURPOSE                 115
-#define ID_INITTICKETS                  113
-#define KRB_BAD_NAME                       39525457
-#define KRB_BAD_TIME                       39525413
-#DEFINE KRB_ERROR_78                       39525454
-#define KRB_INCORR_PASSWD                  39525438
-#define KRB_NO_TKT_FILE                    39525446
-#define KRB_UNKNOWN_REALM                  39525433
-#define KRB_UNKNOWN_USER                   39525384
-#define LSH_INVINSTANCE                    40591875
-
-[INFOTYPES]
index 5f606fc6cc3ddd619982099267eadfb0f5be62de..5b4a3e73b33b2f891ac412abe671e0ff39192442 100644 (file)
 #define IDD_DEBUG_WINDOW                157
 #define IDD_LEASH_DEBUG_WINDOW          157
 #define IDD_PAGE1                       160
-#define IDD_KRB4_PROP_LOCATION          160
 #define IDD_PAGE2                       161
-#define IDD_KRB4_PROP_CONTENT           161
 #define IDD_KRB_PROP_CONTENT            161
 #define IDD_LEASH_PROPERTIES            167
 #define IDD_KERB5_PAGE_PROP             168
 #define IDD_KRB5_PROP_CONTENT           168
 #define IDD_KRB5_PROP_LOCATION          169
-#define IDD_KRB4_REALMHOST_MAINT        178
 #define IDD_KRB_REALMHOST_MAINT         178
 #define IDC_CURSOR1                     179
-#define IDD_KRB4_DOMAINREALM_MAINT      180
-#define IDD_KRB4_ADD_REALMHOSTNAMES     181
 #define IDD_KRB_ADD_REALM               181
-#define IDD_KRB4_EDIT_REALMHOSTNAMES    182
 #define IDD_KRB_EDIT_REALM              182
-#define IDD_KRB4_ADD_DOMAINREALMNAME    183
-#define IDD_KRB4_EDIT_DOMAINREALMNAME   184
 #define IDD_DIALOG5                     187
 #define IDD_KRB_ADD_KDC_HOSTSERVER      197
 #define IDD_KRB_EDIT_KDC_HOSTSERVER     199
-#define IDD_KRB4_REALMHOST_MAINT2       203
-#define IDD_KRB4_EDIT_REALM             204
-#define IDD_KRB4_ADD_REALM              205
 #define IDD_DIALOG6                     207
 #define IDD_KRB_DOMAINREALM_MAINT       207
 #define IDD_DIALOG7                     210
 #define IDI_ICON1                       221
-#define IDD_AFS_PROPERTIES              224
 #define IDD_AUTHENTICATE                229
 #define IDI_LEASH_PRINCIPAL_GOOD        230
 #define IDI_LEASH_PRINCIPAL_LOW         231
 #define IDC_LABEL_KERB_TICKETS          1011
 #define IDC_LIST1                       1012
 #define IDC_LEASH_MODULE_LB             1012
-#define IDC_LIST_KRB4_REALM_HOST        1012
 #define IDC_LIST_UTILITY                1012
 #define IDC_LIST_KDC_REALM              1012
 #define IDC_LIST_REMOVE_HOST            1012
 #define IDC_STATIC_OPTIONS              1083
 #define IDC_STATIC_TICKET_OPTIONS       1085
 #define IDC_BUTTON1                     1086
-#define IDC_BUTTON_AFS_PROPERTIES       1086
 #define IDC_RESET_DEFAULTS              1086
 #define IDC_BUTTON_KRB_HELP             1087
 #define IDC_STATIC_KRBREALM             1088
 #define IDC_STATIC_NOTE                 1129
 #define IDC_EDIT_KDC_HOST               1130
 #define IDC_EDIT_REALM                  1131
-#define IDC_BUTTON_KRB4_REALM_HOST_ADD  1133
-#define ID_BUTTON_KRB4_REALM_HOST_REMOVE 1134
-#define IDC_BUTTON_KRB4_REALM_HOST_EDIT 1135
 #define IDC_BUTTON_REALMHOST_MAINT_HELP2 1136
 #define IDC_BUTTON_HOST_ADD             1138
 #define ID_BUTTON_HOST_REMOVE           1139
 #define IDC_STATIC_KRBREALMS            1149
 #define IDC_STATIC_INIFILES             1150
 #define IDC_CHECK_CONFIRM_KRB5_EXISTS   1151
-#define IDC_RADIO_AFS_ENABLED           1152
-#define IDC_RADIO_AFS_DISABLED          1153
 #define IDC_STATIC_KRB_DEFAULT_LIFETIME 1154
 #define IDC_STATIC_TIME_UNITS           1155
 #define IDC_STATIC_KRB_DEFAULT_RENEWTILL 1155
 #define IDC_STATIC_KRB5                 1171
 #define IDC_EDIT_RENEWTILL_H            1171
 #define IDC_CHECK1                      1172
-#define IDC_CHECK_REQUEST_KRB4          1172
 #define IDC_CHECK2                      1173
 #define IDC_CHECK_PRESERVE_KINIT_OPTIONS 1173
 #define IDC_CHECK3                      1174
 #define IDC_STATIC_RENEW_TILL_VALUE     1177
 #define IDC_PICTURE                     1179
 #define IDC_DNS_KDC                     1180
-#define IDC_KRB4_DNS_KDC                1181
 #define IDC_CHECK_CREATE_MISSING_CFG    1182
 #define IDC_GROUP_LEASH_MISC            1183
 #define IDC_STATIC_LIFETIME_RANGE       1184
 #define ID_UPPERCASE_REALM              32787
 #define ID_OPTIONS_RESETWINDOWSIZE      32789
 #define ID_RESET_WINDOW_SIZE            32790
-#define ID_AFS_CONTROL_PANEL            32791
 #define ID_SYSTEM_CONTROL_PANEL         32792
-#define ID_KRB4_PROPERTIES              32793
 #define ID_KRB5_PROPERTIES              32794
 #define ID_LEASH_PROPERTIES             32795
 #define ID_OPTIONS_LOWTICKETALARMSOUND  32796
diff --git a/src/windows/leashdll/AFSroutines.c b/src/windows/leashdll/AFSroutines.c
deleted file mode 100644 (file)
index f04ab29..0000000
+++ /dev/null
@@ -1,833 +0,0 @@
-//* Module name: AFSroutines.c
-
-#include <windows.h>
-#include <winsock2.h>
-#include <stdio.h>
-#include <time.h>
-
-/* Private Include files */
-#include <conf.h>
-#include <leasherr.h>
-#include "leashdll.h"
-#include <leashwin.h>
-
-#ifndef NO_AFS
-#include <afs/stds.h>
-#include <afs/auth.h>
-#include <afs/krb.h>
-#include <afs/cellconfig.h>
-#endif
-#include "leash-int.h"
-
-#define MAXCELLCHARS   64
-#define MAXHOSTCHARS   64
-#define MAXHOSTSPERCELL 8
-#define TRANSARCAFSDAEMON "TransarcAFSDaemon"
-typedef struct {
-    char name[MAXCELLCHARS];
-    short numServers;
-    short flags;
-    struct sockaddr_in hostAddr[MAXHOSTSPERCELL];
-    char hostName[MAXHOSTSPERCELL][MAXHOSTCHARS];
-    char *linkedCell;
-} afsconf_cell;
-
-DWORD   AfsOnLine = 1;
-extern  DWORD AfsAvailable;
-
-int not_an_API_LeashAFSGetToken(TICKETINFO * ticketinfo, TicketList** ticketList, char * kprinc);
-DWORD GetServiceStatus(LPSTR lpszMachineName, LPSTR lpszServiceName, DWORD *lpdwCurrentState);
-BOOL SetAfsStatus(DWORD AfsStatus);
-BOOL GetAfsStatus(DWORD *AfsStatus);
-void Leash_afs_error(LONG rc, LPCSTR FailedFunctionName);
-
-static char *afs_realm_of_cell(afsconf_cell *);
-static long get_cellconfig_callback(void *, struct sockaddr_in *, char *);
-static int get_cellconfig(char *, afsconf_cell *, char *);
-
-/**************************************/
-/* LeashAFSdestroyToken():            */
-/**************************************/
-int
-Leash_afs_unlog(
-    void
-    )
-{
-#ifdef NO_AFS
-    return(0);
-#else
-    long       rc;
-    char    HostName[64];
-    DWORD   CurrentState;
-
-    if (!AfsAvailable || GetAfsStatus(&AfsOnLine) && !AfsOnLine)
-        return(0);
-
-    CurrentState = 0;
-    memset(HostName, '\0', sizeof(HostName));
-    gethostname(HostName, sizeof(HostName));
-    if (GetServiceStatus(HostName, TRANSARCAFSDAEMON, &CurrentState) != NOERROR)
-        return(0);
-    if (CurrentState != SERVICE_RUNNING)
-        return(0);
-
-    rc = ktc_ForgetAllTokens();
-
-    return(0);
-#endif
-}
-
-
-int
-not_an_API_LeashAFSGetToken(
-    TICKETINFO * ticketinfo,
-    TicketList** ticketList,
-    char * kerberosPrincipal
-    )
-{
-#ifdef NO_AFS
-    return(0);
-#else
-    struct ktc_principal    aserver;
-    struct ktc_principal    aclient;
-    struct ktc_token        atoken;
-    int                     EndMonth;
-    int                     EndDay;
-    int                     cellNum;
-    int                     BreakAtEnd;
-    char                    UserName[64];
-    char                    CellName[64];
-    char                    ServiceName[64];
-    char                    InstanceName[64];
-    char                    EndTime[16];
-    char                    Buffer[256];
-    char                    Months[12][4] = {"Jan\0", "Feb\0", "Mar\0", "Apr\0", "May\0", "Jun\0", "Jul\0", "Aug\0", "Sep\0", "Oct\0", "Nov\0", "Dec\0"};
-    char                    TokenStatus[16];
-    time_t                  CurrentTime;
-    struct tm               *newtime;
-    DWORD                   CurrentState;
-    DWORD                   rc;
-    char                    HostName[64];
-
-
-    TicketList* list = NULL;
-    if ( ticketinfo ) {
-        ticketinfo->btickets = NO_TICKETS;
-        ticketinfo->principal[0] = '\0';
-    }
-    if ( !kerberosPrincipal )
-        kerberosPrincipal = "";
-
-    if (!AfsAvailable || GetAfsStatus(&AfsOnLine) && !AfsOnLine)
-        return(0);
-
-    CurrentState = 0;
-    memset(HostName, '\0', sizeof(HostName));
-    gethostname(HostName, sizeof(HostName));
-    if (GetServiceStatus(HostName, TRANSARCAFSDAEMON, &CurrentState) != NOERROR)
-        return(0);
-    if (CurrentState != SERVICE_RUNNING)
-        return(0);
-
-    BreakAtEnd = 0;
-    cellNum = 0;
-    while (1)
-    {
-        if (rc = ktc_ListTokens(cellNum, &cellNum, &aserver))
-        {
-            if (rc != KTC_NOENT)
-                return(0);
-
-            if (BreakAtEnd == 1)
-                break;
-        }
-        BreakAtEnd = 1;
-        memset(&atoken, '\0', sizeof(atoken));
-        if (rc = ktc_GetToken(&aserver, &atoken, sizeof(atoken), &aclient))
-        {
-            if (rc == KTC_ERROR)
-                return(0);
-
-            continue;
-        }
-
-        if (!list)
-        {
-            list = (TicketList*) calloc(1, sizeof(TicketList));
-            (*ticketList) = list;
-        }
-        else
-        {
-            list->next = (struct TicketList*) calloc(1, sizeof(TicketList));
-            list = (TicketList*) list->next;
-        }
-
-        CurrentTime = time(NULL);
-
-        newtime = localtime(&atoken.endTime);
-
-        memset(UserName, '\0', sizeof(UserName));
-        strcpy(UserName, aclient.name);
-
-        memset(CellName, '\0', sizeof(CellName));
-        strcpy(CellName, aclient.cell);
-
-        memset(InstanceName, '\0', sizeof(InstanceName));
-        strcpy(InstanceName, aclient.instance);
-
-        memset(ServiceName, '\0', sizeof(ServiceName));
-        strcpy(ServiceName, aserver.name);
-
-        memset(TokenStatus, '\0', sizeof(TokenStatus));
-
-        EndDay = newtime->tm_mday;
-
-        EndMonth = newtime->tm_mon + 1;;
-
-        sprintf(EndTime, "%02d:%02d:%02d", newtime->tm_hour, newtime->tm_min, newtime->tm_sec);
-
-        sprintf(Buffer,"                          %s %02d %s      %s%s%s@%s  %s",
-                Months[EndMonth - 1], EndDay, EndTime,
-                UserName,
-                InstanceName[0] ? "." : "",
-                InstanceName,
-                CellName,
-                TokenStatus);
-
-        list->theTicket = (char*) calloc(1, sizeof(Buffer));
-        if (!list->theTicket)
-        {
-#ifdef USE_MESSAGE_BOX
-            MessageBox(NULL, "Memory Error", "Error", MB_OK);
-#endif /* USE_MESSAGE_BOX */
-            return ENOMEM;
-        }
-
-        strcpy(list->theTicket, Buffer);
-        list->name = strdup(aclient.name);
-        list->inst = aclient.instance[0] ? strdup(aclient.instance) : NULL;
-        list->realm = strdup(aclient.cell);
-        list->encTypes = NULL;
-        list->addrCount = 0;
-        list->addrList = NULL;
-
-        if ( ticketinfo ) {
-            sprintf(Buffer,"%s@%s",UserName,CellName);
-            if (!ticketinfo->principal[0] || !stricmp(Buffer,kerberosPrincipal)) {
-                strcpy(ticketinfo->principal, Buffer);
-                ticketinfo->issue_date = 0;
-                ticketinfo->lifetime = atoken.endTime;
-                ticketinfo->renew_till = 0;
-
-                _tzset();
-                if ( ticketinfo->lifetime - time(0) <= 0L )
-                    ticketinfo->btickets = EXPD_TICKETS;
-                else
-                    ticketinfo->btickets = GOOD_TICKETS;
-            }
-        }
-    }
-    return(0);
-#endif
-}
-
-static char OpenAFSConfigKeyName[] = "SOFTWARE\\OpenAFS\\Client";
-
-static int
-use_krb524(void)
-{
-    HKEY parmKey;
-    DWORD code, len;
-    DWORD use524 = 0;
-
-    code = RegOpenKeyEx(HKEY_CURRENT_USER, OpenAFSConfigKeyName,
-                         0, KEY_QUERY_VALUE, &parmKey);
-    if (code == ERROR_SUCCESS) {
-        len = sizeof(use524);
-        code = RegQueryValueEx(parmKey, "Use524", NULL, NULL,
-                                (BYTE *) &use524, &len);
-        RegCloseKey(parmKey);
-    }
-    if (code != ERROR_SUCCESS) {
-        code = RegOpenKeyEx(HKEY_LOCAL_MACHINE, OpenAFSConfigKeyName,
-                             0, KEY_QUERY_VALUE, &parmKey);
-        if (code == ERROR_SUCCESS) {
-            len = sizeof(use524);
-            code = RegQueryValueEx(parmKey, "Use524", NULL, NULL,
-                                    (BYTE *) &use524, &len);
-            RegCloseKey (parmKey);
-        }
-    }
-    return use524;
-}
-
-
-
-int
-Leash_afs_klog(
-    char *service,
-    char *cell,
-    char *realm,
-    int LifeTime
-    )
-{
-/////#ifdef NO_AFS
-#if defined(NO_AFS) || defined(NO_KRB4)
-    return(0);
-#else
-    long       rc;
-////This is defined in krb.h:
-    CREDENTIALS        creds;
-    KTEXT_ST   ticket;
-    struct ktc_principal       aserver;
-    struct ktc_principal       aclient;
-    char       realm_of_user[REALM_SZ]; /* Kerberos realm of user */
-    char       realm_of_cell[REALM_SZ]; /* Kerberos realm of cell */
-    char       local_cell[MAXCELLCHARS+1];
-    char       Dmycell[MAXCELLCHARS+1];
-    struct ktc_token   atoken;
-    struct ktc_token   btoken;
-    afsconf_cell       ak_cellconfig; /* General information about the cell */
-    char       RealmName[128];
-    char       CellName[128];
-    char       ServiceName[128];
-    DWORD       CurrentState;
-    char        HostName[64];
-    BOOL        try_krb5 = 0;
-    int         retry = 0;
-    int         len;
-#ifndef NO_KRB5
-    krb5_context  context = 0;
-    krb5_ccache  _krb425_ccache = 0;
-    krb5_creds increds;
-    krb5_creds * k5creds = 0;
-    krb5_error_code r;
-    krb5_principal client_principal = 0;
-    krb5_flags         flags = 0;
-#endif /* NO_KRB5 */
-
-    if (!AfsAvailable || GetAfsStatus(&AfsOnLine) && !AfsOnLine)
-        return(0);
-
-    if ( !realm ) realm = "";
-    if ( !cell )  cell = "";
-    if ( !service ) service = "";
-
-    CurrentState = 0;
-    memset(HostName, '\0', sizeof(HostName));
-    gethostname(HostName, sizeof(HostName));
-    if (GetServiceStatus(HostName, TRANSARCAFSDAEMON, &CurrentState) != NOERROR)
-        return(0);
-    if (CurrentState != SERVICE_RUNNING)
-        return(0);
-
-    memset(RealmName, '\0', sizeof(RealmName));
-    memset(CellName, '\0', sizeof(CellName));
-    memset(ServiceName, '\0', sizeof(ServiceName));
-    memset(realm_of_user, '\0', sizeof(realm_of_user));
-    memset(realm_of_cell, '\0', sizeof(realm_of_cell));
-    memset(Dmycell, '\0', sizeof(Dmycell));
-
-    // NULL or empty cell returns information on local cell
-    if (cell && cell[0])
-        strcpy(Dmycell, cell);
-    rc = get_cellconfig(Dmycell, &ak_cellconfig, local_cell);
-    if (rc && cell && cell[0]) {
-        memset(Dmycell, '\0', sizeof(Dmycell));
-        rc = get_cellconfig(Dmycell, &ak_cellconfig, local_cell);
-    }
-    if (rc)
-        return(rc);
-
-#ifndef NO_KRB5
-    if (!(r = Leash_krb5_initialize(&context, &_krb425_ccache))) {
-        int i;
-
-        memset((char *)&increds, 0, sizeof(increds));
-
-        (*pkrb5_cc_get_principal)(context, _krb425_ccache, &client_principal);
-        i = krb5_princ_realm(context, client_principal)->length;
-        if (i > REALM_SZ-1)
-            i = REALM_SZ-1;
-        strncpy(realm_of_user,krb5_princ_realm(context, client_principal)->data,i);
-        realm_of_user[i] = 0;
-        try_krb5 = 1;
-    }
-#endif /* NO_KRB5 */
-
-#ifndef NO_KRB4
-    if ( !try_krb5 || !realm_of_user[0] ) {
-        if ((rc = (*pkrb_get_tf_realm)((*ptkt_string)(), realm_of_user)) != KSUCCESS)
-        {
-            return(rc);
-        }
-    }
-#endif
-    strcpy(realm_of_cell, afs_realm_of_cell(&ak_cellconfig));
-
-    if (strlen(service) == 0)
-        strcpy(ServiceName, "afs");
-    else
-        strcpy(ServiceName, service);
-
-    if (strlen(cell) == 0)
-        strcpy(CellName, local_cell);
-    else
-        strcpy(CellName, cell);
-
-    if (strlen(realm) == 0)
-        strcpy(RealmName, realm_of_cell);
-    else
-        strcpy(RealmName, realm);
-
-    memset(&creds, '\0', sizeof(creds));
-
-#ifndef NO_KRB5
-    if ( try_krb5 ) {
-        /* First try Service/Cell@REALM */
-        if (r = (*pkrb5_build_principal)(context, &increds.server,
-                                      strlen(RealmName),
-                                      RealmName,
-                                      ServiceName,
-                                      CellName,
-                                      0))
-        {
-            try_krb5 = 0;
-            goto use_krb4;
-        }
-
-        increds.client = client_principal;
-        increds.times.endtime = 0;
-        /* Ask for DES since that is what V4 understands */
-        increds.keyblock.enctype = ENCTYPE_DES_CBC_CRC;
-
-#ifdef KRB5_TC_NOTICKET
-        flags = 0;
-        r = pkrb5_cc_set_flags(context, _krb425_ccache, flags);
-#endif
-        if (r == 0)
-            r = pkrb5_get_credentials(context, 0, _krb425_ccache, &increds, &k5creds);
-        if (r == KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN ||
-                       r == KRB5KRB_ERR_GENERIC /* Heimdal */) {
-            /* Next try Service@REALM */
-            pkrb5_free_principal(context, increds.server);
-            r = pkrb5_build_principal(context, &increds.server,
-                                      strlen(RealmName),
-                                      RealmName,
-                                      ServiceName,
-                                      0);
-            if (r == 0)
-                r = pkrb5_get_credentials(context, 0, _krb425_ccache, &increds, &k5creds);
-        }
-
-        pkrb5_free_principal(context, increds.server);
-        pkrb5_free_principal(context, client_principal);
-#ifdef KRB5_TC_NOTICKET
-        flags = KRB5_TC_NOTICKET;
-        pkrb5_cc_set_flags(context, _krb425_ccache, flags);
-#endif
-        (void) pkrb5_cc_close(context, _krb425_ccache);
-        _krb425_ccache = 0;
-
-        if (r || k5creds == 0) {
-            pkrb5_free_context(context);
-            try_krb5 = 0;
-            goto use_krb4;
-        }
-
-        /* This code inserts the entire K5 ticket into the token
-         * No need to perform a krb524 translation which is
-         * commented out in the code below
-         */
-        if ( use_krb524() || k5creds->ticket.length > MAXKTCTICKETLEN )
-            goto try_krb524d;
-
-        memset(&aserver, '\0', sizeof(aserver));
-        strncpy(aserver.name, ServiceName, MAXKTCNAMELEN - 1);
-        strncpy(aserver.cell, CellName, MAXKTCREALMLEN - 1);
-
-        memset(&atoken, '\0', sizeof(atoken));
-        atoken.kvno = RXKAD_TKT_TYPE_KERBEROS_V5;
-        atoken.startTime = k5creds->times.starttime;
-        atoken.endTime = k5creds->times.endtime;
-        memcpy(&atoken.sessionKey, k5creds->keyblock.contents, k5creds->keyblock.length);
-        atoken.ticketLen = k5creds->ticket.length;
-        memcpy(atoken.ticket, k5creds->ticket.data, atoken.ticketLen);
-
-      retry_gettoken5:
-        rc = ktc_GetToken(&aserver, &btoken, sizeof(btoken), &aclient);
-        if (rc != 0 && rc != KTC_NOENT && rc != KTC_NOCELL) {
-            if ( rc == KTC_NOCM && retry < 20 ) {
-                Sleep(500);
-                retry++;
-                goto retry_gettoken5;
-            }
-            goto try_krb524d;
-        }
-
-        if (atoken.kvno == btoken.kvno &&
-             atoken.ticketLen == btoken.ticketLen &&
-             !memcmp(&atoken.sessionKey, &btoken.sessionKey, sizeof(atoken.sessionKey)) &&
-             !memcmp(atoken.ticket, btoken.ticket, atoken.ticketLen))
-        {
-            /* Success */
-            pkrb5_free_creds(context, k5creds);
-            pkrb5_free_context(context);
-            return(0);
-        }
-
-        // * Reset the "aclient" structure before we call ktc_SetToken.
-        // * This structure was first set by the ktc_GetToken call when
-        // * we were comparing whether identical tokens already existed.
-
-        len = min(k5creds->client->data[0].length,MAXKTCNAMELEN - 1);
-        strncpy(aclient.name, k5creds->client->data[0].data, len);
-        aclient.name[len] = '\0';
-
-        if ( k5creds->client->length > 1 ) {
-            char * p;
-            strcat(aclient.name, ".");
-            p = aclient.name + strlen(aclient.name);
-            len = min(k5creds->client->data[1].length,MAXKTCNAMELEN - strlen(aclient.name) - 1);
-            strncpy(p, k5creds->client->data[1].data, len);
-            p[len] = '\0';
-        }
-        aclient.instance[0] = '\0';
-
-        strcpy(aclient.cell, realm_of_cell);
-
-        len = min(k5creds->client->realm.length,strlen(realm_of_cell));
-        if ( strncmp(realm_of_cell, k5creds->client->realm.data, len) ) {
-            char * p;
-            strcat(aclient.name, "@");
-            p = aclient.name + strlen(aclient.name);
-            len = min(k5creds->client->realm.length,MAXKTCNAMELEN - strlen(aclient.name) - 1);
-            strncpy(p, k5creds->client->realm.data, len);
-            p[len] = '\0';
-        }
-
-        rc = ktc_SetToken(&aserver, &atoken, &aclient, 0);
-        if (!rc) {
-            /* Success */
-            pkrb5_free_creds(context, k5creds);
-            pkrb5_free_context(context);
-            return(0);
-        }
-
-      try_krb524d:
-        /* This requires krb524d to be running with the KDC */
-        r = pkrb524_convert_creds_kdc(context, k5creds, &creds);
-        pkrb5_free_creds(context, k5creds);
-               pkrb5_free_context(context);
-        if (r) {
-            try_krb5 = 0;
-            goto use_krb4;
-        }
-        rc = KSUCCESS;
-    } else
-#endif /* NO_KRB5 */
-    {
-      use_krb4:
-       rc = KFAILURE;
-    }
-    if (rc != KSUCCESS)
-    {
-            return(rc);
-    }
-
-       memset(&aserver, '\0', sizeof(aserver));
-    strncpy(aserver.name, ServiceName, MAXKTCNAMELEN - 1);
-    strncpy(aserver.cell, CellName, MAXKTCNAMELEN - 1);
-
-    memset(&atoken, '\0', sizeof(atoken));
-    atoken.kvno = creds.kvno;
-    atoken.startTime = creds.issue_date;
-    atoken.endTime = (*pkrb_life_to_time)(creds.issue_date,creds.lifetime);
-    memcpy(&atoken.sessionKey, creds.session, 8);
-    atoken.ticketLen = creds.ticket_st.length;
-    memcpy(atoken.ticket, creds.ticket_st.dat, atoken.ticketLen);
-
-    if (!(rc = ktc_GetToken(&aserver, &btoken, sizeof(btoken), &aclient)) &&
-        atoken.kvno == btoken.kvno &&
-        atoken.ticketLen == btoken.ticketLen &&
-        !memcmp(&atoken.sessionKey, &btoken.sessionKey, sizeof(atoken.sessionKey)) &&
-        !memcmp(atoken.ticket, btoken.ticket, atoken.ticketLen))
-    {
-        return(0);
-    }
-
-    // * Reset the "aclient" structure before we call ktc_SetToken.
-    // * This structure was first set by the ktc_GetToken call when
-    // * we were comparing whether identical tokens already existed.
-
-    strncpy(aclient.name, creds.pname, MAXKTCNAMELEN - 1);
-    aclient.name[MAXKTCNAMELEN - 1] = '\0';
-    if (creds.pinst[0])
-    {
-        strncat(aclient.name, ".", MAXKTCNAMELEN - 1 - strlen(aclient.name));
-        aclient.name[MAXKTCNAMELEN - 1] = '\0';
-        strncat(aclient.name, creds.pinst, MAXKTCNAMELEN - 1 - strlen(aclient.name));
-        aclient.name[MAXKTCNAMELEN - 1] = '\0';
-    }
-    strcpy(aclient.instance, "");
-
-    if ( strcmp(realm_of_cell, creds.realm) )
-    {
-        strncat(aclient.name, "@", MAXKTCNAMELEN - 1 - strlen(aclient.name));
-        aclient.name[MAXKTCNAMELEN - 1] = '\0';
-        strncat(aclient.name, creds.realm, MAXKTCNAMELEN - 1 - strlen(aclient.name));
-        aclient.name[MAXKTCNAMELEN - 1] = '\0';
-    }
-    aclient.name[MAXKTCNAMELEN-1] = '\0';
-
-    strcpy(aclient.cell, CellName);
-
-    // * NOTE: On WIN32, the order of SetToken params changed...
-    // * to   ktc_SetToken(&aserver, &aclient, &atoken, 0)
-    // * from ktc_SetToken(&aserver, &atoken, &aclient, 0) on Unix...
-    // * The afscompat ktc_SetToken provides the Unix order
-
-    if (rc = ktc_SetToken(&aserver, &atoken, &aclient, 0))
-    {
-        Leash_afs_error(rc, "ktc_SetToken()");
-        return(rc);
-    }
-
-    return(0);
-#endif
-}
-
-/**************************************/
-/* afs_realm_of_cell():               */
-/**************************************/
-static char *afs_realm_of_cell(afsconf_cell *cellconfig)
-{
-#ifdef NO_AFS
-    return(0);
-#else
-    char krbhst[MAX_HSTNM]="";
-    static char krbrlm[REALM_SZ+1]="";
-#ifndef NO_KRB5
-    krb5_context  ctx = 0;
-    char ** realmlist=NULL;
-    krb5_error_code r;
-#endif /* NO_KRB5 */
-
-    if (!cellconfig)
-        return 0;
-
-#ifndef NO_KRB5
-    if ( pkrb5_init_context ) {
-        r = pkrb5_init_context(&ctx);
-        if ( !r )
-            r = pkrb5_get_host_realm(ctx, cellconfig->hostName[0], &realmlist);
-        if ( !r && realmlist && realmlist[0] ) {
-            strcpy(krbrlm, realmlist[0]);
-            pkrb5_free_host_realm(ctx, realmlist);
-        }
-        if (ctx)
-            pkrb5_free_context(ctx);
-    }
-#endif /* NO_KRB5 */
-
-    if ( !krbrlm[0] )
-    {
-        char *s = krbrlm;
-        char *t = cellconfig->name;
-        int c;
-
-        while (c = *t++)
-        {
-            if (islower(c)) c=toupper(c);
-            *s++ = c;
-        }
-        *s++ = 0;
-    }
-    return(krbrlm);
-#endif
-}
-
-/**************************************/
-/* get_cellconfig():                  */
-/**************************************/
-static int get_cellconfig(char *cell, afsconf_cell *cellconfig, char *local_cell)
-{
-#ifdef NO_AFS
-    return(0);
-#else
-    int        rc;
-
-    local_cell[0] = (char)0;
-    memset(cellconfig, 0, sizeof(*cellconfig));
-
-    /* WIN32: cm_GetRootCellName(local_cell) - NOTE: no way to get max chars */
-    if (rc = cm_GetRootCellName(local_cell))
-    {
-        return(rc);
-    }
-
-    if (strlen(cell) == 0)
-        strcpy(cell, local_cell);
-
-    /* WIN32: cm_SearchCellFile(cell, pcallback, pdata) */
-    strcpy(cellconfig->name, cell);
-
-    return cm_SearchCell(cell, get_cellconfig_callback, NULL, (void*)cellconfig);
-#endif
-}
-
-/**************************************/
-/* get_cellconfig_callback():          */
-/**************************************/
-static long get_cellconfig_callback(void *cellconfig, struct sockaddr_in *addrp, char *namep)
-{
-#ifdef NO_AFS
-    return(0);
-#else
-    afsconf_cell *cc = (afsconf_cell *)cellconfig;
-
-    cc->hostAddr[cc->numServers] = *addrp;
-    strcpy(cc->hostName[cc->numServers], namep);
-    cc->numServers++;
-    return(0);
-#endif
-}
-
-
-/**************************************/
-/* Leash_afs_error():           */
-/**************************************/
-void
-Leash_afs_error(LONG rc, LPCSTR FailedFunctionName)
-{
-#ifdef NO_AFS
-    return;
-#else
-#ifdef USE_MESSAGE_BOX
-    char message[256];
-    const char *errText;
-
-    // Using AFS defines as error messages for now, until Transarc
-    // gets back to me with "string" translations of each of these
-    // const. defines.
-    if (rc == KTC_ERROR)
-      errText = "KTC_ERROR";
-    else if (rc == KTC_TOOBIG)
-      errText = "KTC_TOOBIG";
-    else if (rc == KTC_INVAL)
-      errText = "KTC_INVAL";
-    else if (rc == KTC_NOENT)
-      errText = "KTC_NOENT";
-    else if (rc == KTC_PIOCTLFAIL)
-      errText = "KTC_PIOCTLFAIL";
-    else if (rc == KTC_NOPIOCTL)
-      errText = "KTC_NOPIOCTL";
-    else if (rc == KTC_NOCELL)
-      errText = "KTC_NOCELL";
-    else if (rc == KTC_NOCM)
-      errText = "KTC_NOCM: The service, Transarc AFS Daemon, most likely is not started!";
-    else
-      errText = "Unknown error!";
-
-    sprintf(message, "%s\n(%s failed)", errText, FailedFunctionName);
-    MessageBox(NULL, message, "AFS", MB_OK | MB_ICONERROR | MB_TASKMODAL | MB_SETFOREGROUND);
-#endif /* USE_MESSAGE_BOX */
-    return;
-
-#endif
-}
-
-DWORD GetServiceStatus(
-    LPSTR lpszMachineName,
-    LPSTR lpszServiceName,
-    DWORD *lpdwCurrentState)
-{
-#ifdef NO_AFS
-    return(NOERROR);
-#else
-    DWORD           hr               = NOERROR;
-    SC_HANDLE       schSCManager     = NULL;
-    SC_HANDLE       schService       = NULL;
-    DWORD           fdwDesiredAccess = 0;
-    SERVICE_STATUS  ssServiceStatus  = {0};
-    BOOL            fRet             = FALSE;
-
-    if ((pOpenSCManagerA == NULL) ||
-        (pOpenServiceA == NULL) ||
-        (pQueryServiceStatus == NULL) ||
-        (pCloseServiceHandle == NULL))
-        {
-        *lpdwCurrentState = SERVICE_RUNNING;
-        return(NOERROR);
-        }
-
-    *lpdwCurrentState = 0;
-
-    fdwDesiredAccess = GENERIC_READ;
-
-    schSCManager = (*pOpenSCManagerA)(lpszMachineName,
-                                 NULL,
-                                 fdwDesiredAccess);
-
-    if(schSCManager == NULL)
-    {
-        hr = GetLastError();
-        goto cleanup;
-    }
-
-    schService = (*pOpenServiceA)(schSCManager,
-                             lpszServiceName,
-                             fdwDesiredAccess);
-
-    if(schService == NULL)
-    {
-        hr = GetLastError();
-        goto cleanup;
-    }
-
-    fRet = (*pQueryServiceStatus)(schService,
-                              &ssServiceStatus);
-
-    if(fRet == FALSE)
-    {
-        hr = GetLastError();
-        goto cleanup;
-    }
-
-    *lpdwCurrentState = ssServiceStatus.dwCurrentState;
-
-cleanup:
-
-    (*pCloseServiceHandle)(schService);
-    (*pCloseServiceHandle)(schSCManager);
-
-    return(hr);
-#endif
-}
-
-BOOL
-SetAfsStatus(
-    DWORD AfsStatus
-    )
-{
-#ifdef NO_AFS
-    return(TRUE);
-#else
-    return write_registry_setting(LEASH_SETTINGS_REGISTRY_VALUE_AFS_STATUS,
-                                  REG_DWORD, &AfsStatus,
-                                  sizeof(AfsStatus)) ? FALSE : TRUE;
-#endif
-}
-
-BOOL
-GetAfsStatus(
-    DWORD *AfsStatus
-    )
-{
-#ifdef NO_AFS
-    return(TRUE);
-#else
-    return read_registry_setting(LEASH_SETTINGS_REGISTRY_VALUE_AFS_STATUS,
-                                 AfsStatus, sizeof(DWORD)) ? FALSE : TRUE;
-#endif
-}
index 07ced1cc17ea1f07e8a6e595761565c2c7931898..390a0a475fb177a672618d15684ac73efe9289dd 100644 (file)
@@ -1,18 +1,5 @@
 BUILDTOP=..\..
 
-##FIX ME: Enable proper compilation with AFS
-NO_AFS=1
-
-!ifndef NO_AFS
-###AFS_BASE=
-AFS_INCLUDES=-I$(AFS_BASE)\Include
-AFS_LIB=$(AFS_BASE)\lib
-AFS_LIBS=$(AFS_LIB)\afsauthent.lib
-!else
-AFS_INCLUDES=
-AFS_LIBS=
-!endif
-
 DLL_NAME=leashw32
 
 # Use 64-bit DLL_NAME and DEF_FILE on 64-bit platforms
@@ -22,18 +9,15 @@ DLL_NAME=leashw64
 
 DEF_FILE=leashw32.def
 
-OBJS=  $(OUTPRE)AFSroutines.$(OBJEXT) \
-       $(OUTPRE)krb5routines.$(OBJEXT) \
+OBJS=  $(OUTPRE)krb5routines.$(OBJEXT) \
        $(OUTPRE)leashdll.$(OBJEXT) \
        $(OUTPRE)leasherr.$(OBJEXT) \
        $(OUTPRE)lsh_pwd.$(OBJEXT) \
-       $(OUTPRE)lshcallb.$(OBJEXT) \
        $(OUTPRE)lshfunc.$(OBJEXT) \
        $(OUTPRE)lshutil.$(OBJEXT) \
        $(OUTPRE)timesync.$(OBJEXT) \
        $(OUTPRE)winerr.$(OBJEXT) \
-       $(OUTPRE)winutil.$(OBJEXT) \
-       $(OUTPRE)registry.$(OBJEXT)
+       $(OUTPRE)winutil.$(OBJEXT)
 
 #TODO: Fix resource compilation
 RESFILE = $(OUTPRE)lsh_pwd.res
@@ -48,25 +32,21 @@ RCFLAGS = -I$(BUILDTOP)\include -I$(BUILDTOP) -DLEASHDLL_LIB
 
 # Set NODEBUG if building release instead of debug
 
-LOCALINCLUDES = -I$(BUILDTOP)\include -I$(BUILDTOP)\windows\include -I.\include\krb4 $(AFS_INCLUDES)
+LOCALINCLUDES = -I$(BUILDTOP)\include -I$(BUILDTOP)\windows\include
 
 WINLIBS = kernel32.lib advapi32.lib user32.lib gdi32.lib Version.lib \
-         ws2_32.lib dnsapi.lib $(BUILDTOP)\ccapi\lib\win\srctmp\$(CCLIB).lib $(AFS_LIBS)
+         ws2_32.lib dnsapi.lib $(BUILDTOP)\ccapi\lib\win\srctmp\$(CCLIB).lib
 
 WINDLLFLAGS = /nologo /dll /incremental:no /release $(LOPTS)
 
 
-DEFINES = -DWINSOCK -DWIN32 -DWINDOWS -DNO_KRB4 -DUSE_MESSAGE_BOX
+DEFINES = -DWINSOCK -DWIN32 -DWINDOWS -DUSE_MESSAGE_BOX
 !ifdef NODEBUG
 DEFINES = $(DEFINES)
 !else
 DEFINES = $(DEFINES) -DDBG
 !endif
 
-!ifdef NO_AFS
-DEFINES = $(DEFINES) -DNO_AFS
-!endif
-
 all-windows:
 all-windows: $(OUTPRE)$(DLL_NAME).dll
 
diff --git a/src/windows/leashdll/include/krb4/conf-pc.h b/src/windows/leashdll/include/krb4/conf-pc.h
deleted file mode 100644 (file)
index 65a8779..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright 1988 by the Massachusetts Institute of Technology.
- *
- * For copying and distribution information, please see the file
- * <mit-copyright.h>.
- *
- * Machine-type definitions: IBM PC 8086
- */
-
-#if defined(_WIN32) && !defined(WIN32)
-#define WIN32
-#endif
-
-#if ( defined(WIN16) || defined(WIN32) || defined(_WINDOWS)) && !defined(WINDOWS)
-#define WINDOWS
-#endif
-
-#if defined(__OS2__) && !defined(OS2)
-#define OS2
-#endif
-
-#ifdef WIN16
-#define BITS16
-#else
-#ifdef MSDOS
-#define BITS16
-#else
-#define BITS32
-#endif
-#endif
-#define LSBFIRST
-
-#define index(s,c) strchr(s,c)          /* PC version of index */
-#define rindex(s,c) strrchr(s,c)
-#if !defined(OS2) && !defined(LWP) /* utils.h under OS/2 */
-#define bcmp(s1,s2,n) memcmp((s1),(s2),(n))
-#define bcopy(a,b,c) memcpy( (b), (a), (c) )
-#define bzero(a,b) memset( (a), 0, (b) )
-#endif
-
-typedef unsigned char u_char;
-typedef unsigned long u_long;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-#define NO_UIDGID_T
-
-#if !defined(WINDOWS) && !defined(DWORD)
-typedef long DWORD;
-#endif
-
-#if defined(PC)&&!defined(WINDOWS)
-#ifndef LPSTR
-typedef char *LPSTR;
-typedef char *LPBYTE;
-typedef char *CHARPTR;
-typedef char *LPINT;
-typedef unsigned int WORD;
-#endif
-#define LONG long
-#define FAR
-#define PASCAL
-#define EXPORT
-#endif
-
-#ifdef OS2
-#include <utils.h>
-#define lstrcpy strcpy
-#define lstrlen strlen
-#define lstrcmp strcmp
-#define lstrcpyn strncpy
-#endif
-
-#ifdef WIN32
-#define _export
-#endif
-
-#if defined(BITS32)
-#define far
-#define near
-#endif
-
-#ifdef WINDOWS
-#include <windows.h>
-#endif
-
-#ifdef WIN32
-#include <windowsx.h>
-#endif
-
-#ifdef WIN16
-#pragma message ( "WIN16 in " __FILE__ )
-#include <time.h>
-#include <process.h>
-#ifndef KRB_INT32
-#define KRB_INT32 long
-#endif
-#ifndef KRB_UINT32
-#define KRB_UINT32 unsigned KRB_INT32
-#endif
-#endif
-
-
-#define RANDOM_KRB_INT32_1 ((KRB_INT32) time(NULL))
-#define RANDOM_KRB_INT32_2 ((KRB_INT32) getpid())
-#define TIME_GMT_UNIXSEC unix_time_gmt_unixsec((unsigned KRB_INT32 *)0);
-#ifndef MAXPATHLEN
-#define MAXPATHLEN _MAX_PATH
-#endif
diff --git a/src/windows/leashdll/include/krb4/conf.h b/src/windows/leashdll/include/krb4/conf.h
deleted file mode 100644 (file)
index 2e2a84c..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright 1988 by the Massachusetts Institute of Technology.
- *
- * For copying and distribution information, please see the file
- * <mit-copyright.h>.
- *
- * Configuration info for operating system, hardware description,
- * language implementation, C library, etc.
- *
- * This file should be included in (almost) every file in the Kerberos
- * sources, and probably should *not* be needed outside of those
- * sources.  (How do we deal with /usr/include/des.h and
- * /usr/include/krb.h?)
- */
-
-#ifndef _CONF_H_
-#define _CONF_H_
-
-#include "osconf.h"
-
-#ifdef SHORTNAMES
-#include "names.h"
-#endif
-
-/*
- * Language implementation-specific definitions
- */
-
-/* special cases */
-#ifdef __HIGHC__
-/* broken implementation of ANSI C */
-#undef __STDC__
-#endif
-
-#if !defined(__STDC__) && !defined(PC)
-#define const
-#define volatile
-#define signed
-typedef char *pointer;          /* pointer to generic data */
-#ifndef PROTOTYPE
-#define PROTOTYPE(p) ()
-#endif
-#else
-typedef void *pointer;
-#ifndef PROTOTYPE
-#define PROTOTYPE(p) p
-#endif
-#endif
-
-/* Does your compiler understand "void"? */
-#ifdef notdef
-#define void int
-#endif
-
-/*
- * A few checks to see that necessary definitions are included.
- */
-
-#ifndef MSBFIRST
-#ifndef LSBFIRST
-#error byte order not defined
-#endif
-#endif
-
-/* machine size */
-#ifndef BITS16
-#ifndef BITS32
-#error number of bits?
-#endif
-#endif
-
-/* end of checks */
-
-#endif /* _CONF_H_ */
diff --git a/src/windows/leashdll/include/krb4/osconf.h b/src/windows/leashdll/include/krb4/osconf.h
deleted file mode 100644 (file)
index 340421e..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 1988 by the Massachusetts Institute of Technology.
- *
- * For copying and distribution information, please see the file
- * <mit-copyright.h>.
- *
- * Athena configuration.
- */
-
-#ifndef _OSCONF_H_
-#define _OSCONF_H_
-
-#ifndef PC
-#if defined(IBMPC) || defined(__MSDOS__) || defined(OS2) || defined(_MSDOS) || defined(_WIN32)
-#define PC
-#endif
-#endif
-
-#ifdef tahoe
-#include "conf-bsdtahoe.h"
-#else /* !tahoe */
-#ifdef vax
-#include "conf-bsdvax.h"
-#else /* !vax */
-#if defined(mips) && defined(ultrix)
-#include "conf-ultmips2.h"
-#else /* !Ultrix MIPS-2 */
-#ifdef ibm032
-#include "conf-bsdibm032.h"
-#else /* !ibm032 */
-#ifdef apollo
-#include "conf-bsdapollo.h"
-#else /* !apollo */
-#ifdef sun
-#ifdef sparc
-#include "conf-bsdsparc.h"
-#else /* sun but not sparc */
-#ifdef i386
-#include "conf-bsd386i.h"
-#else /* sun but not (sparc or 386i) */
-#include "conf-bsdm68k.h"
-#endif /* i386 */
-#endif /* sparc */
-#else /* !sun */
-#ifdef pyr
-#include "conf-pyr.h"
-#else
-#if defined(PC) || defined(__MSDOS__) || defined(OS2) || defined(_MSDOS) || defined(_WIN32)
-#include "conf-pc.h"
-#endif /* PC */
-#endif /* pyr */
-#endif /* sun */
-#endif /* apollo */
-#endif /* ibm032 */
-#endif /* mips */
-#endif /* vax */
-#endif /* tahoe */
-
-#endif /* _OSCONF_H_ */
index 3911720aeaeeeb682581ef76eacc83819fddc6fa..ff4f360f63cb47a0fe24b9679c378e2dab7c4576 100644 (file)
@@ -80,139 +80,9 @@ char *GetTicketFlag(krb5_creds *cred)
    return buf;
 }
 
-long
-Leash_convert524(
-     krb5_context alt_ctx
-     )
-{
-#if defined(NO_KRB5) || defined(NO_KRB4)
-    return(0);
-#else
-    krb5_context ctx = 0;
-    krb5_error_code code = 0;
-    int icode = 0;
-    krb5_principal me = 0;
-    krb5_principal server = 0;
-    krb5_creds *v5creds = 0;
-    krb5_creds increds;
-    krb5_ccache cc = 0;
-    CREDENTIALS * v4creds = NULL;
-    static int init_ets = 1;
-
-    if (!pkrb5_init_context ||
-        !pkrb_in_tkt ||
-       !pkrb524_init_ets ||
-       !pkrb524_convert_creds_kdc)
-        return 0;
-
-       v4creds = (CREDENTIALS *) malloc(sizeof(CREDENTIALS));
-       memset((char *) v4creds, 0, sizeof(CREDENTIALS));
-
-    memset((char *) &increds, 0, sizeof(increds));
-    /*
-      From this point on, we can goto cleanup because increds is
-      initialized.
-    */
-
-    if (alt_ctx)
-    {
-        ctx = alt_ctx;
-    }
-    else
-    {
-        code = pkrb5_init_context(&ctx);
-        if (code) goto cleanup;
-    }
-
-    code = pkrb5_cc_default(ctx, &cc);
-    if (code) goto cleanup;
-
-    if ( init_ets ) {
-        pkrb524_init_ets(ctx);
-        init_ets = 0;
-    }
-
-    if (code = pkrb5_cc_get_principal(ctx, cc, &me))
-        goto cleanup;
-
-    if ((code = pkrb5_build_principal(ctx,
-                                     &server,
-                                     krb5_princ_realm(ctx, me)->length,
-                                     krb5_princ_realm(ctx, me)->data,
-                                     "krbtgt",
-                                     krb5_princ_realm(ctx, me)->data,
-                                     NULL))) {
-        goto cleanup;
-    }
-
-    increds.client = me;
-    increds.server = server;
-    increds.times.endtime = 0;
-    increds.keyblock.enctype = ENCTYPE_DES_CBC_CRC;
-    if ((code = pkrb5_get_credentials(ctx, 0,
-                                     cc,
-                                     &increds,
-                                     &v5creds))) {
-        goto cleanup;
-    }
-
-    if ((icode = pkrb524_convert_creds_kdc(ctx,
-                                          v5creds,
-                                          v4creds))) {
-        goto cleanup;
-    }
-
-    /* initialize ticket cache */
-    if ((icode = pkrb_in_tkt(v4creds->pname, v4creds->pinst, v4creds->realm)
-         != KSUCCESS)) {
-        goto cleanup;
-    }
-    /* stash ticket, session key, etc. for future use */
-    if ((icode = pkrb_save_credentials(v4creds->service,
-                                      v4creds->instance,
-                                      v4creds->realm,
-                                      v4creds->session,
-                                      v4creds->lifetime,
-                                      v4creds->kvno,
-                                      &(v4creds->ticket_st),
-                                      v4creds->issue_date))) {
-        goto cleanup;
-    }
-
- cleanup:
-    memset(v4creds, 0, sizeof(v4creds));
-    free(v4creds);
-
-    if (v5creds) {
-        pkrb5_free_creds(ctx, v5creds);
-    }
-    if (increds.client == me)
-        me = 0;
-    if (increds.server == server)
-        server = 0;
-    pkrb5_free_cred_contents(ctx, &increds);
-    if (server) {
-        pkrb5_free_principal(ctx, server);
-    }
-    if (me) {
-        pkrb5_free_principal(ctx, me);
-    }
-    pkrb5_cc_close(ctx, cc);
-
-    if (ctx && (ctx != alt_ctx)) {
-        pkrb5_free_context(ctx);
-    }
-    return !(code || icode);
-#endif /* NO_KRB5 */
-}
-
-
 int
 LeashKRB5_renew(void)
 {
-#ifdef NO_KRB5
-    return(0);
-#else
     krb5_error_code                    code = 0;
     krb5_context                       ctx = 0;
     krb5_ccache                                cc = 0;
@@ -247,13 +117,9 @@ LeashKRB5_renew(void)
     my_creds.client = me;
     my_creds.server = server;
 
-#ifdef KRB5_TC_NOTICKET
     pkrb5_cc_set_flags(ctx, cc, 0);
-#endif
     code = pkrb5_get_renewed_creds(ctx, &my_creds, me, cc, NULL);
-#ifdef KRB5_TC_NOTICKET
     pkrb5_cc_set_flags(ctx, cc, KRB5_TC_NOTICKET);
-#endif
     if (code) {
         if ( code != KRB5KDC_ERR_ETYPE_NOSUPP ||
              code != KRB5_KDC_UNREACH)
@@ -282,10 +148,8 @@ LeashKRB5_renew(void)
     if (ctx)
         pkrb5_free_context(ctx);
     return(code);
-#endif /* NO_KRB5 */
 }
 
-#ifndef NO_KRB5
 static krb5_error_code KRB5_CALLCONV
 leash_krb5_prompter( krb5_context context,
                                         void *data,
@@ -293,7 +157,6 @@ leash_krb5_prompter( krb5_context context,
                                         const char *banner,
                                         int num_prompts,
                                         krb5_prompt prompts[]);
-#endif /* NO_KRB5 */
 
 int
 Leash_krb5_kinit(
@@ -309,9 +172,6 @@ DWORD                       addressless,
 DWORD                       publicIP
 )
 {
-#ifdef NO_KRB5
-    return(0);
-#else
     krb5_error_code                    code = 0;
     krb5_context                       ctx = 0;
     krb5_ccache                                cc = 0, defcache = 0;
@@ -500,7 +360,6 @@ DWORD                       publicIP
     if (ctx && (ctx != alt_ctx))
        pkrb5_free_context(ctx);
     return(code);
-#endif //!NO_KRB5
 }
 
 
@@ -512,9 +371,6 @@ Leash_krb5_kdestroy(
     void
     )
 {
-#ifdef NO_KRB5
-    return(0);
-#else
     krb5_context               ctx;
     krb5_ccache                        cache;
     krb5_error_code            rc;
@@ -535,7 +391,6 @@ Leash_krb5_kdestroy(
 
     return(rc);
 
-#endif //!NO_KRB5
 }
 
 krb5_error_code
@@ -552,9 +407,7 @@ Leash_krb5_cc_default(krb5_context *ctx, krb5_ccache *cache)
             goto on_error;
         }
     }
-#ifdef KRB5_TC_NOTICKET
     flags = KRB5_TC_NOTICKET;
-#endif
     rc = pkrb5_cc_set_flags(*ctx, *cache, flags);
     if (rc) {
         if (rc == KRB5_FCC_NOFILE || rc == KRB5_CC_NOTFOUND) {
@@ -577,10 +430,6 @@ on_error:
 /**************************************/
 int Leash_krb5_initialize(krb5_context *ctx)
 {
-#ifdef NO_KRB5
-    return(0);
-#else
-
     LPCSTR          functionName = NULL;
     krb5_error_code    rc;
 
@@ -594,7 +443,6 @@ int Leash_krb5_initialize(krb5_context *ctx)
         }
     }
     return 0;
-#endif //!NO_KRB5
 }
 
 
@@ -606,9 +454,6 @@ Leash_krb5_error(krb5_error_code rc, LPCSTR FailedFunctionName,
                  int FreeContextFlag, krb5_context * ctx,
                  krb5_ccache * cache)
 {
-#ifdef NO_KRB5
-    return 0;
-#else
 #ifdef USE_MESSAGE_BOX
     char message[256];
     const char *errText;
@@ -639,17 +484,12 @@ Leash_krb5_error(krb5_error_code rc, LPCSTR FailedFunctionName,
     }
 
     return rc;
-
-#endif //!NO_KRB5
 }
 
 
 BOOL
 Leash_ms2mit(BOOL save_creds)
 {
-#ifdef NO_KRB5
-    return(FALSE);
-#else /* NO_KRB5 */
     krb5_context kcontext = 0;
     krb5_error_code code;
     krb5_ccache ccache=0;
@@ -709,11 +549,9 @@ Leash_ms2mit(BOOL save_creds)
     if (kcontext)
         pkrb5_free_context(kcontext);
     return(rc);
-#endif /* NO_KRB5 */
 }
 
 
-#ifndef NO_KRB5
 /* User Query data structures and functions */
 
 struct textField {
@@ -1063,4 +901,3 @@ leash_krb5_prompter( krb5_context context,
     }
     return errcode;
 }
-#endif /* NO_KRB5 */
index b5c0b2738b78ab8d636124718d8b699956d8ac23..a11c3fc5a2e78eb26aa2420f9d17f24b252b0be6 100644 (file)
@@ -27,16 +27,10 @@ Unregister_MITPasswordEditControl(
 extern char KRB_HelpFile[_MAX_PATH];
 
 // Function Prototypes.
-int lsh_com_err_proc (LPSTR whoami, long code, LPSTR fmt, va_list args);
 int DoNiftyErrorReport(long errnum, LPSTR what);
 LONG Leash_timesync(int);
 BOOL Leash_ms2mit(BOOL);
 
-#ifndef NO_AFS
-int      not_an_API_LeashAFSGetToken(TICKETINFO * ticketinfo, TicketList** ticketList, char * kprinc);
-long FAR not_an_API_LeashFreeTicketList(TicketList** ticketList) ;
-#endif
-
 // Crap...
 #include <krb5.h>
 
@@ -90,66 +84,9 @@ Leash_krb5_kinit(
     DWORD       publicIP
     );
 
-long
-Leash_convert524(
-    krb5_context ctx
-    );
-
-int
-Leash_afs_unlog(
-    void
-    );
-
-int
-Leash_afs_klog(
-    char *,
-    char *,
-    char *,
-    int
-    );
-
 int
 LeashKRB5_renew(void);
 
-LONG
-write_registry_setting(
-    char* setting,
-    DWORD type,
-    void* buffer,
-    size_t size
-    );
-
-LONG
-read_registry_setting_user(
-    char* setting,
-    void* buffer,
-    size_t size
-    );
-
-LONG
-read_registry_setting(
-    char* setting,
-    void* buffer,
-    size_t size
-    );
-
-BOOL
-get_STRING_from_registry(
-    HKEY hBaseKey,
-    char * key,
-    char * value,
-    char * outbuf,
-    DWORD  outlen
-    );
-
-BOOL
-get_DWORD_from_registry(
-    HKEY hBaseKey,
-    char * key,
-    char * value,
-    DWORD * result
-    );
-
 int
 config_boolean_to_int(
     const char *s
@@ -158,14 +95,12 @@ config_boolean_to_int(
 BOOL GetSecurityLogonSessionData(PSECURITY_LOGON_SESSION_DATA * ppSessionData);
 BOOL IsKerberosLogon(VOID);
 
-#ifndef NO_KRB5
 int Leash_krb5_error(krb5_error_code rc, LPCSTR FailedFunctionName,
                      int FreeContextFlag, krb5_context *ctx,
                      krb5_ccache *cache);
 int Leash_krb5_initialize(krb5_context *);
 krb5_error_code
 Leash_krb5_cc_default(krb5_context *ctx, krb5_ccache *cache);
-#endif /* NO_KRB5 */
 
 LPSTR err_describe(LPSTR buf, long code);
 
@@ -304,22 +239,14 @@ cc_free_NC_info,
 );
 #define CCAPI_DLL   "krbcc32.dll"
 
-/* The following definitions are summarized from KRB4, KRB5, Leash32, and
+/* The following definitions are summarized from KRB5, Leash32, and
  * Leashw32 modules.  They are current as of KfW 2.6.2.  There is no
  * guarrantee that changes to other modules will be updated in this list.
  */
 
 /* Must match the values used in Leash32.exe */
 #define LEASH_SETTINGS_REGISTRY_KEY_NAME "Software\\MIT\\Leash32\\Settings"
-#define LEASH_SETTINGS_REGISTRY_VALUE_AFS_STATUS       "AfsStatus"
-#define LEASH_SETTINGS_REGISTRY_VALUE_DEBUG_WINDOW     "DebugWindow"
-#define LEASH_SETTINGS_REGISTRY_VALUE_LARGE_ICONS      "LargeIcons"
-#define LEASH_SETTINGS_REGISTRY_VALUE_DESTROY_TKTS     "DestroyTickets"
-#define LEASH_SETTINGS_REGISTRY_VALUE_LOW_TKT_ALARM    "LowTicketAlarm"
-#define LEASH_SETTINGS_REGISTRY_VALUE_AUTO_RENEW_TKTS  "AutoRenewTickets"
 #define LEASH_SETTINGS_REGISTRY_VALUE_UPPERCASEREALM   "UpperCaseRealm"
-#define LEASH_SETTINGS_REGISTRY_VALUE_TIMEHOST         "TIMEHOST"
-#define LEASH_SETTINGS_REGISTRY_VALUE_CREATE_MISSING_CFG "CreateMissingConfig"
 #define LEASH_SETTINGS_REGISTRY_VALUE_MSLSA_IMPORT     "MsLsaImport"
 
 /* These values are defined and used within Leashw32.dll */
@@ -331,22 +258,13 @@ cc_free_NC_info,
 #define LEASH_REGISTRY_VALUE_NOADDRESSES "noaddresses"
 #define LEASH_REGISTRY_VALUE_PROXIABLE "proxiable"
 #define LEASH_REGISTRY_VALUE_PUBLICIP "publicip"
-#define LEASH_REGISTRY_VALUE_USEKRB4 "usekrb4"
 #define LEASH_REGISTRY_VALUE_KINIT_OPT "hide_kinit_options"
 #define LEASH_REGISTRY_VALUE_LIFE_MIN "life_min"
 #define LEASH_REGISTRY_VALUE_LIFE_MAX "life_max"
 #define LEASH_REGISTRY_VALUE_RENEW_MIN "renew_min"
 #define LEASH_REGISTRY_VALUE_RENEW_MAX "renew_max"
-#define LEASH_REGISTRY_VALUE_LOCK_LOCATION "lock_file_locations"
 #define LEASH_REGISTRY_VALUE_PRESERVE_KINIT "preserve_kinit_options"
 
-/* must match values used within krbv4w32.dll */
-#define KRB4_REGISTRY_KEY_NAME "Software\\MIT\\Kerberos4"
-#define KRB4_REGISTRY_VALUE_CONFIGFILE  "config"
-#define KRB4_REGISTRY_VALUE_KRB_CONF    "krb.conf"
-#define KRB4_REGISTRY_VALUE_KRB_REALMS  "krb.realms"
-#define KRB4_REGISTRY_VALUE_TICKETFILE  "ticketfile"
-
 /* must match values used within krb5_32.dll */
 #define KRB5_REGISTRY_KEY_NAME "Software\\MIT\\Kerberos5"
 #define KRB5_REGISTRY_VALUE_CCNAME      "ccname"
index b6d6318772f954fea4c11d264e4997dde9c5380f..b1813a0cbbd0aebb8571fefcbbcd8dabe5ddb598 100644 (file)
@@ -5,9 +5,6 @@
 
 HINSTANCE hLeashInst;
 
-#ifndef NO_KRB4
-HINSTANCE hKrb4 = 0;
-#endif
 HINSTANCE hKrb5 = 0;
 HINSTANCE hKrb524 = 0;
 HINSTANCE hSecur32 = 0;
@@ -18,8 +15,6 @@ HINSTANCE hPsapi = 0;
 HINSTANCE hToolHelp32 = 0;
 HINSTANCE hCcapi = 0;
 
-DWORD     AfsAvailable = 0;
-
 // krb5 functions
 DECL_FUNC_PTR(krb5_change_password);
 DECL_FUNC_PTR(krb5_get_init_creds_opt_alloc);
@@ -332,23 +327,9 @@ DllMain(
 
         Register_MITPasswordEditControl(hLeashInst);
 
-#ifndef NO_AFS
-        {
-            DWORD AfsStatus = 0;
-            GetAfsStatus(&AfsStatus);
-
-            AfsAvailable = afscompat_init();
-
-            if ( AfsStatus && !AfsAvailable )
-                SetAfsStatus(0);
-        }
-#endif
         return TRUE;
     }
     case DLL_PROCESS_DETACH:
-#ifndef NO_AFS
-        afscompat_close();
-#endif
         if (hKrb5)
             FreeLibrary(hKrb5);
        if (hCcapi)
index b990224da1b84230983abdd095dca969d020a4db..c95afe7b8030c2e07db71a730fbe9ab2df78bdc6 100644 (file)
@@ -5,42 +5,6 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
-#ifndef NO_KRB4
-/*
- * This is a hack needed because the real com_err.h does
- * not define err_func.  We need it in the case where
- * we pull in the real com_err instead of the krb4
- * impostor.
- */
-#ifndef _DCNS_MIT_COM_ERR_H
-typedef LPSTR (*err_func)(int, long);
-#endif
-
-#include <krberr.h>
-extern void Leash_initialize_krb_error_func(err_func func,struct et_list **);
-#undef init_krb_err_func
-#define init_krb_err_func(erf) Leash_initialize_krb_error_func(erf,&_et_list)
-
-#include <kadm_err.h>
-
-extern void Leash_initialize_kadm_error_table(struct et_list **);
-#undef init_kadm_err_tbl
-#define init_kadm_err_tbl() Leash_initialize_kadm_error_table(&_et_list)
-#define kadm_err_base ERROR_TABLE_BASE_kadm
-#endif
-
-#define krb_err_func Leash_krb_err_func
-
-#include <stdarg.h>
-int lsh_com_err_proc (LPSTR whoami, long code,
-                     LPSTR fmt, va_list args);
-void FAR Leash_load_com_err_callback(FARPROC,FARPROC,FARPROC);
-
-
-#ifndef KRBERR
-#define KRBERR(code) (code + krb_err_base)
-#endif
-
 
 /* Internal Stuff */
 
@@ -63,17 +27,12 @@ void FAR Leash_load_com_err_callback(FARPROC,FARPROC,FARPROC);
 
 #include <krb5.h>
 
-#ifndef NO_KRB4
-extern HINSTANCE hKrb4;
-#endif
 extern HINSTANCE hKrb5;
 extern HINSTANCE hProfile;
 
 #define TIMEHOST "TIMEHOST"
 
 #define LEASH_DEBUG_CLASS_GENERIC   0
-#define LEASH_DEBUG_CLASS_KRB4      1
-#define LEASH_DEBUG_CLASS_KRB4_APP  2
 
 #define LEASH_PRIORITY_LOW  0
 #define LEASH_PRIORITY_HIGH 1
@@ -95,19 +54,10 @@ extern HINSTANCE hProfile;
 #include <loadfuncs-com_err.h>
 #include <loadfuncs-krb5.h>
 #include <loadfuncs-profile.h>
-#ifndef NO_KRB4
-#include <loadfuncs-krb.h>
-#include <loadfuncs-krb524.h>
-#endif
 #include <loadfuncs-lsa.h>
 
 #include <errno.h>
 
-#ifndef NO_AFS
-////Can't find it!
-////#include "afscompat.h"
-#endif
-
 // service definitions
 typedef SC_HANDLE (WINAPI *FP_OpenSCManagerA)(char *, char *, DWORD);
 typedef SC_HANDLE (WINAPI *FP_OpenServiceA)(SC_HANDLE, char *, DWORD);
@@ -116,40 +66,6 @@ typedef BOOL (WINAPI *FP_CloseServiceHandle)(SC_HANDLE);
 
 //////////////////////////////////////////////////////////////////////////////
 
-#ifndef NO_KRB4
-// krb4 functions
-extern DECL_FUNC_PTR(get_krb_err_txt_entry);
-extern DECL_FUNC_PTR(k_isinst);
-extern DECL_FUNC_PTR(k_isname);
-extern DECL_FUNC_PTR(k_isrealm);
-extern DECL_FUNC_PTR(kadm_change_your_password);
-extern DECL_FUNC_PTR(kname_parse);
-extern DECL_FUNC_PTR(krb_get_cred);
-extern DECL_FUNC_PTR(krb_get_krbhst);
-extern DECL_FUNC_PTR(krb_get_lrealm);
-extern DECL_FUNC_PTR(krb_get_pw_in_tkt);
-extern DECL_FUNC_PTR(krb_get_tf_realm);
-extern DECL_FUNC_PTR(krb_mk_req);
-extern DECL_FUNC_PTR(krb_realmofhost);
-extern DECL_FUNC_PTR(tf_init);
-extern DECL_FUNC_PTR(tf_close);
-extern DECL_FUNC_PTR(tf_get_cred);
-extern DECL_FUNC_PTR(tf_get_pname);
-extern DECL_FUNC_PTR(tf_get_pinst);
-extern DECL_FUNC_PTR(LocalHostAddr);
-extern DECL_FUNC_PTR(tkt_string);
-extern DECL_FUNC_PTR(krb_set_tkt_string);
-extern DECL_FUNC_PTR(initialize_krb_error_func);
-extern DECL_FUNC_PTR(initialize_kadm_error_table);
-extern DECL_FUNC_PTR(dest_tkt);
-extern DECL_FUNC_PTR(lsh_LoadKrb4LeashErrorTables); // XXX
-extern DECL_FUNC_PTR(krb_in_tkt);
-extern DECL_FUNC_PTR(krb_save_credentials);
-extern DECL_FUNC_PTR(krb_get_krbconf2);
-extern DECL_FUNC_PTR(krb_get_krbrealm2);
-extern DECL_FUNC_PTR(krb_life_to_time);
-#endif
-
 // krb5 functions
 extern DECL_FUNC_PTR(krb5_change_password);
 extern DECL_FUNC_PTR(krb5_get_init_creds_opt_alloc);
@@ -230,12 +146,6 @@ extern DECL_FUNC_PTR(krb5_cc_support_switch);
 extern DECL_FUNC_PTR(krb5_cc_switch);
 extern DECL_FUNC_PTR(krb5int_cc_user_set_default_name);
 
-#ifndef NO_KRB4
-// Krb524 functions
-extern DECL_FUNC_PTR(krb524_init_ets);
-extern DECL_FUNC_PTR(krb524_convert_creds_kdc);
-#endif
-
 // ComErr functions
 extern DECL_FUNC_PTR(com_err);
 extern DECL_FUNC_PTR(error_message);
index 94e05b6b608aa3d482469cada85999210bd0b171..ae62383015398a2f5fdfccfc0f05da23287dba34 100644 (file)
@@ -72,7 +72,6 @@
 #define LSH_DEFAULT_TICKET_NOADDRESS     1974
 #define LSH_DEFAULT_TICKET_PROXIABLE     1975
 #define LSH_DEFAULT_TICKET_PUBLICIP      1976
-#define LSH_DEFAULT_TICKET_USEKRB4       1977
 #define LSH_DEFAULT_DIALOG_KINIT_OPT     1978
 #define LSH_DEFAULT_DIALOG_LIFE_MIN      1979
 #define LSH_DEFAULT_DIALOG_LIFE_MAX      1980
index a45392475b64d105f46a8b171a4a340787c00dc1..378090bad87339301ae6dc35306e759e963c1186 100644 (file)
@@ -6,26 +6,6 @@ HEAPSIZE  8092
 STACKSIZE 36864
 
 EXPORTS
-;              DllMain @1
-       ;       Leash_kinit_dlg                 @3
-       ;       Leash_changepwd_dlg             @4
-       ;       Leash_kinit                     @48
-       ;       Leash_kdestroy                  @49
-       ;       Leash_klist                     @50
-       ;       Leash_checkpwd                  @51
-       ;       Leash_changepwd                 @52
-       ;       Leash_get_lsh_errno             @61
-       ;       initialize_lsh_error_table      @80
-       ;       lsh_com_err_proc                @81
-       ;       Leash_initialize_krb_error_func      @82
-       ;       Leash_initialize_kadm_error_table    @83
-       ;       Leash_krb_err_func                   @84
-       ;       Leash_load_com_err_callback     @85
-       ;       Leash_set_help_file             @86
-       ;       Leash_get_help_file             @87
-       ;       Leash_timesync                  @88
-;              Leash_WhichOS                   @89
-
        Leash_kinit_dlg
     Leash_kinit_dlg_ex
        Leash_changepwd_dlg
@@ -38,11 +18,8 @@ EXPORTS
        Leash_changepwd
        Leash_get_lsh_errno
        initialize_lsh_error_table
-       lsh_com_err_proc
        Leash_initialize_krb_error_func
        Leash_initialize_kadm_error_table
-       Leash_krb_err_func
-       Leash_load_com_err_callback
        Leash_set_help_file
        Leash_get_help_file
        Leash_timesync
@@ -67,9 +44,6 @@ EXPORTS
        Leash_get_default_publicip
        Leash_set_default_publicip
     Leash_reset_default_publicip
-       Leash_get_default_use_krb4
-       Leash_set_default_use_krb4
-    Leash_reset_default_use_krb4
        Leash_get_default_life_min
        Leash_set_default_life_min
     Leash_reset_default_life_min
@@ -82,9 +56,6 @@ EXPORTS
        Leash_get_default_renew_max
        Leash_set_default_renew_max
     Leash_reset_default_renew_max
-       Leash_get_lock_file_locations
-       Leash_set_lock_file_locations
-    Leash_reset_lock_file_locations
        Leash_get_default_uppercaserealm
        Leash_set_default_uppercaserealm
     Leash_reset_default_uppercaserealm
@@ -100,8 +71,4 @@ EXPORTS
     Leash_reset_defaults
 
        ; XXX - These have to go...
-       not_an_API_LeashAFSGetToken
-       not_an_API_LeashFreeTicketList
-       not_an_API_LeashKRB4GetTickets
-       not_an_API_LeashGetTimeServerName
     not_an_API_Leash_AcquireInitialTicketsIfNeeded
index ac85625a0bef272d1f1fe48887024c4959b3dc03..45840c19d04642d918958b3b0deff60f3153fe60 100644 (file)
 
 /* Standard Include files */
 #include <windows.h>
+#include <windowsx.h>
 #include <stdio.h>
 #include <string.h>
 
 /* Private Inlclude files */
 #include "leashdll.h"
-#include <conf.h>
 #include <leashwin.h>
 #include "leash-int.h"
 #include "leashids.h"
 #include <leasherr.h>
-#ifndef NO_KRB5
 #include <krb5.h>
-#endif /* NO_KRB5 */
 #include <commctrl.h>
 
 extern void * Leash_pec_create(HWND hEditCtl);
@@ -47,7 +45,6 @@ extern void Leash_pec_clear_history(void *pec);
 static long lsh_errno;
 static char *err_context;       /* error context */
 extern HINSTANCE hLeashInst;
-extern HINSTANCE hKrb4;
 extern HINSTANCE hKrb5;
 
 
@@ -985,88 +982,6 @@ GetProfileFile(
     return FALSE;
 }
 
-BOOL
-GetKrb4ConFile(
-    LPSTR confname,
-    UINT szConfname
-    )
-{
-    if (hKrb5
-         )
-    { // hold krb.con where krb5.ini is located
-        CHAR krbConFile[MAX_PATH]="";
-        LPSTR pFind;
-
-        //strcpy(krbConFile, CLeashApp::m_krbv5_profile->first_file->filename);
-        if (GetProfileFile(krbConFile, sizeof(krbConFile)))
-        {
-            GetWindowsDirectory(krbConFile,sizeof(krbConFile));
-            krbConFile[MAX_PATH-1] = '\0';
-            strncat(krbConFile, "\\",sizeof(krbConFile)-strlen(krbConFile));
-            krbConFile[MAX_PATH-1] = '\0';
-            strncat(krbConFile, KRB5_FILE,sizeof(krbConFile)-strlen(krbConFile));
-            krbConFile[MAX_PATH-1] = '\0';
-        }
-
-        pFind = strrchr(krbConFile, '\\');
-        if (pFind)
-        {
-            *pFind = 0;
-            strncat(krbConFile, "\\",sizeof(krbConFile)-strlen(krbConFile));
-            krbConFile[MAX_PATH-1] = '\0';
-            strncat(krbConFile, KRB_FILE,sizeof(krbConFile)-strlen(krbConFile));
-            krbConFile[MAX_PATH-1] = '\0';
-        }
-        else
-            krbConFile[0] = 0;
-
-        strncpy(confname, krbConFile, szConfname);
-        confname[szConfname-1] = '\0';
-    }
-    return FALSE;
-}
-
-BOOL
-GetKrb4RealmFile(
-    LPSTR confname,
-    UINT szConfname
-    )
-{
-    if (hKrb5
-         )
-    { // hold krb.con where krb5.ini is located
-        CHAR krbRealmConFile[MAX_PATH];
-        LPSTR pFind;
-
-        //strcpy(krbRealmConFile, CLeashApp::m_krbv5_profile->first_file->filename);
-        if (GetProfileFile(krbRealmConFile, sizeof(krbRealmConFile)))
-        {
-            GetWindowsDirectory(krbRealmConFile,sizeof(krbRealmConFile));
-            krbRealmConFile[MAX_PATH-1] = '\0';
-            strncat(krbRealmConFile, "\\",sizeof(krbRealmConFile)-strlen(krbRealmConFile));
-            krbRealmConFile[MAX_PATH-1] = '\0';
-            strncat(krbRealmConFile, KRB5_FILE,sizeof(krbRealmConFile)-strlen(krbRealmConFile));
-            krbRealmConFile[MAX_PATH-1] = '\0';
-        }
-
-        pFind = strrchr(krbRealmConFile, '\\');
-        if (pFind)
-        {
-            *pFind = 0;
-            strncat(krbRealmConFile, "\\", sizeof(krbRealmConFile)-strlen(krbRealmConFile));
-            krbRealmConFile[MAX_PATH-1] = '\0';
-            strncat(krbRealmConFile, KRBREALM_FILE, sizeof(krbRealmConFile)-strlen(krbRealmConFile));
-            krbRealmConFile[MAX_PATH-1] = '\0';
-        }
-        else
-            krbRealmConFile[0] = 0;
-
-        strncpy(confname, krbRealmConFile, szConfname);
-        confname[szConfname-1] = '\0';
-    }
-    return FALSE;
-}
-
 int
 readstring(FILE * file, char * buf, int len)
 {
index 98b4d5c647abf76d48da7baed184a3bdee0ec4b6..d08378d063ba8c139fc9446d98d5f267adc97a6b 100644 (file)
@@ -217,7 +217,6 @@ BEGIN
     LSH_DEFAULT_TICKET_NOADDRESS "1"
     LSH_DEFAULT_TICKET_PROXIABLE "0"
     LSH_DEFAULT_TICKET_PUBLICIP "0"
-    LSH_DEFAULT_TICKET_USEKRB4 "0"
     LSH_DEFAULT_DIALOG_KINIT_OPT "1"
     LSH_DEFAULT_DIALOG_LIFE_MIN "30"
     LSH_DEFAULT_DIALOG_LIFE_MAX "1440"
diff --git a/src/windows/leashdll/lshcallb.c b/src/windows/leashdll/lshcallb.c
deleted file mode 100644 (file)
index 0344b79..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <windows.h>
-
-int (*Lcom_err)(LPSTR,long,LPSTR,...);
-LPSTR (*Lerror_message)(long);
-LPSTR (*Lerror_table_name)(long);
-
-void Leash_load_com_err_callback(FARPROC ce,
-                                 FARPROC em,
-                                 FARPROC etn)
-{
-    (FARPROC)Lcom_err=ce;
-    (FARPROC)Lerror_message=em;
-    (FARPROC)Lerror_table_name=etn;
-}
index 8dafb7bede3fca8fe5fe97bef9850c23d70e5e0f..be2779063cdf13b3cf9abbb8c54ca27a5a7b124d 100644 (file)
@@ -3,14 +3,6 @@
 #include <sys/types.h>
 #include <winsock2.h>
 #include "leashdll.h"
-#ifndef NO_KRB4
-#include <KerberosIV/krb.h>
-#include <prot.h>
-#else
-/* General definitions */
-#define         KSUCCESS        0
-#define         KFAILURE        255
-#endif
 #include <time.h>
 
 #include <leashwin.h>
@@ -71,8 +63,6 @@ leash_error_message(
     int size = sizeof(message) - 1; /* -1 to leave room for NULL terminator */
     int n;
 
-    // XXX: ignore AFS for now.
-
     if (!rc5 && !rcL)
         return 0;
 
@@ -583,23 +573,6 @@ Leash_int_kinit_ex(
                             addressless,
                             publicip
                             );
-#ifndef NO_AFS
-    if ( !rc5 ) {
-        char c;
-        char *r;
-        char *t;
-        for ( r=realm, t=temp; c=*r; r++,t++ )
-            *t = isupper(c) ? tolower(c) : c;
-        *t = '\0';
-
-        rcA = Leash_afs_klog("afs", temp, "", lifetime);
-        rcB = Leash_afs_klog("afs", "", "", lifetime);
-        if (!(rcA && rcB))
-            rcA = 0;
-        else if (!rcA)
-            rcA = rcB;
-    }
-#endif /* NO_AFS */
     custom_msg = (rc5 == KRB5KRB_AP_ERR_BAD_INTEGRITY) ? "Password incorrect" : NULL;
     return leash_error_message("Ticket initialization failed.",
                                rcL, rc5, rcA, custom_msg,
@@ -612,15 +585,6 @@ Leash_renew(void)
     if ( hKrb5 && !LeashKRB5_renew() ) {
         int lifetime;
         lifetime = Leash_get_default_lifetime() / 5;
-#ifndef NO_AFS
-        {
-            TicketList * list = NULL, * token;
-            not_an_API_LeashAFSGetToken(NULL,&list,NULL);
-            for ( token = list ; token ; token = token->next )
-                Leash_afs_klog("afs", token->realm, "", lifetime);
-            not_an_API_LeashFreeTicketList(&list);
-        }
-#endif /* NO_AFS */
         return 1;
     }
     return 0;
@@ -789,57 +753,6 @@ Leash_import(void)
     if ( Leash_ms2mit(1) ) {
         int lifetime;
         lifetime = Leash_get_default_lifetime() / 5;
-#ifndef NO_AFS
-        {
-            char c;
-            char *r;
-            char *t;
-            char  cell[256];
-            char  realm[256];
-            int   i = 0;
-            int   rcA = 0;
-            int   rcB = 0;
-
-            krb5_context ctx = 0;
-            krb5_error_code code = 0;
-            krb5_ccache cc = 0;
-            krb5_principal me = 0;
-
-            if ( !pkrb5_init_context )
-                goto cleanup;
-
-            code = pkrb5_init_context(&ctx);
-            if (code) goto cleanup;
-
-            code = pkrb5_cc_default(ctx, &cc);
-            if (code) goto cleanup;
-
-            if (code = pkrb5_cc_get_principal(ctx, cc, &me))
-                goto cleanup;
-
-            for ( r=realm, t=cell, i=0; i<krb5_princ_realm(ctx, me)->length; r++,t++,i++ ) {
-                c = krb5_princ_realm(ctx, me)->data[i];
-                *r = c;
-                *t = isupper(c) ? tolower(c) : c;
-            }
-            *r = *t = '\0';
-
-            rcA = Leash_afs_klog("afs", cell, "", lifetime);
-            rcB = Leash_afs_klog("afs", "", "", lifetime);
-            if (!(rcA && rcB))
-                rcA = 0;
-            else if (!rcA)
-                rcA = rcB;
-
-          cleanup:
-            if (me)
-                pkrb5_free_principal(ctx, me);
-            if (cc)
-                pkrb5_cc_close(ctx, cc);
-            if (ctx)
-                pkrb5_free_context(ctx);
-        }
-#endif /* NO_AFS */
         return 1;
     }
     return 0;
@@ -848,45 +761,14 @@ Leash_import(void)
 long
 Leash_kdestroy(void)
 {
-    Leash_afs_unlog();
     Leash_krb5_kdestroy();
 
     return 0;
 }
 
-long FAR
-not_an_API_LeashFreeTicketList(TicketList** ticketList)
-{
-    TicketList* tempList = *ticketList, *killList;
-
-    //if (tempList == NULL)
-    //return -1;
-
-    while (tempList)
-    {
-        killList = tempList;
-
-        tempList = (TicketList*)tempList->next;
-        free(killList->service);
-        if (killList->encTypes)
-            free(killList->encTypes);
-        free(killList);
-    }
-
-    *ticketList = NULL;
-    return 0;
-}
-
-long
-not_an_API_LeashKRB4GetTickets(TICKETINFO FAR* ticketinfo,
-                               TicketList** ticketList)
-{
-    return(KFAILURE);
-}
-
 long FAR Leash_klist(HWND hlist, TICKETINFO FAR *ticketinfo)
 {
-    return(KFAILURE);
+    return(255);
 }
 
 
@@ -1018,7 +900,7 @@ config_boolean_to_int(const char *s)
  * - string resource in the leash DLL
  */
 
-BOOL
+static BOOL
 get_DWORD_from_registry(
     HKEY hBaseKey,
     char * key,
@@ -1041,33 +923,6 @@ get_DWORD_from_registry(
     return rc?FALSE:TRUE;
 }
 
-BOOL
-get_STRING_from_registry(
-    HKEY hBaseKey,
-    char * key,
-    char * value,
-    char * outbuf,
-    DWORD  outlen
-    )
-{
-    HKEY hKey;
-    DWORD dwCount;
-    LONG rc;
-
-       if (!outbuf || outlen == 0)
-               return FALSE;
-
-    rc = RegOpenKeyEx(hBaseKey, key, 0, KEY_QUERY_VALUE, &hKey);
-    if (rc)
-        return FALSE;
-
-    dwCount = outlen;
-    rc = RegQueryValueEx(hKey, value, 0, 0, (LPBYTE) outbuf, &dwCount);
-    RegCloseKey(hKey);
-
-    return rc?FALSE:TRUE;
-}
-
 static
 BOOL
 get_default_lifetime_from_registry(
@@ -1888,63 +1743,6 @@ Leash_get_default_publicip(
     return 0;
 }
 
-static
-BOOL
-get_default_use_krb4_from_registry(
-    HKEY hBaseKey,
-    DWORD * result
-    )
-{
-    return get_DWORD_from_registry(hBaseKey,
-                                   LEASH_REGISTRY_KEY_NAME,
-                                   LEASH_REGISTRY_VALUE_USEKRB4,
-                                   result);
-}
-
-DWORD
-Leash_reset_default_use_krb4(
-    )
-{
-    HKEY hKey;
-    LONG rc;
-
-    rc = RegOpenKeyEx(HKEY_CURRENT_USER, LEASH_REGISTRY_KEY_NAME, 0, KEY_WRITE, &hKey);
-    if (rc)
-        return rc;
-
-    rc = RegDeleteValue(hKey, LEASH_REGISTRY_VALUE_USEKRB4);
-    RegCloseKey(hKey);
-
-    return rc;
-}
-
-DWORD
-Leash_set_default_use_krb4(
-    DWORD minutes
-    )
-{
-    HKEY hKey;
-    LONG rc;
-
-    rc = RegCreateKeyEx(HKEY_CURRENT_USER, LEASH_REGISTRY_KEY_NAME, 0,
-                        0, 0, KEY_WRITE, 0, &hKey, 0);
-    if (rc)
-        return rc;
-
-    rc = RegSetValueEx(hKey, LEASH_REGISTRY_VALUE_USEKRB4, 0, REG_DWORD,
-                       (LPBYTE) &minutes, sizeof(DWORD));
-    RegCloseKey(hKey);
-
-    return rc;
-}
-
-DWORD
-Leash_get_default_use_krb4(
-    )
-{
-    return 0;  /* don't use krb4 */
-}
-
 static
 BOOL
 get_hide_kinit_options_from_registry(
@@ -2011,12 +1809,12 @@ Leash_get_hide_kinit_options(
     hmLeash = GetModuleHandle(LEASH_DLL);
     if (hmLeash)
     {
-        char use_krb4[80];
+        char hide_kinit_options[80];
         if (LoadString(hmLeash, LSH_DEFAULT_DIALOG_KINIT_OPT,
-                       use_krb4, sizeof(use_krb4)))
+                       hide_kinit_options, sizeof(hide_kinit_options)))
         {
-            use_krb4[sizeof(use_krb4) - 1] = 0;
-            return atoi(use_krb4);
+            hide_kinit_options[sizeof(hide_kinit_options) - 1] = 0;
+            return atoi(hide_kinit_options);
         }
     }
     return 0;  /* hide unless otherwise indicated */
@@ -2090,12 +1888,12 @@ Leash_get_default_life_min(
     hmLeash = GetModuleHandle(LEASH_DLL);
     if (hmLeash)
     {
-        char use_krb4[80];
+        char life_min[80];
         if (LoadString(hmLeash, LSH_DEFAULT_DIALOG_LIFE_MIN,
-                       use_krb4, sizeof(use_krb4)))
+                       life_min, sizeof(life_min)))
         {
-            use_krb4[sizeof(use_krb4) - 1] = 0;
-            return atoi(use_krb4);
+            life_min[sizeof(life_min) - 1] = 0;
+            return atoi(life_min);
         }
     }
     return 5;  /* 5 minutes */
@@ -2167,12 +1965,12 @@ Leash_get_default_life_max(
     hmLeash = GetModuleHandle(LEASH_DLL);
     if (hmLeash)
     {
-        char use_krb4[80];
+        char life_max[80];
         if (LoadString(hmLeash, LSH_DEFAULT_DIALOG_LIFE_MAX,
-                       use_krb4, sizeof(use_krb4)))
+                       life_max, sizeof(life_max)))
         {
-            use_krb4[sizeof(use_krb4) - 1] = 0;
-            return atoi(use_krb4);
+            life_max[sizeof(life_max) - 1] = 0;
+            return atoi(life_max);
         }
     }
     return 1440;
@@ -2244,12 +2042,12 @@ Leash_get_default_renew_min(
     hmLeash = GetModuleHandle(LEASH_DLL);
     if (hmLeash)
     {
-        char use_krb4[80];
+        char renew_min[80];
         if (LoadString(hmLeash, LSH_DEFAULT_DIALOG_RENEW_MIN,
-                       use_krb4, sizeof(use_krb4)))
+                       renew_min, sizeof(renew_min)))
         {
-            use_krb4[sizeof(use_krb4) - 1] = 0;
-            return atoi(use_krb4);
+            renew_min[sizeof(renew_min) - 1] = 0;
+            return atoi(renew_min);
         }
     }
     return 600;        /* 10 hours */
@@ -2321,94 +2119,17 @@ Leash_get_default_renew_max(
     hmLeash = GetModuleHandle(LEASH_DLL);
     if (hmLeash)
     {
-        char use_krb4[80];
+        char renew_max[80];
         if (LoadString(hmLeash, LSH_DEFAULT_DIALOG_RENEW_MAX,
-                       use_krb4, sizeof(use_krb4)))
+                       renew_max, sizeof(renew_max)))
         {
-            use_krb4[sizeof(use_krb4) - 1] = 0;
-            return atoi(use_krb4);
+            renew_max[sizeof(renew_max) - 1] = 0;
+            return atoi(renew_max);
         }
     }
     return 60 * 24 * 30;
 }
 
-static
-BOOL
-get_lock_file_locations_from_registry(
-    HKEY hBaseKey,
-    DWORD * result
-    )
-{
-    return get_DWORD_from_registry(hBaseKey,
-                                   LEASH_REGISTRY_KEY_NAME,
-                                   LEASH_REGISTRY_VALUE_LOCK_LOCATION,
-                                   result);
-}
-
-DWORD
-Leash_reset_lock_file_locations(
-    )
-{
-    HKEY hKey;
-    LONG rc;
-
-    rc = RegOpenKeyEx(HKEY_CURRENT_USER, LEASH_REGISTRY_KEY_NAME, 0, KEY_WRITE, &hKey);
-    if (rc)
-        return rc;
-
-    rc = RegDeleteValue(hKey, LEASH_REGISTRY_VALUE_LOCK_LOCATION);
-    RegCloseKey(hKey);
-
-    return rc;
-}
-
-DWORD
-Leash_set_lock_file_locations(
-    DWORD onoff
-    )
-{
-    HKEY hKey;
-    LONG rc;
-
-    rc = RegCreateKeyEx(HKEY_CURRENT_USER, LEASH_REGISTRY_KEY_NAME, 0,
-                        0, 0, KEY_WRITE, 0, &hKey, 0);
-    if (rc)
-        return rc;
-
-    rc = RegSetValueEx(hKey, LEASH_REGISTRY_VALUE_LOCK_LOCATION, 0, REG_DWORD,
-                       (LPBYTE) &onoff, sizeof(DWORD));
-    RegCloseKey(hKey);
-
-    return rc;
-}
-
-DWORD
-Leash_get_lock_file_locations(
-    )
-{
-    HMODULE hmLeash;
-    DWORD result;
-
-    if (get_lock_file_locations_from_registry(HKEY_CURRENT_USER, &result) ||
-        get_lock_file_locations_from_registry(HKEY_LOCAL_MACHINE, &result))
-    {
-        return result;
-    }
-
-    hmLeash = GetModuleHandle(LEASH_DLL);
-    if (hmLeash)
-    {
-        char lock_file_locations[80];
-        if (LoadString(hmLeash, LSH_DEFAULT_DIALOG_LOCK_LOCATION,
-                       lock_file_locations, sizeof(lock_file_locations)))
-        {
-            lock_file_locations[sizeof(lock_file_locations) - 1] = 0;
-            return atoi(lock_file_locations);
-        }
-    }
-    return 0;
-}
-
 static
 BOOL
 get_default_uppercaserealm_from_registry(
@@ -2651,7 +2372,6 @@ Leash_reset_defaults(void)
     Leash_reset_default_noaddresses();
     Leash_reset_default_proxiable();
     Leash_reset_default_publicip();
-    Leash_reset_default_use_krb4();
     Leash_reset_hide_kinit_options();
     Leash_reset_default_life_min();
     Leash_reset_default_life_max();
diff --git a/src/windows/leashdll/registry.c b/src/windows/leashdll/registry.c
deleted file mode 100644 (file)
index 7113d05..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-#include <windows.h>
-#include "leash-int.h"
-
-static
-LONG
-write_registry_setting_ex(
-    HKEY hRoot,
-    char* setting,
-    DWORD type,
-    void* buffer,
-    size_t size
-    )
-{
-    HKEY hKey = 0;
-    LONG rc = 0;
-
-    if (rc = RegCreateKeyEx(hRoot, LEASH_SETTINGS_REGISTRY_KEY_NAME, 0, 0, 0,
-                            KEY_ALL_ACCESS, 0, &hKey, 0))
-        goto cleanup;
-
-    rc = RegSetValueEx(hKey, setting, 0, type, (LPBYTE)buffer, size);
- cleanup:
-    if (hKey)
-        RegCloseKey(hKey);
-    return rc;
-}
-
-LONG
-write_registry_setting(
-    char* setting,
-    DWORD type,
-    void* buffer,
-    size_t size
-    )
-{
-    return write_registry_setting_ex(HKEY_CURRENT_USER,
-                                     setting,
-                                     type,
-                                     buffer,
-                                     size);
-}
-
-static
-LONG
-read_registry_setting_ex(
-    HKEY hRoot,
-    char* setting,
-    void* buffer,
-    size_t size
-    )
-{
-    HKEY hKey = 0;
-    LONG rc = 0;
-    DWORD dwType;
-    DWORD dwCount;
-
-    if (rc = RegOpenKeyEx(hRoot,
-                          LEASH_SETTINGS_REGISTRY_KEY_NAME,
-                          0, KEY_QUERY_VALUE, &hKey))
-        goto cleanup;
-
-    memset(buffer, 0, size);
-    dwCount = size;
-    rc = RegQueryValueEx(hKey, setting, NULL, &dwType, (LPBYTE)buffer,
-                         &dwCount);
- cleanup:
-    if (hKey)
-        RegCloseKey(hKey);
-    return rc;
-}
-
-LONG
-read_registry_setting_user(
-    char* setting,
-    void* buffer,
-    size_t size
-    )
-{
-    return read_registry_setting_ex(HKEY_CURRENT_USER, setting, buffer, size);
-}
-
-static
-LONG
-read_registry_setting_machine(
-    char* setting,
-    void* buffer,
-    size_t size
-    )
-{
-    return read_registry_setting_ex(HKEY_LOCAL_MACHINE, setting, buffer, size);
-}
-
-LONG
-read_registry_setting(
-    char* setting,
-    void* buffer,
-    size_t size
-    )
-{
-    LONG rc;
-    rc = read_registry_setting_user(setting, buffer, size);
-    if (!rc) return rc;
-    rc = read_registry_setting_machine(setting, buffer, size);
-    return rc;
-}
index 32ab5e628211b96a0802a17bb9d2fae43643c5e3..0c9e30dcc925ee614d38dce54adc1d1962fa0dda 100644 (file)
@@ -8,10 +8,6 @@
 #include <stdlib.h>
 #include <string.h>
 
-#ifndef NO_KRB4
-#include <winkrbid.h>
-#endif
-
 #ifdef WSHELPER
 #include <wshelper.h>
 #else
@@ -80,7 +76,7 @@ gettimeofday(
 
 
 LONG
-not_an_API_LeashGetTimeServerName(
+get_time_server_name(
     char *timeServerName,
     const char *valueName
     )
@@ -167,11 +163,7 @@ LONG Leash_timesync(int MessageP)
     WSADATA             wsaData;
     char                name[80];
 
-    if ((pkrb5_init_context == NULL)
-#ifndef NO_KRB4
-        && (ptkt_string == NULL)
-#endif
-         )
+    if (pkrb5_init_context == NULL)
         return(0);
 
     wVersionRequested = 0x0101;
@@ -192,7 +184,7 @@ LONG Leash_timesync(int MessageP)
     else
         Port = sp->s_port;
 
-    not_an_API_LeashGetTimeServerName(hostname, TIMEHOST);
+    get_time_server_name(hostname, TIMEHOST);
 
     rc = ProcessTimeSync(hostname, Port, tmpstr);
 
index e624fc085fad970e965b6585246cd4920b01eb53..a10d4854d9e65d9a21c4dd9f4f480d80af6b39a6 100644 (file)
@@ -11,7 +11,6 @@
 */
 
 #include <stdio.h>
-#include "conf.h"
 
 // Private Include files
 #include "leashdll.h"
@@ -77,49 +76,3 @@ LPSTR err_describe(LPSTR buf, long code)
 
     return (LPSTR)buf;
 }
-
-int _export lsh_com_err_proc (LPSTR whoami, long code,
-                              LPSTR fmt, va_list args)
-{
-#ifdef USE_MESSAGE_BOX
-    int retval;
-    HWND hOldFocus;
-    char buf[1024], *cp; /* changed to 512 by jms 8/23/93 */
-    WORD mbformat = MB_OK | MB_ICONEXCLAMATION;
-
-    cp = buf;
-    memset(buf, '\0', sizeof(buf));
-    cp[0] = '\0';
-
-    if (code)
-    {
-        err_describe(buf, code);
-        while (*cp)
-            cp++;
-    }
-
-    if (fmt)
-    {
-        if (fmt[0] == '%' && fmt[1] == 'b')
-       {
-            fmt += 2;
-            mbformat = va_arg(args, WORD);
-            /* if the first arg is a %b, we use it for the message
-               box MB_??? flags. */
-       }
-        if (code)
-       {
-            *cp++ = '\n';
-            *cp++ = '\n';
-       }
-        wvsprintf((LPSTR)cp, fmt, args);
-    }
-    hOldFocus = GetFocus();
-    retval = MessageBox(/*GetRootParent(hOldFocus)*/NULL, buf, whoami,
-                        mbformat | MB_ICONHAND | MB_TASKMODAL);
-    SetFocus(hOldFocus);
-    return retval;
-#else
-    return IDOK;
-#endif /* USE_MESSAGE_BOX */
-}
index 7c936275ed173d9f9db0ad248ad3a038aae2c0ff..3899be44bd128838fee01205d8826454e8545c80 100644 (file)
 #endif
 #endif /* WSHELPER_LIB */
 
-#ifdef KRB4_LIB
-#define K5_DESCRIPTION "Kerberos v4 - " KRB5_PRODUCTNAME_STR "\0"
-#define K5_INTERNAL_NAME "krb4\0"
-#define K5_FILETYPE    VFT_DLL
-#if !defined(_WIN32)
-#define K5_ORIGINAL_NAME "krb4_16.dll\0"
-#else
-#define K5_ORIGINAL_NAME "krb4_32.dll\0"
-#endif
-#endif /* KRB4 */
-
-#ifdef SAPKRB_LIB
-#define K5_DESCRIPTION "Kerberos v5 - " KRB5_PRODUCTNAME_STR " (for SAP)\0"
-#define K5_INTERNAL_NAME "sapkrb5\0"
-#define K5_FILETYPE    VFT_DLL
-#if !defined(_WIN32)
-#define K5_ORIGINAL_NAME "sapkrb16.dll\0"
-#else
-#define K5_ORIGINAL_NAME "sapkrb32.dll\0"
-#endif
-#endif /* SAPKRB */
-
-#ifdef SAPGSS_LIB
-#define K5_DESCRIPTION "GSSAPI - GSS API implementation for Kerberos 5 mechanism(for SAP)\0"
-#define K5_INTERNAL_NAME "sapgss\0"
-#define K5_FILETYPE    VFT_DLL
-#if !defined(_WIN32)
-#define K5_ORIGINAL_NAME "sapgss16.dll\0"
-#else
-#define K5_ORIGINAL_NAME "sapgss32.dll\0"
-#endif
-#endif /* SAPGSS */
-
 #ifdef KRB5_APP
 #define K5_DESCRIPTION "KRB5 Ticket Manager - " KRB5_PRODUCTNAME_STR "\0"
 #define K5_FILETYPE    VFT_APP
 #define K5_ORIGINAL_NAME "gss.exe\0"
 #endif
 
-#ifdef TELNET_APP
-#define K5_DESCRIPTION "Telnet - Telnet Application for " KRB5_PRODUCTNAME_STR "\0"
-#define K5_FILETYPE    VFT_APP
-#define K5_INTERNAL_NAME "TELNET\0"
-#define K5_ORIGINAL_NAME "telnet.exe\0"
-#endif
-
-#ifdef KRB524_LIB
-#define K5_DESCRIPTION "Kerberos v5 to v4 - " KRB5_PRODUCTNAME_STR "\0"
-#define K5_INTERNAL_NAME "krb524\0"
-#define K5_FILETYPE    VFT_DLL
-#define K5_ORIGINAL_NAME "krb524.dll\0"
-#endif /* KRB524_LIB */
-
-#ifdef KRB524_INIT
-#define K5_DESCRIPTION "Kerberos v5 to v4 Application - " KRB5_PRODUCTNAME_STR "\0"
-#define K5_INTERNAL_NAME "krb524_init\0"
-#define K5_FILETYPE    VFT_DLL
-#define K5_ORIGINAL_NAME "krb524_init.exe\0"
-#endif /* KRB524_INIT */
-
 #ifdef MS2MIT_APP
 #define K5_DESCRIPTION "Microsoft LSA to MIT Credential Cache Application - " KRB5_PRODUCTNAME_STR "\0"
 #define K5_INTERNAL_NAME "ms2mit\0"