what is the difference between this and the previous version of the
patch ?

        John

On 02/06/2014 09:26, Ben wrote:
> Hi everybody,
> 
> to deploy minimal OpenWrt images on multiple routers it is
> necessary to set a root password, while building the deployable
> file.
> 
> Therefore i added a patch that is setting a "default" password in
> the "/etc/shadow" file of the "base-files" package. It is using the
> openssl command of the building host to create the hash of the
> password.
> 
> Here are the diff files for both the current development branch
> (Barrier Braker) and the 12.09 branch..please add the patches to
> both branches, to be able to use it in the currently stable release
> as well.
> 
> 
> *devel-branch (http://git.openwrt.org/?p=openwrt.git;a=summary):*
> 
> Signed-off-by: Benjamin Pflueg <b...@bensbox.de> --- diff --git
> a/package/base-files/Makefile b/package/base-files/Makefile index
> 207af35..494047e 100644 --- a/package/base-files/Makefile +++
> b/package/base-files/Makefile @@ -9,6 +9,7 @@ include
> $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/version.mk include
> $(INCLUDE_DIR)/kernel.mk +include $(INCLUDE_DIR)/baseconf.mk
> 
> PKG_NAME:=base-files PKG_RELEASE:=152 @@ -113,6 +114,11 @@ define
> Package/base-files/install $(1)/etc/openwrt_version \ 
> $(1)/etc/openwrt_release
> 
> +    $(if $(filter $(BASECONF_ROOT_PASSWORD),x), \ +        $(SED)
> 's/%P/x/g' $(1)/etc/shadow, \ +        $(SED) 's/%P/$(shell
> $(OPENSSL) passwd -1 $(BASECONF_ROOT_PASSWORD) | $(SED_PLAIN) -e
> 's/[/.$$^]/\\&/g' | $(SED_PLAIN) -e 's/\$$/\$$\$$/g')/'
> $(1)/etc/shadow \ +    ) + mkdir -p $(1)/CONTROL mkdir -p $(1)/dev 
> mkdir -p $(1)/etc/crontabs diff --git
> a/package/base-files/files/etc/shadow 
> b/package/base-files/files/etc/shadow index 4b4154f..f35be79
> 100644 --- a/package/base-files/files/etc/shadow +++
> b/package/base-files/files/etc/shadow @@ -1,4 +1,4 @@ 
> -root::0:0:99999:7::: +root:%P:0:0:99999:7::: 
> daemon:*:0:0:99999:7::: ftp:*:0:0:99999:7::: 
> network:*:0:0:99999:7::: diff --git
> a/package/base-files/image-config.in 
> b/package/base-files/image-config.in index a9eb78c..2f2e22a 100644 
> --- a/package/base-files/image-config.in +++
> b/package/base-files/image-config.in @@ -221,3 +221,19 @@
> menuconfig SMIMEOPT Path to a file containing the passphrase for
> the signing key. If the signing key is not encrypted and does not 
> require a passphrase, this option may be left blank. + +menuconfig
> BASECONFOPT +    bool "Base system configurations" if IMAGEOPT +
> default n +    help +        In here you can set configurations
> like a default root password. +        They are suppose to be very
> basic and default settings to the +        vanilla OpenWRT
> firmware. + +    config BASECONF_ROOT_PASSWORD +        string +
> prompt "Custom default root password" if BASECONFOPT +        help 
> +            Usually the firmware does not have the root password
> set. +            Here you can set a default one, that will be in
> effect +            even after a factory reset. diff --git
> a/rules.mk b/rules.mk index a84636a..ef8ef2f 100644 --- a/rules.mk 
> +++ b/rules.mk @@ -196,10 +196,12 @@ TARGET_AR:=$(TARGET_CROSS)ar 
> TARGET_RANLIB:=$(TARGET_CROSS)ranlib 
> TARGET_CXX:=$(TARGET_CROSS)g++ 
> KPATCH:=$(SCRIPT_DIR)/patch-kernel.sh 
> -SED:=$(STAGING_DIR_HOST)/bin/sed -i -e 
> +SED_PLAIN:=$(STAGING_DIR_HOST)/bin/sed +SED:=$(SED_PLAIN) -i -e 
> CP:=cp -fpR LN:=ln -sf XARGS:=xargs -r +OPENSSL:=openssl
> 
> INSTALL_BIN:=install -m0755 INSTALL_DIR:=install -d -m0755 diff
> --git a/include/baseconf.mk b/include/baseconf.mk new file mode
> 100644 index 0000000..ad8db58 --- /dev/null +++
> b/include/baseconf.mk @@ -0,0 +1,6 @@ + +PKG_CONFIG_DEPENDS += \ +
> CONFIG_BASECONF_ROOT_PASSWORD + +BASECONF_ROOT_PASSWORD:=$(call
> qstrip,$(CONFIG_BASECONF_ROOT_PASSWORD)) 
> +BASECONF_ROOT_PASSWORD:=$(if 
> $(BASECONF_ROOT_PASSWORD),$(BASECONF_ROOT_PASSWORD),x) 
> _______________________________________________ openwrt-devel
> mailing list openwrt-devel@lists.openwrt.org 
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
> 
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to