Added support for autoconf
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@57 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -6,21 +6,27 @@ VPATH = @srcdir@
|
|||||||
SHELL = /bin/sh
|
SHELL = /bin/sh
|
||||||
|
|
||||||
CC = @CC@
|
CC = @CC@
|
||||||
AR = ar
|
|
||||||
RANLIB = @RANLIB@
|
RANLIB = @RANLIB@
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
|
|
||||||
prefix = /usr/local
|
INSTALL = @INSTALL@
|
||||||
|
prefix = @prefix@
|
||||||
exec_prefix = $(prefix)
|
exec_prefix = $(prefix)
|
||||||
libdir = $(exec_prefix)/lib
|
libdir = $(exec_prefix)/lib
|
||||||
|
|
||||||
all:
|
SUBDIRS=libtelnet telnet telnetd
|
||||||
cd libtelnet; make CC="${CC}"
|
|
||||||
cd telnet; make CC="${CC}"
|
all:
|
||||||
cd telnetd; make CC="${CC}"
|
for i in $(SUBDIRS); \
|
||||||
|
do (cd $$i; $(MAKE) $(MFLAGS) all); done
|
||||||
|
|
||||||
|
.PHONY: configure
|
||||||
|
|
||||||
|
configure:
|
||||||
|
$(srcdir)/configure
|
||||||
|
|
||||||
|
clean cleandir:
|
||||||
|
for i in $(SUBDIRS); \
|
||||||
|
do (cd $$i; $(MAKE) $(MFLAGS) clean); done
|
||||||
|
|
||||||
.DEFAULT:
|
|
||||||
cd libtelnet; make $@ WHAT=${WHAT} CC="${CC}"
|
|
||||||
cd telnet; make $@ WHAT=${WHAT} CC="${CC}"
|
|
||||||
cd telnetd; make $@ WHAT=${WHAT} CC="${CC}"
|
|
||||||
|
@@ -9,22 +9,32 @@ CC = @CC@
|
|||||||
AR = ar
|
AR = ar
|
||||||
RANLIB = @RANLIB@
|
RANLIB = @RANLIB@
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@ -I/usr/athena/include -I.. -I$(VPATH)/..
|
||||||
|
|
||||||
prefix = /usr/local
|
prefix = @prefix@
|
||||||
exec_prefix = $(prefix)
|
exec_prefix = $(prefix)
|
||||||
libdir = $(exec_prefix)/lib
|
libdir = $(exec_prefix)/lib
|
||||||
|
|
||||||
#
|
LIBOBJS=@LIBOBJS@
|
||||||
# Everything happens in ../Makefile.config and Makefile.generic
|
|
||||||
#
|
|
||||||
SHELL=/bin/sh
|
|
||||||
|
|
||||||
all:
|
SOURCES=auth.c encrypt.c genget.c \
|
||||||
$(MAKE) -f $(VPATH)/../Config.local WHAT=${WHAT} CC="${CC}" VPATH=${VPATH} MAKE="${MAKE}"; \
|
misc.c kerberos.c kerberos5.c forward.c spx.c enc_des.c \
|
||||||
|
rsaencpwd.c krb4encpwd.c read_password.c \
|
||||||
|
setenv.c getent.c strdup.c strcasecmp.c \
|
||||||
|
strchr.c strrchr.c strftime.c strerror.c
|
||||||
|
|
||||||
.DEFAULT:
|
|
||||||
$(MAKE) -f $(VPATH)/../Config.local WHAT=${WHAT} CC="${CC}" VPATH=${VPATH} $@ MAKE="${MAKE}"; \
|
OBJECTS=auth.o encrypt.o genget.o \
|
||||||
|
misc.o kerberos.o kerberos5.o forward.o spx.o enc_des.o \
|
||||||
|
rsaencpwd.o krb4encpwd.o read_password.o \
|
||||||
|
$(LIBOBJS)
|
||||||
|
|
||||||
|
all: libtelnet.a
|
||||||
|
|
||||||
|
|
||||||
|
libtelnet.a: $(OBJECTS)
|
||||||
|
$(AR) cr libtelnet.a $(OBJECTS)
|
||||||
|
$(RANLIB) libtelnet.a
|
||||||
|
|
||||||
clean cleandir:
|
clean cleandir:
|
||||||
rm -f *.o *.a telnet telnetd core
|
rm -f *.o *.a \#* *~ core
|
||||||
|
@@ -55,6 +55,7 @@ static char sccsid[] = "@(#)auth.c 8.3 (Berkeley) 5/30/95";
|
|||||||
* or implied warranty.
|
* or implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#if defined(AUTHENTICATION)
|
#if defined(AUTHENTICATION)
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@@ -39,6 +39,8 @@ static char sccsid[] = "@(#)enc_des.c 8.3 (Berkeley) 5/30/95";
|
|||||||
static char orig_sccsid[] = "@(#)enc_des.c 5.1 (Berkeley) 3/22/91";
|
static char orig_sccsid[] = "@(#)enc_des.c 5.1 (Berkeley) 3/22/91";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#if defined(AUTHENTICATION) && defined(ENCRYPTION) && defined(DES_ENCRYPTION)
|
#if defined(AUTHENTICATION) && defined(ENCRYPTION) && defined(DES_ENCRYPTION)
|
||||||
#include <arpa/telnet.h>
|
#include <arpa/telnet.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -114,10 +116,10 @@ struct keyidlist {
|
|||||||
|
|
||||||
void fb64_stream_iv P((Block, struct stinfo *));
|
void fb64_stream_iv P((Block, struct stinfo *));
|
||||||
void fb64_init P((struct fb *));
|
void fb64_init P((struct fb *));
|
||||||
int fb64_start P((struct fb *, int, int));
|
static int fb64_start P((struct fb *, int, int));
|
||||||
int fb64_is P((unsigned char *, int, struct fb *));
|
int fb64_is P((unsigned char *, int, struct fb *));
|
||||||
int fb64_reply P((unsigned char *, int, struct fb *));
|
int fb64_reply P((unsigned char *, int, struct fb *));
|
||||||
void fb64_session P((Session_Key *, int, struct fb *));
|
static void fb64_session P((Session_Key *, int, struct fb *));
|
||||||
void fb64_stream_key P((Block, struct stinfo *));
|
void fb64_stream_key P((Block, struct stinfo *));
|
||||||
int fb64_keyid P((int, unsigned char *, int *, struct fb *));
|
int fb64_keyid P((int, unsigned char *, int *, struct fb *));
|
||||||
|
|
||||||
|
@@ -60,6 +60,8 @@ static char orig_sccsid[] = "@(#)encrypt.c 5.2 (Berkeley) 3/22/91";
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#if defined(ENCRYPTION)
|
#if defined(ENCRYPTION)
|
||||||
|
|
||||||
#define ENCRYPT_NAMES
|
#define ENCRYPT_NAMES
|
||||||
|
@@ -55,6 +55,8 @@ static char sccsid[] = "@(#)kerberos.c 8.3 (Berkeley) 5/30/95";
|
|||||||
* or implied warranty.
|
* or implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#ifdef KRB4
|
#ifdef KRB4
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <arpa/telnet.h>
|
#include <arpa/telnet.h>
|
||||||
|
@@ -69,6 +69,7 @@ static char sccsid[] = "@(#)kerberos5.c 8.3 (Berkeley) 5/30/95";
|
|||||||
* or implied warranty.
|
* or implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#ifdef KRB5
|
#ifdef KRB5
|
||||||
#include <arpa/telnet.h>
|
#include <arpa/telnet.h>
|
||||||
|
@@ -35,6 +35,7 @@
|
|||||||
static char sccsid[] = "@(#)krb4encpwd.c 8.3 (Berkeley) 5/30/95";
|
static char sccsid[] = "@(#)krb4encpwd.c 8.3 (Berkeley) 5/30/95";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#ifdef KRB4_ENCPWD
|
#ifdef KRB4_ENCPWD
|
||||||
/*
|
/*
|
||||||
|
@@ -35,6 +35,8 @@
|
|||||||
static char sccsid[] = "@(#)misc.c 8.1 (Berkeley) 6/4/93";
|
static char sccsid[] = "@(#)misc.c 8.1 (Berkeley) 6/4/93";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
||||||
char *RemoteHostName;
|
char *RemoteHostName;
|
||||||
|
@@ -50,6 +50,8 @@ static char sccsid[] = "@(#)read_password.c 8.3 (Berkeley) 5/30/95";
|
|||||||
* echoing.
|
* echoing.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#if defined(RSA_ENCPWD) || defined(KRB4_ENCPWD)
|
#if defined(RSA_ENCPWD) || defined(KRB4_ENCPWD)
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@@ -35,6 +35,7 @@
|
|||||||
static char sccsid[] = "@(#)rsaencpwd.c 8.3 (Berkeley) 5/30/95";
|
static char sccsid[] = "@(#)rsaencpwd.c 8.3 (Berkeley) 5/30/95";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#ifdef RSA_ENCPWD
|
#ifdef RSA_ENCPWD
|
||||||
/*
|
/*
|
||||||
|
@@ -35,6 +35,8 @@
|
|||||||
static char sccsid[] = "@(#)spx.c 8.2 (Berkeley) 5/30/95";
|
static char sccsid[] = "@(#)spx.c 8.2 (Berkeley) 5/30/95";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#ifdef SPX
|
#ifdef SPX
|
||||||
/*
|
/*
|
||||||
* COPYRIGHT (C) 1990 DIGITAL EQUIPMENT CORPORATION
|
* COPYRIGHT (C) 1990 DIGITAL EQUIPMENT CORPORATION
|
||||||
|
@@ -35,6 +35,8 @@
|
|||||||
static char sccsid[] = "@(#)authenc.c 8.1 (Berkeley) 6/6/93";
|
static char sccsid[] = "@(#)authenc.c 8.1 (Berkeley) 6/6/93";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#if defined(AUTHENTICATION) || defined(ENCRYPTION)
|
#if defined(AUTHENTICATION) || defined(ENCRYPTION)
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <arpa/telnet.h>
|
#include <arpa/telnet.h>
|
||||||
|
@@ -35,6 +35,8 @@
|
|||||||
static char sccsid[] = "@(#)commands.c 8.4 (Berkeley) 5/30/95";
|
static char sccsid[] = "@(#)commands.c 8.4 (Berkeley) 5/30/95";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#if defined(unix)
|
#if defined(unix)
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#if defined(CRAY) || defined(sysV88)
|
#if defined(CRAY) || defined(sysV88)
|
||||||
@@ -56,6 +58,7 @@ static char sccsid[] = "@(#)commands.c 8.4 (Berkeley) 5/30/95";
|
|||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
#include <varargs.h>
|
#include <varargs.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include <arpa/telnet.h>
|
#include <arpa/telnet.h>
|
||||||
|
|
||||||
@@ -2009,7 +2012,8 @@ extern int
|
|||||||
EncryptStop P((char *)),
|
EncryptStop P((char *)),
|
||||||
EncryptStopInput P((void)),
|
EncryptStopInput P((void)),
|
||||||
EncryptStopOutput P((void)),
|
EncryptStopOutput P((void)),
|
||||||
EncryptStatus P((void)),
|
EncryptStatus P((void));
|
||||||
|
static int
|
||||||
EncryptHelp P((void));
|
EncryptHelp P((void));
|
||||||
|
|
||||||
struct encryptlist EncryptList[] = {
|
struct encryptlist EncryptList[] = {
|
||||||
|
@@ -41,6 +41,8 @@ static char copyright[] =
|
|||||||
static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 5/30/95";
|
static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 5/30/95";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
#include "ring.h"
|
#include "ring.h"
|
||||||
|
@@ -35,6 +35,8 @@
|
|||||||
static char sccsid[] = "@(#)network.c 8.2 (Berkeley) 12/15/93";
|
static char sccsid[] = "@(#)network.c 8.2 (Berkeley) 12/15/93";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
@@ -35,6 +35,8 @@
|
|||||||
static char sccsid[] = "@(#)ring.c 8.2 (Berkeley) 5/30/95";
|
static char sccsid[] = "@(#)ring.c 8.2 (Berkeley) 5/30/95";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This defines a structure for a ring buffer.
|
* This defines a structure for a ring buffer.
|
||||||
*
|
*
|
||||||
|
@@ -35,6 +35,8 @@
|
|||||||
static char sccsid[] = "@(#)sys_bsd.c 8.4 (Berkeley) 5/30/95";
|
static char sccsid[] = "@(#)sys_bsd.c 8.4 (Berkeley) 5/30/95";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following routines try to encapsulate what is system dependent
|
* The following routines try to encapsulate what is system dependent
|
||||||
* (at least between 4.x and dos) which is used in telnet.c.
|
* (at least between 4.x and dos) which is used in telnet.c.
|
||||||
|
@@ -35,7 +35,10 @@
|
|||||||
static char sccsid[] = "@(#)telnet.c 8.4 (Berkeley) 5/30/95";
|
static char sccsid[] = "@(#)telnet.c 8.4 (Berkeley) 5/30/95";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
#if defined(unix)
|
#if defined(unix)
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
@@ -35,6 +35,8 @@
|
|||||||
static char sccsid[] = "@(#)terminal.c 8.2 (Berkeley) 2/16/95";
|
static char sccsid[] = "@(#)terminal.c 8.2 (Berkeley) 2/16/95";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#include <arpa/telnet.h>
|
#include <arpa/telnet.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
@@ -35,6 +35,8 @@
|
|||||||
static char sccsid[] = "@(#)utilities.c 8.3 (Berkeley) 5/30/95";
|
static char sccsid[] = "@(#)utilities.c 8.3 (Berkeley) 5/30/95";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#define TELOPTS
|
#define TELOPTS
|
||||||
#define TELCMDS
|
#define TELCMDS
|
||||||
#define SLC_NAMES
|
#define SLC_NAMES
|
||||||
|
@@ -9,22 +9,33 @@ CC = @CC@
|
|||||||
AR = ar
|
AR = ar
|
||||||
RANLIB = @RANLIB@
|
RANLIB = @RANLIB@
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@ -I/usr/athena/include -I.. -I$(VPATH)/..
|
||||||
|
LIBS = @LIBS@
|
||||||
|
|
||||||
prefix = /usr/local
|
prefix = @prefix@
|
||||||
exec_prefix = $(prefix)
|
exec_prefix = $(prefix)
|
||||||
libdir = $(exec_prefix)/lib
|
libdir = $(exec_prefix)/lib
|
||||||
|
|
||||||
#
|
SOURCES=telnetd.c state.c termstat.c slc.c sys_term.c \
|
||||||
# Everything happens in ../Makefile.config and Makefile.generic
|
utility.c global.c authenc.c
|
||||||
#
|
|
||||||
SHELL=/bin/sh
|
|
||||||
|
|
||||||
all:
|
|
||||||
make -f $(VPATH)/../Config.local WHAT=${WHAT} CC="${CC}" VPATH=${VPATH}; \
|
|
||||||
|
|
||||||
.DEFAULT:
|
OBJECTS=telnetd.o state.o termstat.o slc.o sys_term.o \
|
||||||
make -f $(VPATH)/../Config.local WHAT=${WHAT} CC="${CC}" VPATH=${VPATH} $@; \
|
utility.o global.o authenc.o
|
||||||
|
|
||||||
|
|
||||||
|
libtop=/usr/athena/lib
|
||||||
|
|
||||||
|
KLIB=$(libtop)/kafs/libkafs.a $(libtop)/krb/libkrb.a $(libtop)/des/libdes.a
|
||||||
|
|
||||||
|
|
||||||
|
all: telnetd
|
||||||
|
|
||||||
|
telnetd: $(OBJECTS)
|
||||||
|
$(CC) -o telnetd $(OBJECTS) $(LIBS) ../libtelnet/libtelnet.a $(KLIB)
|
||||||
|
|
||||||
|
|
||||||
clean cleandir:
|
clean cleandir:
|
||||||
rm -f *.o *.a telnet telnetd core
|
rm -f *.o *.a telnetd \#* *~ core
|
||||||
|
|
||||||
|
|
||||||
|
@@ -35,6 +35,8 @@
|
|||||||
static char sccsid[] = "@(#)authenc.c 8.2 (Berkeley) 5/30/95";
|
static char sccsid[] = "@(#)authenc.c 8.2 (Berkeley) 5/30/95";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#if defined(AUTHENTICATION) || defined(ENCRYPTION)
|
#if defined(AUTHENTICATION) || defined(ENCRYPTION)
|
||||||
#include "telnetd.h"
|
#include "telnetd.h"
|
||||||
#include <libtelnet/misc.h>
|
#include <libtelnet/misc.h>
|
||||||
|
@@ -43,6 +43,8 @@ static char sccsid[] = "@(#)global.c 8.1 (Berkeley) 6/4/93";
|
|||||||
* we will actually allocate the space.
|
* we will actually allocate the space.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#include "defs.h"
|
#include "defs.h"
|
||||||
#define extern
|
#define extern
|
||||||
#include "ext.h"
|
#include "ext.h"
|
||||||
|
@@ -35,6 +35,8 @@
|
|||||||
static char sccsid[] = "@(#)slc.c 8.2 (Berkeley) 5/30/95";
|
static char sccsid[] = "@(#)slc.c 8.2 (Berkeley) 5/30/95";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#include "telnetd.h"
|
#include "telnetd.h"
|
||||||
|
|
||||||
#ifdef LINEMODE
|
#ifdef LINEMODE
|
||||||
|
@@ -35,6 +35,8 @@
|
|||||||
static char sccsid[] = "@(#)state.c 8.5 (Berkeley) 5/30/95";
|
static char sccsid[] = "@(#)state.c 8.5 (Berkeley) 5/30/95";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#include "telnetd.h"
|
#include "telnetd.h"
|
||||||
#if defined(AUTHENTICATION)
|
#if defined(AUTHENTICATION)
|
||||||
#include <libtelnet/auth.h>
|
#include <libtelnet/auth.h>
|
||||||
|
@@ -41,6 +41,8 @@ static char copyright[] =
|
|||||||
static char sccsid[] = "@(#)telnetd.c 8.4 (Berkeley) 5/30/95";
|
static char sccsid[] = "@(#)telnetd.c 8.4 (Berkeley) 5/30/95";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#include "telnetd.h"
|
#include "telnetd.h"
|
||||||
#include "pathnames.h"
|
#include "pathnames.h"
|
||||||
|
|
||||||
|
@@ -35,6 +35,8 @@
|
|||||||
static char sccsid[] = "@(#)termstat.c 8.2 (Berkeley) 5/30/95";
|
static char sccsid[] = "@(#)termstat.c 8.2 (Berkeley) 5/30/95";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
#include "telnetd.h"
|
#include "telnetd.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user