fix: Switch to space-separated sources.conf format
- Change from colon to space separation to avoid URL parsing issues - Update sources.conf format: TYPE NAME URL VERSION BUILD_FUNCTION [EXTRA] - Implement awk-based parsing for reliable field extraction - Fix firmware package list (remove unavailable linux-firmware-marvell)
This commit is contained in:
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub
|
||||
@@ -0,0 +1,9 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1yHJxQgsHQREclQu4Ohe
|
||||
qxTxd1tHcNnvnQTu/UrTky8wWvgXT+jpveroeWWnzmsYlDI93eLI2ORakxb3gA2O
|
||||
Q0Ry4ws8vhaxLQGC74uQR5+/yYrLuTKydFzuPaS1dK19qJPXB8GMdmFOijnXX4SA
|
||||
jixuHLe1WW7kZVtjL7nufvpXkWBGjsfrvskdNA/5MfxAeBbqPgaq0QMEfxMAn6/R
|
||||
L5kNepi/Vr4S39Xvf2DzWkTLEK8pcnjNkt9/aafhWqFVW7m3HCAII6h/qlQNQKSo
|
||||
GuH34Q8GsFG30izUENV9avY7hSLq7nggsvknlNBZtFUcmGoQrtx3FmyYsIC8/R+B
|
||||
ywIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,9 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvNijDxJ8kloskKQpJdx+
|
||||
mTMVFFUGDoDCbulnhZMJoKNkSuZOzBoFC94omYPtxnIcBdWBGnrm6ncbKRlR+6oy
|
||||
DO0W7c44uHKCFGFqBhDasdI4RCYP+fcIX/lyMh6MLbOxqS22TwSLhCVjTyJeeH7K
|
||||
aA7vqk+QSsF4TGbYzQDDpg7+6aAcNzg6InNePaywA6hbT0JXbxnDWsB+2/LLSF2G
|
||||
mnhJlJrWB1WGjkz23ONIWk85W4S0XB/ewDefd4Ly/zyIciastA7Zqnh7p3Ody6Q0
|
||||
sS2MJzo7p3os1smGjUF158s6m/JbVh4DN6YIsxwl2OjDOz9R0OycfJSDaBVIGZzg
|
||||
cQIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,9 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr8s1q88XpuJWLCZALdKj
|
||||
lN8wg2ePB2T9aIcaxryYE/Jkmtu+ZQ5zKq6BT3y/udt5jAsMrhHTwroOjIsF9DeG
|
||||
e8Y3vjz+Hh4L8a7hZDaw8jy3CPag47L7nsZFwQOIo2Cl1SnzUc6/owoyjRU7ab0p
|
||||
iWG5HK8IfiybRbZxnEbNAfT4R53hyI6z5FhyXGS2Ld8zCoU/R4E1P0CUuXKEN4p0
|
||||
64dyeUoOLXEWHjgKiU1mElIQj3k/IF02W89gDj285YgwqA49deLUM7QOd53QLnx+
|
||||
xrIrPv3A+eyXMFgexNwCKQU9ZdmWa00MjjHlegSGK8Y2NPnRoXhzqSP9T9i2HiXL
|
||||
VQIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,9 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwlzMkl7b5PBdfMzGdCT0
|
||||
cGloRr5xGgVmsdq5EtJvFkFAiN8Ac9MCFy/vAFmS8/7ZaGOXoCDWbYVLTLOO2qtX
|
||||
yHRl+7fJVh2N6qrDDFPmdgCi8NaE+3rITWXGrrQ1spJ0B6HIzTDNEjRKnD4xyg4j
|
||||
g01FMcJTU6E+V2JBY45CKN9dWr1JDM/nei/Pf0byBJlMp/mSSfjodykmz4Oe13xB
|
||||
Ca1WTwgFykKYthoLGYrmo+LKIGpMoeEbY1kuUe04UiDe47l6Oggwnl+8XD1MeRWY
|
||||
sWgj8sF4dTcSfCMavK4zHRFFQbGp/YFJ/Ww6U9lA3Vq0wyEI6MCMQnoSMFwrbgZw
|
||||
wwIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,9 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3v8/ye/V/t5xf4JiXLXa
|
||||
hWFRozsnmn3hobON20GdmkrzKzO/eUqPOKTpg2GtvBhK30fu5oY5uN2ORiv2Y2ht
|
||||
eLiZ9HVz3XP8Fm9frha60B7KNu66FO5P2o3i+E+DWTPqqPcCG6t4Znk2BypILcit
|
||||
wiPKTsgbBQR2qo/cO01eLLdt6oOzAaF94NH0656kvRewdo6HG4urbO46tCAizvCR
|
||||
CA7KGFMyad8WdKkTjxh8YLDLoOCtoZmXmQAiwfRe9pKXRH/XXGop8SYptLqyVVQ+
|
||||
tegOD9wRs2tOlgcLx4F/uMzHN7uoho6okBPiifRX+Pf38Vx+ozXh056tjmdZkCaV
|
||||
aQIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,9 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoSPnuAGKtRIS5fEgYPXD
|
||||
8pSGvKAmIv3A08LBViDUe+YwhilSHbYXUEAcSH1KZvOo1WT1x2FNEPBEFEFU1Eyc
|
||||
+qGzbA03UFgBNvArurHQ5Z/GngGqE7IarSQFSoqewYRtFSfp+TL9CUNBvM0rT7vz
|
||||
2eMu3/wWG+CBmb92lkmyWwC1WSWFKO3x8w+Br2IFWvAZqHRt8oiG5QtYvcZL6jym
|
||||
Y8T6sgdDlj+Y+wWaLHs9Fc+7vBuyK9C4O1ORdMPW15qVSl4Lc2Wu1QVwRiKnmA+c
|
||||
DsH/m7kDNRHM7TjWnuj+nrBOKAHzYquiu5iB3Qmx+0gwnrSVf27Arc3ozUmmJbLj
|
||||
zQIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,9 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvBxJN9ErBgdRcPr5g4hV
|
||||
qyUSGZEKuvQliq2Z9SRHLh2J43+EdB6A+yzVvLnzcHVpBJ+BZ9RV30EM9guck9sh
|
||||
r+bryZcRHyjG2wiIEoduxF2a8KeWeQH7QlpwGhuobo1+gA8L0AGImiA6UP3LOirl
|
||||
I0G2+iaKZowME8/tydww4jx5vG132JCOScMjTalRsYZYJcjFbebQQolpqRaGB4iG
|
||||
WqhytWQGWuKiB1A22wjmIYf3t96l1Mp+FmM2URPxD1gk/BIBnX7ew+2gWppXOK9j
|
||||
1BJpo0/HaX5XoZ/uMqISAAtgHZAqq+g3IUPouxTphgYQRTRYpz2COw3NF43VYQrR
|
||||
bQIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,9 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwXEJ8uVwJPODshTkf2BH
|
||||
pH5fVVDppOa974+IQJsZDmGd3Ny0dcd+WwYUhNFUW3bAfc3/egaMWCaprfaHn+oS
|
||||
4ddbOFgbX8JCHdru/QMAAU0aEWSMybfJGA569c38fNUF/puX6XK/y0lD2SS3YQ/a
|
||||
oJ5jb5eNrQGR1HHMAd0G9WC4JeZ6WkVTkrcOw55F00aUPGEjejreXBerhTyFdabo
|
||||
dSfc1TILWIYD742Lkm82UBOPsOSdSfOdsMOOkSXxhdCJuCQQ70DHkw7Epy9r+X33
|
||||
ybI4r1cARcV75OviyhD8CFhAlapLKaYnRFqFxlA515e6h8i8ih/v3MSEW17cCK0b
|
||||
QwIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,9 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwR4uJVtJOnOFGchnMW5Y
|
||||
j5/waBdG1u5BTMlH+iQMcV5+VgWhmpZHJCBz3ocD+0IGk2I68S5TDOHec/GSC0lv
|
||||
6R9o6F7h429GmgPgVKQsc8mPTPtbjJMuLLs4xKc+viCplXc0Nc0ZoHmCH4da6fCV
|
||||
tdpHQjVe6F9zjdquZ4RjV6R6JTiN9v924dGMAkbW/xXmamtz51FzondKC52Gh8Mo
|
||||
/oA0/T0KsCMCi7tb4QNQUYrf+Xcha9uus4ww1kWNZyfXJB87a2kORLiWMfs2IBBJ
|
||||
TmZ2Fnk0JnHDb8Oknxd9PvJPT0mvyT8DA+KIAPqNvOjUXP4bnjEHJcoCP9S5HkGC
|
||||
IQIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,14 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAutQkua2CAig4VFSJ7v54
|
||||
ALyu/J1WB3oni7qwCZD3veURw7HxpNAj9hR+S5N/pNeZgubQvJWyaPuQDm7PTs1+
|
||||
tFGiYNfAsiibX6Rv0wci3M+z2XEVAeR9Vzg6v4qoofDyoTbovn2LztaNEjTkB+oK
|
||||
tlvpNhg1zhou0jDVYFniEXvzjckxswHVb8cT0OMTKHALyLPrPOJzVtM9C1ew2Nnc
|
||||
3848xLiApMu3NBk0JqfcS3Bo5Y2b1FRVBvdt+2gFoKZix1MnZdAEZ8xQzL/a0YS5
|
||||
Hd0wj5+EEKHfOd3A75uPa/WQmA+o0cBFfrzm69QDcSJSwGpzWrD1ScH3AK8nWvoj
|
||||
v7e9gukK/9yl1b4fQQ00vttwJPSgm9EnfPHLAtgXkRloI27H6/PuLoNvSAMQwuCD
|
||||
hQRlyGLPBETKkHeodfLoULjhDi1K2gKJTMhtbnUcAA7nEphkMhPWkBpgFdrH+5z4
|
||||
Lxy+3ek0cqcI7K68EtrffU8jtUj9LFTUC8dERaIBs7NgQ/LfDbDfGh9g6qVj1hZl
|
||||
k9aaIPTm/xsi8v3u+0qaq7KzIBc9s59JOoA8TlpOaYdVgSQhHHLBaahOuAigH+VI
|
||||
isbC9vmqsThF2QdDtQt37keuqoda2E6sL7PUvIyVXDRfwX7uMDjlzTxHTymvq2Ck
|
||||
htBqojBnThmjJQFgZXocHG8CAwEAAQ==
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,14 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlEyxkHggKCXC2Wf5Mzx4
|
||||
nZLFZvU2bgcA3exfNPO/g1YunKfQY+Jg4fr6tJUUTZ3XZUrhmLNWvpvSwDS19ZmC
|
||||
IXOu0+V94aNgnhMsk9rr59I8qcbsQGIBoHzuAl8NzZCgdbEXkiY90w1skUw8J57z
|
||||
qCsMBydAueMXuWqF5nGtYbi5vHwK42PffpiZ7G5Kjwn8nYMW5IZdL6ZnMEVJUWC9
|
||||
I4waeKg0yskczYDmZUEAtrn3laX9677ToCpiKrvmZYjlGl0BaGp3cxggP2xaDbUq
|
||||
qfFxWNgvUAb3pXD09JM6Mt6HSIJaFc9vQbrKB9KT515y763j5CC2KUsilszKi3mB
|
||||
HYe5PoebdjS7D1Oh+tRqfegU2IImzSwW3iwA7PJvefFuc/kNIijfS/gH/cAqAK6z
|
||||
bhdOtE/zc7TtqW2Wn5Y03jIZdtm12CxSxwgtCF1NPyEWyIxAQUX9ACb3M0FAZ61n
|
||||
fpPrvwTaIIxxZ01L3IzPLpbc44x/DhJIEU+iDt6IMTrHOphD9MCG4631eIdB0H1b
|
||||
6zbNX1CXTsafqHRFV9XmYYIeOMggmd90s3xIbEujA6HKNP/gwzO6CDJ+nHFDEqoF
|
||||
SkxRdTkEqjTjVKieURW7Swv7zpfu5PrsrrkyGnsRrBJJzXlm2FOOxnbI2iSL1B5F
|
||||
rO5kbUxFeZUIDq+7Yv4kLWcCAwEAAQ==
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,14 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnC+bR4bHf/L6QdU4puhQ
|
||||
gl1MHePszRC38bzvVFDUJsmCaMCL2suCs2A2yxAgGb9pu9AJYLAmxQC4mM3jNqhg
|
||||
/E7yuaBbek3O02zN/ctvflJ250wZCy+z0ZGIp1ak6pu1j14IwHokl9j36zNfGtfv
|
||||
ADVOcdpWITFFlPqwq1qt/H3UsKVmtiF3BNWWTeUEQwKvlU8ymxgS99yn0+4OPyNT
|
||||
L3EUeS+NQJtDS01unau0t7LnjUXn+XIneWny8bIYOQCuVR6s/gpIGuhBaUqwaJOw
|
||||
7jkJZYF2Ij7uPb4b5/R3vX2FfxxqEHqssFSg8FFUNTZz3qNZs0CRVyfA972g9WkJ
|
||||
hPfn31pQYil4QGRibCMIeU27YAEjXoqfJKEPh4UWMQsQLrEfdGfb8VgwrPbniGfU
|
||||
L3jKJR3VAafL9330iawzVQDlIlwGl6u77gEXMl9K0pfazunYhAp+BMP+9ot5ckK+
|
||||
osmrqj11qMESsAj083GeFdfV3pXEIwUytaB0AKEht9DbqUfiE/oeZ/LAXgySMtVC
|
||||
sbC4ESmgVeY2xSBIJdDyUap7FR49GGrw0W49NUv9gRgQtGGaNVQQO9oGL2PBC41P
|
||||
iWF9GLoX30HIz1P8PF/cZvicSSPkQf2Z6TV+t0ebdGNS5DjapdnCrq8m9Z0pyKsQ
|
||||
uxAL2a7zX8l5i1CZh1ycUGsCAwEAAQ==
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,14 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0MfCDrhODRCIxR9Dep1s
|
||||
eXafh5CE5BrF4WbCgCsevyPIdvTeyIaW4vmO3bbG4VzhogDZju+R3IQYFuhoXP5v
|
||||
Y+zYJGnwrgz3r5wYAvPnLEs1+dtDKYOgJXQj+wLJBW1mzRDL8FoRXOe5iRmn1EFS
|
||||
wZ1DoUvyu7/J5r0itKicZp3QKED6YoilXed+1vnS4Sk0mzN4smuMR9eO1mMCqNp9
|
||||
9KTfRDHTbakIHwasECCXCp50uXdoW6ig/xUAFanpm9LtK6jctNDbXDhQmgvAaLXZ
|
||||
LvFqoaYJ/CvWkyYCgL6qxvMvVmPoRv7OPcyni4xR/WgWa0MSaEWjgPx3+yj9fiMA
|
||||
1S02pFWFDOr5OUF/O4YhFJvUCOtVsUPPfA/Lj6faL0h5QI9mQhy5Zb9TTaS9jB6p
|
||||
Lw7u0dJlrjFedk8KTJdFCcaGYHP6kNPnOxMylcB/5WcztXZVQD5WpCicGNBxCGMm
|
||||
W64SgrV7M07gQfL/32QLsdqPUf0i8hoVD8wfQ3EpbQzv6Fk1Cn90bZqZafg8XWGY
|
||||
wddhkXk7egrr23Djv37V2okjzdqoyLBYBxMz63qQzFoAVv5VoY2NDTbXYUYytOvG
|
||||
GJ1afYDRVWrExCech1mX5ZVUB1br6WM+psFLJFoBFl6mDmiYt0vMYBddKISsvwLl
|
||||
IJQkzDwtXzT2cSjoj3T5QekCAwEAAQ==
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,14 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvaaoSLab+IluixwKV5Od
|
||||
0gib2YurjPatGIbn5Ov2DLUFYiebj2oJINXJSwUOO+4WcuHFEqiL/1rya+k5hLZt
|
||||
hnPL1tn6QD4rESznvGSasRCQNT2vS/oyZbTYJRyAtFkEYLlq0t3S3xBxxHWuvIf0
|
||||
qVxVNYpQWyM3N9RIeYBR/euXKJXileSHk/uq1I5wTC0XBIHWcthczGN0m9wBEiWS
|
||||
0m3cnPk4q0Ea8mUJ91Rqob19qETz6VbSPYYpZk3qOycjKosuwcuzoMpwU8KRiMFd
|
||||
5LHtX0Hx85ghGsWDVtS0c0+aJa4lOMGvJCAOvDfqvODv7gKlCXUpgumGpLdTmaZ8
|
||||
1RwqspAe3IqBcdKTqRD4m2mSg23nVx2FAY3cjFvZQtfooT7q1ItRV5RgH6FhQSl7
|
||||
+6YIMJ1Bf8AAlLdRLpg+doOUGcEn+pkDiHFgI8ylH1LKyFKw+eXaAml/7DaWZk1d
|
||||
dqggwhXOhc/UUZFQuQQ8A8zpA13PcbC05XxN2hyP93tCEtyynMLVPtrRwDnHxFKa
|
||||
qKzs3rMDXPSXRn3ZZTdKH3069ApkEjQdpcwUh+EmJ1Ve/5cdtzT6kKWCjKBFZP/s
|
||||
91MlRrX2BTRdHaU5QJkUheUtakwxuHrdah2F94lRmsnQlpPr2YseJu6sIE+Dnx4M
|
||||
CfhdVbQL2w54R645nlnohu8CAwEAAQ==
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,14 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq0BFD1D4lIxQcsqEpQzU
|
||||
pNCYM3aP1V/fxxVdT4DWvSI53JHTwHQamKdMWtEXetWVbP5zSROniYKFXd/xrD9X
|
||||
0jiGHey3lEtylXRIPxe5s+wXoCmNLcJVnvTcDtwx/ne2NLHxp76lyc25At+6RgE6
|
||||
ADjLVuoD7M4IFDkAsd8UQ8zM0Dww9SylIk/wgV3ZkifecvgUQRagrNUdUjR56EBZ
|
||||
raQrev4hhzOgwelT0kXCu3snbUuNY/lU53CoTzfBJ5UfEJ5pMw1ij6X0r5S9IVsy
|
||||
KLWH1hiO0NzU2c8ViUYCly4Fe9xMTFc6u2dy/dxf6FwERfGzETQxqZvSfrRX+GLj
|
||||
/QZAXiPg5178hT/m0Y3z5IGenIC/80Z9NCi+byF1WuJlzKjDcF/TU72zk0+PNM/H
|
||||
Kuppf3JT4DyjiVzNC5YoWJT2QRMS9KLP5iKCSThwVceEEg5HfhQBRT9M6KIcFLSs
|
||||
mFjx9kNEEmc1E8hl5IR3+3Ry8G5/bTIIruz14jgeY9u5jhL8Vyyvo41jgt9sLHR1
|
||||
/J1TxKfkgksYev7PoX6/ZzJ1ksWKZY5NFoDXTNYUgzFUTOoEaOg3BAQKadb3Qbbq
|
||||
XIrxmPBdgrn9QI7NCgfnAY3Tb4EEjs3ON/BNyEhUENcXOH6I1NbcuBQ7g9P73kE4
|
||||
VORdoc8MdJ5eoKBpO8Ww8HECAwEAAQ==
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,14 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyduVzi1mWm+lYo2Tqt/0
|
||||
XkCIWrDNP1QBMVPrE0/ZlU2bCGSoo2Z9FHQKz/mTyMRlhNqTfhJ5qU3U9XlyGOPJ
|
||||
piM+b91g26pnpXJ2Q2kOypSgOMOPA4cQ42PkHBEqhuzssfj9t7x47ppS94bboh46
|
||||
xLSDRff/NAbtwTpvhStV3URYkxFG++cKGGa5MPXBrxIp+iZf9GnuxVdST5PGiVGP
|
||||
ODL/b69sPJQNbJHVquqUTOh5Ry8uuD2WZuXfKf7/C0jC/ie9m2+0CttNu9tMciGM
|
||||
EyKG1/Xhk5iIWO43m4SrrT2WkFlcZ1z2JSf9Pjm4C2+HovYpihwwdM/OdP8Xmsnr
|
||||
DzVB4YvQiW+IHBjStHVuyiZWc+JsgEPJzisNY0Wyc/kNyNtqVKpX6dRhMLanLmy+
|
||||
f53cCSI05KPQAcGj6tdL+D60uKDkt+FsDa0BTAobZ31OsFVid0vCXtsbplNhW1IF
|
||||
HwsGXBTVcfXg44RLyL8Lk/2dQxDHNHzAUslJXzPxaHBLmt++2COa2EI1iWlvtznk
|
||||
Ok9WP8SOAIj+xdqoiHcC4j72BOVVgiITIJNHrbppZCq6qPR+fgXmXa+sDcGh30m6
|
||||
9Wpbr28kLMSHiENCWTdsFij+NQTd5S47H7XTROHnalYDuF1RpS+DpQidT5tUimaT
|
||||
JZDr++FjKrnnijbyNF8b98UCAwEAAQ==
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,14 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnpUpyWDWjlUk3smlWeA0
|
||||
lIMW+oJ38t92CRLHH3IqRhyECBRW0d0aRGtq7TY8PmxjjvBZrxTNDpJT6KUk4LRm
|
||||
a6A6IuAI7QnNK8SJqM0DLzlpygd7GJf8ZL9SoHSH+gFsYF67Cpooz/YDqWrlN7Vw
|
||||
tO00s0B+eXy+PCXYU7VSfuWFGK8TGEv6HfGMALLjhqMManyvfp8hz3ubN1rK3c8C
|
||||
US/ilRh1qckdbtPvoDPhSbTDmfU1g/EfRSIEXBrIMLg9ka/XB9PvWRrekrppnQzP
|
||||
hP9YE3x/wbFc5QqQWiRCYyQl/rgIMOXvIxhkfe8H5n1Et4VAorkpEAXdsfN8KSVv
|
||||
LSMazVlLp9GYq5SUpqYX3KnxdWBgN7BJoZ4sltsTpHQ/34SXWfu3UmyUveWj7wp0
|
||||
x9hwsPirVI00EEea9AbP7NM2rAyu6ukcm4m6ATd2DZJIViq2es6m60AE6SMCmrQF
|
||||
wmk4H/kdQgeAELVfGOm2VyJ3z69fQuywz7xu27S6zTKi05Qlnohxol4wVb6OB7qG
|
||||
LPRtK9ObgzRo/OPumyXqlzAi/Yvyd1ZQk8labZps3e16bQp8+pVPiumWioMFJDWV
|
||||
GZjCmyMSU8V6MB6njbgLHoyg2LCukCAeSjbPGGGYhnKLm1AKSoJh3IpZuqcKCk5C
|
||||
8CM1S15HxV78s9dFntEqIokCAwEAAQ==
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,14 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtfB12w4ZgqsXWZDfUAV/
|
||||
6Y4aHUKIu3q4SXrNZ7CXF9nXoAVYrS7NAxJdAodsY3vPCN0g5O8DFXR+390LdOuQ
|
||||
+HsGKCc1k5tX5ZXld37EZNTNSbR0k+NKhd9h6X3u6wqPOx7SIKxwAQR8qeeFq4pP
|
||||
rt9GAGlxtuYgzIIcKJPwE0dZlcBCg+GnptCUZXp/38BP1eYC+xTXSL6Muq1etYfg
|
||||
odXdb7Yl+2h1IHuOwo5rjgY5kpY7GcAs8AjGk3lDD/av60OTYccknH0NCVSmPoXK
|
||||
vrxDBOn0LQRNBLcAfnTKgHrzy0Q5h4TNkkyTgxkoQw5ObDk9nnabTxql732yy9BY
|
||||
s+hM9+dSFO1HKeVXreYSA2n1ndF18YAvAumzgyqzB7I4pMHXq1kC/8bONMJxwSkS
|
||||
Ym6CoXKyavp7RqGMyeVpRC7tV+blkrrUml0BwNkxE+XnwDRB3xDV6hqgWe0XrifD
|
||||
YTfvd9ScZQP83ip0r4IKlq4GMv/R5shcCRJSkSZ6QSGshH40JYSoiwJf5FHbj9ND
|
||||
7do0UAqebWo4yNx63j/wb2ULorW3AClv0BCFSdPsIrCStiGdpgJDBR2P2NZOCob3
|
||||
G9uMj+wJD6JJg2nWqNJxkANXX37Qf8plgzssrhrgOvB0fjjS7GYhfkfmZTJ0wPOw
|
||||
A8+KzFseBh4UFGgue78KwgkCAwEAAQ==
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-66ba20fe.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub
|
||||
@@ -0,0 +1 @@
|
||||
../alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub
|
||||
113
initramfs/usr/share/dhcpcd/hooks/10-wpa_supplicant
Normal file
113
initramfs/usr/share/dhcpcd/hooks/10-wpa_supplicant
Normal file
@@ -0,0 +1,113 @@
|
||||
# Start, reconfigure and stop wpa_supplicant per wireless interface.
|
||||
#
|
||||
# This is only needed when using wpa_supplicant-2.5 or older, OR
|
||||
# when wpa_supplicant has not been built with CONFIG_MATCH_IFACE, OR
|
||||
# wpa_supplicant was launched without the -M flag to activate
|
||||
# interface matching.
|
||||
|
||||
if [ -z "$wpa_supplicant_conf" ]; then
|
||||
for x in \
|
||||
/etc/wpa_supplicant/wpa_supplicant-"$interface".conf \
|
||||
/etc/wpa_supplicant/wpa_supplicant.conf \
|
||||
/etc/wpa_supplicant-"$interface".conf \
|
||||
/etc/wpa_supplicant.conf \
|
||||
; do
|
||||
if [ -s "$x" ]; then
|
||||
wpa_supplicant_conf="$x"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
: ${wpa_supplicant_conf:=/etc/wpa_supplicant.conf}
|
||||
|
||||
wpa_supplicant_ctrldir()
|
||||
{
|
||||
dir=$(key_get_value "[[:space:]]*ctrl_interface=" \
|
||||
"$wpa_supplicant_conf")
|
||||
dir=$(trim "$dir")
|
||||
case "$dir" in
|
||||
DIR=*)
|
||||
dir=${dir##DIR=}
|
||||
dir=${dir%%[[:space:]]GROUP=*}
|
||||
dir=$(trim "$dir")
|
||||
;;
|
||||
esac
|
||||
printf %s "$dir"
|
||||
}
|
||||
|
||||
wpa_supplicant_start()
|
||||
{
|
||||
# If the carrier is up, don't bother checking anything
|
||||
[ "$ifcarrier" = "up" ] && return 0
|
||||
|
||||
# Pre flight checks
|
||||
if [ ! -s "$wpa_supplicant_conf" ]; then
|
||||
syslog warn \
|
||||
"$wpa_supplicant_conf does not exist"
|
||||
syslog warn "not interacting with wpa_supplicant(8)"
|
||||
return 1
|
||||
fi
|
||||
dir=$(wpa_supplicant_ctrldir)
|
||||
if [ -z "$dir" ]; then
|
||||
syslog warn \
|
||||
"ctrl_interface not defined in $wpa_supplicant_conf"
|
||||
syslog warn "not interacting with wpa_supplicant(8)"
|
||||
return 1
|
||||
fi
|
||||
|
||||
wpa_cli -p "$dir" -i "$interface" status >/dev/null 2>&1 && return 0
|
||||
syslog info "starting wpa_supplicant"
|
||||
driver=${wpa_supplicant_driver:+-D}$wpa_supplicant_driver
|
||||
err=$(wpa_supplicant -B -c"$wpa_supplicant_conf" -i"$interface" \
|
||||
"$driver" 2>&1)
|
||||
errn=$?
|
||||
if [ $errn != 0 ]; then
|
||||
syslog err "failed to start wpa_supplicant"
|
||||
syslog err "$err"
|
||||
fi
|
||||
return $errn
|
||||
}
|
||||
|
||||
wpa_supplicant_reconfigure()
|
||||
{
|
||||
dir=$(wpa_supplicant_ctrldir)
|
||||
[ -z "$dir" ] && return 1
|
||||
if ! wpa_cli -p "$dir" -i "$interface" status >/dev/null 2>&1; then
|
||||
wpa_supplicant_start
|
||||
return $?
|
||||
fi
|
||||
syslog info "reconfiguring wpa_supplicant"
|
||||
err=$(wpa_cli -p "$dir" -i "$interface" reconfigure 2>&1)
|
||||
errn=$?
|
||||
if [ $errn != 0 ]; then
|
||||
syslog err "failed to reconfigure wpa_supplicant"
|
||||
syslog err "$err"
|
||||
fi
|
||||
return $errn
|
||||
}
|
||||
|
||||
wpa_supplicant_stop()
|
||||
{
|
||||
dir=$(wpa_supplicant_ctrldir)
|
||||
[ -z "$dir" ] && return 1
|
||||
wpa_cli -p "$dir" -i "$interface" status >/dev/null 2>&1 || return 0
|
||||
syslog info "stopping wpa_supplicant"
|
||||
err=$(wpa_cli -i"$interface" terminate 2>&1)
|
||||
errn=$?
|
||||
if [ $errn != 0 ]; then
|
||||
syslog err "failed to stop wpa_supplicant"
|
||||
syslog err "$err"
|
||||
fi
|
||||
return $errn
|
||||
}
|
||||
|
||||
if [ "$ifwireless" = "1" ] && \
|
||||
command -v wpa_supplicant >/dev/null 2>&1 && \
|
||||
command -v wpa_cli >/dev/null 2>&1
|
||||
then
|
||||
case "$reason" in
|
||||
PREINIT) wpa_supplicant_start;;
|
||||
RECONFIGURE) wpa_supplicant_reconfigure;;
|
||||
DEPARTED|STOPPED) wpa_supplicant_stop;;
|
||||
esac
|
||||
fi
|
||||
47
initramfs/usr/share/dhcpcd/hooks/15-timezone
Normal file
47
initramfs/usr/share/dhcpcd/hooks/15-timezone
Normal file
@@ -0,0 +1,47 @@
|
||||
# Configure timezone
|
||||
|
||||
: ${localtime:=/etc/localtime}
|
||||
|
||||
set_zoneinfo()
|
||||
{
|
||||
[ -z "$new_tzdb_timezone" ] && return 0
|
||||
|
||||
zoneinfo_dir=
|
||||
for d in \
|
||||
/usr/share/zoneinfo \
|
||||
/usr/lib/zoneinfo \
|
||||
/var/share/zoneinfo \
|
||||
/var/zoneinfo \
|
||||
; do
|
||||
if [ -d "$d" ]; then
|
||||
zoneinfo_dir="$d"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -z "$zoneinfo_dir" ]; then
|
||||
syslog warning "timezone directory not found"
|
||||
return 1
|
||||
fi
|
||||
|
||||
zone_file="$zoneinfo_dir/$new_tzdb_timezone"
|
||||
if [ ! -e "$zone_file" ]; then
|
||||
syslog warning "no timezone definition for $new_tzdb_timezone"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if copy_file "$zone_file" "$localtime"; then
|
||||
syslog info "timezone changed to $new_tzdb_timezone"
|
||||
fi
|
||||
}
|
||||
|
||||
# For ease of use, map DHCP6 names onto our DHCP4 names
|
||||
case "$reason" in
|
||||
BOUND6|RENEW6|REBIND6|REBOOT6|INFORM6)
|
||||
new_tzdb_timezone="$new_dhcp6_tzdb_timezone"
|
||||
;;
|
||||
esac
|
||||
|
||||
if $if_configured && $if_up; then
|
||||
set_zoneinfo
|
||||
fi
|
||||
39
initramfs/usr/share/dhcpcd/hooks/29-lookup-hostname
Normal file
39
initramfs/usr/share/dhcpcd/hooks/29-lookup-hostname
Normal file
@@ -0,0 +1,39 @@
|
||||
# Lookup the hostname in DNS if not set
|
||||
|
||||
lookup_hostname()
|
||||
{
|
||||
[ -z "$new_ip_address" ] && return 1
|
||||
# Silly ISC programs love to send error text to stdout
|
||||
if command -v dig >/dev/null 2>&1; then
|
||||
h=$(dig +short -x $new_ip_address)
|
||||
if [ $? = 0 ]; then
|
||||
echo "$h" | sed 's/\.$//'
|
||||
return 0
|
||||
fi
|
||||
elif command -v host >/dev/null 2>&1; then
|
||||
h=$(host $new_ip_address)
|
||||
if [ $? = 0 ]; then
|
||||
echo "$h" \
|
||||
| sed 's/.* domain name pointer \(.*\)./\1/'
|
||||
return 0
|
||||
fi
|
||||
elif command -v getent >/dev/null 2>&1; then
|
||||
h=$(getent hosts $new_ip_address)
|
||||
if [ $? = 0 ]; then
|
||||
echo "$h" | sed 's/[^ ]* *\([^ ]*\).*/\1/'
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
set_hostname()
|
||||
{
|
||||
if [ -z "${new_host_name}${new_fqdn_name}" ]; then
|
||||
export new_host_name="$(lookup_hostname)"
|
||||
fi
|
||||
}
|
||||
|
||||
if $if_up; then
|
||||
set_hostname
|
||||
fi
|
||||
59
initramfs/usr/share/dhcpcd/hooks/50-yp.conf
Normal file
59
initramfs/usr/share/dhcpcd/hooks/50-yp.conf
Normal file
@@ -0,0 +1,59 @@
|
||||
# Sample dhcpcd hook for ypbind
|
||||
# This script is only suitable for the Linux version.
|
||||
|
||||
ypbind_pid()
|
||||
{
|
||||
[ -s /var/run/ypbind.pid ] && cat /var/run/ypbind.pid
|
||||
}
|
||||
|
||||
make_yp_conf()
|
||||
{
|
||||
[ -z "${new_nis_domain}${new_nis_servers}" ] && return 0
|
||||
cf=/etc/yp.conf."$ifname"
|
||||
rm -f "$cf"
|
||||
echo "$signature" > "$cf"
|
||||
prefix=
|
||||
if [ -n "$new_nis_domain" ]; then
|
||||
if ! valid_domainname "$new_nis_domain"; then
|
||||
syslog err "Invalid NIS domain name: $new_nis_domain"
|
||||
rm -f "$cf"
|
||||
return 1
|
||||
fi
|
||||
domainname "$new_nis_domain"
|
||||
if [ -n "$new_nis_servers" ]; then
|
||||
prefix="domain $new_nis_domain server "
|
||||
else
|
||||
echo "domain $new_nis_domain broadcast" >> "$cf"
|
||||
fi
|
||||
else
|
||||
prefix="ypserver "
|
||||
fi
|
||||
for x in $new_nis_servers; do
|
||||
echo "$prefix$x" >> "$cf"
|
||||
done
|
||||
save_conf /etc/yp.conf
|
||||
cat "$cf" > /etc/yp.conf
|
||||
rm -f "$cf"
|
||||
pid="$(ypbind_pid)"
|
||||
if [ -n "$pid" ]; then
|
||||
kill -HUP "$pid"
|
||||
fi
|
||||
}
|
||||
|
||||
restore_yp_conf()
|
||||
{
|
||||
[ -n "$old_nis_domain" ] && domainname ""
|
||||
restore_conf /etc/yp.conf || return 0
|
||||
pid="$(ypbind_pid)"
|
||||
if [ -n "$pid" ]; then
|
||||
kill -HUP "$pid"
|
||||
fi
|
||||
}
|
||||
|
||||
if $if_configured; then
|
||||
if $if_up; then
|
||||
make_yp_conf
|
||||
elif $if_down; then
|
||||
restore_yp_conf
|
||||
fi
|
||||
fi
|
||||
6
initramfs/usr/share/iproute2/bpf_pinning
Normal file
6
initramfs/usr/share/iproute2/bpf_pinning
Normal file
@@ -0,0 +1,6 @@
|
||||
#
|
||||
# subpath mappings from mount point for pinning
|
||||
#
|
||||
#3 tracing
|
||||
#4 foo/bar
|
||||
#5 tc/cls1
|
||||
8
initramfs/usr/share/iproute2/ematch_map
Normal file
8
initramfs/usr/share/iproute2/ematch_map
Normal file
@@ -0,0 +1,8 @@
|
||||
# lookup table for ematch kinds
|
||||
1 cmp
|
||||
2 nbyte
|
||||
3 u32
|
||||
4 meta
|
||||
7 canid
|
||||
8 ipset
|
||||
9 ipt
|
||||
2
initramfs/usr/share/iproute2/group
Normal file
2
initramfs/usr/share/iproute2/group
Normal file
@@ -0,0 +1,2 @@
|
||||
# device group names
|
||||
0 default
|
||||
23
initramfs/usr/share/iproute2/nl_protos
Normal file
23
initramfs/usr/share/iproute2/nl_protos
Normal file
@@ -0,0 +1,23 @@
|
||||
# Netlink protocol names mapping
|
||||
|
||||
0 rtnl
|
||||
1 unused
|
||||
2 usersock
|
||||
3 fw
|
||||
4 tcpdiag
|
||||
5 nflog
|
||||
6 xfrm
|
||||
7 selinux
|
||||
8 iscsi
|
||||
9 audit
|
||||
10 fiblookup
|
||||
11 connector
|
||||
12 nft
|
||||
13 ip6fw
|
||||
14 dec-rt
|
||||
15 uevent
|
||||
16 genl
|
||||
18 scsi-trans
|
||||
19 ecryptfs
|
||||
20 rdma
|
||||
21 crypto
|
||||
26
initramfs/usr/share/iproute2/rt_dsfield
Normal file
26
initramfs/usr/share/iproute2/rt_dsfield
Normal file
@@ -0,0 +1,26 @@
|
||||
# Differentiated field values
|
||||
# These include the DSCP and unused bits
|
||||
0x0 default
|
||||
# Newer RFC2597 values
|
||||
0x28 AF11
|
||||
0x30 AF12
|
||||
0x38 AF13
|
||||
0x48 AF21
|
||||
0x50 AF22
|
||||
0x58 AF23
|
||||
0x68 AF31
|
||||
0x70 AF32
|
||||
0x78 AF33
|
||||
0x88 AF41
|
||||
0x90 AF42
|
||||
0x98 AF43
|
||||
# Older values RFC2474
|
||||
0x20 CS1
|
||||
0x40 CS2
|
||||
0x60 CS3
|
||||
0x80 CS4
|
||||
0xA0 CS5
|
||||
0xC0 CS6
|
||||
0xE0 CS7
|
||||
# RFC 2598
|
||||
0xB8 EF
|
||||
26
initramfs/usr/share/iproute2/rt_protos
Normal file
26
initramfs/usr/share/iproute2/rt_protos
Normal file
@@ -0,0 +1,26 @@
|
||||
#
|
||||
# Reserved protocols.
|
||||
#
|
||||
0 unspec
|
||||
1 redirect
|
||||
2 kernel
|
||||
3 boot
|
||||
4 static
|
||||
8 gated
|
||||
9 ra
|
||||
10 mrt
|
||||
11 zebra
|
||||
12 bird
|
||||
13 dnrouted
|
||||
14 xorp
|
||||
15 ntk
|
||||
16 dhcp
|
||||
18 keepalived
|
||||
42 babel
|
||||
84 ovn
|
||||
99 openr
|
||||
186 bgp
|
||||
187 isis
|
||||
188 ospf
|
||||
189 rip
|
||||
192 eigrp
|
||||
13
initramfs/usr/share/iproute2/rt_realms
Normal file
13
initramfs/usr/share/iproute2/rt_realms
Normal file
@@ -0,0 +1,13 @@
|
||||
#
|
||||
# reserved values
|
||||
#
|
||||
0 cosmos
|
||||
#
|
||||
# local
|
||||
#
|
||||
#1 inr.ac
|
||||
#2 inr.ruhep
|
||||
#3 freenet
|
||||
#4 radio-msu
|
||||
#5 russia
|
||||
#6 internet
|
||||
11
initramfs/usr/share/iproute2/rt_scopes
Normal file
11
initramfs/usr/share/iproute2/rt_scopes
Normal file
@@ -0,0 +1,11 @@
|
||||
#
|
||||
# reserved values
|
||||
#
|
||||
0 global
|
||||
255 nowhere
|
||||
254 host
|
||||
253 link
|
||||
#
|
||||
# pseudo-reserved
|
||||
#
|
||||
200 site
|
||||
11
initramfs/usr/share/iproute2/rt_tables
Normal file
11
initramfs/usr/share/iproute2/rt_tables
Normal file
@@ -0,0 +1,11 @@
|
||||
#
|
||||
# reserved values
|
||||
#
|
||||
255 local
|
||||
254 main
|
||||
253 default
|
||||
0 unspec
|
||||
#
|
||||
# local
|
||||
#
|
||||
#1 inr.ruhep
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="console-application">
|
||||
<id>org.kernel.software.network.ethtool</id>
|
||||
<metadata_license>MIT</metadata_license>
|
||||
<name>ethtool</name>
|
||||
<summary>display or change Ethernet device settings</summary>
|
||||
<description>
|
||||
<p>ethtool can be used to query and change settings such as speed,
|
||||
auto- negotiation and checksum offload on many network devices,
|
||||
especially Ethernet devices.</p>
|
||||
</description>
|
||||
<url type="homepage">https://www.kernel.org/pub/software/network/ethtool/</url>
|
||||
<provides>
|
||||
<binary>ethtool</binary>
|
||||
<modalias>pci:v*d*sv*sd*bc02sc80i*</modalias>
|
||||
</provides>
|
||||
</component>
|
||||
184
initramfs/usr/share/udhcpc/default.script
Executable file
184
initramfs/usr/share/udhcpc/default.script
Executable file
@@ -0,0 +1,184 @@
|
||||
#!/bin/sh
|
||||
|
||||
# script for udhcpc
|
||||
# Copyright (c) 2008 Natanael Copa <natanael.copa@gmail.com>
|
||||
|
||||
UDHCPC="/etc/udhcpc"
|
||||
UDHCPC_CONF="$UDHCPC/udhcpc.conf"
|
||||
|
||||
RESOLV_CONF="/etc/resolv.conf"
|
||||
[ -f "$UDHCPC_CONF" ] && . "$UDHCPC_CONF"
|
||||
|
||||
export RESOLV_CONF
|
||||
|
||||
export broadcast
|
||||
export dns
|
||||
export domain
|
||||
export interface
|
||||
export ip
|
||||
export mask
|
||||
export metric
|
||||
export staticroutes
|
||||
export router
|
||||
export subnet
|
||||
|
||||
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
|
||||
|
||||
run_scripts() {
|
||||
local dir="$1"
|
||||
local script
|
||||
|
||||
if [ -d "$dir" ]; then
|
||||
for script in "$dir"/*; do
|
||||
if [ -f "$script" ] && [ -x "$script" ]; then
|
||||
"$script"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
deconfig() {
|
||||
ip -4 addr flush dev $interface
|
||||
}
|
||||
|
||||
is_wifi() {
|
||||
test -e /sys/class/net/$interface/phy80211
|
||||
}
|
||||
|
||||
if_index() {
|
||||
if [ -e /sys/class/net/$interface/ifindex ]; then
|
||||
cat /sys/class/net/$interface/ifindex
|
||||
else
|
||||
ip -4 link show dev $interface | head -n1 | cut -d: -f1
|
||||
fi
|
||||
}
|
||||
|
||||
calc_metric() {
|
||||
local base=
|
||||
if is_wifi; then
|
||||
base=300
|
||||
else
|
||||
base=200
|
||||
fi
|
||||
echo $(( base + $(if_index) ))
|
||||
}
|
||||
|
||||
route_add() {
|
||||
local to=$1 gw=$2 num=$3
|
||||
# special case for /32 subnets:
|
||||
# /32 instructs kernel to always use routing for all outgoing packets
|
||||
# (they can never be sent to local subnet - there is no local subnet for /32).
|
||||
# Used in datacenters, avoids the need for private ip-addresses between two hops.
|
||||
if [ "$subnet" = "255.255.255.255" ]; then
|
||||
ip -4 route add $gw dev $interface
|
||||
fi
|
||||
ip -4 route add $to via $gw dev $interface \
|
||||
metric $(( $num + ${IF_METRIC:-$(calc_metric)} ))
|
||||
}
|
||||
|
||||
routes() {
|
||||
[ -z "$router" ] && [ -z "$staticroutes" ] && return
|
||||
local iface=
|
||||
for iface in $NO_GATEWAY; do
|
||||
[ "$iface" = "$interface" ] && return
|
||||
done
|
||||
while ip -4 route del default via dev $interface 2>/dev/null; do
|
||||
:
|
||||
done
|
||||
local num=0
|
||||
# RFC3442:
|
||||
# If the DHCP server returns both a Classless Static Routes option
|
||||
# and a Router option, the DHCP client MUST ignore the Router option.
|
||||
if [ -n "$staticroutes" ]; then
|
||||
# static routes format: dest1/mask gw1 ... destn/mask gwn
|
||||
set -- $staticroutes
|
||||
while [ -n "$1" ] && [ -n "$2" ]; do
|
||||
local dest="$1" gw="$2"
|
||||
if [ "$gw" != "0.0.0.0" ]; then
|
||||
route_add $dest $gw $num && num=$(( num + 1))
|
||||
fi
|
||||
shift 2
|
||||
done
|
||||
else
|
||||
local gw=
|
||||
for gw in $router; do
|
||||
route_add 0.0.0.0/0 $gw $num && num=$(( num + 1 ))
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
resolvconf() {
|
||||
local i
|
||||
[ -n "$IF_PEER_DNS" ] && [ "$IF_PEER_DNS" != "yes" ] && return
|
||||
if [ "$RESOLV_CONF" = "no" ] || [ "$RESOLV_CONF" = "NO" ] \
|
||||
|| [ -z "$RESOLV_CONF" ] || [ -z "$dns" ]; then
|
||||
return
|
||||
fi
|
||||
for i in $NO_DNS; do
|
||||
[ "$i" = "$interface" ] && return
|
||||
done
|
||||
echo -n > "$RESOLV_CONF.$$"
|
||||
if [ -n "$search" ]; then
|
||||
echo "search $search" >> "$RESOLV_CONF.$$"
|
||||
elif [ -n "$domain" ]; then
|
||||
echo "search $domain" >> "$RESOLV_CONF.$$"
|
||||
fi
|
||||
for i in $dns; do
|
||||
echo "nameserver $i" >> "$RESOLV_CONF.$$"
|
||||
done
|
||||
chmod a+r "$RESOLV_CONF.$$"
|
||||
mv -f "$RESOLV_CONF.$$" "$RESOLV_CONF"
|
||||
}
|
||||
|
||||
bound() {
|
||||
ip -4 addr add $ip/$mask ${broadcast:+broadcast $broadcast} dev $interface
|
||||
ip -4 link set dev $interface up
|
||||
routes
|
||||
resolvconf
|
||||
}
|
||||
|
||||
renew() {
|
||||
if ! ip -4 addr show dev $interface | grep $ip/$mask; then
|
||||
ip -4 addr flush dev $interface
|
||||
ip -4 addr add $ip/$mask ${broadcast:+broadcast $broadcast} dev $interface
|
||||
fi
|
||||
|
||||
local i
|
||||
for i in $router; do
|
||||
if ! ip -4 route show | grep ^default | grep $i; then
|
||||
routes
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if ! grep "^search $domain"; then
|
||||
resolvconf
|
||||
return
|
||||
fi
|
||||
for i in $dns; do
|
||||
if ! grep "^nameserver $i"; then
|
||||
resolvconf
|
||||
return
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
deconfig|renew|bound)
|
||||
run_scripts "$UDHCPC/pre-$1"
|
||||
$1
|
||||
run_scripts "$UDHCPC/post-$1"
|
||||
;;
|
||||
leasefail)
|
||||
echo "udhcpc failed to get a DHCP lease" >&2
|
||||
;;
|
||||
nak)
|
||||
echo "udhcpc received DHCP NAK" >&2
|
||||
;;
|
||||
*)
|
||||
echo "Error: this script should be called from udhcpc" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user