This repository has been archived by the owner on Dec 20, 2022. It is now read-only.
/
CHANGELOG
1425 lines (1330 loc) · 62.2 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
$Id$
Latest changes:
=== Freetz-1.1.3 ===
- Web interface:
* added favicon by atomphil (Freetz-Webinterface only)
- Updated packages and libs:
* bip 0.8.4
* php 5.2.10 (download for 5.2.9 was removed)
* davfs 1.4.5 (older versions have problems with gmx)
* openssl 0.9.8n (security issues)
* openvpn 2.1.1
* stunnel 4.33
* tor 0.2.1.25
* vsftpd 2.2.2
* wget 1.12
- Firmware updates:
* Please see FIRMWARES for the list of currently supported boxes and firmwares.
See svn log for more details.
=== Freetz-1.1.2 ===
- Updated packages and libs:
* microperl 5.10.1
- Firmware updates
=== Freetz-1.1.1 ===
- Build system:
* patch-system: use shell-fuction isFreetzType (by kriegaex)
* patch-system: use shell function modsed
- New patches (read online help for more info):
* split tr069-remove-patches
* Update usbstorage patches
- Updated packages and libs:
* callmonitor 1.15.1
- Firmware updates
=== Freetz-1.1 ===
- Build system:
* fakeroot: bump version to 1.12.2
* xdelta: Disable build because we don't make use of it
* toolchains:
- add menuconfig option to adjust HOSTCC variable
- add ccache for download- and kernel-toolchain
- add two patches for gcc-3.4.6
+ Fix failure with newer host gccs
+ Fix failure on some machines
* uClibc-0.9.29: Add 2 patches from openwrt
* kernel-toolchain: Add two patches for gcc-3.4.6
+ Fix failure with newer host gccs
+ Fix failure on some machines
* Bump squashfs3 version to 3.4
- New tools and hooks:
* external
* new make targets:
- check-downloads: checks all downloads for availability (also
$(pkg)-check-downloads)
- mirror: downloads all package downloads into dl/mirror (also
$(pkg)-download-mirror). This makes hardlinks for dupes in dl/ and
dl/mirror to save disk space.
* Add patch that enhances posibilities of /bin/onlinechanged:
Based on changes by AVM we execute 3 locations on a call to /bin/onlinechanged:
1. /var/tmp/onlinechanged (compatibility to old behaviour)
2. /etc/onlinechanged/* (new AVM behaviour)
3. /tmp/flash/onlinechanged/*
If a package needs actions on changes of online status create a script
make/$package/files/root/etc/onlinechanged/$action_$package.
- New patches (read online help for more info):
* 7270:
* Option to add Annex A firmware into image
* Fix flashing of firmwares > 8 MB over webinterface
* Add volume counter (7240, 7270)
* AVM Plugins can be reintegrated into firmware
* Fix wrong usb mounts status message in AVM webinterface (7170, 7270)
* Add new status bar design (optional)
- New packages, libs, modules:
* bfusb 3-18-39 (firmware for bluetooth stick)
* br2684ctl 20040226
* dtach 0.8
* external 0.1
* hd-idle 0.1
* httptunnel 3.3
* libtool 1.5.26
* linux-atm 2.4.1
* mcabber 0.9.9
* microperl 5.10.0
* nagios 2.11
* nano 2.0.9
* nfs-utils 1.1.3
* nfsd-cgi 0.1
* openssh 5.1p1
* pciutils 3.0.0
* portmap 6.0
* sablevm-sdk
* sane-backends 1.0.19
* socat 1.6.0.1
* squid 3.0.STABLE9
* tcp_wrappers 7.6
* tinc 1.0.8
* tree 1.5.1.2
* usbutils 0.73
* wol 0.7.1
* wput 0.6.1
* xpdf 3.02
* new kernel modules: bfusb, pppoe, pppox
- Updated tools and hooks:
- Updated patches:
* add reiserfs to automountable filesystems
* change nice names for USB devices (sdax > uStor0x, sdby > uStor1y, ...)
* 3131: Remove "remove cdrom.iso" patch
- Updated packages and libs:
* bash 3.2.48
* bftpd 2.3
* bip 0.8.0
* callmonitor 1.13
* classpath 0.97.2
* curl 7.19.4
* cyassl 0.9.9
* devmapper 1.02.27
* dropbear: fixed init script not to start dropbear a second time when already running
* dns2tcp 0.4.3
* dnsmasq 2.47
* dtmfbox 0.5.0
* e2fsprogs 1.41.3
* espeak 1.40.02
* expat 2.0.1
* glib 2.18.2
* haserl 0.9.25
* iodine 0.5.0
* jamvm 1.5.1
* libpopt 1.14
* lsof 4.81
* ltrace 0.5 svn 81
* mcabber 0.9.9
* ntfs-3g 2009.4.4: adds UTF-8 support
* openssl 0.9.8k
* openvpn 2.1_rc15
* php 5.2.9
* pingtunnel 0.70
* pjproject 1.0.1
* popt 1.14
* pptp 1.7.2
* ruby 1.8.6-p368
* rrdtool 1.2.30
* strace 4.5.18
* streamripper 1.64.0
* Stunnel 4.26
* tor 0.2.0.34
* transmission 1.60
* usbip 0.1.7
* vpnc 0.5.3
* vsftpd 2.0.7: add SSL support
* tree 1.5.2.1
- Remove packages, libs, modules, tools:
- Firmware updates:
* Please see FIRMWARES for the list of currently supported boxes and firmwares.
- BusyBox:
* updated to 1.12.4
- Web interface:
- Other stuff:
+ fix strip library function for 3170
+ tune behaviour of freetz_download (retries: 3, timeout: 20s)
+ Integrate new AVM open source packages (04.70 and 7270_04.70)
+ rudishell:
* show it only with security level 0
* don't allow to execute any code by clicking on a wrong url
=== release Freetz-1.0.1 ===
- Build system:
* target toolchain:
+ AVM links against uClibc-0.9.29 in labor firmwares (actually all, dsl and gaming);
we added an uClibc version flag so that correct version is used
+ added simple check for old or new uClibc; if you change
uClibc version most stuff has to be rebuilt
+ Delete toolchain-distclean target for download toolchain
+ Add *-toolchain-{dir/dist}clean targets for download toolchain
+ fix some toolchain dependencies
+ adapt updates from buildroot
- New tools and hooks:
- New patches (read online help for more info):
* remove tr069-stuff
* remove dect-stuff from 7270
* remove DECT-files and modules on W900V
- New packages, libs, modules:
- Updated tools and hooks:
* push_firmware now supports flashing from complete firmware images (by unpacking to tempfile)
- Updated patches:
* usbstorage: delete storage.sh patch and therefore add sed line to usbstorage.sh
* remove tr069: remove tr069 stuff for 7170, 7270
* remove_dect: don't remove dect firmware files otherwise boot process will hang
- Updated packages and libs:
* avm-firewall 2.0.4_rc2
* bip 0.7.4
* callmonitor 1.12.3
* ctorrent dnh3.3.2
* curl 7.19.1
* cyassl 0.9.8
* devmapper 1.02.27
* dns2tcp 0.4.1
* dnsmasq 2.46
* dropbear 0.52
* e2fsprogs 1.41.1
* espeak 1.39
* fuse 2.7.4
* inadyn-mt 02.12.24
* iodine 0.4.2
* libftdi 0.14
* module-init-tools 3.4
* nano 2.0.9
* ntfs-3g 1.5012
* obexftp 0.22
* openssl 0.9.8i
* openvpn 2.1_rc13
* php 5.2.6
* pppd 2.4.4
* privoxy 3.0.10
* rrdstats: add uptime statistics
* ruby 1.8.6
* sg3_utils 1.26
* streamripper 1.63.4
* stunnel 4.25
* tor 0.2.0.31
* transmission 1.40
* wget 1.11.4
* xrelayd 0.2.1pre2
- Remove packages, libs, modules, tools:
- Firmware updates:
- BusyBox:
* updated to 1.11.3
- Web interface:
- Other stuff:
* kernel:
+ support for new sources (04.57)
+ add patch for multiple ftdi devices
+ add squashfs-3.3 patch for 2.6.19.2
+ activate "replace kernel" for 7270
+ Add mppe-mppc.patch to 2.6.19.2
+ 2.6.19.2: use other net sched timer (AVM changed it)
+ Raise source version for 5050 to 04.33
+ Activate AVM_CPMAC_SWITCH (affects all 4MB Ohios switch boxes)
* push_firmware: Add MacOSX support
* subdirs for downloaded an generated firmware-images to keep dl- and rootdir clean
* mtd char devices were created with wrong minors
* disable iptables-cgi for 7270
* add menuconfig option for 7270 with 16 MB flash
* add option to disable Freetz version string
* fix wrong PID in /var/run/httpd.pid after webcfg restart
* fwmod_list: ignore case when searching for new firmwares
=== release Freetz-1.0 ===
- Build system:
* adapted all packages to new macro style
+ please read make/README.Makefile for further instructions
+ look at make/Makefile.in for implementation
+ use global config.cache (make/config.cache) for all configure scripts
+ use macro for replacing 'libdir=/usr/lib' in *.la files
* toolchains: Add menuconfig option to build static toolchains
* kernel toolchain:
+ don't use crosstool to build kernel toolchain
+ update kernel toolchain to version 3.4.6 (same version as AVM)
+ use Binutils 2.17.50.0.17 for kernel toolchain
* target toolchain:
+ uclibc: disable UCLIBC_HAS_FOPEN_LARGEFILE_MODE even if LFS is enabled
+ add uClibc-0.9.29 (doesn't work realy good and will be revised for
next release)
* download toolchain:
+ update because of above changes
* Add squashfs3 utils
+ use squashfs3 for 7270 squashfs and if "replace kernel" is selected
We have a kernel patch that makes 2.6.13.1 squashfs3 aware. Main
benefit of squashfs3 are blocksize larger than 64kb. But these
doesn't work with AVM 7270 stock kernel.
* fakeroot: bump version to 1.9.2, put archive on dsmod.magenbrot.net to
avoid being forced to version bumps if version becomes unavailable
- New tools and hooks:
- New patches (read online help for more info):
* multid wait
* remove annex firmware files (only 7270)
* remove dsld
* remove mediasrv
* remove telephony
* remove getcons (don't redirect serial console output)
- New packages, libs, modules:
* avm-firewall 2.0.3c
* bash 3.2
* bip 0.7.2
* bluez-libs 1.0.25
* bluez-utils 2.25
* curl 7.18.1
* cyassl 0.8.5
* dns2tcp 0.4
* e2fsprogs 1.40.8
* fstyp 0.1
* glib 1.2.10
* iodine 0.4.1
* iptables-cgi 1.0.4
* irssi 0.8.12
* ldd 0.1
* libavmhmac 0.2
* libftdi 0.7.0
* madplay 0.15.2b
* module-init-tools 3.3-pre11
* nano-shell 0.1
* nfsroot 0.1
* rcapid 0.1
* rrdstats 0.6.9
* ruby 1.8.6
* quagga 0.99.6
* samba 3.0.24 from avm gpl package
* usbip 0.1.7
* usbroot 0.1
* vim 7.1
* vsftpd 2.0.6
* wget 1.11.1
* xrelayd 0.2
* xyssl 0.8
* new kernel modules: blk_dev_md, bnep, crypt_aes, crypto_algapi,
crypto_blkcipher, crypto_cbc, crypto_manager, crypto_sha256, dm_crypt,
nls_utf8, pl2303, udf, x_tables
Some of these are not available for all boxes and/or firmwares. See
menuconfig to check this.
- Updated tools and hooks:
- Updated patches:
* remove assistant
* remove cdrom
* remove ftpd
* remove help
* remove samba
* remove vpn files
* samba
* webmenu signed
* webmenu wol
* usbstorage patch
+ enabled by default
+ use fstyp to automount ext2, ext3, vfat and ntfs filesystems
- Updated packages and libs:
* apache 1.3.41
* bftpd 2.1
* busybox 1.9.2
* callmonitor 1.11
* checkmaild 0.4.4
* cpmaccfg 0.5
* collectd 4.0.7
* cryptsetup 1.0.5
* ctorrent dnh3.3
* dnsmasq 2.41
* downloader 0.2
* dropbear 0.51
* dtmfbox 0.4.1_rc4
* freetype 6.3.16
* fuse 2.7.2
* glib3 2.12.13
* haserl 0.9.24
* inadyn 1.96.2
* inotify-tools 3.13
* libelf 0.8.10
* libevent 1.3e
* libdevmapper 1.02
* libid3tag 0.15.1b
* libobenobex 1.3
* libpcap 0.9.8
* libpopt 1.13
* lua 5.1.3
* mc 4.6.1
* mtr 0.72
* nano 2.0.7
* ntfs-3g 1.2506
* obexftp 0.22
* openntpd 3.9p1
* openssl 0.9.8g
* openvpn 2.1_rc7
* php 5.2.5
* pjproject 0.8.0
* rrdtool 1.2.27
* screen 4.0.3
* sispmctl 2.6
* strace 4.5.16
* streamripper 1.62.3
* stunnel 4.24
* tcpdump 3.9.8
* tor 0.1.2.19
* transmission 1.20
* vpnc 0.5.1
* zlib 1.2.3
- Remove packages, libs, modules, tools:
* removed firewall-cgi
* removed orange box
* removed samba 2.0.10
- Firmware updates:
* Nearly all firmware version were updated since the last release. Please
see FIRMWARES for the list of currently supported boxes and firmwares.
- BusyBox:
* updated to version 1.9.2
* removed symlinks to non-existing applets
* make some additional busybox features configurable in menuconfig
- Web interface:
* Freetz
+ generally, the Freetz-webinterface was updated to be more standards-
compliant, load faster, allows for larger amounts of input data, and
looks better with different screen resolutions and settings
+ the width of the webinterface display is now configurable
+ status of mass storage devices can be displayed in webinterface
+ more pages are localized
+ some actions like saving package options are more verbose
+ implemented avm-firewall web interface
+ implemented webinterface for samba package
+ added simple web interface for mini_fo
+ added favicons by cuma and han-solo
* AVM
+ orange box was removed because it is outdated
- Other stuff:
* DSMod was completly renamed to Freetz
* new unix-conform user management
* help texts in menuconfig extended and clarified
* autorun/autoend functionality for mass storage devices
* use tmpfs instead of ramfs for /var
* enabled more packages for inetd
* recover-eva:
+ fix error that tools/tar wasn't found on some systems
+ fix booting kernel image directly from RAM
* fwmod:
+ add FWMOD_PATCH_TEST and FWMOD_NOPACK environment variable
By setting these to y the build process can be interrupted after
patching the firmware respectively before packing the firmware.
+ use "-no-exports, -no-progress and -no-sparse" as additional
parameters for squashfs3
+ optimise the way FILESYSTEM_BLOCKSIZE is determined
* kernel:
+ activate EPOLL support (needed by AVM phone book daemon (pbd))
+ reactivate "replace kernel" for firmwares with up to date sources
+ add kernel patch for squashfs3
+ add kernel patch for ip_conntrack:
+ don't calculate hashsize, use 256 buckets
+ ip_conntrack_tcp_be_liberal=1
* add extract-images, a little heuristic (and not very fast) tool which can
extract bootloaders (urlader.image) as well as hidden root kernel +
SquashFS images (kernel.image) from any type of compound file,
e.g. recover-EXEs.
* add hexgrep, an awk-driven tool for matching hex sequences in input files
It shows decimal file offsets as well as the matched sequences, because
the latter are regex-matched and can thus vary.
* add shell script for unpacking LZMA-compressed Linux kernel to tools
* Rename tools/push_firmware.sh to tools/push_firmware and
tools/lib_report.sh to tools/lib_report in order to unify naming of shell
scripts tools/*. For instance, tools/ds_* do not have '.sh' extensions
either.
* add 64-bit fix for TI-chksum
=== release ds26-15.2 ===
- Build system:
* Makefile: be more tolerant towards users of SUSE oder Mandriva
distributions using inofficial GNU diffutils-2.8.7 package (official
version is 2.8.1) by using '-U 0' instead of '-u0'.
* push_firmware.sh: add heuristic check for 'kernel.image' magic bytes and
for firmware tar image erroneously specified as parameter. Add required
package 'util-linux' for 'hexdump' to cygwin prerequisite notes.
* fwmod: include .config and addon/static.pkg into firmware image for
further reference, e.g. user support
* Menuconfig online help: more precisely describe that each firmware needs
not only at least one branding, but that this branding must correspond
to the one defined in the boot loader environment. The shell command for
determining it is also provided in the help text.
* GCC 4.2.1
* Binutils 2.17.50.0.17
* Add "replace kernel" capability to Speedport configurations by
integrating T-Com GPL sources (r4884 for W701V & W900V, r7203 for W501V)
* Move definition of VERBOSE variable from make/Makefile.in to Makefile,
because it is not only used for packages, but also for tools and
toolchain. I had errors during "make tools", because in my local
environment, there was VERBOSE=no, and such effects should be avoided.
Maybe we should think about a main Makefile.in.
* Libmudflap not needed in toolchain (gcc.mk),
cf. https://dev.openwrt.org/changeset/7531
* uClibc: remove AVM_VERSION form config so there is only one config file
for all versions, because there were no differences between versions
except LFS.
* Move 'modpatch' shell function to tools/ds_patch and dot-include it from
there.
* ds_patch works as usual and still reacts to DS_VERBOSITY_LEVEL and
AUTO_FIX_PATCHES. Some improvements:
+ script can also be executed directly
+ check for valid number of paramaters
+ usage help
+ new optional 3rd parameter for 'patch -p' path level
+ react to "$VERBOSE"=="-v" with verbose output so as to be prepared
for script calls from *.mk which are planned to replace direct
'patch' calls. This should help leverage the auto-fix feature to
tools, package and toolchain source code patches in the future.
+ handle case of empty original file
+ add unsupported, but practical little function 'strip_patch_level'
which was used to unify 200+ patches.
* Makefiles *.mk: replace all direct calls to 'patch' from *.mk by calls
to newly defined variable 'PATCH_TOOL:=$(TOOLS_DIR)/ds_patch'.
* Canonise all source code patches to patch level 0 (-p0). Auto-fix a lot
of patches by calling all available *-source targets from tools,
packages and toolchain. Statistics: 250+ patches checked, 70+ updated.
200+ hunks did not fit perfectly and were auto-fixed, 34 of them with
fuzz 1 (18) or fuzz 2 (16).
- New packages, libs, modules, tools, hooks:
* Integrate Media Server from USB Labor (by derheimi) for boxes with USB
host; needs testing
* Rrdtool 1.2.23
* Collectd 4.0.5
* Libart 2.3.19
* Libfreetype 2.1.10
* Libpng 1.2.10
* GLib 2.12.12 (lib version 0.1200.12)
* Libiconv 1.9.1 (lib version 2.2.0)
* Gettext (libintl) 0.16.1 (lib version 8.0.1)
- Updated packages, libs, modules, patches:
* NetSNMP bugfix provided by derheimi
(cf. http://www.ip-phone-forum.de/showpost.php?p=902808)
and upgrade DS-Mod package version to 0.4b
* NTFS-3G 1.710
* Tor 0.1.2.16: critical security bugfix, see
http://archives.seul.org/or/announce/Aug-2007/msg00000.html;
major bugfixes as described in
http://archives.seul.org/or/announce/Jul-2007/msg00000.html.
* Ctorrent dnh3.2
* Haserl 0.9.18 featuring FIFO (pipe) upload capability, so an uploaded
archive ist not stored on the box twice (packed and extracted), but can
be uncompressed on the fly. This is used by the new firmware update
assistant (see below).
- Firmware updates:
* 7170: Labor DSL 29.04.99-7995
* 7170: Labor WLAN 29.04.98-8020
* 7140: integrate international versions
+ English, annex A: 39.04.34
+ English, annex B: 30.04.34
- BusyBox:
* wget patch provided by RalfFriedl: URL with user/password does not work.
Uuencode needs string length, not buffer length. NOTE: fixed (in a
different way) in upstream since rev. #18955, thus patch can be removed
in the future.
- Other stuff:
* DS-Mod web interface, part 1: layout and language
+ Change layout a little bit: Both graphical bars now show the
percentage on the right hand side of the bar. Both bars show usage
information in a common way ("x of y KB used").
+ Rearrange buttons on the bottom so they are all the same size,
resulting in a cleaner layout. Also reorder them so as to make
"reboot" the last one.
+ Update some de/en language strings (only on main screen, not on
subscreens)
* DS-Mod web interface, part 2: new firmware update button
+ The new update assistant lets the user select a FW image and choose
if he wants to stop AVM services before flashing
(prepare_fwupgrade).
+ After successful upload, the FW is extracted (tar) and /var/install
is called.
+ Subsequently the output of all steps is shown to the user along with
the content of /var/post_install, if it exists.
+ It is then up to the user if he wants to reboot ("real" FW update)
by clicking the corresponding button on the main screen or continue
working without a reboot (pseudo update for installing/activating
some add-on not requiring FW flashing).
+ Even if /var/install has been executed successfully and
/var/post_install has been created, the user may choose to manually
delete post_install in order to interrupt the firmware update
process, because if a reboot takes place later and post_install is
not available, the firmware will not be flashed, even if
/var/tmp/kernel.image still exists. This provides the user with
maximum flexibility (and self-responsibility).
+ Talking about self-responsibility: The assistant does NOT stop any
DS-Mod services. If and which ones should be stopped is up to the
user who should make up his mind and act accordingly BEFORE clicking
the update button.
* Auto-select vfat.ko in order to overwrite AVM's buggy fat and vfat
modules with our own versions, because they segfault. This auto-
selection can be reverted as soon as AVM provides fixed firmwares.
* NTFS-3G + FUSE: fix problems
* Several NetSNMP makefile fixes
* 2170: change kernel layout from ar7 to ohio
* Bintuils: add patch by spambin + several other patches and enhancements
* Mtr: forgotten dependency ncurses
* Transmission: fix problem with ar and ranlib
* W900V: 5 answering machines are better than one
* Kernel patches: add + update several ones
* Rcapid: because of ongoing download site access problems, rcapid.tgz was
put on our mirrors, which is not a licence problem because of the GPL
the package is under. Thus, the source package is now downloaded using
tools/ds_download.
* Inotify-tools: fix typo in makefile
* W501V: fix firmware patches (don't replace multid, don't copy igdd and
libs, use 7141 as tk-firmware)
* Speedports: symlink '/usr/www/<oem>' should always point to
'/usr/www/all', not just 'all', otherwise LCR Auto Updater cannot be
initiated properly (mount -o bind failure)
* 300IP as Fon: fix symlink (boot failure after factory reset)
* Libelf was missing in make/libs/Makefile.in
* W701V: fix kernel oops
* W701V: update web interface by adapting patch to Speedport2Fritz
* Kernel build: disable NTFS module, enable UnionFS module
* Gdb for target: fix makefile; add GDB_STAGING_DIR and make it order-only
prerequisite for gdb target binaries, so the directory is created on
demand
* Libffi-sable: fix download URL
* OpenSSL: build with zlib-dynamic
* tools/depmod.pl: dos2unix line feeds
=== release ds26-15.1 ===
- Build system:
* Add "SHELL:=/bin/bash" to Makefile because of this:
http://www.ip-phone-forum.de/showpost.php?p=896043
I.e. the build now explicitly requires bash instead of sh, so we can use
extended file name expansion functionality.
* New target 'push-firmware' runs tools/push_firmware.sh to conveniently
flash a recently build firmware
* New target 'config-clean-deps' automatically deselects all kernel
modules, shared libraries and optional BusyBox applets which are not
selected by packages explicitly requiring them.
* Add sanity checks to Makefile:
+ Do not run make as root
+ Heuristic check for falsely unpacked mod archive
kriegaex: Thanks to Ralf Friedl for this idea, even though I implemented
the checks in a different way technically. :-)
- New packages, libs, modules, tools, hooks:
* Mtr 0.69: mtr combines the functionality of 'traceroute' and 'ping'
* Espeak 1.27
* Downloader CGI 0.1 by hermann72pb (ip-phone-forum.de)
See http://www.ip-phone-forum.de/showthread.php?t=134934
- Updated packages, libs, modules, patches:
* Midnight Commander (MC) pimp-up without version bump:
+ Remove 143 KB of unnecessary syntax highlighting definitions in 22
files, because MC 4.5.0 only supports hard-coded syntax highlighting.
Thus, the additional files were never used. The fascinating thing is
that nobody ever complained about this, so the other language types
do not seem to have been missed. Still supported are unified diff,
LSM, shell script, Perl, Python, nroff (man-page source), HTML,
Pascal, LaTeX 2.09, C/C++, change-log, makefile. Others would have
to added inline to the source code.
+ Update MC default settings, hopefully nobody will complain:
# Editor tab width changed from 8 to 4
# Learn keys set to values which putty sends with TERM=xterm in
telnet and ssh sessions. The assumption here is that most users
probably use Putty on WinXP as their preferred terminal client.
Other users can still create their own ~/.mc/ini in debug.cfg or
otherwise, assuming that if they are Linux users who need this,
they probably are more geek-ish than Windows users.
# A few other minor changes which I (kriegaex) had in my
long-tested private ini-file
+ Online help is a separate menuconfig option now. If chosen, the file
(115 KB) will be copied from the source to the package directory,
otherwise the file will be removed.
+ Syntax highlighting is a separate menuconfig option now. If switched
off, this saves 70 KB in the main binary.
Known problem: If syntax highlighting is deativated, somehow mcview
does not start the internal MC viewer directly anymore, but yields
the normal MC user interface. Anyway, viewing files with F3 from
within MC still works.
+ Internal editor mcedit (activated by F4) can be decativated in
menuconfig. If you want to use vi or nano instead, F4 will still
work. By default, vi is called on the box, but exporting EDITOR so
it points to another editor of your choice will get you the
combination of file manager and editor you desire. :-) Switching off
this feature saves another 86 KB in the main binary.
+ The defaults for the new menuconfig options generate a binary with
the feature set known from the last package version.
* DTMFbox:
+ Fix scriptadmin.sh
+ Add espeak (see "new packages" above)
* Callmonitor 1.9.7 tries to fix performance problems with too many
parallel automatic reverse phone number lookup during start-up. This
could freeze a box so it had to be recovered.
* Libncurses 5.6
* Checkmaild 0.4.2: fix segfaults
* OpenVPN package fixed (one file in package without LZO was not
executable)
* Dnsmasq: make dnsmasq aware of possible igdd (UPnP server) absence, so
it starts multid without UPnP. Furthermore, fix a few quoting problems
possibly leading to errors during start-up. Hopefully, this fixes some
of the recently reported problems (untested).
* Vpnc: increase username maximum length to 40 characters
* FUSE 2.7.0 plus fix: includes were not installed into toolchain
* NTFS-3G: remove mknod and replace insmod with modprobe
* Cpmaccfg 0.4
* Netsnmp: fix package so defaults are applied correctly
* Update and fix several firmware patches (also see "other stuff" below)
- Firmware updates:
* 5050: firmware 08.04.34
* 3020: firmware 09.04.34
* 3030: firmware 21.04.34
* 7170 Labor WLAN: firmware 29.04.35-7816
* 5140 (NEW): firmware 43.04.37 - welcome to the ds26 family ;-)
* 7170: firmware 29.04.37
* 7141: firmware 40.04.37
* W701V: set 29.04.37 as tk-firmware
- Other stuff:
* Wrap /sbin/ar7login with shell script in order to achieve normal
user/password logins with telnet, even if telnetd is started with
explicit ar7login parameter by 'telefon' (hard-coded). Exception: If no
root password has been defined yet, proceed to renamed ar7login.bin for
web password login.
* Extend editor wrapper script to support disabling of the "do you really
want to save" question. How to: echo 0 > /tmp/flash/ask_save; modsave
* AVM web menu: Once more change the way the host part of the target URLs
is determined. The host name might not always be a good idea if there
are multiple boxes with the same host name in one LAN, e.g. a 7170 and a
"fritzed" W701V both named "fritz.box". Where would
"http://fritz.box:81" really point to, then? So in this case usually the
user will call their respective web UIs using their local IPs, and this
is what our scripts see in their environment as part of HTTP_REFERER. We
pick out the host/IP part and use it as our target host/IP for the
redirection to the DS-Mod or WoL web UI.
* Improve script tools/push_firmware.sh so it accepts an optional IP
parameter (not all boxes have 192.168.178.1)
* Yet another push_firmware.sh improvement: script is now Cygwin-enabled
(needs ncftpput command line client from ncftp package), so a firmware
can also be easily updated from Windows via command line. This does NOT
mean that ds26 could be built on Cygwin, so please do not ask about it.
* Bugfix for "Eumex 300IP as phone" 3rd phone patch
* Midnight Commander (mc): fix missing terminfo problem
* Fix FUSE install (fuse.pc was not copied, thus pkgconfig could not
detect it)
* Ppppd: fix missing prerequisite (libpcap)
* Set eumex.ip as hostname for 300ip_as_fon
* Fix OpenSSL compilation with gcc-4.2 (also helps with dependent OpenVPN
problems)
* Add 'chmod 755' for libreadline/libhistory so they are executable
* Allow BusyBox to install applets to /usr, e.g. telnetd is now under
/usr/sbin insetead of /sbin, because 'telefon' is looking for it there
when a user tries to switch it on via "#96*7*".
* Fix typo in PPPD make file: TARGET-CFLAGS -> TARGET_CFLAGS
* Fix CFLAGS for several other packages
* Extend "remove UPnP" patches to make rc.S aware of possible dsld
parameter '-g' for starting without igd
* W501V: Copy ar7login from TK firmware to ds-mod filesystem, because the
501 does not contain this binary by default. Background: ar7login is
needed if a console login with the web password should be performed,
e.g. in telnet sessions.
* Orange!Box patch failed for W701V -> create patch variant for Speedport
* W701V build: fix copy routine for defaults
* Add patch for W900V (diff from 7150 web UI to sp2fritz web UI)
* Speedport boxes:
+ ATA patch did not work as expected on the Speedports (at least W501V
and W900V): rc.S needs to be patched, too. This makes ATA avaiable
to the Speedports.
+ Add patch that should fix password problem after reset to factory
defaults
+ Force favicon symlink to avoid warning
* Fix Tcpdump CFLAGS
* Device tables, mounts etc.:
+ Add /dev/misc/fuse to device.table
+ Remove devpts mount in rc.S
+ Add /dev/pts to device.table
+ Fix mount of /dev, /var, /proc and /sys
+ Put fstab patch in own file, should be the same for all boxes
* Tor / libevent: disable epoll support in libevent due to unresolved
problems. This fixes recently reported Tor segfaults.
=== release ds26-15 ===
- Many makefile changes, some big, some small, some cosmetic, to
* make default target indirectly dependent on 'precompiled':
+ simple 'make' now also executed 'precompiled'
+ old 'firmware' target renamed to 'firmware-nocompile'
+ new 'firmware' target depends on 'firmware-nocompile' and
'precompiled'
+ The purpose of 'firmware-nocompile' is to enable users to build a
firmware manually in special cases (e.g. 'precompiled' failure or
the wish to build packages containing binaries).
* make the hierarchical build more consistent,
* avoid spurious unnecessary rebuilds,
* no longer support "external compiler" option in menuconfig. This means
that ds26 does not support external toolchains anymore, because we assume
that experts who need this will manage to set it up by themselves using
links etc.
* add makefile prerequisites for target binaries so as to avoid files
being stripped and copied unnecessarily. How to:
+ avoid doing anything in synthetic targets like xy-precompiled
+ make sure to have targets for source binaries as well as target
binaries (e.g. source/xy-1.3/src/xy and
packages/xy-1.3/root/usr/bin/xy)
* add xy-uninstall to all packages and shared libs,
* update make files of eight (8) packages which have sub-options
influencing the build result in menuconfig, so they are automatically
rebuilt whenever a relevant option has changed. The packages are: Bftpd,
Bird, Dropbear, OpenVPN, Apache, PHP, Tinyproxy, Nano.
This was achieved by the following structural changes in *.mk:
* add config option "all modules", if "replace kernel" is active,
* add oldconfig targets for kernel and busybox
* make more packages work with + without LFS (large file support)
* compile gcc with "--with-float=soft",
* not always include toolchain stuff into big makefile,
* add libgcc_s to DS_INSTALL_BASE (i.e. it will always be installed)
* add each single 'tools' package to 'noconfig_targets',
* make DL_DIR and PACKAGES_DIR order-only prerequisites for many dependent
targets,
* rename busybox-tools targets so they do not collide with busybox package
targets anymore, but adhere to naming conventions instead,
* add menuconfig bub-section for a few BusyBox applets (currently inetd,
ar, diff, patch - see below in BB section), so they can be chosen
directly from the main configuation dialog (Advanced options -> BusyBox)
* 'make %lib%-clean' will now remove files from toolchain and
root/(usr/)lib
* new make macro INSTALL_BINARY_STRIP for more easily and cleanly
stripping and installing binaries
* delete firmware images in common-clean, fix delete command,
* get make structure more in sync with Buildroot,
* create a clearer dependency structure and
* achieve world domination in general...
- Multi-job build improvements:
* Added new config option for multiple jobs. This can now be configured in
menuconfig.
* New multijob config option will be used for kernel toolchain, target
toolchain, libs and packages.
* Targets that cannot be compiled with multiple jobs should use $(MAKE1)
instead of $(MAKE).
* multijob.sh is not needed anymore and will be removed in future releases.
It now does not do anything anymore, just prints a "deprecated" warning.
* Target "packages-precompiled" is removed because it is obsolete with these
changes.
- Enhance fwmod,
* so it can be used to handle FW images by either specifying an
alternative DOT_CONFIG file name or by explicitly providing command line
parameters for often-used settings needed to unpack different firmware
versions. Just call fwmod without any parameters to get a proper
description. BTW: The DOT_CONFIG alternative may be a very small file
consisting only of about five settings, if fwmod is just used to unpack
(-u) an image.
* output name of rejected patch file during build in fwmod,
* create functions for echo, beautify symlink creation in fwmod,
* include timestamp into firmware name,
* add new menuconfig setting DS_DEVELOPER_VERSION_STRING so as to
optionally include SVN repository revision numbers into
+ firmware image name
+ target file /etc/.subversion
+ target script /etc/version
* make patch output a little more informative + readable in verbosity
level 2: print patch file names and separator lines ("---...")
* fix typo: libc.so.0 was not copied into firmware, but as it already
exists nobody noticed this.
* New feature for modpatch: If $AUTO_FIX_PATCHES == "y", then the applied
patch is analysed and automatically fixed, if fuzzy. Now what the h...
does that mean and how does it work?
1. Perform dry run in order to check if the patch will be both
successful *and* fuzzy (i.e. containing moved or fuzzy-fitting
hunks).
2. If so, enter auto-fixing mode and generate a list of all files
changed by the patch.
3. Apply patch with the option to create a 'foo.orig' backup for each
patched file 'foo'.
4. Finally, auto-fix the original fuzzy patch by creating a new one,
cycling through each pair 'foo.orig' / 'foo', creating a fresh
'diff' for them, but preserving the old patch as 'xy.patch.orig'.
5. The 'foo.orig' files are cleaned up once they are not needed
anymore, but the 'xy.patch.orig' files are being kept so they can
be compared to their auto-fixed versions. Nobody is perfect, so a
closer look should be taken.
The next time 'fwmod' is run with the newly created, polished-up
patches, they should all fit perfectly - no moved hunks, no fuzzy
matches. As an exception, modpatch does not try to fix patches
containing failed hunks but exits 'fwmod' as usual in this case, because
the patch needs to be fixed anyway. It should be enough to fix it
roughly so it can be applied as a fuzzy patch - modpatch can do the rest
in the next run. ;-)
- New packages, libs, modules, tools, hooks:
* Added section 'debug helpers' in menuconfig
* Debug helper package strace (binary only)
* Binary package inotify-tools (inotifywait, inotifywatch), including
patches to inotify-enable uClibc
* Init script for inotify-tools file access logging (via inotifywait)
* New shell function API (/usr/bin/kernel_args) to handle variables
defined via boot loader environment variable 'kernel_args' (found in
/proc/sys/urlader/environment). A limited set of values are allowed for
variables: integer values >= 1 or 'y'|'n'. This makes it easy to handle
cases like this:
+ Permanently (de-)activate certain functionalities during the system
init process such as logging, mini_fo overlay file system etc.
+ Temporarily activate those functionalities by assigning a countdown
value to them, e.g. 'FooBar=3 -> 2 -> 1 -> n', so after a certain
number of reboots the functionality would deactivate itself. This
can be helpful if you want to make sure that a box not booting up
with an activated feature for any reason does not get a recover
case, but heals itself be just booting up a number of times, until
the countdown is down to zero, setting the corresponding variable's
value to 'n'.
* Boot-time hooks for /etc/rc.S to activate both
+ inotify-tools file access logging and
+ dmesg (klogd ring-buffer) output so as not to lose its earliest
entries because of the small buffer size of 16 KB.
Both logging features use the kernel-args API (/usr/bin/kernel_args)
in order to dynamically determine if they should be activated during the
boot process.
* Debug helper package ltrace 0.5-svn-77 (binary only)
* Libelf library needed by ltrace
* Debug helper package lsof 4.78, binary-only
* Spindown-CGI and sg3_utils (by IPPF user 'derheimi')
* Libusb added to menuconfig
* Apache 1.3.37 + PHP 5.2.1 package group added. Please cf. menuconfig
online help (press 'H' at packages / testing / Apache + PHP) for more
information and/or check out http://www.ip-phone-forum.de/showthread.php?t=127089
for tips, tricks, patches and extensions.
* Ctorrent dnh3.1
* Bluetooth kernel modules
* Nano editor 2.0.6 incl. a set of ten (10) different build options for
inclusion of more features at the cost of some disk and RAM space;
options are extensively documented in menuconfig online help.
* OpenNTPD 3.9p1
* Netcat 0.7.1
* Libcapi20, Common ISDN API (CAPI) 2.0 library 3.0.4 (needed by rcapid)
* Rcapid, Remote CAPI daemon 0.1 from isdn4linux (by Nicolai Ehemann)
* DTMF-Box 0.3.9 (by Bodega) with pjsip (statically compiled)
* Add generic editor wrapper script 'wrap_editors' which can handle files
in /var/flash, /var/mod/etc/conf and /var/tmp/flash and call multiple
editors via symlinks. Now all n/m-scripts (nvi, mvi, nmcedit, mmcedit,
nnano, mnano are just symlinks to 'wrap_editors'.
* New helper script 'tools/lib_report.sh' generates a report showing which
DS-Mod binaries depend on which shared libraries. Usage:
tools/lib_report.sh [<ds-mod base directory> [<fw base directory>]]
ds-mod base directory defaults to '.'
fw base directory defaults to 'build/original/filesystem'
I.e. the easiest way to call the script is from ds-mod base without
parameters in order to get a report about the original file system. Call
tools/lib_report.sh . build/original/filesystem to generate a report
about the modified file system.
* New helper script 'tools/push_firmware.sh' to flash a 'kernel.image'
directly to mtd1 using FTP via ADAM2. This is a convenience function for
people who are tired of typing in these commands every time. Use at your
own risk!
* Two new EXPERIMENTAL patch options for menuconfig directly on the
front page:
1. Replace AVM websrv by BusyBox httpd and remove web server from
firmware image. /etc/init.d/rc.websrv starts + stops httpd on
port 80.
2. Remove UPnP daemon (igdd) including two libs, several UPnP XML
schemes and a GIF image.
If both 1 + 2 are chosen, libwebsrv also becomes obsolete and will be
removed, because only those two daemons seem to use it. All in all,
those two features in combination make kernel.image about 76 KB smaller
on my 7170. The figures should be similar for other boxes. Furthermore,
not starting igdd + libs and using the smaller httpd instead of websrv
should also save a considerable amount of RAM. both effects are
especially desireable for smaller boxes like 5050/7050.