| 1259 | } |
| 1260 | |
| 1261 | static int |
| 1262 | ng_ppp_crypt_recv(node_p node, item_p item, uint16_t proto, uint16_t linkNum) |
| 1263 | { |
| 1264 | const priv_p priv = NG_NODE_PRIVATE(node); |
| 1265 | |
| 1266 | if (proto == PROT_CRYPTD) { |
| 1267 | if (priv->conf.enableDecryption && |
| 1268 | priv->hooks[HOOK_INDEX_DECRYPT] != NULL) { |
| 1269 | int error; |
| 1270 | |
| 1271 | /* Send packet out hook. */ |
| 1272 | NG_FWD_ITEM_HOOK(error, item, |
| 1273 | priv->hooks[HOOK_INDEX_DECRYPT]); |
| 1274 | return (error); |
| 1275 | } else { |
| 1276 | /* Disabled protos MUST be silently discarded, but |
| 1277 | * unsupported MUST not. Let user-level decide this. */ |
| 1278 | return (ng_ppp_bypass(node, item, proto, linkNum)); |
| 1279 | } |
| 1280 | } |
| 1281 | |
| 1282 | return (ng_ppp_comp_recv(node, item, proto, linkNum)); |
| 1283 | } |
| 1284 | |
| 1285 | /* |
| 1286 | * Receive data on a hook decrypt. |
no test coverage detected