breakpoints = (
69868C9D14618450004C5D9B /* packet.c:9 */,
69868EE41461AA6F004C5D9B /* packet.c:207 */,
- 69269F4E14620FC200F69705 /* packet.c:175 */,
+ 69269F4E14620FC200F69705 /* packet.c:179 */,
);
codeSenseManager = 69868AD51460E35F004C5D9B /* Code sense */;
perUserDictionary = {
6926A0EE1463428800F69705 /* PBXTextBookmark */ = 6926A0EE1463428800F69705 /* PBXTextBookmark */;
6926A0EF1463428800F69705 /* PBXTextBookmark */ = 6926A0EF1463428800F69705 /* PBXTextBookmark */;
6926A0F01463428800F69705 /* PBXTextBookmark */ = 6926A0F01463428800F69705 /* PBXTextBookmark */;
+ 6926A0FE1463434000F69705 /* PBXTextBookmark */ = 6926A0FE1463434000F69705 /* PBXTextBookmark */;
+ 6926A0FF1463434000F69705 /* PBXTextBookmark */ = 6926A0FF1463434000F69705 /* PBXTextBookmark */;
+ 6926A1001463434000F69705 /* PBXTextBookmark */ = 6926A1001463434000F69705 /* PBXTextBookmark */;
+ 6926A109146348FB00F69705 /* PBXTextBookmark */ = 6926A109146348FB00F69705 /* PBXTextBookmark */;
+ 6926A10A146348FB00F69705 /* PBXTextBookmark */ = 6926A10A146348FB00F69705 /* PBXTextBookmark */;
+ 6926A10B146348FB00F69705 /* PBXTextBookmark */ = 6926A10B146348FB00F69705 /* PBXTextBookmark */;
+ 6926A11B14634A1600F69705 /* PBXTextBookmark */ = 6926A11B14634A1600F69705 /* PBXTextBookmark */;
+ 6926A11C14634A1600F69705 /* PBXTextBookmark */ = 6926A11C14634A1600F69705 /* PBXTextBookmark */;
+ 6926A11D14634A1600F69705 /* PBXTextBookmark */ = 6926A11D14634A1600F69705 /* PBXTextBookmark */;
+ 6926A12614634ACB00F69705 /* PBXTextBookmark */ = 6926A12614634ACB00F69705 /* PBXTextBookmark */;
+ 6926A13014634B6900F69705 /* PBXTextBookmark */ = 6926A13014634B6900F69705 /* PBXTextBookmark */;
+ 6926A13114634B6900F69705 /* PBXTextBookmark */ = 6926A13114634B6900F69705 /* PBXTextBookmark */;
+ 6926A13214634B6900F69705 /* PBXTextBookmark */ = 6926A13214634B6900F69705 /* PBXTextBookmark */;
+ 6926A13914634C0A00F69705 /* PBXTextBookmark */ = 6926A13914634C0A00F69705 /* PBXTextBookmark */;
+ 6926A13E14634C5000F69705 /* PBXTextBookmark */ = 6926A13E14634C5000F69705 /* PBXTextBookmark */;
+ 6926A14414634C9E00F69705 /* PBXTextBookmark */ = 6926A14414634C9E00F69705 /* PBXTextBookmark */;
+ 6926A14914634FF400F69705 /* PBXTextBookmark */ = 6926A14914634FF400F69705 /* PBXTextBookmark */;
+ 6926A14A14634FF400F69705 /* PBXTextBookmark */ = 6926A14A14634FF400F69705 /* PBXTextBookmark */;
+ 6926A14B14634FF400F69705 /* PBXTextBookmark */ = 6926A14B14634FF400F69705 /* PBXTextBookmark */;
+ 6926A14F1463503900F69705 /* PBXTextBookmark */ = 6926A14F1463503900F69705 /* PBXTextBookmark */;
+ 6926A1551463508400F69705 /* PBXTextBookmark */ = 6926A1551463508400F69705 /* PBXTextBookmark */;
+ 6926A1561463508400F69705 /* PBXTextBookmark */ = 6926A1561463508400F69705 /* PBXTextBookmark */;
+ 6926A1571463508400F69705 /* PBXTextBookmark */ = 6926A1571463508400F69705 /* PBXTextBookmark */;
+ 6926A15B146350B600F69705 /* PBXTextBookmark */ = 6926A15B146350B600F69705 /* PBXTextBookmark */;
+ 6926A15C146350B600F69705 /* PBXTextBookmark */ = 6926A15C146350B600F69705 /* PBXTextBookmark */;
+ 6926A15D146350B600F69705 /* PBXTextBookmark */ = 6926A15D146350B600F69705 /* PBXTextBookmark */;
+ 6926A15E146350B600F69705 /* PBXTextBookmark */ = 6926A15E146350B600F69705 /* PBXTextBookmark */;
+ 6926A160146350E300F69705 /* PBXTextBookmark */ = 6926A160146350E300F69705 /* PBXTextBookmark */;
+ 6926A1621463511900F69705 /* PBXTextBookmark */ = 6926A1621463511900F69705 /* PBXTextBookmark */;
+ 6926A1661463513900F69705 /* PBXTextBookmark */ = 6926A1661463513900F69705 /* PBXTextBookmark */;
+ 6926A16A1463517900F69705 /* PBXTextBookmark */ = 6926A16A1463517900F69705 /* PBXTextBookmark */;
+ 6926A1701463518E00F69705 /* PBXTextBookmark */ = 6926A1701463518E00F69705 /* PBXTextBookmark */;
+ 6926A1771463520200F69705 /* PBXTextBookmark */ = 6926A1771463520200F69705 /* PBXTextBookmark */;
+ 6926A17C1463521400F69705 /* PBXTextBookmark */ = 6926A17C1463521400F69705 /* PBXTextBookmark */;
+ 6926A1831463522C00F69705 /* PBXTextBookmark */ = 6926A1831463522C00F69705 /* PBXTextBookmark */;
+ 6926A18A1463560A00F69705 /* PBXTextBookmark */ = 6926A18A1463560A00F69705 /* PBXTextBookmark */;
+ 6926A18B1463560A00F69705 /* PBXTextBookmark */ = 6926A18B1463560A00F69705 /* PBXTextBookmark */;
+ 6926A18C1463560A00F69705 /* PBXTextBookmark */ = 6926A18C1463560A00F69705 /* PBXTextBookmark */;
+ 6926A1951463569500F69705 /* PBXTextBookmark */ = 6926A1951463569500F69705 /* PBXTextBookmark */;
+ 6926A19C1463574C00F69705 /* PBXTextBookmark */ = 6926A19C1463574C00F69705 /* PBXTextBookmark */;
+ 6926A19D1463574C00F69705 /* PBXTextBookmark */ = 6926A19D1463574C00F69705 /* PBXTextBookmark */;
+ 6926A19E1463574C00F69705 /* PBXTextBookmark */ = 6926A19E1463574C00F69705 /* PBXTextBookmark */;
+ 6926A1A51463576100F69705 /* PBXTextBookmark */ = 6926A1A51463576100F69705 /* PBXTextBookmark */;
+ 6926A1AC1463578B00F69705 /* PBXTextBookmark */ = 6926A1AC1463578B00F69705 /* PBXTextBookmark */;
+ 6926A1B3146357A900F69705 /* PBXTextBookmark */ = 6926A1B3146357A900F69705 /* PBXTextBookmark */;
+ 6926A1C81463585300F69705 /* PBXTextBookmark */ = 6926A1C81463585300F69705 /* PBXTextBookmark */;
+ 6926A1C91463585300F69705 /* PBXTextBookmark */ = 6926A1C91463585300F69705 /* PBXTextBookmark */;
+ 6926A1CA1463585300F69705 /* PBXTextBookmark */ = 6926A1CA1463585300F69705 /* PBXTextBookmark */;
+ 6926A1D0146358C100F69705 /* PBXTextBookmark */ = 6926A1D0146358C100F69705 /* PBXTextBookmark */;
+ 6926A1D1146358C100F69705 /* PBXTextBookmark */ = 6926A1D1146358C100F69705 /* PBXTextBookmark */;
+ 6926A1D71463595400F69705 /* PBXTextBookmark */ = 6926A1D71463595400F69705 /* PBXTextBookmark */;
+ 6926A1E1146359AE00F69705 /* PBXTextBookmark */ = 6926A1E1146359AE00F69705 /* PBXTextBookmark */;
+ 6926A1E6146359BE00F69705 /* PBXTextBookmark */ = 6926A1E6146359BE00F69705 /* PBXTextBookmark */;
+ 6926A1F314635B3B00F69705 /* PBXTextBookmark */ = 6926A1F314635B3B00F69705 /* PBXTextBookmark */;
+ 6926A1FA14635B4E00F69705 /* PBXTextBookmark */ = 6926A1FA14635B4E00F69705 /* PBXTextBookmark */;
+ 6926A20A14635B7E00F69705 /* PBXTextBookmark */ = 6926A20A14635B7E00F69705 /* PBXTextBookmark */;
+ 6926A21B14635B9D00F69705 /* PBXTextBookmark */ = 6926A21B14635B9D00F69705 /* PBXTextBookmark */;
+ 6926A22E14635BE700F69705 /* PBXTextBookmark */ = 6926A22E14635BE700F69705 /* PBXTextBookmark */;
+ 6926A23E14635C4500F69705 /* PBXTextBookmark */ = 6926A23E14635C4500F69705 /* PBXTextBookmark */;
+ 6926A24B14635C6E00F69705 /* PBXTextBookmark */ = 6926A24B14635C6E00F69705 /* PBXTextBookmark */;
+ 6926A25C14635CF500F69705 /* PBXTextBookmark */ = 6926A25C14635CF500F69705 /* PBXTextBookmark */;
+ 6926A26714635D4A00F69705 /* PBXTextBookmark */ = 6926A26714635D4A00F69705 /* PBXTextBookmark */;
+ 6926A26D14635D8200F69705 /* PBXTextBookmark */ = 6926A26D14635D8200F69705 /* PBXTextBookmark */;
+ 6926A27314635DEA00F69705 /* PBXTextBookmark */ = 6926A27314635DEA00F69705 /* PBXTextBookmark */;
+ 6926A28114635EEC00F69705 /* PBXTextBookmark */ = 6926A28114635EEC00F69705 /* PBXTextBookmark */;
+ 6926A28A14635EF900F69705 /* PBXTextBookmark */ = 6926A28A14635EF900F69705 /* PBXTextBookmark */;
+ 6926A28B14635EF900F69705 /* PBXTextBookmark */ = 6926A28B14635EF900F69705 /* PBXTextBookmark */;
+ 6926A29114635F5E00F69705 /* PBXTextBookmark */ = 6926A29114635F5E00F69705 /* PBXTextBookmark */;
+ 6926A29214635F5E00F69705 /* PBXTextBookmark */ = 6926A29214635F5E00F69705 /* PBXTextBookmark */;
+ 6926A29914635FBD00F69705 /* PBXTextBookmark */ = 6926A29914635FBD00F69705 /* PBXTextBookmark */;
+ 6926A2A214635FF000F69705 /* PBXTextBookmark */ = 6926A2A214635FF000F69705 /* PBXTextBookmark */;
+ 6926A2AB1463601300F69705 /* PBXTextBookmark */ = 6926A2AB1463601300F69705 /* PBXTextBookmark */;
+ 6926A2B21463603600F69705 /* PBXTextBookmark */ = 6926A2B21463603600F69705 /* PBXTextBookmark */;
+ 6926A2B91463605A00F69705 /* PBXTextBookmark */ = 6926A2B91463605A00F69705 /* PBXTextBookmark */;
+ 6926A2BC1463607D00F69705 /* PBXTextBookmark */ = 6926A2BC1463607D00F69705 /* PBXTextBookmark */;
+ 6926A2C4146360ED00F69705 /* PBXTextBookmark */ = 6926A2C4146360ED00F69705 /* PBXTextBookmark */;
+ 6926A2CD1463613E00F69705 /* PBXTextBookmark */ = 6926A2CD1463613E00F69705 /* PBXTextBookmark */;
69868BD11460F42D004C5D9B = 69868BD11460F42D004C5D9B /* PBXTextBookmark */;
69868BD91460F468004C5D9B = 69868BD91460F468004C5D9B /* PBXTextBookmark */;
69868C931460F7C3004C5D9B = 69868C931460F7C3004C5D9B /* PBXTextBookmark */;
};
69269F2314620D0F00F69705 /* packet.c */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {826, 8840}}";
- sepNavSelRange = "{12828, 0}";
- sepNavVisRange = "{12198, 1453}";
+ sepNavIntBoundsRect = "{{0, 0}, {826, 10283}}";
+ sepNavSelRange = "{13453, 0}";
+ sepNavVisRange = "{13421, 1351}";
};
};
69269F2414620D0F00F69705 /* packet.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {826, 1989}}";
- sepNavSelRange = "{855, 0}";
- sepNavVisRange = "{865, 740}";
+ sepNavIntBoundsRect = "{{0, 0}, {826, 1911}}";
+ sepNavSelRange = "{1291, 0}";
+ sepNavVisRange = "{834, 852}";
};
};
- 69269F4E14620FC200F69705 /* packet.c:175 */ = {
+ 69269F4E14620FC200F69705 /* packet.c:179 */ = {
isa = PBXFileBreakpoint;
actions = (
);
functionName = "spgp_decode_message()";
hitCount = 0;
ignoreCount = 0;
- lineNumber = 175;
+ lineNumber = 179;
location = duckdog;
- modificationTime = 342028224.343937;
+ modificationTime = 342057198.551;
originalNumberOfMultipleMatches = 1;
state = 2;
};
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 168";
rLen = 0;
- rLoc = 5131;
+ rLoc = 5341;
rType = 0;
vrLen = 1715;
vrLoc = 3704;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 168";
rLen = 0;
- rLoc = 5131;
+ rLoc = 5341;
rType = 0;
vrLen = 1715;
vrLoc = 3704;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 168";
rLen = 0;
- rLoc = 5131;
+ rLoc = 5341;
rType = 0;
vrLen = 1715;
vrLoc = 3704;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 171";
rLen = 0;
- rLoc = 5217;
+ rLoc = 5427;
rType = 0;
vrLen = 1762;
vrLoc = 3553;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 171";
rLen = 0;
- rLoc = 5217;
+ rLoc = 5427;
rType = 0;
vrLen = 1762;
vrLoc = 3553;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 168";
rLen = 0;
- rLoc = 5131;
+ rLoc = 5341;
rType = 0;
vrLen = 1766;
vrLoc = 3553;
fRef = 69269F2414620D0F00F69705 /* packet.h */;
name = "packet.h: 59";
rLen = 7;
- rLoc = 1663;
+ rLoc = 1533;
rType = 0;
vrLen = 1144;
vrLoc = 313;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 209";
rLen = 0;
- rLoc = 6367;
+ rLoc = 6593;
rType = 0;
vrLen = 1536;
vrLoc = 4539;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 197";
rLen = 0;
- rLoc = 5913;
+ rLoc = 6123;
rType = 0;
vrLen = 1317;
vrLoc = 5272;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 200";
rLen = 0;
- rLoc = 6053;
+ rLoc = 6263;
rType = 0;
vrLen = 1337;
vrLoc = 5272;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 235";
rLen = 0;
- rLoc = 7104;
+ rLoc = 7330;
rType = 0;
vrLen = 1333;
vrLoc = 5302;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 211";
rLen = 0;
- rLoc = 6327;
+ rLoc = 6553;
rType = 0;
vrLen = 1370;
vrLoc = 5279;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 167";
rLen = 0;
- rLoc = 5131;
+ rLoc = 5341;
rType = 0;
vrLen = 1805;
vrLoc = 4194;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 379";
rLen = 0;
- rLoc = 11752;
+ rLoc = 11978;
rType = 0;
vrLen = 1458;
vrLoc = 10100;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 382";
rLen = 0;
- rLoc = 12197;
+ rLoc = 12423;
rType = 0;
vrLen = 1447;
vrLoc = 10529;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 369";
rLen = 0;
- rLoc = 11345;
+ rLoc = 11571;
rType = 0;
vrLen = 1552;
vrLoc = 10245;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 390";
rLen = 0;
- rLoc = 11752;
+ rLoc = 11978;
rType = 0;
vrLen = 1554;
vrLoc = 10245;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 376";
rLen = 0;
- rLoc = 11812;
+ rLoc = 12038;
rType = 0;
vrLen = 1419;
vrLoc = 10245;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 383";
rLen = 0;
- rLoc = 12105;
+ rLoc = 12331;
rType = 0;
vrLen = 1448;
vrLoc = 10536;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 156";
rLen = 0;
- rLoc = 4522;
+ rLoc = 4732;
rType = 0;
vrLen = 1441;
vrLoc = 10487;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 389";
rLen = 0;
- rLoc = 12105;
+ rLoc = 12331;
rType = 0;
vrLen = 1430;
vrLoc = 10361;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 389";
rLen = 0;
- rLoc = 12105;
+ rLoc = 12331;
rType = 0;
vrLen = 1431;
vrLoc = 10361;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 389";
rLen = 0;
- rLoc = 12105;
+ rLoc = 12331;
rType = 0;
vrLen = 1431;
vrLoc = 10361;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 389";
rLen = 0;
- rLoc = 12105;
+ rLoc = 12331;
rType = 0;
vrLen = 1658;
vrLoc = 14213;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 389";
rLen = 0;
- rLoc = 12105;
+ rLoc = 12331;
rType = 0;
vrLen = 1658;
vrLoc = 14213;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 500";
rLen = 0;
- rLoc = 16147;
+ rLoc = 18748;
rType = 0;
vrLen = 1664;
vrLoc = 14213;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 500";
rLen = 0;
- rLoc = 16147;
+ rLoc = 18748;
rType = 0;
vrLen = 1664;
vrLoc = 14213;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 500";
rLen = 0;
- rLoc = 16147;
+ rLoc = 18748;
rType = 0;
vrLen = 1377;
vrLoc = 10784;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 377";
rLen = 0;
- rLoc = 11381;
+ rLoc = 11607;
rType = 0;
vrLen = 1425;
vrLoc = 10784;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 158";
rLen = 0;
- rLoc = 4522;
+ rLoc = 4732;
rType = 0;
vrLen = 1595;
vrLoc = 3882;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 386";
rLen = 0;
- rLoc = 12105;
+ rLoc = 12331;
rType = 0;
vrLen = 1542;
vrLoc = 10812;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 385";
rLen = 0;
- rLoc = 12064;
+ rLoc = 12290;
rType = 0;
vrLen = 1588;
vrLoc = 10812;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 385";
rLen = 0;
- rLoc = 12064;
+ rLoc = 12290;
rType = 0;
vrLen = 1590;
vrLoc = 10812;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 385";
rLen = 0;
- rLoc = 12064;
+ rLoc = 12290;
rType = 0;
vrLen = 1591;
vrLoc = 10812;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 385";
rLen = 0;
- rLoc = 12064;
+ rLoc = 12290;
rType = 0;
vrLen = 1591;
vrLoc = 10812;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 380";
rLen = 0;
- rLoc = 11829;
+ rLoc = 12055;
rType = 0;
vrLen = 1542;
vrLoc = 10812;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 387";
rLen = 0;
- rLoc = 12105;
+ rLoc = 12331;
rType = 0;
vrLen = 1543;
vrLoc = 10812;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 387";
rLen = 0;
- rLoc = 12105;
+ rLoc = 12331;
rType = 0;
vrLen = 1542;
vrLoc = 10812;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 385";
rLen = 0;
- rLoc = 12105;
+ rLoc = 12331;
rType = 0;
vrLen = 1578;
vrLoc = 10812;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 386";
rLen = 0;
- rLoc = 12105;
+ rLoc = 12331;
rType = 0;
vrLen = 1542;
vrLoc = 10812;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 379";
rLen = 0;
- rLoc = 11345;
+ rLoc = 11571;
rType = 0;
vrLen = 1398;
vrLoc = 10541;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 390";
rLen = 0;
- rLoc = 12105;
+ rLoc = 12331;
rType = 0;
vrLen = 1408;
vrLoc = 10541;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 387";
rLen = 0;
- rLoc = 11951;
+ rLoc = 12177;
rType = 0;
vrLen = 1395;
vrLoc = 10541;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 387";
rLen = 0;
- rLoc = 11951;
+ rLoc = 12177;
rType = 0;
vrLen = 1400;
vrLoc = 10541;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 388";
rLen = 0;
- rLoc = 12064;
+ rLoc = 12290;
rType = 0;
vrLen = 1398;
vrLoc = 10541;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 388";
rLen = 0;
- rLoc = 12064;
+ rLoc = 12290;
rType = 0;
vrLen = 1412;
vrLoc = 10541;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 388";
rLen = 0;
- rLoc = 12064;
+ rLoc = 12290;
rType = 0;
vrLen = 1412;
vrLoc = 10541;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 388";
rLen = 0;
- rLoc = 12064;
+ rLoc = 12290;
rType = 0;
vrLen = 1442;
vrLoc = 10541;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 388";
rLen = 0;
- rLoc = 12064;
+ rLoc = 12290;
rType = 0;
vrLen = 1442;
vrLoc = 10541;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 394";
rLen = 0;
- rLoc = 12064;
+ rLoc = 12290;
rType = 0;
vrLen = 1443;
vrLoc = 10541;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 233";
rLen = 0;
- rLoc = 6814;
+ rLoc = 7040;
rType = 0;
vrLen = 1202;
vrLoc = 5740;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 408";
rLen = 0;
- rLoc = 12105;
+ rLoc = 12331;
rType = 0;
vrLen = 1545;
vrLoc = 11119;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 408";
rLen = 0;
- rLoc = 12188;
+ rLoc = 12414;
rType = 0;
vrLen = 1553;
vrLoc = 11119;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 520";
rLen = 0;
- rLoc = 16147;
+ rLoc = 18748;
rType = 0;
vrLen = 1557;
vrLoc = 14733;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 498";
rLen = 0;
- rLoc = 15376;
+ rLoc = 17841;
rType = 0;
vrLen = 1552;
vrLoc = 14619;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 402";
rLen = 0;
- rLoc = 11884;
+ rLoc = 12110;
rType = 0;
vrLen = 1394;
vrLoc = 11116;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 421";
rLen = 0;
- rLoc = 12560;
+ rLoc = 14924;
rType = 0;
vrLen = 1533;
vrLoc = 11555;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 421";
rLen = 0;
- rLoc = 12560;
+ rLoc = 14924;
rType = 0;
vrLen = 1481;
vrLoc = 11607;
fRef = 69269F2414620D0F00F69705 /* packet.h */;
name = "packet.h: 68";
rLen = 0;
- rLoc = 1717;
+ rLoc = 1587;
rType = 0;
vrLen = 787;
vrLoc = 785;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 421";
rLen = 0;
- rLoc = 12560;
+ rLoc = 14924;
rType = 0;
vrLen = 1449;
vrLoc = 11882;
fRef = 69269F2314620D0F00F69705 /* packet.c */;
name = "packet.c: 431";
rLen = 0;
- rLoc = 12828;
+ rLoc = 15308;
rType = 0;
vrLen = 1453;
vrLoc = 12198;
};
+ 6926A0FE1463434000F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2414620D0F00F69705 /* packet.h */;
+ name = "packet.h: 37";
+ rLen = 0;
+ rLoc = 855;
+ rType = 0;
+ vrLen = 764;
+ vrLoc = 865;
+ };
+ 6926A0FF1463434000F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 209";
+ rLen = 0;
+ rLoc = 6296;
+ rType = 0;
+ vrLen = 1189;
+ vrLoc = 5552;
+ };
+ 6926A1001463434000F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 217";
+ rLen = 0;
+ rLoc = 6545;
+ rType = 0;
+ vrLen = 1196;
+ vrLoc = 5552;
+ };
+ 6926A109146348FB00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2414620D0F00F69705 /* packet.h */;
+ name = "packet.h: 66";
+ rLen = 0;
+ rLoc = 1355;
+ rType = 0;
+ vrLen = 927;
+ vrLoc = 161;
+ };
+ 6926A10A146348FB00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 420";
+ rLen = 0;
+ rLoc = 14610;
+ rType = 0;
+ vrLen = 1439;
+ vrLoc = 11208;
+ };
+ 6926A10B146348FB00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 682";
+ rLen = 162;
+ rLoc = 22669;
+ rType = 0;
+ vrLen = 1147;
+ vrLoc = 20107;
+ };
+ 6926A11B14634A1600F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2414620D0F00F69705 /* packet.h */;
+ name = "packet.h: 66";
+ rLen = 0;
+ rLoc = 1355;
+ rType = 0;
+ vrLen = 804;
+ vrLoc = 739;
+ };
+ 6926A11C14634A1600F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 427";
+ rLen = 0;
+ rLoc = 13333;
+ rType = 0;
+ vrLen = 1251;
+ vrLoc = 11759;
+ };
+ 6926A11D14634A1600F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 550";
+ rLen = 0;
+ rLoc = 18710;
+ rType = 0;
+ vrLen = 1460;
+ vrLoc = 16196;
+ };
+ 6926A12614634ACB00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 429";
+ rLen = 0;
+ rLoc = 13028;
+ rType = 0;
+ vrLen = 1246;
+ vrLoc = 11884;
+ };
+ 6926A13014634B6900F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2414620D0F00F69705 /* packet.h */;
+ name = "packet.h: 66";
+ rLen = 0;
+ rLoc = 1355;
+ rType = 0;
+ vrLen = 942;
+ vrLoc = 1407;
+ };
+ 6926A13114634B6900F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 462";
+ rLen = 0;
+ rLoc = 15254;
+ rType = 0;
+ vrLen = 1560;
+ vrLoc = 8486;
+ };
+ 6926A13214634B6900F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 429";
+ rLen = 0;
+ rLoc = 13015;
+ rType = 0;
+ vrLen = 1235;
+ vrLoc = 12111;
+ };
+ 6926A13914634C0A00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 435";
+ rLen = 0;
+ rLoc = 13155;
+ rType = 0;
+ vrLen = 1218;
+ vrLoc = 12111;
+ };
+ 6926A13E14634C5000F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 441";
+ rLen = 0;
+ rLoc = 13375;
+ rType = 0;
+ vrLen = 1228;
+ vrLoc = 12474;
+ };
+ 6926A14414634C9E00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 567";
+ rLen = 0;
+ rLoc = 18665;
+ rType = 0;
+ vrLen = 1522;
+ vrLoc = 16617;
+ };
+ 6926A14914634FF400F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2414620D0F00F69705 /* packet.h */;
+ name = "packet.h: 62";
+ rLen = 0;
+ rLoc = 1266;
+ rType = 0;
+ vrLen = 862;
+ vrLoc = 804;
+ };
+ 6926A14A14634FF400F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 450";
+ rLen = 0;
+ rLoc = 13902;
+ rType = 0;
+ vrLen = 1106;
+ vrLoc = 12333;
+ };
+ 6926A14B14634FF400F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 450";
+ rLen = 0;
+ rLoc = 13902;
+ rType = 0;
+ vrLen = 1153;
+ vrLoc = 12472;
+ };
+ 6926A14F1463503900F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 451";
+ rLen = 0;
+ rLoc = 14107;
+ rType = 0;
+ vrLen = 1180;
+ vrLoc = 12474;
+ };
+ 6926A1551463508400F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2414620D0F00F69705 /* packet.h */;
+ name = "packet.h: 90";
+ rLen = 0;
+ rLoc = 1842;
+ rType = 0;
+ vrLen = 927;
+ vrLoc = 1499;
+ };
+ 6926A1561463508400F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 426";
+ rLen = 0;
+ rLoc = 12730;
+ rType = 0;
+ vrLen = 1174;
+ vrLoc = 12474;
+ };
+ 6926A1571463508400F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 455";
+ rLen = 0;
+ rLoc = 14594;
+ rType = 0;
+ vrLen = 1106;
+ vrLoc = 12474;
+ };
+ 6926A15B146350B600F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69868BC91460F386004C5D9B /* gcrypt.h */;
+ name = "gcrypt.h: 75";
+ rLen = 0;
+ rLoc = 2337;
+ rType = 0;
+ vrLen = 1486;
+ vrLoc = 41191;
+ };
+ 6926A15C146350B600F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2414620D0F00F69705 /* packet.h */;
+ name = "packet.h: 90";
+ rLen = 0;
+ rLoc = 1842;
+ rType = 0;
+ vrLen = 927;
+ vrLoc = 1499;
+ };
+ 6926A15D146350B600F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 11";
+ rLen = 0;
+ rLoc = 172;
+ rType = 0;
+ vrLen = 877;
+ vrLoc = 0;
+ };
+ 6926A15E146350B600F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 453";
+ rLen = 0;
+ rLoc = 13902;
+ rType = 0;
+ vrLen = 1102;
+ vrLoc = 12474;
+ };
+ 6926A160146350E300F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 455";
+ rLen = 0;
+ rLoc = 14149;
+ rType = 0;
+ vrLen = 1048;
+ vrLoc = 12474;
+ };
+ 6926A1621463511900F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 460";
+ rLen = 0;
+ rLoc = 14450;
+ rType = 0;
+ vrLen = 1059;
+ vrLoc = 12538;
+ };
+ 6926A1661463513900F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 461";
+ rLen = 0;
+ rLoc = 14433;
+ rType = 0;
+ vrLen = 1220;
+ vrLoc = 13027;
+ };
+ 6926A16A1463517900F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 458";
+ rLen = 0;
+ rLoc = 14382;
+ rType = 0;
+ vrLen = 1093;
+ vrLoc = 12627;
+ };
+ 6926A1701463518E00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 423";
+ rLen = 0;
+ rLoc = 12666;
+ rType = 0;
+ vrLen = 1165;
+ vrLoc = 12475;
+ };
+ 6926A1771463520200F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 452";
+ rLen = 0;
+ rLoc = 13418;
+ rType = 0;
+ vrLen = 1105;
+ vrLoc = 12627;
+ };
+ 6926A17C1463521400F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 455";
+ rLen = 0;
+ rLoc = 13418;
+ rType = 0;
+ vrLen = 1114;
+ vrLoc = 12627;
+ };
+ 6926A1831463522C00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 455";
+ rLen = 0;
+ rLoc = 13418;
+ rType = 0;
+ vrLen = 1115;
+ vrLoc = 12627;
+ };
+ 6926A18A1463560A00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2414620D0F00F69705 /* packet.h */;
+ name = "packet.h: 90";
+ rLen = 0;
+ rLoc = 1842;
+ rType = 0;
+ vrLen = 902;
+ vrLoc = 711;
+ };
+ 6926A18B1463560A00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 431";
+ rLen = 0;
+ rLoc = 12842;
+ rType = 0;
+ vrLen = 1102;
+ vrLoc = 12608;
+ };
+ 6926A18C1463560A00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 472";
+ rLen = 0;
+ rLoc = 13972;
+ rType = 0;
+ vrLen = 1064;
+ vrLoc = 13301;
+ };
+ 6926A1951463569500F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 469";
+ rLen = 0;
+ rLoc = 14066;
+ rType = 0;
+ vrLen = 1073;
+ vrLoc = 12919;
+ };
+ 6926A19C1463574C00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2414620D0F00F69705 /* packet.h */;
+ name = "packet.h: 56";
+ rLen = 12;
+ rLoc = 1145;
+ rType = 0;
+ vrLen = 874;
+ vrLoc = 739;
+ };
+ 6926A19D1463574C00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 469";
+ rLen = 0;
+ rLoc = 14066;
+ rType = 0;
+ vrLen = 1153;
+ vrLoc = 12636;
+ };
+ 6926A19E1463574C00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 465";
+ rLen = 0;
+ rLoc = 13854;
+ rType = 0;
+ vrLen = 1342;
+ vrLoc = 12868;
+ };
+ 6926A1A51463576100F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 467";
+ rLen = 0;
+ rLoc = 13902;
+ rType = 0;
+ vrLen = 1273;
+ vrLoc = 12868;
+ };
+ 6926A1AC1463578B00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 466";
+ rLen = 0;
+ rLoc = 13896;
+ rType = 0;
+ vrLen = 1185;
+ vrLoc = 12957;
+ };
+ 6926A1B3146357A900F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 459";
+ rLen = 0;
+ rLoc = 13580;
+ rType = 0;
+ vrLen = 1192;
+ vrLoc = 12957;
+ };
+ 6926A1C81463585300F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2414620D0F00F69705 /* packet.h */;
+ name = "packet.h: 63";
+ rLen = 0;
+ rLoc = 1291;
+ rType = 0;
+ vrLen = 852;
+ vrLoc = 834;
+ };
+ 6926A1C91463585300F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 459";
+ rLen = 0;
+ rLoc = 13580;
+ rType = 0;
+ vrLen = 1155;
+ vrLoc = 13024;
+ };
+ 6926A1CA1463585300F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 463";
+ rLen = 0;
+ rLoc = 13752;
+ rType = 0;
+ vrLen = 1155;
+ vrLoc = 13024;
+ };
+ 6926A1D0146358C100F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 769";
+ rLen = 0;
+ rLoc = 23073;
+ rType = 0;
+ vrLen = 1069;
+ vrLoc = 22396;
+ };
+ 6926A1D1146358C100F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 769";
+ rLen = 0;
+ rLoc = 23073;
+ rType = 0;
+ vrLen = 1099;
+ vrLoc = 22366;
+ };
+ 6926A1D71463595400F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 775";
+ rLen = 0;
+ rLoc = 23292;
+ rType = 0;
+ vrLen = 1068;
+ vrLoc = 22357;
+ };
+ 6926A1E1146359AE00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 775";
+ rLen = 0;
+ rLoc = 23292;
+ rType = 0;
+ vrLen = 1068;
+ vrLoc = 22357;
+ };
+ 6926A1E6146359BE00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 775";
+ rLen = 0;
+ rLoc = 23292;
+ rType = 0;
+ vrLen = 1068;
+ vrLoc = 22357;
+ };
+ 6926A1F314635B3B00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 489";
+ rLen = 0;
+ rLoc = 14594;
+ rType = 0;
+ vrLen = 1124;
+ vrLoc = 13260;
+ };
+ 6926A1FA14635B4E00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 489";
+ rLen = 0;
+ rLoc = 14594;
+ rType = 0;
+ vrLen = 1124;
+ vrLoc = 13260;
+ };
+ 6926A20A14635B7E00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 460";
+ rLen = 0;
+ rLoc = 13546;
+ rType = 0;
+ vrLen = 1124;
+ vrLoc = 13260;
+ };
+ 6926A21B14635B9D00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 468";
+ rLen = 0;
+ rLoc = 13902;
+ rType = 0;
+ vrLen = 1124;
+ vrLoc = 13260;
+ };
+ 6926A22E14635BE700F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 469";
+ rLen = 0;
+ rLoc = 13964;
+ rType = 0;
+ vrLen = 1242;
+ vrLoc = 12919;
+ };
+ 6926A23E14635C4500F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 782";
+ rLen = 0;
+ rLoc = 23440;
+ rType = 0;
+ vrLen = 1072;
+ vrLoc = 22386;
+ };
+ 6926A24B14635C6E00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 470";
+ rLen = 0;
+ rLoc = 13964;
+ rType = 0;
+ vrLen = 1108;
+ vrLoc = 13491;
+ };
+ 6926A25C14635CF500F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 462";
+ rLen = 0;
+ rLoc = 13699;
+ rType = 0;
+ vrLen = 1167;
+ vrLoc = 13436;
+ };
+ 6926A26714635D4A00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 459";
+ rLen = 0;
+ rLoc = 13565;
+ rType = 0;
+ vrLen = 1084;
+ vrLoc = 13292;
+ };
+ 6926A26D14635D8200F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 482";
+ rLen = 0;
+ rLoc = 14424;
+ rType = 0;
+ vrLen = 1084;
+ vrLoc = 13292;
+ };
+ 6926A27314635DEA00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 471";
+ rLen = 0;
+ rLoc = 13991;
+ rType = 0;
+ vrLen = 1084;
+ vrLoc = 13292;
+ };
+ 6926A28114635EEC00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 507";
+ rLen = 0;
+ rLoc = 14404;
+ rType = 0;
+ vrLen = 1058;
+ vrLoc = 14071;
+ };
+ 6926A28A14635EF900F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 507";
+ rLen = 0;
+ rLoc = 14404;
+ rType = 0;
+ vrLen = 1122;
+ vrLoc = 13911;
+ };
+ 6926A28B14635EF900F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 507";
+ rLen = 0;
+ rLoc = 14404;
+ rType = 0;
+ vrLen = 1122;
+ vrLoc = 13911;
+ };
+ 6926A29114635F5E00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 494";
+ rLen = 0;
+ rLoc = 14093;
+ rType = 0;
+ vrLen = 1540;
+ vrLoc = 15275;
+ };
+ 6926A29214635F5E00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 494";
+ rLen = 0;
+ rLoc = 14093;
+ rType = 0;
+ vrLen = 1540;
+ vrLoc = 15275;
+ };
+ 6926A29914635FBD00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 486";
+ rLen = 0;
+ rLoc = 13854;
+ rType = 0;
+ vrLen = 1333;
+ vrLoc = 13359;
+ };
+ 6926A2A214635FF000F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 511";
+ rLen = 0;
+ rLoc = 14382;
+ rType = 0;
+ vrLen = 1003;
+ vrLoc = 14064;
+ };
+ 6926A2AB1463601300F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 426";
+ rLen = 0;
+ rLoc = 12687;
+ rType = 0;
+ vrLen = 1196;
+ vrLoc = 13710;
+ };
+ 6926A2B21463603600F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 485";
+ rLen = 0;
+ rLoc = 14557;
+ rType = 0;
+ vrLen = 1183;
+ vrLoc = 13591;
+ };
+ 6926A2B91463605A00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 481";
+ rLen = 0;
+ rLoc = 14397;
+ rType = 0;
+ vrLen = 1194;
+ vrLoc = 13591;
+ };
+ 6926A2BC1463607D00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 478";
+ rLen = 0;
+ rLoc = 14382;
+ rType = 0;
+ vrLen = 1292;
+ vrLoc = 13301;
+ };
+ 6926A2C4146360ED00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 479";
+ rLen = 0;
+ rLoc = 14183;
+ rType = 0;
+ vrLen = 1285;
+ vrLoc = 13495;
+ };
+ 6926A2CD1463613E00F69705 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 69269F2314620D0F00F69705 /* packet.c */;
+ name = "packet.c: 456";
+ rLen = 0;
+ rLoc = 13453;
+ rType = 0;
+ vrLen = 1351;
+ vrLoc = 13421;
+ };
69868AD41460E35F004C5D9B /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
sepNavVisRange = "{0, 824}";
};
};
+ 69868BC91460F386004C5D9B /* gcrypt.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {826, 23972}}";
+ sepNavSelRange = "{2337, 0}";
+ sepNavVisRange = "{41191, 1486}";
+ };
+ };
69868BD11460F42D004C5D9B /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 69868BC61460F37E004C5D9B /* gpg-error.h */;
ignoreCount = 0;
lineNumber = 9;
location = duckdog;
- modificationTime = 342028224.342515;
+ modificationTime = 342057198.549462;
originalNumberOfMultipleMatches = 1;
state = 2;
};
hitCount = 0;
ignoreCount = 0;
lineNumber = 207;
- modificationTime = 342028224.343386;
+ modificationTime = 342057198.550455;
originalNumberOfMultipleMatches = 0;
state = 2;
};
static uint8_t spgp_parse_user_id(uint8_t *msg, uint32_t *idx,
uint32_t length, spgp_packet_t *pkt);
-
+
+static uint8_t spgp_generate_fingerprint(spgp_packet_t *pkt);
+
static uint8_t spgp_parse_secret_key(uint8_t *msg, uint32_t *idx,
uint32_t length, spgp_packet_t *pkt);
-
+
+static uint32_t spgp_mpi_length(uint8_t *mpi);
+
static spgp_mpi_t *spgp_read_mpi(uint8_t *msg, uint32_t *idx,
uint32_t length);
if (((*pkt)->header->type == PKT_TYPE_SECRET_KEY ||
(*pkt)->header->type == PKT_TYPE_SECRET_SUBKEY) &&
(*pkt)->c.secret != NULL) {
- if ((*pkt)->c.secret->mpiCount > 0) {
- curMpi = (*pkt)->c.secret->mpiHead;
+ if ((*pkt)->c.secret->pub.mpiCount > 0) {
+ curMpi = (*pkt)->c.secret->pub.mpiHead;
while (curMpi->next) {
nextMpi = curMpi->next;
free(curMpi);
curMpi = nextMpi;
}
- (*pkt)->c.secret->mpiHead = NULL;
- (*pkt)->c.secret->mpiCount = 0;
+ (*pkt)->c.secret->pub.mpiHead = NULL;
+ (*pkt)->c.secret->pub.mpiCount = 0;
}
if ((*pkt)->c.secret->s2kSalt) {
free((*pkt)->c.secret->s2kSalt);
return 0;
}
+static uint8_t spgp_generate_fingerprint(spgp_packet_t *pkt) {
+ uint16_t packetSize;
+ uint8_t packetHeaderSize;
+ spgp_mpi_t *curMpi;
+ uint8_t targetMpiCount;
+ gcry_md_hd_t md;
+ unsigned char *hash;
+ int i;
+
+ if (NULL == pkt) RAISE(INVALID_ARGS);
+
+ // Start with header info: 1 version, 4 creation time, 1 algorithm
+ packetHeaderSize = sizeof(pkt->c.pub->version) +
+ sizeof(pkt->c.pub->creationTime) +
+ sizeof(pkt->c.pub->asymAlgo);
+ packetSize = packetHeaderSize;
+
+ // Figure out how many MPIs to add
+ switch(pkt->c.pub->asymAlgo) {
+ case ASYM_ALGO_DSA:
+ targetMpiCount = 4;
+ break;
+ case ASYM_ALGO_ELGAMAL:
+ targetMpiCount = 3;
+ break;
+ default:
+ RAISE(FORMAT_UNSUPPORTED);
+ }
+
+ // Add size of each MPI
+ curMpi = pkt->c.pub->mpiHead;
+ i = 0;
+ while (curMpi && i < targetMpiCount) {
+ packetSize += curMpi->count + 2; // add 2 for MPI header
+ curMpi = curMpi->next;
+ i++;
+ }
+
+ // Give data to hash to gcrypt
+ if (gcry_md_open (&md, GCRY_MD_SHA1, 0) > 0) RAISE(GCRY_ERROR);
+ gcry_md_putc(md, 0x99 );
+ gcry_md_putc(md, packetSize >> 8);
+ gcry_md_putc(md, packetSize);
+ gcry_md_putc(md, pkt->c.pub->version);
+ gcry_md_putc(md, pkt->c.pub->creationTime);
+ gcry_md_putc(md, pkt->c.pub->creationTime >> 8);
+ gcry_md_putc(md, pkt->c.pub->creationTime >> 16);
+ gcry_md_putc(md, pkt->c.pub->creationTime >> 24);
+ gcry_md_putc(md, pkt->c.pub->asymAlgo);
+
+ // Write the public key MPIs
+ curMpi = pkt->c.pub->mpiHead;
+ i = 0;
+ while (curMpi && i < targetMpiCount) {
+ gcry_md_write(md, curMpi->data, curMpi->count + 2);
+ curMpi = curMpi->next;
+ i++;
+ }
+
+ // Perform SHA-1 hash
+ gcry_md_final(md);
+ hash = gcry_md_read(md, 0);
+
+ // Copy hash results (20-bytes) into fingerprint
+ pkt->c.pub->fingerprint = malloc(20);
+ if (NULL == pkt->c.pub->fingerprint) RAISE(OUT_OF_MEMORY);
+ memcpy(pkt->c.pub->fingerprint, hash, 20);
+
+ LOG_PRINT("HASH: ");
+ for (targetMpiCount=0; targetMpiCount < 20; targetMpiCount++) {
+ fprintf(stderr, "%.2X", pkt->c.pub->fingerprint[targetMpiCount]);
+ }
+ fprintf(stderr,"\n");
+
+ gcry_md_close(md);
+
+ return 0;
+}
+
static uint8_t spgp_parse_secret_key(uint8_t *msg, uint32_t *idx,
uint32_t length, spgp_packet_t *pkt) {
spgp_secret_pkt_t *secret;
// Allocate secret key in packet
pkt->c.secret = malloc(sizeof(*(pkt->c.secret)));
if (NULL == pkt->c.secret) RAISE(OUT_OF_MEMORY);
+ memset(pkt->c.secret, 0, sizeof(*(pkt->c.secret)));
+
+ // Convenient pointers to secret key, and public portion
secret = pkt->c.secret;
pub = pkt->c.pub;
SAFE_IDX_INCREMENT(*idx, length);
// First byte is the version.
- if (secret->version != 4) RAISE(FORMAT_UNSUPPORTED);
+ if (pub->version != 4) RAISE(FORMAT_UNSUPPORTED);
// Next 4 bytes are big-endian 'key creation time'
if (length - *idx < 4) RAISE(BUFFER_OVERFLOW);
- memcpy(&(secret->creationTime), msg+*idx, 4);
+ memcpy(&(pub->creationTime), msg+*idx, 4);
*idx += 3; // this puts us on last byte of creation time
SAFE_IDX_INCREMENT(*idx, length); // this goes to next byte (safely)
// Next byte identifies asymmetric algorithm
- secret->asymAlgo = msg[*idx];
+ pub->asymAlgo = msg[*idx];
SAFE_IDX_INCREMENT(*idx, length);
- LOG_PRINT("Asymmetric algorithm: %d\n", secret->asymAlgo);
+ LOG_PRINT("Asymmetric algorithm: %d\n", pub->asymAlgo);
// Read variable number of MPIs (depends on asymmetric algorithm), each
// of which are variable size.
spgp_read_all_public_mpis(msg, idx, length, secret);
- LOG_PRINT("Read %u MPIs\n", secret->mpiCount);
+ LOG_PRINT("Read %u MPIs\n", pub->mpiCount);
// S2K Type byte tells how to (or if to) decrypt secret exponent
secret->s2kType = msg[*idx];
LOG_PRINT("Stored %u encrypted bytes.\n", remaining);
// This is the end of the data, so we do NOT do a final idx increment
}
+
+ // Create and store fingerprint for this packet
+ if (pkt->header->type == PKT_TYPE_SECRET_KEY)
+ spgp_generate_fingerprint(pkt);
return 0;
}
uint32_t length,
spgp_secret_pkt_t *secret) {
spgp_mpi_t *curMpi, *newMpi;
+ spgp_public_pkt_t *pub = (spgp_public_pkt_t*)secret;
uint32_t i;
if (NULL == msg || NULL == idx || 0 == length || NULL == secret)
RAISE(INVALID_ARGS);
// Read all the MPIs
- if (secret->asymAlgo == ASYM_ALGO_DSA) {
+ if (pub->asymAlgo == ASYM_ALGO_DSA) {
// DSA public MPIs: prime p, order q, generator g, value y
for (i = 0; i < 4; i++) {
newMpi = spgp_read_mpi(msg, idx, length);
if (i == 0) {
- secret->mpiHead = newMpi;
- curMpi = secret->mpiHead;
+ pub->mpiHead = newMpi;
+ curMpi = pub->mpiHead;
}
else {
curMpi->next = newMpi;
curMpi = curMpi->next;
}
}
- secret->mpiCount = 4;
+ pub->mpiCount = 4;
}
- else if (secret->asymAlgo == ASYM_ALGO_ELGAMAL) {
- // DSA public MPIs: prime p, order q, generator g, value y
+ else if (pub->asymAlgo == ASYM_ALGO_ELGAMAL) {
for (i = 0; i < 3; i++) {
newMpi = spgp_read_mpi(msg, idx, length);
if (i == 0) {
- secret->mpiHead = newMpi;
- curMpi = secret->mpiHead;
+ pub->mpiHead = newMpi;
+ curMpi = pub->mpiHead;
}
else {
curMpi->next = newMpi;
curMpi = curMpi->next;
}
}
- secret->mpiCount = 3;
+ pub->mpiCount = 3;
}
else {
RAISE(FORMAT_UNSUPPORTED);
}
- return secret->mpiCount;
+ return pub->mpiCount;
}
static uint8_t spgp_read_all_secret_mpis(uint8_t *msg,
uint32_t length,
spgp_secret_pkt_t *secret) {
spgp_mpi_t *curMpi;
+ spgp_public_pkt_t *pub = (spgp_public_pkt_t*)secret;
if (NULL == msg || NULL == idx || 0 == length || NULL == secret)
RAISE(INVALID_ARGS);
// Set curMpi to last valid Mpi in linked list
- curMpi = secret->mpiHead;
+ curMpi = pub->mpiHead;
while (curMpi->next) curMpi = curMpi->next;
// Read all the MPIs
- if (secret->asymAlgo == ASYM_ALGO_DSA) {
+ if (pub->asymAlgo == ASYM_ALGO_DSA) {
// DSA secte MPIs: exponent x
curMpi->next = spgp_read_mpi(msg, idx, length);
- secret->mpiCount++;
+ pub->mpiCount++;
*idx += length - 1;
// This is the end of the data, so we do NOT do a final increment.
}
RAISE(FORMAT_UNSUPPORTED);
}
- return secret->mpiCount;
+ return pub->mpiCount;
+}
+
+static uint32_t spgp_mpi_length(uint8_t *mpi) {
+ uint32_t bits;
+ if (NULL == mpi) RAISE(INVALID_ARGS);
+ bits = ((mpi[0] << 8) | mpi[1]);
+ return (bits+7)/8;
}
static spgp_mpi_t *spgp_read_mpi(uint8_t *msg, uint32_t *idx,
// First two bytes are big-endian count of bits in MPI
if (length - *idx < 2) RAISE(BUFFER_OVERFLOW);
mpi->bits = ((msg[*idx] << 8) | msg[*idx + 1]);
- *idx += 1;
- SAFE_IDX_INCREMENT(*idx, length);
mpi->count = (mpi->bits+7)/8;
LOG_PRINT("MPI Bits: %u\n", mpi->bits);
// Allocate space for MPI data
- mpi->data = malloc(mpi->count);
+ mpi->data = malloc(mpi->count + 2);
if (NULL == mpi->data) RAISE(OUT_OF_MEMORY);
// Copy data from input buffer to mpi buffer
- memcpy(mpi->data, msg, mpi->count);
- *idx += mpi->count - 1;
+ memcpy(mpi->data, msg+*idx, mpi->count + 2);
+ *idx += mpi->count + 1;
SAFE_IDX_INCREMENT(*idx, length);
return mpi;
spgp_mpi_t *mpiHead;
uint8_t mpiCount;
uint8_t *fingerprint;
-};
+} __attribute__((packed));
struct spgp_secret_packet_struct {
// This is public key stuff
-/*
- uint8_t version;
- uint32_t creationTime;
- uint8_t asymAlgo;
- uint8_t symAlgo;
- spgp_mpi_t *mpiHead;
- uint8_t mpiCount;
- uint8_t *fingerprint;
-*/
spgp_public_pkt_t pub;
// This is secret key stuff
uint8_t isDecrypted;
FORMAT_UNSUPPORTED,
INVALID_ARGS,
BUFFER_OVERFLOW,
+ GCRY_ERROR,
} spgp_error_t;
typedef enum {