Deleted Added
full compact
snmp.c (124861) snmp.c (133211)
1/*
2 * Copyright (c) 2001-2003
3 * Fraunhofer Institute for Open Communication Systems (FhG Fokus).
4 * All rights reserved.
5 *
6 * Author: Harti Brandt <harti@freebsd.org>
1/*
2 * Copyright (c) 2001-2003
3 * Fraunhofer Institute for Open Communication Systems (FhG Fokus).
4 * All rights reserved.
5 *
6 * Author: Harti Brandt <harti@freebsd.org>
7 *
8 * Redistribution of this software and documentation and use in source and
9 * binary forms, with or without modification, are permitted provided that
10 * the following conditions are met:
11 *
12 * 1. Redistributions of source code or documentation must retain the above
13 * copyright notice, this list of conditions and the following disclaimer.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
14 * 2. Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
17 * 3. Neither the name of the Institute nor the names of its contributors
18 * may be used to endorse or promote products derived from this software
19 * without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
20 *
28 *
21 * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED BY FRAUNHOFER FOKUS
22 * AND ITS CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
23 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
24 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
25 * FRAUNHOFER FOKUS OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
28 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
31 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 * $Begemot: bsnmp/lib/snmp.c,v 1.38 2004/08/06 08:46:53 brandt Exp $
32 *
30 *
33 * $Begemot: bsnmp/lib/snmp.c,v 1.37 2003/12/08 17:11:58 hbb Exp $
34 *
35 * SNMP
36 */
37#include <sys/types.h>
38#include <sys/socket.h>
39#include <stdio.h>
40#include <stdlib.h>
41#include <stddef.h>
42#include <stdarg.h>
31 * SNMP
32 */
33#include <sys/types.h>
34#include <sys/socket.h>
35#include <stdio.h>
36#include <stdlib.h>
37#include <stddef.h>
38#include <stdarg.h>
39#include <stdint.h>
43#include <string.h>
44#include <ctype.h>
45#include <netdb.h>
46#include <errno.h>
47
48#include "asn1.h"
49#include "snmp.h"
50#include "snmppriv.h"
51
52static void snmp_error_func(const char *, ...);
53static void snmp_printf_func(const char *, ...);
54
55void (*snmp_error)(const char *, ...) = snmp_error_func;
56void (*snmp_printf)(const char *, ...) = snmp_printf_func;
57
40#include <string.h>
41#include <ctype.h>
42#include <netdb.h>
43#include <errno.h>
44
45#include "asn1.h"
46#include "snmp.h"
47#include "snmppriv.h"
48
49static void snmp_error_func(const char *, ...);
50static void snmp_printf_func(const char *, ...);
51
52void (*snmp_error)(const char *, ...) = snmp_error_func;
53void (*snmp_printf)(const char *, ...) = snmp_printf_func;
54
58
59/*
60 * Get the next variable binding from the list.
61 * ASN errors on the sequence or the OID are always fatal.
62 */
63static enum asn_err
64get_var_binding(struct asn_buf *b, struct snmp_value *binding)
65{
66 u_char type;

--- 972 unchanged lines hidden (view full) ---

1039 v->ipaddress[3] = he->h_addr[3];
1040 return (0);
1041 }
1042
1043 case SNMP_SYNTAX_COUNTER:
1044 case SNMP_SYNTAX_GAUGE:
1045 case SNMP_SYNTAX_TIMETICKS:
1046 {
55/*
56 * Get the next variable binding from the list.
57 * ASN errors on the sequence or the OID are always fatal.
58 */
59static enum asn_err
60get_var_binding(struct asn_buf *b, struct snmp_value *binding)
61{
62 u_char type;

--- 972 unchanged lines hidden (view full) ---

1035 v->ipaddress[3] = he->h_addr[3];
1036 return (0);
1037 }
1038
1039 case SNMP_SYNTAX_COUNTER:
1040 case SNMP_SYNTAX_GAUGE:
1041 case SNMP_SYNTAX_TIMETICKS:
1042 {
1047 u_int64_t sub;
1043 uint64_t sub;
1048
1049 sub = strtoull(str, &end, 0);
1050 if (*end != '\0' || sub > 0xffffffff)
1051 return (-1);
1044
1045 sub = strtoull(str, &end, 0);
1046 if (*end != '\0' || sub > 0xffffffff)
1047 return (-1);
1052 v->uint32 = (u_int32_t)sub;
1048 v->uint32 = (uint32_t)sub;
1053 return (0);
1054 }
1055
1056 case SNMP_SYNTAX_COUNTER64:
1057 v->counter64 = strtoull(str, &end, 0);
1058 if (*end != '\0')
1059 return (-1);
1060 return (0);

--- 25 unchanged lines hidden ---
1049 return (0);
1050 }
1051
1052 case SNMP_SYNTAX_COUNTER64:
1053 v->counter64 = strtoull(str, &end, 0);
1054 if (*end != '\0')
1055 return (-1);
1056 return (0);

--- 25 unchanged lines hidden ---