Removed support for UUCP bang path addresses.
[mmh] / uip / aliasbr.c
index 07c5e03..7b7bcef 100644 (file)
@@ -39,7 +39,6 @@ static char *seekp(char *, char *, char **);
 static int addfile(struct aka *, char *);
 static int addgroup(struct aka *, char *);
 static int addmember(struct aka *, char *);
-static int addall(struct aka *);
 static char *getalias(char *);
 static void add_aka(struct aka *, char *);
 static struct aka *akalloc(char *);
@@ -115,16 +114,18 @@ aleq(char *string, char *aliasent)
        while ((c = *string++))
                if (*aliasent == '*')
                        return 1;
+               else if ((c | 040) != (*aliasent | 040))
+                       return 0;
                else
-                       if ((c | 040) != (*aliasent | 040))
-                               return 0;
-                       else
-                               aliasent++;
+                       aliasent++;
 
        return (*aliasent == 0 || *aliasent == '*');
 }
 
 
+/*
+** file needs to be absolute or relative to cwd
+*/
 int
 alias(char *file)
 {
@@ -134,8 +135,6 @@ alias(char *file)
        register struct aka *ak = NULL;
        register FILE *fp;
 
-       if (*file!='/' && (strncmp(file, "./", 2) && strncmp(file, "../", 3)))
-               file = etcpath(file);
        if ((fp = fopen(file, "r")) == NULL) {
                akerrst = file;
                return AK_NOFILE;
@@ -223,10 +222,6 @@ alias(char *file)
                        }
                        break;
 
-               case '*':  /* Everyone */
-                       addall(ak);
-                       break;
-
                default:  /* list */
                        while ((cp = getalias(pp)))
                                add_aka(ak, cp);
@@ -359,7 +354,7 @@ addgroup(struct aka *ak, char *grp)
                struct passwd *pw;
 #endif /* DBMPWD */
                for (hm = homehead; hm; hm = hm->h_next)
-                       if (!strcmp(hm->h_name, gp)) {
+                       if (strcmp(hm->h_name, gp)==0) {
                                add_aka(ak, hm->h_name);
                                break;
                        }
@@ -406,28 +401,6 @@ addmember(struct aka *ak, char *grp)
 }
 
 
-static int
-addall(struct aka *ak)
-{
-       int noshell = NoShell == NULL || *NoShell == 0;
-       register struct home *hm;
-
-#ifndef DBMPWD
-       if (homehead == NULL)
-#endif /* DBMPWD */
-               init_pw();
-       if (Everyone < 0)
-               Everyone = EVERYONE;
-
-       for (hm = homehead; hm; hm = hm->h_next)
-               if (hm->h_uid > Everyone
-                               && (noshell || strcmp(hm->h_shell, NoShell)))
-                       add_aka(ak, hm->h_name);
-
-       return homehead != NULL;
-}
-
-
 static char *
 getalias(char *addrs)
 {
@@ -466,12 +439,12 @@ add_aka(struct aka *ak, char *pp)
        register struct adr *ad, *ld;
 
        for (ad = ak->ak_addr, ld = NULL; ad; ld = ad, ad = ad->ad_next)
-               if (!strcmp(pp, ad->ad_text))
+               if (strcmp(pp, ad->ad_text)==0)
                        return;
 
        ad = (struct adr *) mh_xmalloc(sizeof(*ad));
        ad->ad_text = getcpy(pp);
-       ad->ad_local = strchr(pp, '@') == NULL && strchr(pp, '!') == NULL;
+       ad->ad_local = strchr(pp, '@') == NULL;
        ad->ad_next = NULL;
        if (ak->ak_addr)
                ld->ad_next = ad;