jow [Thu, 3 May 2012 17:19:20 +0000 (17:19 +0000)]
uhttpd: added uhttpd.docroot
Passes the document-root to the Lua handler by placing it in uhttpd.docroot.
It could alternatively be placed in env.DOCUMENT_ROOT which would more closely
resemble the CGI protocol; but would mean that it is not available at the time
when the handler-chunk is loaded but rather not until the handler is called,
without any code savings.
Signed-off-by: David Favro <openwrt@meta-dynamic.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31571 3c298f89-4303-0410-b956-a3cf2f4a3e73
jow [Thu, 3 May 2012 17:19:18 +0000 (17:19 +0000)]
Fixed: [PATCH 2/3] uhttpd URL-codec enhancements.
My apologies, the 2nd of those patches had a syntax error -- that's what
I get for making a last-minute edit, even to the comments, without
testing! :-p
* uh_urlencode() and uh_urldecode() now return an error condition for
buffer-overflow and malformed-encoding rather than normal return with corrupt
or truncated data. As HTTP request processing is currently implemented, this
causes a 404 HTTP status returned to the client, while 400 is more
appropriate.
* Exposed urlencode() to Lua.
* Lua's uhttpd.urlencode() and .urldecode() now raise an error condition for
buffer-overflow and malformed-encoding rather than normal return with
incorrect data.
jow [Thu, 3 May 2012 17:19:16 +0000 (17:19 +0000)]
uhttpd URL-codec bug fixes.
* Fixed output-buffer-overflow bug in uh_urlencode() and uh_urldecode() [tested
input-buffer index against output-buffer length]. In reality, this would not
typically cause an overflow on decode, where the output string would be
expected to be shorter than the input string; and uh_urlencode() seems to have
been unreferenced in the source.
* Fixed bug: uh_urlencode() and uh_urldecode() both read one extra byte from the
input-string. While this could manifest in C code, the result was most
egregious when called from Lua, where it caused an extra null byte to be
embedded at the end of the output string.
juhosg [Thu, 3 May 2012 09:39:01 +0000 (09:39 +0000)]
Fix pptp handling of routes to server.
The existing code is fairly broken. It assumes you're using Legacy IP, and
it assumes that the server is reachable via your default route. Via the
first default route in the 'route -n' output, in fact, regardless of metric.
Fix all those problems by using 'ip route get' to really find the *current*
route to the server, and install a host-specific route to match.
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31565 3c298f89-4303-0410-b956-a3cf2f4a3e73
juhosg [Wed, 2 May 2012 19:17:59 +0000 (19:17 +0000)]
ramips: W306R V2.0 - GPIO and Network fixes
Fixed: GPIO typos and confirmed GPIO_BUTTON_RESET
Fixed: Lan & Wan reversed: swaped "eth0.2" with "eth0.1" by
removing a line(default is correct), and reversed the
Lan/wan layout LLLLW to WLLLL.
Added: image/Makefile now builds -factory.bin files. I am
unsure of the accepted way to change the makefile but
the name of the image needs to be 'linkn Kernel Image'
in order to be accepted by the OEM firmware.
Known issue: eth0 (internal switch i think has mac address:
00:11:22:33:44:55 but i think it should be same as
the lan).
Known issue: Pressing the reset button has no noticable effect,
i would expect the router to boot failsafe if being
pressed on boot, reboot if short press and reset all
to default if long press.
[juhosg: remove mtdlayout_W306R and use mtdlayout_4M instead]
Signed-off-by: David Pearce <david_18051985@hotmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31557 3c298f89-4303-0410-b956-a3cf2f4a3e73
juhosg [Wed, 2 May 2012 19:17:58 +0000 (19:17 +0000)]
ramips: Make serial console for DIR-300-B1 work again
Make serial console for DIR-300-B1 work again.
With some recent change, "console=ttyS1,57600" was removed from the
default kernel command line, this adds the necessary mkcmdline
incantation to image/Makefile to add it there for this target.
This is quite likely broken for other targets as well.
Without this the console switches to ttyS0 instead of ttyS1 and
kernel output is missing, and the userspace comes up with 9600 baud
instead of 57600.
base-files-network: add a fixup_interface function like with the netifd compatibility scripts - allows selective fixup of individual interface sections instead of having to do the full scan_interfaces
[toolchain/eglibc] drop support for eglibc version trunk/HEAD
When selecting a specific eglibc version, it comes with a specific SVN
revision that should not be modified as it (more or less) correspond to
a tagged release. This patch disable the possibility to select a specific
SVN revision on known eglib versions.
This patch also disables the possibility to select the trunk branch of
eglibc. There are multiple reasons for that:
* trunk/HEAD may not even compile
* the OpenWrt built system makes using trunk/HEAD a difficult thing, as
OpenWRT fetches the source tree and store it in a compressed tar archive.
Subsequent build get the source from the tar archive - not from SVN,
making the use of trunk/HEAD largelly innefective.
* we cannot know the corresponding version of trunk/HEAD, meaning that
we'll face compiling issues when we'll try to copy the libc files -
unless the build system is fixed with this specific issue in mind.
[toolchain/eglibc] set version string of eglibc version 2.14 to 2.14.1
eglibc version number depends on the branch and on the maintenance release
(i.e. the SVN revision). Changing the revision may change the maintenance
version. This patch correlate the SVN revision to the correct version
number - without this change eglibc 2.14 provoke build errors when
building the base-files package (example, for 2.14):
$ make package/base-files/compile V=1
make[1] package/base-files/compile
make[2] -C package/opkg host-compile
make[2] -C package/base-files-network compile
make[2] -C package/base-files compile
cp: cannot stat `/home/me/openwrt/trunk/staging_dir/toolchain-arm_v7-a_gcc-4.6-linaro_eglibc-trunk_eabi/lib/ld-2.14.so': No such file or directory
[packages/{e2fsprogs,util-linux,util-linux-ng}] update/rename those packages
This patch makes several changes to the util-linux(-ng) package:
* rename to util-linux (official name now, util-linux-ng got merged)
* bump to last stable version 2.21.1 (was 2.13.0.1 before)
* add several new packages
* sort packages within Makefile
* remove patches which got merged upstream
This patch makes some changes to the e2fsprogs package:
* bump to last stable version 1.42.2
* libraries moved from e2fsprogs to util-linux - take care of that
Signed-off-by: Luka Perkov <openwrt@lukaperkov.net>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31499 3c298f89-4303-0410-b956-a3cf2f4a3e73
V=99 and V=1 are now deprecated in favor of a new verbosity class system,
though the old flags are still supported.
You can set the V variable on the command line (or OPENWRT_VERBOSE in the
environment) to one or more of the following characters:
- s: stdout+stderr (equal to the old V=99)
- c: commands (for build systems that suppress commands by default, e.g. kbuild)
- w: warnings/errors only (equal to the old V=1)
The existing code (prior to the patch) does an "ioremap_nocache" on a
subset of a memory region that I think has already been mapped, and then
un-maps that smaller region when it is finished.
[package] kernel: fix packaging of 8250.ko with Linux 3.x
This commit fixes build breakage in package/kernel leading to missing
subsequent kmods like kmod-usb-serial, this should fix the missing
packages in ar71xx builds.