Add certificates support
[ta/image-provision.git] / dracut / modules / 00netconfig / module-setup.sh
1 #!/bin/bash
2
3 # Copyright 2019 Nokia
4
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #     http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16
17 # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
18 # ex: ts=8 sw=4 sts=4 et filetype=sh
19
20 check() {
21     # do not add this module by default
22     return 255
23 }
24
25 installkernel()
26 {
27     instmods = 8021q virtio_net be2net mlx4_en mlx4_core mlx5_core mlx4_bi ixgbe mdio dca ptp pps_core tg3
28 }
29
30 depends() {
31     echo nss-softokn
32     return 0
33 }
34
35 install() {
36     dracut_install wget curl ping /lib64/libnss_dns.so.2 /etc/nsswitch.conf
37     inst_hook pre-udev 48 "$moddir/load_net_modules.sh"
38     inst_hook pre-pivot 52 "$moddir/net_config_get_iso.sh"
39
40     local _dir _crt _found _lib
41     inst_multiple curl
42     # also install libs for curl https
43     inst_libdir_file "libnsspem.so*"
44     inst_libdir_file "libnsssysinit.so*"
45     inst_libdir_file "libsqlite3.so*"
46
47     for _dir in $libdirs; do
48         [[ -d $_dir ]] || continue
49         for _lib in $_dir/libcurl.so.*; do
50             [[ -e $_lib ]] || continue
51             _crt=$(grep -F --binary-files=text -z .crt $_lib)
52             [[ $_crt ]] || continue
53             [[ $_crt == /*/* ]] || continue
54             if ! inst_simple "$_crt"; then
55                 dwarn "Couldn't install '$_crt' SSL CA cert bundle; HTTPS might not work."
56                 continue
57             fi
58             _found=1
59         done
60     done
61     [[ $_found ]] || dwarn "Couldn't find SSL CA cert bundle; HTTPS won't work."
62 }
63