summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/libgssglue/PKGBUILD8
-rw-r--r--core/libtirpc/PKGBUILD19
-rw-r--r--core/libtirpc/libtirpc-0.2.3rc1.patch637
-rw-r--r--core/libtirpc/libtirpc-fix-segfault-0.2.2.patch28
-rw-r--r--core/lilo/PKGBUILD6
-rw-r--r--core/lilo/lilo.conf8
-rw-r--r--core/mdadm/PKGBUILD13
-rw-r--r--core/mdadm/linux-3.0.patch45
-rw-r--r--core/nfs-utils/PKGBUILD19
-rw-r--r--core/nfs-utils/kernel-3.0-segfault.patch53
-rw-r--r--core/pam/PKGBUILD10
-rw-r--r--core/syslinux/PKGBUILD6
-rw-r--r--core/syslinux/syslinux.cfg8
13 files changed, 819 insertions, 41 deletions
diff --git a/core/libgssglue/PKGBUILD b/core/libgssglue/PKGBUILD
index 493598561..d651bf612 100644
--- a/core/libgssglue/PKGBUILD
+++ b/core/libgssglue/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 123644 2011-05-12 06:23:26Z tpowa $
+# $Id: PKGBUILD 133594 2011-07-29 21:01:43Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=libgssglue
-pkgver=0.1
-pkgrel=4
+pkgver=0.3
+pkgrel=1
pkgdesc="Exports a gssapi interface which calls other random gssapi libraries"
arch=('i686' 'x86_64')
url="http://www.citi.umich.edu/projects/nfsv4/linux/"
@@ -14,7 +14,7 @@ backup=(etc/gssapi_mech.conf)
options=('!libtool')
source=(http://www.citi.umich.edu/projects/nfsv4/linux/$pkgname/$pkgname-$pkgver.tar.gz
gssapi_mech.conf)
-md5sums=('ce1b4c758e6de01b712d154c5c97e540'
+md5sums=('48aaad11b7371ba3270faa322202c038'
'080be866717e4e06fa6f7d6f43cb395a')
build() {
diff --git a/core/libtirpc/PKGBUILD b/core/libtirpc/PKGBUILD
index 80ae3d14c..6035cdb2c 100644
--- a/core/libtirpc/PKGBUILD
+++ b/core/libtirpc/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 132087 2011-07-20 00:51:34Z eric $
+# $Id: PKGBUILD 133597 2011-07-29 21:03:33Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=libtirpc
pkgver=0.2.2
-pkgrel=1
+pkgrel=2
pkgdesc="Transport Independent RPC library (SunRPC replacement)"
arch=('i686' 'x86_64')
url="http://libtirpc.sourceforge.net/"
@@ -12,17 +12,26 @@ depends=('libgssglue')
backup=('etc/netconfig')
options=('!libtool')
source=(http://downloads.sourceforge.net/sourceforge/libtirpc/${pkgname}-${pkgver}.tar.bz2
- libtirpc-0.2.1-fortify.patch)
+ libtirpc-0.2.1-fortify.patch
+ libtirpc-0.2.3rc1.patch
+ libtirpc-fix-segfault-0.2.2.patch)
md5sums=('74c41c15c2909f7d11d9c7bfa7db6273'
- '2e5c067f1651469dfbbdc91d3c9c60e8')
+ '2e5c067f1651469dfbbdc91d3c9c60e8'
+ 'ac2a1657b44f4a99c37d8265b05b9133'
+ '5a3ab55934cad4e8b38fc90c54756472')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
# fix http://bugs.gentoo.org/293593
# https://bugs.archlinux.org/task/20082
patch -Np1 -i ../libtirpc-0.2.1-fortify.patch
+ # add patches from fedora git to make nfs-utils compile again
+ patch -Np1 -i ../libtirpc-0.2.3rc1.patch
+ patch -Np1 -i ../libtirpc-fix-segfault-0.2.2.patch
+ sh autogen.sh
+ autoreconf -fisv
./configure --prefix=/usr --enable-gss
- make
+ make
}
package() {
diff --git a/core/libtirpc/libtirpc-0.2.3rc1.patch b/core/libtirpc/libtirpc-0.2.3rc1.patch
new file mode 100644
index 000000000..d57a59e1f
--- /dev/null
+++ b/core/libtirpc/libtirpc-0.2.3rc1.patch
@@ -0,0 +1,637 @@
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 7ee8cbc..6731ff9 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -50,7 +50,7 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln
+ rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \
+ rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \
+ svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \
+- auth_time.c auth_des.c authdes_prot.c des_crypt.c
++ auth_time.c auth_des.c authdes_prot.c
+
+ ## XDR
+ libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c
+diff --git a/src/auth_des.c b/src/auth_des.c
+index 37e7667..f0c8b8c 100644
+--- a/src/auth_des.c
++++ b/src/auth_des.c
+@@ -223,6 +223,7 @@ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window,
+ goto failed;
+ }
+ ad->ad_nis_srvr = NULL; /* not needed any longer */
++ auth_get(auth); /* Reference for caller */
+ return (auth);
+
+ failed:
+@@ -472,6 +473,12 @@ authdes_destroy(AUTH *auth)
+ FREE(auth, sizeof(AUTH));
+ }
+
++static bool_t
++authdes_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere)
++{
++ return ((*xfunc)(xdrs, xwhere));
++}
++
+ static struct auth_ops *
+ authdes_ops(void)
+ {
+@@ -487,6 +494,8 @@ authdes_ops(void)
+ ops.ah_validate = authdes_validate;
+ ops.ah_refresh = authdes_refresh;
+ ops.ah_destroy = authdes_destroy;
++ ops.ah_wrap = authdes_wrap;
++ ops.ah_unwrap = authdes_wrap;
+ }
+ mutex_unlock(&authdes_ops_lock);
+ return (&ops);
+diff --git a/src/auth_gss.c b/src/auth_gss.c
+index df3017a..a992049 100644
+--- a/src/auth_gss.c
++++ b/src/auth_gss.c
+@@ -200,6 +200,8 @@ authgss_create(CLIENT *clnt, gss_name_t name, struct rpc_gss_sec *sec)
+
+ if (!authgss_refresh(auth))
+ auth = NULL;
++ else
++ auth_get(auth); /* Reference for caller */
+
+ clnt->cl_auth = save_auth;
+
+@@ -555,9 +557,20 @@ authgss_destroy_context(AUTH *auth)
+
+ if (gd->gc.gc_ctx.length != 0) {
+ if (gd->established) {
++ AUTH *save_auth = NULL;
++
++ /* Make sure we use the right auth_ops */
++ if (gd->clnt->cl_auth != auth) {
++ save_auth = gd->clnt->cl_auth;
++ gd->clnt->cl_auth = auth;
++ }
++
+ gd->gc.gc_proc = RPCSEC_GSS_DESTROY;
+ clnt_call(gd->clnt, NULLPROC, (xdrproc_t)xdr_void, NULL,
+ (xdrproc_t)xdr_void, NULL, AUTH_TIMEOUT);
++
++ if (save_auth != NULL)
++ gd->clnt->cl_auth = save_auth;
+ }
+ gss_release_buffer(&min_stat, &gd->gc.gc_ctx);
+ /* XXX ANDROS check size of context - should be 8 */
+diff --git a/src/auth_none.c b/src/auth_none.c
+index a439ec6..008c589 100644
+--- a/src/auth_none.c
++++ b/src/auth_none.c
+@@ -155,6 +155,12 @@ authnone_destroy(AUTH *client)
+ {
+ }
+
++static bool_t
++authnone_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere)
++{
++ return ((*xfunc)(xdrs, xwhere));
++}
++
+ static struct auth_ops *
+ authnone_ops()
+ {
+@@ -170,6 +176,8 @@ authnone_ops()
+ ops.ah_validate = authnone_validate;
+ ops.ah_refresh = authnone_refresh;
+ ops.ah_destroy = authnone_destroy;
++ ops.ah_wrap = authnone_wrap;
++ ops.ah_unwrap = authnone_wrap;
+ }
+ mutex_unlock(&ops_lock);
+ return (&ops);
+diff --git a/src/auth_unix.c b/src/auth_unix.c
+index c2469da..4b9b13f 100644
+--- a/src/auth_unix.c
++++ b/src/auth_unix.c
+@@ -162,6 +162,7 @@ authunix_create(machname, uid, gid, len, aup_gids)
+ */
+ auth->ah_cred = au->au_origcred;
+ marshal_new_auth(auth);
++ auth_get(auth); /* Reference for caller */
+ return (auth);
+ #ifndef _KERNEL
+ cleanup_authunix_create:
+@@ -396,6 +397,12 @@ marshal_new_auth(auth)
+ XDR_DESTROY(xdrs);
+ }
+
++static bool_t
++authunix_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere)
++{
++ return ((*xfunc)(xdrs, xwhere));
++}
++
+ static struct auth_ops *
+ authunix_ops()
+ {
+@@ -411,6 +418,8 @@ authunix_ops()
+ ops.ah_validate = authunix_validate;
+ ops.ah_refresh = authunix_refresh;
+ ops.ah_destroy = authunix_destroy;
++ ops.ah_wrap = authunix_wrap;
++ ops.ah_unwrap = authunix_wrap;
+ }
+ mutex_unlock(&ops_lock);
+ return (&ops);
+diff --git a/src/authgss_prot.c b/src/authgss_prot.c
+index 9d7fa09..0168318 100644
+--- a/src/authgss_prot.c
++++ b/src/authgss_prot.c
+@@ -161,6 +161,7 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
+ databuflen = end - start - 4;
+ XDR_SETPOS(xdrs, start + 4);
+ databuf.value = XDR_INLINE(xdrs, databuflen);
++ databuf.length = databuflen;
+
+ xdr_stat = FALSE;
+
+@@ -169,7 +170,6 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
+ XDR_SETPOS(xdrs, start);
+ if (!xdr_u_int(xdrs, (u_int *)&databuflen))
+ return (FALSE);
+- databuf.length = databuflen;
+
+ /* Checksum rpc_gss_data_t. */
+ maj_stat = gss_get_mic(&min_stat, ctx, qop,
+diff --git a/src/clnt_dg.c b/src/clnt_dg.c
+index 79fed5d..4a1f60a 100644
+--- a/src/clnt_dg.c
++++ b/src/clnt_dg.c
+@@ -366,7 +366,7 @@ call_again:
+
+ if ((! XDR_PUTINT32(xdrs, (int32_t *)&proc)) ||
+ (! AUTH_MARSHALL(cl->cl_auth, xdrs)) ||
+- (! (*xargs)(xdrs, argsp))) {
++ (! AUTH_WRAP(cl->cl_auth, xdrs, xargs, argsp))) {
+ cu->cu_error.re_status = RPC_CANTENCODEARGS;
+ goto out;
+ }
+@@ -400,8 +400,8 @@ get_reply:
+ * (We assume that this is actually only executed once.)
+ */
+ reply_msg.acpted_rply.ar_verf = _null_auth;
+- reply_msg.acpted_rply.ar_results.where = resultsp;
+- reply_msg.acpted_rply.ar_results.proc = xresults;
++ reply_msg.acpted_rply.ar_results.where = NULL;
++ reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
+
+ fd.fd = cu->cu_fd;
+ fd.events = POLLIN;
+@@ -512,6 +512,10 @@ get_reply:
+ &reply_msg.acpted_rply.ar_verf)) {
+ cu->cu_error.re_status = RPC_AUTHERROR;
+ cu->cu_error.re_why = AUTH_INVALIDRESP;
++ } else if (! AUTH_UNWRAP(cl->cl_auth, &reply_xdrs,
++ xresults, resultsp)) {
++ if (cu->cu_error.re_status == RPC_SUCCESS)
++ cu->cu_error.re_status = RPC_CANTDECODERES;
+ }
+ if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) {
+ xdrs->x_op = XDR_FREE;
+diff --git a/src/clnt_vc.c b/src/clnt_vc.c
+index 359063c..097cae8 100644
+--- a/src/clnt_vc.c
++++ b/src/clnt_vc.c
+@@ -364,7 +364,7 @@ call_again:
+ if ((! XDR_PUTBYTES(xdrs, ct->ct_u.ct_mcallc, ct->ct_mpos)) ||
+ (! XDR_PUTINT32(xdrs, (int32_t *)&proc)) ||
+ (! AUTH_MARSHALL(cl->cl_auth, xdrs)) ||
+- (! (*xdr_args)(xdrs, args_ptr))) {
++ (! AUTH_WRAP(cl->cl_auth, xdrs, xdr_args, args_ptr))) {
+ if (ct->ct_error.re_status == RPC_SUCCESS)
+ ct->ct_error.re_status = RPC_CANTENCODEARGS;
+ (void)xdrrec_endofrecord(xdrs, TRUE);
+@@ -420,7 +420,8 @@ call_again:
+ &reply_msg.acpted_rply.ar_verf)) {
+ ct->ct_error.re_status = RPC_AUTHERROR;
+ ct->ct_error.re_why = AUTH_INVALIDRESP;
+- } else if (! (*xdr_results)(xdrs, results_ptr)) {
++ } else if (! AUTH_UNWRAP(cl->cl_auth, xdrs,
++ xdr_results, results_ptr)) {
+ if (ct->ct_error.re_status == RPC_SUCCESS)
+ ct->ct_error.re_status = RPC_CANTDECODERES;
+ }
+diff --git a/src/svc.c b/src/svc.c
+index b4a63d0..08cd6c9 100644
+--- a/src/svc.c
++++ b/src/svc.c
+@@ -77,9 +77,6 @@ static struct svc_callout
+
+ extern rwlock_t svc_lock;
+ extern rwlock_t svc_fd_lock;
+-#ifdef HAVE_LIBGSSAPI
+-extern struct svc_auth_ops svc_auth_gss_ops;
+-#endif
+
+ static struct svc_callout *svc_find (rpcprog_t, rpcvers_t,
+ struct svc_callout **, char *);
+@@ -717,11 +714,9 @@ svc_getreq_common (fd)
+ SVC_DESTROY (xprt);
+ break;
+ }
+- else if ((xprt->xp_auth != NULL)
+-#ifdef HAVE_LIBGSSAPI
+- && (xprt->xp_auth->svc_ah_ops != &svc_auth_gss_ops)
+-#endif
+- ) {
++ else if ((xprt->xp_auth != NULL) &&
++ (xprt->xp_auth->svc_ah_private == NULL))
++ {
+ xprt->xp_auth = NULL;
+ }
+ }
+diff --git a/src/svc_auth.c b/src/svc_auth.c
+index c6b3a0b..e80d5f9 100644
+--- a/src/svc_auth.c
++++ b/src/svc_auth.c
+@@ -98,8 +98,8 @@ _authenticate(rqst, msg)
+ rqst->rq_xprt->xp_verf.oa_length = 0;
+ cred_flavor = rqst->rq_cred.oa_flavor;
+ switch (cred_flavor) {
+- case AUTH_NULL:
+- dummy = _svcauth_null(rqst, msg);
++ case AUTH_NONE:
++ dummy = _svcauth_none(rqst, msg);
+ return (dummy);
+ case AUTH_SYS:
+ dummy = _svcauth_unix(rqst, msg);
+@@ -132,15 +132,6 @@ _authenticate(rqst, msg)
+ return (AUTH_REJECTEDCRED);
+ }
+
+-/*ARGSUSED*/
+-enum auth_stat
+-_svcauth_null(rqst, msg)
+- struct svc_req *rqst;
+- struct rpc_msg *msg;
+-{
+- return (AUTH_OK);
+-}
+-
+ /*
+ * Allow the rpc service to register new authentication types that it is
+ * prepared to handle. When an authentication flavor is registered,
+diff --git a/src/svc_auth_unix.c b/src/svc_auth_unix.c
+index ce83859..9585069 100644
+--- a/src/svc_auth_unix.c
++++ b/src/svc_auth_unix.c
+@@ -43,6 +43,8 @@
+
+ #include <rpc/rpc.h>
+
++extern SVCAUTH svc_auth_none;
++
+ /*
+ * Unix longhand authenticator
+ */
+@@ -67,6 +69,8 @@ _svcauth_unix(rqst, msg)
+ assert(rqst != NULL);
+ assert(msg != NULL);
+
++ rqst->rq_xprt->xp_auth = &svc_auth_none;
++
+ area = (struct area *) rqst->rq_clntcred;
+ aup = &area->area_aup;
+ aup->aup_machname = area->area_machname;
+@@ -142,5 +146,6 @@ _svcauth_short(rqst, msg)
+ struct svc_req *rqst;
+ struct rpc_msg *msg;
+ {
++ rqst->rq_xprt->xp_auth = &svc_auth_none;
+ return (AUTH_REJECTEDCRED);
+ }
+diff --git a/src/svc_dg.c b/src/svc_dg.c
+index 66a56ee..5ef9df2 100644
+--- a/src/svc_dg.c
++++ b/src/svc_dg.c
+@@ -134,6 +134,7 @@ svc_dg_create(fd, sendsize, recvsize)
+ su->su_cache = NULL;
+ xprt->xp_fd = fd;
+ xprt->xp_p2 = su;
++ xprt->xp_auth = NULL;
+ xprt->xp_verf.oa_base = su->su_verfbody;
+ svc_dg_ops(xprt);
+ xprt->xp_rtaddr.maxlen = sizeof (struct sockaddr_storage);
+@@ -234,10 +235,27 @@ svc_dg_reply(xprt, msg)
+ bool_t stat = FALSE;
+ size_t slen;
+
++ xdrproc_t xdr_results;
++ caddr_t xdr_location;
++ bool_t has_args;
++
++ if (msg->rm_reply.rp_stat == MSG_ACCEPTED &&
++ msg->rm_reply.rp_acpt.ar_stat == SUCCESS) {
++ has_args = TRUE;
++ xdr_results = msg->acpted_rply.ar_results.proc;
++ xdr_location = msg->acpted_rply.ar_results.where;
++
++ msg->acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
++ msg->acpted_rply.ar_results.where = NULL;
++ } else
++ has_args = FALSE;
++
+ xdrs->x_op = XDR_ENCODE;
+ XDR_SETPOS(xdrs, 0);
+ msg->rm_xid = su->su_xid;
+- if (xdr_replymsg(xdrs, msg)) {
++ if (xdr_replymsg(xdrs, msg) &&
++ (!has_args ||
++ (SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
+ struct msghdr *msg = &su->su_msghdr;
+ struct iovec iov;
+
+@@ -264,7 +282,12 @@ svc_dg_getargs(xprt, xdr_args, args_ptr)
+ xdrproc_t xdr_args;
+ void *args_ptr;
+ {
+- return (*xdr_args)(&(su_data(xprt)->su_xdrs), args_ptr);
++ if (! SVCAUTH_UNWRAP(xprt->xp_auth, &(su_data(xprt)->su_xdrs),
++ xdr_args, args_ptr)) {
++ (void)svc_freeargs(xprt, xdr_args, args_ptr);
++ return FALSE;
++ }
++ return TRUE;
+ }
+
+ static bool_t
+@@ -288,6 +311,10 @@ svc_dg_destroy(xprt)
+ xprt_unregister(xprt);
+ if (xprt->xp_fd != -1)
+ (void)close(xprt->xp_fd);
++ if (xprt->xp_auth != NULL) {
++ SVCAUTH_DESTROY(xprt->xp_auth);
++ xprt->xp_auth = NULL;
++ }
+ XDR_DESTROY(&(su->su_xdrs));
+ (void) mem_free(rpc_buffer(xprt), su->su_iosz);
+ (void) mem_free(su, sizeof (*su));
+diff --git a/src/svc_vc.c b/src/svc_vc.c
+index aaaf2d7..74632e2 100644
+--- a/src/svc_vc.c
++++ b/src/svc_vc.c
+@@ -172,6 +172,7 @@ svc_vc_create(fd, sendsize, recvsize)
+ xprt->xp_p1 = r;
+ xprt->xp_p2 = NULL;
+ xprt->xp_p3 = NULL;
++ xprt->xp_auth = NULL;
+ xprt->xp_verf = _null_auth;
+ svc_vc_rendezvous_ops(xprt);
+ xprt->xp_port = (u_short)-1; /* It is the rendezvouser */
+@@ -283,6 +284,7 @@ makefd_xprt(fd, sendsize, recvsize)
+ xdrrec_create(&(cd->xdrs), sendsize, recvsize,
+ xprt, read_vc, write_vc);
+ xprt->xp_p1 = cd;
++ xprt->xp_auth = NULL;
+ xprt->xp_verf.oa_base = cd->verf_body;
+ svc_vc_ops(xprt); /* truely deals with calls */
+ xprt->xp_port = 0; /* this is a connection, not a rendezvouser */
+@@ -412,6 +414,10 @@ __svc_vc_dodestroy(xprt)
+ XDR_DESTROY(&(cd->xdrs));
+ mem_free(cd, sizeof(struct cf_conn));
+ }
++ if (xprt->xp_auth != NULL) {
++ SVCAUTH_DESTROY(xprt->xp_auth);
++ xprt->xp_auth = NULL;
++ }
+ if (xprt->xp_rtaddr.buf)
+ mem_free(xprt->xp_rtaddr.buf, xprt->xp_rtaddr.maxlen);
+ if (xprt->xp_ltaddr.buf)
+@@ -610,7 +616,11 @@ svc_vc_recv(xprt, msg)
+ }
+
+ xdrs->x_op = XDR_DECODE;
+- (void)xdrrec_skiprecord(xdrs);
++ /*
++ * No need skip records with nonblocking connections
++ */
++ if (cd->nonblock == FALSE)
++ (void)xdrrec_skiprecord(xdrs);
+ if (xdr_callmsg(xdrs, msg)) {
+ cd->x_id = msg->rm_xid;
+ return (TRUE);
+@@ -628,8 +638,13 @@ svc_vc_getargs(xprt, xdr_args, args_ptr)
+
+ assert(xprt != NULL);
+ /* args_ptr may be NULL */
+- return ((*xdr_args)(&(((struct cf_conn *)(xprt->xp_p1))->xdrs),
+- args_ptr));
++
++ if (! SVCAUTH_UNWRAP(xprt->xp_auth,
++ &(((struct cf_conn *)(xprt->xp_p1))->xdrs),
++ xdr_args, args_ptr)) {
++ return FALSE;
++ }
++ return TRUE;
+ }
+
+ static bool_t
+@@ -658,15 +673,35 @@ svc_vc_reply(xprt, msg)
+ XDR *xdrs;
+ bool_t rstat;
+
++ xdrproc_t xdr_results;
++ caddr_t xdr_location;
++ bool_t has_args;
++
+ assert(xprt != NULL);
+ assert(msg != NULL);
+
+ cd = (struct cf_conn *)(xprt->xp_p1);
+ xdrs = &(cd->xdrs);
+
++ if (msg->rm_reply.rp_stat == MSG_ACCEPTED &&
++ msg->rm_reply.rp_acpt.ar_stat == SUCCESS) {
++ has_args = TRUE;
++ xdr_results = msg->acpted_rply.ar_results.proc;
++ xdr_location = msg->acpted_rply.ar_results.where;
++
++ msg->acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
++ msg->acpted_rply.ar_results.where = NULL;
++ } else
++ has_args = FALSE;
++
+ xdrs->x_op = XDR_ENCODE;
+ msg->rm_xid = cd->x_id;
+- rstat = xdr_replymsg(xdrs, msg);
++ rstat = FALSE;
++ if (xdr_replymsg(xdrs, msg) &&
++ (!has_args ||
++ (SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
++ rstat = TRUE;
++ }
+ (void)xdrrec_endofrecord(xdrs, TRUE);
+ return (rstat);
+ }
+diff --git a/src/xdr_rec.c b/src/xdr_rec.c
+index 4e815d7..2aca623 100644
+--- a/src/xdr_rec.c
++++ b/src/xdr_rec.c
+@@ -64,7 +64,6 @@
+ #include <rpc/clnt.h>
+ #include <stddef.h>
+ #include "rpc_com.h"
+-#include <unistd.h>
+ static bool_t xdrrec_getlong(XDR *, long *);
+ static bool_t xdrrec_putlong(XDR *, const long *);
+ static bool_t xdrrec_getbytes(XDR *, char *, u_int);
+@@ -330,22 +329,22 @@ xdrrec_getpos(xdrs)
+ RECSTREAM *rstrm = (RECSTREAM *)xdrs->x_private;
+ off_t pos;
+
+- pos = lseek((int)(u_long)rstrm->tcp_handle, (off_t)0, 1);
+- if (pos != -1)
+- switch (xdrs->x_op) {
++ switch (xdrs->x_op) {
+
+- case XDR_ENCODE:
+- pos += rstrm->out_finger - rstrm->out_base;
+- break;
++ case XDR_ENCODE:
++ pos = rstrm->out_finger - rstrm->out_base
++ - BYTES_PER_XDR_UNIT;
++ break;
+
+- case XDR_DECODE:
+- pos -= rstrm->in_boundry - rstrm->in_finger;
+- break;
++ case XDR_DECODE:
++ pos = rstrm->in_boundry - rstrm->in_finger
++ - BYTES_PER_XDR_UNIT;
++ break;
+
+- default:
+- pos = (off_t) -1;
+- break;
+- }
++ default:
++ pos = (off_t) -1;
++ break;
++ }
+ return ((u_int) pos);
+ }
+
+diff --git a/tirpc/rpc/auth.h b/tirpc/rpc/auth.h
+index 734e6b9..5f66e67 100644
+--- a/tirpc/rpc/auth.h
++++ b/tirpc/rpc/auth.h
+@@ -203,8 +203,22 @@ typedef struct __auth {
+
+ } *ah_ops;
+ void *ah_private;
++ int ah_refcnt;
+ } AUTH;
+
++static __inline int
++auth_get(AUTH *auth)
++{
++ return __sync_add_and_fetch(&auth->ah_refcnt, 1);
++}
++
++static __inline int
++auth_put(AUTH *auth)
++{
++ return __sync_sub_and_fetch(&auth->ah_refcnt, 1);
++}
++
++
+
+ /*
+ * Authentication ops.
+@@ -234,10 +248,23 @@ typedef struct __auth {
+ #define auth_refresh(auth, msg) \
+ ((*((auth)->ah_ops->ah_refresh))(auth, msg))
+
+-#define AUTH_DESTROY(auth) \
+- ((*((auth)->ah_ops->ah_destroy))(auth))
+-#define auth_destroy(auth) \
+- ((*((auth)->ah_ops->ah_destroy))(auth))
++#define AUTH_DESTROY(auth) \
++ do { \
++ int refs; \
++ if ((refs = auth_put((auth))) == 0) \
++ ((*((auth)->ah_ops->ah_destroy))(auth));\
++ log_debug("%s: auth_put(), refs %d\n", \
++ __func__, refs); \
++ } while (0)
++
++#define auth_destroy(auth) \
++ do { \
++ int refs; \
++ if ((refs = auth_put((auth))) == 0) \
++ ((*((auth)->ah_ops->ah_destroy))(auth));\
++ log_debug("%s: auth_put(), refs %d\n", \
++ __func__, refs); \
++ } while (0)
+
+ #define AUTH_WRAP(auth, xdrs, xfunc, xwhere) \
+ ((*((auth)->ah_ops->ah_wrap))(auth, xdrs, \
+@@ -373,7 +400,7 @@ __END_DECLS
+ __BEGIN_DECLS
+ struct svc_req;
+ struct rpc_msg;
+-enum auth_stat _svcauth_null (struct svc_req *, struct rpc_msg *);
++enum auth_stat _svcauth_none (struct svc_req *, struct rpc_msg *);
+ enum auth_stat _svcauth_short (struct svc_req *, struct rpc_msg *);
+ enum auth_stat _svcauth_unix (struct svc_req *, struct rpc_msg *);
+ __END_DECLS
+diff --git a/tirpc/rpc/des.h b/tirpc/rpc/des.h
+index e3d6897..d2881ad 100644
+--- a/tirpc/rpc/des.h
++++ b/tirpc/rpc/des.h
+@@ -33,6 +33,9 @@
+ * Copyright (c) 1986 by Sun Microsystems, Inc.
+ */
+
++#ifndef _RPC_DES_H_
++#define _RPC_DES_H_
++
+ #define DES_MAXLEN 65536 /* maximum # of bytes to encrypt */
+ #define DES_QUICKLEN 16 /* maximum # of bytes to encrypt quickly */
+
+@@ -80,3 +83,5 @@ struct desparams {
+ * Software DES.
+ */
+ extern int _des_crypt( char *, int, struct desparams * );
++
++#endif
+diff --git a/tirpc/rpc/svc_auth.h b/tirpc/rpc/svc_auth.h
+index 659e90c..14269d1 100644
+--- a/tirpc/rpc/svc_auth.h
++++ b/tirpc/rpc/svc_auth.h
+@@ -44,17 +44,23 @@
+ /*
+ * Interface to server-side authentication flavors.
+ */
+-typedef struct {
++typedef struct SVCAUTH {
+ struct svc_auth_ops {
+- int (*svc_ah_wrap)(void);
+- int (*svc_ah_unwrap)(void);
+- int (*svc_ah_destroy)(void);
++ int (*svc_ah_wrap)(struct SVCAUTH *, XDR *, xdrproc_t,
++ caddr_t);
++ int (*svc_ah_unwrap)(struct SVCAUTH *, XDR *, xdrproc_t,
++ caddr_t);
++ int (*svc_ah_destroy)(struct SVCAUTH *);
+ } *svc_ah_ops;
+ caddr_t svc_ah_private;
+ } SVCAUTH;
+
+-#define SVCAUTH_DESTROY(cred) ((*(cred)->svc_ah_ops->svc_ah_destroy)())
+-#define svcauth_destroy(cred) ((*(cred)->svc_ah_ops->svc_ah_destroy)())
++#define SVCAUTH_WRAP(auth, xdrs, xfunc, xwhere) \
++ ((*((auth)->svc_ah_ops->svc_ah_wrap))(auth, xdrs, xfunc, xwhere))
++#define SVCAUTH_UNWRAP(auth, xdrs, xfunc, xwhere) \
++ ((*((auth)->svc_ah_ops->svc_ah_unwrap))(auth, xdrs, xfunc, xwhere))
++#define SVCAUTH_DESTROY(auth) \
++ ((*((auth)->svc_ah_ops->svc_ah_destroy))(auth))
+
+ /*
+ * Server side authenticator
diff --git a/core/libtirpc/libtirpc-fix-segfault-0.2.2.patch b/core/libtirpc/libtirpc-fix-segfault-0.2.2.patch
new file mode 100644
index 000000000..8a04c16de
--- /dev/null
+++ b/core/libtirpc/libtirpc-fix-segfault-0.2.2.patch
@@ -0,0 +1,28 @@
+diff -up libtirpc-0.2.2/src/svc_dg.c.orig libtirpc-0.2.2/src/svc_dg.c
+--- libtirpc-0.2.2/src/svc_dg.c.orig 2011-07-19 15:02:41.087631000 -0400
++++ libtirpc-0.2.2/src/svc_dg.c 2011-07-19 15:04:43.154243000 -0400
+@@ -254,8 +254,8 @@ svc_dg_reply(xprt, msg)
+ XDR_SETPOS(xdrs, 0);
+ msg->rm_xid = su->su_xid;
+ if (xdr_replymsg(xdrs, msg) &&
+- (!has_args ||
+- (SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
++ (!has_args || (xprt->xp_auth &&
++ SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
+ struct msghdr *msg = &su->su_msghdr;
+ struct iovec iov;
+
+diff -up libtirpc-0.2.2/src/svc_vc.c.orig libtirpc-0.2.2/src/svc_vc.c
+--- libtirpc-0.2.2/src/svc_vc.c.orig 2011-07-19 15:05:28.577588000 -0400
++++ libtirpc-0.2.2/src/svc_vc.c 2011-07-19 15:05:40.058928000 -0400
+@@ -698,8 +698,8 @@ svc_vc_reply(xprt, msg)
+ msg->rm_xid = cd->x_id;
+ rstat = FALSE;
+ if (xdr_replymsg(xdrs, msg) &&
+- (!has_args ||
+- (SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
++ (!has_args || (xprt->xp_auth &&
++ SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
+ rstat = TRUE;
+ }
+ (void)xdrrec_endofrecord(xdrs, TRUE);
diff --git a/core/lilo/PKGBUILD b/core/lilo/PKGBUILD
index 216f1b91d..8202e1853 100644
--- a/core/lilo/PKGBUILD
+++ b/core/lilo/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 118988 2011-04-09 21:38:07Z tpowa $
+# $Id: PKGBUILD 134681 2011-08-07 15:40:03Z tpowa $
# Maintainer: Eric Belanger <eric@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=lilo
pkgver=23.2
-pkgrel=1
+pkgrel=3
pkgdesc="A bootloader for Linux"
arch=('i686' 'x86_64')
url="https://alioth.debian.org/projects/lilo/"
@@ -23,7 +23,7 @@ options=('!makeflags')
source=("http://lilo.alioth.debian.org/ftp/sources/${pkgname}-${pkgver}.tar.gz"
'lilo.conf')
md5sums=('51b9b9db665d3b8724919e3d46054d12'
- 'a3a4c90bead3f9b8672bd384ff9f8db1')
+ 'ca2d8cd9b63f11444861939b42df29c1')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/core/lilo/lilo.conf b/core/lilo/lilo.conf
index 0e31e77a5..9d42a2333 100644
--- a/core/lilo/lilo.conf
+++ b/core/lilo/lilo.conf
@@ -11,16 +11,16 @@ timeout=50
lba32
prompt
-image=/boot/vmlinuz26
+image=/boot/vmlinuz-linux
label=arch
root=/dev/hda3
- initrd=/boot/kernel26.img
+ initrd=/boot/initramfs-linux.img
read-only
-image=/boot/vmlinuz26
+image=/boot/vmlinuz-linux
label=arch-fallback
root=/dev/hda3
- initrd=/boot/kernel26-fallback.img
+ initrd=/boot/initramfs-linux-fallback.img
read-only
#other=/dev/hda1
diff --git a/core/mdadm/PKGBUILD b/core/mdadm/PKGBUILD
index 0f9d96fc8..44d4c7c66 100644
--- a/core/mdadm/PKGBUILD
+++ b/core/mdadm/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 129978 2011-06-30 18:05:23Z thomas $
+# $Id: PKGBUILD 134363 2011-08-03 06:56:40Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
pkgname=mdadm
pkgver=3.2.2
-pkgrel=2
+pkgrel=3
pkgdesc="A tool for managing/monitoring Linux md device arrays, also known as Software RAID"
arch=(i686 x86_64)
license=('GPL')
@@ -17,7 +17,8 @@ source=(ftp://ftp.kernel.org/pub/linux/utils/raid/mdadm/mdadm-$pkgver.tar.bz2
mdadm.conf
mdadm_install
mdadm_hook
- disable-werror.patch)
+ disable-werror.patch
+ linux-3.0.patch)
install=mdadm.install
replaces=('raidtools')
md5sums=('12ee2fbf3beddb60601fb7a4c4905651'
@@ -25,12 +26,14 @@ md5sums=('12ee2fbf3beddb60601fb7a4c4905651'
'00cbed931db4f15b6ce49e3e7d433966'
'4bb000166fb13e82ceaa2422fdfaac7e'
'36f7cc564ed3267888d90208e0eb7adc'
- '4ad87b74a4bc9a34621280abe0e0c3e4')
+ '4ad87b74a4bc9a34621280abe0e0c3e4'
+ 'c499b3edbf2c400c8a1984e18c7ce7fa')
build() {
cd $srcdir/$pkgname-$pkgver
patch -Np0 -i ../disable-werror.patch
- make CXFLAGS="$CFLAGS"
+ patch -Np1 -i ../linux-3.0.patch
+ make CXiFLAGS="$CFLAGS"
}
package() {
diff --git a/core/mdadm/linux-3.0.patch b/core/mdadm/linux-3.0.patch
new file mode 100644
index 000000000..cd9d5473c
--- /dev/null
+++ b/core/mdadm/linux-3.0.patch
@@ -0,0 +1,45 @@
+From f161d047eed634b3380262767f955eb888502e88 Mon Sep 17 00:00:00 2001
+From: NeilBrown <neilb@suse.de>
+Date: Fri, 17 Jun 2011 22:49:24 +1000
+Subject: [PATCH 1/1] util: correctly parse shorter linux version numbers.
+
+The next version of Linux might be 3.0. If it is, get_linux_version
+will fail.
+So make it more robust.
+
+Reported-by: Namhyung Kim <namhyung@gmail.com>
+Reported-by: Milan Broz <mbroz@redhat.com>
+Signed-off-by: NeilBrown <neilb@suse.de>
+---
+ util.c | 10 +++++-----
+ 1 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/util.c b/util.c
+index 10bbe56..55d171a 100644
+--- a/util.c
++++ b/util.c
+@@ -146,16 +146,16 @@ int get_linux_version()
+ {
+ struct utsname name;
+ char *cp;
+- int a,b,c;
++ int a = 0, b = 0,c = 0;
+ if (uname(&name) <0)
+ return -1;
+
+ cp = name.release;
+ a = strtoul(cp, &cp, 10);
+- if (*cp != '.') return -1;
+- b = strtoul(cp+1, &cp, 10);
+- if (*cp != '.') return -1;
+- c = strtoul(cp+1, NULL, 10);
++ if (*cp == '.')
++ b = strtoul(cp+1, &cp, 10);
++ if (*cp == '.')
++ c = strtoul(cp+1, &cp, 10);
+
+ return (a*1000000)+(b*1000)+c;
+ }
+--
+1.7.2.3
+
diff --git a/core/nfs-utils/PKGBUILD b/core/nfs-utils/PKGBUILD
index 3adca96d4..69ee72ca5 100644
--- a/core/nfs-utils/PKGBUILD
+++ b/core/nfs-utils/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 131837 2011-07-16 00:22:48Z dreisner $
+# $Id: PKGBUILD 134117 2011-08-01 17:55:07Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
# Contributor: dibblethewrecker <dibblethewrecker.at.jiwe.org>
@@ -6,8 +6,8 @@
# Contributor: Marco Lima <cipparello gmail com>
pkgname=nfs-utils
-pkgver=1.2.3
-pkgrel=3
+pkgver=1.2.4
+pkgrel=2
pkgdesc="Support programs for Network File Systems"
arch=('i686' 'x86_64')
url='http://nfs.sourceforge.net'
@@ -24,9 +24,10 @@ source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgn
idmapd.conf
start-statd.patch
nfs-utils-1.1.4-mtab-sym.patch
- nfs-utils-1.1.4-no-exec.patch)
+ nfs-utils-1.1.4-no-exec.patch
+ kernel-3.0-segfault.patch)
install=nfs-utils.install
-md5sums=('1131dc5f27c4f3905a6e7ee0d594fd4d'
+md5sums=('938dc0574f3eb9891a8ed4746f806277'
'fc508e10cdf5e8ddd80373b1b2bc99a1'
'f73f197a16b02c3e248488ec35c4cf43'
'5ae080f6117cef3140f02bc162bdc755'
@@ -35,13 +36,14 @@ md5sums=('1131dc5f27c4f3905a6e7ee0d594fd4d'
'eb4f4027fab6fc1201f1ca04f5954c76'
'e24f81a8c8657672e262c61235d34b4a'
'7674106eaaa4c149bccd4f05fe3604e9'
- '4f4827dfc93008dfadd0a530ad0872b2')
+ '4f4827dfc93008dfadd0a530ad0872b2'
+ 'ab92e67f3d0ee2935faab9cdabef8003')
build() {
cd $srcdir/${pkgname}-${pkgver}
patch -Np1 -i ../nfs-utils-1.1.4-mtab-sym.patch
- patch -Np1 -i ../nfs-utils-1.1.4-no-exec.patch
-
+ #patch -Np1 -i ../nfs-utils-1.1.4-no-exec.patch
+ patch -Np1 -i ../kernel-3.0-segfault.patch
# arch specific patch
patch -Np0 -i $srcdir/start-statd.patch
@@ -67,6 +69,7 @@ package() {
install -D -m 644 ../nfs-common.conf "$pkgdir/"etc/conf.d/nfs-common.conf
install -D -m 644 ../nfs-server.conf "$pkgdir/"etc/conf.d/nfs-server.conf
# directories
+ mkdir "$pkgdir/"etc/exports.d
mkdir "$pkgdir/"var/lib/nfs/rpc_pipefs
mkdir "$pkgdir/"var/lib/nfs/v4recovery
}
diff --git a/core/nfs-utils/kernel-3.0-segfault.patch b/core/nfs-utils/kernel-3.0-segfault.patch
new file mode 100644
index 000000000..3dba94a05
--- /dev/null
+++ b/core/nfs-utils/kernel-3.0-segfault.patch
@@ -0,0 +1,53 @@
+mount.nfs segfaults if kernel version number does not contain
+at least 3 components delimited with a dot.
+
+Avoid this by matching up to three unsigned integers inialised
+to zero, separated by dots.
+
+A version that does not start with an integer is probably a future
+version where the versioning evolved to another scheme.
+Return UINT_MAX which is guaranteed to be higher than existing
+versions. This would also make it possible to easily identify
+versions that do not start with an integer.
+
+Signed-off-by: Luk Claes <luk@...>
+---
+ utils/mount/version.h | 16 +++++++++-------
+ 1 files changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/utils/mount/version.h b/utils/mount/version.h
+index af61a6f..531cf68 100644
+--- a/utils/mount/version.h
++++ b/utils/mount/version.h
+@@ -23,8 +23,8 @@
+ #ifndef _NFS_UTILS_MOUNT_VERSION_H
+ #define _NFS_UTILS_MOUNT_VERSION_H
+
+-#include <stdlib.h>
+-#include <string.h>
++#include <stdio.h>
++#include <limits.h>
+
+ #include <sys/utsname.h>
+
+@@ -37,14 +37,16 @@ static inline unsigned int MAKE_VERSION(unsigned int p, unsigned int q,
+ static inline unsigned int linux_version_code(void)
+ {
+ struct utsname my_utsname;
+- unsigned int p, q, r;
++ unsigned int p, q = 0, r = 0;
+
++ /* UINT_MAX as backward compatibility code should not be run */
+ if (uname(&my_utsname))
+- return 0;
++ return UINT_MAX;
+
+- p = (unsigned int)atoi(strtok(my_utsname.release, "."));
+- q = (unsigned int)atoi(strtok(NULL, "."));
+- r = (unsigned int)atoi(strtok(NULL, "."));
++ /* UINT_MAX as future versions might not start with an integer */
++ if (sscanf(my_utsname.release, "%u.%u.%u", &p, &q, &r) < 1)
++ return UINT_MAX;
++
+ return MAKE_VERSION(p, q, r);
+ }
diff --git a/core/pam/PKGBUILD b/core/pam/PKGBUILD
index 5a4f10780..4836f52a6 100644
--- a/core/pam/PKGBUILD
+++ b/core/pam/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 127852 2011-06-18 20:12:05Z stephane $
+# $Id: PKGBUILD 134648 2011-08-07 10:12:55Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=pam
-pkgver=1.1.3
-pkgrel=2
+pkgver=1.1.4
+pkgrel=1
pkgdesc="PAM (Pluggable Authentication Modules) library"
arch=('i686' 'x86_64')
license=('GPL2')
url="http://www.kernel.org/pub/linux/libs/pam/"
-depends=('glibc' 'db' 'cracklib')
+depends=('glibc' 'db' 'cracklib' 'libtirpc')
makedepends=('flex' 'w3m' 'docbook-xml>=4.4' 'docbook-xsl')
backup=(etc/security/{access.conf,group.conf,limits.conf,namespace.conf,namespace.init,pam_env.conf,time.conf} etc/pam.d/other etc/default/passwd etc/environment)
source=(http://www.kernel.org/pub/linux/libs/pam/library/Linux-PAM-$pkgver.tar.bz2
ftp://ftp.suse.com/pub/people/kukuk/pam/pam_unix2/pam_unix2-2.6.tar.bz2
other)
options=('!libtool' '!emptydirs')
-md5sums=('6db7fcb5db6253350e3a4648ceac40e7'
+md5sums=('e9af5fb27bb22edb55d077e2888b3ebc'
'e2788389a6c59224110a45fcff30e02b'
'6e6c8719e5989d976a14610f340bd33a')
diff --git a/core/syslinux/PKGBUILD b/core/syslinux/PKGBUILD
index 03f529f11..a999277f1 100644
--- a/core/syslinux/PKGBUILD
+++ b/core/syslinux/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 120229 2011-04-21 12:44:04Z tpowa $
+# $Id: PKGBUILD 134206 2011-08-02 14:26:49Z ibiru $
# Maintainer: Thomas Bächler <thomas@archlinux.org>
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=syslinux
pkgver=4.04
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
pkgdesc="Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE"
url="http://syslinux.zytor.com/"
@@ -23,7 +23,7 @@ source=(http://www.kernel.org/pub/linux/utils/boot/syslinux/$pkgname-${pkgver}.t
syslinux-install_update)
md5sums=('a3936208767eb7ced65320abe2e33a10'
'5274062f91931eae6573f1ec3cd5b640'
- '5ad0a9cccd60ada4fd5a93380c76d5df'
+ '4dc27d8ab3802f8e50f3dda28168ce6d'
'b5b4953c0a5a01cd16441402f6321765')
build() {
diff --git a/core/syslinux/syslinux.cfg b/core/syslinux/syslinux.cfg
index 2212283a8..02127d21d 100644
--- a/core/syslinux/syslinux.cfg
+++ b/core/syslinux/syslinux.cfg
@@ -51,15 +51,15 @@ MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
LABEL arch
MENU LABEL Arch Linux
- LINUX ../vmlinuz26
+ LINUX ../vmlinuz-linux
APPEND root=/dev/sda3 ro
- INITRD ../kernel26.img
+ INITRD ../initramfs-linux.img
LABEL archfallback
MENU LABEL Arch Linux Fallback
- LINUX ../vmlinuz26
+ LINUX ../vmlinuz-linux
APPEND root=/dev/sda3 ro
- INITRD ../kernel26-fallback.img
+ INITRD ../initramfs-linux-fallback.img
#LABEL windows
# MENU LABEL Windows