Lines Matching full:sp
37 #define BYTEORDER_IS(SP, V) (((SP)->flags & KRB5_STORAGE_BYTEORDER_MASK) == (V)) argument
38 #define BYTEORDER_IS_LE(SP) BYTEORDER_IS((SP), KRB5_STORAGE_BYTEORDER_LE) argument
39 #define BYTEORDER_IS_BE(SP) BYTEORDER_IS((SP), KRB5_STORAGE_BYTEORDER_BE) argument
40 #define BYTEORDER_IS_HOST(SP) (BYTEORDER_IS((SP), KRB5_STORAGE_BYTEORDER_HOST) || \ argument
41 krb5_storage_is_flags((SP), KRB5_STORAGE_HOST_BYTEORDER))
46 * @param sp the storage buffer to set the flags on
53 krb5_storage_set_flags(krb5_storage *sp, krb5_flags flags) in krb5_storage_set_flags() argument
55 sp->flags |= flags; in krb5_storage_set_flags()
61 * @param sp the storage buffer to clear the flags on
68 krb5_storage_clear_flags(krb5_storage *sp, krb5_flags flags) in krb5_storage_clear_flags() argument
70 sp->flags &= ~flags; in krb5_storage_clear_flags()
77 * @param sp the storage buffer to check flags on
86 krb5_storage_is_flags(krb5_storage *sp, krb5_flags flags) in krb5_storage_is_flags() argument
88 return (sp->flags & flags) == flags; in krb5_storage_is_flags()
94 * @param sp the storage buffer to set the byte order for.
104 krb5_storage_set_byteorder(krb5_storage *sp, krb5_flags byteorder) in krb5_storage_set_byteorder() argument
106 sp->flags &= ~KRB5_STORAGE_BYTEORDER_MASK; in krb5_storage_set_byteorder()
107 sp->flags |= byteorder; in krb5_storage_set_byteorder()
117 krb5_storage_get_byteorder(krb5_storage *sp) in krb5_storage_get_byteorder() argument
119 return sp->flags & KRB5_STORAGE_BYTEORDER_MASK; in krb5_storage_get_byteorder()
125 * @param sp the storage buffer set the max allow for
132 krb5_storage_set_max_alloc(krb5_storage *sp, size_t size) in krb5_storage_set_max_alloc() argument
134 sp->max_alloc = size; in krb5_storage_set_max_alloc()
139 size_too_large(krb5_storage *sp, size_t size) in size_too_large() argument
141 if (sp->max_alloc && sp->max_alloc < size) in size_too_large()
147 size_too_large_num(krb5_storage *sp, size_t count, size_t size) in size_too_large_num() argument
149 if (sp->max_alloc == 0 || size == 0) in size_too_large_num()
151 size = sp->max_alloc / size; in size_too_large_num()
160 * @param sp the storage buffer to seek in.
171 krb5_storage_seek(krb5_storage *sp, off_t offset, int whence) in krb5_storage_seek() argument
173 return (*sp->seek)(sp, offset, whence); in krb5_storage_seek()
177 * Truncate the storage buffer in sp to offset.
179 * @param sp the storage buffer to truncate.
188 krb5_storage_truncate(krb5_storage *sp, off_t offset) in krb5_storage_truncate() argument
190 return (*sp->trunc)(sp, offset); in krb5_storage_truncate()
196 * @param sp the storage buffer to read from
206 krb5_storage_read(krb5_storage *sp, void *buf, size_t len) in krb5_storage_read() argument
208 return sp->fetch(sp, buf, len); in krb5_storage_read()
214 * @param sp the storage buffer to write to
224 krb5_storage_write(krb5_storage *sp, const void *buf, size_t len) in krb5_storage_write() argument
226 return sp->store(sp, buf, len); in krb5_storage_write()
232 * @param sp the storage
239 krb5_storage_set_eof_code(krb5_storage *sp, int code) in krb5_storage_set_eof_code() argument
241 sp->eof_code = code; in krb5_storage_set_eof_code()
247 * @param sp the storage
255 krb5_storage_get_eof_code(krb5_storage *sp) in krb5_storage_get_eof_code() argument
257 return sp->eof_code; in krb5_storage_get_eof_code()
263 * @param sp the storage to free.
271 krb5_storage_free(krb5_storage *sp) in krb5_storage_free() argument
273 if(sp->free) in krb5_storage_free()
274 (*sp->free)(sp); in krb5_storage_free()
275 free(sp->data); in krb5_storage_free()
276 free(sp); in krb5_storage_free()
283 * @param sp the storage to copy to a data
292 krb5_storage_to_data(krb5_storage *sp, krb5_data *data) in krb5_storage_to_data() argument
297 pos = sp->seek(sp, 0, SEEK_CUR); in krb5_storage_to_data()
300 size = sp->seek(sp, 0, SEEK_END); in krb5_storage_to_data()
301 ret = size_too_large(sp, size); in krb5_storage_to_data()
306 sp->seek(sp, pos, SEEK_SET); in krb5_storage_to_data()
310 sp->seek(sp, 0, SEEK_SET); in krb5_storage_to_data()
311 sp->fetch(sp, data->data, data->length); in krb5_storage_to_data()
312 sp->seek(sp, pos, SEEK_SET); in krb5_storage_to_data()
318 krb5_store_int(krb5_storage *sp, in krb5_store_int() argument
328 ret = sp->store(sp, v, len); in krb5_store_int()
332 return sp->eof_code; in krb5_store_int()
340 * @param sp the storage to write too
349 krb5_store_int32(krb5_storage *sp, in krb5_store_int32() argument
352 if(BYTEORDER_IS_HOST(sp)) in krb5_store_int32()
354 else if(BYTEORDER_IS_LE(sp)) in krb5_store_int32()
356 return krb5_store_int(sp, value, 4); in krb5_store_int32()
363 * @param sp the storage to write too
372 krb5_store_uint32(krb5_storage *sp, in krb5_store_uint32() argument
375 return krb5_store_int32(sp, (int32_t)value); in krb5_store_uint32()
379 krb5_ret_int(krb5_storage *sp, in krb5_ret_int() argument
386 ret = sp->fetch(sp, v, len); in krb5_ret_int()
390 return sp->eof_code; in krb5_ret_int()
400 * @param sp the storage to write too
409 krb5_ret_int32(krb5_storage *sp, in krb5_ret_int32() argument
412 krb5_error_code ret = krb5_ret_int(sp, value, 4); in krb5_ret_int32()
415 if(BYTEORDER_IS_HOST(sp)) in krb5_ret_int32()
417 else if(BYTEORDER_IS_LE(sp)) in krb5_ret_int32()
426 * @param sp the storage to write too
435 krb5_ret_uint32(krb5_storage *sp, in krb5_ret_uint32() argument
441 ret = krb5_ret_int32(sp, &v); in krb5_ret_uint32()
452 * @param sp the storage to write too
461 krb5_store_int16(krb5_storage *sp, in krb5_store_int16() argument
464 if(BYTEORDER_IS_HOST(sp)) in krb5_store_int16()
466 else if(BYTEORDER_IS_LE(sp)) in krb5_store_int16()
468 return krb5_store_int(sp, value, 2); in krb5_store_int16()
475 * @param sp the storage to write too
484 krb5_store_uint16(krb5_storage *sp, in krb5_store_uint16() argument
487 return krb5_store_int16(sp, (int16_t)value); in krb5_store_uint16()
494 * @param sp the storage to write too
503 krb5_ret_int16(krb5_storage *sp, in krb5_ret_int16() argument
508 ret = krb5_ret_int(sp, &v, 2); in krb5_ret_int16()
512 if(BYTEORDER_IS_HOST(sp)) in krb5_ret_int16()
514 else if(BYTEORDER_IS_LE(sp)) in krb5_ret_int16()
523 * @param sp the storage to write too
532 krb5_ret_uint16(krb5_storage *sp, in krb5_ret_uint16() argument
538 ret = krb5_ret_int16(sp, &v); in krb5_ret_uint16()
548 * @param sp the storage to write too
557 krb5_store_int8(krb5_storage *sp, in krb5_store_int8() argument
562 ret = sp->store(sp, &value, sizeof(value)); in krb5_store_int8()
564 return (ret<0)?errno:sp->eof_code; in krb5_store_int8()
571 * @param sp the storage to write too
580 krb5_store_uint8(krb5_storage *sp, in krb5_store_uint8() argument
583 return krb5_store_int8(sp, (int8_t)value); in krb5_store_uint8()
589 * @param sp the storage to write too
598 krb5_ret_int8(krb5_storage *sp, in krb5_ret_int8() argument
603 ret = sp->fetch(sp, value, sizeof(*value)); in krb5_ret_int8()
605 return (ret<0)?errno:sp->eof_code; in krb5_ret_int8()
612 * @param sp the storage to write too
621 krb5_ret_uint8(krb5_storage *sp, in krb5_ret_uint8() argument
627 ret = krb5_ret_int8(sp, &v); in krb5_ret_uint8()
638 * @param sp the storage buffer to write to
647 krb5_store_data(krb5_storage *sp, in krb5_store_data() argument
651 ret = krb5_store_int32(sp, data.length); in krb5_store_data()
654 ret = sp->store(sp, data.data, data.length); in krb5_store_data()
658 return sp->eof_code; in krb5_store_data()
665 * @param sp the storage buffer to read from
674 krb5_ret_data(krb5_storage *sp, in krb5_ret_data() argument
680 ret = krb5_ret_int32(sp, &size); in krb5_ret_data()
683 ret = size_too_large(sp, size); in krb5_ret_data()
690 ret = sp->fetch(sp, data->data, size); in krb5_ret_data()
692 return (ret < 0)? errno : sp->eof_code; in krb5_ret_data()
701 * @param sp the storage buffer to write to
710 krb5_store_string(krb5_storage *sp, const char *s) in krb5_store_string() argument
715 return krb5_store_data(sp, data); in krb5_store_string()
721 * @param sp the storage buffer to read from
731 krb5_ret_string(krb5_storage *sp, in krb5_ret_string() argument
736 ret = krb5_ret_data(sp, &data); in krb5_ret_string()
752 * @param sp the storage buffer to write to
761 krb5_store_stringz(krb5_storage *sp, const char *s) in krb5_store_stringz() argument
766 ret = sp->store(sp, s, len); in krb5_store_stringz()
770 return sp->eof_code; in krb5_store_stringz()
777 * @param sp the storage buffer to read from
786 krb5_ret_stringz(krb5_storage *sp, in krb5_ret_stringz() argument
794 while((ret = sp->fetch(sp, &c, 1)) == 1){ in krb5_ret_stringz()
798 ret = size_too_large(sp, len); in krb5_ret_stringz()
814 return sp->eof_code; in krb5_ret_stringz()
822 krb5_store_stringnl(krb5_storage *sp, const char *s) in krb5_store_stringnl() argument
827 ret = sp->store(sp, s, len); in krb5_store_stringnl()
831 return sp->eof_code; in krb5_store_stringnl()
832 ret = sp->store(sp, "\n", 1); in krb5_store_stringnl()
837 return sp->eof_code; in krb5_store_stringnl()
845 krb5_ret_stringnl(krb5_storage *sp, in krb5_ret_stringnl() argument
854 while((ret = sp->fetch(sp, &c, 1)) == 1){ in krb5_ret_stringnl()
867 ret = size_too_large(sp, len); in krb5_ret_stringnl()
885 return sp->eof_code; in krb5_ret_stringnl()
895 * @param sp the storage buffer to write to
904 krb5_store_principal(krb5_storage *sp, in krb5_store_principal() argument
910 if(!krb5_storage_is_flags(sp, KRB5_STORAGE_PRINCIPAL_NO_NAME_TYPE)) { in krb5_store_principal()
911 ret = krb5_store_int32(sp, p->name.name_type); in krb5_store_principal()
914 if(krb5_storage_is_flags(sp, KRB5_STORAGE_PRINCIPAL_WRONG_NUM_COMPONENTS)) in krb5_store_principal()
915 ret = krb5_store_int32(sp, p->name.name_string.len + 1); in krb5_store_principal()
917 ret = krb5_store_int32(sp, p->name.name_string.len); in krb5_store_principal()
920 ret = krb5_store_string(sp, p->realm); in krb5_store_principal()
923 ret = krb5_store_string(sp, p->name.name_string.val[i]); in krb5_store_principal()
932 * @param sp the storage buffer to read from
941 krb5_ret_principal(krb5_storage *sp, in krb5_ret_principal() argument
954 if(krb5_storage_is_flags(sp, KRB5_STORAGE_PRINCIPAL_NO_NAME_TYPE)) in krb5_ret_principal()
956 else if((ret = krb5_ret_int32(sp, &type))){ in krb5_ret_principal()
960 if((ret = krb5_ret_int32(sp, &ncomp))){ in krb5_ret_principal()
964 if(krb5_storage_is_flags(sp, KRB5_STORAGE_PRINCIPAL_WRONG_NUM_COMPONENTS)) in krb5_ret_principal()
970 ret = size_too_large_num(sp, ncomp, sizeof(p->name.name_string.val[0])); in krb5_ret_principal()
977 ret = krb5_ret_string(sp, &p->realm); in krb5_ret_principal()
989 ret = krb5_ret_string(sp, &p->name.name_string.val[i]); in krb5_ret_principal()
1005 * @param sp the storage buffer to write to
1014 krb5_store_keyblock(krb5_storage *sp, krb5_keyblock p) in krb5_store_keyblock() argument
1017 ret = krb5_store_int16(sp, p.keytype); in krb5_store_keyblock()
1020 if(krb5_storage_is_flags(sp, KRB5_STORAGE_KEYBLOCK_KEYTYPE_TWICE)){ in krb5_store_keyblock()
1023 ret = krb5_store_int16(sp, p.keytype); in krb5_store_keyblock()
1027 ret = krb5_store_data(sp, p.keyvalue); in krb5_store_keyblock()
1034 * @param sp the storage buffer to write to
1043 krb5_ret_keyblock(krb5_storage *sp, krb5_keyblock *p) in krb5_ret_keyblock() argument
1048 ret = krb5_ret_int16(sp, &tmp); in krb5_ret_keyblock()
1052 if(krb5_storage_is_flags(sp, KRB5_STORAGE_KEYBLOCK_KEYTYPE_TWICE)){ in krb5_ret_keyblock()
1053 ret = krb5_ret_int16(sp, &tmp); in krb5_ret_keyblock()
1057 ret = krb5_ret_data(sp, &p->keyvalue); in krb5_ret_keyblock()
1064 * @param sp the storage buffer to write to
1073 krb5_store_times(krb5_storage *sp, krb5_times times) in krb5_store_times() argument
1076 ret = krb5_store_int32(sp, times.authtime); in krb5_store_times()
1078 ret = krb5_store_int32(sp, times.starttime); in krb5_store_times()
1080 ret = krb5_store_int32(sp, times.endtime); in krb5_store_times()
1082 ret = krb5_store_int32(sp, times.renew_till); in krb5_store_times()
1089 * @param sp the storage buffer to write to
1098 krb5_ret_times(krb5_storage *sp, krb5_times *times) in krb5_ret_times() argument
1102 ret = krb5_ret_int32(sp, &tmp); in krb5_ret_times()
1105 ret = krb5_ret_int32(sp, &tmp); in krb5_ret_times()
1108 ret = krb5_ret_int32(sp, &tmp); in krb5_ret_times()
1111 ret = krb5_ret_int32(sp, &tmp); in krb5_ret_times()
1119 * @param sp the storage buffer to write to
1128 krb5_store_address(krb5_storage *sp, krb5_address p) in krb5_store_address() argument
1131 ret = krb5_store_int16(sp, p.addr_type); in krb5_store_address()
1133 ret = krb5_store_data(sp, p.address); in krb5_store_address()
1140 * @param sp the storage buffer to write to
1149 krb5_ret_address(krb5_storage *sp, krb5_address *adr) in krb5_ret_address() argument
1153 ret = krb5_ret_int16(sp, &t); in krb5_ret_address()
1156 ret = krb5_ret_data(sp, &adr->address); in krb5_ret_address()
1163 * @param sp the storage buffer to write to
1172 krb5_store_addrs(krb5_storage *sp, krb5_addresses p) in krb5_store_addrs() argument
1176 ret = krb5_store_int32(sp, p.len); in krb5_store_addrs()
1179 ret = krb5_store_address(sp, p.val[i]); in krb5_store_addrs()
1188 * @param sp the storage buffer to write to
1197 krb5_ret_addrs(krb5_storage *sp, krb5_addresses *adr) in krb5_ret_addrs() argument
1203 ret = krb5_ret_int32(sp, &tmp); in krb5_ret_addrs()
1205 ret = size_too_large_num(sp, tmp, sizeof(adr->val[0])); in krb5_ret_addrs()
1212 ret = krb5_ret_address(sp, &adr->val[i]); in krb5_ret_addrs()
1221 * @param sp the storage buffer to write to
1230 krb5_store_authdata(krb5_storage *sp, krb5_authdata auth) in krb5_store_authdata() argument
1234 ret = krb5_store_int32(sp, auth.len); in krb5_store_authdata()
1237 ret = krb5_store_int16(sp, auth.val[i].ad_type); in krb5_store_authdata()
1239 ret = krb5_store_data(sp, auth.val[i].ad_data); in krb5_store_authdata()
1248 * @param sp the storage buffer to write to
1257 krb5_ret_authdata(krb5_storage *sp, krb5_authdata *auth) in krb5_ret_authdata() argument
1263 ret = krb5_ret_int32(sp, &tmp); in krb5_ret_authdata()
1265 ret = size_too_large_num(sp, tmp, sizeof(auth->val[0])); in krb5_ret_authdata()
1271 ret = krb5_ret_int16(sp, &tmp2); in krb5_ret_authdata()
1274 ret = krb5_ret_data(sp, &auth->val[i].ad_data); in krb5_ret_authdata()
1295 * @param sp the storage buffer to write to
1304 krb5_store_creds(krb5_storage *sp, krb5_creds *creds) in krb5_store_creds() argument
1308 ret = krb5_store_principal(sp, creds->client); in krb5_store_creds()
1311 ret = krb5_store_principal(sp, creds->server); in krb5_store_creds()
1314 ret = krb5_store_keyblock(sp, creds->session); in krb5_store_creds()
1317 ret = krb5_store_times(sp, creds->times); in krb5_store_creds()
1320 ret = krb5_store_int8(sp, creds->second_ticket.length != 0); /* is_skey */ in krb5_store_creds()
1324 if(krb5_storage_is_flags(sp, KRB5_STORAGE_CREDS_FLAGS_WRONG_BITORDER)) in krb5_store_creds()
1325 ret = krb5_store_int32(sp, creds->flags.i); in krb5_store_creds()
1327 ret = krb5_store_int32(sp, bitswap32(TicketFlags2int(creds->flags.b))); in krb5_store_creds()
1331 ret = krb5_store_addrs(sp, creds->addresses); in krb5_store_creds()
1334 ret = krb5_store_authdata(sp, creds->authdata); in krb5_store_creds()
1337 ret = krb5_store_data(sp, creds->ticket); in krb5_store_creds()
1340 ret = krb5_store_data(sp, creds->second_ticket); in krb5_store_creds()
1347 * @param sp the storage buffer to write to
1356 krb5_ret_creds(krb5_storage *sp, krb5_creds *creds) in krb5_ret_creds() argument
1363 ret = krb5_ret_principal (sp, &creds->client); in krb5_ret_creds()
1365 ret = krb5_ret_principal (sp, &creds->server); in krb5_ret_creds()
1367 ret = krb5_ret_keyblock (sp, &creds->session); in krb5_ret_creds()
1369 ret = krb5_ret_times (sp, &creds->times); in krb5_ret_creds()
1371 ret = krb5_ret_int8 (sp, &dummy8); in krb5_ret_creds()
1373 ret = krb5_ret_int32 (sp, &dummy32); in krb5_ret_creds()
1392 ret = krb5_ret_addrs (sp, &creds->addresses); in krb5_ret_creds()
1394 ret = krb5_ret_authdata (sp, &creds->authdata); in krb5_ret_creds()
1396 ret = krb5_ret_data (sp, &creds->ticket); in krb5_ret_creds()
1398 ret = krb5_ret_data (sp, &creds->second_ticket); in krb5_ret_creds()
1419 * @param sp the storage buffer to write to
1428 krb5_store_creds_tag(krb5_storage *sp, krb5_creds *creds) in krb5_store_creds_tag() argument
1448 ret = krb5_store_int32(sp, header); in krb5_store_creds_tag()
1453 ret = krb5_store_principal(sp, creds->client); in krb5_store_creds_tag()
1459 ret = krb5_store_principal(sp, creds->server); in krb5_store_creds_tag()
1465 ret = krb5_store_keyblock(sp, creds->session); in krb5_store_creds_tag()
1470 ret = krb5_store_times(sp, creds->times); in krb5_store_creds_tag()
1473 ret = krb5_store_int8(sp, creds->second_ticket.length != 0); /* is_skey */ in krb5_store_creds_tag()
1477 ret = krb5_store_int32(sp, bitswap32(TicketFlags2int(creds->flags.b))); in krb5_store_creds_tag()
1482 ret = krb5_store_addrs(sp, creds->addresses); in krb5_store_creds_tag()
1488 ret = krb5_store_authdata(sp, creds->authdata); in krb5_store_creds_tag()
1494 ret = krb5_store_data(sp, creds->ticket); in krb5_store_creds_tag()
1500 ret = krb5_store_data(sp, creds->second_ticket); in krb5_store_creds_tag()
1511 * @param sp the storage buffer to write to
1520 krb5_ret_creds_tag(krb5_storage *sp, in krb5_ret_creds_tag() argument
1529 ret = krb5_ret_int32 (sp, &header); in krb5_ret_creds_tag()
1533 ret = krb5_ret_principal (sp, &creds->client); in krb5_ret_creds_tag()
1537 ret = krb5_ret_principal (sp, &creds->server); in krb5_ret_creds_tag()
1541 ret = krb5_ret_keyblock (sp, &creds->session); in krb5_ret_creds_tag()
1544 ret = krb5_ret_times (sp, &creds->times); in krb5_ret_creds_tag()
1546 ret = krb5_ret_int8 (sp, &dummy8); in krb5_ret_creds_tag()
1548 ret = krb5_ret_int32 (sp, &dummy32); in krb5_ret_creds_tag()
1568 ret = krb5_ret_addrs (sp, &creds->addresses); in krb5_ret_creds_tag()
1572 ret = krb5_ret_authdata (sp, &creds->authdata); in krb5_ret_creds_tag()
1576 ret = krb5_ret_data (sp, &creds->ticket); in krb5_ret_creds_tag()
1580 ret = krb5_ret_data (sp, &creds->second_ticket); in krb5_ret_creds_tag()