~andersk/ubuntu/oneiric/openssl/spurious-reboot

« back to all changes in this revision

Viewing changes to crypto/seed/seed_cfb.c

  • Committer: Bazaar Package Importer
  • Author(s): Colin Watson
  • Date: 2011-05-01 23:51:53 UTC
  • mfrom: (11.1.20 sid)
  • Revision ID: james.westby@ubuntu.com-20110501235153-bjcxitndquaezb68
Tags: 1.0.0d-2ubuntu1
* Resynchronise with Debian (LP: #675566).  Remaining changes:
  - debian/libssl1.0.0.postinst:
    + Display a system restart required notification bubble on libssl1.0.0
      upgrade.
    + Use a different priority for libssl1.0.0/restart-services depending
      on whether a desktop, or server dist-upgrade is being performed.
  - debian/{libssl1.0.0-udeb.dirs, control, rules}: Create
    libssl1.0.0-udeb, for the benefit of wget-udeb (no wget-udeb package
    in Debian).
  - debian/{libcrypto1.0.0-udeb.dirs, libssl1.0.0.dirs, libssl1.0.0.files,
    rules}: Move runtime libraries to /lib, for the benefit of
    wpasupplicant.
  - debian/patches/aesni.patch: Backport Intel AES-NI support, now from
    http://rt.openssl.org/Ticket/Display.html?id=2065 rather than the
    0.9.8 variant.
  - debian/patches/Bsymbolic-functions.patch: Link using
    -Bsymbolic-functions.
  - debian/patches/perlpath-quilt.patch: Don't change perl #! paths under
    .pc.
  - debian/rules:
    + Don't run 'make test' when cross-building.
    + Use host compiler when cross-building.  Patch from Neil Williams.
    + Don't build for processors no longer supported: i486, i586 (on
      i386), v8 (on sparc).
    + Fix Makefile to properly clean up libs/ dirs in clean target.
    + Replace duplicate files in the doc directory with symlinks.
* Update architectures affected by Bsymbolic-functions.patch.
* Drop debian/patches/no-sslv2.patch; Debian now adds the 'no-ssl2'
  configure option, which compiles out SSLv2 support entirely, so this is
  no longer needed.
* Drop openssl-doc in favour of the libssl-doc package introduced by
  Debian.  Add Conflicts/Replaces until the next LTS release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
105
105
 * [including the GNU Public Licence.]
106
106
 */
107
107
 
108
 
#include "seed_locl.h"
109
 
#include <string.h>
 
108
#include <openssl/seed.h>
 
109
#include <openssl/modes.h>
110
110
 
111
111
void SEED_cfb128_encrypt(const unsigned char *in, unsigned char *out,
112
112
                         size_t len, const SEED_KEY_SCHEDULE *ks,
113
113
                         unsigned char ivec[SEED_BLOCK_SIZE], int *num, int enc)
114
114
        {
115
 
        int n;
116
 
        unsigned char c;
117
 
 
118
 
        n = *num;
119
 
 
120
 
        if (enc)
121
 
                {
122
 
                while (len--)
123
 
                        {
124
 
                        if (n == 0)
125
 
                                SEED_encrypt(ivec, ivec, ks);
126
 
                        ivec[n] = *(out++) = *(in++) ^ ivec[n];
127
 
                        n = (n+1) % SEED_BLOCK_SIZE;
128
 
                        }
129
 
                }
130
 
        else
131
 
                {
132
 
                while (len--)
133
 
                        {
134
 
                        if (n == 0)
135
 
                                SEED_encrypt(ivec, ivec, ks);
136
 
                        c = *(in);
137
 
                        *(out++) = *(in++) ^ ivec[n];
138
 
                        ivec[n] = c;
139
 
                        n = (n+1) % SEED_BLOCK_SIZE;
140
 
                        }
141
 
                }
142
 
 
143
 
        *num = n;
 
115
        CRYPTO_cfb128_encrypt(in,out,len,ks,ivec,num,enc,(block128_f)SEED_encrypt);
144
116
        }