**** BEGIN LOGGING AT Mon Feb 07 02:59:56 2011 Feb 07 03:00:09 nbd: I just wondered... right now you need a running service which can provide a unix socket, right? Feb 07 03:00:19 yes Feb 07 03:00:19 xMff: the way i see it is uci is good at reading/writing config info Feb 07 03:00:57 OutBackDingo: there's an ubuntu ppa somewhere Feb 07 03:00:59 nbd: it would be cool if one could initiate an ubus connection via stdin/stdout Feb 07 03:01:07 OutBackDingo: for uci I mean Feb 07 03:01:09 xMff: why? Feb 07 03:01:25 from shell? Feb 07 03:01:32 cshore: hrmmm wonders what uci is capable of on ubuntu even Feb 07 03:02:19 OutBackDingo: reading/writing config files Feb 07 03:02:21 nbd: e.g. to pipe two clients Feb 07 03:02:26 cshore: are you referring to the afrimesh work ? Feb 07 03:02:40 OutBackDingo: not sure what it was for Feb 07 03:02:51 nbd: might be useful at some point to be able to use it for programs that are not daemons Feb 07 03:03:24 nbd: but that can be throw into the nice to have corner until an actual use case arises Feb 07 03:03:38 if at all Feb 07 03:03:51 i don't see how stdin/stdout would help there Feb 07 03:04:05 the protocol is not meant to connect clients directly Feb 07 03:04:12 ok Feb 07 03:04:20 clients can register objects and make calls to other objects Feb 07 03:04:32 and they can listen for events and send events Feb 07 03:04:52 that doesn't really fit into a client-to-client via stdout/stdin model Feb 07 03:05:42 clients that want to exchange data directly via stdin/stdout could just use the blobmsg library directly Feb 07 03:06:06 and some glue code to split incoming messages Feb 07 03:06:15 hm true Feb 07 03:06:47 and splitting messages with the blobmsg/blob library code is already trivial Feb 07 03:06:57 you read a struct blob_attr sized buffer Feb 07 03:07:01 check the length Feb 07 03:07:17 receive blob_pad_len(attr) - sizeof(struct blob_attr) Feb 07 03:07:22 and then you have your message Feb 07 03:07:40 that's how ubus does it internally Feb 07 03:07:52 well, with a tiny header in front of it Feb 07 03:07:57 but same principle Feb 07 03:08:17 btw. for the shell interaction i decided to not put a shell api in the ubus cli Feb 07 03:08:32 i think i'll write a separate tool to let the shell handle json Feb 07 03:08:47 that's more unix-like and offers the same flexibility Feb 07 03:09:38 later we could even use that to reimplement ifconfig, brctl, route, etc. as ubus based shell scripts which let netifd do the work ;) Feb 07 03:10:14 indeed Feb 07 03:10:37 is netifd another new daemon? Feb 07 03:10:44 yes Feb 07 03:10:48 cshore: yes, it will replace all the network scripts Feb 07 03:10:53 ah, ok Feb 07 03:11:02 sounds nice Feb 07 03:11:05 eta ? Feb 07 03:11:11 it will finally allow for complex stuff Feb 07 03:11:12 4 weeks or so Feb 07 03:11:13 we talking weeks or months Feb 07 03:11:18 really Feb 07 03:11:24 maybe ill wait Feb 07 03:11:25 got a paying customer, so it gets done faster Feb 07 03:12:14 nbd: does that include iptables? Feb 07 03:12:19 no Feb 07 03:12:24 at least not initially Feb 07 03:12:35 I am thinking about reviving my fwd project Feb 07 03:12:46 nbd: id bounty up on radiotap_rate so it worked on ath9k Feb 07 03:12:50 xMff: that would be good Feb 07 03:13:15 yeah, I want to implement timed rules Feb 07 03:13:25 iptables can get convuluted though Feb 07 03:13:27 OutBackDingo: this will be implemented upstream anyway, just have to wait for a bit Feb 07 03:13:34 yupp i know Feb 07 03:14:02 i need to nudge the wireless guys Feb 07 03:14:23 since my todo list is quite long, i prefer to work on things that nobody else can or will work on Feb 07 03:14:35 ive seen some stuff going in but not yet to the point where i can drop maintaining patches Feb 07 03:14:50 OutBackDingo: iptables gets a bit simpler if you can control it via C instead of the awkward frontend Feb 07 03:15:11 nbd: yeah we need to clone a few of you guys... Feb 07 03:15:51 xMff: can you think of any more useful features that you'd like ubus to handle? Feb 07 03:16:11 nbd: rpc capabilities to manage it :) Feb 07 03:16:11 nbd: not yet Feb 07 03:16:20 OutBackDingo: ubus *is* the rpc Feb 07 03:16:46 nbd: sooo Feb 07 03:16:48 hrmmm Feb 07 03:16:53 OutBackDingo: it's simply there to let a number of different services talk to each other Feb 07 03:17:12 xMff: i think i'll add something to let it pick up hotplug events Feb 07 03:17:32 what specifically will ubus capabilities be tied to ? Feb 07 03:17:34 nbd: I'll look into a generic lua api Feb 07 03:17:58 xMff: sounds good. should be easy to do as well Feb 07 03:18:01 will ease prototyping Feb 07 03:18:12 just need to write some generic code to handle lua table <-> blobmsg conversion Feb 07 03:18:27 and then some glue code to call the api functions Feb 07 03:19:17 you can use libblobmsg_json as an example for that Feb 07 03:19:27 OutBackDingo: in the future - netifd, soon hostapd / wpa_supplicant, personally I want bindings for radvd, pppd would probably make sense Feb 07 03:19:32 ok Feb 07 03:19:47 i was also considering moving udhcpc into netifd directly Feb 07 03:19:51 relayd Feb 07 03:19:58 fwd Feb 07 03:20:06 uhttpd :) Feb 07 03:20:19 why uhttpd? Feb 07 03:20:36 it starts with u ;) Feb 07 03:20:40 lol Feb 07 03:21:00 no seriously, I could need a capability to spawn new listeners on demand Feb 07 03:21:10 and have them timeout after a while Feb 07 03:21:18 can't it do that on its own Feb 07 03:21:18 ? Feb 07 03:21:30 simply by monitoring how many listeners are in use Feb 07 03:21:56 more something like dynamic vhosts... hard to explain Feb 07 03:22:46 k Feb 07 03:24:05 however, dnsmasq could be interesting, but there's nothing that could not be done with writing out a config and sending sighup Feb 07 03:25:14 if the most important stuff is rpc-ified we could do TR-061 ;) Feb 07 03:26:50 sorry, 69 Feb 07 03:26:54 ;) Feb 07 03:27:09 not that i expect much open source community interest in that Feb 07 03:27:57 probably better to sell it separately ;) Feb 07 04:22:10 xMff: referring to Technology Brief for Service Providers Feb 07 04:41:41 was that a question? Feb 07 04:49:20 build #77 of ppc40x is complete: Success [build successful] Build details are at http://tksite.gotdns.org:8010/builders/ppc40x/builds/77 Feb 07 05:49:24 is anyone around that can commit the PKG_REV changes from http://paste.openwrt.org/m2fad682e? Feb 07 07:03:31 swalker: uhmm feeds/packages ??? Feb 07 07:03:42 should be packages Feb 07 07:05:40 since "feeds" doesnt exists until you update them Feb 07 07:08:53 xMff: uhmm yeah kinda in a way, just verifying your reference to tr-069 was in reference to Technology Brief for Service Providers Feb 07 10:43:13 nbd * r25398 /trunk/package/mac80211/patches/590-mac80211_fix_clone_check.patch: mac80211: fix the check for cloned skbs in the tx path Feb 07 10:44:48 nbd * r25399 /branches/backfire/package/mac80211/patches/590-mac80211_fix_clone_check.patch: mac80211: fix the check for cloned skbs in the tx path (backport of r25398) Feb 07 11:29:03 build #72 of ppc44x is complete: Failure [failed compile_6] Build details are at http://tksite.gotdns.org:8010/builders/ppc44x/builds/72 Feb 07 13:03:42 mirko * r25400 /packages/Xorg/lib/qt4/files/qws-qmake.conf: [packages/qt4] fix passing variables to qmake Feb 07 13:04:29 mirko * r25401 /packages/Xorg/lib/qt4/files/qmake.mk: [packages/qt4] qmake.mk: pass $(STAGING_DIR); override Build/Compile/Default Feb 07 14:27:48 Bonjour Feb 07 15:59:33 obsy * r25402 /packages/net/transmission/Makefile: [packages] transmission: update to 2.20 final Feb 07 17:01:33 mb * r25403 /packages/Xorg/lib/qt4/files/x11-qmake.conf: qt4: Port r25400 to qt-x11 Feb 07 17:13:02 mb * r25404 /packages/Xorg/lib/qt4/files/qmake.mk: qt4: Default build rule: Honor PKG_JOBS, if present Feb 07 18:17:07 nbd * r25405 /trunk/package/libjson-c/ (. Makefile): libjson-c: add to core (instead of packages) Feb 07 18:17:49 nbd * r25406 /trunk/package/libubox/ (. Makefile): add libubox, a small utility library containing blob/blobmsg (structured message format libraries), uloop, usock, list.h and the olsr avl tree implementation Feb 07 18:17:56 nbd * r25407 /trunk/package/relayd/Makefile: relayd: update to 2011-02-07, uses cmake and libubox now Feb 07 21:10:11 xMff: thanks for earlier re tortib... Feb 07 21:45:25 acinonyx * r25408 /packages/admin/syslog-ng3/Makefile: [packages] syslog-ng3: Add missing libpthread and zlib dependencies Feb 07 21:45:29 acinonyx * r25409 /packages/libs/glib2/Makefile: [packages] glib2: Add zlib and libpthread build dependencies Feb 07 21:45:35 acinonyx * r25410 /packages/net/irssi/Makefile: [packages] irssi: Add missing libpthread dependency Feb 07 21:45:38 acinonyx * r25411 /trunk/package/busybox/files/telnet: [package] busybox: Check if an SSH daemon is enabled before disabling telnet access (#8760) Feb 07 21:48:34 blogic * r25412 /trunk/package/ (9 files in 8 dirs): Feb 07 21:48:34 [voip] Feb 07 21:48:34 * drop libtapi and tapi_sip (moved to external git) Feb 07 21:48:34 * add build variants to pjsip Feb 07 21:48:34 * split tapi_dev audio driver out of patch into src/ Feb 07 21:49:35 blogic * r25413 /trunk/package/ltq-kpi2udp/ (5 files in 2 dirs): Feb 07 21:49:35 [ltq-kpi2udp] Feb 07 21:49:35 * adss in-kernel udp redirect plugin for lantiq voice optimisation Feb 07 22:28:41 acinonyx * r25414 /trunk/package/hotplug2/patches/170-non_fatal_include.patch: [package] hotplug2: Make missing include files non fatal Feb 07 22:28:45 acinonyx * r25415 /trunk/package/base-files/files/etc/hotplug2-common.rules: [package] base-files: Add include for target specific hotplug rules Feb 07 23:10:54 ping Acinonyx Feb 07 23:13:40 pong Feb 07 23:14:11 Acinonyx the patch you submitted to check for the pubkey Feb 07 23:14:22 yes Feb 07 23:14:24 wouldnt be correct if someone changes the root homedir Feb 07 23:14:26 as i did Feb 07 23:14:58 maybe you should read the homedir from /etc/passwd Feb 07 23:15:08 and test it with that dir Feb 07 23:15:19 to make the patch more generic Feb 07 23:15:33 I guess that would be better Feb 07 23:15:48 it wouldnt matter for me as i removed telnet completely but for everyone else ... Feb 07 23:17:48 at least it doesn't brick the router the way it is now Feb 07 23:18:39 etc/init.d/sshd enabled - where is this enabled documented? Feb 07 23:19:06 ahh etc/rc.common Feb 07 23:19:23 but there is not output for this command - only for enable not enabled Feb 07 23:19:42 it return an exit code Feb 07 23:20:05 i know - but it not shown when doing /etc/init.d/sshd for example Feb 07 23:20:11 only enable shows up Feb 07 23:20:39 /etc/init.d/sshd enabled; echo $? Feb 07 23:20:51 Available commands: Feb 07 23:20:51 start Start the service Feb 07 23:20:51 ... Feb 07 23:21:00 /etc/init.d/sshd Feb 07 23:21:05 the output of this command Feb 07 23:21:13 hmm Feb 07 23:22:41 it's undocumented in the usage ouput Feb 07 23:24:21 enable Enable service autostart Feb 07 23:24:21 + enabled Returns 0 when the service is enabled Feb 07 23:24:25 add this to rc.common Feb 07 23:24:36 should i sent you a patch? Feb 07 23:25:40 Acinonyx: http://www.file-upload.net/download-3197993/rc.patch.html Feb 07 23:26:25 are there any other undocumented options? Feb 07 23:26:39 dont know Feb 07 23:27:11 help Feb 07 23:27:26 help Shows this help :) Feb 07 23:27:58 maybe it is undocumented because it is not used by the user but only in scripts Feb 07 23:28:08 yeah maybe Feb 07 23:28:42 there are some other option in rc.common Feb 07 23:28:50 like "depends" Feb 07 23:29:00 does nothing Feb 07 23:29:25 the other ones are not really important as they return 0 or 1 Feb 07 23:29:57 shutdown but as shutdown calls stop its the same Feb 07 23:31:28 I guess they are used in some scripts Feb 07 23:31:39 they get overriden Feb 07 23:34:16 Acinonyx: shutdown is used when the system goes down Feb 07 23:34:21 this patch is from me Feb 07 23:35:23 its calling stop but its possible to end a service on system shutdown deferently as when its called with stop Feb 07 23:36:03 Acinonyx: as far as i know only my package (openssh) uses this by now Feb 07 23:36:13 cool Feb 07 23:36:28 nginx uses it too Feb 07 23:36:32 okay Feb 07 23:37:01 Acinonyx: thats the commit https://dev.openwrt.org/changeset/24540 Feb 07 23:37:19 shutdown does $NGINX_BIN -s quit instaed of $NGINX_BIN -s stop Feb 07 23:38:08 for openssh its needed - because without it you would have to do a restart in screen otherwise it would kick you out of the system when doing a restart Feb 07 23:38:24 of the openssh service Feb 07 23:39:07 i would also kick you out but it would start the service again when doing it inside a screen session .... Feb 07 23:39:21 ahh, yes that annoying bug Feb 07 23:39:36 I've run into it in the past Feb 07 23:39:56 and on restart or poweroff it will end all open sshd session - to get rif of this enoying stucking terminals Feb 07 23:40:54 Acinonyx could you do a patch to read the root homedir from /etc/passwd? Feb 07 23:40:56 yes Feb 07 23:41:50 Acinonyx do you use openssh? i dont think that that much people use it Feb 07 23:41:52 I'll try but it would be more complicated that the parsing of passwd in has_root_pwd() Feb 07 23:42:27 no i don't Feb 07 23:42:49 maybe im the only one ;) - maintainer and only user :) Feb 07 23:42:59 :P Feb 07 23:43:14 only=lonely ;) Feb 07 23:43:23 the reason i am not using it is its size Feb 07 23:43:30 its not that bad Feb 07 23:43:56 i managed to build a image with everything included Feb 07 23:44:18 + the pubkeys to log in directly after the image is flashed and the box is restarted Feb 07 23:44:41 but there are some mods necessary Feb 07 23:45:04 the get the right permission for this files - otherwise openssh refuses to start Feb 07 23:45:09 the get=to get Feb 07 23:45:28 it pulls openssl and zlib which ultimately make it use more spce than dropbear Feb 07 23:45:42 yeah but i removed some busybox stuff Feb 07 23:45:42 hmm Feb 07 23:45:54 like telnet+telnetd Feb 07 23:46:21 my image with wifi+openssh+irssi+nano and some other stuff is about 6mb Feb 07 23:46:51 and i have about 7mb flash so thats fine Feb 07 23:47:41 :) Feb 07 23:48:22 but i think my mod/hacks wont make it into trunk as they are not that generic - i also dont like the rootfs usb overlay stuff so i still use my old pivot root stuff i posted somewhere in the forum Feb 07 23:48:34 what does the postinst script do in openssh? Feb 07 23:49:52 it adds the group and user for the openssh daemon Feb 07 23:50:01 but is was there befor i got the prog Feb 07 23:50:06 never touched that stuff Feb 07 23:50:19 befor i became the maintainer Feb 07 23:50:27 it seems to me a bit hackish Feb 07 23:50:32 yeah it is Feb 07 23:50:34 it checks if it runs in squashfs Feb 07 23:51:14 and deltes the files and copies them back Feb 07 23:51:42 no Feb 07 23:51:48 it checks if it is a asymbolic link Feb 07 23:52:46 i think this could be removed Feb 07 23:53:07 or do newer installs still use /etc/group and /etc/passwd as symbolic links? Feb 07 23:53:12 @ Acinonyx Feb 07 23:53:56 mount |awk '/root/ { print $$5 }' Feb 07 23:55:06 the don't use symbolic links I think Feb 08 00:00:37 mount |awk '/root/ { print $5 }'|grep -v rootfs would be right Feb 08 00:00:45 mount |awk '/root/ { print $$5 }'|grep -v rootfs would be right Feb 08 00:01:00 Acinonyx: this awk statement makes no sense Feb 08 00:01:25 i think this code can be removed Feb 08 00:02:23 yeah, it shouldn't work Feb 08 00:03:23 as it return Feb 08 00:03:28 rootfs Feb 08 00:03:32 squashfs Feb 08 00:03:37 yes Feb 08 00:03:40 and that will never be true Feb 08 00:03:44 for the if statement Feb 08 00:03:59 i checked the base-files and there is no symlink created Feb 08 00:04:08 i will remove the lines Feb 08 00:04:34 yes Feb 08 00:04:43 since mini_fo symlinks are not needed Feb 08 00:06:26 tripolar * r25416 /packages/net/openssh/Makefile: [openssh]: remove obsolete lines Feb 08 00:06:51 Acinonyx: thanks for the hint Feb 08 00:06:59 np Feb 08 00:07:30 Acinonyx so now its your turn ;) Feb 08 00:07:53 :) Feb 08 00:08:11 i am working on it Feb 08 00:09:07 i cant even test it as i use shadow Feb 08 00:12:41 Acinonyx: this would work Feb 08 00:12:43 grep root /etc/passwd |sed -e s/.*\:root\://g -e s/\:.*//g Feb 08 00:13:17 i'd prefer not to use sed Feb 08 00:17:56 http://paste.openwrt.org/d1979c8d6 Feb 08 00:18:06 could you try this please? Feb 08 00:22:05 Acinonyx seems to work Feb 08 00:22:16 but i was never that good at bash Feb 08 00:22:21 sh Feb 08 00:22:34 what does this mean exactly? Feb 08 00:22:35 homedir="${homedir#*:*:0:0:*:}" Feb 08 00:22:37 thanks for spotting it Feb 08 00:22:41 and testing Feb 08 00:23:07 thats self explaining homedir=$([ -f "$1" ] && cat "$1") Feb 08 00:23:08 it removes what matches the expression after # Feb 08 00:25:53 and this? Feb 08 00:25:54 ${homedir%:*} Feb 08 00:26:14 hmm did I put a single %? Feb 08 00:26:24 no Feb 08 00:26:25 :) Feb 08 00:26:55 oh it seems irc is eating the second % Feb 08 00:27:01 or xchat ;) Feb 08 00:27:03 heh Feb 08 00:27:14 what does it mean? Feb 08 00:27:38 after homedir="${homedir#*:*:0:0:*:}" homedir = /tmp/roothome:/bin/ash Feb 08 00:27:40 for me Feb 08 00:27:51 nobody:*:65534:65534:nobody:/var:/bin/false Feb 08 00:27:51 daemon:*:65534:65534:daemon:/var:/bin/false Feb 08 00:27:51 sshd:x:99:99:sshd:/var/empty/.sshd:/bin/false Feb 08 00:27:54 and this linces Feb 08 00:27:56 lines Feb 08 00:29:16 what does the % 2 times mean? Feb 08 00:29:27 well, the second means again to remove the expression that matches after % Feb 08 00:29:47 but in this case it is a suffix and it can match the largest pattern Feb 08 00:30:06 for example Feb 08 00:30:34 it you have a string "testing" Feb 08 00:31:35 and use a single % with "t*g" it will delete the whole word Feb 08 00:32:01 sorry it ate my double % also Feb 08 00:32:24 crap Feb 08 00:32:31 test="testing";echo "${test%t*g}" - with one Feb 08 00:32:36 gives me tes Feb 08 00:32:56 yes, said it in reverse Feb 08 00:33:02 doit with % Feb 08 00:33:04 grrrr Feb 08 00:33:08 irc sucks Feb 08 00:33:13 doit with double % Feb 08 00:33:25 it will match the whole word Feb 08 00:33:36 ohh % two times takes the first t and % one time takes the last t - am i right? Feb 08 00:33:50 it matches the largest pattern with double % Feb 08 00:33:59 and the smallest with single Feb 08 00:34:02 okay Feb 08 00:34:04 nice Feb 08 00:34:06 i understand Feb 08 00:34:16 is there somewhere a nice tut for stuff like this? Feb 08 00:34:19 I hope I made sense Feb 08 00:34:38 yeah you explaind it very well Feb 08 00:34:39 :) Feb 08 00:35:18 the difference between # and % is that the first removes prefixes and latter suffixes Feb 08 00:36:24 this means that "testost" with %t*t will delete the "tost" and leave tes Feb 08 00:36:47 and "#t*t" will delete "test" and leave "ost" Feb 08 00:36:59 okay Feb 08 00:37:17 and two times # or % will remove the whole word with t*t? Feb 08 00:37:45 or is ther only two times %? Feb 08 00:37:45 excaclty in this case Feb 08 00:37:49 okay nice Feb 08 00:38:17 Acinonyx: but there is for shure more of this advanced shell stuff? Feb 08 00:39:26 ash man describes all these Feb 08 00:39:50 with some fantasy, you can do many stuff Feb 08 00:40:07 *much Feb 08 00:40:19 ash man page - where do i find it? Feb 08 00:40:28 or do you mean the bash man page? Feb 08 00:40:45 http://linux.die.net/man/1/ash Feb 08 00:40:58 no, bash is different Feb 08 00:41:18 but it works with sh here Feb 08 00:41:33 sh=bash Feb 08 00:41:53 thanks Feb 08 00:42:27 it depends on the system Feb 08 00:43:16 we use ash in openwrt Feb 08 00:43:21 yeah i know Feb 08 00:43:23 busybox Feb 08 00:43:32 just tested it on my desktop system Feb 08 00:43:58 oh, sorry. I am a bit tired and didn't understand Feb 08 00:46:19 hmm why doesnt this work? Feb 08 00:46:20 faa="http://asas.de/gt_rt" ; echo "${faa%h*/}" Feb 08 00:46:28 i want just gt_rt Feb 08 00:46:34 i use double % Feb 08 00:46:46 but this works Feb 08 00:46:53 faa="http://asas.de/gt_rt" ; echo "${faa##h*/}" Feb 08 00:46:58 @Acinonyx: Feb 08 00:47:24 yes Feb 08 00:47:36 but why doesnt it work with the double % Feb 08 00:47:56 % matches suffixes Feb 08 00:48:27 because it is not a suffix Feb 08 00:48:41 ahh i understand thanks Feb 08 00:48:56 it would work if you wanted to delete "/gt_rt" Feb 08 00:49:26 if you play a little, it all comes clear Feb 08 00:49:26 so % begins to search from the right side Feb 08 00:49:35 yes Feb 08 00:49:43 yeah now it clear Feb 08 00:49:51 thanks Feb 08 00:49:54 np Feb 08 00:50:21 is there a way to do both thinks at wonce? Feb 08 00:50:24 once Feb 08 00:50:32 things Feb 08 00:50:36 im tired too :) Feb 08 00:50:48 i mean % and # in one statement Feb 08 00:51:36 no i don't think so Feb 08 00:53:16 it's almost 3 here Feb 08 00:53:29 here its nearly 2am Feb 08 00:53:33 where are you from? Feb 08 00:53:57 Acinonyx: dont forget to commit your code :) Feb 08 00:54:38 i am in Athens, Greece Feb 08 00:54:43 ok i'll doit now Feb 08 00:54:46 okay Feb 08 01:01:58 acinonyx * r25417 /trunk/package/busybox/files/telnet: [package] busybox: get root home dir from /etc/passwd in telnet init script (thanks tripolar) Feb 08 01:04:55 I am going to bed Feb 08 01:05:06 gnight tripolar Feb 08 01:05:15 Acinonyx good night Feb 08 01:05:43 have a nice day tomorrow Feb 08 01:07:00 thanks, u too Feb 08 01:07:00 ;) Feb 08 01:54:38 Hi, does anyone know what the broadcom "ctf" module does ? Feb 08 01:54:41 26 Feb 08 01:56:22 Does anyone know if busybox supports pushd and popd? **** ENDING LOGGING AT Tue Feb 08 02:59:57 2011