X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Faliasbr.c;h=073b1b28960354082d822516a6e2432e2340887f;hp=07c5e035c8d050e06d8874496958eb3277b1dffe;hb=27826f9353e0f0b04590b7d0f8f83e60462b90f0;hpb=5b792c4424571f05bc2008e3109797d18d7d00d1 diff --git a/uip/aliasbr.c b/uip/aliasbr.c index 07c5e03..073b1b2 100644 --- a/uip/aliasbr.c +++ b/uip/aliasbr.c @@ -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,7 +439,7 @@ 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));