/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to plugins.d/askpass-fifo.c

  • Committer: Teddy Hogeborn
  • Date: 2019-02-10 08:41:14 UTC
  • mto: (237.7.594 trunk)
  • mto: This revision was merged to the branch mainline in revision 372.
  • Revision ID: teddy@recompile.se-20190210084114-u91mijrxtifvzra5
Bug fix: Only create TLS key with certtool, and read correct key file

* debian/mandos-client.postinst (create_keys): Remove any bad keys
                                               created by 1.8.0-1.
                                               Only create TLS keys if
                                               certtool succeeds.
* debian/mandos.postinst (configure): Remove any bad keys from
                                      clients.conf, and inform the
                                      user if any were found.
* debian/mandos.templates (mandos/removed_bad_key_ids): New message.
* mandos (MandosServer.handle_ipc): Do not trust a key_id with a known
                                    bad key ID.
* mandos-keygen (keygen): Only create TLS keys if certtool succeeds.
  (password): Bug fix: Generate key_id correctly, and only output
              key_id if TLS key exists.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
/*
3
3
 * Askpass-FIFO - Read a password from a FIFO and output it
4
4
 * 
5
 
 * Copyright © 2008-2019 Teddy Hogeborn
6
 
 * Copyright © 2008-2019 Björn Påhlsson
 
5
 * Copyright © 2008-2018 Teddy Hogeborn
 
6
 * Copyright © 2008-2018 Björn Påhlsson
7
7
 * 
8
8
 * This file is part of Mandos.
9
9
 * 
65
65
    fprintf(stderr, ": ");
66
66
    fprintf(stderr, "%s\n", strerror(errnum));
67
67
    error(status, errno, "vasprintf while printing error");
68
 
    if(status){
69
 
      __builtin_unreachable();
70
 
    }
71
68
    return;
72
69
  }
73
70
  fprintf(stderr, "Mandos plugin ");
74
71
  error(status, errnum, "%s", text);
75
 
  if(status){
76
 
    __builtin_unreachable();
77
 
  }
78
72
  free(text);
79
73
}
80
74
 
96
90
    case ENOTDIR:
97
91
    case ELOOP:
98
92
      error_plus(EX_OSFILE, errno, "mkfifo");
99
 
      __builtin_unreachable();
100
93
    case ENAMETOOLONG:
101
94
    case ENOSPC:
102
95
    case EROFS:
103
96
    default:
104
97
      error_plus(EX_OSERR, errno, "mkfifo");
105
 
      __builtin_unreachable();
106
98
    case ENOENT:
107
99
      /* no "/lib/cryptsetup"? */
108
100
      error_plus(EX_UNAVAILABLE, errno, "mkfifo");
109
 
      __builtin_unreachable();
110
101
    case EEXIST:
111
102
      break;                    /* not an error */
112
103
    }