فهرست منبع

Merge branch 'candidate-3.10.x' into candidate-3.10.8

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 12 سال پیش
والد
کامیت
ea2c089616

+ 16 - 4
docs/Installing_and_RunningTheHPCCPlatform/Installing_and_RunningTheHPCCPlatform.xml

@@ -466,7 +466,16 @@
         you for the required packages. Installation of these packages can vary
         depending on your platform. For details of the specific installation
         commands for obtaining and installing these packages, see the commands
-        specific to your Operating System.</para>
+        specific to your Operating System. <variablelist>
+            <varlistentry>
+              <term>Note:</term>
+
+              <listitem>
+                <para>For Centos installations, the Fedora EPEL repository is
+                required.</para>
+              </listitem>
+            </varlistentry>
+          </variablelist></para>
       </sect2>
 
       <sect2 id="SSH_Keys" role="brk">
@@ -656,12 +665,15 @@
         <programlisting>sudo rpm -Uvh &lt;rpm file name&gt;</programlisting>
 
         <blockquote>
-          <para><emphasis role="bold">NOTE :</emphasis> For ANY version of
-          SuSe you must set a password for the hpcc user on all nodes. One way
-          to do do this is to issue the following command:</para>
+          <para><emphasis role="bold">Note:</emphasis> For ANY version of SuSe
+          you must set a password for the hpcc user on all nodes. One way to
+          do do this is to issue the following command:</para>
 
           <para><programlisting>sudo passwd hpcc</programlisting>Be sure to
           set the password on ALL nodes.</para>
+
+          <para><emphasis role="bold">Note:</emphasis> For Centos
+          installations, the Fedora EPEL repository is required.</para>
         </blockquote>
 
         <para><emphasis role="bold">Ubuntu/Debian </emphasis></para>

+ 5 - 1
initfiles/componentfiles/configxml/buildsetCC.xml.in

@@ -113,7 +113,11 @@
                           path="ThorQueueAccess"
                           resource="ThorQueueAccess"
                           service="ws_smc"/>
-     <AuthenticateFeature description="Access to super computer environment"
+      <AuthenticateFeature description="Access to roxie control commands"
+                           path="RoxieControlAccess"
+                           resource="RoxieControlAccess"
+                           service="ws_smc"/>
+      <AuthenticateFeature description="Access to super computer environment"
                           path="ConfigAccess"
                           resource="ConfigAccess"
                           service="ws_config"/>

+ 15 - 2
initfiles/etc/DIR_NAME/environment.xml.in

@@ -107,7 +107,11 @@
                           path="ThorQueueAccess"
                           resource="ThorQueueAccess"
                           service="ws_smc"/>
-     <AuthenticateFeature description="Access to super computer environment"
+      <AuthenticateFeature description="Access to roxie control commands"
+                           path="RoxieControlAccess"
+                           resource="RoxieControlAccess"
+                           service="ws_smc"/>
+      <AuthenticateFeature description="Access to super computer environment"
                           path="ConfigAccess"
                           resource="ConfigAccess"
                           service="ws_config"/>
@@ -450,6 +454,11 @@
                          resource="ThorQueueAccess"
                          service="ws_smc"/>
     <AuthenticateFeature authenticate="Yes"
+                         description="Access to roxie control commands"
+                         path="RoxieControlAccess"
+                         resource="RoxieControlAccess"
+                         service="ws_smc"/>
+    <AuthenticateFeature authenticate="Yes"
                          description="Access to super computer environment"
                          path="ConfigAccess"
                          resource="ConfigAccess"
@@ -614,7 +623,11 @@
                          path="ThorQueueAccess"
                          resource="ThorQueueAccess"
                          service="ws_smc"/>
-    <AuthenticateFeature description="Access to super computer environment"
+     <AuthenticateFeature description="Access to roxie control commands"
+                          path="RoxieControlAccess"
+                          resource="RoxieControlAccess"
+                          service="ws_smc"/>
+     <AuthenticateFeature description="Access to super computer environment"
                          path="ConfigAccess"
                          resource="ConfigAccess"
                          service="ws_config"/>

+ 6 - 14
system/jlib/jutil.cpp

@@ -1540,26 +1540,18 @@ bool callExternalProgram(const char *progname, const StringBuffer &input, String
         pipe2.CloseRead();
         pipe2.SetStdout();
 
+        const char *cmd[] = { progname, NULL };
         if (env_in)
         {
-            const char *cmd[] = { progname, (char *)0 };
-            const char *envp[256]={0};
+            const char **envp = (const char **) alloca((env_in->ordinality()+1) * sizeof(const char *));
             ForEachItemIn(index, *env_in)
                 envp[index]=env_in->item(index);
-            if(execve(progname, (char * const *)cmd, (char * const *)envp)<0)
-            {
-                ERRLOG("Exec failed %s %d",progname,errno);
-                exit(EXIT_FAILURE);
-            }
+            envp[env_in->ordinality()] = NULL;
+            execvpe(progname, (char * const *)cmd, (char * const *)envp);  // will not return, on success
         }
         else
-        {
-            if(exec(progname)<0)
-            {
-                ERRLOG("Exec failed %s %d",progname,errno);
-                exit(EXIT_FAILURE);
-            }
-        }
+            execvp(progname, (char * const *)cmd);  // will not return, on success
+        _exit(EXIT_FAILURE); // must be _exit!!
     }
     else
     {