!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/src/linux-oracle-headers-5.15.0-1040/include/net/   drwxr-xr-x
Free 83.29 GB of 96.73 GB (86.11%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     udplite.h (3.67 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* SPDX-License-Identifier: GPL-2.0 */
/*
 *    Definitions for the UDP-Lite (RFC 3828) code.
 */
#ifndef _UDPLITE_H
#define _UDPLITE_H

#include <net/ip6_checksum.h>

/* UDP-Lite socket options */
#define UDPLITE_SEND_CSCOV   10 /* sender partial coverage (as sent)      */
#define UDPLITE_RECV_CSCOV   11 /* receiver partial coverage (threshold ) */

extern struct proto         udplite_prot;
extern struct udp_table        udplite_table;

/*
 *    Checksum computation is all in software, hence simpler getfrag.
 */
static __inline__ int udplite_getfrag(void *from, char *to, int  offset,
                      int len, int odd, struct sk_buff *skb)
{
    struct msghdr *msg = from;
    return copy_from_iter_full(to, len, &msg->msg_iter) ? 0 : -EFAULT;
}

/*
 *     Checksumming routines
 */
static inline int udplite_checksum_init(struct sk_buff *skb, struct udphdr *uh)
{
    u16 cscov;

        /* In UDPv4 a zero checksum means that the transmitter generated no
         * checksum. UDP-Lite (like IPv6) mandates checksums, hence packets
         * with a zero checksum field are illegal.                            */
    if (uh->check == 0) {
        net_dbg_ratelimited("UDPLite: zeroed checksum field\n");
        return 1;
    }

    cscov = ntohs(uh->len);

    if (cscov == 0)         /* Indicates that full coverage is required. */
        ;
    else if (cscov < 8  || cscov > skb->len) {
        /*
         * Coverage length violates RFC 3828: log and discard silently.
         */
        net_dbg_ratelimited("UDPLite: bad csum coverage %d/%d\n",
                    cscov, skb->len);
        return 1;

    } else if (cscov < skb->len) {
            UDP_SKB_CB(skb)->partial_cov = 1;
        UDP_SKB_CB(skb)->cscov = cscov;
        if (skb->ip_summed == CHECKSUM_COMPLETE)
            skb->ip_summed = CHECKSUM_NONE;
        skb->csum_valid = 0;
        }

    return 0;
}

/* Slow-path computation of checksum. Socket is locked. */
static inline __wsum udplite_csum_outgoing(struct sock *sk, struct sk_buff *skb)
{
    const struct udp_sock *up = udp_sk(skb->sk);
    int cscov = up->len;
    __wsum csum = 0;

    if (up->pcflag & UDPLITE_SEND_CC) {
        /*
         * Sender has set `partial coverage' option on UDP-Lite socket.
         * The special case "up->pcslen == 0" signifies full coverage.
         */
        if (up->pcslen < up->len) {
            if (0 < up->pcslen)
                cscov = up->pcslen;
            udp_hdr(skb)->len = htons(up->pcslen);
        }
        /*
         * NOTE: Causes for the error case  `up->pcslen > up->len':
         *        (i)  Application error (will not be penalized).
         *       (ii)  Payload too big for send buffer: data is split
         *             into several packets, each with its own header.
         *             In this case (e.g. last segment), coverage may
         *             exceed packet length.
         *       Since packets with coverage length > packet length are
         *       illegal, we fall back to the defaults here.
         */
    }

    skb->ip_summed = CHECKSUM_NONE;     /* no HW support for checksumming */

    skb_queue_walk(&sk->sk_write_queue, skb) {
        const int off = skb_transport_offset(skb);
        const int len = skb->len - off;

        csum = skb_checksum(skb, off, (cscov > len)? len : cscov, csum);

        if ((cscov -= len) <= 0)
            break;
    }
    return csum;
}

/* Fast-path computation of checksum. Socket may not be locked. */
static inline __wsum udplite_csum(struct sk_buff *skb)
{
    const struct udp_sock *up = udp_sk(skb->sk);
    const int off = skb_transport_offset(skb);
    int len = skb->len - off;

    if ((up->pcflag & UDPLITE_SEND_CC) && up->pcslen < len) {
        if (0 < up->pcslen)
            len = up->pcslen;
        udp_hdr(skb)->len = htons(up->pcslen);
    }
    skb->ip_summed = CHECKSUM_NONE;     /* no HW support for checksumming */

    return skb_checksum(skb, off, len, 0);
}

void udplite4_register(void);
int udplite_get_port(struct sock *sk, unsigned short snum,
             int (*scmp)(const struct sock *, const struct sock *));
#endif    /* _UDPLITE_H */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by HackingTool | HackingTool | Generation time: 0.007 ]--