/[gentoo-src]/rc-scripts/ChangeLog
Gentoo

Diff of /rc-scripts/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.438 Revision 1.665
1# ChangeLog for Gentoo Linux System Intialization ("rc") scripts 1# ChangeLog for Gentoo System Intialization ("rc") scripts
2# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL 2# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPLv2
3# Written by Daniel Robbins (drobbins@gentoo.org) 3
4 14 May 2005; Mike Frysinger <vapier@gentoo.org>:
5
6 Make sure /dev is mounted with sane permissions #87745 by Jordan.
7
8 When we search /etc/fstab for /, make sure we handle mounts that have
9 UUID/LABEL info in them #90603 by Alessandro Sappia.
10
11 Simplify rc-script error checking so we don't need a tempfile and so
12 non-root users can run /etc/init.d/status #85892 by Stuart Shelton.
13
14 Add a sanity check for devs who write bad scripts and call exit #85298.
15
16 Run irqbalance after /var is rw #85304 by Miroslaw Mieszczak.
17
18 12 May 2005; Mike Frysinger <vapier@gentoo.org>:
19
20 Move pam files out of baselayout and into packages #92387.
21
22 10 May 2005; Martin Schlemmer <azarah@gentoo.org>:
23
24 Really fix trace_dependencies() to handle net.* services properly.
25
26 Quiet down valid_i() if ${svcdir}/softlevel do not yet exist.
27
28 10 May 2005; Martin Schlemmer <azarah@gentoo.org>:
29
30 Fix get_service_index() being off by one. Fix trace_dependencies() to also
31 take "net" into regard if its a net_service. This fixes two problems, first
32 shutdown should bring services down that uses net before the net.* services,
33 and secondly '/etc/init.d/net.eth0 needsme', etc should now work properly.
34 All changes to sbin/rc-services.sh.
35
36 03 May 2005; Roy Marples <uberlord@gentoo.org>:
37
38 changed default indentation to 2 spaces to match rcscripts in functions.sh
39
40 wpa_supplicant now stops wpa_cli before wpa_supplicant to fix a potential
41 future error
42
43 02 May 2005; Roy Marples <uberlord@gentoo.org>:
44
45 Fix user function hooks for echoing to stdout and protecting our vars
46
47 30 Apr 2005; Martin Schlemmer <azarah@gentoo.org>:
48
49 Do not create the udev devices.tar.bz2 if we do not have write permissions
50 for /. Request by Donnie (spyderous) for boxes with / on NFS.
51
52 30 Apr 2005; Martin Schlemmer <azarah@gentoo.org>:
53
54 Fixor column/color logic for when used in portage.
55
56 29 Apr 2005; Mike Frysinger <vapier@gentoo.org>:
57
58 Move crypto-loop to util-linux and skel bash files to bash.
59
60 28 Apr 2005; Mike Frysinger <vapier@gentoo.org>:
61
62 Export the 'service name' for init scripts #86348.
63
64 28 Apr 2005; Martin Schlemmer <azarah@gentoo.org>:
65
66 If no /etc/modules.conf exist, do not 'touch' it, but create a new
67 file with the 'modules-update header' in it to get modules-update
68 to do the right thing (regen), and not just quit (init.d/modules).
69
70 27 Apr 2005; Mike Frysinger <vapier@gentoo.org>:
71
72 Ignore trailing comments in module files #88553.
73
74 26 Apr 2005; Mike Frysinger <vapier@gentoo.org>:
75
76 Sync special var's with portage's env-update.sh and ours #88819.
77
78 26 Apr 2005; Roy Marples <uberlord@gentoo.org>:
79
80 wpa_supplicant now supports wpa_supplicant-0.4.0
81
82 iwconfig downs and ups the interface after a scan
83
84 25 Apr 2005; Roy Marples <uberlord@gentoo.org>:
85
86 iproute2 now handles mtu the same way as ifconfig - fixes #90242
87
88 net.lo no longer errors when using postdown and postup functions
89
90 22 Apr 2005; Roy Marples <uberlord@gentoo.org>:
91
92 Address network routes now get metrics applied as well
93 (ie a route automatically added when an address is added)
94
95 net.lo no longer errors when exlcuding modules who are installed
96
97* rc-scripts 1.7.1 (19 Apr 2005)
98
99 18 Apr 2005; Roy Marples <uberlord@gentoo.org>:
100
101 Changed "sed -ne" to "sed -n -e" for portability.
102
103 Added auto_interface (default yes).
104 if auto_interface is yes then we
105 *) default to dhcp
106 *) automatically calculate a metric (this may need work)
107 *) select the best interface based on metric
108 (restore resolv.conf, ntp.conf and yp.conf we have saved)
109 otherwise we
110 *) default to null
111
112 wpa_supplicant no longer kills itself when we're not stopping the interface
113 it's running on.
114
115 wpa_supplicant now uses wpa_monitor (yet to be released) if available.
116
117 Added a new module called system which enables the definition of domain
118 name, dns servers, ntp servers, nis domain and nis servers per interface.
119 essidnet and dhcp helpers have been re-coded around this module.
120
121 15 Apr 2005; Chris Gianelloni <wolf31o2@gentoo.org> -bin/bashlogin,
122 -sbin/livecd-functions.sh:
123 Removed sbin/livecd-functions.sh and bin/bashlogin as they are only used in
124 release building, and they have been moved to livecd-tools.
125
126 14 Apr 2005; Martin Schlemmer <azarah@gentoo.org>:
127
128 Do not kill udevd in /sbin/rc, as it is apparently evil.
129
130 14 Apr 2005; Roy Marples <uberlord@gentoo.org>:
131
132 Fixed ifconfig and iproute2 erroring from new lo code - fixes #88006
133
134 If /proc/net/netlink does not exist then iproute2 will fail the
135 check_installed function with an appropriate error - Thanks to
136 Jeremy Huddleston for the patch.
137
138 If /proc/net/packet does not exist then wpa_supplicant will fail
139 check_installed function with an appropriate error
140
141 Background fixes for net.lo, udhcpc and wpa_supplicant
142
143 11 Apr 2005; Roy Marples <uberlord@gentoo.org>:
144
145 removed ${devnull} from net.lo and net-script modules
146 updated all modules not to re-direct stderr where appropriate
147
148 iwconfig and wpa_supplicant now save their current ESSID via save_options
149 and reload it in their pre_stops so that ${ESSID} and ${ESSIDVAR} can be
150 used in users custom postdown functions
151
152 wpa_supplicant now calls iwconfig_defaults and iwconfig_user_config
153 if available - fixes #88703
154
155 09 Apr 2005; Mike Frysinger <vapier@gentoo.org>:
156
157 Have the 'status' function return 0/1 based upon the status of the
158 init script #88319 by Josh Nichols.
159
160 08 Apr 2005; Roy Marples <uberlord@gentoo.org>:
161
162 added a bash_variable to functions.sh which converts the given string
163 into a variable that bash can use - fixes #88175
164
165 net scripts can only launch if we're not in ${BOOTLEVEL} - fixes #78495
166
167 01 Apr 2005; Roy Marples <uberlord@gentoo.org>:
168
169 RC_DAEMON_syslog_ng allows syslog-ng to be started with the specified
170 launcher - like valgrind or strace. Handy for debugging/auditing.
171 Thanks to Rob Holland for the idea.
172
173 Stopped setting ESSID in predown functions in iwconfig and wpa_supplicant
174 as there is no guarantee that the current ESSID is the one we started with
175 Also, we may not have an ESSID at all...
176
177 23 Mar 2005; Roy Marples <uberlord@gentoo.ord>:
178
179 bridge stops removing IP addresses from bridge ports.
180 iwconfig no longer tries to get an ESSID from non-wireless interfaces.
181 ifconfig no longer errors when deleting addresses on a non-existant
182 interface.
183
184 23 Mar 2005; Martin Schlemmer <azarah@gentoo.org>:
185
186 Get modules-update to clean up after itself if we on a 2.6 kernel without
187 modules.conf.
188
189 22 Mar 2005; Roy Marples <uberlord@gentoo.org>:
190
191 revamped rc-services.sh for STYLE updates and code rationalisation.
192
193 21 Mar 2005; Roy Marples <uberlord@gentoo.org>:
194
195 udhcpc now checks for custom hostname correctly
196
197 21 Mar 2005; Martin Schlemmer <azarah@gentoo.org>:
198
199 Fix tracing for current service as list_depend_trace() was removed.
200 Fix mylevel not being set if valid_iuse(), etc is called from /sbin/rc.
201
202 20 Mar 2005; Martin Schlemmer <azarah@gentoo.org>:
203
204 Take sort_services function from bug #70009, and fix the removing of a
205 service from a array properly by using unset. Use this instead of the
206 trace_* stuff, and fixup shutdown order.
207
208 19 Mar 2005; Mike Frysinger <vapier@gentoo.org>:
209
210 Make sure we mount svcdir with 0755 and not 0644 #85888.
211
212 15 Mar 2005; Martin Schlemmer <azarah@gentoo.org>:
213
214 Export myservice when starting critical services, as its needed by
215 some of the addons (dmcrypt for example).
216
217 12 Mar 2005; Mike Frysinger <vapier@gentoo.org>:
218
219 When shutting down, pass -h to halt too #84654 by Dmitry Karasik.
220
221 11 Mar 2005; Roy Marples <uberlord@gentoo.org>:
222
223 Prepend rc-daemon.sh functions with rc_ to avoid name conflicts
224
225 11 Mar 2005; Martin Schlemmer <azarah@gentoo.org>:
226
227 Make sure the last test in init.d/modules do not bork the return
228 value of the script if not true.
229
230 10 Mar 2005; Mike Frysinger <vapier@gentoo.org>:
231
232 Add udev/selinux support by Chris PeBenito #84337.
233
234 10 Mar 2005; Martin Schlemmer <azarah@gentoo.org>:
235
236 The system() stuff in *depends.awk should be dosystem().
237
238* rc-scripts 1.7.0 (10 Mar 2005)
239
240 09 Mar 2005; Roy Marples <uberlord@gentoo.org>:
241
242 changed from $( cat ${file} ) to $( < ${file ) in net-scripts
243
244 fixed ChangeLog corruption
245
246 rc-daemon.sh now works with the env program
247
248 08 Mar 2005; Roy Marples <uberlord@gentoo.org>:
249
250 rc-services.sh now does a /sbin/depscan.sh -u if we have not got
251 our deptree loaded
252
253 removed net_start/stop function from net.lo, bridge and bonding
254
255 net.lo now supports depend() per interface like so
256 depend_br0() { need net.eth0 net.eth1 }
257
258 04 Mar 2005; Roy Marples <uberlord@gentoo.org>:
259
260 applied STYLE updates to rc-status
261
262 rc-status now uses find correctly for -maxdepth which fixes #84055
263
264 03 Mar 2005; Roy Marples <uberlord@gentoo.org>:
265
266 iwconfig now defaults the transmit key to 1
267 bridging and bonding modules now start an interface if it's not
268 marked as started
269
270 02 Mar 2005; Roy Marples <uberlord@gentoo.org>:
271
272 net_service() now returns 1 for non net-services
273 fixes bug #83352
274
275 02 Mar 2005; Aron Griffis <agriffis@gentoo.org>:
276
277 Add requote() to functions.sh to help rc-daemon.sh
278
279 01 Mar 2005; Martin Schlemmer <azarah@gentoo.org>:
280
281 Fix braindead logic in init.d/checkfs ([[ -z $CDBOOT ]] &&, not -n).
282
283 01 Mar 2005; Roy Marples <uberlord@gentoo.org>
284
285 rc-daemon.sh now provides a working wrapper for start-stop-daemon
286 fixes bug #7198
287
288 removed ps calls from net scripts
289
290 25 Feb 2005; Chris Gianelloni <wolf31o2@gentoo.org>
291
292 Updated livecd-functions.sh to match what we are using on the LiveCD.
293
294 25 Feb 2005; Martin Schlemmer <azarah@gentoo.org>:
295
296 Style updates for init.d/halt.sh.
297
298 Only run pam_console_apply if we are actually using pam_console.
299
300 Fix init.d/checkfs, init.d/localmount and init.d/halt.sh to call
301 start_addon, stop_addon, start_volumes and stop_volumes.
302
303 24 Feb 2005; Martin Schlemmer <azarah@gentoo.org>:
304
305 Update /sbin/modules-update to work without modprobe.old (modutils) for
306 2.6 kernels.
307
308 Update /etc/init.d/modules so that it will only touch modules.conf if we
309 have a <= 2.4 kernel, or have /sbin/modprobe.old.
310
311 23 Feb 2005; Martin Schlemmer <azarah@gentoo.org>:
312
313 Remove RAID/LVM/EVMS2/dm-crypt from checkfs and localmount, and
314 add needed {start,stop}-volumes() and {start,stop}-addons().
315
316 Add use tempory file for deptree, bug #48303, thanks to patch from
317 Stefan Hoefer <stefan@hoefer.ch>.
318
319 Add {start,stop}-volumes() to /sbin/functions.sh, as well as
320 RC_VOLUME_ORDER to /etc/conf.d/rc.
321
322 21 Feb 2005; Mike Frysinger <vapier@gentoo.org>:
323
324 Move the serial init.d to the setserial package.
325
326 Create a rc-status.8 manpage #81917.
327
328 11 Feb 2005; Mike Frysinger <vapier@gentoo.org>:
329
330 Add UPS kill fixes for halt.sh by Lee Weisz / Remy Blank #46440.
331
332 Define a few more {for,back}ward-word bindings in inputrc to fix up
333 the different GUI terminals #53770 by Arturo Alberto Busleiman.
334
335 10 Feb 2005; Roy Marples <uberlord@gentoo.org>:
336
337 net.lo now supports fallback_route - fixes #75676
338 due to bash limitations, only one fallback route is supported
339
340 cleaned up dhcp helper
341
342 iproute now appends routes instead of adding them - this allows multiple
343 default routes
344
345 RC_STRICT_NET_CHECKING now supports the none "option" which means
346 that the net service is always up
347
348 31 Jan 2005; Mike Frysinger <vapier@gentoo.org>:
349
350 Punt the PROTOCOL variable from rc.conf since nothing uses it.
351
352 Punt the consolefont related variables from rc.conf since they've
353 been moved to conf.d/consolefont.
354
355 Import some VServer support from #55973. For now, just add the
356 detection function to functions.sh and support in init.d/clock.
357
358 07 Feb 2005; Martin Schlemmer <azarah@gentoo.org>:
359
360 Fix /sbin/functions.sh not to run stty during 'emerge depend'.
361
362 07 Feb 2005; Roy Marples <uberlord@gentoo.org>:
363
364 netmask2cidr now works correctly - fixes #81119
365 Thanks to Benoit Boissinot for the patch
366
367 06 Feb 2005; Mike Frysinger <vapier@gentoo.org>:
368
369 Remove the apache user and let apache ebuilds handle it #77738.
370
371 04 Feb 2005; Roy Marples <uberlord@gentoo.org>:
372
373 It's now possible to configure addresses and routes for the loopback
374 interface if required - however you cannot override our defaults
375
376 wpa_supplicant and iwconfig now loop for 5 seconds if essid is
377 not returned straight away
378
379 31 Jan 2005; Mike Frysinger <vapier@gentoo.org>:
380
381 Fix the test for device-mapper in checkfs #80206.
382
383 Change home of man to /usr/share/man.
384
385* rc-scripts 1.6.9 (30 Jan 2004)
386
387 30 Jan 2005; Mike Frysinger <vapier@gentoo.org>:
388
389 Use clock, don't need it. Not everyone has a RTC #78997.
390
391 Rewrite the KV_* functions to use pure bash rather than awk #75836.
392
393 Don't use 'none' when mounting virtual filesystems since `umount` can
394 produce some pretty vague output #78684. Fixed sbin/rc and etc/fstab
395 and etc/halt.sh to handle the new format.
396
397 modules-update.8 touchups by Benno Schulenberg #77582.
398
399 Don't symlink /etc/filesystems since it is an user config file #74176.
400
401 Punt the 'guest' user #74737.
402
403 Add support for loopback dm-crypt by Dylan Carlson #73598 and for gpg
404 dm-crypt by Lars Strojny #75659.
405
406 Update crypto-loop to newer util-linux #40874 by jochen / Jürgen Hötzel
407
408 27 Jan 2005; Roy Marples <uberlord@gentoo.org>:
409
410 removed udhcpc-* and dhclient-* helper modules and replaced them with a
411 generic dhcp module which caters for all interfaces and dhcp clients that
412 need it.
413 We now prefer iproute2 over ifconfig if both are installed.
414
415 24 Jan 2005; Roy Marples <uberlord@gentoo.org>:
416
417 replaced awk commands with sed equivalents in net-scripts to make us
418 more portable
419 STYLE fixes to many net-scripts modules
420 Removed hardcoded Version and replaced with cvs $Header:
421
422 17 Jan 2005; Roy Marples <uberlord@gentoo.org>:
423
424 net.lo changed logic to read "only fail if no configuration parameters
425 work, bring interface down and abort". Fixes #78092
426 all modules should now check interface existance correctly - fixes #76385
427 wpa_supplicant now works with EAP - fixes #78367
428
429 13 Jan 2005; Roy Marples <uberlord@gentoo.org>:
430
431 wpa_supplicant forces ctrl_interface to /var/run/wpa_supplicant
432 and removes stale directories
433 clean_pidfile function no longer errors on empty pidfiles
434 net dependancies corrected in runscript.sh - fixes #77839
435 allow pure IPv6 addresses - fixes #73844
436
437 12 Jan 2005; Roy Marples <uberlord@gentoo.org>:
438
439 net.lo now ignores dot files when loading modules
440 ipppd module now stops correctly - fixes #73067 again
441
442 11 Jan 2005; Roy Marples <uberlord@gentoo.org>:
443
444 added "noop" config parameter which means take no action if the interface
445 is up and has an address configured, otherwise continue
446 addresses are now removed when starting an interface - fixes #77111
447
448 06 Jan 2005; Roy Marples <uberlord@gentoo.org>:
449
450 ifconfig, udhcpc-ifconfig now deletes addresses using 0.0.0.0 for uclibc
451 - fixes #76846
452
453 04 Jan 2005; Roy Marples <uberlord@gentoo.org>:
454
455 bridge now marks interfaces as UP - fixes #75354
456 bridge, net.lo, iwconfig touched up to match new STYLE
457 net.lo tests the return value of modprobe - fixes #76385
458 iwconfig now sets enc keys through an eval statement - fixes #76601
459 updated wireless.example for whitespace in keys
460 iwconfig now accepts mode "auto" and defaults to it
461
462 30 Dec 2004; Mike Frysinger <vapier@gentoo.org>:
463
464 Touch up rc-update to match our new STYLE. Also tweak the help
465 to fit in the standard console.
466
467 23 Dec 2004; Mike Frysinger <vapier@gentoo.org>:
468
469 Merge a bunch of BSD fixes into our .c files.
470
471 18 Dec 2004; Roy Marples <uberlord@gentoo.org>:
472
473 iwconfig now sets ESSIDVAR for master/ad-hoc modes - fixes #74802
474
475 17 Dec 2004; Roy Marples <uberlord@gentoo.org>:
476
477 wpa_supplicant - fixed file location for wpa_cli and association test
478 as it they changed in wpa_supplicant-0.3.x
479 wpa_supplicant now brings the interface up before launching - fixes #74637
480
481* rc-scripts 1.6.8 (15 Dec 2004)
482
483 15 Dec 2004; Mike Frysinger <vapier@gentoo.org>:
484
485 start_critical_service in /sbin/rc should rely on $1 instead of
486 the external variable $x for the service name. #74425
487
488 15 Dec 2004; Roy Marples <uberlord@gentoo.org>:
489
490 rc-status now reports stopping status
491 Updated documentation to point non-usb linux-wlan-ng users to use
492 hostap-driver instead
493
494 13 Dec 2004; Martin Schlemmer <azarah@gentoo.org>:
495
496 Tweak init.d/halt.sh to support new text based udev_db ('udevinfo -d' do
497 not work anymore, and there is no space after '(S|N):'). Also check if
498 devices.tar.bz2 is empty before trying to create it, bug #71143.
499
500 12 Dec 2004; Mike Frysinger <vapier@gentoo.org>:
501
502 Tweak get_mount_fstab to only print the first mount point found and then
503 spit warning messages for extra matches. Also add support for RC_USE_FSTAB
504 so normal users don't have to worry about a broken /etc/fstab.
505
506 Add an additional sanity check to the udev tarball usage. Don't try to
507 unpack an empty or non-existant tarball.
508
509 Tweak the 'static' description so users know they can use it to make
510 /sbin/rc ignore /dev completely.
511
512 12 Dec 2004; Martin Schlemmer <azarah@gentoo.org>:
513
514 Add suport for using /sbin/udevsend from new udev-048 as hotplug multiplexer.
515
516 12 Dec 2004; Roy Marples <uberlord@gentoo.org>:
517
518 fixed installed typo in net.lo - fixes #74152. Thanks to Federico Galassi
519
520 dhcpcd and udhcpc now run via the eval statement so quotes can be used
521 in options. Fixes #74053 - thanks to Evan Buswell
522
523 09 Dec 2004; Roy Marples <uberlord@gentoo.org>:
524
525 fixed net.lo getting vlan config
526 rc doesn't stop hotplugged devices when system is booting - fixes #61594
527 thanks to Andreas Sundebo for the fix
528 rc-status now reports stopping
529
530 08 Dec 2004; Roy Marples <uberlord@gentoo.org>:
531
532 iwconfig now unsets wireless config and downs interface when backgrounding
533 fails
534 wpa_supplicant now supports backgrounding
535 removed is_in_fstab function and replaced with get_mount_fstab which
536 returns a mount command based on the contents of fstab. Resolves bugs
537 #70044 and #73762
538
539 07 Dec 2004; Roy Marples <uberlord@gentoo.org>:
540
541 essidnet - fixed setting up search domains
542 ifconfig now reads the old gateway variable correctly - fixes #73641
543 iwconfig now supports backgrounding
544 ifconfig and iproute2 now support function interface_set_mac_address
545 macchanger no longer depends on macchanger if configuring a specific
546 mac address
547
548 fix depstop for net-services when system is booting - should fix #61594
549 added service_stopped function to make reading code easier and trying
550 to avoid race conditions
551
552 06 Dec 2004; Roy Marples <uberlord@gentoo.org>:
553
554 macchanger defaults to setting the interface down, and then trying
555 with it up - fixes #71929
556 macchanger converts mac_${IFACE} to lowercase - fixes #73549
557 iproute2 now configures the interface up everytime we add an address
558 removed "need interface" from all modules depends as net.lo requires
559 interface anyway
560 removed hardcoded ath0 in wpa_supplicant
561
562 added rc-script statuses "starting", "stopping" and "inactive"
563 dhcpcd, udhcpc and dhclient now support backgrounding - fixes #52975
564
565 05 Dec 2004; Roy Marples <uberlord@gentoo.org>:
566
567 dhclient now kill it's process if it failed to get a lease on startup
568 all dhclient responses are now handled correctly
569
570 04 Dec 2004; Roy Marples <uberlord@gentoo.org>:
571
572 fixed dhclient-ifconfig to look for dhclient-udhcpc-wrapper in the correct
573 place and changed hardcoded eth1 to ${interface} in udhcpc-ifconfig.
574 Fixes #73327 - thanks to Benoit Boissinot
575
576 essidnet gets the essid itself instead of relying on ${ESSID}
577 wpa_supplicant module added
578 config-system now creates files as .tmp instead of .new and loads
579 the wpa_supplicant module if needed
580 ifconfig now addes aliases to devices other than eth0
581 dhcpcd, dhclient, pump and udhcpc now expose the dhcp_${IFACE} variable
582 instead of the old peer_dns_${IFACE}, peer_ntp_${IFACE}, peer_nis_${IFACE}
583 ones
584
585 removed modules use dependancy in net.lo and added installed
586 - this allows use to provide "virtual" modules which are only "installed"
587 when other depended modules are installed
588
589* rc-scripts 1.6.7 (03 Dec 2004)
590
591 03 Dec 2004; Mike Frysinger <vapier@gentoo.org>:
592
593 Simply filesystem unmounting in halt.sh. Based upon work by Georg Sauthoff
594 #68697. Also clean up the filesystem remounting readonly. As a last
595 resort to filesystems which won't remount readonly, we try to unmount them
596 with the force/readonly options. Idea from #70349.
597
598 03 Dec 2004; Roy Marples <uberlord@gentoo.org>:
599
600 Fixed config-system for only changing hostname when needed
601 udhcpc and dhclient now restore saved configs when stopping and work
602 with non-infinite leases
603 Moved generic dhcp options into a space seperated string
604 udhcpc now caches it's IP address and requests it the next time it starts
605 if the address is not released
606 udhcpc and dhclient no longer flush interfaces if we don't need too
607 ipppd module now looks for ipppd in /usr/sbin - fixes #73067
608
609 02 Dec 2004; Mike Frysinger <vapier@gentoo.org>:
610
611 Merge time checking function (is_older_than) to help simplify config
612 file update checking. Used for now in env-update.sh #71285. Function
613 written by Paul Pacheco #55329.
614
615 02 Dec 2004; Roy Marples <uberlord@gentoo.org>:
616
617 Added option dhcp_release to specify if we release the DHCP lease or not
618 defaults to no
619 Changed variables peer_* to dhcp_*
620 dhclient and udhcpc now specify a pidfile
621 Fixed iwconfig report if iwgetid does not support --channel
622
623 01 Dec 2004; Mike Frysinger <vapier@gentoo.org>:
624
625 Refix and clean up the netmount script to kill processes #64034.
626
627 01 Dec 2004; Roy Marples <uberlord@gentoo.org>:
628
629 Documentation fixes regarding iwconfig and linux-wlan-ng
630 Fixed bonding deps per bug #71419
631
632 30 Nov 2004; Mike Frysinger <vapier@gentoo.org>:
633
634 Fix the UML/coLinux check in init.d/clock #72937.
635
636 Allow the user to override the default mount options via /etc/fstab
637 for all the mounts. Added a 'is_in_fstab' function to see if the
638 user has defined the mount, and if not, fall back to the hardcoded
639 stuff from before. This also lets us get rid of $RC_DEVICE_FS #70044.
640
641 26 Nov 2004; Roy Marples <uberlord@gentoo.org>:
642
643 Fixed up address detection in apipa
644 net.lo now checks for duplicate static IPv4 addresses before assigning
645 iwconfig now supports preassociate and postassociate user hooks
646 net.example - changed $1 to ${IFACE} in examples
647 clarified lack of linux-wlan-ng support
648
649 24 Nov 2004; Mike Frysinger <vapier@gentoo.org>:
650
651 Allow users to specify charset option to dumpkeys when using unicode
652 in conf.d/keymaps #72225. Also move all the init.d/keymap specific
653 options out of rc.conf and into conf.d/keymaps and add some config
654 checks to init.d/keymaps like the clock/hostname init.d scripts.
655
656 Make sure /etc/rc.conf overrides conf.d files when starting up
657 critical services. Should help out with transition from rc.conf.
658
659 24 Nov 2004; Roy Marples <uberlord@gentoo.org>:
660
661 Ensure all net-scripts modules depend on interface_variable function
662 where applicable
663 Fixed adsl stopping - #68934. Thanks to Andreas Kauer
664
665 23 Nov 2004; Roy Marples <uberlord@gentoo.org>:
666
667 iproute2 does not need to create dummy interfaces for aliases
668 unlike ifconfig so we no longer do this
669 We now bring down all aliases and addresses properly
670 Split off some functions from net.lo into helpers.d/functions
671 so that our DHCP helper scripts can use them too :)
672 Deprecated interface specific setup in favour of a generic config
673 macchanger brings interface up now - fixes #71929
674 DHCP over VLAN now works - fixes #71860
675 Disabled modified function checking as it's far too expensive on CPU
676 and still isn't 100% reliable
677 When specifing a module that isn't emerged, you now get an error
678 telling you what to emerge
679 Removed -p option from the diff call used for function removal
680 Removed rp_filter setting - fixes first part of bug #71971
681 Added sysctl.conf settings relating to rp_filter to sysctl.conf
682 - fixes last part of bug #71971
683 Fixed pump exporing ntp servers
684 implemented MODULES_DIR so we can change directory we load from on the fly
685 fixed variables for vlans in most modules
686
687 19 Nov 2004; Aron Grffis <agriffis@gentoo.org>:
688
689 Remove crap "ll" and "d" aliases from skel .bashrc
690
691 19 Nov 2004; Roy Marples <uberlord@gentoo.org>:
692
693 tests for hostname (none) when sending hostname via dhcpcd, udhpc or pump
694 udhcpc now does correct signal handling so we can release leases and
695 terminate cleanly
696 Improved pump process detection
697 Rewrote udhcpc helper scripts around udhcpc and wrapped dhclient to udhcpc
698 scripts. This makes things much saner as udhcpc is much saner - also fixed
699 essidnet and ipv6 local link for them.
700 removed iproute2 udhcpc reliance on the "bc" command
701
702 17 Nov 2004; Roy Marples <uberlord@gentoo.org>:
703
704 Fixed invalid variable handling in bonding and vlan - bug #71419
705 apipa now brings the interface up before testing if address exists
706 Updated bonding documentation - bug #71419
707 Fixed iproute2 adding addresses for vlans - bug #71419
708 ifconfig handle inet6 routing automatically - bug #33310
709 ifconfig - fixed old gateway + gateway in routes conflict
710 iproute2 cleaned up some functions
711
712 16 Nov 2004; Roy Marples <uberlord@gentoo.org>:
713
714 We no longer default a fallback to APIPA when no config is given
715 net.example fleshed out a bit more for dhcpcd - fixes #60845
716 Improved forced module handling a touch
717 modules_sort and modules_check_user in net.lo buffer _provides,
718 _before and _after in arrays to avoid shelling out
719
720 15 Nov 2004; Mike Frysinger <vapier@gentoo.org>:
721
722 Add a check to clock init.d to make sure users dont try to set
723 config their clock in rc.conf anymore.
724
725 Redo hostname/domainname scripts to use files in /etc/conf.d/
726 instead of creating files in /etc/. Allows for controlling things
727 like the behavior of setting the 'domain' in resolv.conf since users
728 may not always understand exactly what's going on.
729
730 Stop referring to conf.d/basic as a global rc config option. That
731 file hasn't been used in a long time and has since been replaced
732 with env.d/00basic. Updated sbin/runscript.sh, etc/profile,
733 sbin/rc-help.sh, and src/awk/cachedepends.awk.
734
735 Run `find | xargs` instead of `find -exec`. Much better performance
736 this way, and busybox friendly #59732.
737
738 15 Nov 2004; Roy Marples <uberlord@gentoo.org>:
739
740 Split modules_load into smaller more managable functions in net.lo
741 Added modules_force option to net.lo with a big phat warning in
742 net.example about it potentially breaking networking
743 Added searchdomains_ESSID option to essidnet
744 Stopped the domain setting from putting the same entry in search
745 in config-system and essidnet
746 Removed second warning in net.lo when configuration not set
747 Documented APIPA module in net.example
748 Added kernel checking for vlan - fixes #70829
749 Added kernel checking for bonding, bridging and tuntap
750 Added iproute2 support to the APIPA module
751
752 13 Nov 2004; Mike Frysinger <vapier@gentoo.org>:
753
754 Update the svcdir mounting #69595. Instead of mounting in /mnt
755 and then bind mounting to $svcdir, we mount the ramdisk on $svcidr.
756
757 12 Nov 2004; Roy Marples <uberlord@gentoo.org>:
758
759 Added arping duplicate address detection to net.lo
760 Created Automatic Private IP Addressing (APIPA) module
761
762 Added dependancy checking to ipppd
763 Bonding is now started pre instead of post
764 Fixed iface variable in dhcp modules for vlans
765 Changed get_device to interface_device
766 Changed get_type to interface_type
767 Added vlan configuration options and documented them in net.example
768 Fixed bridge configuration handling
769 Removed _get_vlans from iproute2 and ifconfig as vlan now does it itself
770
771 11 Nov 2004; Roy Marples <uberlord@gentoo.org>:
772
773 Fixed category of rp-pppoe to net-dialup error when requesting ADSL
774 Improved inet6 address deletion and detection in iproute2
775 Improved gateway logic in ifconfig
776 Changed all wireless reporting functions to use iwgetid instead of
777 parsing iwconfig output except for essid
778
779* rc-scripts 1.6.6 (08 Nov 2004)
780
781 08 Nov 2004; Roy Marples <uberlord@gentoo.org>:
782
783 Added options to configure bridge
784 Added bridge configuration example to net.example
785 Added missing required function interface_exists to iptunnel check_depends
786
787 07 Nov 2004; Aron Griffis <agriffis@gentoo.org>:
788
789 Fix shell scripting errors that would result in
790 /sbin/functions.sh: line 166: [: too many arguments.
791
792 05 Nov 2004; Roy Marples <uberlord@gentoo.org>:
793
794 net-scripts/net.modules.d/bridge
795 - fixed destroying a bridge if no ports were added
796 - starts interfaces if they don't exist - fixed bug #65153
797
798 net-scrips/net.modules.d/bonding
799 - starts interfaces if they don't exist
800
801 net-scripts/init.d/net.lo
802 - added net_start() function to start depandant ifaces
803 so that bridge br0 can active tun0 which net.tun0 has to create
804 - added use dependany on wlan incase we're using linux-wlan-ng drivers
805 fixes bug #64978
806 - moved start() to run_start() and stop() to run_stop()
807 created run() and new start()/stop() functions
808 this is so that we have one single entry point to localise variables
809 and to remove any added functions loaded by our modules
810 - removed redundant interface_exists() as it's provided by
811 ifconfig and/or iproute2
812
813 net-scripts/net.modules.d/ifconfig and iproute2
814 - added ifconfig_tunnel and iproute2_tunnel functions
815
816 addred gre/ipip tunnel support via the the tunnel module
817 - fixes bug #50765
818
819 04 Nov 2004; Roy Marples <uberlord@gentoo.org>:
820
821 net-scripts/net.modules.d/pump
822 - fixed setting ntp servers
823
824 net-scripts/net.modules.d/dhcpcd
825 - fixed stopping function
826
827 net-scripts/net.modules.d/bonding
828 - fixed module to actually work with the interface
829
830 net-scripts/init.d/net.lo
831 - we remove all added functions when restarting an interface
832 this relies on the diff command being available
833
834 added isdn support via the new ipppd module - fixes bug #69035
835
836 net-scripts/conf.d/net.example
837 - added sample isdn setup
838
839 net-scripts/conf.d/wireless.example
840 - added better descriptions to the _sleep variables
841
842 Fixed boolean logic error when testing is_net_up in /sbin/runscript.sh
843 - fixed bug #70022
844
845 net.lo - added get_type function to return the type of the interface
846 - eth, ippp, etc
847
848 ipppd, tuntap
849 - start() moved to pre_start() and we now test by type
850 this means you no longer need ifconfig_ippp0=( "isdn" "dhcp" )
851 as ippp0 is always an isdn device
852
853 bridge - fixed stop function and moved start() to pre_start()
854 and automatically start if the variable bridge_${iface} exists
855
856 net.example - fixed up documentation for changed behaviour above
857
858 03 Nov 2004; Mike Frysinger <vapier@gentoo.org>:
859
860 When launching critical services in /sbin/rc, make sure we source
861 the conf.d file (if it exists). Resolves #69956.
862
863 03 Nov 2004; Roy Marples <uberlord@gentoo.org>:
864
865 net-scripts/init.d/net.lo
866 - fixed !module when it's not installed
867 - we can now specify null inet addresses in the config
868 this allows a pure inet6 setup
869 - shutdown lo the same way we bring it up
870
871 net-scripts/net.modules.d/ifconfig
872 - changed IPv6 to inet6 in output of adding inet6 addresses
873 - just output inet6 address removed, not eth0 del foo
874
875 net-scripts/net.modules.d/iproute2
876 - fix deletion of non-link addresses - fixes bug #65417 (again)
877 - handle inet6 addresses like ifconfig - fixes more bug #65417
878
879 net-scripts/conf.d/net.example
880 - noted that inet6 addresses do not create aliases
881 - added examples of assigning inet6 addresses
882
883 net-scripts/net.modules.d/iwconfig
884 - improve error message when card does not support scanning
885
886 net-scripts/conf.d/wireless.example
887 - fixed comment regarding preferred_aps not working with cards that don't
888 support scanning
889
890 02 Nov 2004; Roy Marples <uberlord@gentoo.org>:
891
892 net-scripts/conf.d/net.example
893 - added bridging and tuntap examples
894
895 net-scripts/init.d/net.lo
896 - modprobe ${IFACE} when ${IFACE} does not exist
897
898 net-scripts/net.modules.d/ifconfig
899 - fixed interface existance check
900
901 net-scripts/net.modules.d
902 ifconfig & iproute2
903 - added boolean to interface_exists to report if it exists or not
904 - added checks to see if the interface exists or not when starting
905
906 dhcpcd
907 - removed debug line
908
909 bonding, dhclient, dhcpcd, essidnet, macchanger, pump, udhcpc
910 - added checks to see if the interface exists or not when starting
911
912 tuntap
913 - added checks to see if the interface exists or not when stopping
914
915 01 Nov 2004; Mike Frysinger <vapier@gentoo.org>:
916
917 Dump the error message that hwclock returns since it tends to be
918 quite useful. Modified init.d/clock.
919
920 Fix error in functions.sh [ -z "$@" ] -> [[ -z "$@" ]] #69789.
921
922 Don't create /dev/sndstat link anymore in populate_udev per #69635.
923
924 01 Nov 2004; Roy Marples <uberlord@gentoo.org>:
925
926 net-scripts/init.d/net.lo:
927 - modules specified by interface config now error if they are not loaded
928 - moved interface check to after preup incase user preup loads drivers
929 - modules can be explicitly not used by prefixing them with a !
930 however, they are still available to other modules
931 fixes bugs #68908, #69027
932 - remove check to see if interface exists
933 - modules may setup new interfaces and still require config
934 so we have a new label counter in iface_start
935 - removed the check to see if a class wrapping already exists
936 this fixes the bug where ifconfig and iproute2 are installed, but
937 ifconfig is asked for and the interface is restarted.
938 - added check to see if the configured module is loaded
939 and installed or not in iface_start
940 - add dependancy on isdn4linux - fixes bug #69035
941 - interface_exists moved to iproute and ifconfig
942
943 net-scripts/net.modules.d
944 - Split wireless module into iwconfig and essidnet modules
945 - Added tuntap and bridge modules, fixes bug #55394, #30688
946
947 net-scripts/init.d/iwconfig:
948 - wep mode is now reported
949 - removed post_stop function so we keep existing config
950 - added pre_stop to set the ESSID variable
951 - changed to veinfo/vewarn where appropriate
952 - check if interface exists otherwise abort gracefully
953 - no longer deletes addresses as we now avoid
954 ipv6 local addresses in detecting if interface has an addresses or not
955
956 net-scripts/init.d/ifconfig:
957 - added flag enable/disable function
958 - scope:link inet6 addresses are ignored when testing is_up and
959 del_addresses - fixes bug #65417
960
961 net-scripts/init.d/iproute2:
962 - added flag enable/disable function
963 - scope:link inet6 addresses are ignored when testing is_up and
964 del_addresses - fixes bug #65417
965
966 net-scripts/init.d/macchanger:
967 - fixed detecting whether the change worked or not, fixes bug #68893
968
969 net-scripts/init.d/vlan:
970 - fixed old config problem
971
972 31 Oct 2004; Martin Schlemmer <azarah@gentoo.org>:
973
974 Do not delete depscan and envupdate caches on reboot, as this should
975 improve bootup times - works nicely with the '-u' parameters of both.
976 Also move the '-u' parameter test of depscan.sh after the directory
977 exist test, else ${svcdir}/started/, etc do not exist. Modified both
978 /sbin/rc and /sbin/depscan.sh for this.
979
980 Move things around in /sbin/functions.sh to have all functions above.
981
982 Add the 'lo' option to RC_NET_STRICT_CHECKING to resolve bug #29225.
983
984 28 Oct 2004; Martin Schlemmer <azarah@gentoo.org>:
985
986 Only add files not managed by udev to device tarball, bug #57110.
987
988 28 Oct 2004; Mike Frysinger <vapier@gentoo.org>:
989
990 Revert pam_console_apply udev check in bootmisc/halt.sh since
991 the bug is with pam_console_apply and not udev/pam.
992
993 Use ${EUID} instead of $(id -u) to help out BSD in runscript.sh.
994
995 Allow users to select ramfs instead of default tmpfs for mounting
996 on /dev with udev #69091.
997
998 Add issue.devfix which would be auto copied to /etc/issue if
999 /sbin/rc detects the user is missing /dev/null or /dev/console.
1000 Includes a simple explanation/fix for what's wrong.
1001
1002 Make sure the clock init script runs after checkroot/modules/localmount
1003 so that timestamps are synchronized asap #68133 / #70008.
1004
1005 Accept '-nc' as a short option to '--nocolor' #64736.
1006
1007 26 Oct 2004; Mike Frysinger <vapier@gentoo.org>:
1008
1009 Don't use -A with fsck to respect the fs_passno since it'll try
1010 to fsck all filesystems, not just the ones specified. Instead,
1011 awk /etc/fstab to review the passno field in checkroot #68822.
1012
1013 Add support for 'gentoo=forcefsck' boot option in checkroot.
1014
1015 Make sure we run devfsd in /sbin/rc even when /dev has been
1016 automounted by the kernel #68795.
1017
1018 Don't generate the device tarball in halt.sh with livecds #68469.
1019
1020 25 Oct 2004; Aron Griffis <agriffis@gentoo.org>:
1021
1022 net-scripts/net.modules.d/ifconfig:
1023 - Simplify ifconfig_is_up()
1024 - Fix ifconfig_get_aliases_rev() to actually work... you can't
1025 specify an interface name to ifconfig if you want to see the
1026 aliases.
1027 - Workaround a couple ifconfig bugs dealing with aliases
1028 - Correct a return status in ifconfig_interface_del_addresses()
1029 - ifconfig_iface_stop() is bool, not void; fix the comments
1030
1031 net-scripts/net.modules.d/iproute2:
1032 - iproute2_iface_stop() is bool, not void. Fix the code so it
1033 returns meaningful values
1034
1035 net-scripts/init.d/net.lo:
1036 - Fix preferred (ifconfig/dhcpcd) module loading so it doesn't
1037 barf when a preferred module is either (1) missing from
1038 net.modules.d or (2) not available due to missing dependencies
1039 - When loading all modules in order to stop an interface, only use
1040 the first available to satisfy each class wrapper
1041
1042 24 Oct 2004; Aron Griffis <agriffis@gentoo.org>:
1043
1044 Include livecd patch that was applied to baselayout-1.9.4-r6
1045 to use agetty instead of mingetty
1046
1047 24 Oct 2004; Mike Frysinger <vapier@gentoo.org>:
1048
1049 Mount tmpfs instead of ramfs on /dev when using udev systems.
1050 The problem with ramfs is that it has no size limitations so
1051 one could easily take down their machine by accident #68653.
1052
1053* rc-scripts 1.6.3 (23 Oct 2004)
1054
1055 22 Oct 2004; Aron Griffis <agriffis@gentoo.org>:
1056
1057 Add support for user_eth0 in the adsl module and in net.example.
1058 This means that most users won't need to edit pppoe.conf at all
1059
1060 21 Oct 2004; Aron Griffis <agriffis@gentoo.org>:
1061
1062 Remove old etc/conf.d/net and try to clarify instructions in
1063 net-scripts/conf.d/net.example. Add example for ADSL
1064
1065 21 Oct 2004; Mike Frysinger <vapier@gentoo.org>:
1066
1067 Merge all of the UML checks into one function, is_uml_sys(),
1068 which is now in functions.sh.
4 1069
5 18 Oct 2004; Aron Griffis <agriffis@gentoo.org>: 1070 18 Oct 2004; Aron Griffis <agriffis@gentoo.org>:
6 1071
7 Add v-e-commands (veinfo, vbegin, etc) to sbin/functions.sh that 1072 Add v-e-commands (veinfo, vbegin, etc) to sbin/functions.sh that
8 depend on RC_VERBOSE which defaults to no. Add --verbose to args 1073 depend on RC_VERBOSE which defaults to no. Add --verbose to args
17 1082
18 In net.lo, use eindent for output of pre/post scripts 1083 In net.lo, use eindent for output of pre/post scripts
19 1084
20 18 Oct 2004; Mike Frysinger <vapier@gentoo.org>: 1085 18 Oct 2004; Mike Frysinger <vapier@gentoo.org>:
21 1086
22 Add shfs to our list of net filesystems #61452. 1087 Add shfs to our list of net filesystems #61452. Also add afs/nfs4.
23 1088
24 Add a '-u' parameter to depscan.sh to allow for updates only when 1089 Add a '-u' parameter to depscan.sh to allow for updates only when
25 the config files have changed. With /sbin/rc using this, we speed 1090 the config files have changed. With /sbin/rc using this, we speed
26 up bootup by only regenerating the cache when need be #67976. Also 1091 up bootup by only regenerating the cache when need be #67976. Also
27 add a '-u' parameter to env-update.sh for same reasons. 1092 add a '-u' parameter to env-update.sh for same reasons.
30 depend on runlevels (which is all that rc-update modifies). 1095 depend on runlevels (which is all that rc-update modifies).
31 1096
32 Add unicode support to keymaps/consolefont #32111 and UML support #29707. 1097 Add unicode support to keymaps/consolefont #32111 and UML support #29707.
33 1098
34 Add checks to many filesystem operations in the eventuality that the 1099 Add checks to many filesystem operations in the eventuality that the
35 filesystems are mounted read only. Will automount a ramdisk even if 1100 filesystems are mounted read only.
36 svcmount=no under these conditions.
37 1101
38 16 Oct 2004; Mike Frysinger <vapier@gentoo.org>: 1102 16 Oct 2004; Mike Frysinger <vapier@gentoo.org>:
39 1103
40 Update the default fstab /dev/shm mount to include the nodev, nosuid, 1104 Update the default fstab /dev/shm mount to include the nodev, nosuid,
41 and noexec mount flags. No reason for the filesystem to have those. 1105 and noexec mount flags. No reason for the filesystem to have those.
214 Update the fs_passno values in the default fstab to match the 1278 Update the fs_passno values in the default fstab to match the
215 settings suggested by the manpage #37314. Make checkroot respect 1279 settings suggested by the manpage #37314. Make checkroot respect
216 a fs_passno setting of 0 when dealing with / #39212. Change 1280 a fs_passno setting of 0 when dealing with / #39212. Change
217 default / filesystem type to ext3 instead of xfs #42670. 1281 default / filesystem type to ext3 instead of xfs #42670.
218 1282
219 Re-order the arguements to mount to match POSIX requirements #66225. 1283 Re-order the arguments to mount to match POSIX requirements #66225.
220 1284
221 Don't pipe swapon in localmount to /dev/null and ignore return 1285 Don't pipe swapon in localmount to /dev/null and ignore return
222 codes anymore. A swapon that works shows no output #39834. 1286 codes anymore. A swapon that works shows no output #39834.
223 1287
224 02 Oct 2004; Mike Frysinger <vapier@gentoo.org>: 1288 02 Oct 2004; Mike Frysinger <vapier@gentoo.org>:
505 1569
506 12 Apr 2004; Aron Griffis <agriffis@gentoo.org>: 1570 12 Apr 2004; Aron Griffis <agriffis@gentoo.org>:
507 1571
508 Fix bug 47218 (net.eth0 broken for vlans) with patch provided by 1572 Fix bug 47218 (net.eth0 broken for vlans) with patch provided by
509 Andy Dustman. Fix bug 47250 (depscan.sh fails to create 1573 Andy Dustman. Fix bug 47250 (depscan.sh fails to create
510 /var/lib/init.d/* directories) with patch from Terje Bergstrm. 1574 /var/lib/init.d/* directories) with patch from Terje Bergström
511 1575
512* rc-scripts 1.4.6 (08 Apr 2004) 1576* rc-scripts 1.4.6 (08 Apr 2004)
513 1577
514 08 Apr 2004; Aron Griffis <agriffis@gentoo.org>: 1578 08 Apr 2004; Aron Griffis <agriffis@gentoo.org>:
515 1579
2129 is needed, else /usr/bin/newgrp segfault. 3193 is needed, else /usr/bin/newgrp segfault.
2130 3194
2131 11 Apr 2002; Martin Schlemmer <azarah@gentoo.org>: 3195 11 Apr 2002; Martin Schlemmer <azarah@gentoo.org>:
2132 3196
2133 Update /etc/skel/.bash_profile to make it tcsh compadible. 3197 Update /etc/skel/.bash_profile to make it tcsh compadible.
2134 Thanks to Vin Jrvel for this fix. 3198 Thanks to Väinö Järvelä for this fix.
2135 3199
2136 Update /etc/profile to also set the PS? variables if $SHELL 3200 Update /etc/profile to also set the PS? variables if $SHELL
2137 is set to /bin/sh. This should make prompt colours in 3201 is set to /bin/sh. This should make prompt colours in
2138 bootstrap work again. 3202 bootstrap work again.
2139 3203

Legend:
Removed from v.1.438  
changed lines
  Added in v.1.665

  ViewVC Help
Powered by ViewVC 1.1.20