common.net.ds package

Submodules

common.net.ds.aes module

class common.net.ds.aes.AES(key)

Bases: object

Encapsulates the AES block cipher.

You generally should not need this. Use the AESModeOfOperation classes below instead.

S = [99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 22]
Si = [82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, 251, 124, 227, 57, 130, 155, 47, 255, 135, 52, 142, 67, 68, 196, 222, 233, 203, 84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66, 250, 195, 78, 8, 46, 161, 102, 40, 217, 36, 178, 118, 91, 162, 73, 109, 139, 209, 37, 114, 248, 246, 100, 134, 104, 152, 22, 212, 164, 92, 204, 93, 101, 182, 146, 108, 112, 72, 80, 253, 237, 185, 218, 94, 21, 70, 87, 167, 141, 157, 132, 144, 216, 171, 0, 140, 188, 211, 10, 247, 228, 88, 5, 184, 179, 69, 6, 208, 44, 30, 143, 202, 63, 15, 2, 193, 175, 189, 3, 1, 19, 138, 107, 58, 145, 17, 65, 79, 103, 220, 234, 151, 242, 207, 206, 240, 180, 230, 115, 150, 172, 116, 34, 231, 173, 53, 133, 226, 249, 55, 232, 28, 117, 223, 110, 71, 241, 26, 113, 29, 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27, 252, 86, 62, 75, 198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244, 31, 221, 168, 51, 136, 7, 199, 49, 177, 18, 16, 89, 39, 128, 236, 95, 96, 81, 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239, 160, 224, 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, 23, 43, 4, 126, 186, 119, 214, 38, 225, 105, 20, 99, 85, 33, 12, 125]
T1 = [3328402341, 4168907908, 4000806809, 4135287693, 4294111757, 3597364157, 3731845041, 2445657428, 1613770832, 33620227, 3462883241, 1445669757, 3892248089, 3050821474, 1303096294, 3967186586, 2412431941, 528646813, 2311702848, 4202528135, 4026202645, 2992200171, 2387036105, 4226871307, 1101901292, 3017069671, 1604494077, 1169141738, 597466303, 1403299063, 3832705686, 2613100635, 1974974402, 3791519004, 1033081774, 1277568618, 1815492186, 2118074177, 4126668546, 2211236943, 1748251740, 1369810420, 3521504564, 4193382664, 3799085459, 2883115123, 1647391059, 706024767, 134480908, 2512897874, 1176707941, 2646852446, 806885416, 932615841, 168101135, 798661301, 235341577, 605164086, 461406363, 3756188221, 3454790438, 1311188841, 2142417613, 3933566367, 302582043, 495158174, 1479289972, 874125870, 907746093, 3698224818, 3025820398, 1537253627, 2756858614, 1983593293, 3084310113, 2108928974, 1378429307, 3722699582, 1580150641, 327451799, 2790478837, 3117535592, 0, 3253595436, 1075847264, 3825007647, 2041688520, 3059440621, 3563743934, 2378943302, 1740553945, 1916352843, 2487896798, 2555137236, 2958579944, 2244988746, 3151024235, 3320835882, 1336584933, 3992714006, 2252555205, 2588757463, 1714631509, 293963156, 2319795663, 3925473552, 67240454, 4269768577, 2689618160, 2017213508, 631218106, 1269344483, 2723238387, 1571005438, 2151694528, 93294474, 1066570413, 563977660, 1882732616, 4059428100, 1673313503, 2008463041, 2950355573, 1109467491, 537923632, 3858759450, 4260623118, 3218264685, 2177748300, 403442708, 638784309, 3287084079, 3193921505, 899127202, 2286175436, 773265209, 2479146071, 1437050866, 4236148354, 2050833735, 3362022572, 3126681063, 840505643, 3866325909, 3227541664, 427917720, 2655997905, 2749160575, 1143087718, 1412049534, 999329963, 193497219, 2353415882, 3354324521, 1807268051, 672404540, 2816401017, 3160301282, 369822493, 2916866934, 3688947771, 1681011286, 1949973070, 336202270, 2454276571, 201721354, 1210328172, 3093060836, 2680341085, 3184776046, 1135389935, 3294782118, 965841320, 831886756, 3554993207, 4068047243, 3588745010, 2345191491, 1849112409, 3664604599, 26054028, 2983581028, 2622377682, 1235855840, 3630984372, 2891339514, 4092916743, 3488279077, 3395642799, 4101667470, 1202630377, 268961816, 1874508501, 4034427016, 1243948399, 1546530418, 941366308, 1470539505, 1941222599, 2546386513, 3421038627, 2715671932, 3899946140, 1042226977, 2521517021, 1639824860, 227249030, 260737669, 3765465232, 2084453954, 1907733956, 3429263018, 2420656344, 100860677, 4160157185, 470683154, 3261161891, 1781871967, 2924959737, 1773779408, 394692241, 2579611992, 974986535, 664706745, 3655459128, 3958962195, 731420851, 571543859, 3530123707, 2849626480, 126783113, 865375399, 765172662, 1008606754, 361203602, 3387549984, 2278477385, 2857719295, 1344809080, 2782912378, 59542671, 1503764984, 160008576, 437062935, 1707065306, 3622233649, 2218934982, 3496503480, 2185314755, 697932208, 1512910199, 504303377, 2075177163, 2824099068, 1841019862, 739644986]
T2 = [2781242211, 2230877308, 2582542199, 2381740923, 234877682, 3184946027, 2984144751, 1418839493, 1348481072, 50462977, 2848876391, 2102799147, 434634494, 1656084439, 3863849899, 2599188086, 1167051466, 2636087938, 1082771913, 2281340285, 368048890, 3954334041, 3381544775, 201060592, 3963727277, 1739838676, 4250903202, 3930435503, 3206782108, 4149453988, 2531553906, 1536934080, 3262494647, 484572669, 2923271059, 1783375398, 1517041206, 1098792767, 49674231, 1334037708, 1550332980, 4098991525, 886171109, 150598129, 2481090929, 1940642008, 1398944049, 1059722517, 201851908, 1385547719, 1699095331, 1587397571, 674240536, 2704774806, 252314885, 3039795866, 151914247, 908333586, 2602270848, 1038082786, 651029483, 1766729511, 3447698098, 2682942837, 454166793, 2652734339, 1951935532, 775166490, 758520603, 3000790638, 4004797018, 4217086112, 4137964114, 1299594043, 1639438038, 3464344499, 2068982057, 1054729187, 1901997871, 2534638724, 4121318227, 1757008337, 0, 750906861, 1614815264, 535035132, 3363418545, 3988151131, 3201591914, 1183697867, 3647454910, 1265776953, 3734260298, 3566750796, 3903871064, 1250283471, 1807470800, 717615087, 3847203498, 384695291, 3313910595, 3617213773, 1432761139, 2484176261, 3481945413, 283769337, 100925954, 2180939647, 4037038160, 1148730428, 3123027871, 3813386408, 4087501137, 4267549603, 3229630528, 2315620239, 2906624658, 3156319645, 1215313976, 82966005, 3747855548, 3245848246, 1974459098, 1665278241, 807407632, 451280895, 251524083, 1841287890, 1283575245, 337120268, 891687699, 801369324, 3787349855, 2721421207, 3431482436, 959321879, 1469301956, 4065699751, 2197585534, 1199193405, 2898814052, 3887750493, 724703513, 2514908019, 2696962144, 2551808385, 3516813135, 2141445340, 1715741218, 2119445034, 2872807568, 2198571144, 3398190662, 700968686, 3547052216, 1009259540, 2041044702, 3803995742, 487983883, 1991105499, 1004265696, 1449407026, 1316239930, 504629770, 3683797321, 168560134, 1816667172, 3837287516, 1570751170, 1857934291, 4014189740, 2797888098, 2822345105, 2754712981, 936633572, 2347923833, 852879335, 1133234376, 1500395319, 3084545389, 2348912013, 1689376213, 3533459022, 3762923945, 3034082412, 4205598294, 133428468, 634383082, 2949277029, 2398386810, 3913789102, 403703816, 3580869306, 2297460856, 1867130149, 1918643758, 607656988, 4049053350, 3346248884, 1368901318, 600565992, 2090982877, 2632479860, 557719327, 3717614411, 3697393085, 2249034635, 2232388234, 2430627952, 1115438654, 3295786421, 2865522278, 3633334344, 84280067, 33027830, 303828494, 2747425121, 1600795957, 4188952407, 3496589753, 2434238086, 1486471617, 658119965, 3106381470, 953803233, 334231800, 3005978776, 857870609, 3151128937, 1890179545, 2298973838, 2805175444, 3056442267, 574365214, 2450884487, 550103529, 1233637070, 4289353045, 2018519080, 2057691103, 2399374476, 4166623649, 2148108681, 387583245, 3664101311, 836232934, 3330556482, 3100665960, 3280093505, 2955516313, 2002398509, 287182607, 3413881008, 4238890068, 3597515707, 975967766]
T3 = [1671808611, 2089089148, 2006576759, 2072901243, 4061003762, 1807603307, 1873927791, 3310653893, 810573872, 16974337, 1739181671, 729634347, 4263110654, 3613570519, 2883997099, 1989864566, 3393556426, 2191335298, 3376449993, 2106063485, 4195741690, 1508618841, 1204391495, 4027317232, 2917941677, 3563566036, 2734514082, 2951366063, 2629772188, 2767672228, 1922491506, 3227229120, 3082974647, 4246528509, 2477669779, 644500518, 911895606, 1061256767, 4144166391, 3427763148, 878471220, 2784252325, 3845444069, 4043897329, 1905517169, 3631459288, 827548209, 356461077, 67897348, 3344078279, 593839651, 3277757891, 405286936, 2527147926, 84871685, 2595565466, 118033927, 305538066, 2157648768, 3795705826, 3945188843, 661212711, 2999812018, 1973414517, 152769033, 2208177539, 745822252, 439235610, 455947803, 1857215598, 1525593178, 2700827552, 1391895634, 994932283, 3596728278, 3016654259, 695947817, 3812548067, 795958831, 2224493444, 1408607827, 3513301457, 0, 3979133421, 543178784, 4229948412, 2982705585, 1542305371, 1790891114, 3410398667, 3201918910, 961245753, 1256100938, 1289001036, 1491644504, 3477767631, 3496721360, 4012557807, 2867154858, 4212583931, 1137018435, 1305975373, 861234739, 2241073541, 1171229253, 4178635257, 33948674, 2139225727, 1357946960, 1011120188, 2679776671, 2833468328, 1374921297, 2751356323, 1086357568, 2408187279, 2460827538, 2646352285, 944271416, 4110742005, 3168756668, 3066132406, 3665145818, 560153121, 271589392, 4279952895, 4077846003, 3530407890, 3444343245, 202643468, 322250259, 3962553324, 1608629855, 2543990167, 1154254916, 389623319, 3294073796, 2817676711, 2122513534, 1028094525, 1689045092, 1575467613, 422261273, 1939203699, 1621147744, 2174228865, 1339137615, 3699352540, 577127458, 712922154, 2427141008, 2290289544, 1187679302, 3995715566, 3100863416, 339486740, 3732514782, 1591917662, 186455563, 3681988059, 3762019296, 844522546, 978220090, 169743370, 1239126601, 101321734, 611076132, 1558493276, 3260915650, 3547250131, 2901361580, 1655096418, 2443721105, 2510565781, 3828863972, 2039214713, 3878868455, 3359869896, 928607799, 1840765549, 2374762893, 3580146133, 1322425422, 2850048425, 1823791212, 1459268694, 4094161908, 3928346602, 1706019429, 2056189050, 2934523822, 135794696, 3134549946, 2022240376, 628050469, 779246638, 472135708, 2800834470, 3032970164, 3327236038, 3894660072, 3715932637, 1956440180, 522272287, 1272813131, 3185336765, 2340818315, 2323976074, 1888542832, 1044544574, 3049550261, 1722469478, 1222152264, 50660867, 4127324150, 236067854, 1638122081, 895445557, 1475980887, 3117443513, 2257655686, 3243809217, 489110045, 2662934430, 3778599393, 4162055160, 2561878936, 288563729, 1773916777, 3648039385, 2391345038, 2493985684, 2612407707, 505560094, 2274497927, 3911240169, 3460925390, 1442818645, 678973480, 3749357023, 2358182796, 2717407649, 2306869641, 219617805, 3218761151, 3862026214, 1120306242, 1756942440, 1103331905, 2578459033, 762796589, 252780047, 2966125488, 1425844308, 3151392187, 372911126]
T4 = [1667474886, 2088535288, 2004326894, 2071694838, 4075949567, 1802223062, 1869591006, 3318043793, 808472672, 16843522, 1734846926, 724270422, 4278065639, 3621216949, 2880169549, 1987484396, 3402253711, 2189597983, 3385409673, 2105378810, 4210693615, 1499065266, 1195886990, 4042263547, 2913856577, 3570689971, 2728590687, 2947541573, 2627518243, 2762274643, 1920112356, 3233831835, 3082273397, 4261223649, 2475929149, 640051788, 909531756, 1061110142, 4160160501, 3435941763, 875846760, 2779116625, 3857003729, 4059105529, 1903268834, 3638064043, 825316194, 353713962, 67374088, 3351728789, 589522246, 3284360861, 404236336, 2526454071, 84217610, 2593830191, 117901582, 303183396, 2155911963, 3806477791, 3958056653, 656894286, 2998062463, 1970642922, 151591698, 2206440989, 741110872, 437923380, 454765878, 1852748508, 1515908788, 2694904667, 1381168804, 993742198, 3604373943, 3014905469, 690584402, 3823320797, 791638366, 2223281939, 1398011302, 3520161977, 0, 3991743681, 538992704, 4244381667, 2981218425, 1532751286, 1785380564, 3419096717, 3200178535, 960056178, 1246420628, 1280103576, 1482221744, 3486468741, 3503319995, 4025428677, 2863326543, 4227536621, 1128514950, 1296947098, 859002214, 2240123921, 1162203018, 4193849577, 33687044, 2139062782, 1347481760, 1010582648, 2678045221, 2829640523, 1364325282, 2745433693, 1077985408, 2408548869, 2459086143, 2644360225, 943212656, 4126475505, 3166494563, 3065430391, 3671750063, 555836226, 269496352, 4294908645, 4092792573, 3537006015, 3452783745, 202118168, 320025894, 3974901699, 1600119230, 2543297077, 1145359496, 387397934, 3301201811, 2812801621, 2122220284, 1027426170, 1684319432, 1566435258, 421079858, 1936954854, 1616945344, 2172753945, 1330631070, 3705438115, 572679748, 707427924, 2425400123, 2290647819, 1179044492, 4008585671, 3099120491, 336870440, 3739122087, 1583276732, 185277718, 3688593069, 3772791771, 842159716, 976899700, 168435220, 1229577106, 101059084, 606366792, 1549591736, 3267517855, 3553849021, 2897014595, 1650632388, 2442242105, 2509612081, 3840161747, 2038008818, 3890688725, 3368567691, 926374254, 1835907034, 2374863873, 3587531953, 1313788572, 2846482505, 1819063512, 1448540844, 4109633523, 3941213647, 1701162954, 2054852340, 2930698567, 134748176, 3132806511, 2021165296, 623210314, 774795868, 471606328, 2795958615, 3031746419, 3334885783, 3907527627, 3722280097, 1953799400, 522133822, 1263263126, 3183336545, 2341176845, 2324333839, 1886425312, 1044267644, 3048588401, 1718004428, 1212733584, 50529542, 4143317495, 235803164, 1633788866, 892690282, 1465383342, 3115962473, 2256965911, 3250673817, 488449850, 2661202215, 3789633753, 4177007595, 2560144171, 286339874, 1768537042, 3654906025, 2391705863, 2492770099, 2610673197, 505291324, 2273808917, 3924369609, 3469625735, 1431699370, 673740880, 3755965093, 2358021891, 2711746649, 2307489801, 218961690, 3217021541, 3873845719, 1111672452, 1751693520, 1094828930, 2576986153, 757954394, 252645662, 2964376443, 1414855848, 3149649517, 370555436]
T5 = [1374988112, 2118214995, 437757123, 975658646, 1001089995, 530400753, 2902087851, 1273168787, 540080725, 2910219766, 2295101073, 4110568485, 1340463100, 3307916247, 641025152, 3043140495, 3736164937, 632953703, 1172967064, 1576976609, 3274667266, 2169303058, 2370213795, 1809054150, 59727847, 361929877, 3211623147, 2505202138, 3569255213, 1484005843, 1239443753, 2395588676, 1975683434, 4102977912, 2572697195, 666464733, 3202437046, 4035489047, 3374361702, 2110667444, 1675577880, 3843699074, 2538681184, 1649639237, 2976151520, 3144396420, 4269907996, 4178062228, 1883793496, 2403728665, 2497604743, 1383856311, 2876494627, 1917518562, 3810496343, 1716890410, 3001755655, 800440835, 2261089178, 3543599269, 807962610, 599762354, 33778362, 3977675356, 2328828971, 2809771154, 4077384432, 1315562145, 1708848333, 101039829, 3509871135, 3299278474, 875451293, 2733856160, 92987698, 2767645557, 193195065, 1080094634, 1584504582, 3178106961, 1042385657, 2531067453, 3711829422, 1306967366, 2438237621, 1908694277, 67556463, 1615861247, 429456164, 3602770327, 2302690252, 1742315127, 2968011453, 126454664, 3877198648, 2043211483, 2709260871, 2084704233, 4169408201, 0, 159417987, 841739592, 504459436, 1817866830, 4245618683, 260388950, 1034867998, 908933415, 168810852, 1750902305, 2606453969, 607530554, 202008497, 2472011535, 3035535058, 463180190, 2160117071, 1641816226, 1517767529, 470948374, 3801332234, 3231722213, 1008918595, 303765277, 235474187, 4069246893, 766945465, 337553864, 1475418501, 2943682380, 4003061179, 2743034109, 4144047775, 1551037884, 1147550661, 1543208500, 2336434550, 3408119516, 3069049960, 3102011747, 3610369226, 1113818384, 328671808, 2227573024, 2236228733, 3535486456, 2935566865, 3341394285, 496906059, 3702665459, 226906860, 2009195472, 733156972, 2842737049, 294930682, 1206477858, 2835123396, 2700099354, 1451044056, 573804783, 2269728455, 3644379585, 2362090238, 2564033334, 2801107407, 2776292904, 3669462566, 1068351396, 742039012, 1350078989, 1784663195, 1417561698, 4136440770, 2430122216, 775550814, 2193862645, 2673705150, 1775276924, 1876241833, 3475313331, 3366754619, 270040487, 3902563182, 3678124923, 3441850377, 1851332852, 3969562369, 2203032232, 3868552805, 2868897406, 566021896, 4011190502, 3135740889, 1248802510, 3936291284, 699432150, 832877231, 708780849, 3332740144, 899835584, 1951317047, 4236429990, 3767586992, 866637845, 4043610186, 1106041591, 2144161806, 395441711, 1984812685, 1139781709, 3433712980, 3835036895, 2664543715, 1282050075, 3240894392, 1181045119, 2640243204, 25965917, 4203181171, 4211818798, 3009879386, 2463879762, 3910161971, 1842759443, 2597806476, 933301370, 1509430414, 3943906441, 3467192302, 3076639029, 3776767469, 2051518780, 2631065433, 1441952575, 404016761, 1942435775, 1408749034, 1610459739, 3745345300, 2017778566, 3400528769, 3110650942, 941896748, 3265478751, 371049330, 3168937228, 675039627, 4279080257, 967311729, 135050206, 3635733660, 1683407248, 2076935265, 3576870512, 1215061108, 3501741890]
T6 = [1347548327, 1400783205, 3273267108, 2520393566, 3409685355, 4045380933, 2880240216, 2471224067, 1428173050, 4138563181, 2441661558, 636813900, 4233094615, 3620022987, 2149987652, 2411029155, 1239331162, 1730525723, 2554718734, 3781033664, 46346101, 310463728, 2743944855, 3328955385, 3875770207, 2501218972, 3955191162, 3667219033, 768917123, 3545789473, 692707433, 1150208456, 1786102409, 2029293177, 1805211710, 3710368113, 3065962831, 401639597, 1724457132, 3028143674, 409198410, 2196052529, 1620529459, 1164071807, 3769721975, 2226875310, 486441376, 2499348523, 1483753576, 428819965, 2274680428, 3075636216, 598438867, 3799141122, 1474502543, 711349675, 129166120, 53458370, 2592523643, 2782082824, 4063242375, 2988687269, 3120694122, 1559041666, 730517276, 2460449204, 4042459122, 2706270690, 3446004468, 3573941694, 533804130, 2328143614, 2637442643, 2695033685, 839224033, 1973745387, 957055980, 2856345839, 106852767, 1371368976, 4181598602, 1033297158, 2933734917, 1179510461, 3046200461, 91341917, 1862534868, 4284502037, 605657339, 2547432937, 3431546947, 2003294622, 3182487618, 2282195339, 954669403, 3682191598, 1201765386, 3917234703, 3388507166, 0, 2198438022, 1211247597, 2887651696, 1315723890, 4227665663, 1443857720, 507358933, 657861945, 1678381017, 560487590, 3516619604, 975451694, 2970356327, 261314535, 3535072918, 2652609425, 1333838021, 2724322336, 1767536459, 370938394, 182621114, 3854606378, 1128014560, 487725847, 185469197, 2918353863, 3106780840, 3356761769, 2237133081, 1286567175, 3152976349, 4255350624, 2683765030, 3160175349, 3309594171, 878443390, 1988838185, 3704300486, 1756818940, 1673061617, 3403100636, 272786309, 1075025698, 545572369, 2105887268, 4174560061, 296679730, 1841768865, 1260232239, 4091327024, 3960309330, 3497509347, 1814803222, 2578018489, 4195456072, 575138148, 3299409036, 446754879, 3629546796, 4011996048, 3347532110, 3252238545, 4270639778, 915985419, 3483825537, 681933534, 651868046, 2755636671, 3828103837, 223377554, 2607439820, 1649704518, 3270937875, 3901806776, 1580087799, 4118987695, 3198115200, 2087309459, 2842678573, 3016697106, 1003007129, 2802849917, 1860738147, 2077965243, 164439672, 4100872472, 32283319, 2827177882, 1709610350, 2125135846, 136428751, 3874428392, 3652904859, 3460984630, 3572145929, 3593056380, 2939266226, 824852259, 818324884, 3224740454, 930369212, 2801566410, 2967507152, 355706840, 1257309336, 4148292826, 243256656, 790073846, 2373340630, 1296297904, 1422699085, 3756299780, 3818836405, 457992840, 3099667487, 2135319889, 77422314, 1560382517, 1945798516, 788204353, 1521706781, 1385356242, 870912086, 325965383, 2358957921, 2050466060, 2388260884, 2313884476, 4006521127, 901210569, 3990953189, 1014646705, 1503449823, 1062597235, 2031621326, 3212035895, 3931371469, 1533017514, 350174575, 2256028891, 2177544179, 1052338372, 741876788, 1606591296, 1914052035, 213705253, 2334669897, 1107234197, 1899603969, 3725069491, 2631447780, 2422494913, 1635502980, 1893020342, 1950903388, 1120974935]
T7 = [2807058932, 1699970625, 2764249623, 1586903591, 1808481195, 1173430173, 1487645946, 59984867, 4199882800, 1844882806, 1989249228, 1277555970, 3623636965, 3419915562, 1149249077, 2744104290, 1514790577, 459744698, 244860394, 3235995134, 1963115311, 4027744588, 2544078150, 4190530515, 1608975247, 2627016082, 2062270317, 1507497298, 2200818878, 567498868, 1764313568, 3359936201, 2305455554, 2037970062, 1047239000, 1910319033, 1337376481, 2904027272, 2892417312, 984907214, 1243112415, 830661914, 861968209, 2135253587, 2011214180, 2927934315, 2686254721, 731183368, 1750626376, 4246310725, 1820824798, 4172763771, 3542330227, 48394827, 2404901663, 2871682645, 671593195, 3254988725, 2073724613, 145085239, 2280796200, 2779915199, 1790575107, 2187128086, 472615631, 3029510009, 4075877127, 3802222185, 4107101658, 3201631749, 1646252340, 4270507174, 1402811438, 1436590835, 3778151818, 3950355702, 3963161475, 4020912224, 2667994737, 273792366, 2331590177, 104699613, 95345982, 3175501286, 2377486676, 1560637892, 3564045318, 369057872, 4213447064, 3919042237, 1137477952, 2658625497, 1119727848, 2340947849, 1530455833, 4007360968, 172466556, 266959938, 516552836, 0, 2256734592, 3980931627, 1890328081, 1917742170, 4294704398, 945164165, 3575528878, 958871085, 3647212047, 2787207260, 1423022939, 775562294, 1739656202, 3876557655, 2530391278, 2443058075, 3310321856, 547512796, 1265195639, 437656594, 3121275539, 719700128, 3762502690, 387781147, 218828297, 3350065803, 2830708150, 2848461854, 428169201, 122466165, 3720081049, 1627235199, 648017665, 4122762354, 1002783846, 2117360635, 695634755, 3336358691, 4234721005, 4049844452, 3704280881, 2232435299, 574624663, 287343814, 612205898, 1039717051, 840019705, 2708326185, 793451934, 821288114, 1391201670, 3822090177, 376187827, 3113855344, 1224348052, 1679968233, 2361698556, 1058709744, 752375421, 2431590963, 1321699145, 3519142200, 2734591178, 188127444, 2177869557, 3727205754, 2384911031, 3215212461, 2648976442, 2450346104, 3432737375, 1180849278, 331544205, 3102249176, 4150144569, 2952102595, 2159976285, 2474404304, 766078933, 313773861, 2570832044, 2108100632, 1668212892, 3145456443, 2013908262, 418672217, 3070356634, 2594734927, 1852171925, 3867060991, 3473416636, 3907448597, 2614737639, 919489135, 164948639, 2094410160, 2997825956, 590424639, 2486224549, 1723872674, 3157750862, 3399941250, 3501252752, 3625268135, 2555048196, 3673637356, 1343127501, 4130281361, 3599595085, 2957853679, 1297403050, 81781910, 3051593425, 2283490410, 532201772, 1367295589, 3926170974, 895287692, 1953757831, 1093597963, 492483431, 3528626907, 1446242576, 1192455638, 1636604631, 209336225, 344873464, 1015671571, 669961897, 3375740769, 3857572124, 2973530695, 3747192018, 1933530610, 3464042516, 935293895, 3454686199, 2858115069, 1863638845, 3683022916, 4085369519, 3292445032, 875313188, 1080017571, 3279033885, 621591778, 1233856572, 2504130317, 24197544, 3017672716, 3835484340, 3247465558, 2220981195, 3060847922, 1551124588, 1463996600]
T8 = [4104605777, 1097159550, 396673818, 660510266, 2875968315, 2638606623, 4200115116, 3808662347, 821712160, 1986918061, 3430322568, 38544885, 3856137295, 718002117, 893681702, 1654886325, 2975484382, 3122358053, 3926825029, 4274053469, 796197571, 1290801793, 1184342925, 3556361835, 2405426947, 2459735317, 1836772287, 1381620373, 3196267988, 1948373848, 3764988233, 3385345166, 3263785589, 2390325492, 1480485785, 3111247143, 3780097726, 2293045232, 548169417, 3459953789, 3746175075, 439452389, 1362321559, 1400849762, 1685577905, 1806599355, 2174754046, 137073913, 1214797936, 1174215055, 3731654548, 2079897426, 1943217067, 1258480242, 529487843, 1437280870, 3945269170, 3049390895, 3313212038, 923313619, 679998000, 3215307299, 57326082, 377642221, 3474729866, 2041877159, 133361907, 1776460110, 3673476453, 96392454, 878845905, 2801699524, 777231668, 4082475170, 2330014213, 4142626212, 2213296395, 1626319424, 1906247262, 1846563261, 562755902, 3708173718, 1040559837, 3871163981, 1418573201, 3294430577, 114585348, 1343618912, 2566595609, 3186202582, 1078185097, 3651041127, 3896688048, 2307622919, 425408743, 3371096953, 2081048481, 1108339068, 2216610296, 0, 2156299017, 736970802, 292596766, 1517440620, 251657213, 2235061775, 2933202493, 758720310, 265905162, 1554391400, 1532285339, 908999204, 174567692, 1474760595, 4002861748, 2610011675, 3234156416, 3693126241, 2001430874, 303699484, 2478443234, 2687165888, 585122620, 454499602, 151849742, 2345119218, 3064510765, 514443284, 4044981591, 1963412655, 2581445614, 2137062819, 19308535, 1928707164, 1715193156, 4219352155, 1126790795, 600235211, 3992742070, 3841024952, 836553431, 1669664834, 2535604243, 3323011204, 1243905413, 3141400786, 4180808110, 698445255, 2653899549, 2989552604, 2253581325, 3252932727, 3004591147, 1891211689, 2487810577, 3915653703, 4237083816, 4030667424, 2100090966, 865136418, 1229899655, 953270745, 3399679628, 3557504664, 4118925222, 2061379749, 3079546586, 2915017791, 983426092, 2022837584, 1607244650, 2118541908, 2366882550, 3635996816, 972512814, 3283088770, 1568718495, 3499326569, 3576539503, 621982671, 2895723464, 410887952, 2623762152, 1002142683, 645401037, 1494807662, 2595684844, 1335535747, 2507040230, 4293295786, 3167684641, 367585007, 3885750714, 1865862730, 2668221674, 2960971305, 2763173681, 1059270954, 2777952454, 2724642869, 1320957812, 2194319100, 2429595872, 2815956275, 77089521, 3973773121, 3444575871, 2448830231, 1305906550, 4021308739, 2857194700, 2516901860, 3518358430, 1787304780, 740276417, 1699839814, 1592394909, 2352307457, 2272556026, 188821243, 1729977011, 3687994002, 274084841, 3594982253, 3613494426, 2701949495, 4162096729, 322734571, 2837966542, 1640576439, 484830689, 1202797690, 3537852828, 4067639125, 349075736, 3342319475, 4157467219, 4255800159, 1030690015, 1155237496, 2951971274, 1757691577, 607398968, 2738905026, 499347990, 3794078908, 1011452712, 227885567, 2818666809, 213114376, 3034881240, 1455525988, 3414450555, 850817237, 1817998408, 3092726480]
U1 = [0, 235474187, 470948374, 303765277, 941896748, 908933415, 607530554, 708780849, 1883793496, 2118214995, 1817866830, 1649639237, 1215061108, 1181045119, 1417561698, 1517767529, 3767586992, 4003061179, 4236429990, 4069246893, 3635733660, 3602770327, 3299278474, 3400528769, 2430122216, 2664543715, 2362090238, 2193862645, 2835123396, 2801107407, 3035535058, 3135740889, 3678124923, 3576870512, 3341394285, 3374361702, 3810496343, 3977675356, 4279080257, 4043610186, 2876494627, 2776292904, 3076639029, 3110650942, 2472011535, 2640243204, 2403728665, 2169303058, 1001089995, 899835584, 666464733, 699432150, 59727847, 226906860, 530400753, 294930682, 1273168787, 1172967064, 1475418501, 1509430414, 1942435775, 2110667444, 1876241833, 1641816226, 2910219766, 2743034109, 2976151520, 3211623147, 2505202138, 2606453969, 2302690252, 2269728455, 3711829422, 3543599269, 3240894392, 3475313331, 3843699074, 3943906441, 4178062228, 4144047775, 1306967366, 1139781709, 1374988112, 1610459739, 1975683434, 2076935265, 1775276924, 1742315127, 1034867998, 866637845, 566021896, 800440835, 92987698, 193195065, 429456164, 395441711, 1984812685, 2017778566, 1784663195, 1683407248, 1315562145, 1080094634, 1383856311, 1551037884, 101039829, 135050206, 437757123, 337553864, 1042385657, 807962610, 573804783, 742039012, 2531067453, 2564033334, 2328828971, 2227573024, 2935566865, 2700099354, 3001755655, 3168937228, 3868552805, 3902563182, 4203181171, 4102977912, 3736164937, 3501741890, 3265478751, 3433712980, 1106041591, 1340463100, 1576976609, 1408749034, 2043211483, 2009195472, 1708848333, 1809054150, 832877231, 1068351396, 766945465, 599762354, 159417987, 126454664, 361929877, 463180190, 2709260871, 2943682380, 3178106961, 3009879386, 2572697195, 2538681184, 2236228733, 2336434550, 3509871135, 3745345300, 3441850377, 3274667266, 3910161971, 3877198648, 4110568485, 4211818798, 2597806476, 2497604743, 2261089178, 2295101073, 2733856160, 2902087851, 3202437046, 2968011453, 3936291284, 3835036895, 4136440770, 4169408201, 3535486456, 3702665459, 3467192302, 3231722213, 2051518780, 1951317047, 1716890410, 1750902305, 1113818384, 1282050075, 1584504582, 1350078989, 168810852, 67556463, 371049330, 404016761, 841739592, 1008918595, 775550814, 540080725, 3969562369, 3801332234, 4035489047, 4269907996, 3569255213, 3669462566, 3366754619, 3332740144, 2631065433, 2463879762, 2160117071, 2395588676, 2767645557, 2868897406, 3102011747, 3069049960, 202008497, 33778362, 270040487, 504459436, 875451293, 975658646, 675039627, 641025152, 2084704233, 1917518562, 1615861247, 1851332852, 1147550661, 1248802510, 1484005843, 1451044056, 933301370, 967311729, 733156972, 632953703, 260388950, 25965917, 328671808, 496906059, 1206477858, 1239443753, 1543208500, 1441952575, 2144161806, 1908694277, 1675577880, 1842759443, 3610369226, 3644379585, 3408119516, 3307916247, 4011190502, 3776767469, 4077384432, 4245618683, 2809771154, 2842737049, 3144396420, 3043140495, 2673705150, 2438237621, 2203032232, 2370213795]
U2 = [0, 185469197, 370938394, 487725847, 741876788, 657861945, 975451694, 824852259, 1483753576, 1400783205, 1315723890, 1164071807, 1950903388, 2135319889, 1649704518, 1767536459, 2967507152, 3152976349, 2801566410, 2918353863, 2631447780, 2547432937, 2328143614, 2177544179, 3901806776, 3818836405, 4270639778, 4118987695, 3299409036, 3483825537, 3535072918, 3652904859, 2077965243, 1893020342, 1841768865, 1724457132, 1474502543, 1559041666, 1107234197, 1257309336, 598438867, 681933534, 901210569, 1052338372, 261314535, 77422314, 428819965, 310463728, 3409685355, 3224740454, 3710368113, 3593056380, 3875770207, 3960309330, 4045380933, 4195456072, 2471224067, 2554718734, 2237133081, 2388260884, 3212035895, 3028143674, 2842678573, 2724322336, 4138563181, 4255350624, 3769721975, 3955191162, 3667219033, 3516619604, 3431546947, 3347532110, 2933734917, 2782082824, 3099667487, 3016697106, 2196052529, 2313884476, 2499348523, 2683765030, 1179510461, 1296297904, 1347548327, 1533017514, 1786102409, 1635502980, 2087309459, 2003294622, 507358933, 355706840, 136428751, 53458370, 839224033, 957055980, 605657339, 790073846, 2373340630, 2256028891, 2607439820, 2422494913, 2706270690, 2856345839, 3075636216, 3160175349, 3573941694, 3725069491, 3273267108, 3356761769, 4181598602, 4063242375, 4011996048, 3828103837, 1033297158, 915985419, 730517276, 545572369, 296679730, 446754879, 129166120, 213705253, 1709610350, 1860738147, 1945798516, 2029293177, 1239331162, 1120974935, 1606591296, 1422699085, 4148292826, 4233094615, 3781033664, 3931371469, 3682191598, 3497509347, 3446004468, 3328955385, 2939266226, 2755636671, 3106780840, 2988687269, 2198438022, 2282195339, 2501218972, 2652609425, 1201765386, 1286567175, 1371368976, 1521706781, 1805211710, 1620529459, 2105887268, 1988838185, 533804130, 350174575, 164439672, 46346101, 870912086, 954669403, 636813900, 788204353, 2358957921, 2274680428, 2592523643, 2441661558, 2695033685, 2880240216, 3065962831, 3182487618, 3572145929, 3756299780, 3270937875, 3388507166, 4174560061, 4091327024, 4006521127, 3854606378, 1014646705, 930369212, 711349675, 560487590, 272786309, 457992840, 106852767, 223377554, 1678381017, 1862534868, 1914052035, 2031621326, 1211247597, 1128014560, 1580087799, 1428173050, 32283319, 182621114, 401639597, 486441376, 768917123, 651868046, 1003007129, 818324884, 1503449823, 1385356242, 1333838021, 1150208456, 1973745387, 2125135846, 1673061617, 1756818940, 2970356327, 3120694122, 2802849917, 2887651696, 2637442643, 2520393566, 2334669897, 2149987652, 3917234703, 3799141122, 4284502037, 4100872472, 3309594171, 3460984630, 3545789473, 3629546796, 2050466060, 1899603969, 1814803222, 1730525723, 1443857720, 1560382517, 1075025698, 1260232239, 575138148, 692707433, 878443390, 1062597235, 243256656, 91341917, 409198410, 325965383, 3403100636, 3252238545, 3704300486, 3620022987, 3874428392, 3990953189, 4042459122, 4227665663, 2460449204, 2578018489, 2226875310, 2411029155, 3198115200, 3046200461, 2827177882, 2743944855]
U3 = [0, 218828297, 437656594, 387781147, 875313188, 958871085, 775562294, 590424639, 1750626376, 1699970625, 1917742170, 2135253587, 1551124588, 1367295589, 1180849278, 1265195639, 3501252752, 3720081049, 3399941250, 3350065803, 3835484340, 3919042237, 4270507174, 4085369519, 3102249176, 3051593425, 2734591178, 2952102595, 2361698556, 2177869557, 2530391278, 2614737639, 3145456443, 3060847922, 2708326185, 2892417312, 2404901663, 2187128086, 2504130317, 2555048196, 3542330227, 3727205754, 3375740769, 3292445032, 3876557655, 3926170974, 4246310725, 4027744588, 1808481195, 1723872674, 1910319033, 2094410160, 1608975247, 1391201670, 1173430173, 1224348052, 59984867, 244860394, 428169201, 344873464, 935293895, 984907214, 766078933, 547512796, 1844882806, 1627235199, 2011214180, 2062270317, 1507497298, 1423022939, 1137477952, 1321699145, 95345982, 145085239, 532201772, 313773861, 830661914, 1015671571, 731183368, 648017665, 3175501286, 2957853679, 2807058932, 2858115069, 2305455554, 2220981195, 2474404304, 2658625497, 3575528878, 3625268135, 3473416636, 3254988725, 3778151818, 3963161475, 4213447064, 4130281361, 3599595085, 3683022916, 3432737375, 3247465558, 3802222185, 4020912224, 4172763771, 4122762354, 3201631749, 3017672716, 2764249623, 2848461854, 2331590177, 2280796200, 2431590963, 2648976442, 104699613, 188127444, 472615631, 287343814, 840019705, 1058709744, 671593195, 621591778, 1852171925, 1668212892, 1953757831, 2037970062, 1514790577, 1463996600, 1080017571, 1297403050, 3673637356, 3623636965, 3235995134, 3454686199, 4007360968, 3822090177, 4107101658, 4190530515, 2997825956, 3215212461, 2830708150, 2779915199, 2256734592, 2340947849, 2627016082, 2443058075, 172466556, 122466165, 273792366, 492483431, 1047239000, 861968209, 612205898, 695634755, 1646252340, 1863638845, 2013908262, 1963115311, 1446242576, 1530455833, 1277555970, 1093597963, 1636604631, 1820824798, 2073724613, 1989249228, 1436590835, 1487645946, 1337376481, 1119727848, 164948639, 81781910, 331544205, 516552836, 1039717051, 821288114, 669961897, 719700128, 2973530695, 3157750862, 2871682645, 2787207260, 2232435299, 2283490410, 2667994737, 2450346104, 3647212047, 3564045318, 3279033885, 3464042516, 3980931627, 3762502690, 4150144569, 4199882800, 3070356634, 3121275539, 2904027272, 2686254721, 2200818878, 2384911031, 2570832044, 2486224549, 3747192018, 3528626907, 3310321856, 3359936201, 3950355702, 3867060991, 4049844452, 4234721005, 1739656202, 1790575107, 2108100632, 1890328081, 1402811438, 1586903591, 1233856572, 1149249077, 266959938, 48394827, 369057872, 418672217, 1002783846, 919489135, 567498868, 752375421, 209336225, 24197544, 376187827, 459744698, 945164165, 895287692, 574624663, 793451934, 1679968233, 1764313568, 2117360635, 1933530610, 1343127501, 1560637892, 1243112415, 1192455638, 3704280881, 3519142200, 3336358691, 3419915562, 3907448597, 3857572124, 4075877127, 4294704398, 3029510009, 3113855344, 2927934315, 2744104290, 2159976285, 2377486676, 2594734927, 2544078150]
U4 = [0, 151849742, 303699484, 454499602, 607398968, 758720310, 908999204, 1059270954, 1214797936, 1097159550, 1517440620, 1400849762, 1817998408, 1699839814, 2118541908, 2001430874, 2429595872, 2581445614, 2194319100, 2345119218, 3034881240, 3186202582, 2801699524, 2951971274, 3635996816, 3518358430, 3399679628, 3283088770, 4237083816, 4118925222, 4002861748, 3885750714, 1002142683, 850817237, 698445255, 548169417, 529487843, 377642221, 227885567, 77089521, 1943217067, 2061379749, 1640576439, 1757691577, 1474760595, 1592394909, 1174215055, 1290801793, 2875968315, 2724642869, 3111247143, 2960971305, 2405426947, 2253581325, 2638606623, 2487810577, 3808662347, 3926825029, 4044981591, 4162096729, 3342319475, 3459953789, 3576539503, 3693126241, 1986918061, 2137062819, 1685577905, 1836772287, 1381620373, 1532285339, 1078185097, 1229899655, 1040559837, 923313619, 740276417, 621982671, 439452389, 322734571, 137073913, 19308535, 3871163981, 4021308739, 4104605777, 4255800159, 3263785589, 3414450555, 3499326569, 3651041127, 2933202493, 2815956275, 3167684641, 3049390895, 2330014213, 2213296395, 2566595609, 2448830231, 1305906550, 1155237496, 1607244650, 1455525988, 1776460110, 1626319424, 2079897426, 1928707164, 96392454, 213114376, 396673818, 514443284, 562755902, 679998000, 865136418, 983426092, 3708173718, 3557504664, 3474729866, 3323011204, 4180808110, 4030667424, 3945269170, 3794078908, 2507040230, 2623762152, 2272556026, 2390325492, 2975484382, 3092726480, 2738905026, 2857194700, 3973773121, 3856137295, 4274053469, 4157467219, 3371096953, 3252932727, 3673476453, 3556361835, 2763173681, 2915017791, 3064510765, 3215307299, 2156299017, 2307622919, 2459735317, 2610011675, 2081048481, 1963412655, 1846563261, 1729977011, 1480485785, 1362321559, 1243905413, 1126790795, 878845905, 1030690015, 645401037, 796197571, 274084841, 425408743, 38544885, 188821243, 3613494426, 3731654548, 3313212038, 3430322568, 4082475170, 4200115116, 3780097726, 3896688048, 2668221674, 2516901860, 2366882550, 2216610296, 3141400786, 2989552604, 2837966542, 2687165888, 1202797690, 1320957812, 1437280870, 1554391400, 1669664834, 1787304780, 1906247262, 2022837584, 265905162, 114585348, 499347990, 349075736, 736970802, 585122620, 972512814, 821712160, 2595684844, 2478443234, 2293045232, 2174754046, 3196267988, 3079546586, 2895723464, 2777952454, 3537852828, 3687994002, 3234156416, 3385345166, 4142626212, 4293295786, 3841024952, 3992742070, 174567692, 57326082, 410887952, 292596766, 777231668, 660510266, 1011452712, 893681702, 1108339068, 1258480242, 1343618912, 1494807662, 1715193156, 1865862730, 1948373848, 2100090966, 2701949495, 2818666809, 3004591147, 3122358053, 2235061775, 2352307457, 2535604243, 2653899549, 3915653703, 3764988233, 4219352155, 4067639125, 3444575871, 3294430577, 3746175075, 3594982253, 836553431, 953270745, 600235211, 718002117, 367585007, 484830689, 133361907, 251657213, 2041877159, 1891211689, 1806599355, 1654886325, 1568718495, 1418573201, 1335535747, 1184342925]
decrypt(ciphertext)

Decrypt a block of cipher text using the AES block cipher.

encrypt(plaintext)

Encrypt a block of plain text using the AES block cipher.

number_of_rounds = {16: 10, 24: 12, 32: 14}
rcon = [1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145]
class common.net.ds.aes.AESModeOfOperationCTR(key, counter=None)

Bases: common.net.ds.aes.AESStreamModeOfOperation

AES Counter Mode of Operation.

o A stream-cipher, so input does not need to be padded to blocks,
allowing arbitrary length data.

o The counter must be the same size as the key size (ie. len(key)) o Each block independant of the other, so a corrupt byte will not

damage future blocks.
o Each block has a uniue counter value associated with it, which
contributes to the encrypted value, so no data patterns are leaked.
o Also known as: Counter Mode (CM), Integer Counter Mode (ICM) and
Segmented Integer Counter (SIC
Security Notes:

o This method (and CBC) ARE recommended. o Each message block is associated with a counter value which must be

unique for ALL messages with the same key. Otherwise security may be compromised.

Also see:

decrypt(crypttext)
encrypt(plaintext)
name = 'Counter (CTR)'
class common.net.ds.aes.AESModeOfOperationCBC(key, iv=None)

Bases: common.net.ds.aes.AESBlockModeOfOperation

AES Cipher-Block Chaining Mode of Operation.

o The Initialization Vector (IV) o Block-cipher, so data must be padded to 16 byte boundaries o An incorrect initialization vector will only cause the first

block to be corrupt; all other blocks will be intact
o A corrupt bit in the cipher text will cause a block to be
corrupted, and the next block to be inverted, but all other blocks will be intact.
Security Notes:
o This method (and CTR) ARE recommended.
Also see:
o https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher-block_chaining_.28CBC.29 o See NIST SP800-38A (http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf); section 6.2
decrypt(ciphertext)
encrypt(plaintext)
name = 'Cipher-Block Chaining (CBC)'
class common.net.ds.aes.AESModeOfOperationCFB(key, iv, segment_size=1)

Bases: common.net.ds.aes.AESSegmentModeOfOperation

AES Cipher Feedback Mode of Operation.

o A stream-cipher, so input does not need to be padded to blocks,
but does need to be padded to segment_size
Also see:
o https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher_feedback_.28CFB.29 o See NIST SP800-38A (http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf); section 6.3
decrypt(ciphertext)
encrypt(plaintext)
name = 'Cipher Feedback (CFB)'
segment_bytes
class common.net.ds.aes.AESModeOfOperationECB(key)

Bases: common.net.ds.aes.AESBlockModeOfOperation

AES Electronic Codebook Mode of Operation.

o Block-cipher, so data must be padded to 16 byte boundaries
Security Notes:

o This mode is not recommended o Any two identical blocks produce identical encrypted values,

exposing data patterns. (See the image of Tux on wikipedia)
Also see:
o https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Electronic_codebook_.28ECB.29 o See NIST SP800-38A (http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf); section 6.1
decrypt(ciphertext)
encrypt(plaintext)
name = 'Electronic Codebook (ECB)'
class common.net.ds.aes.AESModeOfOperationOFB(key, iv=None)

Bases: common.net.ds.aes.AESStreamModeOfOperation

AES Output Feedback Mode of Operation.

o A stream-cipher, so input does not need to be padded to blocks,
allowing arbitrary length data.
o A bit twiddled in the cipher text, twiddles the same bit in the
same bit in the plain text, which can be useful for error correction techniques.
Also see:
o https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Output_feedback_.28OFB.29 o See NIST SP800-38A (http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf); section 6.4
decrypt(ciphertext)
encrypt(plaintext)
name = 'Output Feedback (OFB)'
class common.net.ds.aes.Counter(initial_value=1)

Bases: object

A counter object for the Counter (CTR) mode of operation.

To create a custom counter, you can usually just override the increment method.

increment()

Increment the counter (overflow rolls back to 0).

value

common.net.ds.client module

class common.net.ds.client.Data_IO(host, port=None, store_host=None, store_port=None, debug=0, timeout=None, data_path='', user_id='', sleep=30.0, dstid='', secure=True, certfile='', standard=False, silent=False)

Bases: object

Class to provide data transfer between the server and client.

cachefile(path)

cachefile requests a caching server to cache a file

path = name of the file

checksum(path)

checksum locates a file and returns for each result the path, host, port and checksum

delete(path, defaultkey, host=None, port=None, gpghomedir=None)

delete removes a file from a server, i.e. it moves the file to the ddata directory on the servers disk. The file must exist on the contacted server, the path must be returned from a locate call.

path = name of the file as returned by locate. host = optional host name where the file resides. port = optional port number of the server where the file resides.

get(path=None, fd=None, handle=None, extra=None, raise_exception=True, query=None, savepath=None, **kw)

get obtains the file from a remote server (see _getit)

getcaps()

Get the capability string from server.

getexact(path=None, fd=None, handle=None, extra=None, raise_exception=False, query=None, savepath=None, **kw)

getlocal obtains the file from a local server (see _getit)

getid()

Get the server id.

getlocal(path=None, fd=None, handle=None, extra=None, raise_exception=False, query=None, savepath=None, **kw)

getlocal obtains the file from a local server (see _getit)

getlog(path, defaultkey, host=None, port=None, gpghomedir=None)

getlog retrieves the log file from the server.

path = name of the file the logdata will be store in. host = optional host name where the file resides. port = optional port number of the server where the file resides.

getremote(path=None, fd=None, handle=None, extra=None, raise_exception=False, query=None, savepath=None, **kw)

getlocal obtains the file from a local server (see _getit)

getstats(mode='LOCAL')
head(path=None, query=None)
headlocal(path=None, query=None)
locate(path)

locate locates a file, i.e. returns the url of the server where the specified file resides. All data servers are probed for the file.

path = name of the file

locatefile(path)

locatelocal locates a file, i.e. returns the url of the server where the specified file resides. Only the addressed dataserver is probed.

path = name of the file

locatelocal(path)

locatelocal locates a file, i.e. returns the url of the server where the specified file resides. Only the local dataservers are probed.

path = name of the file

locateremote(path)

locateremote locates a file, i.e. returns the url of the server where the specified file resides. Only remote dataservers are probed.

path = name of the file

md5sum(path, host=None, port=None)

md5sum calculates the md5 check sum of a file. The file must exist on the contacted server, the path must be returned from a locate call.

path = name of the file as returned by locate. host = optional host name where the file resides. port = optional port number of the server where the file resides.

mirrorput(path, port=8000, directory='')

mirrorput make the data server retrieve file path to its sdata directory

path = path to local file port = port local ds listens on directory = change the directory where the file should be mirrored

myprint(level, text)
ping()

See if there is a server running out there and get the server info.

put(path)

put stores a file on a local dataserver

path = path to local file

register(path, validation)

register gets a dataserver to register a file which is already in one of the dataserver directories.

path = path to the file (w.r.t. the working directory)

release(validation)

release gets a dataserver to release the port the server is listening on

reload(validation, force=False)

reload lets a dataserver rescan the directory structure

force = True forces, False doesn’t

restart(defaultkey, host=None, port=None, gpghomedir=None)
sha1sum(path, host=None, port=None)

md5sum calculates the sha1 check sum of a file. The file must exist on the contacted server, the path must be returned from a locate call.

path = name of the file as returned by locate. host = optional host name where the file resides. port = optional port number of the server where the file resides.

size(path, host=None, port=None)

size calculates the size of a file. The file must exist on the contacted server, the path must be returned from a locate call.

path = name of the file as returned by locate. host = optional host name where the file resides. port = optional port number of the server where the file resides.

stat(path, host=None, port=None)

stat returns the stat tuple a file. The file must exist on the contacted server, the path must be returned from a locate call.

path = name of the file as returned by locate. host = optional host name where the file resides. port = optional port number of the server where the file resides.

takeover(validation, newport, certfile='')

takeover gets a dataserver to take over the port the current server is listening on

testcache()

testcache tests whether the server is allowed to cache files

testfile(path)

testfile tests whether a file exists on the server

path = name of the file

teststore()

teststore tests whether the server is allowed to store files

class common.net.ds.client.Storage(host, port=None, store_host=None, store_port=None, debug=0, timeout=None, data_path='', user_id='', sleep=30.0, dstid='', secure=True, certfile='', standard=False, silent=False)

Bases: common.net.ds.client.Data_IO

object_to_commit(data_object)
retrieve(data_object)
store(data_object)
common.net.ds.client.ascii_to_python(arg)
common.net.ds.client.dataserver_result_to_dict(result)

method to make dictionary of dataserver locate result

common.net.ds.client.fetch_file_from_dataserver(filename, hostport=None, savepath=None, query=None)

method to retrieve a file from a dataserver

common.net.ds.client.gpgdecrypt(fin=None, lin=[], gpghomedir=None)

gpgdecrypt decrypts the encrypted lines read from file object fin. It returns a list of strings without newlines!

common.net.ds.client.gpgencrypt(lines, defaultkey, fout=None, lout=[], gpghomedir=None)

gpgencrypt encrypts lines with defaultkey and writes them to file object fout. lines should NOT contain newlines!

common.net.ds.client.main()
common.net.ds.client.python_to_ascii(*args)

common.net.ds.db module

db

common.net.ds.db.db_commit(dbname, sql, dumpfunc=None)
common.net.ds.db.db_connect(*args, **kwargs)
common.net.ds.db.db_diadddir(rootdir, dir, count=0, size=0)
common.net.ds.db.db_dicheckdir(rootdir, dir)
common.net.ds.db.db_diclose()
common.net.ds.db.db_digetlocaldirinfo()
common.net.ds.db.db_diinit()
common.net.ds.db.db_diremovedir(rootdir, dir)
common.net.ds.db.db_direnamedir(olddir, newdir)
common.net.ds.db.db_dirinfo_adddir(dirname)
common.net.ds.db.db_dirinfo_addfile(basename, dirname, size)
common.net.ds.db.db_dirinfo_deldir(dirname)
common.net.ds.db.db_dirinfo_delfile(basename, dirname, size)
common.net.ds.db.db_diupdate()
common.net.ds.db.db_dsallservers()
common.net.ds.db.db_dsclose()
common.net.ds.db.db_dsfindscanningservers()
common.net.ds.db.db_dsfindsimilarserver(h, p)
common.net.ds.db.db_dsfindtakeoverserver(server)
common.net.ds.db.db_dsgetlastscantime()
common.net.ds.db.db_dsgetstoredirs()
common.net.ds.db.db_dsinit()
common.net.ds.db.db_dsotherservers()
common.net.ds.db.db_dssetscanningserver()
common.net.ds.db.db_dssignoff()
common.net.ds.db.db_dsstartserver(server)
common.net.ds.db.db_dsstopserver(server)
common.net.ds.db.db_dsunsetscanningserver(Scanned=False)
common.net.ds.db.db_dsupdate()
common.net.ds.db.db_dsupdateserver(server)

Update the new store dir.

common.net.ds.db.db_dump(dbname, sql, dumpfunc=None, autocommit=True)
common.net.ds.db.db_dumptofilebuffers()
common.net.ds.db.db_emptyallbuffers(Force=False)
common.net.ds.db.db_emptyallfilebuffers()
common.net.ds.db.db_emptyallmembuffers()
common.net.ds.db.db_emptybuffer(dbname, commitstep=100, dumpfunc=None)
common.net.ds.db.db_emptyfilebuffer(dbname, commitstep=100, dumpfunc=<function db_filedump>, Force=False, release=False)
common.net.ds.db.db_emptymembuffer(dbname, commitstep=100, dumpfunc=<function db_memdump>, Force=False, release=False)
common.net.ds.db.db_filedump(dbname, sql, autocommit=True)
common.net.ds.db.db_ftaddfile(filename, dbfilename=None, changedirinfo=True, commitfunc=None, md5cs=False, length=None)
common.net.ds.db.db_ftaddfilewithcheck(filename, dbfilename=None, changedirinfo=True, commitfunc=None, md5cs=False, length=None)
common.net.ds.db.db_ftclose(dbfilename=None)
common.net.ds.db.db_ftdirlist(rootdir)
common.net.ds.db.db_ftexecuteselect(items='basename, dirname', where='')
common.net.ds.db.db_ftgetmatchingdirs(dirname)
common.net.ds.db.db_ftinit(dbfilename=None)
common.net.ds.db.db_ftremovefile(file, commitfunc=None, changedirinfo=True, length=0)
common.net.ds.db.db_ftrenamedir(olddir, newdir)
common.net.ds.db.db_ftrenamefile(oldfile, newfile, commitfunc=None, changedirinfo=True, length=0)
common.net.ds.db.db_ftreplacefile(filename, dbfilename=None, changedirinfo=True, commitfunc=None, md5cs=False, length=None)
common.net.ds.db.db_ftsearchfile(tail)
common.net.ds.db.db_ftsearchfiles(tail)
common.net.ds.db.db_ftsignoffdatabase(dbfilename)
common.net.ds.db.db_loadfromfilebuffer(dbname)
common.net.ds.db.db_loadfromfilebuffers()
common.net.ds.db.db_loadfrommembuffer(dbname)
common.net.ds.db.db_memdump(dbname, sql, autocommit=True)
common.net.ds.db.db_startdbflushthread(flushfunc, dbname)

common.net.ds.dsendtoendtest module

PURPOSE: The script tests the dataserver in most of its functionalities. This script can only test operations between
client and two dataservers by using localhost for one server and the fully qualified domain name for the second server i.e. this script only works when the host is connected to the ethernet.

WARNING: This script should not be run from somewhere within the python code tree.

NOTES: The stript uses the default trempooraty directory. It can be modified by define TMPDIR in the shell
environment.

The following tests are implemented:

test_001_servermaintest: Tests simply whether the main.py of the server exists. It is assumed that
this script runs outside the code tree which contains the dataserver code.
test_002_startupinsecureservertest: Tests whether an insecure server can be started. It requests the started server
to http dump the name of its logfile and its pid. Final test is the downshutting of this server.
test_003_startupsecureservertest: Tests whether a secure server can be started. Similar tests as for the insecure
server. Finally shutting down is tested.
test_004_capabilitiestest: Tests whether the capabilities of the server are detected by creating the
different server directories and requesting the capabilities of the server.
test_005_registertest: Tests whether it is possible to register a file which has been copied to
the file space the server is serving files from.
test_006_retrievetest: Tests whether files can be retreived from the dataserver. It tests the
retrieval of complete files and slices out of files and FITS files. Retrieval and simultaneous decompression is tested and the direct data access.

test_007_locatetest: Tests whether files can be located via the checksum function.

test_008_storetest: Tests wheter files can be stored.

test_009_referaltest: Tests the retrieve function when having two dataservers. I.e. the data
server which does not have the file should refer to the other one which has the file. And also the action when trying to retrieve a non-existent file is tested.
test_010_getlogtest: Tests whether a client can get the dataserver logfile when the correct gpgkey
is given.
test 011_deletetest: Tests whether a client an delete a file on a dataserver when the correct
gpgkey is given.
test_012_standalonetest: Tests the standalone functions, at the moment only the -status and oinitialize
functions are tested
test_013_restart: Tests whether a dataserver can be restarted by a client ehn the correct
gpgkey is given.
test_014_legacytest: Tests whether a datasderver can be accessed by a client using the old legacy
code.

test_015_securitytests: Tests some security issues, i.e. can a client obtain system files!

test_016_cachingservertest: Tests the caching mechanism of a data server.

class common.net.ds.dsendtoendtest.TestDSServer(methodName='runTest')

Bases: unittest.case.TestCase

certfile = ['/tmp/tmp7s6eysdh.endtoendtest/data1/localhost.pem', '/tmp/tmp7s6eysdh.endtoendtest/data2/runner-ydNR8Czk-project-121-concurrent-0.pem']
clientdir = '/tmp/tmp7s6eysdh.endtoendtest/client'
configfile = ['/tmp/tmp7s6eysdh.endtoendtest/data1/ds.cfg', '/tmp/tmp7s6eysdh.endtoendtest/data2/ds.cfg']
configoptions = [{'query': 'True', 'logfile': '/tmp/tmp7s6eysdh.endtoendtest/data1/ds.log', 'autocommitsize': '1', 'spacelimit': '1', 'secureports': '', 'gpghomedir': '/tmp/tmp7s6eysdh.endtoendtest/data1/.gnupg', 'ports': '', 'servers': 'localhost', 'workingdirectory': '/tmp/tmp7s6eysdh.endtoendtest/data1'}, {'query': 'True', 'logfile': '/tmp/tmp7s6eysdh.endtoendtest/data2/ds.log', 'autocommitsize': '1', 'spacelimit': '1', 'secureports': '', 'gpghomedir': '/tmp/tmp7s6eysdh.endtoendtest/data2/.gnupg', 'ports': '', 'servers': 'runner-ydNR8Czk-project-121-concurrent-0', 'workingdirectory': '/tmp/tmp7s6eysdh.endtoendtest/data2'}]
curlogfile = ['', '']
data_path = ['', '']
defaultgpgkey = 'tester@from.nowhere'
fqdn = 'runner-ydNR8Czk-project-121-concurrent-0'
get_dirinfo(server)
get_item_from_database(server, filename, item, wait=10.0)
get_server_password(server)
hosts = ['localhost', 'runner-ydNR8Czk-project-121-concurrent-0']
logfile = ['/tmp/tmp7s6eysdh.endtoendtest/data1/ds.log', '/tmp/tmp7s6eysdh.endtoendtest/data2/ds.log']
md5check1 = '520751aa2c1c8b821efb1ed48706f864'
md5check2 = '9d1056e1cc86c1a8ec49bda40fdbcc61'
md5check3 = '9d1056e1cc86c1a8ec49bda40fdbcc61'
md5check4 = '9d1056e1cc86c1a8ec49bda40fdbcc61'
md5check5 = '9d1056e1cc86c1a8ec49bda40fdbcc61'
md5check6 = '9d1056e1cc86c1a8ec49bda40fdbcc61'
md5check7 = '47a9b4ebe807fc365220ba3c8e53403e'
md5check8 = '62b973bdda256fe721ef3c8910511121'
md5check9 = '9d1056e1cc86c1a8ec49bda40fdbcc61'
md5checka = '9d1056e1cc86c1a8ec49bda40fdbcc61'
md5checkb = '9d1056e1cc86c1a8ec49bda40fdbcc61'
md5checkc = '9d1056e1cc86c1a8ec49bda40fdbcc61'
orgdir = '/builds/omegacen/astro/docs'
ports = '8000'
secureports = '8363'
server_id = ['xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx']
servermain = '/opt/awehome/Linux-centos-7.4-x86_64/master/astro/lib/python3.5/site-packages/sphinx/main.py'
serverpid = [0, 0]
serverprivgnupgdir = '/tmp/tmp7s6eysdh.endtoendtest/client/.gnupg'
serverprocess = [None, None]
serverpublgnupgdir = ['/tmp/tmp7s6eysdh.endtoendtest/data1/.gnupg', '/tmp/tmp7s6eysdh.endtoendtest/data2/.gnupg']
setUp()
shutdown(server)
sslcontext = <ssl.SSLContext object>
startup(server, **kwargs)
tearDown()
tempdir = '/tmp/tmp7s6eysdh.endtoendtest'
test_001_servermaintest()
test_002_startupinsecureservertest()
test_003_startupsecureservertest()
test_004_capabilitiestest()
test_005_registertest()
test_006_retrievetest()
test_007_locatetest()
test_008_storetest()
test_009_referaltest()
test_010_getlogtest()
test_011_deletetest()
test_012_standalonetest()
test_013_restart()
test_014_legacytest()
test_015_securitytests()
test_016_cachingservertest()
test_017()
testfile1 = '/tmp/tmp7s6eysdh.endtoendtest/client/testdata1.fits'
testfile2 = '/tmp/tmp7s6eysdh.endtoendtest/client/testdata2.bin'
testfile3 = '/tmp/tmp7s6eysdh.endtoendtest/client/testdata3.bin'
testfile4 = '/tmp/tmp7s6eysdh.endtoendtest/client/testdata4.bin'
testfile5 = '/tmp/tmp7s6eysdh.endtoendtest/client/testdata5.bin'
testfile6 = '/tmp/tmp7s6eysdh.endtoendtest/client/testdata6.bin'
testfile7 = '/tmp/tmp7s6eysdh.endtoendtest/client/testdata7.bin.gz'
testfile8 = '/tmp/tmp7s6eysdh.endtoendtest/client/testdata8.fits.gz'
testfile9 = '/tmp/tmp7s6eysdh.endtoendtest/client/testdata9.bin'
testfilea = '/tmp/tmp7s6eysdh.endtoendtest/client/testdataa.bin'
testfileb = '/tmp/tmp7s6eysdh.endtoendtest/client/testdatab.bin'
testfilec = '/tmp/tmp7s6eysdh.endtoendtest/client/testdatac.bin'
urlopen(url, **kwargs)
workdir = ['/tmp/tmp7s6eysdh.endtoendtest/data1', '/tmp/tmp7s6eysdh.endtoendtest/data2']
common.net.ds.dsendtoendtest.find_free_port(hosts, port, secure=False)
common.net.ds.dsendtoendtest.make_fitsfile(filename, naxes=[1024, 1024])
common.net.ds.dsendtoendtest.make_testfile(filename, ri=242, blocks=4096)
common.net.ds.dsendtoendtest.suite()
common.net.ds.dsendtoendtest.uncompress(filename)
common.net.ds.dsendtoendtest.unicode2string(object)

common.net.ds.general module

general.py

class common.net.ds.general.ProcessCopyFile(rfile, wfile, length, maxbytes)

Bases: multiprocessing.context.Process

join(timeout=None)
run()
class common.net.ds.general.TestPath(tail, item)

Bases: threading.Thread

run()
class common.net.ds.general.TestPaths(tail, item)

Bases: threading.Thread

run()
class common.net.ds.general.ThreadCopyFile(rfile, wfile, length=16384, maxbytes=0, domd5=False, maxlength=0)

Bases: threading.Thread

run()
class common.net.ds.general.ThreadPing(ip, p, timeout, user_id, dstid, secure)

Bases: threading.Thread

run()
common.net.ds.general.gen_addchildproc(sp, runtime, command)
common.net.ds.general.gen_adddir(rootdir, dir)
common.net.ds.general.gen_addfile(rootdir, file, replaces=(), dbfilename=None, commitfunc=None, md5cs=False, length=None)
common.net.ds.general.gen_checkchildprocs()
common.net.ds.general.gen_checkdbflushlocks()
common.net.ds.general.gen_checkfornewstoredir()
common.net.ds.general.gen_checkfreespace(d)
common.net.ds.general.gen_checksourcecode()
common.net.ds.general.gen_checksum(file, length=16384, algorithm='md5')
common.net.ds.general.gen_chown(file)
common.net.ds.general.gen_cleanupddaleftovers()
common.net.ds.general.gen_cleanupdir(rootdir)
common.net.ds.general.gen_closelogfile()

closelogfile closes the log file and resets stdout and stderr

common.net.ds.general.gen_cmp_to_key(mycmp)

Convert a cmp= function into a key= function

common.net.ds.general.gen_convert2ips(host)
common.net.ds.general.gen_copyfile(fsrc, fdst, length=16384, writecount=None, domd5=False)

copy data from file-like object fsrc to file-like object fdst

common.net.ds.general.gen_decreasefilesize(filename, decsize)
common.net.ds.general.gen_decrypt(encrypted_text)
common.net.ds.general.gen_dinfolock()
common.net.ds.general.gen_dinfounlock()
common.net.ds.general.gen_dirlisting(dir, all=False)
common.net.ds.general.gen_encrypt(key, text)
common.net.ds.general.gen_enoughspace(d)
common.net.ds.general.gen_executequery(infile, outfile, fileform)
common.net.ds.general.gen_freespace(d)
common.net.ds.general.gen_getdirinfo(Force=False, Mode=7)
common.net.ds.general.gen_getgroupdirinfo()
common.net.ds.general.gen_getlocaldirinfo(Force=False, verify=0, nocheckfile='.no_check')

obtains directory information for the data directories

common.net.ds.general.gen_getservergroups()
common.net.ds.general.gen_gettotaldirinfo()
common.net.ds.general.gen_getuniqueserverids()

return the unique server id which depends on hostname and current working directory

common.net.ds.general.gen_globallockfile(file, sleep=1, timeout=3600, waitforlock=True)
common.net.ds.general.gen_globalunlockfile(file)
common.net.ds.general.gen_gpfs_freespace(d)
common.net.ds.general.gen_hasgloballockfile(file)
common.net.ds.general.gen_initlock()
common.net.ds.general.gen_ipsort(t1, t2)

sort on internet protocal number, local net first

common.net.ds.general.gen_ipsortstore(t1, t2)

sort on internet protocal number, local net first

common.net.ds.general.gen_islocal(h)

checks whether host is on local network

common.net.ds.general.gen_isself(h, p)

check whether host/port combination is equal to the actual server ip numbers and ports

common.net.ds.general.gen_killchildprocs()
common.net.ds.general.gen_lc(filename)
common.net.ds.general.gen_loadconfig(configfile)
common.net.ds.general.gen_loadfilter(name, date, lyst)
common.net.ds.general.gen_loadfilters()
common.net.ds.general.gen_loadlocaldirinfo()
common.net.ds.general.gen_localdirinfohelper(rootdir, dir, c, s, verify=0, nocheckfile='.no_check', dirinfo=None)
common.net.ds.general.gen_localexpand(store=False, user_id='', dstid='', secureserver=False, servercaps='x')

expand the local server names

common.net.ds.general.gen_localexpandhelper(user_id='', dstid='', secureserver=False, servercaps='x')

expands the current local dataservers into ips

common.net.ds.general.gen_lockthing(thing)
common.net.ds.general.gen_mailto(receivers, subject, message, sender='dataserver@localhost', smtphost='localhost', replyto='noreply@localhost')
common.net.ds.general.gen_makepfstable(extradirlist=[])
common.net.ds.general.gen_matchfilter(filter, clientaddress)
common.net.ds.general.gen_mkdir(dir)
common.net.ds.general.gen_openfile(testpath, inext, outext, fileform={})
common.net.ds.general.gen_openlogfile()

openlogfile opens the log file

common.net.ds.general.gen_printbytes(b)
common.net.ds.general.gen_protocol(secure)
common.net.ds.general.gen_remoteexpand(user_id='', dstid='')

expand the remote server names

common.net.ds.general.gen_remoteexpandhelper(user_id='', dstid='')

expands the current remote servernames into ips

common.net.ds.general.gen_removechildproc(pid, ret=None)
common.net.ds.general.gen_rename(infile, outfile)
common.net.ds.general.gen_savelocaldirinfo()
common.net.ds.general.gen_shmemlock()
common.net.ds.general.gen_shmemunlock()
common.net.ds.general.gen_showallthreads()
common.net.ds.general.gen_showinfo()
common.net.ds.general.gen_signalhandler(signum, frame)
common.net.ds.general.gen_storelock()
common.net.ds.general.gen_storeunlock()
common.net.ds.general.gen_touch(filename)
common.net.ds.general.gen_unlockthing(thing)
common.net.ds.general.gen_updateserverinfo()

common.net.ds.globals module

globals

class common.net.ds.globals.global_struct

Bases: object

Compressed_Exts = ['', '.gz', '.bz2']
Compressors = {'': '', '.bz2': 'bzip2 --stdout --compress ', '.gz': 'gzip --to-stdout --no-name '}
Decompressors = {'': '', '.bz2': 'bzip2 --stdout --decompress ', '.gz': 'gzip --to-stdout --decompress '}
Halt = <threading.Event object>
allow_query = False
allowanyds = True
autocommitsize = 100
autoflush_thread = None
cache_id = 1
certfile = ''
cfgservers = []
childtable = {}
childtablelock = <unlocked _thread.lock object>
curlogfile = ''
dbase_id = 3
dbcommitfunc = None
dbcommittimeout = 30.0
dbflushthreadlocks = {}
dbflushthreads = {}
dbselecttimeout = 30.0
dda = False
dead_group_count = 0
didb = None
dinfo_lock = None
dir_info_lastget_time = 0.0
dir_info_lastput_time = 0.0
directories = ['sdata', 'cdata', 'tdata', 'pdata', 'idata', 'ddata', 'xdata', 'ydata']
dirinfo_thread = None
dread_lock = None
dsdb = None
dsdir = '.awds'
execq = ''
execqkeys = []
extracheck = True
filetable_databases = []
ftdb = None
ggv(item)
globallockfiles = []
gpfs_devicelist = {}
gpfs_freespace_pool = {}
gpfs_poolname = ''
gpghomedir = None
group_dir_info = {}
hosts = []
hosttable = {}
ifilterdate = None
ifilterlist = []
ifiltername = ''
ingst_id = 4
last_scan_time = 0.0
local_dead_server_count = 0
local_dir_info = {}
local_servers = []
local_servers_dict = {}
local_servers_lookup = {}
local_storeservers_dict = {}
local_storeservers_lookup = {}
localexpand_thread = None
locked_things = {}
loexp_lock = None
logfile = 'globals.log'
logging = False
lrexp_lock = None
mail_address = None
main_loop_sleep = 3600
main_loop_thread = None
mainmodule = 'common.net.ds.main'
max_files_in_dir = 100000
maxthreads = 0
nocachefile = '.no_cache'
nofile = 0
nostorefile = '.no_store'
package = 'common.net.ds'
pfs_nthread = 10
pfs_table = []
pid = 20
port = [8000]
quiet = False
reexp_lock = None
remote_servers = []
remote_servers_dict = {}
remote_servers_lookup = {}
remoteexpand_thread = None
rqsize = 63
rrexp_lock = None
save_err = <common.config.startup.Myfile object>
save_out = <common.config.startup.Myfile object>
saved_localserver_info = ()
saved_localserver_info_refresh = 150.0
saved_localstoreserver_info = ()
saved_remoteserver_info = ()
saved_remoteserver_info_refresh = 600.0
scan_loop_sleep = 86400
secureport = [8363]
server_timeout = 5
servers = []
setuid = 0
sfilterdate = None
sfilterlist = []
sfiltername = ''
sgv(item, value)
shmem_lock = None
smtphost = 'localhost'
spacelimit = 21474836480
special = ['', 'index', 'status', 'index.html', 'status.html', 'robots.txt', 'statusproxy', 'info', 'dirinfo', 'dstestdatafile.bin', 'pid', 'logfile', 'starttime']
sqlbuffer = {}
sqlmemorybuffering = True
statusproxyurls = []
store_directories = []
store_id = 0
store_lock = None
stored = {}
tempr_id = 2
time_last_mail = [0.0, 0.0]
title = 'Astro-WISE DataServer'
total_dead_server_count = 0
total_dir_info = {}
unique_server_globalid = None
unique_server_identity = None
unique_server_password = None
usetc = False
version = '?'
warnfactor = 10
waste_id = 5
watchdir = 0
watchdir_thread = None
workingdirectory = '/builds/omegacen/astro/docs'
xchng_id = 6
ychng_id = 7

common.net.ds.handler module

handler

class common.net.ds.handler.DataRequestHandler(request, client_address, server)

Bases: http.server.SimpleHTTPRequestHandler

Class takes care of the requests

admin(testpath, count, t1, t2, action)
allowed_access()
certfile = ''
comprext = ''
copyfile(fsrc, fdst, length=16384, maxbytes=0, domd5=False, maxlength=0)

copy data from file-like object fsrc to file-like object fdst

decodeurl()
do_CACHEFILE()

Serve a CACHEFILE request.

do_CHECKSUM()
do_DELETE()
do_GET()
do_GETANY()
do_GETANYTEST()

Cause a server crash of the python code

do_GETGROUPSTATS()
do_GETLOCAL()
do_GETLOCALSTATS()
do_GETLOCALTEST()

Cause a server crash of the python code

do_GETLOG()
do_GETREMOTE()
do_GETREMOTETEST()

Cause a server crash of the python code

do_GETTEST()

Cause a server crash of the python code

do_GETTOTALSTATS()
do_HEAD()
do_HEADLOCAL()
do_LOCATE()

Serve a LOCATE request.

do_LOCATEFILE()

Serve a LOCATEFILE request.

do_LOCATELOCAL()

Serve a LOCATELOCAL request.

do_LOCATEREMOTE()

Serve a LOCATEREMOTE request.

do_MD5SUM()
do_PING()
do_POST()
do_PUT()
do_REGISTER()
do_RELEASE()
do_RELOAD()
do_RESTART()
do_SIZE()
do_STAT()
do_STORE()
do_STORED()
do_STORETEST()

Cause a server crash of the python code

do_TAKEOVER()
do_TESTCACHE()

self.server.testcache_callcount += 1 Serve a TESTCACHE request.

do_TESTFILE()

Serve a TESTFILE request.

do_TESTSTORE()

self.server.teststore_callcount += 1 Serve a TESTSTORE request.

do_special(tail)
dstid = ''
fileform = {}
form = {}
get_capabilities()

Returns the capability string of the current server.

get_dirinfo()
get_filecount()
get_index()
get_info()
get_pathname()
get_status()
get_storedir()
getheader(*args)
getit(local=False, remote=False, getany=False, data=True)
head = ''
ident = ''
localexpand(store=False)

expand the local server names

locateit(local=False, remote=False)
log_message(*args, **kwargs)
log_request(*args, **kwargs)
machine_id = ''
print_log(done=False, skip=False, datarate=None)
query = ''
remoteexpand()

expand the remote server names

server_connect_string()
standard = False
tail = ''
test_path()
test_paths()
thisjob = None
threadname = ''
toobusy(redirect=None)
upath = ''
urldecoded = False
user_id = ''
whead(ctype)

common.net.ds.main module

main.py

common.net.ds.main.autoflush()
common.net.ds.main.loop()
common.net.ds.main.main()

common.net.ds.myfile module

myfile

class common.net.ds.myfile.myfile(name, popen=None, decompress=False)

Bases: object

This class provides a wrapper around files opened for delete on close. It seeks to automatically remove the file when it is no longer needed. It also can deliver partial file data specified either as a substream (offset and length) or subarea (offset, dims, blo, bhi) or as FITS file coordinates.

close()
myfile_content_length = 0
myfile_count = 0
myfile_decompress = False
myfile_delete = False
myfile_delete_on_close(doc)
myfile_dims = 0
myfile_filename = ''
myfile_fits_header = b''
myfile_fits_trailer_length = 0
myfile_fptr = 0
myfile_left = []
myfile_mode = 0
myfile_reset()
myfile_setFITSarea(flo, fhi)
myfile_setsubarea(offset, dims, blo, bhi)
myfile_setsubstream(offset, count)
myfile_show()
myfile_size = []
myfile_step = []
myfile_todo = 1
read(count)

common.net.ds.server module

server

class common.net.ds.server.ThreadingHTTPServer(address, handler, certfile='')

Bases: socketserver.ThreadingMixIn, socketserver.TCPServer

The base server.

allow_reuse_address = True
certfile = ''
filetabledbname = ''
hostport = ()
protocol_version = 'HTTP/1.1'
quit = -1
secure = False
serve_forever()
server_storedir_basenamepart = ''
server_storedir_storecount = 0
server_storedir_storename = ''
shutdownserver()
start_time = 0.0
stop_time = 0.0
takeover = False
takeoverserver()
threadcount = 0
common.net.ds.server.srv_listcleanup()
common.net.ds.server.srv_startserver(host, port=8000, certfile='')

common.net.ds.standalone module

standalone

common.net.ds.standalone.man_dbaction(verify=0, idx=4)
common.net.ds.standalone.man_handlecache()
common.net.ds.standalone.man_handlestore()
common.net.ds.standalone.man_importfromds()
common.net.ds.standalone.man_initialize()
common.net.ds.standalone.man_movefilestodir()
common.net.ds.standalone.man_register()
common.net.ds.standalone.man_reload()
common.net.ds.standalone.man_removefile()
common.net.ds.standalone.man_renamedir()
common.net.ds.standalone.man_renamefile()
common.net.ds.standalone.man_replacefile()
common.net.ds.standalone.man_showdirs()
common.net.ds.standalone.man_status()
common.net.ds.standalone.man_usage()

Module contents

ds

dataserver next generation