Commit Graph

28 Commits

Author SHA1 Message Date
Oliver Schmidt
c48f8fd39a Keep gcc 4.x from complaining about 'lvalue required as increment operand'. 2011-05-22 23:08:40 +02:00
Oliver Schmidt
d4f49fa204 Added explicit rejection of multiple connections.
Although a simple solution the recently introduced approach to just not listen to incoming connetions if there's already one has the downside that one doesn't know if a connection fails because the server is down or becuase there's a connection.
Therefore now connections are always accepted but after sending a message to the user and waiting a few seconds they are closed.
The appstate is used used in a somewhat unusual way here: The one and only "active" connection has an appstate of 0. For all other connections the appstate is initially set to 1. Then it is increased on every uIP poll until it reaches 10, which triggers the connection close. This somewhat hacky approach allows to keep track of the rejected sessions without any additional state variables and/or timers.
2011-05-21 21:03:04 +02:00
Oliver Schmidt
d862e9dcfb Allow only one Telnet connection at a time.
As the session state management of Telnet server is a single static variable allowing more than one connection leads to inconsistencies.
2011-04-17 12:46:42 +02:00
Oliver Schmidt
831312e311 Some Telnet server enhancements:
- PETSCII sending support
- Option to customize shell prompt and banner
- Stop all running commands on shell close
- New 'exit' and 'quit' commands to close shell
2011-04-16 21:10:22 +02:00
adamdunkels
5585d72c86 A simple but substantial change: uIP used the htons()/HTONS() macro
functions for converting between host and network byte order. These
names are the de facto standard names for this functionality because
of the original BSD TCP/IP implementation. But they cause problems for
uIP/Contiki: some platforms define these names themselves (Mac OS,
most notably), causing compilation problems for Contiki on those
platforms.

This commit changes all htons to uip_htons instead. Same goes for
htonl, ntohs, and ntohl. All-caps versions as well.
2010-10-19 18:29:03 +00:00
oliverschmidt
c109e102c4 Include wget shell command in "standard" shell environments. 2008-11-10 22:10:32 +00:00
adamdunkels
7b87c2f5dc Bugfix: the code tried to shave off the ending newline character even if it did not exist 2008-10-31 18:07:13 +00:00
oliverschmidt
e6cc0105b0 - It doesn't make sense to me add the shell sources here _AND_ link to the shell app.
- The shell app needs to be there so the '-' prefix is wrong here.
2008-03-28 22:40:55 +00:00
oliverschmidt
c4250420ce As adding some commands to the telnet server shell doesn't seem to be desirable in the application it's now done in the gui-specific code. 2008-02-29 00:07:03 +00:00
oliverschmidt
aa7ba44fb1 Avoided compiler warning. 2008-02-28 23:59:05 +00:00
oliverschmidt
2ce444c175 Made use of shell_quit(). 2008-02-28 23:50:02 +00:00
adamdunkels
814558b1fe Rewrote the telnet server to buffer the output in a single, large buffer rather than as individual lines. This both makes output faster and makes it possible to buffer more outgoing data. 2008-02-24 20:43:28 +00:00
adamdunkels
10692296a1 Specify that the telnet server uses the shell application 2008-02-24 20:38:57 +00:00
oliverschmidt
f244bdbf2d Accomodate for the now more complex shell output. 2008-02-09 18:51:56 +00:00
oliverschmidt
b1c748c137 Adjusted telnet server to the new shell logic. 2008-02-09 17:15:58 +00:00
oliverschmidt
2748a0803f Minor formatting change. 2007-11-30 11:15:41 +00:00
oliverschmidt
062e2a1ce4 Removed compiler warning. 2007-11-17 20:13:54 +00:00
matsutsuka
582a7476d4 *-dsc.c files have been changed to remove forward reference for struct_icon variable, bacause it is strange that this variable is used wholly inside the C source file and declared extern for the forward reference. 2007-09-06 01:36:10 +00:00
matsutsuka
9d4fc0a1a8 Support for z80(sdcc) port.
In order to support, some core modules are modified as follows:

core/sys/dsc.h
- If CTK_CONF_ICONS is diabled, the whole icon-related code is disabled.
- DSC_HEADER is changed to remove extra semicolon.

core/sys/process.h
- process_data_t is expressed by void* in signatures (known bug on sdcc).

core/sys/autostart.h
- autostart_processes is changed to remove extra semicolon.

core/sys/cc.h
- CC_CONF_ASSIGN_AGGREGATE is introduced.
- CC_CONF_INC_CAST_POINTER is introduced, a workaround of a kind
  of sdcc bug for an increment.

core/net/hc.c
core/net/uip_arp.c
core/net/uaodv.c
- Aggregation assignments are changed to uip_ipaddr_copy.

core/net/psock.c
core/net/uipbuf.c
core/net/dhcpc.c
apps/shell/shell.c
core/ctk/vnc-server.c
core/ctk/vnc-out.c
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

core/net/uip-over-mesh.c
- An extra semicolon is removed.

apps/dhcp/dhcp-dsc.c
apps/shell/shell-dsc.
apps/ftp/ftp-dsc.c
apps/process-list/process-list-dsc.c
apps/email/email-dsc.c
apps/webserver/webserver-dsc.c
apps/vnc/vnc-dsc.c
apps/vnc/vnc-viewer.h
apps/webbrowser/www-dsc.c
apps/about/about-dsc.c
apps/irc/irc-dsc.c
apps/telnet/telnet-dsc.c
apps/telnetd/telnetd-dsc.c
apps/netconf/netconf-dsc.c
apps/directory/directory-dsc.c
pps/calc/calc-dsc.c
- Modify an extern type to a real declaration, which is static
  to prevent a compile error.

core/net/mac/xmac.c
- Variables cannot be defined in a head of block on sdcc.

core/ctk/ctk.h
core/ctk/ctk.c
apps/program-handler/program-handler.c
- If CTK_CONF_ICONS is diabled, the whole icon-related code is disabled.

Makefile.include
- Add a set of configuration for an assembler.
- $(CLEAN) variable is introduced for customized cleanup.

apps/process-list/process-list.c
- PROCESSLIST_CONF_HEIGHT is introduced to address smaller screen size.

core/lib/ctk-filedialog.c
- FILES_CONF_HEIGHT is introduced to address smaller screen size.
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

apps/vnc/vnc-viewer.c
- A cast is added to prevent a compile error.
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

apps/webbrowser/webclient.c
- CC_CONF_INC_CAST_POINTER is introduced, a workaround of a kind
  of sdcc bug for an increment.

core/loader/elfloader.c
- A cast is added to prevent a compile error.

core/net/rime/rimeaddr.c
- An initialization is added to prevent a compile error.

core/net/rime/rudolph0.c
- NULL is changed to 0, because NULL causes a compile error.

core/net/rime/route-discovery.c
- Add an argument to match the definition of nf_callbacks.

cpu/z80/strcasecmp.h
cpu/z80/strcasecmp.c
cpu/z80/contiki-sdcc-conf.h
cpu/z80/mtarch.c
cpu/z80/mtarch.h
cpu/z80/Makefile.z80
- New files to make compilation availble on sdcc.
- Added support for multithreading.
2007-08-30 14:39:16 +00:00
ksb
3bb9fda749 Avoid warning about using a cast as a lvalue. 2007-08-22 10:59:56 +00:00
oliverschmidt
6e5193f303 Added integration of shell event handler into shell server. This is obligatory for the 'ls' command to succeed. 2007-04-13 22:47:43 +00:00
oliverschmidt
94bd0de72d Fixed incomplete integration of shell server log gui. 2007-04-13 22:15:52 +00:00
oliverschmidt
079a4a1b54 Avoid compiler warnings. 2007-04-13 22:02:28 +00:00
oliverschmidt
b0918c1516 Added memb.c. 2007-04-13 21:09:23 +00:00
oliverschmidt
7aae71934d Providing a dummy program_handler_load() made made the telnet server work without program-handler but on the other hand incompatible with an exsistng program handler :-(
Therefore I replaced that hack with a clean CONF macro, which by the way really removes the run() and exec() functionality instead of just implementing it empty.
2007-04-13 21:04:52 +00:00
oliverschmidt
661a58cddb Make lists of source files for each app available individually - i.e. for creation of dynamically loadable modules. 2007-04-05 19:50:43 +00:00
oliverschmidt
9dff20305f How were the references to shell.h and shell.c supposed to be resolved without bringing in apps/shell ?!? 2007-03-03 13:26:29 +00:00
adamdunkels
c9e808d638 Import of the contiki-2.x development code from the SICS internal CVS server 2006-06-17 22:41:10 +00:00