diff options
author | nectar <nectar@FreeBSD.org> | 2002-11-24 20:59:25 +0000 |
---|---|---|
committer | nectar <nectar@FreeBSD.org> | 2002-11-24 20:59:25 +0000 |
commit | 1abd325d288bd51f6ca702d7fbf296a6f47f7e74 (patch) | |
tree | 1e090f07ab7ae3acaf4198828984ee6fe1b1d084 /crypto/heimdal/kdc | |
parent | 3d945415d6fa7a88b4754fd38a897dafd21685f7 (diff) | |
download | FreeBSD-src-1abd325d288bd51f6ca702d7fbf296a6f47f7e74.zip FreeBSD-src-1abd325d288bd51f6ca702d7fbf296a6f47f7e74.tar.gz |
Import of Heimdal 0.5.1.
Approved by: re
Diffstat (limited to 'crypto/heimdal/kdc')
-rw-r--r-- | crypto/heimdal/kdc/Makefile.in | 47 | ||||
-rw-r--r-- | crypto/heimdal/kdc/connect.c | 4 | ||||
-rw-r--r-- | crypto/heimdal/kdc/hprop.cat8 | 14 | ||||
-rw-r--r-- | crypto/heimdal/kdc/hpropd.cat8 | 8 | ||||
-rw-r--r-- | crypto/heimdal/kdc/kaserver.c | 10 | ||||
-rw-r--r-- | crypto/heimdal/kdc/kdc.cat8 | 32 | ||||
-rw-r--r-- | crypto/heimdal/kdc/kstash.cat8 | 6 | ||||
-rw-r--r-- | crypto/heimdal/kdc/string2key.cat8 | 9 |
8 files changed, 63 insertions, 67 deletions
diff --git a/crypto/heimdal/kdc/Makefile.in b/crypto/heimdal/kdc/Makefile.in index e8f13fd..429deea 100644 --- a/crypto/heimdal/kdc/Makefile.in +++ b/crypto/heimdal/kdc/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. +# Makefile.in generated by automake 1.6.1 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 @@ -55,7 +55,6 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -349,7 +348,8 @@ install-binPROGRAMS: $(bin_PROGRAMS) if test -f $$p \ || test -f $$p1 \ ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + p1=`echo "$$p1" | sed -e 's,^.*/,,'`; \ + f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \ else :; fi; \ @@ -358,17 +358,14 @@ install-binPROGRAMS: $(bin_PROGRAMS) uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + f=`echo "$$f" | sed -e 's,^.*/,,'`; \ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ rm -f $(DESTDIR)$(bindir)/$$f; \ done clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM) install-libexecPROGRAMS: $(libexec_PROGRAMS) @$(NORMAL_INSTALL) @@ -378,7 +375,8 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS) if test -f $$p \ || test -f $$p1 \ ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + p1=`echo "$$p1" | sed -e 's,^.*/,,'`; \ + f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \ else :; fi; \ @@ -387,17 +385,14 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS) uninstall-libexecPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(libexec_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + f=`echo "$$f" | sed -e 's,^.*/,,'`; \ echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \ rm -f $(DESTDIR)$(libexecdir)/$$f; \ done clean-libexecPROGRAMS: - @list='$(libexec_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done + -test -z "$(libexec_PROGRAMS)" || rm -f $(libexec_PROGRAMS) sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) install-sbinPROGRAMS: $(sbin_PROGRAMS) @$(NORMAL_INSTALL) @@ -407,7 +402,8 @@ install-sbinPROGRAMS: $(sbin_PROGRAMS) if test -f $$p \ || test -f $$p1 \ ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + p1=`echo "$$p1" | sed -e 's,^.*/,,'`; \ + f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(sbinPROGRAMS_INSTALL) $$p $(DESTDIR)$(sbindir)/$$f"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(sbinPROGRAMS_INSTALL) $$p $(DESTDIR)$(sbindir)/$$f; \ else :; fi; \ @@ -416,17 +412,14 @@ install-sbinPROGRAMS: $(sbin_PROGRAMS) uninstall-sbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(sbin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + f=`echo "$$f" | sed -e 's,^.*/,,'`; \ echo " rm -f $(DESTDIR)$(sbindir)/$$f"; \ rm -f $(DESTDIR)$(sbindir)/$$f; \ done clean-sbinPROGRAMS: - @list='$(sbin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done + -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) hprop$(EXEEXT): $(hprop_OBJECTS) $(hprop_DEPENDENCIES) @rm -f hprop$(EXEEXT) $(LINK) $(hprop_LDFLAGS) $(hprop_OBJECTS) $(hprop_LDADD) $(LIBS) @@ -483,10 +476,6 @@ install-man8: $(man8_MANS) $(man_MANS) if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - case "$$ext" in \ - 8*) ;; \ - *) ext='8' ;; \ - esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ @@ -552,7 +541,7 @@ top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ + @for file in $(DISTFILES); do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ @@ -602,7 +591,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/crypto/heimdal/kdc/connect.c b/crypto/heimdal/kdc/connect.c index 960cfa6..54dff30 100644 --- a/crypto/heimdal/kdc/connect.c +++ b/crypto/heimdal/kdc/connect.c @@ -33,7 +33,7 @@ #include "kdc_locl.h" -RCSID("$Id: connect.c,v 1.86 2002/08/12 13:29:48 joda Exp $"); +RCSID("$Id: connect.c,v 1.86.4.1 2002/10/21 16:05:17 joda Exp $"); /* * a tuple describing on what to listen @@ -493,7 +493,7 @@ de_http(char *buf) { char *p, *q; for(p = q = buf; *p; p++, q++) { - if(*p == '%') { + if(*p == '%' && isxdigit(p[1]) && isxdigit(p[2])) { unsigned int x; if(sscanf(p + 1, "%2x", &x) != 1) return -1; diff --git a/crypto/heimdal/kdc/hprop.cat8 b/crypto/heimdal/kdc/hprop.cat8 index 8ac798ec..0ac37e2 100644 --- a/crypto/heimdal/kdc/hprop.cat8 +++ b/crypto/heimdal/kdc/hprop.cat8 @@ -1,15 +1,15 @@ -HPROP(8) FreeBSD System Manager's Manual HPROP(8) +HPROP(8) NetBSD System Manager's Manual HPROP(8) NNAAMMEE hhpprroopp - propagate the KDC database SSYYNNOOPPSSIISS hhpprroopp [--mm _f_i_l_e | ----mmaasstteerr--kkeeyy==_f_i_l_e] [--dd _f_i_l_e | ----ddaattaabbaassee==_f_i_l_e] - [----ssoouurrccee==_h_e_i_m_d_a_l_|_m_i_t_-_d_u_m_p_|_k_r_b_4_-_d_u_m_p_|_k_r_b_4_-_d_b_|_k_a_s_e_r_v_e_r] [--rr _s_t_r_i_n_g | - ----vv44--rreeaallmm==_s_t_r_i_n_g] [--cc _c_e_l_l | ----cceellll==_c_e_l_l] [--SS | ----kkaassppeecciiaallss] [--kk - _k_e_y_t_a_b | ----kkeeyyttaabb==_k_e_y_t_a_b] [--RR _s_t_r_i_n_g | ----vv55--rreeaallmm==_s_t_r_i_n_g] - [--DD | ----ddeeccrryypptt] [--EE | ----eennccrryypptt] [--nn | ----ssttddoouutt] [--vv | ----vveerrbboossee] - [----vveerrssiioonn] [--hh | ----hheellpp] [_h_o_s_t[:_p_o_r_t]] _._._. + [----ssoouurrccee==_h_e_i_m_d_a_l_|_m_i_t_-_d_u_m_p_|_k_r_b_4_-_d_u_m_p_|_k_r_b_4_-_d_b_|_k_a_s_e_r_v_e_r] [--rr _s_t_r_i_n_g | + ----vv44--rreeaallmm==_s_t_r_i_n_g] [--cc _c_e_l_l | ----cceellll==_c_e_l_l] [--SS | ----kkaassppeecciiaallss] [--kk _k_e_y_t_a_b + | ----kkeeyyttaabb==_k_e_y_t_a_b] [--RR _s_t_r_i_n_g | ----vv55--rreeaallmm==_s_t_r_i_n_g] [--DD | ----ddeeccrryypptt] [--EE | + ----eennccrryypptt] [--nn | ----ssttddoouutt] [--vv | ----vveerrbboossee] [----vveerrssiioonn] [--hh | ----hheellpp] + [_h_o_s_t[:_p_o_r_t]] _._._. DDEESSCCRRIIPPTTIIOONN hhpprroopp takes a principal database in a specified format and converts it @@ -95,4 +95,4 @@ EEXXAAMMPPLLEESS SSEEEE AALLSSOO hpropd(8) -HEIMDAL June 19, 2000 HEIMDAL + HEIMDAL June 19, 2000 2 diff --git a/crypto/heimdal/kdc/hpropd.cat8 b/crypto/heimdal/kdc/hpropd.cat8 index 077ab2c..e72b4da 100644 --- a/crypto/heimdal/kdc/hpropd.cat8 +++ b/crypto/heimdal/kdc/hpropd.cat8 @@ -1,11 +1,11 @@ -HPROPD(8) FreeBSD System Manager's Manual HPROPD(8) +HPROPD(8) NetBSD System Manager's Manual HPROPD(8) NNAAMMEE hhpprrooppdd - receive a propagated database SSYYNNOOPPSSIISS - hhpprrooppdd [--dd _f_i_l_e | ----ddaattaabbaassee==_f_i_l_e] [--nn | ----ssttddiinn] [----pprriinntt] - [--ii | ----nnoo--iinneettdd] [--kk _k_e_y_t_a_b | ----kkeeyyttaabb==_k_e_y_t_a_b] [--44 | ----vv44dduummpp] + hhpprrooppdd [--dd _f_i_l_e | ----ddaattaabbaassee==_f_i_l_e] [--nn | ----ssttddiinn] [----pprriinntt] [--ii | + ----nnoo--iinneettdd] [--kk _k_e_y_t_a_b | ----kkeeyyttaabb==_k_e_y_t_a_b] [--44 | ----vv44dduummpp] DDEESSCCRRIIPPTTIIOONN hhpprrooppdd receives databases sent by hhpprroopp. and writes it as a local @@ -39,4 +39,4 @@ DDEESSCCRRIIPPTTIIOONN SSEEEE AALLSSOO hprop(8) -HEIMDAL August 27, 1997 HEIMDAL + HEIMDAL August 27, 1997 1 diff --git a/crypto/heimdal/kdc/kaserver.c b/crypto/heimdal/kdc/kaserver.c index a281c00..7eeff8a 100644 --- a/crypto/heimdal/kdc/kaserver.c +++ b/crypto/heimdal/kdc/kaserver.c @@ -33,7 +33,7 @@ #include "kdc_locl.h" -RCSID("$Id: kaserver.c,v 1.20 2002/09/09 14:03:02 nectar Exp $"); +RCSID("$Id: kaserver.c,v 1.20.2.1 2002/10/21 14:30:51 joda Exp $"); #include <rx.h> @@ -477,6 +477,10 @@ do_authenticate (struct rx_header *hdr, /* life */ max_life = end_time - kdc_time; + /* end_time - kdc_time can sometimes be non-positive due to slight + time skew between client and server. Let's make sure it is postive */ + if(max_life < 1) + max_life = 1; if (client_entry->max_life) max_life = min(max_life, *client_entry->max_life); if (server_entry->max_life) @@ -710,6 +714,10 @@ do_getticket (struct rx_header *hdr, /* life */ max_life = end_time - kdc_time; + /* end_time - kdc_time can sometimes be non-positive due to slight + time skew between client and server. Let's make sure it is postive */ + if(max_life < 1) + max_life = 1; if (krbtgt_entry->max_life) max_life = min(max_life, *krbtgt_entry->max_life); if (server_entry->max_life) diff --git a/crypto/heimdal/kdc/kdc.cat8 b/crypto/heimdal/kdc/kdc.cat8 index 53b173b..4d83d59 100644 --- a/crypto/heimdal/kdc/kdc.cat8 +++ b/crypto/heimdal/kdc/kdc.cat8 @@ -1,13 +1,13 @@ -KDC(8) FreeBSD System Manager's Manual KDC(8) +KDC(8) NetBSD System Manager's Manual KDC(8) NNAAMMEE kkddcc - Kerberos 5 server SSYYNNOOPPSSIISS kkddcc [--cc _f_i_l_e | ----ccoonnffiigg--ffiillee==_f_i_l_e] [--pp | ----nnoo--rreeqquuiirree--pprreeaauutthh] - [----mmaaxx--rreeqquueesstt==_s_i_z_e] [--HH | ----eennaabbllee--hhttttpp] [--rr _s_t_r_i_n_g | - ----vv44--rreeaallmm==_s_t_r_i_n_g] [--KK | ----nnoo--kkaasseerrvveerr] [--rr _r_e_a_l_m] [----vv44--rreeaallmm==_r_e_a_l_m] - [--PP _s_t_r_i_n_g | ----ppoorrttss==_s_t_r_i_n_g] [----aaddddrreesssseess==_l_i_s_t _o_f _a_d_d_r_e_s_s_e_s] + [----mmaaxx--rreeqquueesstt==_s_i_z_e] [--HH | ----eennaabbllee--hhttttpp] [--rr _s_t_r_i_n_g | ----vv44--rreeaallmm==_s_t_r_i_n_g] + [--KK | ----nnoo--kkaasseerrvveerr] [--rr _r_e_a_l_m] [----vv44--rreeaallmm==_r_e_a_l_m] [--PP _s_t_r_i_n_g | + ----ppoorrttss==_s_t_r_i_n_g] [----aaddddrreesssseess==_l_i_s_t _o_f _a_d_d_r_e_s_s_e_s] DDEESSCCRRIIPPTTIIOONN kkddcc serves requests for tickets. When it starts, it first checks the @@ -26,11 +26,11 @@ DDEESSCCRRIIPPTTIIOONN REQ for all principals. The use of pre-authentication makes it more difficult to do offline password attacks. You might want to turn it off if you have clients that doesn't do pre-authentica- - tion. Since the version 4 protocol doesn't support any pre- - authentication, so serving version 4 clients is just about the - same as not requiring pre-athentication. The default is to - require pre-authentication. Adding the require-preauth per prin- - cipal is a more flexible way of handling this. + tion. Since the version 4 protocol doesn't support any pre-au- + thentication, so serving version 4 clients is just about the same + as not requiring pre-athentication. The default is to require + pre-authentication. Adding the require-preauth per principal is a + more flexible way of handling this. ----mmaaxx--rreeqquueesstt==_s_i_z_e Gives an upper limit on the size of the requests that the kdc is @@ -58,16 +58,16 @@ DDEESSCCRRIIPPTTIIOONN ----aaddddrreesssseess==_l_i_s_t _o_f _a_d_d_r_e_s_s_e_s The list of addresses to listen for requests on. By default, the kdc will listen on all the locally configured addresses. If only - a subset is desired, or the automatic detection fails, this - option might be used. + a subset is desired, or the automatic detection fails, this op- + tion might be used. All activities , are logged to one or more destinations, see krb5.conf(5), and krb5_openlog(3). The entity used for logging is kkddcc. CCOONNFFIIGGUURRAATTIIOONN FFIILLEE The configuration file has the same syntax as krb5.conf(5), but will be - read before _/_e_t_c_/_k_r_b_5_._c_o_n_f, so it may override settings found there. - Options specific to the KDC only are found in the ``[kdc]'' section. All + read before _/_e_t_c_/_k_r_b_5_._c_o_n_f, so it may override settings found there. Op- + tions specific to the KDC only are found in the ``[kdc]'' section. All the command-line options can preferably be added in the configuration file. The only difference is the pre-authentication flag, that has to be specified as: @@ -80,8 +80,8 @@ CCOONNFFIIGGUURRAATTIIOONN FFIILLEE equivalents: check-ticket-addresses = _b_o_o_l_e_a_n - Check the addresses in the ticket when processing TGS - requests. The default is FALSE. + Check the addresses in the ticket when processing TGS re- + quests. The default is FALSE. allow-null-ticket-addresses = _b_o_o_l_e_a_n Permit tickets with no addresses. This option is only rele- @@ -123,4 +123,4 @@ BBUUGGSS SSEEEE AALLSSOO kinit(1), krb5.conf(5) -HEIMDAL August 22, 2002 HEIMDAL + HEIMDAL August 22, 2002 2 diff --git a/crypto/heimdal/kdc/kstash.cat8 b/crypto/heimdal/kdc/kstash.cat8 index 2090932..266648e 100644 --- a/crypto/heimdal/kdc/kstash.cat8 +++ b/crypto/heimdal/kdc/kstash.cat8 @@ -1,11 +1,11 @@ -KSTASH(8) FreeBSD System Manager's Manual KSTASH(8) +KSTASH(8) NetBSD System Manager's Manual KSTASH(8) NNAAMMEE kkssttaasshh - store the KDC master password in a file SSYYNNOOPPSSIISS kkssttaasshh [--ee _s_t_r_i_n_g | ----eennccttyyppee==_s_t_r_i_n_g] [--kk _f_i_l_e | ----kkeeyy--ffiillee==_f_i_l_e] - [----ccoonnvveerrtt--ffiillee] [----mmaasstteerr--kkeeyy--ffdd==_f_d] [--hh | ----hheellpp] [----vveerrssiioonn] + [----ccoonnvveerrtt--ffiillee] [----mmaasstteerr--kkeeyy--ffdd==_f_d] [--hh | ----hheellpp] [----vveerrssiioonn] DDEESSCCRRIIPPTTIIOONN kkssttaasshh reads the Kerberos master key and stores it in a file that will be @@ -30,4 +30,4 @@ DDEESSCCRRIIPPTTIIOONN SSEEEE AALLSSOO kdc(8) -HEIMDAL September 1, 2000 HEIMDAL + HEIMDAL September 1, 2000 1 diff --git a/crypto/heimdal/kdc/string2key.cat8 b/crypto/heimdal/kdc/string2key.cat8 index 4ebf66f..60a819e 100644 --- a/crypto/heimdal/kdc/string2key.cat8 +++ b/crypto/heimdal/kdc/string2key.cat8 @@ -1,13 +1,12 @@ -STRING2KEY(8) FreeBSD System Manager's Manual STRING2KEY(8) +STRING2KEY(8) NetBSD System Manager's Manual STRING2KEY(8) NNAAMMEE ssttrriinngg22kkeeyy - map a password into a key SSYYNNOOPPSSIISS ssttrriinngg22kkeeyy [--55 | ----vveerrssiioonn55] [--44 | ----vveerrssiioonn44] [--aa | ----aaffss] [--cc _c_e_l_l | - ----cceellll==_c_e_l_l] [--ww _p_a_s_s_w_o_r_d | ----ppaasssswwoorrdd==_p_a_s_s_w_o_r_d] [--pp _p_r_i_n_c_i_p_a_l - | ----pprriinncciippaall==_p_r_i_n_c_i_p_a_l] [--kk _s_t_r_i_n_g | ----kkeeyyttyyppee==_s_t_r_i_n_g] - _p_a_s_s_w_o_r_d + ----cceellll==_c_e_l_l] [--ww _p_a_s_s_w_o_r_d | ----ppaasssswwoorrdd==_p_a_s_s_w_o_r_d] [--pp _p_r_i_n_c_i_p_a_l | + ----pprriinncciippaall==_p_r_i_n_c_i_p_a_l] [--kk _s_t_r_i_n_g | ----kkeeyyttyyppee==_s_t_r_i_n_g] _p_a_s_s_w_o_r_d DDEESSCCRRIIPPTTIIOONN ssttrriinngg22kkeeyy performs the string-to-key function. This is useful when you @@ -39,4 +38,4 @@ DDEESSCCRRIIPPTTIIOONN ----hheellpp -HEIMDAL March 4, 2000 HEIMDAL + HEIMDAL March 4, 2000 1 |