diff --git a/cnf/releaserepo/index.xml b/cnf/releaserepo/index.xml index 95fad4ab..5f62907a 100644 --- a/cnf/releaserepo/index.xml +++ b/cnf/releaserepo/index.xml @@ -1,5 +1,5 @@ - + @@ -196,6 +196,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -975,33 +1171,33 @@ - + - + - + - + - + - + - + @@ -4553,7 +4749,7 @@ - + @@ -5234,21 +5430,21 @@ - + - - - + + + - + - + @@ -5266,7 +5462,7 @@ - + @@ -5281,7 +5477,7 @@ - + @@ -5291,21 +5487,21 @@ - + - - - + + + - + - + @@ -5323,7 +5519,7 @@ - + @@ -5338,7 +5534,7 @@ - + @@ -5348,21 +5544,21 @@ - + - - - + + + - + - + @@ -5380,7 +5576,7 @@ - + @@ -5395,7 +5591,7 @@ - + @@ -5405,21 +5601,21 @@ - + - - - + + + - + - + @@ -5437,7 +5633,7 @@ - + @@ -5452,7 +5648,7 @@ - + @@ -5462,21 +5658,21 @@ - + - - - + + + - + - + @@ -5494,7 +5690,7 @@ - + @@ -5509,7 +5705,7 @@ - + @@ -5519,21 +5715,21 @@ - + - - - + + + - + - + @@ -5551,7 +5747,7 @@ - + @@ -5566,7 +5762,7 @@ - + @@ -5576,21 +5772,21 @@ - + - - - + + + - + - + @@ -5608,7 +5804,7 @@ - + @@ -5633,21 +5829,21 @@ - + - - - + + + - + - + @@ -5680,7 +5876,7 @@ - + @@ -5690,21 +5886,21 @@ - + - - - + + + - + - + @@ -5747,21 +5943,21 @@ - + - - - + + + - + - + @@ -5794,7 +5990,7 @@ - + @@ -5804,21 +6000,21 @@ - + - - - + + + - + - + @@ -5851,7 +6047,7 @@ - + @@ -5861,21 +6057,21 @@ - + - - - + + + - + - + @@ -5908,7 +6104,7 @@ - + @@ -5918,21 +6114,78 @@ - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -5965,7 +6218,7 @@ - + @@ -5975,21 +6228,21 @@ - + - - - + + + - + - + @@ -6022,7 +6275,7 @@ - + @@ -6032,21 +6285,21 @@ - + - - - + + + - + - + @@ -6089,21 +6342,21 @@ - + - - - + + + - + - + @@ -6146,21 +6399,21 @@ - + - - - + + + - + - + @@ -6203,21 +6456,21 @@ - + - - - + + + - + - + @@ -6260,21 +6513,21 @@ - + - - - + + + - + - + @@ -6317,21 +6570,21 @@ - + - - - + + + - + - + @@ -6374,21 +6627,21 @@ - + - - - + + + - + - + @@ -6431,21 +6684,21 @@ - + - - - + + + - + - + @@ -6488,21 +6741,21 @@ - + - - - + + + - + - + @@ -6545,21 +6798,21 @@ - + - - - + + + - + - + @@ -6602,21 +6855,21 @@ - + - - - + + + - + - + @@ -6659,21 +6912,21 @@ - + - - - + + + - + - + @@ -6716,21 +6969,21 @@ - + - - - + + + - + - + @@ -6773,21 +7026,21 @@ - + - - - + + + - + - + @@ -6830,78 +7083,21 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + - + - + @@ -6944,21 +7140,21 @@ - + - - - + + + - + - + @@ -6991,7 +7187,7 @@ - + @@ -7001,21 +7197,21 @@ - + - - + + - + - + @@ -7058,21 +7254,21 @@ - + - - - + + + - + - + @@ -7115,78 +7311,21 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + - + - + @@ -7229,21 +7368,21 @@ - + - - - + + + - + - + @@ -7276,7 +7415,7 @@ - + @@ -7286,21 +7425,21 @@ - + - - - + + + - + - + @@ -7343,21 +7482,21 @@ - + - - - + + + - + - + @@ -7390,7 +7529,7 @@ - + @@ -7400,21 +7539,78 @@ - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -7457,21 +7653,21 @@ - + - - - + + + - + - + @@ -7514,21 +7710,21 @@ - + - - + + - + - + @@ -7571,21 +7767,21 @@ - + - - + + - + - + @@ -7628,21 +7824,21 @@ - + - - + + - + - + @@ -7675,7 +7871,7 @@ - + @@ -7685,21 +7881,21 @@ - + - - - + + + - + - + @@ -7742,21 +7938,21 @@ - + - - + + - + - + @@ -7789,7 +7985,7 @@ - + @@ -7799,21 +7995,21 @@ - + - - + + - + - + @@ -7856,21 +8052,21 @@ - + - - + + - + - + @@ -7913,21 +8109,21 @@ - + - - - + + + - + - + @@ -7970,21 +8166,21 @@ - + - - - + + + - + - + @@ -8027,21 +8223,21 @@ - + - - + + - + - + @@ -8084,21 +8280,21 @@ - + - - - + + + - + - + @@ -8141,21 +8337,21 @@ - + - - - + + + - + - + @@ -8198,21 +8394,21 @@ - + - - - + + + - + - + @@ -8255,21 +8451,21 @@ - + - - - + + + - + - + @@ -8312,21 +8508,21 @@ - + - - + + - + - + @@ -8369,21 +8565,249 @@ - + - - + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9068,21 +9492,21 @@ - + - + - + - + @@ -9244,6 +9668,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11528,27 +12072,27 @@ - + - + - + - + - + - + @@ -19540,9 +20084,9 @@ - + - + @@ -21824,6 +22368,388 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -23344,6 +24270,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -26431,7 +27517,7 @@ - + @@ -28347,9 +29433,9 @@ - + - + @@ -29670,21 +30756,21 @@ - + - - - + + + - + - + @@ -29705,10 +30791,10 @@ - + - + @@ -29721,21 +30807,21 @@ - + - - - + + + - + - + @@ -29759,7 +30845,7 @@ - + @@ -29772,123 +30858,21 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + - + - + @@ -29909,10 +30893,10 @@ - + - + @@ -29925,21 +30909,21 @@ - + - - - + + + - + - + @@ -29960,13 +30944,115 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -29976,21 +31062,21 @@ - + - - - + + + - + - + @@ -30017,7 +31103,7 @@ - + @@ -30027,21 +31113,21 @@ - + - - + + - + - + @@ -30062,13 +31148,13 @@ - + - + - + @@ -30078,21 +31164,21 @@ - + - - + + - + - + @@ -30116,7 +31202,7 @@ - + @@ -30129,21 +31215,21 @@ - + - - - + + + - + - + @@ -30164,13 +31250,13 @@ - + - + - + @@ -30180,21 +31266,21 @@ - + - - - + + + - + - + @@ -30218,7 +31304,7 @@ - + @@ -30231,21 +31317,21 @@ - + - - - + + + - + - + @@ -30282,21 +31368,21 @@ - + - - + + - + - + @@ -30333,21 +31419,21 @@ - + - - + + - + - + @@ -30368,10 +31454,10 @@ - + - + @@ -30384,21 +31470,21 @@ - + - - - + + + - + - + @@ -30419,10 +31505,10 @@ - + - + @@ -30435,21 +31521,21 @@ - + - - - + + + - + - + @@ -30470,10 +31556,10 @@ - + - + @@ -30486,21 +31572,21 @@ - + - - - + + + - + - + @@ -30521,10 +31607,10 @@ - + - + @@ -30537,21 +31623,225 @@ - + - - - + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -33264,21 +34554,21 @@ - + - + - + - + - + @@ -33537,21 +34827,21 @@ - + - + - + - + - + @@ -38052,7 +39342,7 @@ - + @@ -40317,21 +41607,21 @@ - + - - - + + + - + - + @@ -40373,7 +41663,7 @@ - + @@ -40385,10 +41675,10 @@ - + - + @@ -40401,21 +41691,21 @@ - + - - - + + + - + - + @@ -40457,7 +41747,7 @@ - + @@ -40469,10 +41759,10 @@ - + - + @@ -40485,21 +41775,21 @@ - + - - - + + + - + - + @@ -40541,7 +41831,7 @@ - + @@ -40553,10 +41843,10 @@ - + - + @@ -40569,21 +41859,21 @@ - + - - - + + + - + - + @@ -40625,7 +41915,7 @@ - + @@ -40653,21 +41943,21 @@ - + - - - + + + - + - + @@ -40709,7 +41999,7 @@ - + @@ -40721,10 +42011,10 @@ - + - + @@ -40737,21 +42027,21 @@ - + - - - + + + - + - + @@ -40805,7 +42095,7 @@ - + @@ -40821,21 +42111,21 @@ - + - - - + + + - + - + @@ -40889,7 +42179,7 @@ - + @@ -40905,21 +42195,21 @@ - + - - - + + + - + - + @@ -40973,7 +42263,7 @@ - + @@ -40989,21 +42279,21 @@ - + - - - + + + - + - + @@ -41057,10 +42347,10 @@ - + - + @@ -41073,21 +42363,21 @@ - + - - - + + + - + - + @@ -41141,13 +42431,13 @@ - + - + - + @@ -41157,21 +42447,21 @@ - + - - - + + + - + - + @@ -41225,13 +42515,13 @@ - + - + - + @@ -41241,21 +42531,21 @@ - + - - - + + + - + - + @@ -41309,10 +42599,10 @@ - + - + @@ -41325,21 +42615,21 @@ - + - - - + + + - + - + @@ -41393,13 +42683,13 @@ - + - + @@ -41409,21 +42699,21 @@ - + - - - + + + - + - + @@ -41483,7 +42773,7 @@ - + @@ -41493,21 +42783,21 @@ - + - - - + + + - + - + @@ -41567,7 +42857,7 @@ - + @@ -41577,21 +42867,21 @@ - + - - - + + + - + - + @@ -41648,10 +42938,7 @@ - - - - + @@ -41664,21 +42951,21 @@ - + - - - + + + - + - + @@ -41732,16 +43019,13 @@ - - - - + - + - + @@ -41751,21 +43035,21 @@ - + - - - + + + - + - + @@ -41822,10 +43106,7 @@ - - - - + @@ -41838,21 +43119,21 @@ - + - - - + + + - + - + @@ -41906,10 +43187,10 @@ - + - + @@ -41922,21 +43203,21 @@ - + - - - + + + - + - + @@ -41995,6 +43276,9 @@ + + + @@ -42006,21 +43290,21 @@ - + - - - + + + - + - + @@ -42079,6 +43363,9 @@ + + + @@ -42090,21 +43377,21 @@ - + - - - + + + - + - + @@ -42163,6 +43450,9 @@ + + + @@ -42174,21 +43464,105 @@ - + - - - + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -42245,7 +43619,7 @@ - + @@ -42258,21 +43632,21 @@ - + - - - + + + - + - + @@ -42326,10 +43700,10 @@ - + - + @@ -42342,21 +43716,105 @@ - + - - - + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -42426,21 +43884,21 @@ - + - - - + + + - + - + @@ -42510,21 +43968,21 @@ - + - - + + - + - + @@ -42594,21 +44052,189 @@ - + - - + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -45878,22 +47504,25 @@ - + - - - + + + - + - + + + + @@ -45907,7 +47536,13 @@ - + + + + + + + @@ -45928,7 +47563,10 @@ - + + + + @@ -45938,36 +47576,30 @@ - + - - - + + + - + - + - - - - - - - + - + - + @@ -45988,7 +47620,13 @@ - + + + + + + + @@ -45998,39 +47636,30 @@ - + - - - + + + - + - + - - - - - - - - - - + - + - + @@ -46051,7 +47680,10 @@ - + + + + @@ -46061,39 +47693,30 @@ - + - - - + + + - + - + - - - - - - - - - - + - + - + @@ -46114,7 +47737,10 @@ - + + + + @@ -46124,21 +47750,21 @@ - + - - - + + + - + - + @@ -46152,9 +47778,6 @@ - - - @@ -46187,21 +47810,21 @@ - + - - - + + + - + - + @@ -46215,9 +47838,6 @@ - - - @@ -46250,25 +47870,22 @@ - + - - - + + + - + - + - - - @@ -46287,9 +47904,6 @@ - - - @@ -46308,9 +47922,6 @@ - - - @@ -46322,25 +47933,22 @@ - + - - - + + + - + - + - - - @@ -46359,9 +47967,6 @@ - - - @@ -46381,10 +47986,7 @@ - - - - + @@ -46394,21 +47996,21 @@ - + - - - + + + - + - + @@ -46428,9 +48030,6 @@ - - - @@ -46450,10 +48049,7 @@ - - - - + @@ -46463,21 +48059,21 @@ - + - - - + + + - + - + @@ -46497,9 +48093,6 @@ - - - @@ -46519,10 +48112,7 @@ - - - - + @@ -46532,22 +48122,25 @@ - + - - - + + + - + - + + + + @@ -46591,7 +48184,7 @@ - + @@ -46601,22 +48194,25 @@ - + - - - + + + - + - + + + + @@ -46635,6 +48231,9 @@ + + + @@ -46653,6 +48252,9 @@ + + + @@ -46664,21 +48266,21 @@ - + - - - + + + - + - + @@ -46698,6 +48300,9 @@ + + + @@ -46716,6 +48321,9 @@ + + + @@ -46727,21 +48335,21 @@ - + - - - + + + - + - + @@ -46761,6 +48369,9 @@ + + + @@ -46783,7 +48394,7 @@ - + @@ -46793,21 +48404,21 @@ - + - - - + + + - + - + @@ -46827,6 +48438,9 @@ + + + @@ -46859,21 +48473,147 @@ - + - - - + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -46925,21 +48665,21 @@ - + - - - + + + - + - + @@ -46959,9 +48699,6 @@ - - - @@ -46994,21 +48731,21 @@ - + - - - + + + - + - + @@ -47028,9 +48765,6 @@ - - - @@ -47063,21 +48797,21 @@ - + - - + + - + - + @@ -47132,21 +48866,21 @@ - + - - + + - + - + @@ -47201,21 +48935,21 @@ - + - - + + - + - + @@ -47270,21 +49004,21 @@ - + - - - + + + - + - + @@ -47339,21 +49073,21 @@ - + - - - + + + - + - + @@ -47408,21 +49142,21 @@ - + - - - + + + - + - + @@ -47439,9 +49173,6 @@ - - - @@ -47480,21 +49211,21 @@ - + - - - + + + - + - + @@ -47511,9 +49242,6 @@ - - - @@ -47552,21 +49280,21 @@ - + - - - + + + - + - + @@ -47624,21 +49352,21 @@ - + - - - + + + - + - + @@ -47696,21 +49424,21 @@ - + - - - + + + - + - + @@ -47768,21 +49496,21 @@ - + - - - + + + - + - + @@ -47840,21 +49568,21 @@ - + - - - + + + - + - + @@ -47912,21 +49640,21 @@ - + - - - + + + - + - + @@ -47984,21 +49712,165 @@ - + - - + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -51587,7 +53459,7 @@ - + @@ -51926,66 +53798,381 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + @@ -52006,7 +54193,7 @@ - + @@ -52016,21 +54203,21 @@ - + - - - + + + - + - + @@ -52061,21 +54248,21 @@ - + - - - + + + - + - + @@ -52106,21 +54293,21 @@ - + - - + + - + - + @@ -52151,21 +54338,21 @@ - + - - + + - + - + @@ -52196,21 +54383,21 @@ - + - - + + - + - + @@ -52241,21 +54428,21 @@ - + - - + + - + - + @@ -52286,66 +54473,21 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + - + - + @@ -52376,21 +54518,21 @@ - + - - + + - + - + @@ -52421,21 +54563,21 @@ - + - - + + - + - + @@ -52456,7 +54598,7 @@ - + @@ -52466,21 +54608,21 @@ - + - - + + - + - + @@ -52511,66 +54653,21 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + - + - + @@ -52591,52 +54688,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -52646,21 +54698,21 @@ - + - - - + + + - + - + @@ -52681,7 +54733,7 @@ - + @@ -52691,21 +54743,21 @@ - + - - - + + + - + - + @@ -52736,21 +54788,21 @@ - + - - - + + + - + - + @@ -52771,7 +54823,7 @@ - + @@ -55934,9 +57986,9 @@ - + - + @@ -56696,21 +58748,213 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - + @@ -56744,21 +58988,21 @@ - + - - - + + + - + - + @@ -56792,21 +59036,21 @@ - + - - - + + + - + - + @@ -56830,7 +59074,7 @@ - + @@ -56840,21 +59084,21 @@ - + - - - + + + - + - + @@ -56888,21 +59132,21 @@ - + - - - + + + - + - + @@ -56926,7 +59170,7 @@ - + @@ -56936,21 +59180,21 @@ - + - - - + + + - + - + @@ -56974,7 +59218,7 @@ - + @@ -56984,21 +59228,21 @@ - + - - + + - + - + @@ -57022,7 +59266,7 @@ - + @@ -60726,23 +62970,215 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - - + + @@ -60766,7 +63202,7 @@ - + @@ -60776,21 +63212,21 @@ - + - - - + + + - + - + @@ -60824,21 +63260,21 @@ - + - - + + - + - + @@ -60872,21 +63308,21 @@ - + - - - + + + - + - + @@ -60920,21 +63356,21 @@ - + - - + + - + - + @@ -60968,21 +63404,21 @@ - + - - - + + + - + - + @@ -61016,21 +63452,21 @@ - + - - - + + + - + - + @@ -61064,21 +63500,21 @@ - + - - - + + + - + - + @@ -61112,21 +63548,21 @@ - + - - - + + + - + - + @@ -61160,21 +63596,21 @@ - + - - - + + + - + - + @@ -61208,21 +63644,21 @@ - + - - - + + + - + - + @@ -61256,21 +63692,21 @@ - + - - - + + + - + - + @@ -61304,21 +63740,21 @@ - + - - + + - + - + @@ -61352,21 +63788,21 @@ - + - - + + - + - + @@ -61400,21 +63836,21 @@ - + - - - + + + - + - + @@ -61448,21 +63884,21 @@ - + - - - + + + - + - + @@ -61496,21 +63932,21 @@ - + - - + + - + - + @@ -61544,21 +63980,21 @@ - + - - - + + + - + - + @@ -61592,21 +64028,21 @@ - + - - - + + + - + - + @@ -61630,7 +64066,7 @@ - + @@ -61640,21 +64076,21 @@ - + - - - + + + - + - + @@ -61688,21 +64124,21 @@ - + - - - + + + - + - + @@ -61726,7 +64162,7 @@ - + @@ -61736,21 +64172,21 @@ - + - - - + + + - + - + @@ -61774,7 +64210,7 @@ - + @@ -61784,21 +64220,21 @@ - + - - - + + + - + - + @@ -61822,7 +64258,7 @@ - + @@ -65219,9 +67655,9 @@ - + - + diff --git a/cnf/releaserepo/index.xml.sha b/cnf/releaserepo/index.xml.sha index f5a405f9..2e0015a8 100644 --- a/cnf/releaserepo/index.xml.sha +++ b/cnf/releaserepo/index.xml.sha @@ -1 +1 @@ -ed2e0236c3ccaf84928b95d66048dee2706bad47fcd9af4681292b3ed7c3db61 \ No newline at end of file +ddb43344d88d2a8f2e84bc741897f6fea91e5883c414bbea102c2b3e124c8de9 \ No newline at end of file diff --git a/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-10.0.4.jar b/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-10.0.4.jar new file mode 100644 index 00000000..8ab289e9 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-10.0.4.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-10.0.5.jar b/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-10.0.5.jar new file mode 100644 index 00000000..eb9907be Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-10.0.5.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-10.0.6.jar b/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-10.0.6.jar new file mode 100644 index 00000000..c9117ee7 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-10.0.6.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-10.0.7.jar b/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-10.0.7.jar new file mode 100644 index 00000000..1e161732 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-10.0.7.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-9.1.66.jar b/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-9.1.66.jar index 97112346..f6db228c 100644 Binary files a/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-9.1.66.jar and b/cnf/releaserepo/pnnl.goss.core.core-api/pnnl.goss.core.core-api-9.1.66.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.161.jar b/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.161.jar index b5a147a4..8272eb58 100644 Binary files a/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.161.jar and b/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.161.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.173.jar b/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.173.jar new file mode 100644 index 00000000..7a60049f Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.173.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.174.jar b/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.174.jar new file mode 100644 index 00000000..2df3bed0 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.174.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.175.jar b/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.175.jar new file mode 100644 index 00000000..890f198e Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.175.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.176.jar b/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.176.jar new file mode 100644 index 00000000..d8dccf1a Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-client/pnnl.goss.core.goss-client-2.0.176.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.109.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.109.jar index 1c782795..836ba6fc 100644 Binary files a/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.109.jar and b/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.109.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.114.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.114.jar new file mode 100644 index 00000000..04e93795 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.114.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.115.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.115.jar new file mode 100644 index 00000000..5c7632ae Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.115.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.116.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.116.jar new file mode 100644 index 00000000..285b0fcd Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.116.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.117.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.117.jar new file mode 100644 index 00000000..6a24e4e8 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-commands/pnnl.goss.core.goss-core-commands-2.0.117.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-exceptions/pnnl.goss.core.goss-core-exceptions-2.1.0.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-exceptions/pnnl.goss.core.goss-core-exceptions-2.1.0.jar index c48d2961..3852a739 100644 Binary files a/cnf/releaserepo/pnnl.goss.core.goss-core-exceptions/pnnl.goss.core.goss-core-exceptions-2.1.0.jar and b/cnf/releaserepo/pnnl.goss.core.goss-core-exceptions/pnnl.goss.core.goss-core-exceptions-2.1.0.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-5.0.54.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-5.0.54.jar index a269eb4c..4c64bc6c 100644 Binary files a/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-5.0.54.jar and b/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-5.0.54.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-7.0.0.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-7.0.0.jar new file mode 100644 index 00000000..9e7a5297 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-7.0.0.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-8.0.0.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-8.0.0.jar new file mode 100644 index 00000000..e7699831 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-8.0.0.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-9.0.0.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-9.0.0.jar new file mode 100644 index 00000000..7965a912 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-9.0.0.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-9.0.1.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-9.0.1.jar new file mode 100644 index 00000000..ef1bebb9 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-security/pnnl.goss.core.goss-core-security-9.0.1.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.132.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.132.jar new file mode 100644 index 00000000..32a55095 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.132.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.133.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.133.jar new file mode 100644 index 00000000..f11e5a15 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.133.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.134.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.134.jar new file mode 100644 index 00000000..c0e39d24 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.134.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.135.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.135.jar new file mode 100644 index 00000000..785c364d Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.135.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.84.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.84.jar index 80abec75..0aa042da 100644 Binary files a/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.84.jar and b/cnf/releaserepo/pnnl.goss.core.goss-core-server-api/pnnl.goss.core.goss-core-server-api-3.0.84.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.133.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.133.jar index 4dfe5f03..64a0d6ee 100644 Binary files a/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.133.jar and b/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.133.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.179.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.179.jar new file mode 100644 index 00000000..ee86293a Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.179.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.180.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.180.jar new file mode 100644 index 00000000..1ab53095 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.180.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.181.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.181.jar new file mode 100644 index 00000000..d43808ba Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.181.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.182.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.182.jar new file mode 100644 index 00000000..388a9dd9 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-server-registry/pnnl.goss.core.goss-core-server-registry-1.0.182.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server-web/pnnl.goss.core.goss-core-server-web-1.1.43.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server-web/pnnl.goss.core.goss-core-server-web-1.1.43.jar index fa5ccb6d..14ca0a3f 100644 Binary files a/cnf/releaserepo/pnnl.goss.core.goss-core-server-web/pnnl.goss.core.goss-core-server-web-1.1.43.jar and b/cnf/releaserepo/pnnl.goss.core.goss-core-server-web/pnnl.goss.core.goss-core-server-web-1.1.43.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server-web/pnnl.goss.core.goss-core-server-web-1.1.48.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server-web/pnnl.goss.core.goss-core-server-web-1.1.48.jar index 6f0edabe..7f879a64 100644 Binary files a/cnf/releaserepo/pnnl.goss.core.goss-core-server-web/pnnl.goss.core.goss-core-server-web-1.1.48.jar and b/cnf/releaserepo/pnnl.goss.core.goss-core-server-web/pnnl.goss.core.goss-core-server-web-1.1.48.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.151.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.151.jar index 7e70eef5..d446a073 100644 Binary files a/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.151.jar and b/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.151.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.197.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.197.jar new file mode 100644 index 00000000..4d84983e Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.197.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.198.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.198.jar new file mode 100644 index 00000000..a7ba6703 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.198.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.199.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.199.jar new file mode 100644 index 00000000..920c4f36 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.199.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.200.jar b/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.200.jar new file mode 100644 index 00000000..e7c9e9d6 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.goss-core-server/pnnl.goss.core.goss-core-server-2.0.200.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.144.jar b/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.144.jar new file mode 100644 index 00000000..0c80b583 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.144.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.145.jar b/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.145.jar new file mode 100644 index 00000000..464831ed Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.145.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.146.jar b/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.146.jar new file mode 100644 index 00000000..96899fa3 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.146.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.147.jar b/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.147.jar new file mode 100644 index 00000000..9998c99c Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.147.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.96.jar b/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.96.jar index 5e90ed6a..5116222b 100644 Binary files a/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.96.jar and b/cnf/releaserepo/pnnl.goss.core.security-jwt/pnnl.goss.core.security-jwt-1.0.96.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.129.jar b/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.129.jar new file mode 100644 index 00000000..c90c15f8 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.129.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.130.jar b/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.130.jar new file mode 100644 index 00000000..0ccb6cc0 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.130.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.131.jar b/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.131.jar new file mode 100644 index 00000000..b1bee290 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.131.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.132.jar b/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.132.jar new file mode 100644 index 00000000..f3eb9bac Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.132.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.83.jar b/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.83.jar index dba40cfe..20ec57c7 100644 Binary files a/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.83.jar and b/cnf/releaserepo/pnnl.goss.core.security-ldap/pnnl.goss.core.security-ldap-1.0.83.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.140.jar b/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.140.jar new file mode 100644 index 00000000..90ef9c8a Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.140.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.141.jar b/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.141.jar new file mode 100644 index 00000000..2927d27b Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.141.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.142.jar b/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.142.jar new file mode 100644 index 00000000..7ed0863d Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.142.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.143.jar b/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.143.jar new file mode 100644 index 00000000..7018b936 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.143.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.94.jar b/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.94.jar index a20ad453..25d90d55 100644 Binary files a/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.94.jar and b/cnf/releaserepo/pnnl.goss.core.security-propertyfile/pnnl.goss.core.security-propertyfile-2.0.94.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.139.jar b/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.139.jar new file mode 100644 index 00000000..7273b999 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.139.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.140.jar b/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.140.jar new file mode 100644 index 00000000..7f56524d Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.140.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.141.jar b/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.141.jar new file mode 100644 index 00000000..c56b2343 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.141.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.142.jar b/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.142.jar new file mode 100644 index 00000000..4fd86d58 Binary files /dev/null and b/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.142.jar differ diff --git a/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.93.jar b/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.93.jar index 3fc98a39..c1b70e5a 100644 Binary files a/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.93.jar and b/cnf/releaserepo/pnnl.goss.core.security-system/pnnl.goss.core.security-system-2.0.93.jar differ diff --git a/pnnl.goss.core/core-api.bnd b/pnnl.goss.core/core-api.bnd index 711c9a18..baa47e4b 100644 --- a/pnnl.goss.core/core-api.bnd +++ b/pnnl.goss.core/core-api.bnd @@ -1,4 +1,4 @@ Export-Package: \ com.northconcepts.exception,\ pnnl.goss.core -Bundle-Version: 10.0.3.${tstamp} +Bundle-Version: 10.0.7.${tstamp} diff --git a/pnnl.goss.core/goss-client.bnd b/pnnl.goss.core/goss-client.bnd index bfcc3ff6..dab16464 100644 --- a/pnnl.goss.core/goss-client.bnd +++ b/pnnl.goss.core/goss-client.bnd @@ -1,3 +1,3 @@ Private-Package: \ pnnl.goss.core.client -Bundle-Version: 2.0.172.${tstamp} \ No newline at end of file +Bundle-Version: 2.0.176.${tstamp} \ No newline at end of file diff --git a/pnnl.goss.core/goss-core-commands.bnd b/pnnl.goss.core/goss-core-commands.bnd index 1dc5e875..b915f578 100644 --- a/pnnl.goss.core/goss-core-commands.bnd +++ b/pnnl.goss.core/goss-core-commands.bnd @@ -1,3 +1,3 @@ Private-Package: \ pnnl.goss.core.commands -Bundle-Version: 2.0.113.${tstamp} \ No newline at end of file +Bundle-Version: 2.0.117.${tstamp} \ No newline at end of file diff --git a/pnnl.goss.core/goss-core-security.bnd b/pnnl.goss.core/goss-core-security.bnd index 1e915c52..f2125f24 100644 --- a/pnnl.goss.core/goss-core-security.bnd +++ b/pnnl.goss.core/goss-core-security.bnd @@ -4,4 +4,4 @@ Private-Package: \ Bundle-Activator: pnnl.goss.core.security.impl.Activator Export-Package: \ pnnl.goss.core.security -Bundle-Version: 6.0.3.${tstamp} \ No newline at end of file +Bundle-Version: 9.0.1.${tstamp} \ No newline at end of file diff --git a/pnnl.goss.core/goss-core-server-api.bnd b/pnnl.goss.core/goss-core-server-api.bnd index b013a349..bcc7fa09 100644 --- a/pnnl.goss.core/goss-core-server-api.bnd +++ b/pnnl.goss.core/goss-core-server-api.bnd @@ -1,3 +1,3 @@ Export-Package: \ pnnl.goss.core.server -Bundle-Version: 3.0.131.${tstamp} \ No newline at end of file +Bundle-Version: 3.0.135.${tstamp} \ No newline at end of file diff --git a/pnnl.goss.core/goss-core-server-registry.bnd b/pnnl.goss.core/goss-core-server-registry.bnd index 375c9ba4..c8a61501 100644 --- a/pnnl.goss.core/goss-core-server-registry.bnd +++ b/pnnl.goss.core/goss-core-server-registry.bnd @@ -1,4 +1,4 @@ -Bundle-Version: 1.0.178.${tstamp} +Bundle-Version: 1.0.182.${tstamp} Private-Package: \ pnnl.goss.server.registry DynamicImport-Package: * \ No newline at end of file diff --git a/pnnl.goss.core/goss-core-server.bnd b/pnnl.goss.core/goss-core-server.bnd index 250169e4..6e63f2f3 100644 --- a/pnnl.goss.core/goss-core-server.bnd +++ b/pnnl.goss.core/goss-core-server.bnd @@ -3,4 +3,4 @@ Private-Package: \ DynamicImport-Package: * #Include-Resource: \ # OSGI-INF/blueprint/blueprint.xml=config/blueprint.xml -Bundle-Version: 2.0.196.${tstamp} \ No newline at end of file +Bundle-Version: 2.0.200.${tstamp} \ No newline at end of file diff --git a/pnnl.goss.core/security-jwt.bnd b/pnnl.goss.core/security-jwt.bnd index 637ac378..45a84a6c 100644 --- a/pnnl.goss.core/security-jwt.bnd +++ b/pnnl.goss.core/security-jwt.bnd @@ -1,2 +1,2 @@ Private-Package: pnnl.goss.core.security.jwt -Bundle-Version: 1.0.143.${tstamp} +Bundle-Version: 1.0.147.${tstamp} diff --git a/pnnl.goss.core/security-ldap.bnd b/pnnl.goss.core/security-ldap.bnd index fa259ca2..c8d0a54d 100644 --- a/pnnl.goss.core/security-ldap.bnd +++ b/pnnl.goss.core/security-ldap.bnd @@ -1,3 +1,3 @@ Private-Package: \ pnnl.goss.core.security.ldap -Bundle-Version: 1.0.128.${tstamp} +Bundle-Version: 1.0.132.${tstamp} diff --git a/pnnl.goss.core/security-propertyfile.bnd b/pnnl.goss.core/security-propertyfile.bnd index 53e6487b..4c025ea3 100644 --- a/pnnl.goss.core/security-propertyfile.bnd +++ b/pnnl.goss.core/security-propertyfile.bnd @@ -1,3 +1,3 @@ Private-Package: \ pnnl.goss.core.security.propertyfile -Bundle-Version: 2.0.139.${tstamp} +Bundle-Version: 2.0.143.${tstamp} diff --git a/pnnl.goss.core/security-system.bnd b/pnnl.goss.core/security-system.bnd index 177c0057..5d49b96d 100644 --- a/pnnl.goss.core/security-system.bnd +++ b/pnnl.goss.core/security-system.bnd @@ -1,2 +1,2 @@ Private-Package: pnnl.goss.core.security.system -Bundle-Version: 2.0.138.${tstamp} +Bundle-Version: 2.0.142.${tstamp} diff --git a/pnnl.goss.core/src/pnnl/goss/core/client/GossClient.java b/pnnl.goss.core/src/pnnl/goss/core/client/GossClient.java index 598fd922..8e901b35 100644 --- a/pnnl.goss.core/src/pnnl/goss/core/client/GossClient.java +++ b/pnnl.goss.core/src/pnnl/goss/core/client/GossClient.java @@ -48,6 +48,7 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.Base64; +import java.util.Date; import java.util.Enumeration; import java.util.List; import java.util.UUID; @@ -88,9 +89,9 @@ import pnnl.goss.core.GossResponseEvent; import pnnl.goss.core.Request.RESPONSE_FORMAT; import pnnl.goss.core.security.GossSecurityManager; +import pnnl.goss.core.security.JWTAuthenticationToken; import pnnl.goss.core.security.SecurityConstants; import pnnl.goss.core.security.impl.SecurityManagerImpl; -import pnnl.goss.core.security.jwt.JWTAuthenticationToken; import pnnl.goss.core.Response; import pnnl.goss.core.ResponseError; @@ -634,7 +635,8 @@ protected String getToken(Credentials credentials) throws JMSException{ pwConnection.start(); Session pwSession = pwConnection.createSession(false, Session.CLIENT_ACKNOWLEDGE); - Destination replyDestination = pwSession.createQueue("temp.token_resp."+credentials.getUserPrincipal().getName()); + String dt = ""+new Date().getTime(); + Destination replyDestination = pwSession.createQueue("temp.token_resp."+credentials.getUserPrincipal().getName()+"-"+dt); Destination destination = getDestination(GossCoreContants.PROP_TOKEN_QUEUE, pwConnection, pwSession); ClientPublishser pwClientPublisher = new DefaultClientPublisher(credentials .getUserPrincipal().getName(), pwSession); diff --git a/pnnl.goss.core/src/pnnl/goss/core/security/jwt/JWTAuthenticationToken.java b/pnnl.goss.core/src/pnnl/goss/core/security/JWTAuthenticationToken.java similarity index 97% rename from pnnl.goss.core/src/pnnl/goss/core/security/jwt/JWTAuthenticationToken.java rename to pnnl.goss.core/src/pnnl/goss/core/security/JWTAuthenticationToken.java index 6a6480a5..dfacd20c 100644 --- a/pnnl.goss.core/src/pnnl/goss/core/security/jwt/JWTAuthenticationToken.java +++ b/pnnl.goss.core/src/pnnl/goss/core/security/JWTAuthenticationToken.java @@ -1,4 +1,4 @@ -package pnnl.goss.core.security.jwt; +package pnnl.goss.core.security; import java.util.List; diff --git a/pnnl.goss.core/src/pnnl/goss/core/security/SecurityConfig.java b/pnnl.goss.core/src/pnnl/goss/core/security/SecurityConfig.java index 262ec29f..3f102993 100644 --- a/pnnl.goss.core/src/pnnl/goss/core/security/SecurityConfig.java +++ b/pnnl.goss.core/src/pnnl/goss/core/security/SecurityConfig.java @@ -1,8 +1,12 @@ package pnnl.goss.core.security; +import java.util.Set; + public interface SecurityConfig { public String getManagerUser(); public String getManagerPassword(); public boolean getUseToken(); - public byte[] getTokenSecret(); + public boolean validateToken(String token); + public JWTAuthenticationToken parseToken(String token); + public String createToken(Object userId, Set roles); } diff --git a/pnnl.goss.core/src/pnnl/goss/core/security/jwt/MACVerifierExtended.java b/pnnl.goss.core/src/pnnl/goss/core/security/impl/MACVerifierExtended.java similarity index 97% rename from pnnl.goss.core/src/pnnl/goss/core/security/jwt/MACVerifierExtended.java rename to pnnl.goss.core/src/pnnl/goss/core/security/impl/MACVerifierExtended.java index 7657aa9e..fa15a16a 100644 --- a/pnnl.goss.core/src/pnnl/goss/core/security/jwt/MACVerifierExtended.java +++ b/pnnl.goss.core/src/pnnl/goss/core/security/impl/MACVerifierExtended.java @@ -1,4 +1,4 @@ -package pnnl.goss.core.security.jwt; +package pnnl.goss.core.security.impl; import java.util.Date; diff --git a/pnnl.goss.core/src/pnnl/goss/core/security/impl/SecurityConfigImpl.java b/pnnl.goss.core/src/pnnl/goss/core/security/impl/SecurityConfigImpl.java index d29bb13a..fc5d1b8f 100644 --- a/pnnl.goss.core/src/pnnl/goss/core/security/impl/SecurityConfigImpl.java +++ b/pnnl.goss.core/src/pnnl/goss/core/security/impl/SecurityConfigImpl.java @@ -1,14 +1,30 @@ package pnnl.goss.core.security.impl; import java.security.SecureRandom; +import java.text.ParseException; +import java.util.ArrayList; +import java.util.Date; import java.util.Dictionary; +import java.util.Set; +import java.util.UUID; import org.apache.felix.dm.annotation.api.Component; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.nimbusds.jose.JOSEException; +import com.nimbusds.jose.JWSAlgorithm; +import com.nimbusds.jose.JWSHeader; +import com.nimbusds.jose.JWSObject; +import com.nimbusds.jose.JWSSigner; +import com.nimbusds.jose.JWSVerifier; +import com.nimbusds.jose.Payload; +import com.nimbusds.jose.crypto.MACSigner; +import com.nimbusds.jwt.JWTClaimsSet; +import com.nimbusds.jwt.SignedJWT; import com.northconcepts.exception.SystemException; +import pnnl.goss.core.security.JWTAuthenticationToken; import pnnl.goss.core.security.SecurityConfig; import pnnl.goss.core.security.SecurityConstants; @@ -19,16 +35,25 @@ public class SecurityConfigImpl implements SecurityConfig { private String managerUser; private String managerPassword; private boolean useToken = false; - private byte[] tokenSecret = generateSharedKey(); - + private byte[] sharedKey = generateSharedKey(); + private Dictionary properties; private static final Logger log = LoggerFactory.getLogger(SecurityConfigImpl.class); + private static final String ISSUED_BY = "GridOPTICS Software System"; + + public SecurityConfigImpl(){ } + protected long getExpirationDate() { + return 1000 * 60 * 60 * 24 * 5; + } + + protected String getIssuer(){return ISSUED_BY;} + void updated(Dictionary properties) { if (properties != null) { @@ -42,7 +67,7 @@ void updated(Dictionary properties) { String secret = getProperty(SecurityConstants.PROP_SYSTEM_TOKEN_SECRET, null); if(secret!=null && secret.trim().length()>0){ - this.tokenSecret = secret.getBytes(); + this.sharedKey = secret.getBytes(); } String useTokenString = getProperty(SecurityConstants.PROP_SYSTEM_USE_TOKEN @@ -100,12 +125,6 @@ public boolean getUseToken() { } - - @Override - public byte[] getTokenSecret() { - return tokenSecret; - } - private byte[] generateSharedKey() { SecureRandom random = new SecureRandom(); @@ -113,5 +132,76 @@ private byte[] generateSharedKey() { random.nextBytes(sharedKey); return sharedKey; } + + private byte[] getSharedKey(){ + if (sharedKey==null ) + sharedKey = generateSharedKey(); + return sharedKey; + } + + public boolean validateToken(String token) { + log.debug("Validate token "+token); + try { + SignedJWT signed = SignedJWT.parse(token); + JWSVerifier verifier = new MACVerifierExtended(getSharedKey(), signed.getJWTClaimsSet()); + boolean verified = signed.verify(verifier); + log.debug("Verified: "+verified); + return verified; + } catch (ParseException ex) { + return false; + } catch (JOSEException ex) { + return false; + } + } + + public String createToken(Object userId, Set roles) { + log.info("Creating token for user "+userId); + try { + //TODO, should also include roles(permissions) + + JWTClaimsSet.Builder builder = new JWTClaimsSet.Builder(); + builder.issuer(getIssuer()); + builder.subject(userId.toString()); + builder.issueTime(new Date()); + builder.notBeforeTime(new Date()); + builder.expirationTime(new Date(new Date().getTime() + getExpirationDate())); + builder.jwtID(UUID.randomUUID().toString()); + + JWTAuthenticationToken tokenObj = new JWTAuthenticationToken(); + tokenObj.setIss(getIssuer()); + tokenObj.setSub(userId.toString()); + tokenObj.setIat(new Date().getTime()); + tokenObj.setNbf(new Date().getTime()); + tokenObj.setExp(new Date(new Date().getTime() + getExpirationDate()).getTime()); + tokenObj.setJti(UUID.randomUUID().toString()); + tokenObj.setRoles(new ArrayList(roles)); + Payload payload = new Payload(tokenObj.toString()); + +// JWTClaimsSet claimsSet = builder.build(); + JWSHeader header = new JWSHeader(JWSAlgorithm.HS256); + JWSObject jwsObject = new JWSObject(header, payload); + + JWSSigner signer = new MACSigner(getSharedKey()); + jwsObject.sign(signer); + return jwsObject.serialize(); + } catch (JOSEException ex) { + return null; + } + } + + public JWTAuthenticationToken parseToken(String token){ + try{ + SignedJWT signed = SignedJWT.parse(token); + Payload payload = signed.getPayload(); + String jsonToken = payload.toJSONObject().toJSONString(); + log.info("Json token: "+jsonToken); + // look up permissions based on roles and add them + JWTAuthenticationToken tokenObj = JWTAuthenticationToken.parse(jsonToken); + return tokenObj; + }catch (ParseException e) { + // TODO: handle exception + return null; + } + } } diff --git a/pnnl.goss.core/src/pnnl/goss/core/security/jwt/UnauthTokenBasedRealm.java b/pnnl.goss.core/src/pnnl/goss/core/security/jwt/UnauthTokenBasedRealm.java index 2800c4a7..d7800d77 100644 --- a/pnnl.goss.core/src/pnnl/goss/core/security/jwt/UnauthTokenBasedRealm.java +++ b/pnnl.goss.core/src/pnnl/goss/core/security/jwt/UnauthTokenBasedRealm.java @@ -1,12 +1,8 @@ package pnnl.goss.core.security.jwt; import java.text.ParseException; -import java.util.ArrayList; -import java.util.Arrays; import java.util.Dictionary; -import java.util.Enumeration; import java.util.HashSet; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; @@ -24,18 +20,15 @@ import org.apache.shiro.authz.permission.PermissionResolver; import org.apache.shiro.realm.AuthorizingRealm; import org.apache.shiro.subject.PrincipalCollection; -import org.apache.shiro.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.nimbusds.jose.JWSVerifier; -import com.nimbusds.jose.Payload; -import com.nimbusds.jwt.SignedJWT; import com.northconcepts.exception.SystemException; import pnnl.goss.core.GossCoreContants; import pnnl.goss.core.security.GossPermissionResolver; import pnnl.goss.core.security.GossRealm; +import pnnl.goss.core.security.JWTAuthenticationToken; import pnnl.goss.core.security.RoleManager; import pnnl.goss.core.security.SecurityConfig; @@ -70,9 +63,6 @@ public class UnauthTokenBasedRealm extends AuthorizingRealm implements GossRealm @ServiceDependency private volatile SecurityConfig securityConfig; - @ServiceDependency - private volatile UserRepository userRepository; - @ServiceDependency private volatile RoleManager roleManager; @@ -119,7 +109,7 @@ protected AuthorizationInfo doGetAuthorizationInfo( String username = (String) getAvailablePrincipal(principals); AuthorizationInfo accnt = tokenMap.get(username); if(accnt==null){ - log.debug("No authrorization info found for "+username); + log.debug("No authorization info found for "+username); } return accnt; } @@ -139,20 +129,15 @@ protected AuthenticationInfo doGetAuthenticationInfo( //If it receives a token if (username!=null && username.length()>250 && pw.length==0) { //Validate token - boolean verified = userRepository.validateToken(username); + boolean verified = securityConfig.validateToken(username); log.info("Recieved token: "+username+" verified: "+verified); if(verified){ //TODO get username from token, get permissions for username - SignedJWT signed; try { - signed = SignedJWT.parse(username); - Payload payload = signed.getPayload(); - String jsonToken = payload.toJSONObject().toJSONString(); - log.info("Json token: "+jsonToken); // look up permissions based on roles and add them Set permissions = new HashSet(); - JWTAuthenticationToken tokenObj = JWTAuthenticationToken.parse(jsonToken); + JWTAuthenticationToken tokenObj = securityConfig.parseToken(username); log.info("Has token roles: "+tokenObj.getRoles()); if(roleManager!=null){ @@ -192,9 +177,11 @@ protected AuthenticationInfo doGetAuthenticationInfo( acnt.addStringPermission("topic:ActiveMQ.Advisory.Connection:create"); acnt.addStringPermission("topic:ActiveMQ.Advisory.Queue:create"); acnt.addStringPermission("topic:ActiveMQ.Advisory.Consumer.Queue.temp.token_resp."+userName); + acnt.addStringPermission("topic:ActiveMQ.Advisory.Consumer.Queue.temp.token_resp."+userName+"-*"); acnt.addStringPermission("topic:"+GossCoreContants.PROP_TOKEN_QUEUE+":write"); acnt.addStringPermission("topic:"+GossCoreContants.PROP_TOKEN_QUEUE+":create"); acnt.addStringPermission("queue:temp.token_resp."+userName); + acnt.addStringPermission("queue:temp.token_resp."+userName+"-*"); tokenMap.put(username, acnt); diff --git a/pnnl.goss.core/src/pnnl/goss/core/security/jwt/UserRepository.java b/pnnl.goss.core/src/pnnl/goss/core/security/jwt/UserRepository.java index 9e54aae2..7e0dce4e 100644 --- a/pnnl.goss.core/src/pnnl/goss/core/security/jwt/UserRepository.java +++ b/pnnl.goss.core/src/pnnl/goss/core/security/jwt/UserRepository.java @@ -8,14 +8,14 @@ public interface UserRepository { // public byte[] generateSharedKey(); - public long getExpirationDate() ; - - public String getIssuer(); +// public long getExpirationDate() ; +// +// public String getIssuer(); // public TokenResponse createToken(UserDefault user) ; - public String createToken(Object userId) ; +// public String createToken(Object userId) ; - public boolean validateToken(String token); +// public boolean validateToken(String token); } \ No newline at end of file diff --git a/pnnl.goss.core/src/pnnl/goss/core/security/jwt/UserRepositoryImpl.java b/pnnl.goss.core/src/pnnl/goss/core/security/jwt/UserRepositoryImpl.java index ec6d9cc1..a67057b7 100644 --- a/pnnl.goss.core/src/pnnl/goss/core/security/jwt/UserRepositoryImpl.java +++ b/pnnl.goss.core/src/pnnl/goss/core/security/jwt/UserRepositoryImpl.java @@ -60,9 +60,9 @@ public class UserRepositoryImpl implements UserRepository{ //These should probably come from config - private static final String ISSUED_BY = "GridOPTICS Software System"; +// private static final String ISSUED_BY = "GridOPTICS Software System"; // private byte[] sharedKey = securityConfig.getTokenSecret(); - private byte[] sharedKey = generateSharedKey(); +// private byte[] sharedKey = generateSharedKey(); private static final String CONFIG_PID = "pnnl.goss.core.security.userfile"; private static final Logger log = LoggerFactory.getLogger(UserRepositoryImpl.class); @@ -70,7 +70,8 @@ public class UserRepositoryImpl implements UserRepository{ private final Map userMap = new ConcurrentHashMap<>(); // private final Map> userPermissions = new ConcurrentHashMap<>(); private final Map> userRoles = new ConcurrentHashMap<>(); - + private final Map tokenMap = new ConcurrentHashMap<>(); + public UserDefault findByUserId(Object userId){return null;} @@ -78,72 +79,18 @@ public class UserRepositoryImpl implements UserRepository{ - public long getExpirationDate() { - return 1000 * 60 * 60 * 24 * 5; - } - - public String getIssuer(){return ISSUED_BY;} - - private byte[] getSharedKey(){return sharedKey;} + +// private byte[] getSharedKey(){return sharedKey;} // public TokenResponse createToken(UserDefault user) { // TokenResponse response = new TokenResponse(user, createToken(user.getPrincipal())); // return response; // } - public String createToken(Object userId) { - log.info("Creating token for user "+userId); - try { - //TODO, should also include roles(permissions) - - JWTClaimsSet.Builder builder = new JWTClaimsSet.Builder(); - builder.issuer(getIssuer()); - builder.subject(userId.toString()); - builder.issueTime(new Date()); - builder.notBeforeTime(new Date()); - builder.expirationTime(new Date(new Date().getTime() + getExpirationDate())); - builder.jwtID(UUID.randomUUID().toString()); - - JWTAuthenticationToken tokenObj = new JWTAuthenticationToken(); - tokenObj.setIss(getIssuer()); - tokenObj.setSub(userId.toString()); - tokenObj.setIat(new Date().getTime()); - tokenObj.setNbf(new Date().getTime()); - tokenObj.setExp(new Date(new Date().getTime() + getExpirationDate()).getTime()); - tokenObj.setJti(UUID.randomUUID().toString()); - //TODO GET ROLES - Set roles = userRoles.get(userId.toString()); - tokenObj.setRoles(new ArrayList(roles)); - Payload payload = new Payload(tokenObj.toString()); - -// JWTClaimsSet claimsSet = builder.build(); - JWSHeader header = new JWSHeader(JWSAlgorithm.HS256); - JWSObject jwsObject = new JWSObject(header, payload); - - JWSSigner signer = new MACSigner(getSharedKey()); - jwsObject.sign(signer); - return jwsObject.serialize(); - } catch (JOSEException ex) { - return null; - } - } + - public boolean validateToken(String token) { - log.debug("Validate token "+token); - try { - SignedJWT signed = SignedJWT.parse(token); - JWSVerifier verifier = new MACVerifierExtended(getSharedKey(), signed.getJWTClaimsSet()); - boolean verified = signed.verify(verifier); - log.debug("Verified: "+verified); - return verified; - } catch (ParseException ex) { - return false; - } catch (JOSEException ex) { - return false; - } - - } + @Start @@ -215,9 +162,19 @@ public void onMessage(Serializable response) { String userId = authArr[0]; //validate submitted username and password before generating token if(userMap.containsKey(userId) && authArr[1].equals(userMap.get(userId).getCredentials())){ + System.out.println("USER MATCHES FOR "+userId); //Create token - String token = createToken(authArr[0]); - log.debug("Created token for "+userId); + String token = null; + if(tokenMap.containsKey(userId)){ + token=tokenMap.get(userId); + System.out.println("TOKEN ALREADY EXISTS FOR "+userId+" "+token); + log.debug("Token already exists for "+userId); + } else { + token = securityConfig.createToken(authArr[0], userRoles.get(userId.toString())); + System.out.println("GENERATED TOKEN FOR "+userId+" "+token); + log.debug("Created token for "+userId); + tokenMap.put(userId, token); + } responseData = token; } else { @@ -236,10 +193,10 @@ public void onMessage(Serializable response) { } } - private byte[] generateSharedKey() { - SecureRandom random = new SecureRandom(); - byte[] sharedKey = new byte[32]; - random.nextBytes(sharedKey); - return sharedKey; - } +// private byte[] generateSharedKey() { +// SecureRandom random = new SecureRandom(); +// byte[] sharedKey = new byte[32]; +// random.nextBytes(sharedKey); +// return sharedKey; +// } } diff --git a/pnnl.goss.core/src/pnnl/goss/core/security/packageinfo b/pnnl.goss.core/src/pnnl/goss/core/security/packageinfo index 6af07c84..8ce03712 100644 --- a/pnnl.goss.core/src/pnnl/goss/core/security/packageinfo +++ b/pnnl.goss.core/src/pnnl/goss/core/security/packageinfo @@ -1 +1 @@ -version 4.0.0 +version 5.0.0