syncookies.c (967535223f9a8d95c187a8728480b569164cd4f4) syncookies.c (c92e8c02fe664155ac4234516e32544bec0f113d)
1/*
2 * Syncookies implementation for the Linux kernel
3 *
4 * Copyright (C) 1997 Andi Kleen
5 * Based on ideas by D.J.Bernstein and Eric Schenk.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License

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

350 treq->snt_synack = 0;
351 treq->tfo_listener = false;
352
353 ireq->ir_iif = inet_request_bound_dev_if(sk, skb);
354
355 /* We throwed the options of the initial SYN away, so we hope
356 * the ACK carries the same options again (see RFC1122 4.2.3.8)
357 */
1/*
2 * Syncookies implementation for the Linux kernel
3 *
4 * Copyright (C) 1997 Andi Kleen
5 * Based on ideas by D.J.Bernstein and Eric Schenk.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License

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

350 treq->snt_synack = 0;
351 treq->tfo_listener = false;
352
353 ireq->ir_iif = inet_request_bound_dev_if(sk, skb);
354
355 /* We throwed the options of the initial SYN away, so we hope
356 * the ACK carries the same options again (see RFC1122 4.2.3.8)
357 */
358 ireq->opt = tcp_v4_save_options(sock_net(sk), skb);
358 RCU_INIT_POINTER(ireq->ireq_opt, tcp_v4_save_options(sock_net(sk), skb));
359
360 if (security_inet_conn_request(sk, skb, req)) {
361 reqsk_free(req);
362 goto out;
363 }
364
365 req->num_retrans = 0;
366

--- 37 unchanged lines hidden ---
359
360 if (security_inet_conn_request(sk, skb, req)) {
361 reqsk_free(req);
362 goto out;
363 }
364
365 req->num_retrans = 0;
366

--- 37 unchanged lines hidden ---