DELTA 296963 396 539 SVN6W 0CFLAGS+= -I${.CURDIR}/../commonENDREP DELTA 316311 118 191 SVN8yar`H5Q;N02pF eh9G)D2FjPT2؝˳u]+||Wr o:-7rX@bF7' vt6WB;bH|%̭^ GfOJ:amT($, ^'i+x_3/Wbӹ?iw*pi4 ;EɎ +N4,d"= FOQEa!Lvc uwe1,Ju:k'UZ>$ENDREP DELTA 316311 335 22 SVNGH#"@AsVU'j|SZY)crypto/intake.h> #ifndef _GELIBOOT_H_ #define _GELIBOOT_H_ GELI_MAX_KEYS 64 #define GELI_PW_MAXLEN 256 extern void pwgets(char *buf, int n), const u_char *mkeyphavekey(struct dsk *dskpvoid geli_fill_keybuf(struct keybuf *keybuf); void geli_save_keybuf(struct keybuf *keybufENDREP DELTA 316311 382 32 SVN!@ 1p _internal.h"ENDREP DELTA SVNx^UQs8~δ3m2n2{t: !H'1H.]َwt~0]~+Q[o#8{wzzU+$q#Hݬ>* f,{ku7gw&bTX,FeZӨ(]AVеT\Zύ)[ا PKg@HeS*cduM63'gZABQRK(WJ;٧Z\deldȕP}OZJKwֈG0CNX4_g ig?>?\`yWd q ^x;0~$S.@Dڍ=+3Fs 2pd/ ҄_޼=fȲ(~9 8 p gzAp@%K$r .YMqx%4IHXυ'K7Y"aѨ/ /p%$0+& nHmRtGŲuMKj.p@̘`sg +)n ;,8/%F!D: O҄$|AP/X|=&. U,"k# ʅaGV8&,Y£5*d]Qh{FxNS4@ОĪgY$z]spd\|mm6ؑ_q"݌AƄ$RoU޻q1_eU%,&,(JV ET%! c/|>6>CWCV n?d'̿ʵE/1:`lղ8ws ^˧;%t ok3܀k {rXQ_"'$ɲ5;<9k?vKZLs Ye5(}_k:Re'}5P.7G{u]w^.Ycpcq|{mҏԬL+)EUq'o]k>p,no4zP SQ-\w"_]b|AH/dENDREP DELTA 296963 6969 89 SVN9 n lAMl#ifdef LOADER_GELI_SUPPORT #include #endif struct geli_boot_args { uint32_t size; union { char gelipw[256]; struct { char notapw; /* * single null byte to stop keybuf * being interpreted as a password */ uint32_t keybuf_sentinel; #ifdef LOADER_GELI_SUPPORT struct keybuf *keybuf; #else void *keybuf; #endif }; }ENDREP DELTA 307955 0 43 SVN/  CFLAGS+= -I${.CURDIR}/../../..ENDREP DELTA 316311 439 32 SVN511r0&K&[o]|yvu NhMp_cmdsstatic struct keybuf *gelibufhavekey(&dsk) != 0 && geli_passphrase(&gelipw, _cmds_cmdsexplicit_bzero(gelipw, sizeof(gelipw)); gelibuf = malloc(sizeof(struct keybuf) + (GELI_MAX_KEYS * sizeof(struct keybuf_ent))); geli_fill_keybuf(gelibuf); geliargs.notapw = '\0'; geliargs.keybuf_sentinel = KEYBUF_SENTINEL; geliargs.keybuf = gelibuf_cmdsENDREP DELTA 315427 0 410 SVNht2vA*fgeli_havekey(&dskp) == 0) { geli_status[dev->d_unit][dskp.slice] = ISGELI_YES; geli_part++; continue; } continueENDREP DELTA 185029 140895 40 SVN(&3%y>G?P1\Pcv2Sx^Q]k0}W\u> ƠC;, c$&jMѸX7;q9s^m1MEΆ[pV_4b="*Uwׁ3A)Hkinj<Zh'Lh}3Q**RA) )ذRqT`l@mmρ3 tfE8yDw ɈqFVXi sL61Zok2:|SR3@ Su@qڽ ". 5c^U`q{s{w?F_xzx5N{mu3ENDREP DELTA 277418 0 70 SVNh<$)#=# ; GP|$J!x^Qn0 }WXU0`H)JgDiK[`,ǗHIfp4^lJW"[>HKyGrkCHW5Bzg^JZG0hVƅw%?a 7+g0~YAb'IDhuDaXzt\;fpI zI'JM5*5BV]lΩ g]^V( ?'S-i{N2!v`[Oal>[O'Ӟ85ŬJENDREP DELTA 310661 0 73 SVNb ! O CFLAGS+= -I${.CURDIR}/../../geliENDREP DELTA 316311 497 47 SVN= offsetof(struct zfs_boot_args, keybuf_sentinel) && zargs->keybuf_sentinel == KEYBUF_SENTINEL) { geli_save_keybuf(zargs->keybuf); }keybuf_sentinel == KEYBUF_SENTINEL) { geli_save_keybuf(gargs->keybuf); }ENDREP DELTA 316311 571 36 SVNp.OnN@u@]3.FBF&l:(7_l_cmdstatic struct keybuf *gelibufhavekey(dsk) == 0 || geli_passphrase(&gelipw, dsk->unit, havekey(dsk) == 0 || geli_passphrase(&gelipw, havekey(dsk) == 0 || geli_passphrase(&gelipw, dsk->unit, _cmd_cmd_cmd_cmdexplicit_bzero(gelipw, sizeof(gelipw)); gelibuf = malloc(sizeof(struct keybuf) + (GELI_MAX_KEYS * sizeof(struct keybuf_ent))); geli_fill_keybuf(gelibuf); zfsargs.notapw = '\0'; zfsargs.keybuf_sentinel = KEYBUF_SENTINEL; zfsargs.keybuf = gelibuf_cmdENDREP DELTA 303630 0 41 SVNM&jG)E,Nh#ifdef LOADER_GELI_SUPPORT #include #endifunion { char gelipw[256]; struct { char notapw; /* * single null byte to stop keybuf * being interpreted as a password */ uint32_t keybuf_sentinel; #ifdef LOADER_GELI_SUPPORT struct keybuf *keybuf; #else void *keybuf; #endif }; }ENDREP DELTA SVNNNNx^To6@@"-eMD\Jb*KtBĖJJkwȍlاM{N hFupTw]¬ sV`sZ0UQUBt;P]CTRׅª1օoeTz˂0\(e6Ty.8uM׷P6uiSK(o_ioZhV;NeSafv(++Bt\-`Zy/9ar]2M 9#:?\IT5eQuW6~47):etn #} \HKz&Wz>\XBc.c*7&0RɃ,Rg<d\g,<$]XzQ//T z~dlT< E.9 8- C%^pX>gAB 7AmG 6$R6#|!$I^L\@kX&Eg# a\7K\$>&ir Yw$ѣ$].a[,y@Ih{X{b!fOX0&t;ƎqA 򵷰3+zܞ{G׵>/D~Hs pf1!,( >PJ GKOsu_aZ]{vێ SlN~whќZFFtU4fЬ߫m ]c^Z Mw'^̻/"g>"?# ~" 3 Fl :1ξJ}8_~F'h~?>Nlɒ%9>${y1?ꅉױdJ=!${0g1Hy wqH<"ݙn]9 l 0WWަW!qSw%^ܤ<$Y2ajyH`Y1,t?^a8 `=!|`m ԉ96x!FP3ys"x{vS)ח/ oE;^8}&_F 1p|zx>|zڛFueނ$ui{XNth ӠoSY}-Z0(ZiWWk8L~{38Ա"Pɕ6 ^j)/~gBK?9‘feM3:3M7N#8jd?ڬ:EK@4le$ {;V[RjHa6`wDSCjpQa!L u=IŨf[tv]ƣ*;q|vMQ)h9?=EK$G1j^5.\0eQ(",B@D58\gj{9jwB7B 'lxLLP%nR'$uu9VO}hW@Ez81W:Mhҩ|1:oJ\\Txg]4L~v]0QYQtp,N2EuۦzXQ]8C4Z5\Hx"2tv,ح56JLMuiz˗h.*=7*`ubnբ%kq P%9dnUsJK]Gt"JVod+݋  zʪp=DZnL7uO,2՗RjXV"60-'P(PmoBf׌:Ĵcfu̴]3ĉ9髮9.?: [}-ﻗ`vkgՔ+]#)"H5*