Commit graph

690 commits

Author SHA1 Message Date
Jo-Philipp Wich
ef6d7a7e33 base-files: fix typo
SVN-Revision: 28681
2011-10-30 15:48:14 +00:00
Jo-Philipp Wich
52e93e54bc base-files: sysupgrade: kill all but essential processes before starting the update
SVN-Revision: 28626
2011-10-27 16:52:31 +00:00
Gabor Juhos
4cc48089c7 base-files/sysupgrade: add more busybox applet symlinks to ramdisk
Adds symlinks for printf and wc to make life happier in the sysupgrade ramdisk.
Also make code more readable by escaping that overly long line.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

SVN-Revision: 28616
2011-10-27 07:54:49 +00:00
Jo-Philipp Wich
272d95f0f1 base-files: remove rdate integration, add busybox ntpd init script and server list in /etc/config/system The rdate applet proved to be too unreliable to obtain the current time on boot: - public time servers are rare and often unreachable or overloaded - rdate does not daemonize, it needs a network connection the moment it is started, leading to race conditions - the /etc/config/timeserver configuration is overly complex and there is no reliable way to disable rdate invocations - the time protocol as specified in RFC 868 is considered obsolete This commit adds an init script /etc/init.d/sysntpd which starts and stops the busybox ntpd accordingly. The builtin ntpd can be disabled by either disabling the init script, removing the symlink to busybox or by clearing the timeserver list in /etc/config/system.
SVN-Revision: 28612
2011-10-27 00:21:53 +00:00
Felix Fietkau
55aeabae10 add an initial (experimental) version of netifd, disabled by default
SVN-Revision: 28499
2011-10-21 01:47:49 +00:00
Felix Fietkau
c2b5767572 base-files: move network related scripts to a separate package to make the transition to netifd easier
SVN-Revision: 28495
2011-10-20 15:01:06 +00:00
Jo-Philipp Wich
59c13202e0 base-files: introduce "igmp_snooping" option to toggle IGMP snooping on bridge interfaces
SVN-Revision: 28412
2011-10-11 13:43:08 +00:00
Jo-Philipp Wich
bfbbe5893f base-files: use "zonename" system option to symlink /etc/localtime via /tmp/localtime to /usr/share/zoneinfo for glibc and eglibc
SVN-Revision: 28306
2011-09-26 02:28:04 +00:00
Felix Fietkau
4246c6a6b5 base-files: apply network interface settings such as macaddr, mtu and txqueuelen in prepare_interface instead of setup_interface. setting the mtu after the interface is up is unreliable on some drivers such as gianfar
SVN-Revision: 28297
2011-09-24 20:34:17 +00:00
Jo-Philipp Wich
41838f4585 base-files: make ip matching in dns add/remove functions more explicit, avoids overmatching pairs like 1.2.3.35 and 1.2.3.3
SVN-Revision: 28291
2011-09-23 08:35:50 +00:00
Vasilis Tsiligiannis
98372a8eb5 base-files: Fix IPv6 address and route adding on aliases with no IPv4 address configured
SVN-Revision: 28241
2011-09-14 13:37:44 +00:00
Vasilis Tsiligiannis
200fd7bce1 Revert "[package] base-files: Add support for assigning multiple IPv6 addresses on an interface"
Multiple IPv6 addresses should be handled with alias sections

SVN-Revision: 28240
2011-09-14 13:37:40 +00:00
Vasilis Tsiligiannis
718c8ab940 base-files: Add support for assigning multiple IPv6 addresses on an interface
SVN-Revision: 28222
2011-09-12 21:07:00 +00:00
Felix Fietkau
dea36724a4 base-files: remove an old network tunable tweak which is messing up network stack performance on modern systems
SVN-Revision: 28126
2011-08-29 23:34:11 +00:00
Jo-Philipp Wich
aab33e2e9a base-files: fix arp() procedure to properly detect /usr/bin/arp
SVN-Revision: 27965
2011-08-12 14:34:39 +00:00
Felix Fietkau
8ff7756e82 base-files: warn when calling /etc/init.d/<script> enable and neither START nor STOP is defined
SVN-Revision: 27797
2011-07-27 09:02:10 +00:00
Jo-Philipp Wich
94c728dc39 base-files: use "reboot -f" after sysupgrade to prevent executing deleted init scripts
SVN-Revision: 27776
2011-07-25 22:19:55 +00:00
Jo-Philipp Wich
365f76551a base-files: attempt bring up related wifi devices when calling ifup If a user invoked /sbin/ifup to bring up an interface, the setup used to fail in case of wireless networks tied to a non-bridged interface definition. Likewise, the bringup of "lan" in the default configuration will reinitialize the bridge but do not re-join the wireless network to it, requiring an extra call to /sbin/wifi (which might not be possible anymore due to a severed link if connected wirelessly).
The changeset modifies the "ifup" command to search for related wireless
devices and call "wifi up" on them if applicable. This way the commands for
wireless and non-wireless interfaces are unified from a cli point of view.

The "ifup -a" case has not been changed to keep the logic of the
/etc/init.d/network boot sequence. This might be changed later.

Solves #9763.

SVN-Revision: 27720
2011-07-22 00:21:20 +00:00
Jo-Philipp Wich
0de28706ca base-files: implement a generic mechanism to map per-interface sysctls to uci. - option ipv4_xyz is mapped to /proc/sys/net/ipv4/{conf,neigh}/xyz - option ipv6_xyz is mapped to /proc/sys/net/ipv6/{conf,neigh}/xyz This allows e.g. "option ipv6_proxy_ndp 1" to enable NDP proxying on wan. Fixes ticket #8699.
SVN-Revision: 27653
2011-07-17 17:10:30 +00:00
Jo-Philipp Wich
1e34c02e3e base-files: add -h and --help options to sysupgrade (#9728)
SVN-Revision: 27630
2011-07-17 09:27:14 +00:00
Jo-Philipp Wich
e0e6d1029e base-files: use uci_toggle_state() to prevent unwanted aggregation of state vars (#9711)
SVN-Revision: 27616
2011-07-15 14:57:44 +00:00
Daniel Dickinson
1f69f4cf64 base-files: preinit: Fixed sourcing of diag.sh in /etc/preinit. This caused errors due to frequent use of /proc/cpuinfo to determine board name to pick led layout. Now diag.sh (which only defines set_state and any helper functions) is sourced by a proper preinit function during preinit_main, which is after /proc has been brought up, unlike in /etc/preinit
SVN-Revision: 27501
2011-07-07 02:52:02 +00:00
Jo-Philipp Wich
32731a72c2 base-files: pass conloglevel to syslogd (#9463, #9647)
SVN-Revision: 27400
2011-07-03 15:11:58 +00:00
Felix Fietkau
0a7a73261a base-files: do not use the relinked libgcc, fixes c++ exception handling issues (#9185)
SVN-Revision: 27347
2011-07-02 06:50:15 +00:00
Jo-Philipp Wich
28fbd7470d add gfortran compiler support (#9600, patch from Xiangfu Liu via Qi hardware)
SVN-Revision: 27262
2011-06-23 11:46:24 +00:00
Jo-Philipp Wich
344445715a base-files: assume a default ipv6 prefix size of /64, thats what the majority of users mean when they just specify an ip address
SVN-Revision: 27147
2011-06-09 12:36:30 +00:00
Jo-Philipp Wich
fd8ec24187 base-files: if an ip6addr without a prefix is given, assume /128 - otherwise the busybox utilities will interpret it as /0 and create an invalid default route
SVN-Revision: 27145
2011-06-09 12:25:48 +00:00
Jo-Philipp Wich
97ee10d691 base-files: fix error reporting for unsupported protocols on virtual interfaces
SVN-Revision: 27132
2011-06-07 23:25:43 +00:00
Felix Fietkau
9a227d88dd base-files: do not write to /etc/config/wireless at boot time unless a new interface was found
eliminates unnecessary flash write cycles at every boot

patch by Peter Wagner (tripolar)

SVN-Revision: 27127
2011-06-07 17:00:43 +00:00
Felix Fietkau
60f66ded72 base-files: make the MAC address of bridge interfaces sticky to avoid ARP issues on wifi re-configuration
SVN-Revision: 26990
2011-05-24 09:31:37 +00:00
Jo-Philipp Wich
9b8a5e604a base-files: mark /etc/crontabs/ as config directory
SVN-Revision: 26986
2011-05-24 09:27:23 +00:00
Jo-Philipp Wich
ed8f726dab ipcalc.sh CIDR notation Hi,
the attached patch makes ipcalc.sh accept IP/Netmask combinations in
CIDR notation. Before you could only do:

# sh ipcalc.sh 192.168.0.0 255.255.255.0 1 10
IP=192.168.0.0
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
NETWORK=192.168.0.0
PREFIX=24
START=192.168.0.1
END=192.168.0.11

with this patch you can also execute it with:

sh ipcalc.sh 192.168.0.0/24 1 10
IP=192.168.0.0
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
NETWORK=192.168.0.0
PREFIX=24
START=192.168.0.1
END=192.168.0.11

The patch is based on #1260 [1], i just changed one line to calculate
the START end END ips right. I wonder why that never got included. If
there is no reason not to do i would like to ask you to commit that
patch, because its a functionality i (and probably others) miss quite often.

Btw, i also fixed 4 useless tabs, that might look a bit strange in the
patch.

Regards, Manuel

SVN-Revision: 26930
2011-05-18 09:50:06 +00:00
Jo-Philipp Wich
ba1c1e9016 base-files: retrigger usb coldplug after module loading, solves usb_modeswitch on boot and possibly others (#9352)
SVN-Revision: 26848
2011-05-08 10:25:58 +00:00
Gabor Juhos
3b1b49a49b base-files: fix a typo in etc/banner
SVN-Revision: 26841
2011-05-07 09:23:33 +00:00
Jo-Philipp Wich
ff4203b9bd base-files: cleanup permissions of device files in common hotplug rules (#9211)
SVN-Revision: 26808
2011-05-03 19:37:59 +00:00
Jo-Philipp Wich
144bee2090 base-files: fix stale space in eglibc library install section (#9270)
SVN-Revision: 26720
2011-04-19 13:18:39 +00:00
Jo-Philipp Wich
2f6361832e base-files: return success on lib-copying with external toolchain when using an external toolchain the base-files package copies libc, libgcc and others from the library directory.
The file list is given as following in the .config:
CONFIG_LIBC_FILE_SPEC="./lib/ld{-*.so,-linux*.so.*} ./lib/lib{anl,c,cidn,crypt,dl,m,nsl,nss_dns,nss_files,resolv,util}{-*.so,.so.*}"

Because the filenames are composed with different endings, not all files exist
and will be skipped. Currently, this works only if the last composed file
(util.so.*) really exists. At the moment this works - but only if you don't add
a new file like 'uClibc'.

Adding it at the end '...resolv,util,uClibc}{-*.so,.so.*}' will lead to this
message, because the combination 'libuClibc.so.*' doesn't exist and Make will
evaluate the last copy statement of the for loop.
2011-04-12 20:37:43 +00:00
Vasilis Tsiligiannis
980190367c base-files: Use -h instead of deprecated -L for symlink check
SVN-Revision: 26485
2011-04-05 15:09:43 +00:00
Vasilis Tsiligiannis
48465d3d63 base-files: fix minor problem in init.d/boot
The script tests for the existance of /dev/root with test -e which fails if
/dev/root is a dangling symlink making the call to ln fail.

Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>

SVN-Revision: 26483
2011-04-05 15:09:32 +00:00
Daniel Dickinson
d5542b4f59 block-mount base-files: Added additional check to pi_include to ensure that a directory used with pi_include actually contains files matching the souring pattern because if not the shell dies due to an empty string in for statement. Added /lib/functions/fsck as an empty dir to block-mount. This combination fixes a warning which generates a lot of bug reports, without panicking the kernel like the last attempt.
SVN-Revision: 26479
2011-04-05 12:12:57 +00:00
Felix Fietkau
e4e63b9c1b base-files: bridge config, avoid having a random ipv6 ll address
So far, we are setting the bridge interface up before having added any
bridge interface ports. This results in the bridge assigning a random
mac address to its bridge interface and therefore IPv6 assigning a
matching link local address to the bridge interface as soon as the
bridge interface is up. After adding the first bridge port interface,
the bridge's mac address is reset correctly, however the IPv6 link
local address stays the same.

This commit ensures that we are at least having the IPv6 link local
address of the first interface added to the bridge instead of a random
one.

Signed-off-by: Linus Lüssing <linus.luessing@web.de>

SVN-Revision: 26426
2011-04-03 01:23:45 +00:00
Jo-Philipp Wich
fe8b9d5232 base-files: properly handle vlans on top of wireless interfaces
SVN-Revision: 26230
2011-03-18 18:24:51 +00:00
Felix Fietkau
a3b9971d84 base-files: overlayfs whiteouts depend on a specific xattr entry, which does not get preserved by the tmpfs->overlay copy. work around this by cleaning all copied "(overlay-whiteout)" symlinks after the switch to jffs2
SVN-Revision: 26208
2011-03-17 19:09:43 +00:00
Felix Fietkau
66bcd1d049 base-files: add initial support for mounting overlayfs
SVN-Revision: 26207
2011-03-17 19:09:39 +00:00
Jo-Philipp Wich
629e73938e base-files: update sysctl.conf for modern kernels
SVN-Revision: 26204
2011-03-17 15:35:41 +00:00
Vasilis Tsiligiannis
1b66204ccd base-files: Autodetect newly added wireless hardware
SVN-Revision: 26166
2011-03-15 00:44:15 +00:00
Felix Fietkau
4bcca969dc base-files: link libpthread against libc
SVN-Revision: 26161
2011-03-14 19:27:45 +00:00
Felix Fietkau
71e83bd2e1 base-files: add a default /etc/services files
SVN-Revision: 26142
2011-03-13 19:47:42 +00:00
Felix Fietkau
c33f2efbb2 base-files: add users ftp (for ftp servers), network (network related daemons such as tor, quagga, ...)
SVN-Revision: 26138
2011-03-13 19:10:28 +00:00
Felix Fietkau
f5c130cfda base-files: add an ftp group as well
SVN-Revision: 26136
2011-03-13 19:04:32 +00:00
Felix Fietkau
554cbe7f18 base-files: add a few default groups to /etc/group so that we can get rid of a few postinst scripts
SVN-Revision: 26133
2011-03-13 18:56:34 +00:00
Felix Fietkau
e8491ab2a5 base-files: make library relinking uclibc specific and fix libpthread installation for the non-relinked variant
SVN-Revision: 26003
2011-03-10 12:27:46 +00:00
Felix Fietkau
32d8fac477 base-files: only relink libraries if the linaro toolchain is selected
SVN-Revision: 25983
2011-03-09 20:36:29 +00:00
Felix Fietkau
e52b720870 gcc: move the optimized assembler helpers back into the static libgcc and skip relinking for this arch. due to relocation constraints, the assembler functions cannot be in the shared libgcc and must always be linked in statically
SVN-Revision: 25952
2011-03-08 13:10:11 +00:00
Felix Fietkau
357018e7e5 base-files: the relinked libpthread needs to be linked against libdl, otherwise calls to dlopen() fail (fixes #8978)
SVN-Revision: 25950
2011-03-08 12:48:36 +00:00
Felix Fietkau
0b9cfab2a2 base-files: fix Build/Compile override handling, fixes ar7 compile
SVN-Revision: 25911
2011-03-06 22:36:42 +00:00
Felix Fietkau
4e155b5283 base-files: do not build or use libgcc on m68k and avr32
SVN-Revision: 25852
2011-03-03 14:50:00 +00:00
Felix Fietkau
1cc0bcfffc base-files: relink uclibc and libgcc libraries to remove leftovers of the statically linked initial libgcc saves a few kb and gets rid of unused not exported functions as well should also improve the reliability of mklibs
SVN-Revision: 25800
2011-03-01 05:40:38 +00:00
Jo-Philipp Wich
73468de8d1 base-files: fix sysctl handling, do not react on fake ifaces in route hotplug handler
SVN-Revision: 25713
2011-02-25 22:44:37 +00:00
Michael Büsch
e6100a161b boot.sh: Tabs are used for indent. Also use tabs in jffs2_ready()
SVN-Revision: 25635
2011-02-20 22:40:47 +00:00
Michael Büsch
16a300ea66 base-files: Add "-o noatime" to mount wrapper
noatime is cheaper than default relatime.

SVN-Revision: 25634
2011-02-20 22:39:08 +00:00
Michael Büsch
3a12229c1d Fix whitespace
SVN-Revision: 25632
2011-02-20 21:25:45 +00:00
Hamish Guthrie
090c042089 base-files: Add /etc/nsswitch.conf to targets running glibc/eglibc, otherwise name resolution fails
SVN-Revision: 25568
2011-02-18 10:37:26 +00:00
Felix Fietkau
e5e6dfe384 base-files: librt should depend on libpthread, not the other way around
In uClibc 0.9.32 as well as recent versions of glibc and eglibc, librt
depends on libpthread.

Signed-off-by: Mark Mentovai <mark@moxienet.com>

SVN-Revision: 25548
2011-02-16 02:42:24 +00:00
Felix Fietkau
9f7f8110e7 base-files: remove a stale reference to /usr/lib/common.awk (thx, swalker)
SVN-Revision: 25528
2011-02-13 19:06:20 +00:00
Imre Kaloz
e4589a2e5f it's time for some attitude adjustment ;)
SVN-Revision: 25514
2011-02-13 11:20:09 +00:00
Felix Fietkau
c672eeffc9 remove the shared object stubs of libnsl and libresolv - let the compiler use the static variants instead
SVN-Revision: 25511
2011-02-13 03:26:10 +00:00
Felix Fietkau
803e9ceb90 base-files: /usr/lib/common.awk is only used by /bin/ipcalc.sh, move the code there
SVN-Revision: 25495
2011-02-13 01:44:57 +00:00
Jo-Philipp Wich
74ab5be3d7 base-files: remove ptbtime3 rdate server, its dead
SVN-Revision: 25479
2011-02-12 17:54:01 +00:00
Jo-Philipp Wich
8b1b99ba73 base-files: update rdate server list
SVN-Revision: 25478
2011-02-12 17:46:36 +00:00
Jo-Philipp Wich
ee3a4c2ee9 base-file: cleanup ipv6 enabling in unbridge
SVN-Revision: 25473
2011-02-12 16:14:15 +00:00
Jo-Philipp Wich
875ff44592 base-files: - properly disable IPv6 on bridge ports - introduce accept_ra option, defaults to true for dhcp interfaces, false for others - introduce send_rs option, defaults to true for static interfaces, false for others
SVN-Revision: 25454
2011-02-11 00:39:11 +00:00
Jo-Philipp Wich
4e34fc521c base-files: derive lease_acquired dhcp state var from /proc/uptime
SVN-Revision: 25452
2011-02-10 20:05:05 +00:00
Vasilis Tsiligiannis
d063af3fcf base-files: Add include for target specific hotplug rules
SVN-Revision: 25415
2011-02-07 22:28:09 +00:00
Michael Büsch
99c66237f0 hotplug2 rules: Run /etc/hotplug.d/firmware/ scripts (if any) on firmware load events
SVN-Revision: 25383
2011-02-06 14:35:07 +00:00
Jo-Philipp Wich
b33ce3109d base-files: remove remaining conffiles reference to /etc/banner
SVN-Revision: 25368
2011-02-04 23:05:12 +00:00
Jo-Philipp Wich
3d82109add base-files: don't stop hotplug events for ppp interfaces, similar fix like the earlier one for tun/tap interfaces
SVN-Revision: 25355
2011-02-03 22:43:11 +00:00
Jo-Philipp Wich
79b22b246b base-files: make the skipping of ppp interfaces in 10-net hotplug more explicit, this allows users to rely on hotplug events for ppp0 .. ppp9 interfaces spawned by other programs
SVN-Revision: 25354
2011-02-03 22:34:30 +00:00
Vasilis Tsiligiannis
bd8a1549eb base-files: Fix alsa raw audio device hotplug rule
SVN-Revision: 25301
2011-02-02 01:23:34 +00:00
Vasilis Tsiligiannis
824331a594 hotplug2: Use stricter matching for rule regular expressions
SVN-Revision: 25282
2011-02-01 16:37:53 +00:00
Vasilis Tsiligiannis
3a3d95b191 base-files: Remove deprecated hotplug2 commands, update old commands to new
SVN-Revision: 25268
2011-01-31 22:29:31 +00:00
Jo-Philipp Wich
a0b2eba08c base-files: fix a typo in processing of additional dhcp request opts
SVN-Revision: 25239
2011-01-29 17:06:07 +00:00
Jo-Philipp Wich
a8edd9d50e base-files: fix handling of dhcp "reqopts" option
SVN-Revision: 25237
2011-01-29 13:45:16 +00:00
Florian Fainelli
d7fe921089 base-files: support port_state in led config (#6763)
Signed-off-by: Alexey Torkhov <atorkhov@gmail.com>

SVN-Revision: 25172
2011-01-27 21:49:46 +00:00
Gabor Juhos
25feec0c9c package/base-files: add get_magic_long() to common upgrade script
Patch-by: Mark Mentovai <mark@moxienet.com>

SVN-Revision: 25117
2011-01-26 20:35:37 +00:00
Daniel Dickinson
f93b6cb844 base-files: Fix typo in option name for disabling failsafe announcment Thanks to Andrey Zholos for this patch
SVN-Revision: 25040
2011-01-18 14:46:25 +00:00
Jo-Philipp Wich
3b6851aa82 base-files: implement "reqopts" parameter for dhcp interfaces to specify additional dhcp options to request
SVN-Revision: 24780
2010-12-22 07:20:24 +00:00
Jo-Philipp Wich
3bd7985a0b base-files: the busybox update to v1.15.3 completely broke udhcpc route option handling, repair default.script to work with the new format (#6435)
SVN-Revision: 24778
2010-12-22 07:07:15 +00:00
Jo-Philipp Wich
deb9661785 Âbase-files: don't mark /etc/banner as conffile
SVN-Revision: 24742
2010-12-20 19:51:05 +00:00
Gabor Juhos
63c786dde7 base-files: add support for the usbdev LED trigger
SVN-Revision: 24647
2010-12-17 17:10:14 +00:00
Felix Fietkau
5a351509aa base-files: use shutdown instead of stop when the system goes down (patch by tripolar)
SVN-Revision: 24540
2010-12-13 08:01:21 +00:00
Florian Fainelli
ebe7bdba88 adds a --help option to /sbin/wifi
Signed-off-by: Sebastian Philipp <sebastian@spawnhost.de>

SVN-Revision: 24258
2010-12-05 11:22:56 +00:00
Jo-Philipp Wich
9a996248d4 base-files: derive connect_time from uptime as local system time may warp due to rdate, ntp and other means
SVN-Revision: 24212
2010-12-01 19:55:24 +00:00
Jo-Philipp Wich
a8c3d1ab6d base-files: save the connect time of interfaces in uci state
SVN-Revision: 24206
2010-12-01 17:37:32 +00:00
Jo-Philipp Wich
ca829e805b base-files: disable ipv6 on bridge ports, this prevents stray RA assigned and link local addresses on bridge member devices
SVN-Revision: 24194
2010-11-30 00:46:21 +00:00
Jo-Philipp Wich
d0ab35c115 base-file: add metric option for static and dhcp protos, this simplifies the management of multiple default routes
SVN-Revision: 24020
2010-11-17 19:11:50 +00:00
Jo-Philipp Wich
59a3841c9c base-files: mark libc as hold and essential, opkg should now bail out if someone tries to uninstall libc
SVN-Revision: 23960
2010-11-11 16:18:58 +00:00
Jo-Philipp Wich
c5711cadd3 base-files: change /dev permissions to 0755 when hotplug2 is used (#6039)
SVN-Revision: 23908
2010-11-07 00:28:15 +00:00
Jo-Philipp Wich
a8efa34da3 Fix permissions for /etc and other dirs after clean flash (#6039)
During the first OpenWrt boot after a clean flash (when the jffs2
partition is not yet initialized) tmpfs is used instead of the usual
jffs2 overlay filesystem.  If this tmpfs is mounted with default
options, all directories created there (/etc, /etc/config, other
subdirectories in /etc) get permissions 1777 by default, and these
permissions then persist in the created jffs2 at least until
subsequent sysupgrade.  Mounting tmpfs with mode=0755 fixes the
permission problem.

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>

SVN-Revision: 23906
2010-11-07 00:26:00 +00:00
Jo-Philipp Wich
cfe4db7bda base-files: mark /etc/shadow as conffile
SVN-Revision: 23590
2010-10-23 15:49:04 +00:00