You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by tr...@locus.apache.org on 2000/05/24 19:19:12 UTC

cvs commit: apache-2.0/src/ap ap_base64.c ap_sha1.c

trawick     00/05/24 10:19:11

  Modified:    src/ap   ap_base64.c ap_sha1.c
  Log:
  EBCDIC: Fail the setup of EBCDIC translation tables in sha1 and base64
  code if the translation handle passed in is not for a single-byte
  translation.
  
  Revision  Changes    Path
  1.9       +17 -0     apache-2.0/src/ap/ap_base64.c
  
  Index: ap_base64.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/ap/ap_base64.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ap_base64.c	2000/05/16 03:11:09	1.8
  +++ ap_base64.c	2000/05/24 17:19:10	1.9
  @@ -120,7 +120,24 @@
       int i;
       ap_size_t inbytes_left, outbytes_left;
       ap_status_t rv;
  +    int onoff;
       
  +    /* Only single-byte conversion is supported.
  +     */
  +    rv = ap_xlate_get_sb(to_ascii, &onoff);
  +    if (rv) {
  +        return rv;
  +    }
  +    if (!onoff) { /* If conversion is not single-byte-only */
  +        return APR_EINVAL;
  +    }
  +    rv = ap_xlate_get_sb(to_ebcdic, &onoff);
  +    if (rv) {
  +        return rv;
  +    }
  +    if (!onoff) { /* If conversion is not single-byte-only */
  +        return APR_EINVAL;
  +    }
       xlate_to_ebcdic = to_ebcdic;
       for (i = 0; i < sizeof(os_toascii); i++) {
           os_toascii[i] = i;
  
  
  
  1.9       +12 -0     apache-2.0/src/ap/ap_sha1.c
  
  Index: ap_sha1.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/ap/ap_sha1.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ap_sha1.c	2000/05/16 19:48:07	1.8
  +++ ap_sha1.c	2000/05/24 17:19:10	1.9
  @@ -123,6 +123,18 @@
   
   API_EXPORT(ap_status_t) ap_SHA1InitEBCDIC(ap_xlate_t *x)
   {
  +    ap_status_t rv;
  +    int onoff;
  +
  +    /* Only single-byte conversion is supported.
  +     */
  +    rv = ap_xlate_get_sb(x, &onoff);
  +    if (rv) {
  +        return rv;
  +    }
  +    if (!onoff) { /* If conversion is not single-byte-only */
  +        return APR_EINVAL;
  +    }
       ebcdic2ascii_xlate = x;
       return APR_SUCCESS;
   }