Memory leak in gss_init_sec_context when using spnego mechanism

Markus Moeller huaraz at moeller.plus.com
Wed Jul 18 15:31:19 EDT 2007


I attach my test program source with the valgrind results.  As it might not 
get through here is the main part of my test source

static gss_OID_desc _gss_mech_spnego  = {6, (void 
*)"\x2b\x06\x01\x05\x05\x02"};
gss_OID gss_mech_spnego = &_gss_mech_spnego;

const char *create_token(int spnego, const char *server) {
 OM_uint32 major_status, minor_status;
 gss_ctx_id_t          gss_context = GSS_C_NO_CONTEXT;
 gss_name_t            server_name = GSS_C_NO_NAME;
 gss_buffer_desc       service = GSS_C_EMPTY_BUFFER;
 gss_buffer_desc       input_token = GSS_C_EMPTY_BUFFER;
 gss_buffer_desc       output_token = GSS_C_EMPTY_BUFFER;
 const char   *token = NULL;

  setbuf(stdout,NULL);
  setbuf(stdin,NULL);

  if (!server) {
     fprintf(stderr, "%s| %s: Error: No server name\n", LogTime(), PROGRAM);
     return NULL;
  }

  service.value = malloc(strlen("HTTP")+strlen(server)+2);
  snprintf(service.value,strlen("HTTP")+strlen(server)+2,"%s@%s","HTTP",server);
  service.length = strlen((char *)service.value);

  major_status = gss_import_name(&minor_status, &service,
                                 gss_nt_service_name, &server_name);

  if (check_gss_err(major_status,minor_status,"gss_import_name()") )
      goto cleanup;
  if (spnego) {
  major_status = gss_init_sec_context(&minor_status,
                                      GSS_C_NO_CREDENTIAL,
                                      &gss_context,
                                      server_name,
                                      gss_mech_spnego,
                                      0,
                                      0,
                                      GSS_C_NO_CHANNEL_BINDINGS,
                                      &input_token,
                                      NULL,
                                      &output_token,
                                     NULL,
                                      NULL);
  } else {
  major_status = gss_init_sec_context(&minor_status,
                                      GSS_C_NO_CREDENTIAL,
                                      &gss_context,
                                      server_name,
                                      GSS_C_NO_OID,
                                      0,
                                      0,
                                      GSS_C_NO_CHANNEL_BINDINGS,
                                      &input_token,
                                      NULL,
                                      &output_token,
                                      NULL,
                                      NULL);
  }
  if (check_gss_err(major_status,minor_status,"gss_init_sec_context()") )
      goto cleanup;

  if (output_token.length) {

      token = "OK";
  }


cleanup:
  gss_delete_sec_context(&minor_status, &gss_context, NULL);
  gss_release_buffer(&minor_status, &service);
  gss_release_buffer(&minor_status, &input_token);
  gss_release_buffer(&minor_status, &output_token);
  gss_release_name(&minor_status, &server_name);

  return token;
}
int main(int argc, char *argv[]) {

   const char *Token;
   int opt,i=10;
   int spnego=0;

   while (-1 != (opt = getopt(argc, argv, "s"))) {
    switch (opt) {
    case 's':
      spnego = 1;
      break;
    default:
      fprintf(stderr, "%s| %s: unknown option: -%c.\n", LogTime(), PROGRAM, 
opt);
    }
  }

   fprintf(stdout,"Spnego : %d\n",spnego);
   while (i--) {
   Token = (const char *)create_token(spnego,"w2k3.windows2003.home");
   fprintf(stdout,"Token: %s\n",Token);
   }
   return(0);
}



"Sam Hartman" <hartmans at mit.edu> wrote in message 
news:tslhco1re4f.fsf at mit.edu...
> Hi.  Thanks for your question; as best I know, we have not found this yet.
>
>
> Is this in a case where gss_init_sec_ctx is successful or in a case
> where it fails?
>
> Presumably in both cases you are deleting the context?
> _______________________________________________
> krbdev mailing list             krbdev at mit.edu
> https://mailman.mit.edu/mailman/listinfo/krbdev
> 


begin 666 test_spnego.tgz
M'XL(`"QIGD8``^Q=>W/;1I+WW_H4$V6=)1V0PN U`'U*5N+#R9UDJR0[3FJS
MQ8) D$)$`EP`E,7;RW>_[@%(@""&+\MFG!!5ML#!]&\:/=T]#S30L1O%W6CL
MNX/@Y-DG.F0XF*[C7\ITF?^FFL;_IL<S*AL:TPQ-H^HSF2J&ICPC^J=B*'],
MHM at ."7DVLL/[2;2JGANNN/RE'G&N__GY, C&:4']P1X^11O8P88L"_J?R0HS
M9OVO,H-"_QL,^U]^BL;7'7_Q_C\]54S5,D]/R:4[<NY<YUXB-AFYHR"<$C<,
M at Y#TW-AUXB"L'V65F\%X&GJ#NYA4FE6BR+)2 at _\8T/H]\NKU._+JZN+O/8G<
M3LE_3X:>[9,;]X,=]H@;$WN81WH7>?Z 7'BW/[5_)J'[0"A3%>1AZ-V&-C#1
M1Q:FOCWR''+K^5 at 4A[8?#>W8"_R53&E"IMZ,7?]]$-Y'Y.+B:ID=4/Q!Z/F]
MFEI7ZBIR4^# \Z,XG(Q</^9<D'YHC]P/`+B2'WE7(>5.+Z?DZL<6.26\0")C
M.P0N<F6T3LA5& QX*W8XB. _MY%#@*.>V?KBA5J4;[56XZ>U6OZT&8Q&"#WT
M?#=77$!=N "HV>\;L+=X,I;(!R^^(_VA/8@:A>JU83"H];VA6W,?;2<>3D_+
M7-,2D6O?U[@*G_8GPZ7+T5WPH1:ZMG-GWP[=TZD;%6H\+-RD'X-8(Q+TR<DX
M#)R3!S!_Z.E%5B\\?_)(TDM$J1MU:M;-FEQ7:SVW;T^&T/4#U[T/_G$[\8:]
MNR"*JU#B.',:K4[K"NJ&02G5264<NJ$+=Q*Y4/'FW4T[::-:)5]3<G-Y1=Y.
M7'(V#L%,B&PV-*6AZN3=VR9"L!QO9Z%SQS7@[H-CCZ,&^=DT)/)H&K4H<BG^
MI^1J7]D#ET3>_[I0T9F$J%'#*=%D"VA&]B.))N-Q$,9NCY?E"']*#65NK3TO
MY,YBVB GDR@\@?*3F37EZ*Y=NX>&%DU'$1A/,"*\YK!74^IZ/0I(17[4DO&A
MNIH,C>XD"IV3T30*)J'C1B>E8QHBFK)FKD<LLGV"4AMB+YR,4A^)8*JYS!\<
MP>UO( #2"]S(_WM,[NP'%]P'P-\&0Q*CZFU2?^9N!'1SKJ%?0C="30+NP6!*
MI'Z2:F(=*^<QVJT?KQL$Y4QUB\FD`I7=QRHXX:03H;?C@/ ;55B[=4XJWW__
M_>ZR>Q@`J\/ [G6=('3G?4S;'RG#7;F8]>6<$X7NQ$GF+]^?7;_^\?6K!O'=
M#W,IHI$[@=\?>@ZX$^[SW$<OBI%E:,,;^$&(YUZ\V#*"8._(B]W#+U7)=>V[
MY)JB*4V9\$NBOCVG0 S#U=#UESL7$52655 at MV& <GXR\N$;1TR46Z]T.HL@>
M>]W[\!8M%P9,)97G!K96"CA#4NMJ at J0WUR.EM$[>@5!%VY4%W0FGXSA(V* <
M3=&5'=&<8-2%N50")B=@K/41TDG],0+*,^Y,?6,A]89Y*2G6!FXVI01G$PP?
M%JF79#Q7/FIVJ KW&PH\"RH?/<LJ"$#:+7.=!NOE&IP',2RQB^-VE%T70#3!
MWDAE9 ^'@5.*H>IJ5J$<!&2-Y at C.9^R,I^6<M,YS-40P6EI)A*(K[:R"X(;.
MSQ6HXXAO")2J-:\@`+&:'0#IAZY;+A.JG:6713K226\E<N-R at 1BMK(((1$YU
MQ!>*]5S/U1!IB9GZ0J%8=2VK(.+E;-8W=V$Y*QPDK2#D1$X;&HW+030EJR "
MZ<RE(D)1SW,U1(JOH51@[KQ"\UN=K$;YRJ5]??WFFMR\N[P\N_X%D)/E9>I@
M9!PD8_<1QLC*;%;C]AI$2RXK>=9RIUBU at 4,B)3]36C.T6W"78[N'[JNFW9;5
M5 FXOSO;N5=SO"4V>X)JVH#1E,!JG]@QCM1Q at ZBZI%(3EFDPF<2+FJ&36ZA^
M']5%$$Q2F4)X22010[)D1O *_- U0Z*:E<+Q*C:(4K#<BUP;9O+HC'$=/ X\
M$!+(#.2.7/A!7$/87 at D_?'(#5Z at F2\S0DO8$K2A6[NY2+%PV$IBG#(=DOFK"
MZ\, at BJ $)G& C>LCQ5A<0X+<4ITXUQNI6-"S;C\OJRX"PSH9 at 56CV3IO$+ZB
M at MK.W8V+RZRNYWNQ9P]A%5-W&HJI"*CU,\-H$)BT`$'/0]ESD&@)@AIR.82N
MJ:8%$&[<M1]L;XB2F6$DRP[^BT,P2X"AF)J)JN;%72=^[.*4L4"LZ51$VU%I
M at Z2UDSL!F,AUNJD1%:&8:0BDH3&U/9-&$6.P5(:"I:5<X=*JJ9[!\A&4!40:
M!_>NG_3ZIBLT$6RKP]7(^PBX\E-5R;2>;J'URBJM5\R.!E+X!%K/6MI:K3?T
M@]8?M'ZEUL.,(--Z>0NU5_?A[#OJ>5MMD'$8X/8&[QK<) OZ_!1Z1A6H2UM1
M-2 ,TBX>VS$J*C^',E ^I-54$;'&8(C!I59WAC!7D *&Q<HQFC!.G<UT/1B-
M`C\E3>@H$PQ0354SM;3MDH83:M,L)]9,0]93XKEZ+P(L*C:%]8@`BFD=K0BU
M8"DE<*;(>K463- !31\,)VX)UKP9O Y !A-YLJ>R7?0HK3,KYXW0::<:MNA(
M#%/0Q^"3.M96/LE<%/>V)HK.&Z?>PRF:9EPT46TO\[%S!8$'KN^&GL.EX 3C
M:3?P>J0"_W6#<01W;@F=L6$VM^I0*M+^/T"''@89?FKMJL'ZGC2XS=9K,)5%
M:XJ#"O_Y5)@JNTZ4C'WHL-(VSDW>5YX?=P?0+W'7]>-PVK5[H,438!G+4',$
MO:UTY [V=C?"IQP)!?#D]:#'4&6I)M 269?/\BT#.===K[>,HNBBF8O1UG7^
MZ 35R4^?G)3-,71+L$+16--:FORLF[%8HCG at 8<;RA7J'IS9GM@]S;I^W+"5;
M]P1CU^_B6;KXP5,4J"RPR8[:5-FJ99,FL*'#LNFP;/I$3DADE_F=]2W,TMS+
M3-&TSCH-8&'@1;$;\CM=VD+3#-%(:9XKL^VO.SOL.4'/[2V1ZU1@&M"X"7TX
M&>-8>@DM7P`3RZWKHEFJV6%Z-D[#_ "YMWTO&BWSH OU2#>VTR.JE6X&?HE3
M0OZ(& >29 DC$<KD^8*F*AI>>FX?Q>(*5CS67O18,PQURQ6+P.D?YB1_%/6D
MQJY3'*C\^950,3H&D].ATNF.['NW&]I^+QAU[]TIQE$L%*!7$FPAG;=UHS4;
M<W$1CST636XY#!2DY]PU"V8/P(N9("3.,06!UI/US QM=-\-W7]WT[6#P$DV
M&46%YOQD!*[/O?T"`F4"AL ^J85"!QG88T[Q0$OG#K#\$D&TF+;9BDJT)#RL
MJ/:V!_P1QKR7I_)@@ZJQF0T*U.-@@P<;_!/,( 3FS'8,-J KHPT^W?;#.=6R
M_0-N`N.PWX65A[VX!2%<D+>;.FXGKMO!, 3DAQV,PP[&YS!,E>;&676K<78O
M`1'GEF4U9Y-F?$@U!BS'&]M#4LE^HR!%N^1&<],A215HZF%(^K*&I"]Y4:ON
MO&]/]Q(-T62*I6TT[U1$CY,/\\Z#D?_%C%S+&;FRE9'O)6#DW#IK;S0(,\&3
M@,,@?+#/+\D^C9WM<R_!,.>6V:2;V&?YLZF#?1[L\XNR3WUW^]Q+= O8I];9
MR#Y%D].#?1[L\\NQ3[;[PYR]A+F<XVO.J6W8D_ at .>R75G-E/OG<K,LYSW$3=
MQ#C%>Y 'XSP8Y^<Q3BMOG,96QKF7V)USB[74_.!Y[TXYS^G8N>8I*Z-TL_TI
M*@HD.^Q/'5S$'\9%/+5-*_L(A4*;MMAZFQ8\TCG8],&F__PV3:7=8Z*4O<1$
MP41881M9A&8=5JD'B]AW_# 8&,L,C&UE8/L(4Z)F^ZS5 at 9Z/P]YDG `7O@,H
MZ&;3:AMK7^-@@N'V\!K'EZ[G2GX at 4?5M]'PO03]M\ZQ-LV"X5-8^Z%T:$Q>'
M+O:W)?H82J?5Q*^HV&$T<_LQ(*3$O!@?5 at I&C8ZLXL>#9JTG*+E0OAF]H at J>
M=K9;K-/,`!+-YP at E`86JZ)EINVF<L?4!A4P0(7<(*/R\`84BV[-V#NA1]A+0
MH[1E6<F]W at Z<P(B1J ]_NYT7>/Z at +O[&B69T-EP:&<IA:728".Y[@*22H>UL
MI7N)R $?J:HK?*0N]*V'H.N#>?_%S%N1%J+>MWI=6=E+0(]F&$S=;'M2$<:]
M'[8G#T;ZQS;2B_;9_\R_D+W88L$L&VC%FEH6]E-?)"Q\<*W!/UJPEHJ0,1B]
M=SNGRM$(2 KS@@91%(DM?#=;*?MN]NS(?_6[M+%<>HR9OP`]LT$HT^1CUU$#
MPPWAU!Y+A!+W$5:(D??@EE/:D\<1SXPCIZ<$/Y?E0:L5^5XB\F4U_1#X6O+D
M&]WX;6_\BOD(EL->%/A1.=W-)=#X72^*)FXON?-3?.^HHIEILROI>FY&>4KD
M.:\KB$;V8]</; >4,4(B0]=5G50H:*]N(#D%O[T68>)S#826MVAV1L+O42,5
M7=,V9-?OMFXN-Y4-3U'D.N0G<@N>"K=%(OZI]W5\XC?2T($\`%ED\H\V\PZM
M)+E7I'2/#LM6M7QG]X(/6,A3*&'+S$SN,T<TRUG&K\^/O at TC[,W5K"'B]4 )
MO;Z'1F!*A at PR(R:KL^=5$=3LHX7W?O#!%T%93 4 at 8M4M$= ,9N*O!%)@^ <@
MI:XN`.$1QR>Q`S4LR3 M^ 5^([B?C''B\.^)QW/<J(HD*R9NP=P6LV\5R%$N
M-0<\B3MC0R(JZ0\GT=TB);^%V+Y-DNZDAR51U205& TD2BU2^XZHDFYJDL64
MER3$C&W@*"R8C5?)/\%\G>A?Y9"]R6B<&BFJ$@(M9D#*U_4BQPYQ(YA T]1D
MR[4CN)W>9.B&X*<D0]&Y__X-V@"7<WL[<S_5NH#$.%$M29854+K?@O!DY/E!
MF%0@[@,F*ZLOBC1QC>CO2WQBZC$+).XC#!2/#; Y2::4#+TH!L&;%LME9[ ?
M!B"-L1ORR]5R`*I)4)KSC%25- /Z=0)#1.(CT='"W(@CE61>FK,"7:@09S16
M4 /@K\;=[&A\-AP>[3M[XI=_E,Y.ZM'=4[;!LWPF^3[+\K_"\$.S_)^:\4RF
M.ICN(?_GYSB:G8NS5S>GQ[7W,/B1VGNP\=#&OSSU9^T][J5@?LG:^S3W2 UF
M-_$=7D$7;0^]@0\_/D"A6XMB=/,1_,8S)ZZ!IX^#>#IVL6SDX1;JH+RPYSI#
MF[MF'XMS/VMV'YOE#RQ25M(1M_9&.3ZZ:,WNX&(Y7Q;4'4JUZ^4+QT>8A/%O
MR=V3OZ4 at I!:0+&%@9 at X.J0US6<[@%_XY.CJ:+6I7IZQ,2#%EY7*6RM+$E*3V
ML)!,<\-VLM28N[6#>3H/+O6O=93G?\XT]BG:6)W_F1J4LLS_ZXSG?U:U at ___
M'$>R#F>G6^1_QLI/D_\9D9XH_W,I4UOF?\[8^?C\SZ7\[)3_F65;1+R;\OF?
MV;;YGUFRX;*<_YFWDDS 699BC97G>V:B?,]L=7YGMD%^Y\SU+!&5YG>>7Q;F
M=Y[5>%BX*7]U?F?V!\[OS+;*[\QVS>_,=LSOS';+[RP@^XC\S at +$'?,[LRUS
M$Z^LOR*_\P+7.^9W9A^=WWE[V6V2WWD7&7Z:_,Z;<Y+YQZ?)[\P^,K_S4M_N
MDM]9(-C=\SMO`[@ZO_,J][$RO_-6+*S-[[P-VMK\SMM*9VU^Y]5"6I7?>37E
MNOS.B\JW8W[G(LA.^9V+(#LE9RZ [)J<>0EFE^3,2Z+=)2WRDFBWSWJ]Q,=N
MF967.-DELW(19.M<TTLWLTMJYN5;V2$U\Q+(;JF9BS [I?!>LIW=\CL75B9/
MDM^YL/C8++_S0LVE_,[(V\K\SHJ>2W],E<(SZB5R36(FF^=VAE],G^5V5E55
M4ADE at MS.!8&)<SL#$Z+4SD at X3^U,S2Q03]#(SODUDC>F%M>-3Q_FPXJO1FR5
M7J-(O>5[&4N-;_=>1I%\I_<R"B ?\UY&'NH)0UZ*L!\9\E+0S[RJJC1357/K
MA,R?556W>/5H2<NV>O7HH.)?O(J7174Q0537BC KMGUD%A-%9JT=\;:,RF*K
MH[*H."JK0+EM5):8?'545H&N-"I+T4D%%C\+$43E=&NBLLJ(MHO*$B&LC,H2
M$:V+RA*SFT5E;2";C:.RBLJS?5166<LE45GR0E06VS$J2X;Y'H_*RH*IEJ V
MBLHR33.)RC)$0!M'92E)5):V`)0/J](D63;+H[(473*INAB554Z^2506$T9E
MF9+&@$]J,1 A3:*R5$619,O*HK+,DJBL`N3*J*QBW=516:P8E45-X$?35T1E
M%4GHB6)()ICNNJ at L5HC*4M9'9;%545FP7EX;E54`L"3=,'*.T>(O?!=CLG1S
M*2:K@$.U0T#6G^0HC_]RGK0-_OQ?&/]%5=U0YL__94W&^"]9D0_/_S_'\;7G
M.\-)SR7_%<4]6+S4[[X[RLHF,+6/>XME4. %Q2+^_NM"6>R-W$*M*4R;T])<
M<?)XX21][KM L7"IFPZ&G!P<'PS1,)T-R8O\]!^FZW'Z[HF4KP.=]^"&U9='
M1QA'YCDD?_$B&+P%OBH/@=?#*HC!'3%_?<4-P\J;R^X$2M4T]I:_/3\!!YHK
M1[\_+\_07X![]?E3(D3^.IEZD:OK-Z^NSR[)<9[WXY7,58_^<Y3,Y<.)$Y-X
M1%[$HY<+15 -8[]@IC KYVA8WH6!'P9O^ /SQ(6KO)7;2?^?5#'_!2P2/GN)
MD2CH]^QIY1O D\CK=Q<7U830Z\-4+/A0CQ]PFD:^.DVAJR3AD,\;1M 0[GX-
M$8ACI/53D)3O/K\,S<,PJ#")'#__Y>3YZ.1YCSS_H?'\LO'\YE@"L!S1_#8R
MR.3B[_S_T(TGH8\W]/+H=U2S/LZ0^6H3UZJIJYL)&HO?_-B"&7'DD&ZA$DYS
M_V-(A.L%>5$]_O51N?WU43;@'X5_>OI/.?[]Y5&*5&P((+XIXKX\^MKU>U[_
MDRD:=@-VTJN;FR[?E*WDP:JS?EIHBU^4`)R?O"Q6B ;X.EBF/, at OR+COAHGL
M$NANX at B2*IEBR8KVKU3G8":.JNCZJ:;!60:ZU,J'._YYAZ_2"YF"G;S .P>+
MCA,YI>T3AW\1`^Z[=G;U8[+_7,7]5+ZY\.(DI9[=+C2$]P%SQ/'0GJ;BJ7PS
M$X*TV =S#5QUH,B;7?[_FU9[&QHT,-2 at S6B^244BD6\61#\W%.S_[#Y/>2/(
MU.751?MM.V^J6!/[)>BC'5;)=[Q3OEWLTCJ4#>([**9Y6NA1_%)SS$F_A3IH
MP1&8;(6K9+4``MYIXN9L.>G_;T]+V\JJ_3X_P^Y*PV=2]<MWET 4A-R"E[V?
M_9RA[8#U^]S_E0E,R20CD,IQG1S/V4IO7<E#[V8!R9(C;P&X+1 .I[BZ"X-)
MC$/.QQM#WO%LH=B7[>8/?U)K^,N;0C^]99 at 3@G[Q._X_\CQJP#_2MT%U>WCZ
MJP]BF,]CI-GL1YJ/6!*.$REP,H!7*/^)K:0%<I4/Z)M,_$C)S ][2C2XYC4;
M6D5IX+O/7@^&*I*7]VR;^G2FI6] AUZ_;?_\-B7S;3[5RAU)\_Q"GNSUV64[
MI<D/HQF-YV3UVY=7;W_IGK_K=-K70B+/'T_B= ]\*T+P#VLI<P(E,.],JZ*1
M\G$\<F/ 12T`,&D^5<R*/7]6FDY-OLIURTI%:J/;:I#702I)@I(4*-1,S=,Y
M8,(>*M'17*:)W9'9$]TTIJ1R_,/;MU?'U6_3GRESWRK);?@SYO(8TAI2"6[A
M'^@`D at K2? 62\9)Z$;3Y_V_O^EX3AH'P>_^*4)BV8*7JF^*#0]EDTL'LVQAC
MU+*532NK6Y_VOR^77-JDLQ#&9 _>]R0E=[FD]^.[M$4AZTF/]8UY0,)AAL=B
MJLZV\(Z0<"T1KII'=U"%1?H4;@L'KD) :$-Y=%MA,MXVDZP:4608X#;M\UV?
M^2K;Y+P()3S;[#[V$U0L(U>ZP[&E-AX*-=9K5228%K1WB_DBBI>SE:UH1PM_
M6QEM#VU%&IV"K5CXYP/KK;J>1=%B]7BYC.;+Z&IMO6%:/K*5 at 8"UUJ^GK5-,
M4&6Q+Y:^%>FY>V9EH34I([<\K5O^*B4WO;4]+Z-Z?3U8L"!+HXAB`N[MC2MC
MQ>$43:H8.S*?;3BQA+^";XT1TX7K%;:PTB-ESG:X=O-M1?3U_Y!I+;UUZ:P(
MK-RK">,D%J at JO%P at ..O3^W/20Z[*?W_>/ZC]U5EL+(3A*LCD^T,OFP["ZH(L
M%]-0GJI at TQ@,X&S.XX,A5Z4'_L.3L\$\G&,5KE\=!A5E=H 74?@@=2GA2V3=
MHCNNFEH\T1JH_D%K)O C!#6VE<^I)YE\'OC:A at 472;^U/P!CZG9#M!R.J1SX
MIKN6AO%68P.JD$M,M*W(@@!7%:/'>OKN^D8G@;77+8>OHWZ9[39Y60S#<-1_
MR;<I]N]-$X1:U>O$E;-(F\T.YK]/_ D$`H% (! (! *!0" 0".>$;S at 3I/P`
#R ``
`
end





More information about the krbdev mailing list