diff options
author | Timo Teräs <timo.teras@iki.fi> | 2010-08-10 14:49:46 +0300 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2010-08-10 14:49:46 +0300 |
commit | 679cadbe809bdf5436b4f7c48d9722c08a59ab59 (patch) | |
tree | dc2a020fec3913112d00362a4bf7b819ec44b228 /squark-auth.c | |
parent | 9c29667d060e6f1d00a9ad7997c4b357db3aa2ac (diff) | |
download | squark-679cadbe809bdf5436b4f7c48d9722c08a59ab59.tar.bz2 squark-679cadbe809bdf5436b4f7c48d9722c08a59ab59.tar.xz |
blob: use uppercase for macroes, add some functionality
Normalizing macro names to upper case and extending functionality.
Diffstat (limited to 'squark-auth.c')
-rw-r--r-- | squark-auth.c | 102 |
1 files changed, 51 insertions, 51 deletions
diff --git a/squark-auth.c b/squark-auth.c index db792e7..d0b3390 100644 --- a/squark-auth.c +++ b/squark-auth.c @@ -102,8 +102,8 @@ static int username_format_flags; /* ----------------------------------------------------------------- */ -#define blob_oid(objid) blob_buf(objid) -#define blob_oid_dyn(objid,len) blob_dyn(objid, (len) * sizeof(oid)) +#define BLOB_OID(objid) BLOB_BUF(objid) +#define BLOB_OID_DYN(objid,len) BLOB_PTR_LEN(objid, (len) * sizeof(oid)) static inline void blob_push_oid(blob_t *b, oid objid) { @@ -218,7 +218,7 @@ void blob_push_iana_afn(blob_t *b, sockaddr_any *addr) } blob_push_oid(b, type); blob_push_oid(b, len); - blob_push_oid_dump(b, blob_dyn(ptr, len)); + blob_push_oid_dump(b, BLOB_PTR_LEN(ptr, len)); } sockaddr_any *blob_pull_iana_afn(blob_t *b, sockaddr_any *addr) @@ -237,7 +237,7 @@ sockaddr_any *blob_pull_iana_afn(blob_t *b, sockaddr_any *addr) blob_pull_skip(b, len); return NULL; } - blob_pull_oid_dump(b, blob_dyn(ptr, len)); + blob_pull_oid_dump(b, BLOB_PTR_LEN(ptr, len)); return addr; } @@ -483,7 +483,7 @@ int resolve_ifName2ifIndex(struct switch_info *si, blob_t ifName) if (vars->type != ASN_OCTET_STR) continue; - if (blob_cmp(ifName, blob_dyn(vars->val.string, vars->val_len)) != 0) + if (blob_cmp(ifName, BLOB_PTR_LEN(vars->val.string, vars->val_len)) != 0) continue; rc = vars->name[vars->name_length - 1]; @@ -550,31 +550,31 @@ static void blob_push_formatted_username( struct switch_info *si = auth->current_switch; while ((p = strchr(p, '%')) != NULL) { - blob_push(b, blob_dyn(o, p - o)); + blob_push(b, BLOB_PTR_LEN(o, p - o)); switch (p[1]) { case 'I': - blob_push(b, blob_str(addr_print(&auth->addr))); + blob_push(b, BLOB_STR(addr_print(&auth->addr))); break; case 'M': - blob_push_hexdump(b, blob_buf(auth->mac)); + blob_push_hexdump(b, BLOB_BUF(auth->mac)); break; case 'N': - blob_push(b, blob_str(si->system_name)); + blob_push(b, BLOB_STR(si->system_name)); break; case 'L': - blob_push(b, blob_str(si->system_location)); + blob_push(b, BLOB_STR(si->system_location)); break; case 'i': - blob_push_int_str(b, auth->local_port); + blob_push_uint(b, auth->local_port, 10); break; case 'n': - blob_push(b, blob_str(auth->port_name)); + blob_push(b, BLOB_STR(auth->port_name)); break; case 'd': - blob_push(b, blob_str(auth->port_descr)); + blob_push(b, BLOB_STR(auth->port_descr)); break; case 'w': - blob_push(b, blob_str(auth->webauth_name)); + blob_push(b, BLOB_STR(auth->webauth_name)); break; default: o = p; @@ -584,7 +584,7 @@ static void blob_push_formatted_username( p += 2; o = p; } - blob_push(b, blob_str(o)); + blob_push(b, BLOB_STR(o)); } static int auth_ok(struct auth_context *auth) @@ -595,17 +595,17 @@ static int auth_ok(struct auth_context *auth) static void auth_completed(struct auth_context *auth) { char tmp[256]; - blob_t b = blob_buf(tmp); + blob_t b = BLOB_BUF(tmp); - blob_push(&b, blob_str(auth->token)); + blob_push(&b, BLOB_STR(auth->token)); if (auth_ok(auth)) { - blob_push(&b, blob_str(" OK user=")); + blob_push(&b, BLOB_STR(" OK user=")); blob_push_formatted_username(&b, username_format, auth); - blob_push(&b, blob_dyn("\n", 1)); + blob_push(&b, BLOB_PTR_LEN("\n", 1)); } else { - blob_push(&b, blob_str(" ERR\n")); + blob_push(&b, BLOB_STR(" ERR\n")); } - b = blob_pushed(blob_buf(tmp), b); + b = blob_pushed(BLOB_BUF(tmp), b); write(STDOUT_FILENO, b.ptr, b.len); auth_free(auth); @@ -638,7 +638,7 @@ static blob_t var_parse_type(netsnmp_variable_list **varptr, int asn_tag) if (var->type != asn_tag) return BLOB_NULL; - return blob_dyn(var->val.string, var->val_len); + return BLOB_PTR_LEN(var->val.string, var->val_len); } static int auth_handle_portinfo_reply(int oper, netsnmp_session *s, int reqid, netsnmp_pdu *resp, void *data) @@ -682,25 +682,25 @@ static void auth_query_port_info(struct auth_context *auth) pdu = snmp_pdu_create(SNMP_MSG_GET); if (username_format_flags & FORMAT_PORT_NAME) { - query = blob_oid(query_oids); - blob_push(&query, blob_oid(IF_MIB_ifName)); + query = BLOB_OID(query_oids); + blob_push(&query, BLOB_OID(IF_MIB_ifName)); blob_push_oid(&query, auth->local_port); - query = blob_pushed(blob_oid(query_oids), query); + query = blob_pushed(BLOB_OID(query_oids), query); snmp_add_null_var(pdu, oid_blob(query)); } if (username_format_flags & FORMAT_PORT_DESCR) { - query = blob_oid(query_oids); - blob_push(&query, blob_oid(IF_MIB_ifDescr)); + query = BLOB_OID(query_oids); + blob_push(&query, BLOB_OID(IF_MIB_ifDescr)); blob_push_oid(&query, auth->local_port); - query = blob_pushed(blob_oid(query_oids), query); + query = blob_pushed(BLOB_OID(query_oids), query); snmp_add_null_var(pdu, oid_blob(query)); } if (username_format_flags & FORMAT_PORT_WEBAUTH) { - query = blob_oid(query_oids); - blob_push(&query, blob_oid(HP_hpicfUsrAuthWebAuthSessionName)); + query = BLOB_OID(query_oids); + blob_push(&query, BLOB_OID(HP_hpicfUsrAuthWebAuthSessionName)); blob_push_oid(&query, auth->local_port); - blob_push_oid_dump(&query, blob_buf(auth->mac)); - query = blob_pushed(blob_oid(query_oids), query); + blob_push_oid_dump(&query, BLOB_BUF(auth->mac)); + query = blob_pushed(BLOB_OID(query_oids), query); snmp_add_null_var(pdu, oid_blob(query)); } auth_talk_snmp(auth, si->session, pdu, auth_handle_portinfo_reply); @@ -725,8 +725,8 @@ static int auth_handle_lldp_reply(int oper, netsnmp_session *s, int reqid, netsn if (var->type != ASN_INTEGER) continue; /* INDEX: TimeFilter, Port, Idx, Family, Addr */ - res = blob_oid_dyn(var->name, var->name_length); - if (blob_pull_matching(&res, blob_oid(LLDP_lldpRemManAddrIfSubtype)) && + res = BLOB_OID_DYN(var->name, var->name_length); + if (blob_pull_matching(&res, BLOB_OID(LLDP_lldpRemManAddrIfSubtype)) && blob_pull_oid(&res) == 0 && blob_pull_oid(&res) == auth->lldp_port[i]) { /* We have mathing LLDP neighbor */ @@ -743,8 +743,8 @@ static int auth_handle_lldp_reply(int oper, netsnmp_session *s, int reqid, netsn if (var->type != ASN_INTEGER) break; /* print_variable(var->name, var->name_length, var); */ - res = blob_oid_dyn(var->name, var->name_length); - if (!blob_pull_matching(&res, blob_oid(IF_MIB_ifStackStatus))) + res = BLOB_OID_DYN(var->name, var->name_length); + if (!blob_pull_matching(&res, BLOB_OID(IF_MIB_ifStackStatus))) break; if (blob_pull_oid(&res) != auth->local_port) break; @@ -790,21 +790,21 @@ static void auth_query_lldp(struct auth_context *auth, int root_query) for (i = 0; i < auth->num_lldp_ports; i++) { /* Query LLDP neighbor. lldpRemManAddrTable is INDEXed with * [TimeFilter, LocalPort, Index, AddrSubType, Addr] */ - query = blob_oid(query_oids); - blob_push(&query, blob_oid(LLDP_lldpRemManAddrIfSubtype)); + query = BLOB_OID(query_oids); + blob_push(&query, BLOB_OID(LLDP_lldpRemManAddrIfSubtype)); blob_push_oid(&query, 0); blob_push_oid(&query, auth->lldp_port[i]); - query = blob_pushed(blob_oid(query_oids), query); + query = blob_pushed(BLOB_OID(query_oids), query); snmp_add_null_var(pdu, oid_blob(query)); } if (root_query) { /* Query interface stacking in case this is aggregated trunk: * IF-MIB::ifStackStatus.<ifUpperIndex>.<ifLowerIndex> */ - query = blob_oid(query_oids); - blob_push(&query, blob_oid(IF_MIB_ifStackStatus)); + query = BLOB_OID(query_oids); + blob_push(&query, BLOB_OID(IF_MIB_ifStackStatus)); blob_push_oid(&query, auth->local_port); - query = blob_pushed(blob_oid(query_oids), query); + query = blob_pushed(BLOB_OID(query_oids), query); snmp_add_null_var(pdu, oid_blob(query)); } @@ -868,12 +868,12 @@ static void auth_query_fib(struct auth_context *auth) /* FIXME: Implement Q-BRIDGE-MIB query too. */ /* BRIDGE-MIB::dot1dTpFdbPort.<MAC> = INTEGER: port */ - query = blob_oid(query_oids); - blob_push(&query, blob_oid(BRIDGE_MIB_dot1dTpFdbPort)); + query = BLOB_OID(query_oids); + blob_push(&query, BLOB_OID(BRIDGE_MIB_dot1dTpFdbPort)); if (si->flags & SWITCHF_BRIDGE_MIB_HAS_VLAN) blob_push_oid(&query, l2_vlan_ndx); - blob_push_oid_dump(&query, blob_buf(auth->mac)); - query = blob_pushed(blob_oid(query_oids), query); + blob_push_oid_dump(&query, BLOB_BUF(auth->mac)); + query = blob_pushed(BLOB_OID(query_oids), query); snmp_add_null_var(pdu, oid_blob(query)); auth_talk_snmp(auth, si->session, pdu, auth_handle_fib_reply); @@ -901,7 +901,7 @@ static int auth_handle_switch_info_reply(int oper, netsnmp_session *s, int reqid if (si->system_location) si->info_available |= FORMAT_SWITCH_LOCATION; b = si->system_oid; - if (blob_pull_matching(&b, blob_oid(HP_ICF_OID_hpEtherSwitch))) { + if (blob_pull_matching(&b, BLOB_OID(HP_ICF_OID_hpEtherSwitch))) { /* Hewlett-Packard ProCurve Switches */ switch (blob_pull_oid(&b)) { case 104: /* 1810G-24 */ @@ -976,11 +976,11 @@ void start_authentication(const char *token, const char *ip) * = STRING: 01:12:34:56:78:9a */ pdu = snmp_pdu_create(SNMP_MSG_GET); - query = blob_oid(query_oids); - blob_push(&query, blob_oid(IP_MIB_ipNetToPhysicalPhysAddress)); + query = BLOB_OID(query_oids); + blob_push(&query, BLOB_OID(IP_MIB_ipNetToPhysicalPhysAddress)); blob_push_oid(&query, l3_if_ndx); blob_push_iana_afn(&query, &auth->addr); - query = blob_pushed(blob_oid(query_oids), query); + query = blob_pushed(BLOB_OID(query_oids), query); snmp_add_null_var(pdu, oid_blob(query)); auth_talk_snmp(auth, l3_root_dev->session, pdu, auth_handle_arp_reply); @@ -1080,7 +1080,7 @@ int main(int argc, char **argv) l2_root = l3_root; l3_root_dev = get_switch(addr_parse(l3_root, &addr)); - l3_if_ndx = resolve_ifName2ifIndex(l3_root_dev, blob_str((char *) l3_ifname)); + l3_if_ndx = resolve_ifName2ifIndex(l3_root_dev, BLOB_STR((char *) l3_ifname)); l2_root_dev = get_switch(addr_parse(l2_root, &addr)); l2_vlan_ndx = atoi(l2_vlan); username_format_flags = parse_format(username_format); |