Annotation of src/usr.bin/ssh/bufbn.c, Revision 1.12
1.12 ! djm 1: /* $OpenBSD$ */
! 2:
1.1 dtucker 3: /*
1.12 ! djm 4: * Copyright (c) 2012 Damien Miller <djm@mindrot.org>
1.1 dtucker 5: *
1.12 ! djm 6: * Permission to use, copy, modify, and distribute this software for any
! 7: * purpose with or without fee is hereby granted, provided that the above
! 8: * copyright notice and this permission notice appear in all copies.
1.1 dtucker 9: *
1.12 ! djm 10: * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
! 11: * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
! 12: * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
! 13: * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
! 14: * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
! 15: * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
! 16: * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1.1 dtucker 17: */
18:
1.12 ! djm 19: /* Emulation wrappers for legacy OpenSSH buffer API atop sshbuf */
! 20:
1.3 deraadt 21: #include <sys/types.h>
1.1 dtucker 22:
1.3 deraadt 23: #include "buffer.h"
1.1 dtucker 24: #include "log.h"
1.12 ! djm 25: #include "ssherr.h"
1.1 dtucker 26:
27: int
28: buffer_put_bignum_ret(Buffer *buffer, const BIGNUM *value)
29: {
1.12 ! djm 30: int ret;
! 31:
! 32: if ((ret = sshbuf_put_bignum1(buffer, value)) != 0) {
! 33: error("%s: %s", __func__, ssh_err(ret));
! 34: return -1;
1.1 dtucker 35: }
1.12 ! djm 36: return 0;
1.1 dtucker 37: }
38:
39: void
40: buffer_put_bignum(Buffer *buffer, const BIGNUM *value)
41: {
42: if (buffer_put_bignum_ret(buffer, value) == -1)
1.12 ! djm 43: fatal("%s: buffer error", __func__);
1.1 dtucker 44: }
45:
46: int
47: buffer_get_bignum_ret(Buffer *buffer, BIGNUM *value)
48: {
1.12 ! djm 49: int ret;
1.1 dtucker 50:
1.12 ! djm 51: if ((ret = sshbuf_get_bignum1(buffer, value)) != 0) {
! 52: error("%s: %s", __func__, ssh_err(ret));
! 53: return -1;
1.1 dtucker 54: }
1.12 ! djm 55: return 0;
1.1 dtucker 56: }
57:
58: void
59: buffer_get_bignum(Buffer *buffer, BIGNUM *value)
60: {
61: if (buffer_get_bignum_ret(buffer, value) == -1)
1.12 ! djm 62: fatal("%s: buffer error", __func__);
1.1 dtucker 63: }
64:
65: int
66: buffer_put_bignum2_ret(Buffer *buffer, const BIGNUM *value)
67: {
1.12 ! djm 68: int ret;
! 69:
! 70: if ((ret = sshbuf_put_bignum2(buffer, value)) != 0) {
! 71: error("%s: %s", __func__, ssh_err(ret));
! 72: return -1;
1.1 dtucker 73: }
1.12 ! djm 74: return 0;
1.1 dtucker 75: }
76:
77: void
78: buffer_put_bignum2(Buffer *buffer, const BIGNUM *value)
79: {
80: if (buffer_put_bignum2_ret(buffer, value) == -1)
1.12 ! djm 81: fatal("%s: buffer error", __func__);
1.1 dtucker 82: }
83:
84: int
85: buffer_get_bignum2_ret(Buffer *buffer, BIGNUM *value)
86: {
1.12 ! djm 87: int ret;
1.1 dtucker 88:
1.12 ! djm 89: if ((ret = sshbuf_get_bignum2(buffer, value)) != 0) {
! 90: error("%s: %s", __func__, ssh_err(ret));
! 91: return -1;
1.4 markus 92: }
1.12 ! djm 93: return 0;
1.1 dtucker 94: }
95:
96: void
97: buffer_get_bignum2(Buffer *buffer, BIGNUM *value)
98: {
99: if (buffer_get_bignum2_ret(buffer, value) == -1)
1.12 ! djm 100: fatal("%s: buffer error", __func__);
1.1 dtucker 101: }