Exemplo n.º 1
0
int main (int argCnt, const char *args[])
{
    int ret;
    xc_interface *xch = 0;

    if (argCnt != 1)
        usage(argCnt, args);

    xch = xc_interface_open(0,0,0);
    if ( !xch )
    {
        fprintf(stderr, "Unable to create interface to xenctrl: %s\n",
                strerror(errno));
        ret = -1;
        goto done;
    }

    ret = flask_getenforce(xch);
    if ( ret < 0 )
    {
        errno = -ret;
        fprintf(stderr, "Unable to get enforcing mode: %s\n",
                strerror(errno));
        ret = -1;
        goto done;
    }
    else
    {
        if(ret) 
            printf("Enforcing\n");
        else
            printf("Permissive\n");
    }

done:
    if ( xch )
        xc_interface_close(xch);

    return ret;
}
Exemplo n.º 2
0
static PyObject *pyflask_getenforce(PyObject *self)
{
    int xc_handle;
    int ret;

    xc_handle = xc_interface_open();
    if (xc_handle < 0) {
        errno = xc_handle;
        return PyErr_SetFromErrno(xc_error_obj);
    }
    
    ret = flask_getenforce(xc_handle);
    
    xc_interface_close(xc_handle);
    
    if ( ret < 0 ) {
        errno = -ret;
        return PyErr_SetFromErrno(xc_error_obj);
    }

    return Py_BuildValue("i", ret);
}