Diff for /freem/src/mumps.c between versions 1.16 and 1.17

version 1.16, 2025/04/04 19:43:18 version 1.17, 2025/04/04 21:28:16
Line 24 Line 24
  *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.   *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.
  *   *
  *   $Log$   *   $Log$
    *   Revision 1.17  2025/04/04 21:28:16  snw
    *   Remove custom_user and custom_group vars from freem and shed privileges per environment catalog settings
    *
  *   Revision 1.16  2025/04/04 19:43:18  snw   *   Revision 1.16  2025/04/04 19:43:18  snw
  *   Switch to using environment catalog to determine user and group for environment, and remove -u and -g flags from freem   *   Switch to using environment catalog to determine user and group for environment, and remove -u and -g flags from freem
  *   *
Line 141  int main (int argc, char **argv, char ** Line 144  int main (int argc, char **argv, char **
     gid_t d_gid;      gid_t d_gid;
     uid_t d_uid;      uid_t d_uid;
   
     short custom_user = FALSE;  
     short custom_group = FALSE;  
       
 #if defined(HAVE_GETOPT_LONG)  #if defined(HAVE_GETOPT_LONG)
     struct option long_options[] = {             struct option long_options[] = {       
         {"help", no_argument, 0, 'h'},          {"help", no_argument, 0, 'h'},
Line 508  int main (int argc, char **argv, char ** Line 508  int main (int argc, char **argv, char **
     if (run_daemon == FALSE && group_member (d_gid) == 0) {      if (run_daemon == FALSE && group_member (d_gid) == 0) {
         fprintf (stderr, "freem:  you must be a member of the %s group to use environment %s\n", d_groupname, shm_env);          fprintf (stderr, "freem:  you must be a member of the %s group to use environment %s\n", d_groupname, shm_env);
         exit (1);          exit (1);
     }      }        
           
 #endif      #endif    
           
     if (run_daemon == TRUE) {      if (run_daemon == TRUE) {
Line 574  int main (int argc, char **argv, char ** Line 573  int main (int argc, char **argv, char **
         if (geteuid () == 0) {          if (geteuid () == 0) {
             /* shed privileges */              /* shed privileges */
   
             if (custom_group) {  
                 fprintf (stderr, "freem:  switching to group %s\n", d_groupname);              fprintf (stderr, "freem:  switching to group %s\n", d_groupname);
                 m_log (1, "switching groups");              m_log (1, "switching groups");
                                   
                 if (setgid (d_gid) == -1) {              if (setgid (d_gid) == -1) {
                     fprintf (stderr, "freem:  failure switching GID\n");                  fprintf (stderr, "freem:  failure switching GID\n");
                     m_log (1, "failure switching GIDs");                  m_log (1, "failure switching GIDs");
                     exit (1);                  exit (1);
                 }  
             }              }
           
   
   
             if (custom_user) {                              if (d_uid != geteuid ()) {
                 fprintf (stderr, "freem:  switching to username %s\n", d_username);                  fprintf (stderr, "freem:  switching to username %s\n", d_username);
                 m_log (1, "switching users");                  m_log (1, "switching users");
                                   

Removed from v.1.16  
changed lines
  Added in v.1.17


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>