[torqueusers] Problems compiling Torque GSSAPI branch

Peter Smith peter.smith3882100 at gmail.com
Fri Mar 12 06:33:23 MST 2010


Hi Mike

I cannot thank you enough for all the help you have been providing.

With the addition to mom_main.c the creds are now transfered to /tmp
on the worker, and when the job has finished the result is sent to the
users home directory exactly as expected. Every test that has been
made so far indicates that everything is working perfectly fine. In
README.gssapi the files serverrenew and clientrenew is mentioned, i
have not configured those yet, so that must be the next thing to do,
then some more testing in the test environment so i can get to known
the branch really well and finally deploying the branch in the
production enviroment.

Thank you very much.


On Thu, Mar 11, 2010 at 3:25 PM, Mike Coyne <Mike.Coyne at paccar.com> wrote:
> In
> #1  0xb7eae5d8 in ccname_for_job (jobname=0x81803b9
> "214.cluster-master.cluster-test.local", prefix=0x0) at
> ../Libifl/pbsgss.c:839
> Your are getting Null for prefix which is a char * set to path_creds in
> The calling function.
> Path_creds is defined in src/resmom/mom_main.c  or it should be...
> Try something like this maybe on or around line 212 ...
> char        *path_aux;
> char        *path_server_name;
> char        *path_home = PBS_SERVER_HOME;
> #ifdef GSSAPI
> char           *path_creds = "/tmp";
> #endif
> char        *mom_home;
> extern char *msg_daemonname;          /* for logs     */
> extern char *msg_info_mom; /* Mom information message   */
> extern int pbs_errno;
> gid_t  pbsgroup;
> unsigned int pbs_mom_port = 0;
> unsigned int pbs_rm_port = 0;
>
> to initialize it to /tmp
>
> One other thing , if you are using AFS ... and on linux you will want to call out lsetpag() directly in src/lib/Libifl/pbsgss.c. Instead of using aklog -setpag as that doesn't actually work for linux... lsetpag is in /usr/lib64/afs/libsys.a which you will need to link with
>
> /* assumes it's running as the mom, because server doesn't need to call aklog */
> int authenticate_as_job(char *ccname,
>                        int setpag) {
>  if (setenv("KRB5CCNAME",ccname,1) != 0) {
>    return -1;
>  }
>  if (setpag) {
>    system("/usr/bin/aklog -setpag");
>  } else {
>    system("/usr/bin/aklog");
>  }
>  return 0;
> }
>
>
> Maybe change the
>  if (setpag) {
>    system("/usr/bin/aklog -setpag");
>  } else {
>
> Call to something simple like
>  if (setpag) {
>    lsetpag();
>    system("/usr/bin/aklog ");
>  } else {
> And link with the libsys.a
> Mike


More information about the torqueusers mailing list