Upstream Links 2.24

This commit is contained in:
Juhani Krekelä 2021-09-30 13:03:02 +03:00
parent 8d7a59beb5
commit f061f94a44
26 changed files with 2954 additions and 2940 deletions

View File

@ -1,3 +1,33 @@
=== RELEASE 2.24 ===
Mon Sep 13 18:31:27 CEST 2021 mikulas:
Avoid a hang in the X driver if the program that converts a selection
stops responding. Use 10 second timeout.
Fri Sep 10 18:37:30 CEST 2021 mikulas:
Fix a crash in the X driver if some window asks for clipboard and is
closed before Links responds to this request
Wed Sep 8 18:21:42 CEST 2021 mikulas:
Fix a crash on OS/2 SMP systems - it was caused by a bug in OpenSSL
Sun Sep 5 11:12:47 CEST 2021 mikulas:
Workaround for a bug on Minix 3 - don't close signal pipe when spawning
a shell
Thu Aug 19 19:54:43 CEST 2021 Emir Yasin SARI <bitigchi@me.com>:
Updated the Turkish translation
Sun Jul 4 18:02:44 CEST 2021 mikulas:
Support the "id" attribute on COLGROUP, COL, TR, THEAD, TBODY, TFOOT
tags
=== RELEASE 2.23 ===
Tue May 18 20:35:55 CEST 2021 mikulas:

View File

@ -1,4 +1,4 @@
Links 2.23 -- How To Install
Links 2.24 -- How To Install
----------------------------
Follow this step-by-step:

View File

@ -103,11 +103,11 @@ imgcache.o jpeg.o jsint.o kbd.o language.o listedit.o lru.o mailto.o \
main.o memory.o menu.o objreq.o os_dep.o pmshell.o png.o sched.o \
select.o session.o smb.o string.o suffix.o svg.o svgalib.o terminal.o \
tiff.o types.o url.o view.o view_gr.o vms.o x.o xbm.o
@ATHEOS_GR_TRUE@links_DEPENDENCIES = atheos.o
@HAIKU_GR_TRUE@links_DEPENDENCIES = haiku.o
@JAVASCRIPT_TRUE@links_DEPENDENCIES = builtin.o context.o ipret.o \
@JAVASCRIPT_TRUE@javascr.o javascript.o md5.o md5hl.o ns.o pomocny.o \
@JAVASCRIPT_TRUE@regexp.o
@HAIKU_GR_TRUE@links_DEPENDENCIES = haiku.o
@ATHEOS_GR_TRUE@links_DEPENDENCIES = atheos.o
links_LDFLAGS =
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@ -471,7 +471,7 @@ svgalib.o: svgalib.c cfg.h config.h links.h com-defs.h os_dep.h \
terminal.o: terminal.c links.h cfg.h config.h com-defs.h os_dep.h \
os_depx.h setup.h language.h codepage.h
tiff.o: tiff.c cfg.h config.h links.h com-defs.h os_dep.h os_depx.h \
setup.h language.h codepage.h
setup.h language.h codepage.h bits.h
types.o: types.c links.h cfg.h config.h com-defs.h os_dep.h os_depx.h \
setup.h language.h codepage.h
url.o: url.c links.h cfg.h config.h com-defs.h os_dep.h os_depx.h \

View File

@ -1,5 +1,5 @@
KOI8-R
"koi8-r"
"koi8-r", "878"
0x20 0x0020 # SPACE
0x21 0x0021 # EXCLAMATION MARK

View File

@ -1,5 +1,5 @@
KOI8-RU
"koi8-ru"
"koi8-ru", "1167"
#
# UNIX Belarusian and Ukrainian (koi8-u) to UNICODE translation table
#

View File

@ -1,5 +1,5 @@
KOI8-U
"koi8-u"
"koi8-u", "1168"
#
# UNIX Ukrainian (koi8-u) to UNICODE translation table
#

146
certs.inc

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -3339,7 +3339,7 @@ static_const struct table_entry table_koi8_r [] = {
{ 0, 0 }
};
static_const const_char_ptr aliases_koi8_r [] = {"koi8-r", NULL };
static_const const_char_ptr aliases_koi8_r [] = {"koi8-r", "878", NULL };
static_const struct table_entry table_koi8_u [] = {
{ 0x80, 0x2500 },
@ -3473,7 +3473,7 @@ static_const struct table_entry table_koi8_u [] = {
{ 0, 0 }
};
static_const const_char_ptr aliases_koi8_u [] = {"koi8-u", NULL };
static_const const_char_ptr aliases_koi8_u [] = {"koi8-u", "1168", NULL };
static_const struct table_entry table_koi8_ru [] = {
{ 0x80, 0x2500 },
@ -3607,7 +3607,7 @@ static_const struct table_entry table_koi8_ru [] = {
{ 0, 0 }
};
static_const const_char_ptr aliases_koi8_ru [] = {"koi8-ru", NULL };
static_const const_char_ptr aliases_koi8_ru [] = {"koi8-ru", "1167", NULL };
static_const struct table_entry table_tcvn5712 [] = {
{ 0x80, 0x00C0 },

View File

@ -919,11 +919,11 @@
#define PACKAGE "links"
/* Version number of package */
#define VERSION "2.23"
#define VERSION "2.24"
/* */
#define VERSION "2.23"
#define VERSION "2.24"
/* */
/* #undef HAVE_OPENMP */

1276
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@
AC_INIT(main.c)
AM_INIT_AUTOMAKE(links, 2.23)
AM_INIT_AUTOMAKE(links, 2.24)
ACLOCAL="./missing aclocal"
AUTOCONF="./missing autoconf"
@ -50,8 +50,12 @@ AC_CACHE_CHECK([for EMX], ac_cv_have_emx,
kill me!
#endif ], ac_cv_have_emx=yes, ac_cv_have_emx=no)
)
test "$ac_cv_have_emx" = yes && LDFLAGS="`echo "$LDFLAGS" | sed "s/-Zexe//g" | sed "s/-Zbin-files//g"`"
test "$ac_cv_have_emx" = yes && test "$static_link" = 0 && LDFLAGS="$LDFLAGS -Zcrtdll"
if test "$ac_cv_have_emx" = yes; then
LDFLAGS="`echo "$LDFLAGS" | sed "s/-Zexe//g" | sed "s/-Zbin-files//g"`"
test "$static_link" = 0 && LDFLAGS="$LDFLAGS -Zcrtdll"
ac_cv_type_pid_t=yes
ac_cv_type_size_t=yes
fi
AC_CACHE_CHECK([for OpenWatcom], ac_cv_have_watcom,
AC_TRY_COMPILE(, [#ifndef __WATCOMC__

View File

@ -783,6 +783,7 @@ static void connected(void *c_)
}
c->ssl = getSSL();
if (!c->ssl) {
c->ssl = DUMMY;
ret1 = ret2 = 0;
mem_free(h);
goto ssl_error;

View File

@ -375,8 +375,8 @@ er:
if (name) mem_free(name);
if (value) mem_free(value);
if (secure) mem_free(secure);
if (expires) mem_free(expires);
if (created) mem_free(created);
if (expires) mem_free(expires);
}
mem_free(cookies_file);

View File

@ -295,7 +295,7 @@ static inline void memcpy_to_fb_inline(unsigned char *dest, unsigned char *src,
goto use_memcpy;
l = -(size_t)src & 0xf;
if (l) {
__asm__ volatile ("movntdqa %1, %%xmm0; movdqu %%xmm0, %0" : "=m"(buffer) : "m"(*(src - 0x10 + l)) : "memory");
__asm__ volatile ("movntdqa %1, %%xmm0; movdqu %%xmm0, %0" : "=m"(buffer) : "m"(*(src - 0x10 + l)) : "xmm0", "memory");
memcpy(dest, buffer + 0x10 - l, l < len ? l : len);
if (l >= len)
return;
@ -315,7 +315,7 @@ static inline void memcpy_to_fb_inline(unsigned char *dest, unsigned char *src,
" : "=r"(dest), "=r"(src), "=r"(len) : "0"(dest), "1"(src), "2"(len) : "xmm0", "memory", "cc");
l = len & 0xf;
if (l) {
__asm__ volatile ("movntdqa %1, %%xmm0; movdqu %%xmm0, %0" : "=m"(buffer) : "m"(*src) : "memory");
__asm__ volatile ("movntdqa %1, %%xmm0; movdqu %%xmm0, %0" : "=m"(buffer) : "m"(*src) : "xmm0", "memory");
memcpy(dest, buffer, l);
}
return;
@ -571,7 +571,7 @@ static void memmove_in_fb(unsigned char *dest, unsigned char *src, size_t len)
buffer = new_buffer;
}
memcpy_to_fb(buffer, src, len, 1);
memcpy_to_fb(dest, buffer, len, 1);
memcpy_to_fb(dest, buffer, len, 0);
return;
fallback_to_memmove:

View File

@ -110,7 +110,6 @@ struct table_cell {
#ifdef G
unsigned char bgcolor_str[8];
struct g_object_area *root;
struct g_object_tag *tag_object;
struct rect_set *brd;
int g_width;
struct rect rect;
@ -149,6 +148,8 @@ struct table {
int rh;
int link_num;
struct rgb bgcolor;
struct list_head **row_tags;
int row_tags_n;
#ifdef G
struct background *bg;
struct background *frame_bg;
@ -159,6 +160,8 @@ struct table {
struct table_cell ***r_cells;
int *w_cells;
int nr_cells;
struct g_object_tag **tags;
int tags_n;
#endif
};
@ -200,6 +203,8 @@ static struct table *new_table(void)
t->r_cells = DUMMY;
t->w_cells = DUMMY;
t->nr_cells = 0;
t->tags = DUMMY;
t->tags_n = 0;
#endif
t->x = t->y = 0;
t->rx = INIT_X;
@ -211,6 +216,8 @@ static struct table *new_table(void)
t->xcols = DUMMY;
t->xc = 0;
t->r_heights = DUMMY;
t->row_tags = DUMMY;
t->row_tags_n = 0;
return t;
}
@ -222,7 +229,6 @@ static void free_table(struct table *t)
if (c->tag) mem_free(c->tag);
#ifdef G
if (c->root) c->root->go.destruct(&c->root->go);
if (c->tag_object) c->tag_object->go.destruct(&c->tag_object->go);
if (c->brd) mem_free(c->brd);
#endif
}
@ -235,6 +241,9 @@ static void free_table(struct table *t)
for (i = 0; i < t->nr_cells; i++) mem_free(t->r_cells[i]);
mem_free(t->r_cells), mem_free(t->w_cells);
if (t->frame_bg) g_release_background(t->frame_bg);
for (i = 0; i < t->tags_n; i++)
t->tags[i]->go.destruct(&t->tags[i]->go);
mem_free(t->tags);
}
#endif
if (t->bordercolor) mem_free(t->bordercolor);
@ -245,6 +254,11 @@ static void free_table(struct table *t)
mem_free(t->cols);
mem_free(t->xcols);
mem_free(t->cells);
for (i = 0; i < t->row_tags_n; i++) if (t->row_tags[i]) {
free_list(struct tag, *t->row_tags[i]);
mem_free(t->row_tags[i]);
}
mem_free(t->row_tags);
mem_free(t);
}
@ -388,6 +402,34 @@ unsigned char *skip_element(unsigned char *html, unsigned char *eof, unsigned ch
goto r;
}
static void get_row_tag(struct table *t, int y, unsigned char *t_attr)
{
unsigned char *a;
struct tag *tag;
a = get_attr_val(t_attr, cast_uchar "id");
if (!a)
return;
while (y >= t->row_tags_n) {
int i;
int new_n = t->row_tags_n * 2;
if (!new_n)
new_n = 1;
if ((unsigned)new_n > MAXINT / sizeof(struct list_head *)) overalloc();
t->row_tags = mem_realloc(t->row_tags, new_n * sizeof(struct list_head *));
for (i = t->row_tags_n; i < new_n; i++)
t->row_tags[i] = NULL;
t->row_tags_n = new_n;
}
if (!t->row_tags[y]) {
t->row_tags[y] = mem_alloc(sizeof(struct list_head));
init_list(*t->row_tags[y]);
}
tag = mem_alloc(sizeof(struct tag) + strlen(cast_const_char a));
strcpy(cast_char tag->name, cast_const_char a);
mem_free(a);
add_to_list_end(*t->row_tags[y], tag);
}
struct s_e {
unsigned char *s, *e;
};
@ -427,7 +469,7 @@ static struct table *parse_table(unsigned char *html, unsigned char *eof, unsign
see:
html = en;
if (bad_html && !p && !lbhp) {
if (!(*bhp & (ALLOC_GR-1))) {
if (!(*bhp & (ALLOC_GR - 1))) {
if ((unsigned)*bhp > MAXINT / sizeof(struct s_e) - ALLOC_GR) overalloc();
*bad_html = mem_realloc(*bad_html, (*bhp + ALLOC_GR) * sizeof(struct s_e));
}
@ -464,6 +506,7 @@ static struct table *parse_table(unsigned char *html, unsigned char *eof, unsign
goto scan_done;
}
if (t_namelen == 8 && !casecmp(t_name, cast_uchar "COLGROUP", 8)) {
get_row_tag(t, y + 1, t_attr);
if (c_span) new_columns(t, c_span, c_width, c_al, c_val, 1);
if (lbhp) (*bad_html)[*bhp-1].e = html, lbhp = NULL;
c_al = AL_TR;
@ -486,6 +529,7 @@ static struct table *parse_table(unsigned char *html, unsigned char *eof, unsign
}
if (t_namelen == 3 && !casecmp(t_name, cast_uchar "COL", 3)) {
int sp, wi, al, val;
get_row_tag(t, y + 1, t_attr);
if (lbhp) (*bad_html)[*bhp-1].e = html, lbhp = NULL;
if ((sp = get_num(t_attr, cast_uchar "span")) == -1) sp = 1;
wi = c_width;
@ -504,6 +548,7 @@ static struct table *parse_table(unsigned char *html, unsigned char *eof, unsign
if (lbhp) (*bad_html)[*bhp-1].e = html, lbhp = NULL;
}
if (t_namelen == 2 && !casecmp(t_name, cast_uchar "TR", 2)) {
get_row_tag(t, y + 1, t_attr);
if (c_span) new_columns(t, c_span, c_width, c_al, c_val, 1);
if (p) CELL(t, x, y)->end = html, p = 0;
if (lbhp) (*bad_html)[*bhp-1].e = html, lbhp = NULL;
@ -518,6 +563,7 @@ static struct table *parse_table(unsigned char *html, unsigned char *eof, unsign
goto see;
}
if (t_namelen == 5 && ((!casecmp(t_name, cast_uchar "THEAD", 5)) || (!casecmp(t_name, cast_uchar "TBODY", 5)) || (!casecmp(t_name, cast_uchar "TFOOT", 5)))) {
get_row_tag(t, y + 1, t_attr);
if (c_span) new_columns(t, c_span, c_width, c_al, c_val, 1);
if (lbhp) (*bad_html)[*bhp-1].e = html, lbhp = NULL;
group = 2;
@ -528,7 +574,7 @@ static struct table *parse_table(unsigned char *html, unsigned char *eof, unsign
if (p) CELL(t, x, y)->end = html, p = 0;
if (y == -1) y = 0, x = 0;
nc:
if (!(cell = new_cell(t, x, y))) goto see;
cell = new_cell(t, x, y);
if (cell->used) {
if (cell->colspan == -1) goto see;
x++;
@ -594,7 +640,8 @@ static struct table *parse_table(unsigned char *html, unsigned char *eof, unsign
qqq = t->x;
for (i = 1; csp != -1 ? i < csp : x + i < qqq; i++) {
struct table_cell *sc;
if (!(sc = new_cell(t, x + i, y)) || sc->used) {
sc = new_cell(t, x + i, y);
if (sc->used) {
csp = i;
for (k = 0; k < i; k++) CELL(t, x + k, y)->colspan = csp;
break;
@ -609,7 +656,8 @@ static struct table *parse_table(unsigned char *html, unsigned char *eof, unsign
for (j = 1; rsp != -1 ? j < rsp : y + j < qqq; j++) {
for (k = 0; k < i; k++) {
struct table_cell *sc;
if (!(sc = new_cell(t, x + k, y + j)) || sc->used) {
sc = new_cell(t, x + k, y + j);
if (sc->used) {
int l, m;
if (sc->mx == x && sc->my == y) continue;
/*internal_error("boo");*/
@ -1153,10 +1201,27 @@ static void get_table_heights(struct table *t)
}
} while ((s = ns) != MAXINT);
if (!F) {
t->rh = (!!(t->frame & F_ABOVE) + !!(t->frame & F_BELOW)) * !!t->border;
t->rh = !!(t->frame & F_ABOVE) * !!t->border;
for (j = 0; j < t->y; j++) {
t->rh = safe_add(t->rh, t->r_heights[j]);
if (j && get_hline_width(t, j) >= 0) t->rh = safe_add(t->rh, 1);
if (j < t->row_tags_n && t->row_tags[j]) {
struct tag *tag;
struct list_head *ltag;
foreach(struct tag, tag, ltag, *t->row_tags[j]) {
tag->x = 0;
tag->y = t->rh;
}
}
t->rh = safe_add(t->rh, t->r_heights[j]);
}
t->rh = safe_add(t->rh, !!(t->frame & F_BELOW) * !!t->border);
if (j < t->row_tags_n && t->row_tags[j]) {
struct tag *tag;
struct list_head *ltag;
foreach(struct tag, tag, ltag, *t->row_tags[j]) {
tag->x = 0;
tag->y = t->rh;
}
}
#ifdef G
} else {
@ -1164,6 +1229,14 @@ static void get_table_heights(struct table *t)
for (j = 0; j <= t->y; j++) {
int qw = g_get_hline_pad(t, j, NULL, NULL);
t->rh = safe_add(t->rh, qw);
if (j < t->row_tags_n && t->row_tags[j]) {
struct tag *tag;
struct list_head *ltag;
foreach(struct tag, tag, ltag, *t->row_tags[j]) {
tag->x = 0;
tag->y = t->rh;
}
}
if (j < t->y) t->rh = safe_add(t->rh, t->r_heights[j]);
}
#endif
@ -1175,6 +1248,17 @@ static void display_complicated_table(struct table *t, int x, int y, int *yy)
int i, j;
struct f_data *f = t->p->data;
int yp, xp = safe_add(x, (t->frame & F_LHS) && t->border);
if (f) {
for (j = 0; j <= t->y; j++) {
if (j < t->row_tags_n && t->row_tags[j]) {
struct tag *tag;
struct list_head *ltag;
foreach(struct tag, tag, ltag, *t->row_tags[j]) {
html_tag(f, tag->name, safe_add(x, tag->x), safe_add(y, tag->y));
}
}
}
}
for (i = 0; i < t->x; i++) {
yp = safe_add(y, (t->frame & F_ABOVE) && t->border);
for (j = 0; j < t->y; j++) {
@ -1706,11 +1790,11 @@ static void table_get_list(struct g_object *o_, void (*fn)(struct g_object *pare
int i, j;
for (j = 0; j < t->y; j++) for (i = 0; i < t->x; i++) {
struct table_cell *c = CELL(t, i, j);
if (c->tag_object)
fn(&o->go, &c->tag_object->go);
if (c->root)
fn(&o->go, &c->root->go);
}
for (i = 0; i < t->tags_n; i++)
fn(&o->go, &t->tags[i]->go);
}
void table_bg(struct text_attrib *ta, unsigned char bgstr[8])
@ -1725,6 +1809,26 @@ void table_bg(struct text_attrib *ta, unsigned char bgstr[8])
} else sprintf(cast_char bgstr, "#%02x%02x%02x", G_HTML_TABLE_FRAME_COLOR, G_HTML_TABLE_FRAME_COLOR, G_HTML_TABLE_FRAME_COLOR);
}
static void g_new_tag(struct table *t, unsigned char *name, int x, int y)
{
struct g_object_tag *tag;
size_t sl;
sl = strlen(cast_const_char name);
if (sl > MAXINT - sizeof(struct g_object_tag)) overalloc();
tag = mem_calloc(sizeof(struct g_object_tag) + sl);
tag->go.mouse_event = g_dummy_mouse;
tag->go.draw = g_dummy_draw;
tag->go.destruct = g_tag_destruct;
strcpy(cast_char tag->name, cast_const_char name);
tag->go.x = x;
tag->go.y = y;
if (!(t->tags_n & (ALLOC_GR - 1))) {
if ((unsigned)t->tags_n > MAXINT / sizeof(struct g_object_tag *) - ALLOC_GR) overalloc();
t->tags = mem_realloc(t->tags, (t->tags_n + ALLOC_GR) * sizeof(struct g_object_tag *));
}
t->tags[t->tags_n++] = tag;
}
static void process_g_table(struct g_part *gp, struct table *t)
{
int i, j;
@ -1889,23 +1993,19 @@ static void process_g_table(struct g_part *gp, struct table *t)
gp->cx = -1;
gp->cx_w = 0;
for (j = 0; j < t->y; j++) {
for (i = 0; i < t->x; i++) {
for (j = 0; j <= t->y; j++) {
if (j < t->row_tags_n && t->row_tags[j]) {
struct tag *tag;
struct list_head *ltag;
foreach(struct tag, tag, ltag, *t->row_tags[j]) {
g_new_tag(t, tag->name, safe_add(o->go.xw, tag->x), safe_add(o->go.yw, tag->y));
}
}
if (j < t->y) for (i = 0; i < t->x; i++) {
struct table_cell *c;
c = CELL(t, i, j);
if (c->root && c->tag) {
struct g_object_tag *tag;
size_t sl;
sl = strlen(cast_const_char c->tag);
if (sl > MAXINT - sizeof(struct g_object_tag)) overalloc();
tag = mem_calloc(sizeof(struct g_object_tag) + sl);
tag->go.mouse_event = g_dummy_mouse;
tag->go.draw = g_dummy_draw;
tag->go.destruct = g_tag_destruct;
strcpy(cast_char tag->name, cast_const_char c->tag);
tag->go.x = c->root->go.x;
tag->go.y = c->root->go.y + o->go.yw;
c->tag_object = tag;
g_new_tag(t, c->tag, safe_add(o->go.xw, c->root->go.x), safe_add(o->go.yw, c->root->go.y));
}
}
}

View File

@ -95,10 +95,10 @@ T_NO_HISTORY, "Ge
T_NO_DOWNLOADS, "İndirilen dosya yok",
T_NO_FRAMES, "Çerçeve yok",
T_VT_100_FRAMES, "VT 100 çerçeveleri",
T_LINUX_OR_OS2_FRAMES, "Linux ya da OS/2 çerçeveleri",
T_LINUX_OR_OS2_FRAMES, "Linux veya OS/2 çerçeveleri",
T_KOI8R_FRAMES, "KOI8-R çerçeveleri",
T_FREEBSD_FRAMES, "FreeBSD çerçeveleri",
T_UTF8_FRAMES, NULL,
T_UTF8_FRAMES, "UTF-8 çerçeveleri",
T_USE_11M, "^[[11m kullan",
T_RESTRICT_FRAMES_IN_CP850_852, "Çerçeveleri cp850/852 içinde kısıtla",
T_BLOCK_CURSOR, "Blok imleç",
@ -334,13 +334,13 @@ T_TOO_LARGE_FILE_SEQUENCE, "
T_UNKNOWN_TYPE, "Bilinmeyen tür",
T_CONTENT_TYPE_IS, "Content-Type",
T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Bu dosyayı açmak, kaydetmek veya görüntülemek mi istiyorsunuz?",
T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Bu dosyayý açmak, veya görüntülemek mi istiyorsunuz?",
T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Bu dosyayý kaydetmek, veya görüntülemek mi istiyorsunuz?",
T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Bu dosyayı açmak veya görüntülemek mi istiyorsunuz?",
T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Bu dosyayı kaydetmek veya görüntülemek mi istiyorsunuz?",
T_SAVE, "Kaydet",
T_DISPLAY, "Görüntüle",
T_WHAT_TO_DO, "Ne yapacaksınız?",
T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Dosyayı program ile aç",
T_SAVE_IT_OR_DISPLAY_IT, "kaydet ya da görüntüle",
T_SAVE_IT_OR_DISPLAY_IT, "kaydet veya görüntüle",
T_OPEN, "Aç",
T_OPEN_WITH, "Birlikte aç",
T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Yönlendirmeyi izlemek ve form bilgisini adrese göndermek istiyor musunuz",
@ -445,7 +445,7 @@ T_fOLDER, "klas
T_ADD, "Ekle",
T_DELETE, "Sil",
T_EDIT, "Düzenle",
T_SELECT, NULL,
T_SELECT, "Seç",
T_MOVE, "Taşı",
T_NO_ITEMS_SELECTED, "Hiçbir öge seçili değil. \"*\" düğmesini kullanarak taşınacak ögeleri seçin",
T_UNSELECT_ALL, "Seçimleri kaldır",
@ -603,12 +603,12 @@ T_SCROLL_BAR_AREA_COLOR, "Kayd
T_SCROLL_BAR_FRAME_COLOR, "Kaydırma çubuğu çerçeve rengi",
T_BOOKMARKS_FILE, "Yer imi dosyası",
T_SAVE_URL_HISTORY_ON_EXIT, "Çıkarken URL geçmişini kaydet",
T_COOKIES, NULL,
T_ENABLE_COOKIES, NULL,
T_SAVE_COOKIES, NULL,
T_MAX_COOKIE_AGE, NULL,
T_CLEAR_COOKIES, NULL,
T_COOKIES_WERE_CLEARED, NULL,
T_COOKIES, "Çerezler",
T_ENABLE_COOKIES, "Çerezleri etkinleştir",
T_SAVE_COOKIES, "Çerezleri kaydet",
T_MAX_COOKIE_AGE, "Çerezlerin tutulacağı süre (gün, 0 - sonsuz)",
T_CLEAR_COOKIES, "Çerezleri temizle",
T_COOKIES_WERE_CLEARED, "çerez temizlendi",
T_ENTER_COLORS_AS_RGB_TRIPLETS, "Renkleri sRGB onaltılık RRGGBB üçüzleri olarak gir",
T_JS_MEMORY_LIMIT_KB, "Javascript'e ayrılan bellek (KiB)",
T_SCALE_ALL_IMAGES_BY, "Tüm görselleri ölçekle (%)",
@ -673,7 +673,7 @@ T_HK_FTP_OPTIONS, "F",
T_HK_SMB_OPTIONS, "S",
T_HK_JAVASCRIPT_OPTIONS, "J",
T_HK_MISCELANEOUS_OPTIONS, "S",
T_HK_COOKIES, NULL,
T_HK_COOKIES, "Z",
T_HK_FONTS, "Y",
T_HK_CACHE, "N",
T_HK_MAIL_AND_TELNEL, "P",

View File

@ -21728,10 +21728,10 @@ static_const struct translation translation_turkish [] = {
{ "\335ndirilen dosya yok" },
{ "\307er\347eve yok" },
{ "VT 100 \347er\347eveleri" },
{ "Linux ya da OS/2 \347er\347eveleri" },
{ "Linux veya OS/2 \347er\347eveleri" },
{ "KOI8-R \347er\347eveleri" },
{ "FreeBSD \347er\347eveleri" },
{ NULL },
{ "UTF-8 \347er\347eveleri" },
{ "^[[11m kullan" },
{ "\307er\347eveleri cp850/852 i\347inde k\375s\375tla" },
{ "Blok imle\347" },
@ -21967,13 +21967,13 @@ static_const struct translation translation_turkish [] = {
{ "Bilinmeyen t\374r" },
{ "Content-Type" },
{ "Bu dosyay\375 a\347mak, kaydetmek veya g\366r\374nt\374lemek mi istiyorsunuz?" },
{ "Bu dosyay\375 a\347mak, veya g\366r\374nt\374lemek mi istiyorsunuz?" },
{ "Bu dosyay\375 kaydetmek, veya g\366r\374nt\374lemek mi istiyorsunuz?" },
{ "Bu dosyay\375 a\347mak veya g\366r\374nt\374lemek mi istiyorsunuz?" },
{ "Bu dosyay\375 kaydetmek veya g\366r\374nt\374lemek mi istiyorsunuz?" },
{ "Kaydet" },
{ "G\366r\374nt\374le" },
{ "Ne yapacaks\375n\375z?" },
{ "Dosyay\375 program ile a\347" },
{ "kaydet ya da g\366r\374nt\374le" },
{ "kaydet veya g\366r\374nt\374le" },
{ "A\347" },
{ "Birlikte a\347" },
{ "Y\366nlendirmeyi izlemek ve form bilgisini adrese g\366ndermek istiyor musunuz" },
@ -22078,7 +22078,7 @@ static_const struct translation translation_turkish [] = {
{ "Ekle" },
{ "Sil" },
{ "D\374zenle" },
{ NULL },
{ "Se\347" },
{ "Ta\376\375" },
{ "Hi\347bir \366ge se\347ili de\360il. \"*\" d\374\360mesini kullanarak ta\376\375nacak \366geleri se\347in" },
{ "Se\347imleri kald\375r" },
@ -22236,12 +22236,12 @@ static_const struct translation translation_turkish [] = {
{ "Kayd\375rma \347ubu\360u \347er\347eve rengi" },
{ "Yer imi dosyas\375" },
{ "\307\375karken URL ge\347mi\376ini kaydet" },
{ NULL },
{ NULL },
{ NULL },
{ NULL },
{ NULL },
{ NULL },
{ "\307erezler" },
{ "\307erezleri etkinle\376tir" },
{ "\307erezleri kaydet" },
{ "\307erezlerin tutulaca\360\375 s\374re (g\374n, 0 - sonsuz)" },
{ "\307erezleri temizle" },
{ "\347erez temizlendi" },
{ "Renkleri sRGB onalt\375l\375k RRGGBB \374\347\374zleri olarak gir" },
{ "Javascript'e ayr\375lan bellek (KiB)" },
{ "T\374m g\366rselleri \366l\347ekle (%)" },
@ -22306,7 +22306,7 @@ static_const struct translation translation_turkish [] = {
{ "S" },
{ "J" },
{ "S" },
{ NULL },
{ "Z" },
{ "Y" },
{ "N" },
{ "P" },

View File

@ -88,7 +88,6 @@ File c:\cygwin\bin\cygcroco-0.6-3.dll
File c:\cygwin\bin\cygcrypto-1.1.dll
File c:\cygwin\bin\cygdatrie-1.dll
File c:\cygwin\bin\cygdeflate-0.dll
File c:\cygwin\bin\cygevent-2-0-5.dll
File c:\cygwin\bin\cygexpat-1.dll
File c:\cygwin\bin\cygffi-6.dll
File c:\cygwin\bin\cygfontconfig-1.dll
@ -182,7 +181,6 @@ Delete "$INSTDIR\cygcroco-0.6-3.dll"
Delete "$INSTDIR\cygcrypto-1.1.dll"
Delete "$INSTDIR\cygdatrie-1.dll"
Delete "$INSTDIR\cygdeflate-0.dll"
Delete "$INSTDIR\cygevent-2-0-5.dll"
Delete "$INSTDIR\cygexpat-1.dll"
Delete "$INSTDIR\cygffi-6.dll"
Delete "$INSTDIR\cygfontconfig-1.dll"

View File

@ -1,7 +1,7 @@
<WARPIN>
<HEAD>
<PCK INDEX="1"
PACKAGEID="Mikulas Patocka\Links\Base package\2\23"
PACKAGEID="Mikulas Patocka\Links\Base package\2\24"
TARGET="?:\Links"
SELECT
TITLE="Links"

View File

@ -88,7 +88,6 @@ File c:\cygwin64\bin\cygcroco-0.6-3.dll
File c:\cygwin64\bin\cygcrypto-1.1.dll
File c:\cygwin64\bin\cygdatrie-1.dll
File c:\cygwin64\bin\cygdeflate-0.dll
File c:\cygwin64\bin\cygevent-2-0-5.dll
File c:\cygwin64\bin\cygexpat-1.dll
File c:\cygwin64\bin\cygffi-6.dll
File c:\cygwin64\bin\cygfontconfig-1.dll
@ -182,7 +181,6 @@ Delete "$INSTDIR\cygcroco-0.6-3.dll"
Delete "$INSTDIR\cygcrypto-1.1.dll"
Delete "$INSTDIR\cygdatrie-1.dll"
Delete "$INSTDIR\cygdeflate-0.dll"
Delete "$INSTDIR\cygevent-2-0-5.dll"
Delete "$INSTDIR\cygexpat-1.dll"
Delete "$INSTDIR\cygffi-6.dll"
Delete "$INSTDIR\cygfontconfig-1.dll"

View File

@ -30,7 +30,7 @@ export LDFLAGS
mkdir -p links-text
cd links-text
if [ ! -f config.h -o ! -f Makefile ]; then
../../links-current/configure --enable-utf8 --disable-graphics --without-x --enable-debuglevel=0
../../links-current/configure --enable-utf8 --disable-graphics --without-x --without-libevent --enable-debuglevel=0
fi
make -j12
cp links.exe ..
@ -43,7 +43,7 @@ cd links-graphics
if [ ! -f config.h -o ! -f Makefile ]; then
CPPFLAGS="-DUSE_WIN32_HEAP"
export CPPFLAGS
../../links-current/configure --disable-utf8 --enable-graphics --without-x --enable-debuglevel=0
../../links-current/configure --disable-utf8 --enable-graphics --without-x --without-libevent --enable-debuglevel=0
fi
make -j12 LDFLAGS="-mwindows"
cp links.exe ../links-g.exe

View File

@ -997,8 +997,10 @@ void close_fork_tty(void)
int rs;
#ifndef NO_SIGNAL_HANDLERS
if (signal_pipe[0] != -1) EINTRLOOP(rs, close(signal_pipe[0]));
#ifndef __minix__
if (signal_pipe[1] != -1) EINTRLOOP(rs, close(signal_pipe[1]));
#endif
#endif
#if defined(__linux__) || defined(__LINUX__)
if (cons_control[0] != -1) EINTRLOOP(rs, close(cons_control[0]));
if (cons_control[1] != -1) EINTRLOOP(rs, close(cons_control[1]));

View File

@ -12,6 +12,7 @@ static_const const_char_ptr domain_suffix[] = {
"*.bzz.dapps.earth",
"*.ck",
"*.cloud.metacentrum.cz",
"*.cloudera.site",
"*.cns.joyent.com",
"*.code.run",
"*.compute-1.amazonaws.com",
@ -24,6 +25,7 @@ static_const const_char_ptr domain_suffix[] = {
"*.dev.adobeaemcloud.com",
"*.devcdnaccesso.com",
"*.developer.app",
"*.diher.solutions",
"*.dweb.link",
"*.elb.amazonaws.com",
"*.elb.amazonaws.com.cn",
@ -32,6 +34,7 @@ static_const const_char_ptr domain_suffix[] = {
"*.ex.ortsinfo.at",
"*.firenet.ch",
"*.fk",
"*.frusky.de",
"*.futurecms.at",
"*.gateway.dev",
"*.hosting.myjino.ru",
@ -68,6 +71,7 @@ static_const const_char_ptr domain_suffix[] = {
"*.platformsh.site",
"*.quipelements.com",
"*.r.appspot.com",
"*.rss.my.id",
"*.s5y.io",
"*.sapporo.jp",
"*.sch.uk",
@ -217,6 +221,7 @@ static_const const_char_ptr domain_suffix[] = {
"ad.jp",
"adac",
"adachi.tokyo.jp",
"adimo.co.uk",
"adm.br",
"adobeaemcloud.com",
"adobeaemcloud.net",
@ -241,6 +246,7 @@ static_const const_char_ptr domain_suffix[] = {
"aetna",
"af",
"afamilycompany",
"affinitylottery.org.uk",
"afjord.no",
"afl",
"africa",
@ -443,7 +449,7 @@ static_const const_char_ptr domain_suffix[] = {
"appspacehosted.com",
"appspaceusercontent.com",
"appspot.com",
"aprendemas.cl",
"appudo.net",
"aq",
"aq.it",
"aquarelle",
@ -703,6 +709,7 @@ static_const const_char_ptr domain_suffix[] = {
"barsy.org",
"barsy.pro",
"barsy.pub",
"barsy.ro",
"barsy.shop",
"barsy.site",
"barsy.support",
@ -788,6 +795,7 @@ static_const const_char_ptr domain_suffix[] = {
"bialowieza.pl",
"bialystok.pl",
"bib.br",
"bib.ve",
"bibai.hokkaido.jp",
"bible",
"bible.museum",
@ -814,6 +822,7 @@ static_const const_char_ptr domain_suffix[] = {
"birkenes.no",
"birthplace.museum",
"bitbridge.net",
"bitbucket.io",
"biz",
"biz.at",
"biz.az",
@ -942,6 +951,7 @@ static_const const_char_ptr domain_suffix[] = {
"bloomberg",
"bloxcms.com",
"blue",
"bluebite.io",
"bm",
"bmd.br",
"bmoattachments.org",
@ -1223,6 +1233,7 @@ static_const const_char_ptr domain_suffix[] = {
"cd",
"cd.eu.org",
"cdn-edges.net",
"cdn.prod.atlassian-dev.net",
"cdn77-ssl.net",
"ce.gov.br",
"ce.it",
@ -1344,6 +1355,8 @@ static_const const_char_ptr domain_suffix[] = {
"claims",
"clan.rip",
"cleaning",
"clerk.app",
"clerkstage.app",
"cleverapps.io",
"clic2000.net",
"click",
@ -1368,7 +1381,6 @@ static_const const_char_ptr domain_suffix[] = {
"cloudapps.digital",
"cloudcontrolapp.com",
"cloudcontrolled.com",
"cloudera.site",
"cloudfront.net",
"cloudfunctions.net",
"cloudjiffy.net",
@ -1746,7 +1758,6 @@ static_const const_char_ptr domain_suffix[] = {
"cust.retrosnub.co.uk",
"cust.testing.thingdust.io",
"custom.metacentrum.cz",
"customer.enonic.io",
"customer.mythic-beasts.com",
"customer.speedpartner.de",
"cv",
@ -1807,6 +1818,7 @@ static_const const_char_ptr domain_suffix[] = {
"dd-dns.de",
"ddns.me",
"ddns.net",
"ddns5.com",
"ddnsfree.com",
"ddnsgeek.com",
"ddnsking.com",
@ -1845,6 +1857,7 @@ static_const const_char_ptr domain_suffix[] = {
"deloitte",
"delta",
"demo.datacenter.fi",
"demo.datadetect.com",
"demo.jelastic.com",
"democracia.bo",
"democrat",
@ -1956,6 +1969,7 @@ static_const const_char_ptr domain_suffix[] = {
"dreamhosters.com",
"drive",
"drobak.no",
"drr.ac",
"drud.io",
"drud.us",
"dscloud.biz",
@ -2045,6 +2059,7 @@ static_const const_char_ptr domain_suffix[] = {
"eco",
"eco.br",
"ecologia.bo",
"ecommerce-shop.pl",
"economia.bo",
"ed.ao",
"ed.ci",
@ -2194,6 +2209,8 @@ static_const const_char_ptr domain_suffix[] = {
"edunet.tn",
"ee",
"ee.eu.org",
"eero-stage.online",
"eero.online",
"eg",
"egersund.no",
"egyptian.museum",
@ -2210,7 +2227,12 @@ static_const const_char_ptr domain_suffix[] = {
"elasticbeanstalk.com",
"elblag.pl",
"elburg.museum",
"elementor.cloud",
"elementor.cool",
"elk.pl",
"elluciancrmadvance.com",
"elluciancrmadvise.com",
"elluciancrmrecruit.com",
"elvendrell.museum",
"elverum.no",
"email",
@ -2245,7 +2267,6 @@ static_const const_char_ptr domain_suffix[] = {
"england.museum",
"eniwa.hokkaido.jp",
"enna.it",
"enonic.io",
"ens.tn",
"enscaled.sg",
"ent.platform.sh",
@ -2785,7 +2806,6 @@ static_const const_char_ptr domain_suffix[] = {
"git-pages.rit.edu",
"git-repos.de",
"gitapp.si",
"github.dev",
"github.io",
"githubpreview.dev",
"githubusercontent.com",
@ -3330,6 +3350,9 @@ static_const const_char_ptr domain_suffix[] = {
"hkt",
"hl.cn",
"hl.no",
"hlx.live",
"hlx.page",
"hlx3.page",
"hm",
"hm.no",
"hn",
@ -3369,6 +3392,7 @@ static_const const_char_ptr domain_suffix[] = {
"homesecuritymac.com",
"homesecuritypc.com",
"homesense",
"homesklep.pl",
"homeunix.com",
"homeunix.net",
"homeunix.org",
@ -3416,6 +3440,7 @@ static_const const_char_ptr domain_suffix[] = {
"hs.zone",
"hsbc",
"ht",
"httpbin.org",
"hu",
"hu.com",
"hu.eu.org",
@ -3620,6 +3645,7 @@ static_const const_char_ptr domain_suffix[] = {
"ingatlan.hu",
"ink",
"ino.kochi.jp",
"instance.datadetect.com",
"instantcloud.cn",
"institute",
"insurance",
@ -3787,6 +3813,7 @@ static_const const_char_ptr domain_suffix[] = {
"itano.tokushima.jp",
"itau",
"itayanagi.aomori.jp",
"itcouldbewor.se",
"ito.shizuoka.jp",
"itoigawa.niigata.jp",
"itoman.okinawa.jp",
@ -3894,6 +3921,7 @@ static_const const_char_ptr domain_suffix[] = {
"jorpeland.no",
"joso.ibaraki.jp",
"jot",
"jotelulu.cloud",
"journal.aero",
"journalism.museum",
"journalist.aero",
@ -3911,6 +3939,7 @@ static_const const_char_ptr domain_suffix[] = {
"js.cn",
"js.org",
"js.wpenginepowered.com",
"ju.mp",
"judaica.museum",
"judygarland.museum",
"juedisches.museum",
@ -4159,6 +4188,7 @@ static_const const_char_ptr domain_suffix[] = {
"kibichuo.okayama.jp",
"kicks-ass.net",
"kicks-ass.org",
"kids",
"kids.museum",
"kids.us",
"kiev.ua",
@ -4830,6 +4860,8 @@ static_const const_char_ptr domain_suffix[] = {
"media.hu",
"media.museum",
"media.pl",
"mediatech.by",
"mediatech.dev",
"medical.museum",
"medicina.bo",
"medio-campidano.it",
@ -4996,6 +5028,7 @@ static_const const_char_ptr domain_suffix[] = {
"mini",
"mining.museum",
"miniserver.com",
"minisite.ms",
"minnesota.museum",
"mino.gifu.jp",
"minobu.yamanashi.jp",
@ -5085,6 +5118,7 @@ static_const const_char_ptr domain_suffix[] = {
"mobi.tz",
"mobile",
"mochizuki.nagano.jp",
"mock.pstmn.io",
"mod.gi",
"moda",
"modalen.no",
@ -5177,8 +5211,6 @@ static_const const_char_ptr domain_suffix[] = {
"mukawa.hokkaido.jp",
"muko.kyoto.jp",
"mulhouse.museum",
"multibaas.app",
"multibaas.com",
"munakata.fukuoka.jp",
"muncie.museum",
"muni.il",
@ -5261,6 +5293,25 @@ static_const const_char_ptr domain_suffix[] = {
"mysecuritycamera.org",
"myshopblocks.com",
"myshopify.com",
"myspreadshop.at",
"myspreadshop.be",
"myspreadshop.ca",
"myspreadshop.ch",
"myspreadshop.co.uk",
"myspreadshop.com",
"myspreadshop.com.au",
"myspreadshop.de",
"myspreadshop.dk",
"myspreadshop.es",
"myspreadshop.fi",
"myspreadshop.fr",
"myspreadshop.ie",
"myspreadshop.it",
"myspreadshop.net",
"myspreadshop.nl",
"myspreadshop.no",
"myspreadshop.pl",
"myspreadshop.se",
"mytis.ru",
"mytuleap.com",
"myvnc.com",
@ -5408,7 +5459,6 @@ static_const const_char_ptr domain_suffix[] = {
"nc",
"nc.tr",
"nc.us",
"nctu.me",
"nd.us",
"ne",
"ne.jp",
@ -5687,6 +5737,7 @@ static_const const_char_ptr domain_suffix[] = {
"noda.iwate.jp",
"nodum.co",
"nodum.io",
"nog.community",
"nogata.fukuoka.jp",
"nogi.tochigi.jp",
"noheji.aomori.jp",
@ -5696,47 +5747,21 @@ static_const const_char_ptr domain_suffix[] = {
"noip.us",
"nokia",
"nom.ad",
"nom.ae",
"nom.af",
"nom.ag",
"nom.ai",
"nom.al",
"nom.bz",
"nom.cl",
"nom.co",
"nom.es",
"nom.fr",
"nom.gd",
"nom.ge",
"nom.gl",
"nom.gt",
"nom.hn",
"nom.im",
"nom.ke",
"nom.km",
"nom.li",
"nom.lv",
"nom.mg",
"nom.mk",
"nom.nc",
"nom.ni",
"nom.nu",
"nom.pa",
"nom.pe",
"nom.pl",
"nom.pw",
"nom.qa",
"nom.re",
"nom.ro",
"nom.rs",
"nom.si",
"nom.st",
"nom.tj",
"nom.tm",
"nom.ug",
"nom.uy",
"nom.vc",
"nom.vg",
"nom.ve",
"nom.za",
"nombre.bo",
"nome.pt",
@ -5772,6 +5797,7 @@ static_const const_char_ptr domain_suffix[] = {
"nov.ru",
"nov.su",
"novara.it",
"novecore.site",
"now",
"now-dns.net",
"now-dns.org",
@ -5815,30 +5841,6 @@ static_const const_char_ptr domain_suffix[] = {
"nyc",
"nyc.mn",
"nyc.museum",
"nym.by",
"nym.bz",
"nym.ec",
"nym.gr",
"nym.gy",
"nym.hk",
"nym.ie",
"nym.kz",
"nym.la",
"nym.lc",
"nym.li",
"nym.lt",
"nym.lu",
"nym.me",
"nym.mn",
"nym.mx",
"nym.nz",
"nym.pe",
"nym.pt",
"nym.ro",
"nym.sk",
"nym.su",
"nym.sx",
"nym.tw",
"nyny.museum",
"nysa.pl",
"nyuzen.toyama.jp",
@ -5974,6 +5976,7 @@ static_const const_char_ptr domain_suffix[] = {
"on-web.fr",
"on.ca",
"onagawa.miyagi.jp",
"onavstack.net",
"oncilla.mythic-beasts.com",
"ondigitalocean.app",
"one",
@ -6289,6 +6292,7 @@ static_const const_char_ptr domain_suffix[] = {
"page",
"pagefrontapp.com",
"pages.dev",
"pages.it.hs-heilbronn.de",
"pages.torproject.net",
"pages.wiardweb.com",
"pagespeedmobilizer.com",
@ -6466,6 +6470,7 @@ static_const const_char_ptr domain_suffix[] = {
"portland.museum",
"portlligat.museum",
"post",
"postman-echo.com",
"posts-and-telecommunications.museum",
"potager.org",
"potenza.it",
@ -6545,6 +6550,7 @@ static_const const_char_ptr domain_suffix[] = {
"psi.br",
"psp.gov.pl",
"psse.gov.pl",
"pstmn.io",
"pt",
"pt.eu.org",
"pt.it",
@ -6607,6 +6613,7 @@ static_const const_char_ptr domain_suffix[] = {
"radio.fm",
"radom.pl",
"radoy.no",
"raffleentry.org.uk",
"rag-cloud-ch.hosteur.com",
"rag-cloud.hosteur.com",
"ragusa.it",
@ -6622,6 +6629,7 @@ static_const const_char_ptr domain_suffix[] = {
"randaberg.no",
"rankoshi.hokkaido.jp",
"ranzan.saitama.jp",
"rar.ve",
"ras.ru",
"rauma.no",
"ravendb.community",
@ -6692,6 +6700,10 @@ static_const const_char_ptr domain_suffix[] = {
"res.in",
"research.aero",
"research.museum",
"reservd.com",
"reservd.dev.thingdust.io",
"reservd.disrec.thingdust.io",
"reservd.testing.thingdust.io",
"reserve-online.com",
"reserve-online.net",
"resindevice.io",
@ -6778,6 +6790,7 @@ static_const const_char_ptr domain_suffix[] = {
"rr.gov.br",
"rr.leg.br",
"rs",
"rs.ba",
"rs.gov.br",
"rs.leg.br",
"rsc.cdn77.org",
@ -7088,6 +7101,7 @@ static_const const_char_ptr domain_suffix[] = {
"selfip.org",
"selje.no",
"seljord.no",
"sellfy.store",
"sells-for-less.com",
"sells-for-u.com",
"sells-it.net",
@ -7121,6 +7135,7 @@ static_const const_char_ptr domain_suffix[] = {
"servep2p.com",
"servepics.com",
"servequake.com",
"servers.run",
"servesarcasm.com",
"service.gov.scot",
"service.gov.uk",
@ -7250,6 +7265,7 @@ static_const const_char_ptr domain_suffix[] = {
"shonai.yamagata.jp",
"shoo.okayama.jp",
"shop",
"shop.brendly.rs",
"shop.ht",
"shop.hu",
"shop.pl",
@ -7499,6 +7515,7 @@ static_const const_char_ptr domain_suffix[] = {
"stuttgart.museum",
"style",
"su",
"su.paba.se",
"sucks",
"sue.fukuoka.jp",
"suedtirol.it",
@ -7520,6 +7537,9 @@ static_const const_char_ptr domain_suffix[] = {
"sunagawa.hokkaido.jp",
"sund.no",
"sunndal.no",
"supabase.co",
"supabase.in",
"supabase.net",
"supplies",
"supply",
"support",
@ -7577,6 +7597,7 @@ static_const const_char_ptr domain_suffix[] = {
"taa.it",
"tab",
"tabayama.yamanashi.jp",
"tabitorder.co.il",
"tabuse.yamaguchi.jp",
"tachiarai.fukuoka.jp",
"tachikawa.tokyo.jp",
@ -8009,6 +8030,7 @@ static_const const_char_ptr domain_suffix[] = {
"tube",
"tui",
"tula.su",
"tuleap-partners.com",
"tunes",
"tunk.org",
"tur.ar",
@ -8192,7 +8214,6 @@ static_const const_char_ptr domain_suffix[] = {
"uw.gov.pl",
"uwajima.ehime.jp",
"uwu.ai",
"uwu.nu",
"uy",
"uy.com",
"uz",
@ -8347,6 +8368,7 @@ static_const const_char_ptr domain_suffix[] = {
"voting",
"voto",
"voyage",
"vp4.me",
"vpndns.net",
"vpnplus.to",
"vps-host.net",
@ -8439,6 +8461,7 @@ static_const const_char_ptr domain_suffix[] = {
"wedeploy.io",
"wedeploy.me",
"wedeploy.sh",
"weeklylottery.org.uk",
"wegrow.pl",
"weibo",
"weir",
@ -9071,6 +9094,7 @@ static_const const_char_ptr domain_suffix[] = {
"ye",
"yk.ca",
"yn.cn",
"ynh.fr",
"yodobashi",
"yoga",
"yoichi.hokkaido.jp",

View File

@ -734,7 +734,6 @@ gouv.ci
// cl : https://www.nic.cl
// Confirmed by .CL registry <hsalgado@nic.cl>
cl
aprendemas.cl
co.cl
gob.cl
gov.cl
@ -6715,9 +6714,10 @@ mil.vc
edu.vc
// ve : https://registro.nic.ve/
// Submitted by registry
// Submitted by registry nic@nic.ve and nicve@conatel.gob.ve
ve
arts.ve
bib.ve
co.ve
com.ve
e12.ve
@ -6729,7 +6729,9 @@ info.ve
int.ve
mil.ve
net.ve
nom.ve
org.ve
rar.ve
rec.ve
store.ve
tec.ve
@ -7126,7 +7128,7 @@ org.zw
// newGTLDs
// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2021-05-11T15:13:51Z
// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2021-08-19T15:13:52Z
// This list is auto-generated, don't edit it manually.
// aaa : 2015-02-26 American Automobile Association, Inc.
aaa
@ -7152,7 +7154,7 @@ abc
// able : 2015-06-25 Able Inc.
able
// abogado : 2014-04-24 Minds + Machines Group Limited
// abogado : 2014-04-24 Registry Services, LLC
abogado
// abudhabi : 2015-07-30 Abu Dhabi Systems and Information Centre
@ -7428,7 +7430,7 @@ beats
// beauty : 2015-12-03 XYZ.COM LLC
beauty
// beer : 2014-01-09 Minds + Machines Group Limited
// beer : 2014-01-09 Registry Services, LLC
beer
// bentley : 2014-12-18 Bentley Motors Limited
@ -7545,7 +7547,7 @@ bridgestone
// broadway : 2014-12-22 Celebrate Broadway, Inc.
broadway
// broker : 2014-12-11 Dotbroker Registry Limited
// broker : 2014-12-11 Dog Beach, LLC
broker
// brother : 2015-01-29 Brother Industries, Ltd.
@ -7638,7 +7640,7 @@ careers
// cars : 2014-11-13 XYZ.COM LLC
cars
// casa : 2013-11-21 Minds + Machines Group Limited
// casa : 2013-11-21 Registry Services, LLC
casa
// case : 2015-09-03 CNH Industrial N.V.
@ -7758,7 +7760,7 @@ clothing
// cloud : 2015-04-16 Aruba PEC S.p.A.
cloud
// club : 2013-11-08 .CLUB DOMAINS, LLC
// club : 2013-11-08 Registry Services, LLC
club
// clubmed : 2015-06-25 Club Méditerranée S.A.
@ -7815,7 +7817,7 @@ contact
// contractors : 2013-09-10 Binky Moon, LLC
contractors
// cooking : 2013-11-21 Minds + Machines Group Limited
// cooking : 2013-11-21 Registry Services, LLC
cooking
// cookingchannel : 2015-07-02 Lifestyle Domain Holdings, Inc.
@ -7905,7 +7907,7 @@ day
// dclk : 2014-11-20 Charleston Road Registry Inc.
dclk
// dds : 2015-05-07 Minds + Machines Group Limited
// dds : 2015-05-07 Registry Services, LLC
dds
// deal : 2015-06-25 Amazon Registry Services, Inc.
@ -7944,7 +7946,7 @@ dentist
// desi : 2013-11-14 Desi Networks LLC
desi
// design : 2014-11-07 Top Level Design, LLC
// design : 2014-11-07 Registry Services, LLC
design
// dev : 2014-10-16 Charleston Road Registry Inc.
@ -8133,7 +8135,7 @@ farm
// farmers : 2015-07-09 Farmers Insurance Exchange
farmers
// fashion : 2014-07-03 Minds + Machines Group Limited
// fashion : 2014-07-03 Registry Services, LLC
fashion
// fast : 2014-12-18 Amazon Registry Services, Inc.
@ -8184,10 +8186,10 @@ firmdale
// fish : 2013-12-12 Binky Moon, LLC
fish
// fishing : 2013-11-21 Minds + Machines Group Limited
// fishing : 2013-11-21 Registry Services, LLC
fishing
// fit : 2014-11-07 Minds + Machines Group Limited
// fit : 2014-11-07 Registry Services, LLC
fit
// fitness : 2014-03-06 Binky Moon, LLC
@ -8226,7 +8228,7 @@ football
// ford : 2014-11-13 Ford Motor Company
ford
// forex : 2014-12-11 Dotforex Registry Limited
// forex : 2014-12-11 Dog Beach, LLC
forex
// forsale : 2014-05-22 Dog Beach, LLC
@ -8265,7 +8267,7 @@ ftr
// fujitsu : 2015-07-30 Fujitsu Limited
fujitsu
// fun : 2016-01-14 DotSpace Inc.
// fun : 2016-01-14 Radix FZC
fun
// fund : 2014-03-20 Binky Moon, LLC
@ -8301,7 +8303,7 @@ games
// gap : 2015-07-31 The Gap, Inc.
gap
// garden : 2014-06-26 Minds + Machines Group Limited
// garden : 2014-06-26 Registry Services, LLC
garden
// gay : 2019-05-23 Top Level Design, LLC
@ -8517,13 +8519,13 @@ homesense
// honda : 2014-12-18 Honda Motor Co., Ltd.
honda
// horse : 2013-11-21 Minds + Machines Group Limited
// horse : 2013-11-21 Registry Services, LLC
horse
// hospital : 2016-10-20 Binky Moon, LLC
hospital
// host : 2014-04-17 DotHost Inc.
// host : 2014-04-17 Radix FZC
host
// hosting : 2014-05-29 UNR Corp.
@ -8718,6 +8720,9 @@ kfh
// kia : 2015-07-09 KIA MOTORS CORPORATION
kia
// kids : 2021-08-13 DotKids Foundation Limited
kids
// kim : 2013-09-23 Afilias Limited
kim
@ -8796,7 +8801,7 @@ latino
// latrobe : 2014-06-16 La Trobe University
latrobe
// law : 2015-01-22 LW TLD Limited
// law : 2015-01-22 Registry Services, LLC
law
// lawyer : 2014-03-20 Dog Beach, LLC
@ -8925,7 +8930,7 @@ ltda
// lundbeck : 2015-08-06 H. Lundbeck A/S
lundbeck
// luxe : 2014-01-09 Minds + Machines Group Limited
// luxe : 2014-01-09 Registry Services, LLC
luxe
// luxury : 2013-10-17 Luxury Partners, LLC
@ -8964,7 +8969,7 @@ market
// marketing : 2013-11-07 Binky Moon, LLC
marketing
// markets : 2014-12-11 Dotmarkets Registry Limited
// markets : 2014-12-11 Dog Beach, LLC
markets
// marriott : 2014-10-09 Marriott Worldwide Corporation
@ -9240,7 +9245,7 @@ ong
// onl : 2013-09-16 iRegistry GmbH
onl
// online : 2015-01-15 DotOnline Inc.
// online : 2015-01-15 Radix FZC
online
// ooo : 2014-01-09 INFIBEAM AVENUES LIMITED
@ -9396,7 +9401,7 @@ pramerica
// praxi : 2013-12-05 Praxi S.p.A.
praxi
// press : 2014-04-03 DotPress Inc.
// press : 2014-04-03 Radix FZC
press
// prime : 2015-06-25 Amazon Registry Services, Inc.
@ -9558,7 +9563,7 @@ rocher
// rocks : 2013-11-14 Dog Beach, LLC
rocks
// rodeo : 2013-12-19 Minds + Machines Group Limited
// rodeo : 2013-12-19 Registry Services, LLC
rodeo
// rogers : 2015-08-06 Rogers Communications Canada Inc.
@ -9759,7 +9764,7 @@ sina
// singles : 2013-08-27 Binky Moon, LLC
singles
// site : 2015-01-15 DotSite Inc.
// site : 2015-01-15 Radix FZC
site
// ski : 2015-04-09 Afilias Limited
@ -9819,7 +9824,7 @@ soy
// spa : 2019-09-19 Asia Spa and Wellness Promotion Council Limited
spa
// space : 2014-04-03 DotSpace Inc.
// space : 2014-04-03 Radix FZC
space
// sport : 2017-11-16 Global Association of International Sports Federations (GAISF)
@ -9858,7 +9863,7 @@ stockholm
// storage : 2014-12-22 XYZ.COM LLC
storage
// store : 2015-04-09 DotStore Inc.
// store : 2015-04-09 Radix FZC
store
// stream : 2016-01-08 dot Stream Limited
@ -9885,7 +9890,7 @@ supply
// support : 2013-10-24 Binky Moon, LLC
support
// surf : 2014-01-09 Minds + Machines Group Limited
// surf : 2014-01-09 Registry Services, LLC
surf
// surgery : 2014-03-20 Binky Moon, LLC
@ -9948,7 +9953,7 @@ tdk
// team : 2015-03-05 Binky Moon, LLC
team
// tech : 2015-01-30 Personals TLD Inc.
// tech : 2015-01-30 Radix FZC
tech
// technology : 2013-09-13 Binky Moon, LLC
@ -10041,7 +10046,7 @@ toys
// trade : 2014-01-23 Elite Registry Limited
trade
// trading : 2014-12-11 Dottrading Registry Limited
// trading : 2014-12-11 Dog Beach, LLC
trading
// training : 2013-11-07 Binky Moon, LLC
@ -10092,7 +10097,7 @@ unicom
// university : 2014-03-06 Binky Moon, LLC
university
// uno : 2013-09-11 DotSite Inc.
// uno : 2013-09-11 Radix FZC
uno
// uol : 2014-05-01 UBN INTERNET LTDA.
@ -10143,7 +10148,7 @@ villas
// vin : 2015-06-18 Binky Moon, LLC
vin
// vip : 2015-01-22 Minds + Machines Group Limited
// vip : 2015-01-22 Registry Services, LLC
vip
// virgin : 2014-09-25 Virgin Enterprises Limited
@ -10164,7 +10169,7 @@ vivo
// vlaanderen : 2014-02-06 DNS.be vzw
vlaanderen
// vodka : 2013-12-19 Minds + Machines Group Limited
// vodka : 2013-12-19 Registry Services, LLC
vodka
// volkswagen : 2015-05-14 Volkswagen Group of America Inc.
@ -10221,10 +10226,10 @@ webcam
// weber : 2015-06-04 Saint-Gobain Weber SA
weber
// website : 2014-04-03 DotWebsite Inc.
// website : 2014-04-03 Radix FZC
website
// wedding : 2014-04-24 Minds + Machines Group Limited
// wedding : 2014-04-24 Registry Services, LLC
wedding
// weibo : 2015-03-05 Sina Corporation
@ -10266,7 +10271,7 @@ wolterskluwer
// woodside : 2015-07-09 Woodside Petroleum Limited
woodside
// work : 2013-12-19 Minds + Machines Group Limited
// work : 2013-12-19 Registry Services, LLC
work
// works : 2013-11-14 Binky Moon, LLC
@ -10584,7 +10589,7 @@ xyz
// yachts : 2014-01-09 XYZ.COM LLC
yachts
// yahoo : 2015-04-02 Yahoo! Domain Services Inc.
// yahoo : 2015-04-02 Oath Inc.
yahoo
// yamaxun : 2014-12-18 Amazon Registry Services, Inc.
@ -10596,7 +10601,7 @@ yandex
// yodobashi : 2014-11-20 YODOBASHI CAMERA CO.,LTD.
yodobashi
// yoga : 2014-05-29 Minds + Machines Group Limited
// yoga : 2014-05-29 Registry Services, LLC
yoga
// yokohama : 2013-12-12 GMO Registry, Inc.
@ -10652,10 +10657,13 @@ graphox.us
*.devcdnaccesso.com
// Adobe : https://www.adobe.com/
// Submitted by Ian Boston <boston@adobe.com>
// Submitted by Ian Boston <boston@adobe.com> and Lars Trieloff <trieloff@adobe.com>
adobeaemcloud.com
adobeaemcloud.net
*.dev.adobeaemcloud.com
hlx.live
adobeaemcloud.net
hlx.page
hlx3.page
// Agnat sp. z o.o. : https://domena.pl
// Submitted by Przemyslaw Plewa <it-admin@domena.pl>
@ -10800,6 +10808,10 @@ apigee.io
appspacehosted.com
appspaceusercontent.com
// Appudo UG (haftungsbeschränkt) : https://www.appudo.com
// Submitted by Alexander Hochbaum <admin@appudo.com>
appudo.net
// Aptible : https://www.aptible.com/
// Submitted by Thomas Orozco <thomas@aptible.com>
on-aptible.com
@ -10825,15 +10837,27 @@ sweetpepper.org
// Submitted by Vincent Tseng <vincenttseng@asustor.com>
myasustor.com
// Atlassian : https://atlassian.com
// Submitted by Sam Smyth <devloop@atlassian.com>
cdn.prod.atlassian-dev.net
// AVM : https://avm.de
// Submitted by Andreas Weise <a.weise@avm.de>
myfritz.net
// AVStack Pte. Ltd. : https://avstack.io
// Submitted by Jasper Hugo <jasper@avstack.io>
onavstack.net
// AW AdvisorWebsites.com Software Inc : https://advisorwebsites.com
// Submitted by James Kennedy <domains@advisorwebsites.com>
*.awdev.ca
*.advisor.ws
// AZ.pl sp. z.o.o: https://az.pl
// Submited by Krzysztof Wolski <krzysztof.wolski@home.eu>
ecommerce-shop.pl
// b-data GmbH : https://www.b-data.io
// Submitted by Olivier Benz <olivier.benz@b-data.ch>
b-data.io
@ -10846,6 +10870,11 @@ backplaneapp.io
// Submitted by Petros Angelatos <petrosagg@balena.io>
balena-devices.com
// University of Banja Luka : https://unibl.org
// Domains for Republic of Srpska administrative entity.
// Submitted by Marko Ivanovic <kormang@hotmail.rs>
rs.ba
// Banzai Cloud
// Submitted by Janos Matyas <info@banzaicloud.com>
*.banzai.cloud
@ -10861,6 +10890,10 @@ betainabox.com
// Submitted by Nathan O'Sullivan <nathan@mammoth.com.au>
bnr.la
// Bitbucket : http://bitbucket.org
// Submitted by Andy Ortlieb <aortlieb@atlassian.com>
bitbucket.io
// Blackbaud, Inc. : https://www.blackbaud.com
// Submitted by Paul Crowder <paul.crowder@blackbaud.com>
blackbaudcdn.net
@ -10869,6 +10902,10 @@ blackbaudcdn.net
// Submitted by Luke Bratch <luke@bratch.co.uk>
of.je
// Blue Bite, LLC : https://bluebite.com
// Submitted by Joshua Weiss <admin.engineering@bluebite.com>
bluebite.io
// Boomla : https://boomla.com
// Submitted by Tibor Halter <thalter@boomla.com>
boomla.net
@ -10890,6 +10927,10 @@ square7.de
bplaced.net
square7.net
// Brendly : https://brendly.rs
// Submitted by Dusan Radovanovic <dusan.radovanovic@brendly.rs>
shop.brendly.rs
// BrowserSafetyMark
// Submitted by Dave Tharp <browsersafetymark.io@quicinc.com>
browsersafetymark.io
@ -10910,9 +10951,11 @@ mycd.eu
// Carrd : https://carrd.co
// Submitted by AJ <aj@carrd.co>
drr.ac
uwu.ai
carrd.co
crd.co
uwu.ai
ju.mp
// CentralNic : http://www.centralnic.com/names/domains
// Submitted by registry <gavin.brown@centralnic.com>
@ -11004,6 +11047,8 @@ cleverapps.io
// Clerk : https://www.clerk.dev
// Submitted by Colin Sidoti <systems@clerk.dev>
clerk.app
clerkstage.app
*.lcl.dev
*.lclstage.dev
*.stg.dev
@ -11037,8 +11082,8 @@ cloudcontrolled.com
cloudcontrolapp.com
// Cloudera, Inc. : https://www.cloudera.com/
// Submitted by Philip Langdale <security@cloudera.com>
cloudera.site
// Submitted by Kedarnath Waikar <security@cloudera.com>
*.cloudera.site
// Cloudflare, Inc. : https://www.cloudflare.com/
// Submitted by Cloudflare Team <publicsuffixlist@cloudflare.com>
@ -11133,11 +11178,6 @@ cupcake.is
// Submitted by Marvin Wiesner <Marvin@curv-labs.de>
curv.dev
// Curvegrid Inc. : https://www.curvegrid.com/
// Submitted by Pierre Rousset <security@curvegrid.com>
multibaas.app
multibaas.com
// Customer OCI - Oracle Dyn https://cloud.oracle.com/home https://dyn.com/dns/
// Submitted by Gregory Drake <support@dyn.com>
// Note: This is intended to also include customer-oci.com due to wildcards implicitly including the current label
@ -11192,10 +11232,19 @@ dyndns.dappnode.io
// Submitted by Paul Biggar <ops@darklang.com>
builtwithdark.com
// DataDetect, LLC. : https://datadetect.com
// Submitted by Andrew Banchich <abanchich@sceven.com>
demo.datadetect.com
instance.datadetect.com
// Datawire, Inc : https://www.datawire.io
// Submitted by Richard Li <secalert@datawire.io>
edgestack.me
// DDNS5 : https://ddns5.com
// Submitted by Cameron Elliott <cameron@cameronelliott.com>
ddns5.com
// Debian : https://www.debian.org/
// Submitted by Peter Palfrader / Debian Sysadmin Team <dsa-publicsuffixlist@debian.org>
debian.net
@ -11209,6 +11258,11 @@ deno-staging.dev
// Submitted by Peter Thomassen <peter@desec.io>
dedyn.io
// Diher Solutions : https://diher.solutions
// Submitted by Didi Hermawan <mail@diher.solutions>
*.rss.my.id
*.diher.solutions
// DNS Africa Ltd https://dns.business
// Submitted by Calvin Browne <calvin@dns.business>
jozi.biz
@ -11589,10 +11643,26 @@ blogsite.xyz
// Submitted by Dominik Menke <dom@digineo.de>
dynv6.net
// Ellucian : https://ellucian.com
// Submitted by Josue Colon <CloudOps-Network@ellucian.com>
elluciancrmadvance.com
elluciancrmadvise.com
elluciancrmrecruit.com
// E4YOU spol. s.r.o. : https://e4you.cz/
// Submitted by Vladimir Dudr <info@e4you.cz>
e4.cz
// eero : https://eero.com/
// Submitted by Yue Kang <eero-dynamic-dns@amazon.com>
eero.online
eero-stage.online
// Elementor : Elementor Ltd.
// Submitted by Anton Barkan <antonb@elementor.com>
elementor.cloud
elementor.cool
// En root‽ : https://en-root.org
// Submitted by Emmanuel Raviart <emmanuel@raviart.com>
en-root.fr
@ -11600,6 +11670,7 @@ en-root.fr
// Enalean SAS: https://www.enalean.com
// Submitted by Thomas Cottier <thomas.cottier@enalean.com>
mytuleap.com
tuleap-partners.com
// ECG Robotics, Inc: https://ecgrobotics.org
// Submitted by <frc1533@ecgrobotics.org>
@ -11610,11 +11681,6 @@ staging.onred.one
// Submitted by Jacob Bunk Nielsen <jbn@one.com>
service.one
// Enonic : http://enonic.com/
// Submitted by Erik Kaareng-Sunde <esu@enonic.com>
enonic.io
customer.enonic.io
// EU.org https://eu.org/
// Submitted by Pierre Beyssac <hostmaster@eu.org>
eu.org
@ -11874,6 +11940,10 @@ id.forgerock.io
framer.app
framercanvas.com
// Frusky MEDIA&PR : https://www.frusky.de
// Submitted by Victor Pupynin <hallo@frusky.de>
*.frusky.de
// RavPage : https://www.ravpage.co.il
// Submitted by Roni Horowitz <roni@responder.co.il>
ravpage.co.il
@ -11941,7 +12011,6 @@ gsj.bz
// GitHub, Inc.
// Submitted by Patrick Toomey <security@github.com>
githubusercontent.com
github.dev
githubpreview.dev
github.io
@ -11958,6 +12027,10 @@ gitpage.si
// Submitted by Mads Hartmann <mads@glitch.com>
glitch.me
// Global NOG Alliance : https://nogalliance.org/
// Submitted by Sander Steffann <sander@nogalliance.org>
nog.community
// Globe Hosting SRL : https://www.globehosting.com/
// Submitted by Gavin Brown <gavin.brown@centralnic.com>
co.ro
@ -12116,6 +12189,10 @@ hashbang.sh
hasura.app
hasura-app.io
// Heilbronn University of Applied Sciences - Faculty Informatics (GitLab Pages): https://www.hs-heilbronn.de
// Submitted by Richard Zowalla <mi-admin@hs-heilbronn.de>
pages.it.hs-heilbronn.de
// Hepforge : https://www.hepforge.org
// Submitted by David Grellscheid <admin@hepforge.org>
hepforge.org
@ -12133,6 +12210,10 @@ ravendb.me
development.run
ravendb.run
// home.pl S.A.: https://home.pl
// Submited by Krzysztof Wolski <krzysztof.wolski@home.eu>
homesklep.pl
// Hong Kong Productivity Council: https://www.hkpc.org/
// Submitted by SECaaS Team <summchan@hkpc.org>
secaas.hk
@ -12351,6 +12432,10 @@ myjino.ru
*.spectrum.myjino.ru
*.vps.myjino.ru
// Jotelulu S.L. : https://jotelulu.com
// Submitted by Daniel Fariña <ingenieria@jotelulu.com>
jotelulu.cloud
// Joyent : https://www.joyent.com/
// Submitted by Brian Bennett <brian.bennett@joyent.com>
*.triton.zone
@ -12453,6 +12538,10 @@ loginline.io
loginline.services
loginline.site
// Lokalized : https://lokalized.nl
// Submitted by Noah Taheij <noah@lokalized.nl>
servers.run
// Lõhmus Family, The
// Submitted by Heiki Lõhmus <hostmaster at lohmus dot me>
lohmus.me
@ -12493,6 +12582,7 @@ barsy.online
barsy.org
barsy.pro
barsy.pub
barsy.ro
barsy.shop
barsy.site
barsy.support
@ -12530,6 +12620,11 @@ mcdir.ru
mcpre.ru
vps.mcdir.ru
// Mediatech : https://mediatech.by
// Submitted by Evgeniy Kozhuhovskiy <ugenk@mediatech.by>
mediatech.by
mediatech.dev
// Medicom Health : https://medicomhealth.com
// Submitted by Michael Olson <molson@medicomhealth.com>
hra.health
@ -12635,10 +12730,6 @@ that.win
from.work
to.work
// NCTU.ME : https://nctu.me/
// Submitted by Tocknicsu <admin@nctu.me>
nctu.me
// Netlify : https://www.netlify.com
// Submitted by Jessica Parsons <jessica@netlify.com>
netlify.app
@ -12811,60 +12902,6 @@ pcloud.host
// Submitted by Matthew Brown <mattbrown@nyc.mn>
nyc.mn
// NymNom : https://nymnom.com/
// Submitted by NymNom <psl@nymnom.com>
nom.ae
nom.af
nom.ai
nom.al
nym.by
nom.bz
nym.bz
nom.cl
nym.ec
nom.gd
nom.ge
nom.gl
nym.gr
nom.gt
nym.gy
nym.hk
nom.hn
nym.ie
nom.im
nom.ke
nym.kz
nym.la
nym.lc
nom.li
nym.li
nym.lt
nym.lu
nom.lv
nym.me
nom.mk
nym.mn
nym.mx
nom.nu
nym.nz
nym.pe
nym.pt
nom.pw
nom.qa
nym.ro
nom.rs
nom.si
nym.sk
nom.st
nym.su
nym.sx
nom.tj
nym.tw
nom.ug
nom.uy
nom.vc
nom.vg
// Observable, Inc. : https://observablehq.com
// Submitted by Mike Bostock <dns@observablehq.com>
static.observableusercontent.com
@ -13018,6 +13055,13 @@ dyn53.io
// Submitted by Zulfais <pc@co.bn>
co.bn
// Postman, Inc : https://postman.com
// Submitted by Rahul Dhawan <security@postman.com>
postman-echo.com
pstmn.io
mock.pstmn.io
httpbin.org
// prgmr.com : https://prgmr.com/
// Submitted by Sarah Newman <owner@prgmr.com>
xen.prgmr.com
@ -13148,6 +13192,14 @@ hzc.io
wellbeingzone.eu
wellbeingzone.co.uk
// Rico Developments Limited : https://adimo.co
// Submitted by Colin Brown <hello@adimo.co>
adimo.co.uk
// Riseup Networks : https://riseup.net
// Submitted by Micah Anderson <micah@riseup.net>
itcouldbewor.se
// Rochester Institute of Technology : http://www.rit.edu/
// Submitted by Jennifer Herting <jchits@rit.edu>
git-pages.rit.edu
@ -13204,10 +13256,18 @@ spdns.org
// Submitted by Artem Kondratev <accounts@seidat.com>
seidat.net
// Sellfy : https://sellfy.com
// Submitted by Yuriy Romadin <contact@sellfy.com>
sellfy.store
// Senseering GmbH : https://www.senseering.de
// Submitted by Felix Mönckemeyer <f.moenckemeyer@senseering.de>
senseering.net
// Sendmsg: https://www.sendmsg.co.il
// Submitted by Assaf Stern <domains@comstar.co.il>
minisite.ms
// Service Magnet : https://myservicemagnet.com
// Submitted by Dave Sanders <dave@myservicemagnet.com>
magnet.page
@ -13269,6 +13329,10 @@ beta.bounty-full.com
// Submitted by Aral Balkan <aral@small-tech.org>
small-web.org
// Smoove.io : https://www.smoove.io/
// Submitted by Dan Kozak <dan@smoove.io>
vp4.me
// Snowplow Analytics : https://snowplowanalytics.com/
// Submitted by Ian Streeter <ian@snowplowanalytics.com>
try-snowplow.com
@ -13281,6 +13345,10 @@ srht.site
// Submitted by Adrien Gillon <adrien+public-suffix-list@stackhero.io>
stackhero-network.com
// Staclar : https://staclar.com
// Submitted by Matthias Merkel <matthias.merkel@staclar.com>
novecore.site
// staticland : https://static.land
// Submitted by Seth Vincent <sethvincent@gmail.com>
static.land
@ -13315,6 +13383,28 @@ spacekit.io
// Submitted by Stefan Neufeind <info@speedpartner.de>
customer.speedpartner.de
// Spreadshop (sprd.net AG) : https://www.spreadshop.com/
// Submitted by Martin Breest <security@spreadshop.com>
myspreadshop.at
myspreadshop.com.au
myspreadshop.be
myspreadshop.ca
myspreadshop.ch
myspreadshop.com
myspreadshop.de
myspreadshop.dk
myspreadshop.es
myspreadshop.fi
myspreadshop.fr
myspreadshop.ie
myspreadshop.it
myspreadshop.net
myspreadshop.nl
myspreadshop.no
myspreadshop.pl
myspreadshop.se
myspreadshop.co.uk
// Standard Library : https://stdlib.com
// Submitted by Jacob Lee <jacob@stdlib.com>
api.stdlib.com
@ -13336,6 +13426,13 @@ user.srcf.net
// Submitted by Dan Miller <dm@sub6.com>
temp-dns.com
// Supabase : https://supabase.io
// Submitted by Inian Parameshwaran <security@supabase.io>
supabase.co
supabase.in
supabase.net
su.paba.se
// Symfony, SAS : https://symfony.com/
// Submitted by Fabien Potencier <fabien@symfony.com>
*.s5y.io
@ -13363,6 +13460,10 @@ synology.me
vpnplus.to
direct.quickconnect.to
// Tabit Technologies Ltd. : https://tabit.cloud/
// Submitted by Oren Agiv <oren@tabit.cloud>
tabitorder.co.il
// TAIFUN Software AG : http://taifun-software.de
// Submitted by Bjoern Henke <dev-server@taifun-software.de>
taifun-dns.de
@ -13390,13 +13491,17 @@ gwiddle.co.uk
// Thingdust AG : https://thingdust.com/
// Submitted by Adrian Imboden <adi@thingdust.com>
*.firenet.ch
*.svc.firenet.ch
reservd.com
thingdustdata.com
cust.dev.thingdust.io
cust.disrec.thingdust.io
cust.prod.thingdust.io
cust.testing.thingdust.io
*.firenet.ch
*.svc.firenet.ch
reservd.dev.thingdust.io
reservd.disrec.thingdust.io
reservd.testing.thingdust.io
// Tlon.io : https://tlon.io
// Submitted by Mark Staarink <mark@tlon.io>
@ -13545,7 +13650,6 @@ at.md
de.md
jp.md
to.md
uwu.nu
indie.porn
vxl.sh
ch.tc
@ -13619,6 +13723,12 @@ diskussionsbereich.de
community-pro.net
meinforum.net
// Woods Valldata : https://www.woodsvalldata.co.uk/
// Submitted by Chris Whittle <chris.whittle@woodsvalldata.co.uk>
affinitylottery.org.uk
raffleentry.org.uk
weeklylottery.org.uk
// WP Engine : https://wpengine.com/
// Submitted by Michael Smith <michael.smith@wpengine.com>
// Submitted by Brandon DuRette <brandon.durette@wpengine.com>
@ -13672,6 +13782,7 @@ ybo.trade
// Yunohost : https://yunohost.org
// Submitted by Valentin Grimaud <security@yunohost.org>
ynh.fr
nohost.me
noho.st

26
x.c
View File

@ -164,6 +164,8 @@ typedef XColor *XColor_p;
#define X_MAX_CLIPBOARD_SIZE (15*1024*1024)
#define SELECTION_NOTIFY_TIMEOUT 10000
static int x_default_window_width;
static int x_default_window_height;
@ -273,9 +275,9 @@ static inline struct window_info *get_window_info(struct graphics_device *dev)
* provede. Takze jakmile se vrati rizeni do select smycky, tak se provede flush.
*/
static void x_wait_for_event(void)
static int x_wait_for_event(int sec)
{
can_read_timeout(x_fd, -1);
return can_read_timeout(x_fd, sec);
}
static void x_process_events(void *data);
@ -2819,6 +2821,7 @@ static void selection_request(XEvent *event)
MESSAGE(txt);
}
#endif
x_prepare_for_failure(X_ChangeProperty);
if (req->target == XA_STRING) {
unsigned char *str, *p;
if (!x_my_clipboard) str = stracpy(cast_uchar "");
@ -2876,27 +2879,40 @@ static void selection_request(XEvent *event)
#endif
sel.property = None;
}
if (x_test_for_failure())
return;
x_prepare_for_failure(X_SendEvent);
XSendEvent(x_display, sel.requestor, 0, 0, (XEvent_p)&sel);
XFlush(x_display);
X_SCHEDULE_PROCESS_EVENTS();
x_test_for_failure();
}
static unsigned char *x_get_clipboard_text(void)
{
XEvent event;
Atom type_atom = x_utf8_string_atom;
uttime t;
retry:
XConvertSelection(x_display, XA_PRIMARY, type_atom, x_sel_atom, fake_window, CurrentTime);
t = get_time();
while (1) {
uttime tt;
int w;
XSync(x_display, False);
if (XCheckTypedEvent(x_display,SelectionRequest, &event)) {
selection_request(&event);
continue;
}
if (XCheckTypedEvent(x_display,SelectionNotify, &event)) break;
x_wait_for_event();
tt = get_time() - t;
if (tt > SELECTION_NOTIFY_TIMEOUT)
w = 0;
else
w = (SELECTION_NOTIFY_TIMEOUT - tt + 999) / 1000;
if (!x_wait_for_event(w))
goto no_new_sel;
}
if (event.xselection.property) {
unsigned_char_p buffer;