security_nop.c 10.3 KB
Newer Older
1
/*
2
 * Copyright (C) 2010-2013 Red Hat, Inc.
3 4 5 6 7 8 9 10 11 12 13 14
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
15
 * License along with this library.  If not, see
O
Osier Yang 已提交
16
 * <http://www.gnu.org/licenses/>.
17 18 19 20 21 22
 *
 */

#include <config.h>

#include "security_nop.h"
23
#include "virstring.h"
24
#include "virerror.h"
25 26 27

#define VIR_FROM_THIS VIR_FROM_SECURITY

28 29
static virSecurityDriverStatus
virSecurityDriverProbeNop(const char *virtDriver ATTRIBUTE_UNUSED)
30 31 32 33
{
    return SECURITY_DRIVER_ENABLE;
}

34 35
static int
virSecurityDriverOpenNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED)
36 37 38 39
{
    return 0;
}

40 41
static int
virSecurityDriverCloseNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED)
42 43 44 45
{
    return 0;
}

46 47
static const char *
virSecurityDriverGetModelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED)
48 49 50 51
{
    return "none";
}

52 53
static const char *
virSecurityDriverGetDOINop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED)
54 55 56 57
{
    return "0";
}

58 59 60 61
static int
virSecurityDomainRestoreDiskLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                     virDomainDefPtr vm ATTRIBUTE_UNUSED,
                                     virDomainDiskDefPtr disk ATTRIBUTE_UNUSED)
62 63 64 65
{
    return 0;
}

66 67 68
static int
virSecurityDomainSetDaemonSocketLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                         virDomainDefPtr vm ATTRIBUTE_UNUSED)
69 70 71 72
{
    return 0;
}

73 74 75
static int
virSecurityDomainSetSocketLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                   virDomainDefPtr vm ATTRIBUTE_UNUSED)
76 77 78 79
{
    return 0;
}

80 81 82
static int
virSecurityDomainClearSocketLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                     virDomainDefPtr vm ATTRIBUTE_UNUSED)
83 84 85 86
{
    return 0;
}

87 88 89 90
static int
virSecurityDomainSetDiskLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                 virDomainDefPtr vm ATTRIBUTE_UNUSED,
                                 virDomainDiskDefPtr disk ATTRIBUTE_UNUSED)
91 92 93 94
{
    return 0;
}

95 96 97 98 99
static int
virSecurityDomainRestoreHostdevLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                        virDomainDefPtr vm ATTRIBUTE_UNUSED,
                                        virDomainHostdevDefPtr dev ATTRIBUTE_UNUSED,
                                        const char *vroot ATTRIBUTE_UNUSED)
100 101 102 103
{
    return 0;
}

104 105 106 107 108
static int
virSecurityDomainSetHostdevLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                    virDomainDefPtr vm ATTRIBUTE_UNUSED,
                                    virDomainHostdevDefPtr dev ATTRIBUTE_UNUSED,
                                    const char *vroot ATTRIBUTE_UNUSED)
109 110 111 112
{
    return 0;
}

113 114 115 116
static int
virSecurityDomainSetSavedStateLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                       virDomainDefPtr vm ATTRIBUTE_UNUSED,
                                       const char *savefile ATTRIBUTE_UNUSED)
117 118 119
{
    return 0;
}
120 121 122 123 124

static int
virSecurityDomainRestoreSavedStateLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                           virDomainDefPtr vm ATTRIBUTE_UNUSED,
                                           const char *savefile ATTRIBUTE_UNUSED)
125 126 127 128
{
    return 0;
}

129 130 131
static int
virSecurityDomainGenLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                             virDomainDefPtr sec ATTRIBUTE_UNUSED)
132 133 134 135
{
    return 0;
}

136 137 138 139
static int
virSecurityDomainReserveLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                 virDomainDefPtr sec ATTRIBUTE_UNUSED,
                                 pid_t pid ATTRIBUTE_UNUSED)
140 141 142 143
{
    return 0;
}

144 145 146
static int
virSecurityDomainReleaseLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                 virDomainDefPtr sec ATTRIBUTE_UNUSED)
147 148 149 150
{
    return 0;
}

151 152 153
static int
virSecurityDomainSetAllLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                virDomainDefPtr sec ATTRIBUTE_UNUSED,
154 155
                                const char *stdin_path ATTRIBUTE_UNUSED,
                                bool chardevStdioLogd ATTRIBUTE_UNUSED)
156 157 158 159
{
    return 0;
}

160 161 162
static int
virSecurityDomainRestoreAllLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                    virDomainDefPtr vm ATTRIBUTE_UNUSED,
163 164
                                    bool migrated ATTRIBUTE_UNUSED,
                                    bool chardevStdioLogd ATTRIBUTE_UNUSED)
165 166 167
{
    return 0;
}
168 169 170 171 172 173

static int
virSecurityDomainGetProcessLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                    virDomainDefPtr vm ATTRIBUTE_UNUSED,
                                    pid_t pid ATTRIBUTE_UNUSED,
                                    virSecurityLabelPtr sec ATTRIBUTE_UNUSED)
174 175 176 177
{
    return 0;
}

178 179 180
static int
virSecurityDomainSetProcessLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                    virDomainDefPtr vm ATTRIBUTE_UNUSED)
181 182 183 184
{
    return 0;
}

185 186 187 188
static int
virSecurityDomainSetChildProcessLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                         virDomainDefPtr vm ATTRIBUTE_UNUSED,
                                         virCommandPtr cmd ATTRIBUTE_UNUSED)
189 190 191 192
{
    return 0;
}

193 194 195
static int
virSecurityDomainVerifyNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                           virDomainDefPtr def ATTRIBUTE_UNUSED)
196 197 198 199
{
    return 0;
}

200 201 202 203
static int
virSecurityDomainSetFDLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                               virDomainDefPtr sec ATTRIBUTE_UNUSED,
                               int fd ATTRIBUTE_UNUSED)
204 205 206 207
{
    return 0;
}

208 209 210
static char *
virSecurityDomainGetMountOptionsNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                    virDomainDefPtr vm ATTRIBUTE_UNUSED)
211 212 213
{
    char *opts;

214
    ignore_value(VIR_STRDUP(opts, ""));
215
    return opts;
216 217
}

218 219 220 221 222 223 224
static const char *
virSecurityGetBaseLabel(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                        int virtType ATTRIBUTE_UNUSED)
{
    return NULL;
}

225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240
static int
virSecurityDomainRestoreImageLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                      virDomainDefPtr def ATTRIBUTE_UNUSED,
                                      virStorageSourcePtr src ATTRIBUTE_UNUSED)
{
    return 0;
}

static int
virSecurityDomainSetImageLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                  virDomainDefPtr def ATTRIBUTE_UNUSED,
                                  virStorageSourcePtr src ATTRIBUTE_UNUSED)
{
    return 0;
}

241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256
static int
virSecurityDomainSetMemoryLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                   virDomainDefPtr def ATTRIBUTE_UNUSED,
                                   virDomainMemoryDefPtr mem ATTRIBUTE_UNUSED)
{
    return 0;
}

static int
virSecurityDomainRestoreMemoryLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                       virDomainDefPtr def ATTRIBUTE_UNUSED,
                                       virDomainMemoryDefPtr mem ATTRIBUTE_UNUSED)
{
    return 0;
}

257 258 259 260 261 262 263 264
static int
virSecurityDomainInputLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                               virDomainDefPtr def ATTRIBUTE_UNUSED,
                               virDomainInputDefPtr input ATTRIBUTE_UNUSED)
{
    return 0;
}

265

266
virSecurityDriver virSecurityDriverNop = {
267 268 269 270 271
    .privateDataLen                     = 0,
    .name                               = "none",
    .probe                              = virSecurityDriverProbeNop,
    .open                               = virSecurityDriverOpenNop,
    .close                              = virSecurityDriverCloseNop,
272

273 274
    .getModel                           = virSecurityDriverGetModelNop,
    .getDOI                             = virSecurityDriverGetDOINop,
275

276
    .domainSecurityVerify               = virSecurityDomainVerifyNop,
277

278
    .domainSetSecurityDiskLabel         = virSecurityDomainSetDiskLabelNop,
279
    .domainRestoreSecurityDiskLabel     = virSecurityDomainRestoreDiskLabelNop,
280

281 282 283
    .domainSetSecurityImageLabel        = virSecurityDomainSetImageLabelNop,
    .domainRestoreSecurityImageLabel    = virSecurityDomainRestoreImageLabelNop,

284 285 286
    .domainSetSecurityMemoryLabel       = virSecurityDomainSetMemoryLabelNop,
    .domainRestoreSecurityMemoryLabel   = virSecurityDomainRestoreMemoryLabelNop,

287 288 289
    .domainSetSecurityInputLabel        = virSecurityDomainInputLabelNop,
    .domainRestoreSecurityInputLabel    = virSecurityDomainInputLabelNop,

290 291 292
    .domainSetSecurityDaemonSocketLabel = virSecurityDomainSetDaemonSocketLabelNop,
    .domainSetSecuritySocketLabel       = virSecurityDomainSetSocketLabelNop,
    .domainClearSecuritySocketLabel     = virSecurityDomainClearSocketLabelNop,
293

294 295 296
    .domainGenSecurityLabel             = virSecurityDomainGenLabelNop,
    .domainReserveSecurityLabel         = virSecurityDomainReserveLabelNop,
    .domainReleaseSecurityLabel         = virSecurityDomainReleaseLabelNop,
297

298 299
    .domainGetSecurityProcessLabel      = virSecurityDomainGetProcessLabelNop,
    .domainSetSecurityProcessLabel      = virSecurityDomainSetProcessLabelNop,
300
    .domainSetSecurityChildProcessLabel = virSecurityDomainSetChildProcessLabelNop,
301

302 303
    .domainSetSecurityAllLabel          = virSecurityDomainSetAllLabelNop,
    .domainRestoreSecurityAllLabel      = virSecurityDomainRestoreAllLabelNop,
304

305 306
    .domainSetSecurityHostdevLabel      = virSecurityDomainSetHostdevLabelNop,
    .domainRestoreSecurityHostdevLabel  = virSecurityDomainRestoreHostdevLabelNop,
307

308 309
    .domainSetSavedStateLabel           = virSecurityDomainSetSavedStateLabelNop,
    .domainRestoreSavedStateLabel       = virSecurityDomainRestoreSavedStateLabelNop,
310

311 312
    .domainSetSecurityImageFDLabel      = virSecurityDomainSetFDLabelNop,
    .domainSetSecurityTapFDLabel        = virSecurityDomainSetFDLabelNop,
313

314
    .domainGetSecurityMountOptions      = virSecurityDomainGetMountOptionsNop,
315 316

    .getBaseLabel                       = virSecurityGetBaseLabel,
317
};