security_nop.c 8.2 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
/*
 * Copyright (C) 2010-2011 Red Hat, Inc.
 *
 * 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 23
 *
 */

#include <config.h>

#include "security_nop.h"

24 25 26 27
#include "virterror_internal.h"

#define VIR_FROM_THIS VIR_FROM_SECURITY

28
static virSecurityDriverStatus virSecurityDriverProbeNop(const char *virtDriver ATTRIBUTE_UNUSED)
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
{
    return SECURITY_DRIVER_ENABLE;
}

static int virSecurityDriverOpenNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED)
{
    return 0;
}

static int virSecurityDriverCloseNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED)
{
    return 0;
}

static const char * virSecurityDriverGetModelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED)
{
    return "none";
}

static const char * virSecurityDriverGetDOINop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED)
{
    return "0";
}

static int virSecurityDomainRestoreImageLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
54
                                                 virDomainDefPtr vm ATTRIBUTE_UNUSED,
55 56 57 58 59
                                                 virDomainDiskDefPtr disk ATTRIBUTE_UNUSED)
{
    return 0;
}

60
static int virSecurityDomainSetDaemonSocketLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
61
                                                    virDomainDefPtr vm ATTRIBUTE_UNUSED)
62 63 64 65
{
    return 0;
}

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

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

static int virSecurityDomainSetImageLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
79
                                             virDomainDefPtr vm ATTRIBUTE_UNUSED,
80 81 82 83 84 85
                                             virDomainDiskDefPtr disk ATTRIBUTE_UNUSED)
{
    return 0;
}

static int virSecurityDomainRestoreHostdevLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
86
                                                   virDomainDefPtr vm ATTRIBUTE_UNUSED,
87 88
                                                   virDomainHostdevDefPtr dev ATTRIBUTE_UNUSED,
                                                   const char *vroot ATTRIBUTE_UNUSED)
89 90 91 92 93
{
    return 0;
}

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

static int virSecurityDomainSetSavedStateLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
102
                                                  virDomainDefPtr vm ATTRIBUTE_UNUSED,
103 104 105 106 107
                                                  const char *savefile ATTRIBUTE_UNUSED)
{
    return 0;
}
static int virSecurityDomainRestoreSavedStateLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
108
                                                      virDomainDefPtr vm ATTRIBUTE_UNUSED,
109 110 111 112 113 114
                                                      const char *savefile ATTRIBUTE_UNUSED)
{
    return 0;
}

static int virSecurityDomainGenLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
115
                                        virDomainDefPtr sec ATTRIBUTE_UNUSED)
116 117 118 119 120
{
    return 0;
}

static int virSecurityDomainReserveLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
121 122
                                            virDomainDefPtr sec ATTRIBUTE_UNUSED,
                                            pid_t pid ATTRIBUTE_UNUSED)
123 124 125 126 127
{
    return 0;
}

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

static int virSecurityDomainSetAllLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
134
                                           virDomainDefPtr sec ATTRIBUTE_UNUSED,
135 136 137 138 139 140
                                           const char *stdin_path ATTRIBUTE_UNUSED)
{
    return 0;
}

static int virSecurityDomainRestoreAllLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
141
                                               virDomainDefPtr vm ATTRIBUTE_UNUSED,
142 143 144 145 146
                                               int migrated ATTRIBUTE_UNUSED)
{
    return 0;
}
static int virSecurityDomainGetProcessLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
147 148
                                               virDomainDefPtr vm ATTRIBUTE_UNUSED,
                                               pid_t pid ATTRIBUTE_UNUSED,
149 150 151 152 153 154
                                               virSecurityLabelPtr sec ATTRIBUTE_UNUSED)
{
    return 0;
}

static int virSecurityDomainSetProcessLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
155
                                               virDomainDefPtr vm ATTRIBUTE_UNUSED)
156 157 158 159 160 161 162 163 164 165
{
    return 0;
}

static int virSecurityDomainVerifyNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
                                      virDomainDefPtr def ATTRIBUTE_UNUSED)
{
    return 0;
}

166
static int virSecurityDomainSetFDLabelNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
167
                                          virDomainDefPtr sec ATTRIBUTE_UNUSED,
168 169 170 171 172
                                          int fd ATTRIBUTE_UNUSED)
{
    return 0;
}

173
static char *virSecurityDomainGetMountOptionsNop(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
174 175 176 177 178 179 180 181 182
                                                 virDomainDefPtr vm ATTRIBUTE_UNUSED)
{
    char *opts;

    if (!(opts = strdup(""))) {
        virReportOOMError();
        return NULL;
    }
    return opts;
183 184
}

185
virSecurityDriver virSecurityDriverNop = {
186 187 188 189 190
    .privateDataLen                     = 0,
    .name                               = "none",
    .probe                              = virSecurityDriverProbeNop,
    .open                               = virSecurityDriverOpenNop,
    .close                              = virSecurityDriverCloseNop,
191

192 193
    .getModel                           = virSecurityDriverGetModelNop,
    .getDOI                             = virSecurityDriverGetDOINop,
194

195
    .domainSecurityVerify               = virSecurityDomainVerifyNop,
196

197 198
    .domainSetSecurityImageLabel        = virSecurityDomainSetImageLabelNop,
    .domainRestoreSecurityImageLabel    = virSecurityDomainRestoreImageLabelNop,
199

200 201 202
    .domainSetSecurityDaemonSocketLabel = virSecurityDomainSetDaemonSocketLabelNop,
    .domainSetSecuritySocketLabel       = virSecurityDomainSetSocketLabelNop,
    .domainClearSecuritySocketLabel     = virSecurityDomainClearSocketLabelNop,
203

204 205 206
    .domainGenSecurityLabel             = virSecurityDomainGenLabelNop,
    .domainReserveSecurityLabel         = virSecurityDomainReserveLabelNop,
    .domainReleaseSecurityLabel         = virSecurityDomainReleaseLabelNop,
207

208 209
    .domainGetSecurityProcessLabel      = virSecurityDomainGetProcessLabelNop,
    .domainSetSecurityProcessLabel      = virSecurityDomainSetProcessLabelNop,
210

211 212
    .domainSetSecurityAllLabel          = virSecurityDomainSetAllLabelNop,
    .domainRestoreSecurityAllLabel      = virSecurityDomainRestoreAllLabelNop,
213

214 215
    .domainSetSecurityHostdevLabel      = virSecurityDomainSetHostdevLabelNop,
    .domainRestoreSecurityHostdevLabel  = virSecurityDomainRestoreHostdevLabelNop,
216

217 218
    .domainSetSavedStateLabel           = virSecurityDomainSetSavedStateLabelNop,
    .domainRestoreSavedStateLabel       = virSecurityDomainRestoreSavedStateLabelNop,
219

220 221
    .domainSetSecurityImageFDLabel      = virSecurityDomainSetFDLabelNop,
    .domainSetSecurityTapFDLabel        = virSecurityDomainSetFDLabelNop,
222

223
    .domainGetSecurityMountOptions      = virSecurityDomainGetMountOptionsNop,
224
};