Subversion Repositories pike-old

Compare Revisions

Ignore whitespace Rev 37 → Rev 45

/branches/7.6-stable/debian/control
5,7 → 5,7
Uploaders: Henrik Andreasson <debian@han.pp.se>
Standards-Version: 3.7.3
Build-Depends: debhelper (>> 4.0.0), dpatch, bison, sharutils, bc,
libgmp3-dev, libnettle-dev (>= 1.14),
libgmp3-dev, nettle-dev,
zlib1g-dev | libz-dev, libbz2-dev, libreadline5-dev,
libgdbm-dev, libiodbc2-dev, libmysqlclient15-dev, libpq-dev,
libperl-dev, libpcre3-dev, libxml2-dev,
/branches/7.6-stable/debian/patches/00list
1,3 → 1,4
nettle_2.0
01_master.in
02_smartlink_rpath
#04_make_variables_fpic
/branches/7.6-stable/debian/patches/nettle_2.0.dpatch
0,0 → 1,118
#! /bin/sh /usr/share/dpatch/dpatch-run
## nettle_2.0.dpatch by <holmgren@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
 
@DPATCH@
diff -urNad 7.6-stable~/src/post_modules/Nettle/cipher.cmod 7.6-stable/src/post_modules/Nettle/cipher.cmod
--- 7.6-stable~/src/post_modules/Nettle/cipher.cmod 2004-02-21 19:36:35.000000000 +0100
+++ 7.6-stable/src/post_modules/Nettle/cipher.cmod 2009-08-18 21:51:38.000000000 +0200
@@ -69,8 +69,8 @@
pike_nettle_set_key_func set_encrypt_key;
pike_nettle_set_key_func set_decrypt_key;
- nettle_crypt_func encrypt;
- nettle_crypt_func decrypt;
+ nettle_crypt_func *encrypt;
+ nettle_crypt_func *decrypt;
};
#define _PIKE_CIPHER(name, NAME) { \
@@ -80,8 +80,8 @@
NAME##_KEY_SIZE, \
pike_##name##_set_encrypt_key, \
pike_##name##_set_decrypt_key, \
- (nettle_crypt_func) name##_encrypt, \
- (nettle_crypt_func) name##_decrypt, \
+ (nettle_crypt_func*) name##_encrypt, \
+ (nettle_crypt_func*) name##_decrypt, \
}
/*! @class CipherInfo
@@ -165,7 +165,7 @@
PIKECLASS CipherState
{
INHERIT CipherInfo;
- CVAR nettle_crypt_func crypt;
+ CVAR nettle_crypt_func *crypt;
CVAR void *ctx;
CVAR int key_size;
diff -urNad 7.6-stable~/src/post_modules/Nettle/nettle.cmod 7.6-stable/src/post_modules/Nettle/nettle.cmod
--- 7.6-stable~/src/post_modules/Nettle/nettle.cmod 2005-12-11 19:01:46.000000000 +0100
+++ 7.6-stable/src/post_modules/Nettle/nettle.cmod 2009-08-18 21:51:38.000000000 +0200
@@ -46,6 +46,19 @@
CVAR struct yarrow256_ctx ctx;
CVAR struct yarrow_source *sources;
+ PIKEVAR string seed_file flags ID_PRIVATE|ID_STATIC;
+
+ static void pike_generate_seed_file(void)
+ {
+ struct pike_string *seed_file =
+ begin_shared_string(YARROW256_SEED_FILE_SIZE);
+ yarrow256_random(&THIS->ctx, YARROW256_SEED_FILE_SIZE, STR0(seed_file));
+ if (THIS->seed_file) {
+ free_string(THIS->seed_file);
+ }
+ THIS->seed_file = end_shared_string(seed_file);
+ }
+
/*! @decl void create(void|int sources)
*! The number of entropy sources that will feed entropy to the
*! random number generator is given as an argument to Yarrow
@@ -93,6 +106,7 @@
NO_WIDE_STRING(data);
yarrow256_seed(&THIS->ctx, data->len, data->str);
+ pike_generate_seed_file();
RETURN this_object();
}
@@ -119,8 +133,12 @@
{
if( !yarrow256_is_seeded(&THIS->ctx) )
Pike_error("Random generator not seeded.\n");
- RETURN make_shared_binary_string(THIS->ctx.seed_file,
- YARROW256_SEED_FILE_SIZE);
+ if (THIS->seed_file) {
+ REF_RETURN THIS->seed_file;
+ } else {
+ struct pike_string *s = begin_shared_string(YARROW256_SEED_FILE_SIZE);
+ RETURN end_shared_string(s);
+ }
}
/*! @decl int(0..1) is_seeded()
@@ -143,7 +161,8 @@
PIKEFUN void force_reseed()
optflags OPT_SIDE_EFFECT;
{
- yarrow256_force_reseed(&THIS->ctx);
+ yarrow256_slow_reseed(&THIS->ctx);
+ pike_generate_seed_file();
}
/*! @decl int(0..1) update(string data, int source, int entropy)
@@ -156,6 +212,7 @@
PIKEFUN int(0..1) update(string data, int source, int entropy)
optflags OPT_SIDE_EFFECT;
{
+ int ret;
/* FIXME: Wide strings could actually be supported here */
NO_WIDE_STRING(data);
if( !THIS->sources )
@@ -165,7 +184,11 @@
Pike_error("Entropy must be positive.\n");
if( entropy>(data->len*8) )
Pike_error("Impossibly large entropy value.\n");
- RETURN yarrow256_update(&THIS->ctx, source, entropy, data->len, data->str);
+ ret = yarrow256_update(&THIS->ctx, source, entropy, data->len,
+ (const uint8_t *)data->str);
+ if (ret)
+ pike_generate_seed_file();
+ RETURN ret;
}
/*! @decl int(0..) needed_sources()
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: changelog
===================================================================
--- changelog (revision 37)
+++ changelog (revision 45)
@@ -1,3 +1,12 @@
+pike7.6 (7.6.112-5) unstable; urgency=low
+
+ * Switch to Nettle 2.0 (Build-Depend on nettle-dev instead of
+ libnettle-dev).
+ + nettle_2.0.dpatch: Changes from upstream CVS needed to accomodate the
+ API changes.
+
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 18 Aug 2009 22:36:00 +0200
+
pike7.6 (7.6.112-4) unstable; urgency=low
* 12_perl_init.dpatch: Don't use .bak as filename extension for the