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