Opened 11 years ago

Last modified 5 years ago

#386 new defect

IZ2124: sge_passwd code needs a cleanup

Reported by: roland Owned by:
Priority: high Milestone:
Component: sge Version: 6.0u4
Severity: minor Keywords: Sun cleanup
Cc:

Description

[Imported from gridengine issuezilla http://gridengine.sunsource.net/issues/show_bug.cgi?id=2124]

        Issue #:      2124             Platform:     Sun      Reporter: roland (roland)
       Component:     gridengine          OS:        All
     Subcomponent:    cleanup          Version:      6.0u4       CC:    None defined
        Status:       NEW              Priority:     P2
      Resolution:                     Issue type:    DEFECT
                                   Target milestone: ---
      Assigned to:    ernst (ernst)
      QA Contact:     ernst
          URL:
       * Summary:     sge_passwd code needs a cleanup
   Status whiteboard:
      Attachments:

     Issue 2124 blocks:
   Votes for issue 2124:


   Opened: Tue Nov 28 06:51:00 -0700 2006 
------------------------


The cleanup consists of several things.

1) functions in libs/uti/sge_uidgid.c called by sge_passed
All of the functions are marked as NON-MT. Because this is a lib and the
function are also availble for the deamons this must be fixed to be thread safe.

2) users list in password_read_file() should be a cull list
Currently the users list is a malloced array. This makes it necessary to loop
over the passwd file two times, first to determine the size needed for the array
and then after the array was alloced to fill up the array. A cull list allows to
grow the entry size dynamically.
Additionally the function will dump if the file size grows after the array size
was determined.

3) utilbin/sge_passwd.c is a mixed up file for the binary and for execd code
devided by ifdef sections. This must be devided and the execd function should
move to libs/uti.

Change History (1)

comment:1 Changed 5 years ago by dlove

  • Severity set to minor

Partially addressed by [4193] and MT-safe changes

Note: See TracTickets for help on using tickets.