(fl_sct_init, write_sects, file_sct_init, main): Do not initialize

sector and realm timestamps to current time.  It's not useful, and it
facilitates attacks against the PRNG.  This backs out fairland.c
rev. 1.27 and files.c rev. 1.31 and partly backs out files.c
rev. 1.38.
This commit is contained in:
Markus Armbruster 2007-07-29 13:40:47 +00:00
parent 2c9b1ee80b
commit 990eb46b91
2 changed files with 6 additions and 12 deletions

View file

@ -176,7 +176,7 @@ static int stable(void);
static void elevate_land(void);
static void elevate_sea(void);
static int map_symbol(int x, int y);
static void fl_sct_init(coord, coord, struct sctstr *, time_t timestamp);
static void fl_sct_init(coord, coord, struct sctstr *);
static void set_coastal_flags(void);
static void print_vars(void);
@ -1085,13 +1085,12 @@ write_sects(void)
{
struct sctstr *sct;
int c, x, y, total;
time_t current_time = time(NULL);
/* sct = &sects[0][0]; */
sct = sectsbuf;
for (y = 0; y < YSIZE; y++) {
for (x = 0; x < XSIZE; x++, sct++) {
fl_sct_init(x * 2 + (y & 1), y, sct, current_time);
fl_sct_init(x * 2 + (y & 1), y, sct);
total = elev[sct->sct_x][y];
if (total < LANDMIN) {
sct->sct_type = SCT_WATER;
@ -1219,7 +1218,7 @@ qprint(const char * const fmt, ...)
}
static void
fl_sct_init(coord x, coord y, struct sctstr *sp, time_t timestamp)
fl_sct_init(coord x, coord y, struct sctstr *sp)
{
sp->ef_type = EF_SECTOR;
sp->sct_x = x;
@ -1229,7 +1228,6 @@ fl_sct_init(coord x, coord y, struct sctstr *sp, time_t timestamp)
sp->sct_road = 0;
sp->sct_rail = 0;
sp->sct_defense = 0;
sp->sct_timestamp = timestamp;
sp->sct_coastal = 1;
}

View file

@ -62,8 +62,7 @@
#include "trade.h"
#include "version.h"
static void file_sct_init(coord, coord, struct sctstr *ptr,
time_t timestamp);
static void file_sct_init(coord, coord, struct sctstr *ptr);
static void
print_usage(char *program_name)
@ -92,7 +91,6 @@ main(int argc, char *argv[])
int opt;
char *config_file = NULL;
int force = 0;
time_t current_time = time(NULL);
while ((opt = getopt(argc, argv, "e:fhv")) != EOF) {
switch (opt) {
@ -173,7 +171,6 @@ main(int argc, char *argv[])
for (j = 0; j < MAXNOR; j++) {
realm.r_realm = j;
realm.r_uid = (i * MAXNOR) + j;
realm.r_timestamp = current_time;
putrealm(&realm);
}
}
@ -192,7 +189,7 @@ main(int argc, char *argv[])
memset(&sct, 0, sizeof(sct));
for (y = 0; y < WORLD_Y; y++) {
for (x = 0; x < WORLD_X / 2; x++) {
file_sct_init(x * 2 + (y & 1), y, &sct, current_time);
file_sct_init(x * 2 + (y & 1), y, &sct);
putsect(&sct);
}
}
@ -213,7 +210,7 @@ main(int argc, char *argv[])
}
static void
file_sct_init(coord x, coord y, struct sctstr *ptr, time_t timestamp)
file_sct_init(coord x, coord y, struct sctstr *ptr)
{
struct sctstr *sp = (struct sctstr *)ptr;
@ -222,7 +219,6 @@ file_sct_init(coord x, coord y, struct sctstr *ptr, time_t timestamp)
sp->sct_y = y;
sp->sct_dist_x = x;
sp->sct_dist_y = y;
sp->sct_timestamp = timestamp;
sp->sct_newtype = sp->sct_type = SCT_WATER;
sp->sct_coastal = 1;
}