/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: 2014-07-25 22:44:20 UTC
  • mto: (237.7.272 trunk)
  • mto: This revision was merged to the branch mainline in revision 321.
  • Revision ID: teddy@recompile.se-20140725224420-4a5ct2ptt0hsc92z
Require Python 2.7.

This is in preparation for the eventual move to Python 3, which will
happen as soon as all Python modules required by Mandos are available.
The mandos-ctl and mandos-monitor programs are already portable
between Python 2.6 and Python 3 without changes; this change will
bring the requirement up to Python 2.7.

* INSTALL (Prerequisites/Libraries/Mandos Server): Document
                                                   requirement of
                                                   Python 2.7; remove
                                                   Python-argparse
                                                   which is in the
                                                   Python 2.7 standard
                                                   library.
* debian/control (Source: mandos/Build-Depends-Indep): Depend on
                                                       exactly the
                                                       python2.7
                                                       package and all
                                                       the Python 2.7
                                                       versions of the
                                                       python modules.
  (Package: mandos/Depends): - '' - but still depend on python (<=2.7)
                            and the generic versions of the Python
                            modules; this is for mandos-ctl and
                            mandos-monitor, both of which are
                            compatible with Python 3, and use
                            #!/usr/bin/python.
* mandos: Use #!/usr/bin/python2.7 instead of #!/usr/bin/python.

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-2016 Teddy Hogeborn
6
 
 * Copyright © 2008-2016 Björn Påhlsson
 
5
 * Copyright © 2008-2014 Teddy Hogeborn
 
6
 * Copyright © 2008-2014 Björn Påhlsson
7
7
 * 
8
8
 * This program is free software: you can redistribute it and/or
9
9
 * modify it under the terms of the GNU General Public License as
23
23
 */
24
24
 
25
25
#define _GNU_SOURCE             /* TEMP_FAILURE_RETRY() */
26
 
#include <sys/types.h>          /* uid_t, gid_t, ssize_t */
 
26
#include <sys/types.h>          /* ssize_t */
27
27
#include <sys/stat.h>           /* mkfifo(), S_IRUSR, S_IWUSR */
28
28
#include <iso646.h>             /* and */
29
29
#include <errno.h>              /* errno, EACCES, ENOTDIR, ELOOP,
44
44
#include <string.h>             /* strerror() */
45
45
#include <stdarg.h>             /* va_list, va_start(), ... */
46
46
 
47
 
uid_t uid = 65534;
48
 
gid_t gid = 65534;
49
47
 
50
48
/* Function to use when printing errors */
51
49
__attribute__((format (gnu_printf, 3, 4)))
76
74
  int ret = 0;
77
75
  ssize_t sret;
78
76
  
79
 
  uid = getuid();
80
 
  gid = getgid();
81
 
  
82
77
  /* Create FIFO */
83
78
  const char passfifo[] = "/lib/cryptsetup/passfifo";
84
79
  ret = mkfifo(passfifo, S_IRUSR | S_IWUSR);
124
119
    }
125
120
  }
126
121
  
127
 
  /* Lower group privileges  */
128
 
  if(setgid(gid) == -1){
129
 
    error_plus(0, errno, "setgid");
130
 
  }
131
 
  
132
 
  /* Lower user privileges */
133
 
  if(setuid(uid) == -1){
134
 
    error_plus(0, errno, "setuid");
135
 
  }
136
 
  
137
122
  /* Read from FIFO */
138
123
  char *buf = NULL;
139
124
  size_t buf_len = 0;