mirror of
https://github.com/cathugger/mkp224o.git
synced 2025-01-25 02:02:57 -03:00
prevent termination during key write
This commit is contained in:
parent
91f484cbc7
commit
8f1e08973d
2 changed files with 18 additions and 1 deletions
2
base64.h
2
base64.h
|
@ -4,7 +4,7 @@ char *base64_to(char *dst,const u8 *src,size_t slen);
|
|||
#define BASE64_TO_LEN(l) (((l + 3 - 1) / 3) * 4)
|
||||
// converts src string from base64
|
||||
size_t base64_from(u8 *dst,const char *src,size_t slen);
|
||||
// calculates length needed to store data converted from base
|
||||
// calculates length needed to store data converted from base64
|
||||
#define BASE64_FROM_LEN(l) ((l) / 4 * 3)
|
||||
// validates base32 string and optionally stores length of valid data
|
||||
// returns 1 if whole string is good, 0 if string contains invalid data
|
||||
|
|
17
yaml.c
17
yaml.c
|
@ -1,3 +1,6 @@
|
|||
#ifdef __linux__
|
||||
#define _POSIX_C_SOURCE 200112L
|
||||
#endif
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
|
@ -7,6 +10,10 @@
|
|||
#include <time.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#ifndef _WIN32
|
||||
#include <signal.h>
|
||||
#endif
|
||||
|
||||
#include "types.h"
|
||||
#include "yaml.h"
|
||||
#include "ioutil.h"
|
||||
|
@ -229,6 +236,13 @@ int yamlin_parseandcreate(FILE *fin,char *sname,const char *hostname)
|
|||
break;
|
||||
}
|
||||
if (hashost && haspub && hassec) {
|
||||
#ifndef _WIN32
|
||||
sigset_t nset,oset;
|
||||
sigemptyset(&nset);
|
||||
sigaddset(&nset,SIGINT);
|
||||
sigaddset(&nset,SIGTERM);
|
||||
sigprocmask(SIG_BLOCK,&nset,&oset);
|
||||
#endif
|
||||
if (createdir(sname,1) != 0) {
|
||||
fprintf(stderr,"ERROR: could not create directory for key output\n");
|
||||
return 1;
|
||||
|
@ -251,6 +265,9 @@ int yamlin_parseandcreate(FILE *fin,char *sname,const char *hostname)
|
|||
fwrite(&sname[printstartpos],printlen,1,fout);
|
||||
fflush(fout);
|
||||
}
|
||||
#ifndef _WIN32
|
||||
sigprocmask(SIG_SETMASK,&oset,0);
|
||||
#endif
|
||||
if (hostname)
|
||||
return 0; // finished
|
||||
skipthis = 1;
|
||||
|
|
Loading…
Add table
Reference in a new issue