**** BEGIN LOGGING AT Wed Aug 08 03:00:02 2018 Aug 08 03:20:39 would be nice if the x86_64 images had wifi drivers, wpa_supplicant, etc :/ Aug 08 03:50:25 Guys I have a usb serial console, how can I access the linksys e1200 with open-wrt firmware cmd to reset the router? Aug 08 03:52:21 generally yes Aug 08 03:53:02 DonkeyHotei: I try to access the router using putty but not working Aug 08 03:53:50 sometimes the pinout on wiki reverses rx and tx because people get confused Aug 08 03:56:14 there is a lot of info here https://openwrt.org/docs/techref/hardware/port.serial Aug 08 04:18:35 anyone know if there is a pending fix for this? /home/matt/devel/openwrt/openwrt/staging_dir/host/bin/ucert: error while loading shared libraries: libjson-c.so.2: cannot open shared object file: No such file or directory Aug 08 04:20:25 if i had to take a guess... 7a52ce3fafab59a17f692a3a24717c8b0f358407 + -DUSE_RPATH="${STAGING_DIR_HOST}/lib" Aug 08 04:25:29 DonkeyHotei: I try that but the putty not responding Aug 08 04:26:08 perhaps the usb adapter is faulty, or the soldering on the device Aug 08 04:27:04 the serial usb console is working on the switch Aug 08 04:27:39 the switch has low-voltage serial? Aug 08 04:28:30 catalyst cisco sqitch Aug 08 04:28:33 switch Aug 08 04:28:41 .. what adapter are you using? Aug 08 04:29:07 and the serial read the console in the windows hardware Aug 08 04:29:22 I put the serial in internet port Aug 08 04:30:14 Er Aug 08 04:30:29 The ethernet port? On the outside of the router? Aug 08 04:30:45 did you read the page i linked, like at all? Aug 08 04:31:16 I use serial adapter sir Aug 08 04:31:44 https://shopee.ph/USB-to-Serial-RS232-Converter-Cable-i.23880785.1085406968/similar?from=ads&gclid=CjwKCAjwhqXbBRAREiwAucoo-88fAq6o7vPLJQ7AbpBWBuPoaMK2z7kb_kb6-KuOrdNDC-v84X_mlBoCsPgQAvD_BwE Aug 08 04:31:47 like that sir Aug 08 04:32:00 it's not like a cisco rj-45 to db9 Aug 08 04:32:03 You're using the wrong one and you can't plug it in like that anyway. Aug 08 04:32:37 * m4t disables package signing for the time being Aug 08 04:33:08 okay sir so I need to soldering it or serial console only? Aug 08 04:34:50 you also need to convert between 12V and 3.3V Aug 08 04:35:30 there is a lot of information about it on the page i linked Aug 08 04:47:24 okay sir I will read it first Aug 08 05:21:38 anyone having trouble building with busybox / bzip2 freaking out? Aug 08 05:23:06 just scrolls: (BZIP2_SMALL) [8] (NEW) Trade bytes for speed (0:fast, 9:small) (BZIP2_SMALL) [8] (NEW) Trade bytes for speed (0:fast, 9:small) (BZIP2_SMALL) [8] (NEW) Trade bytes for speed (0:fast, 9:small) (BZIP2_SMALL) [8] (NEW) Trade bytes for speed (0:fast, 9:small) (BZIP2_SMALL) [8] (NEW) Trade bytes for speed (0:fast, 9:small) (BZIP2_SMALL) [8] (NEW) Trade bytes for speed (0:fast, 9:small) (BZIP2_SMALL) [8] (NEW) Trade bytes for Aug 08 05:23:06 speed (0:fas Aug 08 05:32:29 hi Aug 08 05:35:33 blogic: hello Aug 08 05:53:10 looks like 12fb4bb834dc715ce43bf428c35b489e89e776a1 broke it Aug 08 05:56:47 is there a way to provide my own wpa_supplicant.conf file? Aug 08 05:58:33 files/ directory Aug 08 05:59:54 nyt: ? Aug 08 06:00:32 anything you put in files ends up on the file system Aug 08 06:00:38 so if you want something in etc/config/whatever Aug 08 06:00:41 create files/etc/config/whatever Aug 08 06:01:46 okay, but wpa_supplicant.conf is being generated at runtime in RAM disks? Aug 08 06:01:56 or is there some place I can put one to override it? Aug 08 06:02:35 also why are you needing to manually adjust that out of curiosity? Aug 08 06:03:35 no way to disable scan_ssid it seems; but mainly because I want to have my wifi client connect to any of various SSIDs, including the "any SSID that's open" Aug 08 06:05:20 (I'm basically using OpenWrt as just a wifi client) Aug 08 06:12:23 hello all .. I am trying to compile my openWRT CC with ledtring-netdev support .. I am selecting ledtrig-netdev from make menuconfig .. But, i don't see it in firmware. Also i don't file this file in lib/modules folder .. Any help ?? Aug 08 06:15:22 obaid: why are you compiling an old build? 18.06 is current, CC is old and vulnerable Aug 08 06:19:08 Fishman: It is because the drivers i am using in compatible only with CC Aug 08 06:19:48 is ** Aug 08 06:27:39 *are :-) Aug 08 06:46:21 so busybox in master is broke if you enable bzip2 Aug 08 06:46:31 yes gets pipe'd to to build Aug 08 06:46:37 and it's looking for 0-9 for BZIP2_SMALL Aug 08 06:46:55 since it's not getting included with the grep for CONFIG_BUSYBOX_CONFIG Aug 08 06:46:59 since it's in CONFIG_BUSYBOX_DEFAULT Aug 08 06:51:37 looks like busybox needs some love in archival/Config.in to fix Aug 08 07:06:47 https://github.com/openwrt/openwrt/pull/1256 Aug 08 07:09:59 nyt: please rework your commit message. the commit message needs a prefix ("busybox: ") Aug 08 07:10:06 k Aug 08 07:10:28 i also horked something in the help, will submit a new req Aug 08 07:10:40 nyt: and the commit message doesn't include an information. It should at least answer the question "Why do we need the commit" Aug 08 07:10:51 nyt:no need to create a new PR Aug 08 07:10:57 nyt: please update your PR instead Aug 08 07:11:01 k Aug 08 07:11:07 nyt:you can just do a forced push Aug 08 07:14:31 Hello All! Aug 08 07:14:36 Anyone using here 1806 activelly? Aug 08 07:14:41 like for daily use Aug 08 07:16:12 xcoom: ask the question you have in mind. no one will reply to such an open question Aug 08 07:16:13 morning Aug 08 07:19:18 https://github.com/openwrt/openwrt/pull/1256 Aug 08 07:20:44 better? Aug 08 07:31:37 nyt: yes. but still not correct Aug 08 07:31:48 howso Aug 08 07:32:09 nyt: mail address in signed-off-by need to be enclosed by <> Aug 08 07:32:22 will amend Aug 08 07:32:32 nyt: From/author line is different from Signed-of-by: https://patch-diff.githubusercontent.com/raw/openwrt/openwrt/pull/1256.patch Aug 08 07:33:13 nyt: check the submitting patches guideline on openwrt.org. it should provide a guide to fix the from/author line Aug 08 07:33:19 was just copying the old sob from svn commit days Aug 08 07:33:37 my github address will not match my sob address, though Aug 08 07:33:49 its a spam filtering thing Aug 08 07:34:21 how important is that Aug 08 07:34:23 nyt: don't discuss with me, check 'git log' to see how it is done and/or follow the submitting patches guideline Aug 08 07:34:41 that's kind of stupid Aug 08 07:36:22 whatever tho, adjusted Aug 08 07:37:09 nyt: "From: " still doesn'T match the Signed-off-by Aug 08 07:37:21 bbl Aug 08 07:38:03 mkresin: For Wireguard also a RSA keypair is okay? Aug 08 07:40:23 nfc how to actually update that Aug 08 07:43:59 nyt: it's git config Aug 08 07:44:18 have gloval user.name set Aug 08 07:44:32 hmm Aug 08 07:44:35 nyt: the third and the last time. check the submitting patches guideline on openwrt.org. Everything is mentioned there Aug 08 07:44:44  have gloval user.name set Aug 08 07:45:33 maybe it's local on the repo for some reason? Aug 08 07:46:23 nyt: the following might work: git commit --amend --author="Your Name " Aug 08 07:46:55 xcoom: no idea. never used wireguard. Aug 08 07:47:31 mkresin: Have you used simple-adblock? Aug 08 07:47:32 yeah needed the --author for that to get pushed through Aug 08 07:47:33 thx Aug 08 07:50:53 now to see what extra headache is needed to deal w/ base-files signature chain stuff Aug 08 07:52:04 any docs for the ucert stuff anywhere? Aug 08 07:52:43 whats up with those errors on a feeds update? ".find.bin: loadlocale.c:129: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed." ? Aug 08 08:18:54 oh not a openwrt issue, for some reason my locales where broken, had to set them again: localectl set-locale ... Aug 08 08:23:47 andy2244: export LC_ALL=C Aug 08 08:24:07 OpenWrt bundles a copy of glibc from the host it was built on Aug 08 08:24:32 despite binary patching, it still tends to load stuff from the foreign host system, which leads to those assertions Aug 08 08:25:29 so after those usign commits, can no longer build with signed packages checked, base-files fails. Aug 08 08:25:34 ah oki, but seems my host locales where actually broken Aug 08 09:57:45 ping jow Aug 08 09:58:47 Just reading through https://forum.openwrt.org/t/openwrt-18-06-0-release/17955/45 Aug 08 09:59:12 It seems to me that 4-32 meg routers are ded and should be droped Aug 08 09:59:19 pong dangole Aug 08 09:59:40 dangole: stuck in a meeting and lunch afterwards Aug 08 09:59:44 is now+45m okay for you? Aug 08 10:00:15 jow: ok Aug 08 10:00:30 great :) Aug 08 10:01:09 jow: In the 18.06 release packages like. atk10-firmware are updated daily? Aug 08 10:08:03 xcoom: no Aug 08 10:08:12 only if someone updates the package Aug 08 10:44:53 Hi is there ath79 snapshots? Aug 08 10:54:15 jow: ready when you are Aug 08 10:57:51 jow: I found a flaw in the plan of moving drivers to kmods as much as possible: we still don't support per device rootfs for initramfs images Aug 08 11:04:33 dangole: ready now Aug 08 11:04:35 KanjiMonster: hm Aug 08 11:08:19 jow: the main issue (so far for me) implementing it is that you need to recompile the kernel multiple times with different rootfs-paths (not the issue), which you obviously can't do parallel - but the new device code expects to be able to do that, and I haven't found a way to prevent a canned recipe from being run in parallel Aug 08 11:08:57 KanjiMonster: the way I understood is that recipes are save as long as they stick to $^ (input files) and $@ (output file) Aug 08 11:09:18 once you start working with fixed paths, stuff will blow up Aug 08 11:09:52 jow: the only way to avoid that would be to create a copy of the whole kernel tree for every rootfs variant to build Aug 08 11:10:18 (and modify the kernel build code to cope with that) Aug 08 11:10:56 I think you could define an image build step "recompile with rootfs path" that runs under flock Aug 08 11:12:50 we would need to move the kernel (initramfs) build from a collection of recipies to a shell script for that Aug 08 11:13:43 we setup the config and rootfs in multiple steps/recipies, so we can't just only run the actual make invocation in flock Aug 08 11:14:03 hm, okay Aug 08 11:14:27 the other way would be to have a defined step in the build code where we iterate over the to be generated rootfs's, but I haven't found the right place for that Aug 08 11:14:43 its all make target dependency driven Aug 08 11:14:48 yeah Aug 08 11:14:59 expressed in the form of runtme generated code which is eval'ed Aug 08 11:15:14 that makes it so extremely hard to follow, you'll never find explicit invocations Aug 08 11:15:16 and Make doesn't support "don't compile these two targets in parallel", only "don't run in parallel, full stop" Aug 08 11:15:20 jow: making progress converting packages to libtirpc, will have to replace portmap with rpcbind. Btw do you want PR per package or one big for all libtirpc related changes? Aug 08 11:16:01 KanjiMonster: I thought that is what .NOTPARALLEL is for Aug 08 11:16:28 jow: .NOTPARALLEL disables parallel build for the whole file Aug 08 11:17:16 KanjiMonster: another technique I've seen which - iirc - is also used for the new image building code is daisy-chaining all the targets Aug 08 11:17:30 image c depends on image b depends on image a Aug 08 11:17:35 even if they're unrelated Aug 08 11:19:49 hm its not that, but I've seen it somewhere Aug 08 11:21:49 so I think whenever you $(eval) a new target recipe, you export its name as PREV_RECIPE or similar Aug 08 11:22:05 then when you $(eval) the next, you simply make it depend on $(PREV_RECIPE) Aug 08 11:22:21 the first one will have an empty dependency Aug 08 11:22:45 this way you do not even need an explicit list of targets beforehand Aug 08 11:26:19 will need to think about this Aug 08 11:27:18 andy2244: I'd start with an all in one PR and only break it down if asked to Aug 08 11:28:32 oki, btw you want a clean change or should i keep/expand the $(LIBRPC) rules.mk logic? Aug 08 11:29:15 expand? Aug 08 11:29:16 andy2244: some size comparisons (librpc vs lib, uncompressed and compressed) are always nice Aug 08 11:30:24 jow: need to add "LIBRPC_INCLUDE=-I$(STAGING_DIR)/usr/include/tirpc" Aug 08 11:31:00 or i can just add this normally in every package without VARs? Aug 08 11:31:19 afair librpc is only need on !GLIBC Aug 08 11:31:29 hence the macros, to be able to disable it Aug 08 11:31:35 but maybe I'm wrong Aug 08 11:31:42 ah ok Aug 08 11:33:23 so the librpc currently in the tree was operated out of uclibc because musl libc lacks an own librpc implementation Aug 08 11:33:48 I guess libtirpc is a generic replacement intended to target various environments Aug 08 11:33:59 it probably makes sense to always use it, even on uclibc and glibc hosts Aug 08 11:34:10 glibc is trying to kill the builtin rpc. Aug 08 11:34:11 hwoever as KanjiMonster mentioned, size difference plays a given rule Aug 08 11:34:18 tirpc lets you have v6 as well. Aug 08 11:34:20 *role Aug 08 11:34:33 so if tirpc is suddenly 200k bigger, it would be an issue Aug 08 11:34:43 ok lemme check Aug 08 11:35:41 karlp: sounds even better Aug 08 11:35:58 then we could kill the builtin rpc stuff on every libc and simply rely on an installable package Aug 08 11:36:17 yeah, that's the goal upstream, Aug 08 11:36:28 it's why musl doesn't have it either, Aug 08 11:39:55 nothing in the base package set depends on it (except busybox, and only if you enable it), so size shouldn't be that huge of an issue Aug 08 11:40:37 jow: now i had lunch (spontanously) Aug 08 11:40:43 :D Aug 08 11:40:46 jow: back now, but only got 20 minutes Aug 08 11:40:56 dangole: lets start Aug 08 11:40:57 should be enough though Aug 08 11:41:03 ok librpc.so: 544kb libtirpc.so:135kb for my arm target Aug 08 11:41:21 dangole: so first of all, can you give a brief executive summary on what is ucert, how it relates to usign Aug 08 11:41:40 https://git.openwrt.org/?p=project/ucert.git;a=blob;f=README.md Aug 08 11:41:55 skimming... Aug 08 11:42:18 ucert wraps around usign and uses usign to sign usign-pubkeys inside a blob/blobmsg structure combined with other attributes Aug 08 11:42:42 staging_dir/host/bin/fwtool -s /dev/stdout openwrt-ramips-mt7621-zbt-wg3526-32M-squashfs-sysupgrade.bin | staging_dir/host/bin/ucert -D -c /dev/stdin Aug 08 11:43:41 that dumps the attached signature-chain from a sysupgrade image Aug 08 11:44:05 okay, so it allows for trust delegation Aug 08 11:44:28 exactly Aug 08 11:44:37 means instead of exposing our personaly proviate develoepr keys we can simply sign the buildbot keypair for example Aug 08 11:44:43 *personal private Aug 08 11:44:53 yes, exactly Aug 08 11:45:02 and revoke them, if needed Aug 08 11:45:05 the idea is that devices without opkg cannot update openwrt-keyring Aug 08 11:45:26 but may need to check whether a (possibly automated) update is legitimate Aug 08 11:45:37 understood. How is the data encapsulated in the image? base64 encoded as part of the existing json metadata? some further wrapping format aroudn the entire image? Aug 08 11:45:54 the ucert signature data that is Aug 08 11:46:03 fwtool already allows for a trailing signature to be appended, we discussed that in battlemesh in porto back then Aug 08 11:46:23 ucert uses a blob containing a payload and the signature Aug 08 11:46:33 the payload is a blobmsg and hence can be pretty much everything Aug 08 11:46:48 KanjiMonster: out of curiosity, why is per-device rootfs required for modularizing drivers in initramfs? Aug 08 11:46:59 dangole: okay so a signed firmware image is a serialized blobmsg? Aug 08 11:47:43 blobmsg_hdr attr_hdr image data attr_hdr signature data Aug 08 11:48:08 f00b4r0: because the rootfs of the ramdisk image will only compile those packages that are enabled for every device, but if we e.g. move the switch drivers into kmods and only include it for some device, then the ramdisk image won't contain any switch drivers, thus might be not reachable over network Aug 08 11:48:12 the firmware image itself is not inside the blob, as we would need to strip that off before flashing it Aug 08 11:48:32 KanjiMonster: i see Aug 08 11:49:21 f00b4r0: and we have a few devices where booting a ramdisk image is a prerequisite for installing OpenWrt (mikrotik, turris omnia) Aug 08 11:49:23 dangole: understood, so what is the payload in the firmware image case? A checksum of the preceeding image data? Aug 08 11:49:35 jow: but that's all existing fwtool stuff. the idea was just instead of only having an appeneded signature, have the possibility for delegation, revocation and do that in a way which is extendable Aug 08 11:49:47 a payload can be eg. a usign pubkey Aug 08 11:49:58 KanjiMonster: indeed. I know that's orthogonal but is there a particular reason to modularize what looks like "essential" drivers? Aug 08 11:49:59 and that's the only payload currently processed inside of ucert Aug 08 11:50:22 === CHAIN ELEMENT 01 === Aug 08 11:50:22 signature: Aug 08 11:50:22 --- Aug 08 11:50:22 untrusted comment: signed by key b5043e70f9a75cde Aug 08 11:50:22 RWS1BD5w+adc3v5hrhCfn6VQRFcm2JQhZIHVttvvEVZxvCRcMotuCf0Uqi2d1mNrdQECdwgNcmjULKKJNT2hH+mnvpk3kMGP4wQ= Aug 08 11:50:22 --- Aug 08 11:50:24 payload: Aug 08 11:50:25 f00b4r0: not having to include them into every image, thus reducing image sizes Aug 08 11:50:26 --- Aug 08 11:50:28 "ucert": { Aug 08 11:50:30 "certtype": 1, Aug 08 11:50:32 stahp Aug 08 11:50:32 "validfrom": 1533695223, Aug 08 11:50:34 dangole: please use pastebin Aug 08 11:50:34 "expiresat": 1565231223, Aug 08 11:50:38 "pubkey": "untrusted comment: LEDE usign key for unattended build jobs\nRWS1BD5w+adc3j2Hqg9+b66CvLR7NlHbsj7wjNVj0XGt\/othDgIAOJS+\n" Aug 08 11:50:39 i see Aug 08 11:50:41 } Aug 08 11:50:43 --- Aug 08 11:50:45 === CHAIN ELEMENT 02 === Aug 08 11:50:47 signature: Aug 08 11:50:49 --- Aug 08 11:50:51 untrusted comment: signed by key b5043e70f9a75cde Aug 08 11:50:53 RWS1BD5w+adc3hJ2FJwcRwV34oO3cjZ7A9nI0MV/d/FeHbL2YiX4r5fkj/81/gzBRS9+KBIYZ3+QAA0tMR2VwzM9u3CM50ZzjgQ= Aug 08 11:50:55 --- Aug 08 11:50:57 KanjiMonster: sorry Aug 08 11:50:58 I like tha tyour client rate limited though Aug 08 11:51:02 that's cute at least. Aug 08 11:51:55 KanjiMonster: I'm not sure the size gain offsets the minor, but real, performance penalty of using a lot of modules Aug 08 11:53:36 f00b4r0: every device would include only a handful, so I don't think there will be much of a performance penalty (also I don't think modules vs. built-in provides any performance difference for drivers) Aug 08 11:55:41 dangole: ok. how are revocations handled? Aug 08 11:56:09 dangole: some crl-equivalent? Aug 08 11:57:34 dangole: and - how exactly is the trailing firmware signature verifying the firmware image? Through a file data hash? Asking because I'm not familiar with fwtool either Aug 08 11:57:47 thats another undocumented thing that suddenly appeared in the past :) Aug 08 11:59:33 hi! https://openwrt.org/releases/17.01.5 redirects to https://openwrt.org/releases/17.01/changelog-17.01.4 i think that's a mismatch :) Aug 08 12:00:17 also, is there a release announcement mailing list / RSS feed or similar somewhere? i.e. to get a notification when I should upgrade my device Aug 08 12:01:03 if not, is there a reason why / would it be useful to file this as a feature request? Aug 08 12:01:31 jow: the signature is extracted and stripped off by fwtool, the remaining firmware+metadata is then verified using usign Aug 08 12:01:43 azrdev: fixed. no, no, maybe Aug 08 12:02:21 jow: revokers can be all in one file which is provided via HTTP and checked either before sysupgrade or regularly eg. using a cron job Aug 08 12:02:32 dangole: ok, so similar to a CRL Aug 08 12:03:27 jow: yes, just that ANY valid key can revoke ANY other key (while X.509 requires the revoker to be signed by the issuing authority) Aug 08 12:03:47 dangole: how is sysupgrade behaving when faced with an image having a mismatching signature? Aug 08 12:04:17 I assume it will abort with an error, similar to when the metadfata does not match the boardname Aug 08 12:04:19 jow: currently it just warns you, unless you got IMAGE_REQUIRE_SIGNATURE=1 set a env variable Aug 08 12:04:24 okasy Aug 08 12:04:53 jow: kthx! Aug 08 12:05:08 jow: long-term i thought of doing it exactly as you described for metadata, ie. fail unless '-F' is passed on the sysupgrade cmdline Aug 08 12:07:07 okay any ideas why this is broken or how to reesolve ? https://pastebin.com/5AQPuLAm Aug 08 12:07:54 KanjiMonster: the main perf issue is fragmentation: TLB misses Aug 08 12:07:58 (sorry, was on the phone) Aug 08 12:07:59 dangole: sounds quite well for me so far, thanks for the short intro. Aug 08 12:08:02 jow: every build-slave should be provisioned with individual key-build, key-build.pub and key-build.ucert, generated as described in ucert README.md Aug 08 12:08:54 dangole: do you think that http://phase1.builds.lede-project.org/builders/ar71xx%2Ftiny/builds/324/steps/images/logs/stdio could be related to the ucert changes in the image build code? Aug 08 12:08:56 KanjiMonster: I'm wondering if you could filter content at the image-generator step, which would allow you to run in parrallel Aug 08 12:10:16 f00b4r0: IIRC the kernel uses huge TLB entries for its space, so TLB misses shouldn't be an issue (if it even maps - on mips32 it doesn't) Aug 08 12:10:25 jow: yes, that was my bad and fixed by commit ec78f03de5 ("image: fix build without ucert") which wasn't yet included in ar71xx/tiny build #324 Aug 08 12:10:35 dangole: ah great Aug 08 12:10:50 a final doubt about the ucert integrity Aug 08 12:11:03 f00b4r0: also the image builder can't generate ramdisk images, since it requires recompilation of the kernel, and the imagebuilder doesn't ship a compiler (or the full kernel sources) Aug 08 12:12:01 KanjiMonster: memory fragmentation is bound to increase the number of TLB entries and misses, but I agree it's probably minor. Aug 08 12:12:16 KanjiMonster: I'm not thinking about imagebuilder Aug 08 12:12:29 dangole: the outer usign singature of the ucert basically guarantees that the information within the ucert (validity time, expiry time, embedded usign pubkeys) is genuine and same as the point when it was signed Aug 08 12:12:44 I'm thinking in the images step of the build process, filtering content that gets into the initramfs image from a full rootfs tree Aug 08 12:12:56 i.e. the equivalent of rsync --exclude or --include Aug 08 12:12:59 dangole: and I assume there is some canonical representation of the ucert (valid blobmsg) which is signed, right? Aug 08 12:13:05 f00b4r0: and the main issue is that ramdisk kernel generation requires a recompilation of the kernel, which you can't parallelize Aug 08 12:13:07 i don't know how feasible/easy that would be to implement Aug 08 12:13:23 jow: yes, sounds right Aug 08 12:14:13 KanjiMonster: that's another thing I'm not familiar with: why is a recomp needed? I thought we built all kernel binaries for all devices within a target? Aug 08 12:14:18 dangole: ok, I think I've understood the trust model now Aug 08 12:14:33 dangole: imho we should consider merging usign and ucert into one program Aug 08 12:14:46 jow: it's not exactly a canonical representation because the order of attributes is not sorted, ie. you can generated lots of ucerts with identical attributes but different hashes by changing the order or even adding whitespace to the (base64-encoded, text-representation) of usign signatures Aug 08 12:15:09 dangole: this is something we should tackle imho, and require certain proeprties in the blobmsg Aug 08 12:15:10 jow: and right, taken really seriously, we should normalize all that Aug 08 12:15:17 f00b4r0: that only applies to ramdisk kernels since the ramdisk in built-in in the kernel (so its size has influence on the generated code - e.g. code which needs to know where the kernel ends etc) Aug 08 12:15:27 dangole: like no empty fields, strict order, padding considerations etc. Aug 08 12:15:30 jow: ah sure, some attributes are mandatory Aug 08 12:15:49 jow: strict order and padding (and maybe salting) => you are absolutely right Aug 08 12:16:00 jow: that's all missing at this point Aug 08 12:16:06 okay Aug 08 12:16:31 jow: if we want that, it'd be nice to add an option to usign to deal with binary formats instead of those base64-encoded text-file stuff Aug 08 12:17:27 you mean binary signatures? Aug 08 12:17:34 jow: sorting/ordering is something i was already missing a couple of times when dealing with blobmsg (and, particularly, blobmsg_json) Aug 08 12:17:40 yes, and binary public keys Aug 08 12:17:40 f00b4r0: ramdisk kernel generation is basically compiling the kernel with kernel options set to "please include a ramdisk image with the contents of the following directories: ..., using foo compression") Aug 08 12:18:24 jow: having some sorting features in libubox would be nice imho but i considered that out-of-scope Aug 08 12:18:47 dangole: I'd think that ucert binary encoding is a strict subset of blobmsg Aug 08 12:19:05 dangole: like sorting gurantee, no unlimited nesting etc. Aug 08 12:19:31 dangole: and therfore the ucert utility should take care of reordering fields if nescessary - and not rely on libubox Aug 08 12:20:26 KanjiMonster: i see Aug 08 12:20:50 dangole: so from my pov (without any particular prio) the following points would be worthwhile: merge usign and ucert, canonicalize the ucert encoded format and enforce it Aug 08 12:21:07 jow: hm, that'd also be option (re-ordering and limiting nesting inside ucert), but adds up to be more complexity than all of current ucert together... Aug 08 12:21:22 dangole: all new implementations start out lean and clean :D Aug 08 12:21:55 will see if I can some time to look into it in detail Aug 08 12:22:01 *can find some Aug 08 12:22:23 I'd also consider moving fwtool to ubux Aug 08 12:22:31 jow: and the outer part (the blob having only SIGNATURE and PAYLOAD) is processed first, ie. all the attack surface of the inner blobmsg structure is only exposed once the signature was found valid Aug 08 12:22:40 having it as single-source-file executable in package/ was somewhat unexpected Aug 08 12:23:26 jow: i agree. i also thought of integrating ucert into usign and making that a multi-call executable... Aug 08 12:24:32 my general feeling is that the same ucert attributes should lead to the same binary representation of the cert Aug 08 12:24:34 jow: i got to go for now, contact me via email if you got more questions or findings to share Aug 08 12:24:53 anything else likely means exposing attack surface we might not even anticipate yet Aug 08 12:25:08 KanjiMonster: I get the issue. Two comments: 1) I'm still wondering if it's such a good idea to move "essential" drivers into modules (for people not using imagebuilder, they'll end up with jffs2 overhead); and 2) is there a problem having a "larger" initramfs anyway? It's all in RAM after all... Aug 08 12:25:24 thanks for your time and explainations Aug 08 12:26:20 by 2) I mean you could shrink the flash image while keeping a large "has it all" initramfs: it's only used for first install Aug 08 12:29:15 hm Aug 08 12:30:18 jwh: done https://bugs.openwrt.org/index.php?do=details&task_id=1750 Aug 08 12:31:36 f00b4r0: the modules would go into the squashfs, not jffs2, since they are included in the rootfs Aug 08 12:33:43 f00b4r0: and generating a rootfs with all per-device packages would break once two devices include conflicting packages Aug 08 12:33:52 azarus: itym jow :D Aug 08 12:34:08 oh, he left Aug 08 12:34:51 KanjiMonster: not all per-device packages. All per-device drivers you want to make modules. i.e. keep the initramfs as they are now, and only touch the squashfs Aug 08 12:35:01 I'm not sure I'm making myself clear Aug 08 12:36:00 f00b4r0: you already now have the issue that swconfig will be missing if it isn't part of the default package set of the target Aug 08 12:36:53 KanjiMonster: ok. Sounds to me like an "easy" way around this is to define different defaults for initramfs and squashfs Aug 08 12:37:24 this way you don't have to deal with per-device rootfs for initramfs generation Aug 08 12:38:04 f00b4r0: I'd rather fix it properly than some crude workaround Aug 08 12:38:16 it doesn't have to be crude :) Aug 08 12:38:47 f00b4r0: hey while you're there Aug 08 12:38:49 i'm merely thinking that further exhausting buildbot resources to fine tune initramfs material is not a very good tradeoff Aug 08 12:39:12 can you stop per device rootfs causing packages set to n being added as m? Aug 08 12:39:15 :D Aug 08 12:39:15 well yes, you need to find out what packages/drivers/etc are needed so everthing works OOTB Aug 08 12:39:41 KanjiMonster: we already have that info in the current state of things, haven't we? Aug 08 12:39:41 also ramdisk images aren't enabled by default exept for a select few targets needing them Aug 08 12:40:11 f00b4r0: yes, through the DEVICE_PACKAGES Aug 08 12:40:19 *nod* Aug 08 12:40:47 so you suggest including all DEVICE_PACKAGES in the ramdisk? Aug 08 12:41:06 aye Aug 08 12:41:24 that will break if two devices include conflicting packages Aug 08 12:41:35 can that happen? Aug 08 12:42:47 it's not immediately obvious to me how kernel/driver-related packages could be conflicting Aug 08 12:43:31 we also have a few conflicting drivers (e.g. brcm-wl vs b43) Aug 08 12:44:22 and many devices have limits on how large a (netbooted) kernel may be, so including everything can break that Aug 08 12:47:18 hmm ok. I'm very biased towards mikrotik devices where we pretty much have "one image to rule them all"; which imo is an ideal situation. I don't have a clear idea of how much of a "common base" exists for other devices Aug 08 12:48:27 i'd be inclined to think it would make sense to have a limited number of initramfs shared across devices: saves resources, increases testing coverage, reduce maintenance burden Aug 08 12:48:32 but maybe that's not feasible. Aug 08 12:55:43 ucert problem in #openwrt ... Aug 08 13:12:49 dedeckeh: i am assuming 0e84393ee27bc2c209863a0a006dea8b716cfb11 should be cherry-picked into 18.06 Aug 08 13:19:09 blogic:this has been cherry-picked into 18.06 (https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=eb568e0abac158016c61fae68154722e9d112dfc) Aug 08 13:19:45 dedeckeh: ok Aug 08 13:24:43 I wonder if we should update mwlwifi in 18.06 Aug 08 13:28:03 jow: yes, wondering myself Aug 08 13:28:09 writing devicd Aug 08 13:28:12 *davidc Aug 08 13:28:13 not without proper testing i guess Aug 08 13:28:18 please do so Aug 08 13:29:43 wigyori: 10e393262c Aug 08 13:29:50 wigyori: i'll backport that one to 18.06 Aug 08 13:33:32 m4t: ping Aug 08 13:33:44 mkresin: hey Aug 08 13:34:14 m4t: query? follow up to our chat about the FIs partition Aug 08 13:34:50 i don't really have anything new. i removed the unused subroutines in platform.sh but that's it Aug 08 13:35:21 m4t: it's me who has something new Aug 08 13:35:29 oh ;) Aug 08 13:37:49 blogic: i'm a bit confused with the at803x DT patch. In patchwork it is listed as accepted but you commented about using at803x_priv and i neither found said commit in the master nor your staging treee. I don't want to be pushy, but i'm currently looking into improving the problems you pointed out. So it would be ok for me to skip this commit (and also the one for sgmii aneg) Aug 08 13:38:15 blocktrron: yes Aug 08 13:38:18 got sidetracked Aug 08 13:38:28 so basically the at803x is the usual QCA clusterf*ck Aug 08 13:38:42 i'll merge the patches as is and then fix that crappy driver upstream properly Aug 08 13:38:51 sorry forgot to update my status mails Aug 08 13:43:04 blogic: ok for me, should i submit a v2 for the commit nitpick? Aug 08 13:43:16 no Aug 08 13:43:22 i manually fixed stuff while merging Aug 08 13:43:34 i'll push once i finished the 18.06 backports Aug 08 13:44:24 jow: pushed a pile of 18.06 cherries Aug 08 13:47:24 blocktrron: https://patchwork.ozlabs.org/patch/953887/ Aug 08 13:47:30 this one fails to apply, rest is merged Aug 08 13:48:38 blogic: thanks. I will look into the one for the Koala Aug 08 13:49:35 blocktrron: is that at803x patch submitted upstream? Aug 08 13:49:44 KanjiMonster: i'll handle it Aug 08 13:50:01 KanjiMonster: at803x is a mess and uses 3 code patterns plus lots of QCA brainfartery Aug 08 13:50:20 KanjiMonster: and i have local staged support for the at8033 copper/fiber coherency feature Aug 08 13:50:29 so i'll do a prpoer refactoring round next week Aug 08 13:51:11 blogic: I see. I suggest renaming the option to match the expected ",