diff --git a/appl/ftp/ftp/ftp.c b/appl/ftp/ftp/ftp.c index b549c02c7..4ef4f3b32 100644 --- a/appl/ftp/ftp/ftp.c +++ b/appl/ftp/ftp/ftp.c @@ -209,7 +209,7 @@ login(char *host) char prompt[128]; if(myname && (!strcmp(user, "ftp") || !strcmp(user, "anonymous"))){ - sprintf(defaultpass, "%s@%s", myname, mydomain+1); + sprintf(defaultpass, "%s@%s", myname, mydomain); sprintf(prompt, "Password (%s): ", defaultpass); }else{ strcpy(defaultpass, ""); @@ -932,18 +932,23 @@ recvrequest(char *cmd, char *local, char *remote, char *lmode, int printnames) } closefunc = fclose; } - if (fstat(fileno(fout), &st) < 0 || st.st_blksize == 0) - st.st_blksize = BUFSIZ; - if (st.st_blksize > bufsize) { + { + size_t blocksize = BUFSIZ; +#ifdef HAVE_ST_BLKSIZE + if (fstat(fileno(fout), &st) => 0 && st.st_blksize > 0) + blocksize = st.st_blksize; +#endif + if (blocksize > bufsize) { if (buf) - (void) free(buf); - buf = malloc((unsigned)st.st_blksize); + (void) free(buf); + buf = malloc(blocksize); if (buf == NULL) { - warn("malloc"); - bufsize = 0; - goto abort; + warn("malloc"); + bufsize = 0; + goto abort; } - bufsize = st.st_blksize; + bufsize = blocksize; + } } (void) gettimeofday(&start, (struct timezone *)0); switch (curtype) { diff --git a/appl/ftp/ftp/ruserpass.c b/appl/ftp/ftp/ruserpass.c index 22f4ced89..670d0af1a 100644 --- a/appl/ftp/ftp/ruserpass.c +++ b/appl/ftp/ftp/ruserpass.c @@ -75,6 +75,8 @@ ruserpass(char *host, char **aname, char **apass, char **aacct) strcpy(myhostname, ""); if((mydomain = strchr(myhostname, '.')) == NULL) mydomain = myhostname; + else + mydomain++; hdir = getenv("HOME"); if (hdir == NULL) hdir = "."; @@ -107,11 +109,13 @@ next: if (strcasecmp(hostname, tokval) == 0) goto match; if ((tmp = strchr(hostname, '.')) != NULL && + tmp++ && strcasecmp(tmp, mydomain) == 0 && strncasecmp(hostname, tokval, tmp-hostname) == 0 && tokval[tmp - hostname] == '\0') goto match; if ((tmp = strchr(host, '.')) != NULL && + tmp++ && strcasecmp(tmp, mydomain) == 0 && strncasecmp(host, tokval, tmp - host) == 0 && tokval[tmp - host] == '\0')