Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-os by
snmpv3_priv.h
00001 /** 00002 * @file 00003 * Additional SNMPv3 functionality RFC3414 and RFC3826 (internal API, do not use in client code). 00004 */ 00005 00006 /* 00007 * Copyright (c) 2016 Elias Oenal. 00008 * All rights reserved. 00009 * 00010 * Redistribution and use in source and binary forms, with or without modification, 00011 * are permitted provided that the following conditions are met: 00012 * 00013 * 1. Redistributions of source code must retain the above copyright notice, 00014 * this list of conditions and the following disclaimer. 00015 * 2. Redistributions in binary form must reproduce the above copyright notice, 00016 * this list of conditions and the following disclaimer in the documentation 00017 * and/or other materials provided with the distribution. 00018 * 3. The name of the author may not be used to endorse or promote products 00019 * derived from this software without specific prior written permission. 00020 * 00021 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 00022 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 00023 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 00024 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00025 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 00026 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00027 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00028 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 00029 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 00030 * OF SUCH DAMAGE. 00031 * 00032 * Author: Elias Oenal <lwip@eliasoenal.com> 00033 */ 00034 00035 #ifndef LWIP_HDR_APPS_SNMP_V3_PRIV_H 00036 #define LWIP_HDR_APPS_SNMP_V3_PRIV_H 00037 00038 #include "lwip/apps/snmp_opts.h" 00039 00040 #if LWIP_SNMP && LWIP_SNMP_V3 00041 00042 #include "snmp_pbuf_stream.h" 00043 00044 /* According to RFC 3411 */ 00045 #define SNMP_V3_MAX_ENGINE_ID_LENGTH 32 00046 #define SNMP_V3_MAX_USER_LENGTH 32 00047 00048 #define SNMP_V3_MAX_AUTH_PARAM_LENGTH 12 00049 #define SNMP_V3_MAX_PRIV_PARAM_LENGTH 8 00050 00051 #define SNMP_V3_AUTH_FLAG 0x01 00052 #define SNMP_V3_PRIV_FLAG 0x02 00053 00054 #define SNMP_V3_MD5_LEN 16 00055 #define SNMP_V3_SHA_LEN 20 00056 00057 u32_t snmpv3_get_engine_boots_internal(void); 00058 u32_t snmpv3_get_engine_time_internal(void); 00059 err_t snmpv3_auth(struct snmp_pbuf_stream* stream, u16_t length, const u8_t* key, u8_t algo, u8_t* hmac_out); 00060 err_t snmpv3_crypt(struct snmp_pbuf_stream* stream, u16_t length, const u8_t* key, 00061 const u8_t* priv_param, const u32_t engine_boots, const u32_t engine_time, u8_t algo, u8_t mode); 00062 err_t snmpv3_build_priv_param(u8_t* priv_param); 00063 00064 #endif 00065 00066 #endif /* LWIP_HDR_APPS_SNMP_V3_PRIV_H */
Generated on Tue Jul 12 2022 13:16:07 by
