mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 07:28:39 +01:00
Merge remote-tracking branch 'upstream/master' into bwm-ng
This commit is contained in:
@@ -9,11 +9,11 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=libpam
|
PKG_NAME:=libpam
|
||||||
PKG_VERSION:=1.2.0
|
PKG_VERSION:=1.2.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE:=Linux-PAM-$(PKG_VERSION).tar.bz2
|
PKG_SOURCE:=Linux-PAM-$(PKG_VERSION).tar.bz2
|
||||||
PKG_SOURCE_URL:=http://www.linux-pam.org/library/
|
PKG_SOURCE_URL:=http://www.linux-pam.org/library/
|
||||||
PKG_MD5SUM:=35b6091af95981b1b2cd60d813b5e4ee
|
PKG_MD5SUM:=ee4a480d77b341c99e8b1375f8f180c0
|
||||||
PKG_INSTALL:=1
|
PKG_INSTALL:=1
|
||||||
PKG_FIXUP:=autoreconf
|
PKG_FIXUP:=autoreconf
|
||||||
PKG_MAINTAINER:=Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
|
PKG_MAINTAINER:=Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
From 1948dd03d69c1a50e92d7e8868b7d6eabd4873c1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Yousong Zhou <yszhou4tech@gmail.com>
|
||||||
|
Date: Wed, 17 Jun 2015 16:11:31 +0800
|
||||||
|
Subject: [PATCH 1/7] build: always use /lib instead of /lib64.
|
||||||
|
|
||||||
|
* configure.ac: OpenWrt does not use /lib64.
|
||||||
|
|
||||||
|
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
|
||||||
|
---
|
||||||
|
configure.ac | 10 +---------
|
||||||
|
1 file changed, 1 insertion(+), 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index fd0e310..306b6e2 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -25,15 +25,7 @@ dnl If we use /usr as prefix, use /etc for config files
|
||||||
|
then
|
||||||
|
sysconfdir="/etc"
|
||||||
|
fi
|
||||||
|
- if test ${libdir} = '${exec_prefix}/lib'
|
||||||
|
- then
|
||||||
|
- case "`uname -m`" in
|
||||||
|
- x86_64|ppc64|s390x|sparc64)
|
||||||
|
- libdir="/lib64" ;;
|
||||||
|
- *)
|
||||||
|
- libdir="/lib" ;;
|
||||||
|
- esac
|
||||||
|
- fi
|
||||||
|
+ libdir="/lib"
|
||||||
|
if test ${sbindir} = '${exec_prefix}/sbin'
|
||||||
|
then
|
||||||
|
sbindir="/sbin"
|
||||||
|
--
|
||||||
|
1.7.10.4
|
||||||
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
From ee916fd0ec70eb37a97da29f6ec0c26bef7cf6f2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Yousong Zhou <yszhou4tech@gmail.com>
|
|
||||||
Date: Wed, 17 Jun 2015 16:11:31 +0800
|
|
||||||
Subject: [PATCH 1/7] build: use $host_cpu for lib64 directory handling.
|
|
||||||
|
|
||||||
* configure.ac: use $host_cpu for lib64 directory handling.
|
|
||||||
|
|
||||||
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
|
|
||||||
---
|
|
||||||
configure.ac | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index fd0e310..1bc2591 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -27,7 +27,7 @@ dnl If we use /usr as prefix, use /etc for config files
|
|
||||||
fi
|
|
||||||
if test ${libdir} = '${exec_prefix}/lib'
|
|
||||||
then
|
|
||||||
- case "`uname -m`" in
|
|
||||||
+ case "$host_cpu" in
|
|
||||||
x86_64|ppc64|s390x|sparc64)
|
|
||||||
libdir="/lib64" ;;
|
|
||||||
*)
|
|
||||||
--
|
|
||||||
1.7.10.4
|
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
From e985c1ef2c739a597b2d7a2efc3c310c02e40c1f Mon Sep 17 00:00:00 2001
|
From 1a2e6c979118dce5e79604e88c008c7879d1e4e6 Mon Sep 17 00:00:00 2001
|
||||||
From: Yousong Zhou <yszhou4tech@gmail.com>
|
From: Yousong Zhou <yszhou4tech@gmail.com>
|
||||||
Date: Wed, 17 Jun 2015 18:19:23 +0800
|
Date: Wed, 17 Jun 2015 18:19:23 +0800
|
||||||
Subject: [PATCH 2/7] build: ignore pam_rhosts if neither ruserok nor
|
Subject: [PATCH 2/7] build: ignore pam_rhosts if neither ruserok nor
|
||||||
@@ -16,10 +16,10 @@ Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
|
|||||||
3 files changed, 13 insertions(+), 4 deletions(-)
|
3 files changed, 13 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
diff --git a/configure.ac b/configure.ac
|
||||||
index 1bc2591..3c4d8bb 100644
|
index 306b6e2..084071a 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -542,7 +542,10 @@ AC_CHECK_FUNCS(fseeko getdomainname gethostname gettimeofday lckpwdf mkdir selec
|
@@ -534,7 +534,10 @@ AC_CHECK_FUNCS(fseeko getdomainname gethostname gettimeofday lckpwdf mkdir selec
|
||||||
AC_CHECK_FUNCS(strcspn strdup strspn strstr strtol uname)
|
AC_CHECK_FUNCS(strcspn strdup strspn strstr strtol uname)
|
||||||
AC_CHECK_FUNCS(getutent_r getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r)
|
AC_CHECK_FUNCS(getutent_r getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r)
|
||||||
AC_CHECK_FUNCS(getgrouplist getline getdelim)
|
AC_CHECK_FUNCS(getgrouplist getline getdelim)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
From 173164996ca7daf3fa705f2a0bb2991b0d5d2083 Mon Sep 17 00:00:00 2001
|
From bac1ee3033cf22e31730fe3e77ca82bd5ebba692 Mon Sep 17 00:00:00 2001
|
||||||
From: Yousong Zhou <yszhou4tech@gmail.com>
|
From: Yousong Zhou <yszhou4tech@gmail.com>
|
||||||
Date: Wed, 17 Jun 2015 21:18:05 +0800
|
Date: Wed, 17 Jun 2015 21:18:05 +0800
|
||||||
Subject: [PATCH 3/7] build: ignore pam_lastlog when logwtmp is not available.
|
Subject: [PATCH 3/7] build: ignore pam_lastlog when logwtmp is not available.
|
||||||
@@ -13,10 +13,10 @@ Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
|
|||||||
2 files changed, 8 insertions(+), 2 deletions(-)
|
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
diff --git a/configure.ac b/configure.ac
|
||||||
index 3c4d8bb..8de6edf 100644
|
index 084071a..ca4bf5b 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -544,8 +544,10 @@ AC_CHECK_FUNCS(getutent_r getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r
|
@@ -536,8 +536,10 @@ AC_CHECK_FUNCS(getutent_r getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r
|
||||||
AC_CHECK_FUNCS(getgrouplist getline getdelim)
|
AC_CHECK_FUNCS(getgrouplist getline getdelim)
|
||||||
AC_CHECK_FUNCS(inet_ntop inet_pton innetgr)
|
AC_CHECK_FUNCS(inet_ntop inet_pton innetgr)
|
||||||
AC_CHECK_FUNCS([ruserok_af ruserok], [break])
|
AC_CHECK_FUNCS([ruserok_af ruserok], [break])
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
From 20e5efe4b2a8471bc52e480e53cff68a4de19c56 Mon Sep 17 00:00:00 2001
|
From a35daea1b8be768d1b0be6eae157fbf3e5380f92 Mon Sep 17 00:00:00 2001
|
||||||
From: Yousong Zhou <yszhou4tech@gmail.com>
|
From: Yousong Zhou <yszhou4tech@gmail.com>
|
||||||
Date: Wed, 17 Jun 2015 18:22:31 +0800
|
Date: Wed, 17 Jun 2015 18:22:31 +0800
|
||||||
Subject: [PATCH 4/7] build: fix build when crypt() is not part of crypt_libs.
|
Subject: [PATCH 4/7] build: fix build when crypt() is not part of crypt_libs.
|
||||||
@@ -11,10 +11,10 @@ Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
diff --git a/configure.ac b/configure.ac
|
||||||
index 8de6edf..c15441b 100644
|
index ca4bf5b..6553c78 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -416,7 +416,7 @@ AS_IF([test "x$ac_cv_header_xcrypt_h" = "xyes"],
|
@@ -408,7 +408,7 @@ AS_IF([test "x$ac_cv_header_xcrypt_h" = "xyes"],
|
||||||
[crypt_libs="crypt"])
|
[crypt_libs="crypt"])
|
||||||
|
|
||||||
BACKUP_LIBS=$LIBS
|
BACKUP_LIBS=$LIBS
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
From df7abf333d19aefd166f613b696345732ae4c9c8 Mon Sep 17 00:00:00 2001
|
From 1563e57ea8ab9d123f765129a6840929ef58ff7a Mon Sep 17 00:00:00 2001
|
||||||
From: Yousong Zhou <yszhou4tech@gmail.com>
|
From: Yousong Zhou <yszhou4tech@gmail.com>
|
||||||
Date: Wed, 17 Jun 2015 20:38:41 +0800
|
Date: Wed, 17 Jun 2015 20:38:41 +0800
|
||||||
Subject: [PATCH 5/7] build: fix doc build.
|
Subject: [PATCH 5/7] build: fix doc build.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
From 596797ab7f46fb4d0338e75db7c0d1019cd4df87 Mon Sep 17 00:00:00 2001
|
From 2e3ed4c6fb09f84fede589047d37d11783202d34 Mon Sep 17 00:00:00 2001
|
||||||
From: Yousong Zhou <yszhou4tech@gmail.com>
|
From: Yousong Zhou <yszhou4tech@gmail.com>
|
||||||
Date: Wed, 17 Jun 2015 18:16:18 +0800
|
Date: Wed, 17 Jun 2015 18:16:18 +0800
|
||||||
Subject: [PATCH 6/7] pam_unix: fix compilation in case rpc/rpc.h is missing.
|
Subject: [PATCH 6/7] pam_unix: fix compilation in case rpc/rpc.h is missing.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
From 9e2fa22891a87592c1a04801623fea5be40cb581 Mon Sep 17 00:00:00 2001
|
From c681bd104627139eac2f40fe303e1f67676233e8 Mon Sep 17 00:00:00 2001
|
||||||
From: Yousong Zhou <yszhou4tech@gmail.com>
|
From: Yousong Zhou <yszhou4tech@gmail.com>
|
||||||
Date: Wed, 17 Jun 2015 15:33:43 +0800
|
Date: Wed, 17 Jun 2015 15:33:43 +0800
|
||||||
Subject: [PATCH 7/7] Check if innetgr is available at compile time.
|
Subject: [PATCH 7/7] Check if innetgr is available at compile time.
|
||||||
|
|||||||
@@ -9,12 +9,12 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=v4l-utils
|
PKG_NAME:=v4l-utils
|
||||||
PKG_VERSION:=1.6.2
|
PKG_VERSION:=1.6.3
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||||
PKG_SOURCE_URL:=http://www.linuxtv.org/downloads/v4l-utils
|
PKG_SOURCE_URL:=http://www.linuxtv.org/downloads/v4l-utils
|
||||||
PKG_MD5SUM:=9cb3c178f937954e65bf30920af433ef
|
PKG_MD5SUM:=307858616be6374f63bf946307f15a7f
|
||||||
|
|
||||||
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
|
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
|
||||||
|
|
||||||
@@ -22,6 +22,7 @@ PKG_LICENSE:=GPL-2.0 LGPL-2.1
|
|||||||
PKG_LICENSE_FILES:=COPYING COPYING.libv4l
|
PKG_LICENSE_FILES:=COPYING COPYING.libv4l
|
||||||
|
|
||||||
PKG_USE_MIPS16:=0
|
PKG_USE_MIPS16:=0
|
||||||
|
PKG_FIXUP:=autoreconf
|
||||||
PKG_INSTALL:=1
|
PKG_INSTALL:=1
|
||||||
|
|
||||||
PKG_BUILD_DEPENDS:=argp-standalone
|
PKG_BUILD_DEPENDS:=argp-standalone
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -80,6 +80,20 @@ gl_VISIBILITY
|
||||||
|
AC_CHECK_HEADERS([sys/klog.h])
|
||||||
|
AC_CHECK_FUNCS([klogctl])
|
||||||
|
|
||||||
|
+AC_CACHE_CHECK([for ioctl with POSIX signature],
|
||||||
|
+ [gl_cv_func_ioctl_posix_signature],
|
||||||
|
+ [AC_COMPILE_IFELSE(
|
||||||
|
+ [AC_LANG_PROGRAM(
|
||||||
|
+ [[#include <sys/ioctl.h>]],
|
||||||
|
+ [[int ioctl (int, int, ...);]])
|
||||||
|
+ ],
|
||||||
|
+ [gl_cv_func_ioctl_posix_signature=yes],
|
||||||
|
+ [gl_cv_func_ioctl_posix_signature=no])
|
||||||
|
+ ])
|
||||||
|
+if test "x$gl_cv_func_ioctl_posix_signature" = xyes; then
|
||||||
|
+ AC_DEFINE([HAVE_POSIX_IOCTL], [1], [Have ioctl with POSIX signature])
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
# Check host os
|
||||||
|
case "$host_os" in
|
||||||
|
linux*)
|
||||||
@@ -8,3 +8,21 @@
|
|||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
|
@@ -36,6 +37,7 @@
|
||||||
|
#include <dirent.h>
|
||||||
|
#include <config.h>
|
||||||
|
#include <signal.h>
|
||||||
|
+#include <time.h>
|
||||||
|
|
||||||
|
#include <linux/videodev2.h>
|
||||||
|
#include <libv4l2.h>
|
||||||
|
--- a/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
|
||||||
|
+++ b/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
|
||||||
|
@@ -14,6 +14,7 @@
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#include <dirent.h>
|
||||||
|
#include <math.h>
|
||||||
|
+#include <time.h>
|
||||||
|
|
||||||
|
#include "v4l2-ctl.h"
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,92 @@
|
|||||||
|
--- a/lib/libv4lconvert/libv4lsyscall-priv.h
|
||||||
|
+++ b/lib/libv4lconvert/libv4lsyscall-priv.h
|
||||||
|
@@ -35,14 +35,19 @@
|
||||||
|
which is broken on some systems and doesn't include them itself :( */
|
||||||
|
|
||||||
|
#ifdef linux
|
||||||
|
+#define __NEED_off_t
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <syscall.h>
|
||||||
|
#include <linux/types.h>
|
||||||
|
#include <linux/ioctl.h>
|
||||||
|
/* On 32 bits archs we always use mmap2, on 64 bits archs there is no mmap2 */
|
||||||
|
#ifdef __NR_mmap2
|
||||||
|
+#undef SYS_mmap2
|
||||||
|
#define SYS_mmap2 __NR_mmap2
|
||||||
|
#define MMAP2_PAGE_SHIFT 12
|
||||||
|
+#if !(defined(__UCLIBC__) || defined(__GLIBC__))
|
||||||
|
+typedef off_t __off_t;
|
||||||
|
+#endif
|
||||||
|
#else
|
||||||
|
#define SYS_mmap2 SYS_mmap
|
||||||
|
#define MMAP2_PAGE_SHIFT 0
|
||||||
|
--- a/lib/libv4l1/v4l1compat.c
|
||||||
|
+++ b/lib/libv4l1/v4l1compat.c
|
||||||
|
@@ -62,7 +62,7 @@ LIBV4L_PUBLIC int open(const char *file,
|
||||||
|
return fd;
|
||||||
|
}
|
||||||
|
|
||||||
|
-#ifdef linux
|
||||||
|
+#if defined(linux) && (defined(__GLIBC__) || defined(__UCLIBC__))
|
||||||
|
LIBV4L_PUBLIC int open64(const char *file, int oflag, ...)
|
||||||
|
{
|
||||||
|
int fd;
|
||||||
|
@@ -94,7 +94,11 @@ LIBV4L_PUBLIC int dup(int fd)
|
||||||
|
return v4l1_dup(fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef HAVE_POSIX_IOCTL
|
||||||
|
+LIBV4L_PUBLIC int ioctl(int fd, int request, ...)
|
||||||
|
+#else
|
||||||
|
LIBV4L_PUBLIC int ioctl(int fd, unsigned long int request, ...)
|
||||||
|
+#endif
|
||||||
|
{
|
||||||
|
void *arg;
|
||||||
|
va_list ap;
|
||||||
|
@@ -112,12 +116,12 @@ LIBV4L_PUBLIC ssize_t read(int fd, void
|
||||||
|
}
|
||||||
|
|
||||||
|
LIBV4L_PUBLIC void *mmap(void *start, size_t length, int prot, int flags, int fd,
|
||||||
|
- __off_t offset)
|
||||||
|
+ off_t offset)
|
||||||
|
{
|
||||||
|
return v4l1_mmap(start, length, prot, flags, fd, offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
-#ifdef linux
|
||||||
|
+#if defined(linux) && (defined(__GLIBC__) || defined(__UCLIBC__))
|
||||||
|
LIBV4L_PUBLIC void *mmap64(void *start, size_t length, int prot, int flags, int fd,
|
||||||
|
__off64_t offset)
|
||||||
|
{
|
||||||
|
--- a/lib/libv4l2/v4l2convert.c
|
||||||
|
+++ b/lib/libv4l2/v4l2convert.c
|
||||||
|
@@ -86,7 +86,7 @@ LIBV4L_PUBLIC int open(const char *file,
|
||||||
|
return fd;
|
||||||
|
}
|
||||||
|
|
||||||
|
-#ifdef linux
|
||||||
|
+#if defined(linux) && (defined(__GLIBC__) || defined(__UCLIBC__))
|
||||||
|
LIBV4L_PUBLIC int open64(const char *file, int oflag, ...)
|
||||||
|
{
|
||||||
|
int fd;
|
||||||
|
@@ -121,7 +121,11 @@ LIBV4L_PUBLIC int dup(int fd)
|
||||||
|
return v4l2_dup(fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef HAVE_POSIX_IOCTL
|
||||||
|
+LIBV4L_PUBLIC int ioctl(int fd, int request, ...)
|
||||||
|
+#else
|
||||||
|
LIBV4L_PUBLIC int ioctl(int fd, unsigned long int request, ...)
|
||||||
|
+#endif
|
||||||
|
{
|
||||||
|
void *arg;
|
||||||
|
va_list ap;
|
||||||
|
@@ -144,7 +148,7 @@ LIBV4L_PUBLIC void *mmap(void *start, si
|
||||||
|
return v4l2_mmap(start, length, prot, flags, fd, offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
-#ifdef linux
|
||||||
|
+#if defined(linux) && (defined(__GLIBC__) || defined(__UCLIBC__))
|
||||||
|
LIBV4L_PUBLIC void *mmap64(void *start, size_t length, int prot, int flags, int fd,
|
||||||
|
__off64_t offset)
|
||||||
|
{
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
--- a/mjpg_streamer.h
|
||||||
|
+++ b/mjpg_streamer.h
|
||||||
|
@@ -29,6 +29,10 @@
|
||||||
|
#define MAX_OUTPUT_PLUGINS 10
|
||||||
|
#define MAX_PLUGIN_ARGUMENTS 32
|
||||||
|
|
||||||
|
+#define __NEED_pthread_t
|
||||||
|
+#define __NEED_pthread_mutex_t
|
||||||
|
+#define __NEED_pthread_cond_t
|
||||||
|
+
|
||||||
|
#include <linux/types.h> /* for videodev2.h */
|
||||||
|
#include <linux/videodev2.h>
|
||||||
|
|
||||||
Reference in New Issue
Block a user