~mathiaz/ubuntu/lucid/mysql-dfsg-5.1/zap-bug-552053

« back to all changes in this revision

Viewing changes to include/my_md5.h

  • Committer: Bazaar Package Importer
  • Author(s): Mathias Gug
  • Date: 2009-06-25 12:55:45 UTC
  • mfrom: (1.1.2 upstream) (0.1.3 experimental)
  • Revision ID: james.westby@ubuntu.com-20090625125545-m8ogs96zzsri74xe
Tags: 5.1.34-1ubuntu1
* Merge from debian experimental (and 5.0 from main), remaining changes:
  - debian/mysql-server-5.1.config:
    + ask for MySQL root password at priority high instead of medium so
      that the password prompt is seen on a default install. (LP: #319843)
    + don't ask for root password when upgrading from a 5.0 install.
  - debian/control:
    + Make libmysqlclient16-dev a transitional package depending on
      libmysqlclient-dev.
    + Make libmysqlclient-dev conflict with libmysqlclient15-dev.
    + Don't build mysql-server, mysql-client, mysql-common and
      libmysqlclient15-dev binary packages since they're still provided
      by mysql-dfsg-5.0.
    + Make mysql-{client,server}-5.1 packages conflict and
      replace mysql-{client,server}-5.0, but not provide
      mysql-{client,server}.
    + Depend on a specific version of mysql-common rather than the src
      version of mysql-dfsg-5.1 since mysql-common is currently part of
      mysql-dfsg-5.0.
    + Lower mailx from a Recommends to a Suggests to avoid pulling in
      a full MTA on all installs of mysql-server. (LP: #259477)
  - debian/rules:
    + added -fno-strict-aliasing to CFLAGS to get around mysql testsuite
      build failures.
    + install mysql-test and sql-bench to /usr/share/mysql/ rather than
      /usr/.
  - debian/additions/debian-start.inc.sh: support ANSI mode (LP: #310211)
  - Add AppArmor profile:
    - debian/apparmor-profile: apparmor profile.
    - debian/rules, debian/mysql-server-5.0.files: install apparmor profile.
    - debian/mysql-server-5.0.dirs: add etc/apparmor.d/force-complain
    - debian/mysql-server-5.0.postrm: remove symlink in force-complain/ on
      purge.
    - debian/mysql-server-5.1.README.Debian: add apparmor documentation.
    - debian/additions/my.cnf: Add warning about apparmor. (LP: #201799)
    - debian/mysql-server-5.1.postinst: reload apparmor profiles.
  - debian/additions/my.cnf: remove language option. Error message files are
    located in a different directory in MySQL 5.0. Setting the language
    option to use /usr/share/mysql/english breaks 5.0. Both 5.0 and 5.1
    use a default value that works. (LP: #316974)
  - debian/mysql-server-5.1.mysql.init:
    + Clearly indicate that we do not support running multiple instances
      of mysqld by duplicating the init script.
      (closes: #314785, #324834, #435165, #444216)
    + Properly parameterize all existing references to the mysql config
      file (/etc/mysql/my.cnf).
  - debian/mysql-server-5.0.postinst: Clear out the second password
    when setting up mysql. (LP: #344816)
  - mysql-server-core-5.1 package for files needed by Akonadi:
    + debian/control: create mysql-server-core-5.1 package.
    + debian/mysql-server-core-5.1.files, debian/mysql-server-5.1.files:
      move core mysqld files to mysql-server-core-5.1 package.
  - Don't package sql-bench and mysql-test file.
* Dropped changes:
  - debian/patches/92_ssl_test_cert.dpatch: certificate expiration in
    test suite (LP: #323755). Included upstream.
* Dropped from 5.0:
  - apparmor profile:
    - debian/control: Recommends apparmor >= 2.1+1075-0ubuntu6. All version
      of apparmor-profile (>hardy) are higher than this version.
    - debian/mysql-server-5.0.preinst: create symlink for force-complain/
      on pre-feisty upgrades, upgrades where apparmor-profiles profile is
      unchanged (ie non-enforcing) and upgrades where the profile
      doesn't exist. Support for pre-hardy upgrades is no longer needed.
* debian/mysql-server-5.1.postinst: fix debian-sys-maint user creation.

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
   along with this program; if not, write to the Free Software
14
14
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
15
15
 
16
 
 
17
 
/* MD5.H - header file for MD5C.C
18
 
 */
19
 
 
20
 
/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
21
 
rights reserved.
22
 
 
23
 
License to copy and use this software is granted provided that it
24
 
is identified as the "RSA Data Security, Inc. MD5 Message-Digest
25
 
Algorithm" in all material mentioning or referencing this software
26
 
or this function.
27
 
 
28
 
License is also granted to make and use derivative works provided
29
 
that such works are identified as "derived from the RSA Data
30
 
Security, Inc. MD5 Message-Digest Algorithm" in all material
31
 
mentioning or referencing the derived work.
32
 
 
33
 
RSA Data Security, Inc. makes no representations concerning either
34
 
the merchantability of this software or the suitability of this
35
 
software for any particular purpose. It is provided "as is"
36
 
without express or implied warranty of any kind.
37
 
 
38
 
These notices must be retained in any copies of any part of this
39
 
documentation and/or software.
40
 
 */
41
 
 
42
 
/* GLOBAL.H - RSAREF types and constants
43
 
 */
44
 
 
45
 
/* PROTOTYPES should be set to one if and only if the compiler supports
46
 
  function argument prototyping.
47
 
The following makes PROTOTYPES default to 0 if it has not already
48
 
  been defined with C compiler flags.
49
 
 */
50
 
 
51
 
/* egcs 1.1.2 under linux didn't defined it.... :( */
52
 
 
53
 
#ifndef PROTOTYPES
54
 
#define PROTOTYPES 1                            /* Assume prototypes */
55
 
#endif
56
 
 
57
 
/* POINTER defines a generic pointer type */
58
 
typedef unsigned char *POINTER;
59
 
 
60
 
/* UINT2 defines a two byte word */
61
 
typedef uint16 UINT2;                           /* Fix for MySQL / Alpha */
62
 
 
63
 
/* UINT4 defines a four byte word */
64
 
typedef uint32 UINT4;                           /* Fix for MySQL / Alpha */
65
 
 
66
 
/* PROTO_LIST is defined depending on how PROTOTYPES is defined above.
67
 
If using PROTOTYPES, then PROTO_LIST returns the list, otherwise it
68
 
  returns an empty list.
69
 
 */
70
 
#if PROTOTYPES
71
 
#define PROTO_LIST(list) list
72
 
#else
73
 
#define PROTO_LIST(list) ()
74
 
#endif
75
 
/* MD5 context. */
 
16
/* See md5.c for explanation and copyright information.  */
 
17
 
 
18
/*
 
19
 * $FreeBSD: src/contrib/cvs/lib/md5.h,v 1.2 1999/12/11 15:10:02 peter Exp $
 
20
 */
 
21
 
 
22
/* Unlike previous versions of this code, uint32 need not be exactly
 
23
   32 bits, merely 32 bits or more.  Choosing a data type which is 32
 
24
   bits instead of 64 is not important; speed is considerably more
 
25
   important.  ANSI guarantees that "unsigned long" will be big enough,
 
26
   and always using it seems to have few disadvantages.  */
 
27
typedef uint32 cvs_uint32;
 
28
 
76
29
typedef struct {
77
 
  UINT4 state[4];                                   /* state (ABCD) */
78
 
  UINT4 count[2];        /* number of bits, modulo 2^64 (lsb first) */
79
 
  unsigned char buffer[64];                         /* input buffer */
80
 
} my_MD5_CTX;
 
30
  cvs_uint32 buf[4];
 
31
  cvs_uint32 bits[2];
 
32
  unsigned char in[64];
 
33
} my_MD5Context;
81
34
 
82
35
#ifdef __cplusplus
83
36
extern "C" {
84
37
#endif
85
 
       void my_MD5Init PROTO_LIST ((my_MD5_CTX *));
86
 
       void my_MD5Update PROTO_LIST
87
 
         ((my_MD5_CTX *, unsigned char *, unsigned int));
88
 
       void my_MD5Final PROTO_LIST ((unsigned char [16], my_MD5_CTX *));
 
38
void my_MD5Init (my_MD5Context *context);
 
39
void my_MD5Update (my_MD5Context *context,
 
40
                   unsigned char const *buf, unsigned len);
 
41
void my_MD5Final (unsigned char digest[16],
 
42
                  my_MD5Context *context);
89
43
 
90
44
#ifdef __cplusplus
91
45
}
92
46
#endif
 
47
 
 
48
#define MY_MD5_HASH(digest,buf,len) \
 
49
do { \
 
50
  my_MD5Context ctx; \
 
51
  my_MD5Init (&ctx); \
 
52
  my_MD5Update (&ctx, buf, len); \
 
53
  my_MD5Final (digest, &ctx); \
 
54
} while (0)