Less bogus domain name handling.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@611 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -209,7 +209,7 @@ login(char *host)
|
|||||||
char prompt[128];
|
char prompt[128];
|
||||||
if(myname &&
|
if(myname &&
|
||||||
(!strcmp(user, "ftp") || !strcmp(user, "anonymous"))){
|
(!strcmp(user, "ftp") || !strcmp(user, "anonymous"))){
|
||||||
sprintf(defaultpass, "%s@%s", myname, mydomain+1);
|
sprintf(defaultpass, "%s@%s", myname, mydomain);
|
||||||
sprintf(prompt, "Password (%s): ", defaultpass);
|
sprintf(prompt, "Password (%s): ", defaultpass);
|
||||||
}else{
|
}else{
|
||||||
strcpy(defaultpass, "");
|
strcpy(defaultpass, "");
|
||||||
@@ -932,18 +932,23 @@ recvrequest(char *cmd, char *local, char *remote, char *lmode, int printnames)
|
|||||||
}
|
}
|
||||||
closefunc = fclose;
|
closefunc = fclose;
|
||||||
}
|
}
|
||||||
if (fstat(fileno(fout), &st) < 0 || st.st_blksize == 0)
|
{
|
||||||
st.st_blksize = BUFSIZ;
|
size_t blocksize = BUFSIZ;
|
||||||
if (st.st_blksize > bufsize) {
|
#ifdef HAVE_ST_BLKSIZE
|
||||||
|
if (fstat(fileno(fout), &st) => 0 && st.st_blksize > 0)
|
||||||
|
blocksize = st.st_blksize;
|
||||||
|
#endif
|
||||||
|
if (blocksize > bufsize) {
|
||||||
if (buf)
|
if (buf)
|
||||||
(void) free(buf);
|
(void) free(buf);
|
||||||
buf = malloc((unsigned)st.st_blksize);
|
buf = malloc(blocksize);
|
||||||
if (buf == NULL) {
|
if (buf == NULL) {
|
||||||
warn("malloc");
|
warn("malloc");
|
||||||
bufsize = 0;
|
bufsize = 0;
|
||||||
goto abort;
|
goto abort;
|
||||||
}
|
}
|
||||||
bufsize = st.st_blksize;
|
bufsize = blocksize;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
(void) gettimeofday(&start, (struct timezone *)0);
|
(void) gettimeofday(&start, (struct timezone *)0);
|
||||||
switch (curtype) {
|
switch (curtype) {
|
||||||
|
@@ -75,6 +75,8 @@ ruserpass(char *host, char **aname, char **apass, char **aacct)
|
|||||||
strcpy(myhostname, "");
|
strcpy(myhostname, "");
|
||||||
if((mydomain = strchr(myhostname, '.')) == NULL)
|
if((mydomain = strchr(myhostname, '.')) == NULL)
|
||||||
mydomain = myhostname;
|
mydomain = myhostname;
|
||||||
|
else
|
||||||
|
mydomain++;
|
||||||
hdir = getenv("HOME");
|
hdir = getenv("HOME");
|
||||||
if (hdir == NULL)
|
if (hdir == NULL)
|
||||||
hdir = ".";
|
hdir = ".";
|
||||||
@@ -107,11 +109,13 @@ next:
|
|||||||
if (strcasecmp(hostname, tokval) == 0)
|
if (strcasecmp(hostname, tokval) == 0)
|
||||||
goto match;
|
goto match;
|
||||||
if ((tmp = strchr(hostname, '.')) != NULL &&
|
if ((tmp = strchr(hostname, '.')) != NULL &&
|
||||||
|
tmp++ &&
|
||||||
strcasecmp(tmp, mydomain) == 0 &&
|
strcasecmp(tmp, mydomain) == 0 &&
|
||||||
strncasecmp(hostname, tokval, tmp-hostname) == 0 &&
|
strncasecmp(hostname, tokval, tmp-hostname) == 0 &&
|
||||||
tokval[tmp - hostname] == '\0')
|
tokval[tmp - hostname] == '\0')
|
||||||
goto match;
|
goto match;
|
||||||
if ((tmp = strchr(host, '.')) != NULL &&
|
if ((tmp = strchr(host, '.')) != NULL &&
|
||||||
|
tmp++ &&
|
||||||
strcasecmp(tmp, mydomain) == 0 &&
|
strcasecmp(tmp, mydomain) == 0 &&
|
||||||
strncasecmp(host, tokval, tmp - host) == 0 &&
|
strncasecmp(host, tokval, tmp - host) == 0 &&
|
||||||
tokval[tmp - host] == '\0')
|
tokval[tmp - host] == '\0')
|
||||||
|
Reference in New Issue
Block a user