Commit Graph

119 Commits

Author SHA1 Message Date
Joel Sherrill
3f777d0edf 2001-01-12 Sergei Organov <osv@javad.ru>
* rtems_servers/ftpd.c, rtems_servers/ftpd.h: Major enhancements
	as listed below:
	    - use pool of pre-created threads to handle sessions instead of
  	      creating/deleting threads on the fly
	    - LIST output is now similar to what "/bin/ls -al" would output,
	      thus FTP clients such Netscape are happy with it.
	    - LIST NAME now works (both for files and directories)
	    - added support for NLST, CDUP, and MDTM FTP commands to make
	      more FTP clients happy
	    - keep track of CWD for every session separately
	    - ability to specify root directory name for FTPD in configuration
	      table. FTPD will then create illusion for FTP clients that this
	      is actually root directory.
	    - ignore options sent in commands, thus LIST -al FILE works and
	      doesn't try to list "-al" directory.
	    - buffers are allocated on stack instead of heap where possible to
	      eliminate malloc/free calls (avoid possible heap fragmentation
	      troubles).
	    - drop using of task notepad to pass parameters - use function
	      arguments instead
	    - use snprintf() instead of sprintf() as the latter is unsafe
	    - use of PF_INET in socket() instead of AF_INET

	    Here are ftp clients I've tried new FTPD with (all of them
	    running on Debian GNU/Linux 2.2):

	         Lftp 2.1.10
	         NcFTP 2.4.3
	         Netscape 4.75
	         ftp
	         mc 4.5.49
2001-01-12 13:51:56 +00:00
Joel Sherrill
75ca1791fd 2001-01-02 Joel Sherrill <joel@OARcorp.com>
* CHANGELOG: Removed.
	* README: Merged CHANGELOG contents as initial changes.
2001-01-02 14:18:44 +00:00
Joel Sherrill
407bc8c9ee 2000-12-14 Eric Norum <eric.norum@usask.ca>
* lib/tftpDriver.c: Added write capability.
2000-12-14 14:12:19 +00:00
Joel Sherrill
78d6a50003 2000-12-08 Joel Sherrill <joel@OARcorp.com>
* libc/linkaddr.c: Initialized variable to remove warning.
	* modem/ppp.c, modem/ppp_tty.c: Made numerous variable declarations
	conditional on PPP_COMPRESS and PPP_FILTER.  Commented out variables
	that were not used because the code using them was commented out.
	Removed totally unused variables.
	* modem/pppcompress.c: Added parentheses to avoid warnings.
	* pppd/pppmain.c: Removed numerous warnings.
2000-12-08 22:06:54 +00:00
Joel Sherrill
1a94770a77 2000-11-30 Joel Sherrill <joel@OARcorp.com>
* modem/ppp_tty.c: Changed to include <rtems/termiostypes.h> since
	that is an RTEMS specific header file.
2000-11-30 13:58:22 +00:00
Joel Sherrill
a58638b46a 2000-11-30 Joel Sherrill <joel@OARcorp.com>
* sys/ttycom.h: Moved to lib/include/sys.
	* Makefile.am: Modified to reflect above.
2000-11-30 13:57:33 +00:00
Joel Sherrill
bcefea16ab 2000-11-27 Joel Sherrill <joel@OARcorp.com>
* libc/res_init.c: Fix typo - adding missing # on include.
2000-11-27 17:03:22 +00:00
Joel Sherrill
85a0f07fb8 2000-11-25 Antti P Miettinen <antti.p.miettinen@nokia.com>
* wrapup/Makefile.am: Added modem subdir.
	* configure.in, Makefile.am: Added modem subdir.
	* net/Makefile.am: Added if_pppvar.h, pppcompress.h.
	* pppd/Makefile.am: Added pppmain.c (which needs work).
	* pppd/chat.c, pppd/fsm.c, pppd/fsm.h, pppd/ipxcp.c, pppd/main.c,
	pppd/ppp_tty.c, pppd/upap.c: Changes from Thomas Doerfler
	<Thomas.Doerfler@imd-systems.de> and cosmetic changes by me.
	Actually main.c and ppp_tty.c should be scratched. The modem
	subdir has the real ppp_tty.c and the real pppd main is in pppmain.c.
2000-11-25 22:10:01 +00:00
Joel Sherrill
f0864664e1 2000-11-25 Eric Norum <eric.norum@usask.ca>
* libc/res_init.c: Move include to avoid compiler dumping core.
2000-11-25 19:45:56 +00:00
Joel Sherrill
a6abd67af5 2000-11-25 Antti P Miettinen <antti.p.miettinen@nokia.com>
* wrapup/Makefile.am: Added modem subdir.
	* configure.in, Makefile.am: Added modem subdir.
	* net/Makefile.am: Added if_pppvar.h, pppcompress.h.
	* pppd/Makefile.am: Added pppmain.c (which needs work).
	* pppd/chat.c, pppd/fsm.c, pppd/fsm.h, pppd/ipxcp.c, pppd/main.c,
	pppd/ppp_tty.c, pppd/upap.c: Changes from Thomas Doerfler
	<Thomas.Doerfler@imd-systems.de> and cosmetic changes by me.
	Actually main.c and ppp_tty.c should be scratched. The modem
	subdir has the real ppp_tty.c and the real pppd main is in pppmain.c.
2000-11-25 19:42:21 +00:00
Joel Sherrill
feead22618 2000-11-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
2000-11-09 16:43:05 +00:00
Joel Sherrill
a314d3b497 2000-11-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal.
2000-11-02 15:49:06 +00:00
Joel Sherrill
3e597933ff 2000-10-30 Joel Sherrill <joel@OARcorp.com>
* POSIX include files merged into newlib.  This resulted in
	some definitions moving to other files and thus some secondary
	effects in RTEMS source code.
	* machine/types.h: Added _CLOCKID_T_ and _TIMER_T_ to be in sync
	with newlib's <machine/types.h>.
	* rtems/rtems_bsdnet_internal.h: newlib now includes definition
	of struct itimerval in <sys/time.h>.
2000-10-31 16:37:16 +00:00
Joel Sherrill
f36718c73a 2000-10-25 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros.
	Switch to GNU canonicalization.
2000-10-25 17:10:18 +00:00
Joel Sherrill
0da0dea224 2000-10-19 Antti P Miettinen <anmietti@trshp.ntc.nokia.com>
* lib/tftpDriver.c: add comments to handlers struct function pointers.
	* rtems/rtems_glue.c: move pointer arithmetic to be _after_
	pointer has been checked against NULL.
2000-10-19 15:33:03 +00:00
Joel Sherrill
552051f0ef 2000-10-18 Chris Johns <ccj@acm.org>
* pppd/ipxcp.c: Fixed a typo.
2000-10-18 16:25:48 +00:00
Joel Sherrill
5ff9c0886a 2000-09-28 Joel Sherrill <joel@OARcorp.com>
* rtems_webserver/Makefile.am, rtems_webserver/base64.c,
	rtems_webserver/base64.c: Renamed base64.c to wbase64.c.
	* rtems_webserver/sock.c: Added file missed in merger.
2000-09-28 19:11:35 +00:00
Joel Sherrill
4b60bd3408 2000-09-22 Joel Sherrill <joel@OARcorp.com>
* machine/types.h, pppd/pppd.h, rtems/rtems_bsdnet_internal.h,
	rtems_webserver/webmain.c: machine/types.h  should not have
	included rtems.h.  It is now including precisely the
	least amount of low level, yet portable .h files to get
	the basic RTEMS types defined.  This rippled into other
	files since rtems_bsdnet_internal.h used machine/types.h to include
	rtems.h.
2000-09-22 20:38:57 +00:00
Joel Sherrill
6e3f4b2ed1 2000-09-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* ChangeLog: Cleanup.
2000-09-06 15:29:02 +00:00
Joel Sherrill
9b28bea577 2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* kern/Makefile.am, lib/Makefile.am, libc/Makefile.am,
	net/Makefile.am, netinet/Makefile.am, nfs/Makefile.am,
	pppd/Makefile.am, rtems/Makefile.am, rtems_servers/Makefile.am,
	rtems_webserver/Makefile.am, wrapup/Makefile.am: Include compile.am
2000-09-05 16:07:35 +00:00
Joel Sherrill
bdcf02d460 2000-09-05 Joel Sherrill <joel@OARcorp.com>
* rtems/rtems_syscall.c: Changed from O_NONBLOCK to internal
	RTEMS_LIBIO_FLAGS_NO_DELAY to avoid O_NONBLOCK/O_NDELAY confusion
	and to work with the converted flags.
2000-09-05 15:47:44 +00:00
Joel Sherrill
5f117e817a 2000-09-01 Rosimildo daSilva <rdasilva@connecttel.com>
* emfdb.c: Removed stray semi-colon.  Reported on GoAhead
	mailing lists by Jim Rudnicki <jdrudnicki@yahoo.com>
2000-09-01 11:18:37 +00:00
Joel Sherrill
a6b4c0df5f 2000-08-30 Joel Sherrill <joel@OARcorp.com>
* Merged version 2.1 of GoAhead webserver.  This update
	was submitted by Antti P Miettinen <antti.p.miettinen@nokia.com>.
	* NOTES, base64.c, ejIntrn.h, emfdb.c, emfdb.h, md5.h, md5c.c,
	um.c, um.h: New files.
	* wbase64.c: Removed.
	* Makefile.am, asp.c, balloc.c, default.c, ej.h, ejlex.c, ejparse.c,
	form.c, h.c, handler.c, mime.c, misc.c, ringq.c, rom.c, security.c,
	socket.c, sym.c, uemf.c, uemf.h, url.c, value.c, webcomp.c, webmain.c,
	webpage.c, webrom.c, webs.c, webs.h, websuemf.c, wsIntrn.h: Modified.
2000-09-01 10:57:21 +00:00
Joel Sherrill
757e166196 2000-08-31 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* netinet/tcp_input.c: Spelling corrections.
2000-09-01 07:20:06 +00:00
Joel Sherrill
82edf48c63 2000-08-30 Joel Sherrill <joel@OARcorp.com>
* rtems_webserver/license.txt: New file.
2000-08-30 16:52:35 +00:00
Joel Sherrill
e94ad1feb9 Adding ChangeLogs. 2000-08-10 13:24:00 +00:00
Joel Sherrill
0e08ff0033 Patch from Eric Norum <eric@cls.usask.ca> to add optional support for
fast mutexes that bypass the API level to directly interface with the
SuperCore.
2000-08-02 21:12:36 +00:00
Joel Sherrill
4dcd9436d4 Changed name of static table versions to avoid conflict. 2000-07-14 18:52:54 +00:00
Joel Sherrill
73e1db9f2b Moved <sys/cdefs.h> to lib/include so non-networking applications could
include <sys/ioctl.h>.
2000-06-15 12:58:24 +00:00
Joel Sherrill
9b05600b2c *** empty log message *** 2000-06-14 20:22:31 +00:00
Joel Sherrill
6f93bb49b4 Patch from Chris Johns <cjohns@cybertec.com.au> to enhance network
initialization.  This adds an interface which makes it easier to
control the BSD stack from user code. The BSD stack initialise uses
it. It is a sort of `function' interface for an ifconfig
command.

I also added support for attaching and removing interfaces. With hot
swap PCI comming online support for hot swap PCI will be an important
factor in "state of art" RTOS's. This is also part of a general move on
my part to allow RTEMS to be configured at runtime by calls rather than
table driven at initialisation.
2000-06-14 17:18:18 +00:00
Joel Sherrill
df49c60c96 Merged from 4.5.0-beta3a 2000-06-12 15:00:15 +00:00
Joel Sherrill
a446015228 New files added on 4.5 branch. 2000-04-28 17:42:16 +00:00
Joel Sherrill
bf85b19188 Patch rtems-rc-4.5.0-13-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
adds .cvsignore.
2000-04-13 14:37:14 +00:00
Joel Sherrill
4bf1801d0d Patches rtems-rc-20000118-7.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>
that contains the automake files for libnetworking plus a couple of
minor fixes.  [Now only one unused/unsupported Makefile.in remains
(./c/src/lib/libbsp/hppa1.1/pxfl/Makefile.in).]

    To apply:
        patch -p1 < rtems-rc-20000118-7.diff
        /bin/sh rtems-rc-20000118-7.rm
        /bin/sh rtems-rc-20000118-7.add
        ./bootstrap

    Notes:
    * I have tested this one by building all BSPs for m68k, powerpc, sh and
      unix with toolchains built since last weekend.
    * I did not touch libnetworking's directory layout.
2000-02-03 13:21:38 +00:00
Joel Sherrill
4a9b897304 Patch from Eric Norum <eric@cls.usask.ca> at the request of Jake
Janovetz <janovetz@tempest.ece.uiuc.edu> to return a status from
network initialization rather than panic'ing.  It changes a bunch
of rtems_panics to printfs and returns a status from
rtems_bsdnet_initialize_network().
2000-01-21 15:11:40 +00:00
Joel Sherrill
e570c7617d Patch from Eric Norum <eric@cls.usask.ca> to remove warnings. 2000-01-21 14:49:31 +00:00
Joel Sherrill
19642e2cab Removed definition of USHRT_MAX to remove lots of redefinition warnings. 2000-01-10 21:22:23 +00:00
Joel Sherrill
fc0b91c5d5 Patch from Eric Norum <eric@cls.usask.ca> to make the NTP handler a little
more flexible about the error status returned from a timeout.
1999-12-13 19:20:38 +00:00
Joel Sherrill
809f445197 Correction from Eric Norum for timeout in TFTP driver following bug
report by Nick.SIMON@syntegra.bt.co.uk:

TFTP uses UDP and UDP packets are prime targets for getting dropped when
the network gets busy.  I want the number of retries quite large in my
application. I see that PACKET_REPLY_MILLISECONDS is, in fact, not
being used.
1999-12-13 17:03:37 +00:00
Joel Sherrill
5d3da15b83 Removed debugging printfs. 1999-12-01 16:00:38 +00:00
Joel Sherrill
017061c561 Patch from Eric Norum <eric@cls.usask.ca> to fix a spot in the tftp file
system table from when the rtems_filesystem_operations_table structure changed
and the initializer in libnetworking/lib/tftpDriver.c did not get
updated.
1999-12-01 15:54:17 +00:00
Joel Sherrill
4288153455 Added missing files from PPP port. 1999-11-30 22:14:28 +00:00
Joel Sherrill
d0950adfd6 Added port of ppp-2.3.5 from Tomasz Domin <dot@comarch.pl> of ComArch SA.
Tomasz only tested this on the mpc823.

The official site for the original source for this PPP implementation is:

ftp://cs.anu.edu.au/pub/software/ppp

NOTE:  As of 11/30/1999, the current version of this source is 2.3.10.
1999-11-30 22:12:50 +00:00
Joel Sherrill
65a38bcab7 Web server uses the POSIX API. Therefor, it must be disabled when the
POSIX API is disabled.
1999-11-16 16:14:37 +00:00
Joel Sherrill
cbccd37599 Patch from Eric Norum <eric@cls.usask.ca> which includes:
Patches against 1105 snapshot to add NTP server support to network
    configuration/BOOTP.
1999-11-10 14:31:11 +00:00
Joel Sherrill
a0af97d2bf Patch from Eric Norum <eric@cls.usask.ca> to add NTP BOOTP support because
EPICS needs a synchronized time-of-day clock.  This patch is the changes
needed to get NTP server information from a BOOTP server.

This patch also adds NTP server information to the network configuration
structure, too.
1999-11-09 03:43:47 +00:00
Joel Sherrill
c1cdaa0ce8 Patch from Emmanuel Raguet <raguet@crf.canon.fr> and Eric Valette
<valette@crf.canon.fr> to add a port of the GoAhead web server
(httpd) to the RTEMS build tree.  They have successfully used
this BSP on i386/pc386 and PowerPC/mcp750.

Mark and Joel spoke with Nick Berliner <nickb@goahead.com> on
26 Oct 1999 about this port and got verbal approval to include
it in RTEMS distributions.
1999-10-27 12:50:33 +00:00
Joel Sherrill
8379ada798 Patch from Eric Norum <eric@cls.usask.ca> to address the following problem
report from Philip A. Prindeville <philipp@zembu.com>:

        I was working on a device driver for a certain ethernet chipset that
    occassionally wraps in its buffer, and causes a resulting mbuf chain
    with only a few dozen bytes in the first mbuf of the chain.

        I wouldn't have thought this would be a problem, until I ran some
    stress tests that flooded the ethernet receiver with packets and
    started to get panics here:

       250
       251          if (m->m_pkthdr.len < sizeof(struct ip))
       252                  goto tooshort;
       253
       254  #ifdef  DIAGNOSTIC
       255          if (m->m_len < sizeof(struct ip))
       256                  panic("ipintr mbuf too short");
       257  #endif
       258
       259          if (m->m_len < sizeof (struct ip) &&
       260              (m = m_pullup(m, sizeof (struct ip))) == 0) {
       261                  ipstat.ips_toosmall++;
       262                  return;
       263          }
       264          ip = mtod(m, struct ip *);

    and the panic was at line 256.  But if I #undef'd DIAGNOSTICS,
    then the m_pullup() at line 260 does the right thing and the packet
    ends up being processed just fine.

    So I started wondering, (a) why was the test checking for
    something that apparently wasn't a fatal condition but rather
    one that is subsequently recovered from a couple of lines later
    and (b) why panic as a diagnostic "aid" from a recoverable
    condition rather than just (say) log a message to the console?

    All of this seems overly severe for no reason that is readily
    apparent to me.
1999-10-25 16:09:45 +00:00
Joel Sherrill
1b8212423d Modified to avoid conflicts on definitions of malloc. newlib 1.8.2
now prototypes the malloc family in stdlib.h.  This causes conflicts
with the way the network stack overrides the definitions of malloc.
As best I (being Joel) can tell, commenting stdlib.h out keeps the
files compiling and referencing the desired malloc/free but results
in more warnings.
1999-10-06 20:37:26 +00:00