[task #7891] FTP Client for lwip ready for test

View: New views
12 Messages — Rating Filter:   Alert me  

[task #7891] FTP Client for lwip ready for test

by Ben Asselstine-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


URL:
  <http://savannah.nongnu.org/task/?7891>

                 Summary: FTP Client for lwip ready for test
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: iordan_neshev
            Submitted on: Wednesday 03/26/08 at 14:37
                Category: None
         Should Start On: Wednesday 03/26/08 at 00:00
   Should be Finished on: Wednesday 03/26/08 at 00:00
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None
                  Effort: 0.00

    _______________________________________________________

Details:

Hello,

I submit a simple FTP client.
It uses a socket API that I wrote which does not require OS (it will be
available soon).
In the .zip file you will find instructions how to adapt the lwip's existing
socket interface to to run the client. It should be easy, but I did not test
this case.

Currently I have problems only with saving the received files in flash memory
from within the ftp client. Otherwise I save it through the receive callback.


Btw get ready for PPP and BSD sockets API for NO_SYS=1 :)




    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Wednesday 03/26/08 at 14:37  Name: fptclient_v01.zip  Size: 15kB   By:
iordan_neshev

<http://savannah.nongnu.org/task/download.php?file_id=15340>

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7891>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/



_______________________________________________
lwip-devel mailing list
lwip-devel@...
http://lists.nongnu.org/mailman/listinfo/lwip-devel

[task #7891] FTP Client for lwip ready for test

by Ben Asselstine-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Follow-up Comment #1, task #7891 (project lwip):

This may well be useful to someone. However, as you say in the leading
comment, it is derived from the eCos ftp client (and looking at the code,
indeed it clearly is). This means it is covered by the eCos GPL license.

You should have retained the header at the top of the file identifying the
copyrights and license.

Here is the license on the current ecos ftpclient.c (although I happen to
know now that all the copyrights will in future be just the Free Software
Foundation's):

// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
// Copyright (C) 2002 Andrew Lunn.
// Copyright (C) 2004 Gary Thomas
// Copyright (C) 2005 eCosCentric Ltd.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later
version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use
macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General
Public
// License. However the source code for this file must still be made
available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
// -------------------------------------------


    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7891>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/



_______________________________________________
lwip-devel mailing list
lwip-devel@...
http://lists.nongnu.org/mailman/listinfo/lwip-devel

[task #7891] FTP Client for lwip ready for test

by Ben Asselstine-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Follow-up Comment #2, task #7891 (project lwip):

Oops, ignore that eCosCentric copyright - I was looking at the wrong tree.
The public CVS version does not have that line. Everything else is the same.

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7891>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/



_______________________________________________
lwip-devel mailing list
lwip-devel@...
http://lists.nongnu.org/mailman/listinfo/lwip-devel

[task #7891] FTP Client for lwip ready for test

by Ben Asselstine-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Follow-up Comment #3, task #7891 (project lwip):

In the .zip there is a .txt with a guide
and short description which includes:

> The client is based on the eCos client:
>  (URL)
> I promise to bring back the copyright notice later.

I could not find the original source file when I
prepared the archive, but I *PROMISE* to do it
and copy/paste the header before the client goes
in the CVS repository. At the moment the source
is intended to be tested and debugged.
I tested it only in laboratory conditions.


    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7891>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/



_______________________________________________
lwip-devel mailing list
lwip-devel@...
http://lists.nongnu.org/mailman/listinfo/lwip-devel

[task #7891] FTP Client for lwip ready for test

by Ben Asselstine-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Follow-up Comment #4, task #7891 (project lwip):

Sadly promises aren't always kept, and have no legal standing!  By putting it
up here (even without the further advertisment of it) you're distributing the
software and so have broken the licence agreement.

I'm deleting the file, but please don't see this as not wanting the client or
other contributions, it's just that we have a duty to be careful about
software licences and the providence of contributed code.  

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7891>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/



_______________________________________________
lwip-devel mailing list
lwip-devel@...
http://lists.nongnu.org/mailman/listinfo/lwip-devel

[task #7891] FTP Client for lwip ready for test

by Ben Asselstine-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Follow-up Comment #5, task #7891 (project lwip):

Thanks God, I found the original source files.
I attached the headers and now everything is legal.

I can't remember if there are bits of code
taken from the lwip stack, so I included
also the lwip's Copyright text.

I apologize once again for ignoring the law.

I hope we'll help each other and you'll report
any bugs or any ideas you have about how
to improve the client.


(file #15356)
    _______________________________________________________

Additional Item Attachment:

File name: ftpclient v01a.rar             Size:17 KB


    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7891>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/



_______________________________________________
lwip-devel mailing list
lwip-devel@...
http://lists.nongnu.org/mailman/listinfo/lwip-devel

[task #7891] FTP Client for lwip ready for test

by Ben Asselstine-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Follow-up Comment #6, task #7891 (project lwip):

Having an FTP client for lwIP is cool, of course! But just out of curiosity:
why did you write your own socket layer? Isn't the lwIP raw API more
efficient?

And another question mainly to Kieran: I thought we wouldn't want to add
socket-software to the repository, as that is more common (not strictly
lwIP-related)???

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7891>

_______________________________________________
  Nachricht geschickt von/durch Savannah
  http://savannah.nongnu.org/



_______________________________________________
lwip-devel mailing list
lwip-devel@...
http://lists.nongnu.org/mailman/listinfo/lwip-devel

[task #7891] FTP Client for lwip ready for test

by Ben Asselstine-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Follow-up Comment #7, task #7891 (project lwip):

>why did you write your own socket layer?

1. Why did we not use the existing socket API?
Because it needs OS. The current project takes
many features from older products and it would
take much time to rewrite them for an OS. I guess
we could make all our previous soft work as a
single thread but did not want to risk when the
time-to-market is short. Also, every OS adds some
overhead. At the present time we are struggling
for RAM. The lwip's PPP needs much of it.

2. Because (almost) all the freeware in C around the
world is written for sockets (just like the eCos
client). If we want to benefit from freeware we need socket
API. For the current project we don't need other
network application than ftpc but for future project
we should do. Why rewriting every freeware application
for the raw API when we can implement socket API once
and use freeware with less efort and modifications?

3. Because I've never done network programming before.
This was the perfect opportunity to learn and
work at the same time.

>Isn't the lwIP raw API more efficient?
I'm sure that a client, based on the raw api
will be much faster, but since we use
GPRS connection this is impossible.

Btw we want to contribte also with the PPP stack
modified for use without OS. Should I start a new
Task or add it to some older one?

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7891>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/



_______________________________________________
lwip-devel mailing list
lwip-devel@...
http://lists.nongnu.org/mailman/listinfo/lwip-devel

[task #7891] FTP Client for lwip ready for test

by Ben Asselstine-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Follow-up Comment #8, task #7891 (project lwip):

I totally agree about your socket vs. raw API statements. But if you want to
save RAM or processing time: you can always mix raw-API-apps and socket-apps
in the same product, that's how we do it: port the existing socket apps and
develop our own raw API apps.

On the other hand, as much as I apprechiate having an FTP client for lwIP:
how does this relate to lwIP if it is really a socket application? Having the
raw- and netconn-APIs, I think we should focus on applications for these (more
efficient) APIs and leave the generic socket API apps to the rest of the
world... (just my own opinion, though - although it's always better to have a
socket FTP client than no FTP client at all).


> Btw we want to contribte also with the PPP stack
> modified for use without OS. Should I start a new
> Task or add it to some older one?

Please create a new task for this. I'm eager to look at the changes, although
I must say I didn't have much time to look at lwIP's PPP yet, I think
especially for mobile devices, PPP is a very interesting feature and the
current developers (including me) can't say much about it :-(

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7891>

_______________________________________________
  Nachricht geschickt von/durch Savannah
  http://savannah.nongnu.org/



_______________________________________________
lwip-devel mailing list
lwip-devel@...
http://lists.nongnu.org/mailman/listinfo/lwip-devel

[task #7891] FTP Client for lwip ready for test

by Ben Asselstine-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Follow-up Comment #9, task #7891 (project lwip):

>On the other hand, as much as I apprechiate having an FTP client for lwIP:
how does this relate to lwIP if it is really a socket application? Having the
raw- and netconn-APIs, I think we should focus on applications for these (more
efficient) APIs and leave the generic socket API apps to the rest of the
world... (just my own opinion, though - although it's always better to have a
socket FTP client than no FTP client at all).

About that, I think there is two kind of modules in contrib/apps: first, we
should have enought applications to be able to test most of parts of lwIP code
(chargen, netio). And socket layer is one of these parts, and with it, you
also the netconn test (the only thing to know with netconn api is the pbuf
chains use). Secondly, a module in contrib/apps can provide some usual
protocols in a SIMPLE way (ping, sntp, netbios). Of course, a module doing
both is better (httpserver & httpserver_raw).

About this FTP client, I'm not sure about what it provide: this is socket
based, and mainly use the tcp part. But "chargen" already do that, so...

But, in all cases, AS LONG there is a code maintainer for a contrib module, I
don't have any problem if we add it.

One of the module I would like to use is a rtp client/server to test the IGMP
parts (I have already post it).


    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7891>

_______________________________________________
  Message posté via/par Savannah
  http://savannah.nongnu.org/



_______________________________________________
lwip-devel mailing list
lwip-devel@...
http://lists.nongnu.org/mailman/listinfo/lwip-devel

[task #7891] FTP Client for lwip ready for test

by Ben Asselstine-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Follow-up Comment #10, task #7891 (project lwip):

A year and a half has passed since this task was started and unless anyone
changed their mind about this, it seems as if we should close it. Having
ready-to-use, free socket software is a good thin, but it can be hosted in
another repository.

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7891>

_______________________________________________
  Nachricht geschickt von/durch Savannah
  http://savannah.nongnu.org/



_______________________________________________
lwip-devel mailing list
lwip-devel@...
http://lists.nongnu.org/mailman/listinfo/lwip-devel

[task #7891] FTP Client for lwip ready for test

by Ben Asselstine-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Update of task #7891 (project lwip):

             Open/Closed:                    Open => Closed                


    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7891>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/



_______________________________________________
lwip-devel mailing list
lwip-devel@...
http://lists.nongnu.org/mailman/listinfo/lwip-devel