| 1216 | */ |
| 1217 | |
| 1218 | static int |
| 1219 | ng_ppp_crypt_xmit(node_p node, item_p item, uint16_t proto) |
| 1220 | { |
| 1221 | const priv_p priv = NG_NODE_PRIVATE(node); |
| 1222 | |
| 1223 | if (priv->conf.enableEncryption && |
| 1224 | proto < 0x4000 && |
| 1225 | proto != PROT_CRYPTD && |
| 1226 | priv->hooks[HOOK_INDEX_ENCRYPT] != NULL) { |
| 1227 | struct mbuf *m; |
| 1228 | int error; |
| 1229 | |
| 1230 | NGI_GET_M(item, m); |
| 1231 | if ((m = ng_ppp_addproto(m, proto, 0)) == NULL) { |
| 1232 | NG_FREE_ITEM(item); |
| 1233 | return (ENOBUFS); |
| 1234 | } |
| 1235 | NGI_M(item) = m; |
| 1236 | |
| 1237 | /* Send packet out hook. */ |
| 1238 | NG_FWD_ITEM_HOOK(error, item, priv->hooks[HOOK_INDEX_ENCRYPT]); |
| 1239 | return (error); |
| 1240 | } |
| 1241 | |
| 1242 | return (ng_ppp_mp_xmit(node, item, proto)); |
| 1243 | } |
| 1244 | |
| 1245 | /* |
| 1246 | * Receive data on a hook encrypt. |
no test coverage detected