From: Enrico Scholz Date: Tue, 6 Apr 2004 08:44:09 +0000 (+0000) Subject: do not call vc_new_s_context() when COMPAT API is not available X-Git-Tag: VERSION_0_10~156 X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a9525bbb61e51961006e888b4413649c46f04c9a;p=util-vserver.git do not call vc_new_s_context() when COMPAT API is not available git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@1425 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- diff --git a/util-vserver/src/rpm-fake-resolver.c b/util-vserver/src/rpm-fake-resolver.c index a87e6ec..a89ee30 100644 --- a/util-vserver/src/rpm-fake-resolver.c +++ b/util-vserver/src/rpm-fake-resolver.c @@ -251,9 +251,14 @@ activateContext(xid_t xid, bool in_ctx) } else if (vc_isSupported(vcFEATURE_MIGRATE)) Evc_migrate_context(xid); - else + else { +#ifdef VC_ENABLE_API_COMPAT Evc_new_s_context(xid, 0, S_CTX_INFO_LOCK); - //Evc_new_s_context(args.ctx, ~(VC_CAP_SETGID|VC_CAP_SETUID), S_CTX_INFO_LOCK); +#else + WRITE_MSG(2, ENSC_WRAPPERS_PREFIX "can not change context: migrate kernel feature missing and 'compat' API disabled\n"); + exit(wrapper_exit_code); +#endif + } } int main(int argc, char * argv[]) diff --git a/util-vserver/src/rpm-fake.c b/util-vserver/src/rpm-fake.c index fecdb8e..6386d42 100644 --- a/util-vserver/src/rpm-fake.c +++ b/util-vserver/src/rpm-fake.c @@ -527,13 +527,17 @@ endpwent() static int execvWorker(char const *path, char * const argv[]) { - int res; + int res = -1; if (vc_isSupported(vcFEATURE_MIGRATE)) res = vc_migrate_context(ctx); else +#ifdef VC_ENABLE_API_COMPAT res = vc_new_s_context(ctx,caps,flags); - +#else + WRITE_MSG(2, ENSC_WRAPPERS_PREFIX "can not change context: migrate kernel feature missing and 'compat' API disabled\n"); +#endif + if (res!=-1) res=execv_func(path, argv);