X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/d850c88b75c333607ef22e50ffced3914297a4b8..1e03ea3338cc5ccd9ddf4feaaacfeda1998689cc:/sbr/ruserpass.c diff --git a/sbr/ruserpass.c b/sbr/ruserpass.c index f5fc6bd8..55694c82 100644 --- a/sbr/ruserpass.c +++ b/sbr/ruserpass.c @@ -1,4 +1,5 @@ -/* +/* ruserpass.c -- parse .netrc-format file. + * * Portions of this code are * Copyright (c) 1985 Regents of the University of California. * All rights reserved. @@ -20,8 +21,12 @@ * distribution for complete copyright information. */ -#include -#include +#include "h/mh.h" +#include "getpass.h" +#include "ruserpass.h" +#include "credentials.h" +#include "error.h" +#include "h/utils.h" #include static FILE *cfile; @@ -63,7 +68,7 @@ static int token(char *); void ruserpass(const char *host, char **aname, char **apass, int flags) { - int t, usedefault = 0; + int t; struct stat stb; init_credentials_file (); @@ -76,11 +81,12 @@ ruserpass(const char *host, char **aname, char **apass, int flags) char tokval[MAX_TOKVAL_SIZE]; tokval[0] = '\0'; + bool usedefault = false; while ((t = token(tokval))) { switch(t) { case DEFAULT: - usedefault = 1; - /* FALL THROUGH */ + usedefault = true; + /* FALLTHRU */ case MACH: if (!usedefault) { @@ -107,9 +113,9 @@ ruserpass(const char *host, char **aname, char **apass, int flags) (stb.st_mode & 077) != 0) { /* We make this a fatal error to force the user to correct it. */ - advise(NULL, "Error - file %s must not be world or " - "group readable.", credentials_file); - adios(NULL, "Remove password or correct file " + inform("group or other permissions, %#o, " + "forbidden: %s", stb.st_mode, credentials_file); + die("Remove password or correct file " "permissions."); } if (token(tokval) && *apass == 0) @@ -147,10 +153,10 @@ ruserpass(const char *host, char **aname, char **apass, int flags) } printf("Name (%s:%s): ", host, myname); - if (fgets(tmp, sizeof(tmp) - 1, stdin) == NULL) { + if (fgets(tmp, sizeof tmp, stdin) == NULL) { advise ("tmp", "fgets"); } - TrimSuffixC(tmp, '\n'); + trim_suffix_c(tmp, '\n'); if (*tmp != '\0' || myname == NULL) { myname = tmp; } @@ -209,7 +215,7 @@ token(char *tokval) *cp++ = c; if (cp - tokval > MAX_TOKVAL_SIZE-1) { - adios(NULL, "credential tokens restricted to length %d", + die("credential tokens restricted to length %d", MAX_TOKVAL_SIZE - 1); } } @@ -217,7 +223,7 @@ token(char *tokval) for (t = toktabs; t->tokstr; t++) if (!strcmp(t->tokstr, tokval)) - return (t->tval); + return t->tval; - return (ID); + return ID; }