-/* $Id: test-aspa.c,v 1.4 2023/04/27 08:37:53 beck Exp $ */
+/* $Id: test-aspa.c,v 1.5 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2022 Job Snijders <job@fastly.com>
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
int verbose;
int filemode;
-int64_t evaluation_time;
-
int
main(int argc, char *argv[])
{
printf("OK\n");
return 0;
}
+
+time_t
+get_current_time(void)
+{
+ return time(NULL);
+}
-/* $Id: test-cert.c,v 1.22 2023/04/27 08:37:53 beck Exp $ */
+/* $Id: test-cert.c,v 1.23 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
*
int verbose;
int filemode;
-int64_t evaluation_time;
-
int
main(int argc, char *argv[])
{
printf("OK\n");
return 0;
}
+
+time_t
+get_current_time(void)
+{
+ return time(NULL);
+}
-/* $Id: test-gbr.c,v 1.14 2023/04/27 08:37:53 beck Exp $ */
+/* $Id: test-gbr.c,v 1.15 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
*
int verbose;
int filemode;
-int64_t evaluation_time;
-
int
main(int argc, char *argv[])
{
printf("OK\n");
return 0;
}
+
+time_t
+get_current_time(void)
+{
+ return time(NULL);
+}
-/* $Id: test-geofeed.c,v 1.3 2023/04/27 08:37:53 beck Exp $ */
+/* $Id: test-geofeed.c,v 1.4 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
*
int verbose;
int filemode;
-int64_t evaluation_time;
-
int
main(int argc, char *argv[])
{
printf("OK\n");
return 0;
}
+
+time_t
+get_current_time(void)
+{
+ return time(NULL);
+}
-/* $Id: test-ip.c,v 1.8 2023/04/27 08:37:53 beck Exp $ */
+/* $Id: test-ip.c,v 1.9 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
*
int verbose;
int filemode;
-int64_t evaluation_time;
-
static void
test(const char *res, uint16_t afiv, size_t sz, size_t unused, ...)
{
printf("OK\n");
return 0;
}
+
+time_t
+get_current_time(void)
+{
+ return time(NULL);
+}
-/* $Id: test-mft.c,v 1.24 2023/04/27 08:37:53 beck Exp $ */
+/* $Id: test-mft.c,v 1.25 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
*
int outformats;
int verbose;
-int64_t evaluation_time;
-
int
main(int argc, char *argv[])
{
printf("OK\n");
return 0;
}
+
+time_t
+get_current_time(void)
+{
+ return time(NULL);
+}
-/* $Id: test-roa.c,v 1.22 2023/04/27 08:37:53 beck Exp $ */
+/* $Id: test-roa.c,v 1.23 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
*
int verbose;
int filemode;
-int64_t evaluation_time;
-
int
main(int argc, char *argv[])
{
printf("OK\n");
return 0;
}
+
+time_t
+get_current_time(void)
+{
+ return time(NULL);
+}
-/* $OpenBSD: test-rrdp.c,v 1.5 2023/04/27 08:37:53 beck Exp $ */
+/* $OpenBSD: test-rrdp.c,v 1.6 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2020 Nils Fisher <nils_fisher@hotmail.com>
* Copyright (c) 2021 Claudio Jeker <claudio@openbsd.org>
int verbose;
-int64_t evaluation_time;
-
#define REGRESS_NOTIFY_URI "https://rpki.example.com/notify.xml"
#define MAX_SESSIONS 12
"-d | -n | -s\n", "test-rrdp");
exit(1);
}
+
+time_t
+get_current_time(void)
+{
+ return time(NULL);
+}
-/* $Id: test-rsc.c,v 1.7 2023/04/27 08:37:53 beck Exp $ */
+/* $Id: test-rsc.c,v 1.8 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
*
int verbose;
int filemode;
-int64_t evaluation_time;
-
int
main(int argc, char *argv[])
{
printf("OK\n");
return 0;
}
+
+time_t
+get_current_time(void)
+{
+ return time(NULL);
+}
-/* $Id: test-tak.c,v 1.4 2023/04/27 08:37:53 beck Exp $ */
+/* $Id: test-tak.c,v 1.5 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2022 Job Snijders <job@fastly.com>
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
int verbose;
int filemode;
-int64_t evaluation_time;
-
int
main(int argc, char *argv[])
{
printf("OK\n");
return 0;
}
+
+time_t
+get_current_time(void)
+{
+ return time(NULL);
+}
-/* $Id: test-tal.c,v 1.11 2023/04/27 08:37:53 beck Exp $ */
+/* $Id: test-tal.c,v 1.12 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
*
int outformats;
int verbose;
-int64_t evaluation_time;
-
int
main(int argc, char *argv[])
{
printf("OK\n");
return 0;
}
+
+time_t
+get_current_time(void)
+{
+ return time(NULL);
+}
-/* $OpenBSD: extern.h,v 1.181 2023/05/09 10:34:32 tb Exp $ */
+/* $OpenBSD: extern.h,v 1.182 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
*
*/
#define X509_TIME_MAX 253402300799LL
#define X509_TIME_MIN -62167219200LL
-extern int64_t evaluation_time;
+extern time_t get_current_time(void);
#endif /* ! EXTERN_H */
-/* $OpenBSD: main.c,v 1.239 2023/05/30 12:12:06 claudio Exp $ */
+/* $OpenBSD: main.c,v 1.240 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2021 Claudio Jeker <claudio@openbsd.org>
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
int repo_timeout;
time_t deadline;
-int64_t evaluation_time;
+int64_t evaluation_time = X509_TIME_MIN;
struct stats stats;
free(ent);
}
+time_t
+get_current_time(void)
+{
+ if (evaluation_time > X509_TIME_MIN)
+ return (time_t) evaluation_time;
+ return time(NULL);
+}
+
/*
* Read a queue entity from the descriptor.
* Matched by entity_buffer_req().
"proc exec unveil", NULL) == -1)
err(1, "pledge");
- evaluation_time = time(NULL);
-
while ((c = getopt(argc, argv, "Ab:Bcd:e:fH:jmnoP:rRs:S:t:T:vV")) != -1)
switch (c) {
case 'A':
outformats |= FORMAT_OPENBGPD;
break;
case 'P':
- evaluation_time = strtonum(optarg, X509_TIME_MIN,
+ evaluation_time = strtonum(optarg, X509_TIME_MIN + 1,
X509_TIME_MAX, &errs);
if (errs)
errx(1, "-P: time in seconds %s", errs);
-/* $OpenBSD: output-bird.c,v 1.17 2023/04/27 08:37:53 beck Exp $ */
+/* $OpenBSD: output-bird.c,v 1.18 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2019 Claudio Jeker <claudio@openbsd.org>
* Copyright (c) 2020 Robert Scheck <robert@fedoraproject.org>
{
extern const char *bird_tablename;
struct vrp *v;
+ time_t now = get_current_time();
if (outputheader(out, st) < 0)
return -1;
if (fprintf(out, "\ndefine force_roa_table_update = %lld;\n\n"
"roa4 table %s4;\nroa6 table %s6;\n\n"
"protocol static {\n\troa4 { table %s4; };\n\n",
- (long long)evaluation_time, bird_tablename, bird_tablename,
+ (long long)now, bird_tablename, bird_tablename,
bird_tablename) < 0)
return -1;
-/* $OpenBSD: parser.c,v 1.94 2023/05/11 20:13:30 job Exp $ */
+/* $OpenBSD: parser.c,v 1.95 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2019 Claudio Jeker <claudio@openbsd.org>
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
proc_parser_mft_post(char *file, struct mft *mft, const char *path,
const char *errstr)
{
+ /* check that now is not before from */
+ time_t now = get_current_time();
+
if (mft == NULL) {
if (errstr == NULL)
errstr = "no valid mft available";
return NULL;
}
- /* check that evaluation_time is not before from */
- if (evaluation_time < mft->thisupdate) {
+ /* check that now is not before from */
+ if (now < mft->thisupdate) {
warnx("%s: mft not yet valid %s", file,
time2str(mft->thisupdate));
mft->stale = 1;
}
- /* check that evaluation_time is not after until */
- if (evaluation_time > mft->nextupdate) {
+ /* check that now is not after until */
+ if (now > mft->nextupdate) {
warnx("%s: mft expired on %s", file,
time2str(mft->nextupdate));
mft->stale = 1;
-/* $OpenBSD: validate.c,v 1.62 2023/05/23 06:42:08 tb Exp $ */
+/* $OpenBSD: validate.c,v 1.63 2023/05/30 12:14:48 claudio Exp $ */
/*
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
*
cryptoerrx("OBJ_dup");
if (!X509_VERIFY_PARAM_add0_policy(params, cp_oid))
cryptoerrx("X509_VERIFY_PARAM_add0_policy");
- X509_VERIFY_PARAM_set_time(params, evaluation_time);
+ X509_VERIFY_PARAM_set_time(params, get_current_time());
flags = X509_V_FLAG_CRL_CHECK;
flags |= X509_V_FLAG_PARTIAL_CHAIN;