Forum Discussion
Altera_Forum
Honored Contributor
15 years agoftp session problem
Thanks in advance. I've got a custom embedded uClinux NIOS system with a compact flash (I use ext3). The system records *.bin files and we extract them via ftp using "mget." After a few file...
Altera_Forum
Honored Contributor
15 years agoFIXED THIS ISSUE --
Problem is a bug in the uClinux ftpd.c code. I found a blog from 2003 http://blog.gmane.org/gmane.linux.uclinux.devel/month=20061101/page=36 Code here just in case this link is flakey ************************** Subject: [BUG] ftpd Newsgroups: gmane.comp.gnu.inetutils.bugs Date: Fri, 29 Aug 2003 21:28:31 +0900 Hello I found a bug. if "nm ftpd | sort -n" show: 1001cba8 b bufs.135 1001ce78 b ctrl_addr 1001ce88 b data_source then ctrl_addr will be destroyed, and ftp client will get message like this: 425 Can't create data socket (56.0.0.135,0): Cannot assign requested address. diff -u ftpd.c_org ftpd.c --- ftpd.c_org Wed Jun 26 12:15:05 2002 +++ ftpd.c Fri Aug 29 21:15:41 2003 @@ -192,7 +192,7 @@ static char bufs[NUM_SIMUL_OFF_TO_STRS][80]; static char (*next_buf)[80] = bufs; - if (next_buf > (bufs+NUM_SIMUL_OFF_TO_STRS)) + if (next_buf >= (bufs+NUM_SIMUL_OFF_TO_STRS)) next_buf = bufs; if (sizeof (off) > sizeof (long)) ------------------------------------------------------------ When I introduced this change in my ftpc.c the problem is resolved. Anyone have any further comments on this and/or the above mentioned bug report? Thanks. /Martin ********************* Basically, a fix for this problem was submitted way back then and is not in the current "ftpd.c" file (in uClinux-dist/user/ftpd directory). I made the fix, tested it and it works great. I can now mget with no problems. Hope this helps someone else.