1*0Sstevel@tonic-gate#!/usr/local/bin/perl 2*0Sstevel@tonic-gate 3*0Sstevel@tonic-gate$NUMBER=0x01; 4*0Sstevel@tonic-gate$UPPER=0x02; 5*0Sstevel@tonic-gate$LOWER=0x04; 6*0Sstevel@tonic-gate$UNDER=0x100; 7*0Sstevel@tonic-gate$PUNCTUATION=0x200; 8*0Sstevel@tonic-gate$WS=0x10; 9*0Sstevel@tonic-gate$ESC=0x20; 10*0Sstevel@tonic-gate$QUOTE=0x40; 11*0Sstevel@tonic-gate$DQUOTE=0x400; 12*0Sstevel@tonic-gate$COMMENT=0x80; 13*0Sstevel@tonic-gate$FCOMMENT=0x800; 14*0Sstevel@tonic-gate$EOF=0x08; 15*0Sstevel@tonic-gate$HIGHBIT=0x1000; 16*0Sstevel@tonic-gate 17*0Sstevel@tonic-gateforeach (0 .. 255) 18*0Sstevel@tonic-gate { 19*0Sstevel@tonic-gate $v=0; 20*0Sstevel@tonic-gate $c=sprintf("%c",$_); 21*0Sstevel@tonic-gate $v|=$NUMBER if ($c =~ /[0-9]/); 22*0Sstevel@tonic-gate $v|=$UPPER if ($c =~ /[A-Z]/); 23*0Sstevel@tonic-gate $v|=$LOWER if ($c =~ /[a-z]/); 24*0Sstevel@tonic-gate $v|=$UNDER if ($c =~ /_/); 25*0Sstevel@tonic-gate $v|=$PUNCTUATION if ($c =~ /[!\.%&\*\+,\/;\?\@\^\~\|-]/); 26*0Sstevel@tonic-gate $v|=$WS if ($c =~ /[ \t\r\n]/); 27*0Sstevel@tonic-gate $v|=$ESC if ($c =~ /\\/); 28*0Sstevel@tonic-gate $v|=$QUOTE if ($c =~ /['`"]/); # for emacs: "`'}/) 29*0Sstevel@tonic-gate $v|=$COMMENT if ($c =~ /\#/); 30*0Sstevel@tonic-gate $v|=$EOF if ($c =~ /\0/); 31*0Sstevel@tonic-gate $v|=$HIGHBIT if ($c =~/[\x80-\xff]/); 32*0Sstevel@tonic-gate 33*0Sstevel@tonic-gate push(@V_def,$v); 34*0Sstevel@tonic-gate } 35*0Sstevel@tonic-gate 36*0Sstevel@tonic-gateforeach (0 .. 255) 37*0Sstevel@tonic-gate { 38*0Sstevel@tonic-gate $v=0; 39*0Sstevel@tonic-gate $c=sprintf("%c",$_); 40*0Sstevel@tonic-gate $v|=$NUMBER if ($c =~ /[0-9]/); 41*0Sstevel@tonic-gate $v|=$UPPER if ($c =~ /[A-Z]/); 42*0Sstevel@tonic-gate $v|=$LOWER if ($c =~ /[a-z]/); 43*0Sstevel@tonic-gate $v|=$UNDER if ($c =~ /_/); 44*0Sstevel@tonic-gate $v|=$PUNCTUATION if ($c =~ /[!\.%&\*\+,\/;\?\@\^\~\|-]/); 45*0Sstevel@tonic-gate $v|=$WS if ($c =~ /[ \t\r\n]/); 46*0Sstevel@tonic-gate $v|=$DQUOTE if ($c =~ /["]/); # for emacs: "}/) 47*0Sstevel@tonic-gate $v|=$FCOMMENT if ($c =~ /;/); 48*0Sstevel@tonic-gate $v|=$EOF if ($c =~ /\0/); 49*0Sstevel@tonic-gate $v|=$HIGHBIT if ($c =~/[\x80-\xff]/); 50*0Sstevel@tonic-gate 51*0Sstevel@tonic-gate push(@V_w32,$v); 52*0Sstevel@tonic-gate } 53*0Sstevel@tonic-gate 54*0Sstevel@tonic-gateprint <<"EOF"; 55*0Sstevel@tonic-gate/* crypto/conf/conf_def.h */ 56*0Sstevel@tonic-gate/* Copyright (C) 1995-1998 Eric Young (eay\@cryptsoft.com) 57*0Sstevel@tonic-gate * All rights reserved. 58*0Sstevel@tonic-gate * 59*0Sstevel@tonic-gate * This package is an SSL implementation written 60*0Sstevel@tonic-gate * by Eric Young (eay\@cryptsoft.com). 61*0Sstevel@tonic-gate * The implementation was written so as to conform with Netscapes SSL. 62*0Sstevel@tonic-gate * 63*0Sstevel@tonic-gate * This library is free for commercial and non-commercial use as long as 64*0Sstevel@tonic-gate * the following conditions are aheared to. The following conditions 65*0Sstevel@tonic-gate * apply to all code found in this distribution, be it the RC4, RSA, 66*0Sstevel@tonic-gate * lhash, DES, etc., code; not just the SSL code. The SSL documentation 67*0Sstevel@tonic-gate * included with this distribution is covered by the same copyright terms 68*0Sstevel@tonic-gate * except that the holder is Tim Hudson (tjh\@cryptsoft.com). 69*0Sstevel@tonic-gate * 70*0Sstevel@tonic-gate * Copyright remains Eric Young's, and as such any Copyright notices in 71*0Sstevel@tonic-gate * the code are not to be removed. 72*0Sstevel@tonic-gate * If this package is used in a product, Eric Young should be given attribution 73*0Sstevel@tonic-gate * as the author of the parts of the library used. 74*0Sstevel@tonic-gate * This can be in the form of a textual message at program startup or 75*0Sstevel@tonic-gate * in documentation (online or textual) provided with the package. 76*0Sstevel@tonic-gate * 77*0Sstevel@tonic-gate * Redistribution and use in source and binary forms, with or without 78*0Sstevel@tonic-gate * modification, are permitted provided that the following conditions 79*0Sstevel@tonic-gate * are met: 80*0Sstevel@tonic-gate * 1. Redistributions of source code must retain the copyright 81*0Sstevel@tonic-gate * notice, this list of conditions and the following disclaimer. 82*0Sstevel@tonic-gate * 2. Redistributions in binary form must reproduce the above copyright 83*0Sstevel@tonic-gate * notice, this list of conditions and the following disclaimer in the 84*0Sstevel@tonic-gate * documentation and/or other materials provided with the distribution. 85*0Sstevel@tonic-gate * 3. All advertising materials mentioning features or use of this software 86*0Sstevel@tonic-gate * must display the following acknowledgement: 87*0Sstevel@tonic-gate * "This product includes cryptographic software written by 88*0Sstevel@tonic-gate * Eric Young (eay\@cryptsoft.com)" 89*0Sstevel@tonic-gate * The word 'cryptographic' can be left out if the rouines from the library 90*0Sstevel@tonic-gate * being used are not cryptographic related :-). 91*0Sstevel@tonic-gate * 4. If you include any Windows specific code (or a derivative thereof) from 92*0Sstevel@tonic-gate * the apps directory (application code) you must include an acknowledgement: 93*0Sstevel@tonic-gate * "This product includes software written by Tim Hudson (tjh\@cryptsoft.com)" 94*0Sstevel@tonic-gate * 95*0Sstevel@tonic-gate * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 96*0Sstevel@tonic-gate * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 97*0Sstevel@tonic-gate * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 98*0Sstevel@tonic-gate * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 99*0Sstevel@tonic-gate * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 100*0Sstevel@tonic-gate * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 101*0Sstevel@tonic-gate * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 102*0Sstevel@tonic-gate * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 103*0Sstevel@tonic-gate * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 104*0Sstevel@tonic-gate * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 105*0Sstevel@tonic-gate * SUCH DAMAGE. 106*0Sstevel@tonic-gate * 107*0Sstevel@tonic-gate * The licence and distribution terms for any publically available version or 108*0Sstevel@tonic-gate * derivative of this code cannot be changed. i.e. this code cannot simply be 109*0Sstevel@tonic-gate * copied and put under another distribution licence 110*0Sstevel@tonic-gate * [including the GNU Public Licence.] 111*0Sstevel@tonic-gate */ 112*0Sstevel@tonic-gate 113*0Sstevel@tonic-gate/* THIS FILE WAS AUTOMAGICALLY GENERATED! 114*0Sstevel@tonic-gate Please modify and use keysets.pl to regenerate it. */ 115*0Sstevel@tonic-gate 116*0Sstevel@tonic-gate#define CONF_NUMBER $NUMBER 117*0Sstevel@tonic-gate#define CONF_UPPER $UPPER 118*0Sstevel@tonic-gate#define CONF_LOWER $LOWER 119*0Sstevel@tonic-gate#define CONF_UNDER $UNDER 120*0Sstevel@tonic-gate#define CONF_PUNCTUATION $PUNCTUATION 121*0Sstevel@tonic-gate#define CONF_WS $WS 122*0Sstevel@tonic-gate#define CONF_ESC $ESC 123*0Sstevel@tonic-gate#define CONF_QUOTE $QUOTE 124*0Sstevel@tonic-gate#define CONF_DQUOTE $DQUOTE 125*0Sstevel@tonic-gate#define CONF_COMMENT $COMMENT 126*0Sstevel@tonic-gate#define CONF_FCOMMENT $FCOMMENT 127*0Sstevel@tonic-gate#define CONF_EOF $EOF 128*0Sstevel@tonic-gate#define CONF_HIGHBIT $HIGHBIT 129*0Sstevel@tonic-gate#define CONF_ALPHA (CONF_UPPER|CONF_LOWER) 130*0Sstevel@tonic-gate#define CONF_ALPHA_NUMERIC (CONF_ALPHA|CONF_NUMBER|CONF_UNDER) 131*0Sstevel@tonic-gate#define CONF_ALPHA_NUMERIC_PUNCT (CONF_ALPHA|CONF_NUMBER|CONF_UNDER| \\ 132*0Sstevel@tonic-gate CONF_PUNCTUATION) 133*0Sstevel@tonic-gate 134*0Sstevel@tonic-gate#define KEYTYPES(c) ((unsigned short *)((c)->meth_data)) 135*0Sstevel@tonic-gate#ifndef CHARSET_EBCDIC 136*0Sstevel@tonic-gate#define IS_COMMENT(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_COMMENT) 137*0Sstevel@tonic-gate#define IS_FCOMMENT(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_FCOMMENT) 138*0Sstevel@tonic-gate#define IS_EOF(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_EOF) 139*0Sstevel@tonic-gate#define IS_ESC(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_ESC) 140*0Sstevel@tonic-gate#define IS_NUMBER(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_NUMBER) 141*0Sstevel@tonic-gate#define IS_WS(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_WS) 142*0Sstevel@tonic-gate#define IS_ALPHA_NUMERIC(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_ALPHA_NUMERIC) 143*0Sstevel@tonic-gate#define IS_ALPHA_NUMERIC_PUNCT(c,a) \\ 144*0Sstevel@tonic-gate (KEYTYPES(c)[(a)&0xff]&CONF_ALPHA_NUMERIC_PUNCT) 145*0Sstevel@tonic-gate#define IS_QUOTE(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_QUOTE) 146*0Sstevel@tonic-gate#define IS_DQUOTE(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_DQUOTE) 147*0Sstevel@tonic-gate#define IS_HIGHBIT(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_HIGHBIT) 148*0Sstevel@tonic-gate 149*0Sstevel@tonic-gate#else /*CHARSET_EBCDIC*/ 150*0Sstevel@tonic-gate 151*0Sstevel@tonic-gate#define IS_COMMENT(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_COMMENT) 152*0Sstevel@tonic-gate#define IS_FCOMMENT(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_FCOMMENT) 153*0Sstevel@tonic-gate#define IS_EOF(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_EOF) 154*0Sstevel@tonic-gate#define IS_ESC(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_ESC) 155*0Sstevel@tonic-gate#define IS_NUMBER(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_NUMBER) 156*0Sstevel@tonic-gate#define IS_WS(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_WS) 157*0Sstevel@tonic-gate#define IS_ALPHA_NUMERIC(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_ALPHA_NUMERIC) 158*0Sstevel@tonic-gate#define IS_ALPHA_NUMERIC_PUNCT(c,a) \\ 159*0Sstevel@tonic-gate (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_ALPHA_NUMERIC_PUNCT) 160*0Sstevel@tonic-gate#define IS_QUOTE(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_QUOTE) 161*0Sstevel@tonic-gate#define IS_DQUOTE(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_DQUOTE) 162*0Sstevel@tonic-gate#define IS_HIGHBIT(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_HIGHBIT) 163*0Sstevel@tonic-gate#endif /*CHARSET_EBCDIC*/ 164*0Sstevel@tonic-gate 165*0Sstevel@tonic-gateEOF 166*0Sstevel@tonic-gate 167*0Sstevel@tonic-gateprint "static unsigned short CONF_type_default[256]={"; 168*0Sstevel@tonic-gate 169*0Sstevel@tonic-gatefor ($i=0; $i<256; $i++) 170*0Sstevel@tonic-gate { 171*0Sstevel@tonic-gate print "\n\t" if ($i % 8) == 0; 172*0Sstevel@tonic-gate printf "0x%04X,",$V_def[$i]; 173*0Sstevel@tonic-gate } 174*0Sstevel@tonic-gate 175*0Sstevel@tonic-gateprint "\n\t};\n\n"; 176*0Sstevel@tonic-gate 177*0Sstevel@tonic-gateprint "static unsigned short CONF_type_win32[256]={"; 178*0Sstevel@tonic-gate 179*0Sstevel@tonic-gatefor ($i=0; $i<256; $i++) 180*0Sstevel@tonic-gate { 181*0Sstevel@tonic-gate print "\n\t" if ($i % 8) == 0; 182*0Sstevel@tonic-gate printf "0x%04X,",$V_w32[$i]; 183*0Sstevel@tonic-gate } 184*0Sstevel@tonic-gate 185*0Sstevel@tonic-gateprint "\n\t};\n\n"; 186