diff --git a/coda-6.9.4-sname-fault.patch b/coda-6.9.4-sname-fault.patch new file mode 100644 index 0000000..a40eba8 --- /dev/null +++ b/coda-6.9.4-sname-fault.patch @@ -0,0 +1,57 @@ +diff -up coda-6.9.4/coda-src/vice/srv.cc.orig coda-6.9.4/coda-src/vice/srv.cc +--- coda-6.9.4/coda-src/vice/srv.cc.orig 2009-07-20 17:28:11.000000000 -0400 ++++ coda-6.9.4/coda-src/vice/srv.cc 2009-07-20 17:30:32.000000000 -0400 +@@ -315,7 +315,7 @@ void zombie(int sig) + + int main(int argc, char *argv[]) + { +- char sname[20]; ++ char sname[64]; + int i; + struct stat buff; + PROCESS serverPid, resPid, smonPid, resworkerPid; +@@ -522,12 +522,15 @@ int main(int argc, char *argv[]) + CODA_ASSERT(LWP_CreateProcess(CallBackCheckLWP, stack*1024, LWP_NORMAL_PRIORITY, + (void *)&cbwait, "CheckCallBack", &serverPid) == LWP_SUCCESS); + ++ + for (i=0; i < auth_lwps; i++) { ++ memset(sname, 0, SNAMESIZE); + sprintf(sname, "AuthLWP-%d",i); + CODA_ASSERT(LWP_CreateProcess(AuthLWP, stack*1024, LWP_NORMAL_PRIORITY, + (void *)&i, sname, &serverPid) == LWP_SUCCESS); + } + for (i=0; i < server_lwps; i++) { ++ memset(sname, 0, SNAMESIZE); + sprintf(sname, "ServerLWP-%d",i); + CODA_ASSERT(LWP_CreateProcess(ServerLWP, stack*1024, LWP_NORMAL_PRIORITY, + (void *)&i, sname, &serverPid) == LWP_SUCCESS); +@@ -535,16 +538,18 @@ int main(int argc, char *argv[]) + + /* set up resolution threads */ + for (i = 0; i < 2; i++){ ++ memset(sname, 0, SNAMESIZE); + sprintf(sname, "ResLWP-%d", i); + CODA_ASSERT(LWP_CreateProcess(ResLWP, stack*1024, + LWP_NORMAL_PRIORITY, (void *)&i, + sname, &resPid) == LWP_SUCCESS); +- } ++ } ++ memset(sname, 0, SNAMESIZE); + sprintf(sname, "ResCheckSrvrLWP"); + CODA_ASSERT(LWP_CreateProcess(ResCheckServerLWP, stack*1024, + LWP_NORMAL_PRIORITY, (void *)&i, + sname, &resPid) == LWP_SUCCESS); +- ++ memset(sname, 0, SNAMESIZE); + sprintf(sname, "ResCheckSrvrLWP_worker"); + CODA_ASSERT(LWP_CreateProcess(ResCheckServerLWP_worker, stack*1024, + LWP_NORMAL_PRIORITY, (void *)&i, +@@ -557,6 +562,7 @@ int main(int argc, char *argv[]) + SLog(29, "fileserver: returning from InitvolUtil"); + + extern void SmonDaemon(void *); ++ memset(sname, 0, SNAMESIZE); + sprintf(sname, "SmonDaemon"); + CODA_ASSERT(LWP_CreateProcess(SmonDaemon, stack*1024, + LWP_NORMAL_PRIORITY, (void *)&smonPid, diff --git a/coda.spec b/coda.spec index 46225e1..0fe19a1 100644 --- a/coda.spec +++ b/coda.spec @@ -1,6 +1,6 @@ Name: coda Version: 6.9.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Coda distributed file system Group: System Environment/Daemons License: GPLv2 @@ -14,6 +14,7 @@ Patch0: coda-6.9.3-client-fhs.patch Patch1: coda-6.9.4-rc2-no-default-krb.patch Patch2: coda-6.9.4-rc2-kernel-alias.patch Patch3: coda-6.9.4-gcc44.patch +Patch4: coda-6.9.4-sname-fault.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: lwp-devel >= 2.5 BuildRequires: rpc2-devel >= 2.8 @@ -93,6 +94,8 @@ system client. # 04d3fefdf27127589617cf955b1d3da799ebde5d %patch3 -p1 +#fix sname fortification break in main +%patch4 -p1 %build # note: remove the -I and -l here when upstream releases fix for krb5 building @@ -303,6 +306,9 @@ fi %changelog +* Mon Jul 20 2009 Neil Horman - 6.9.4-3 +- Fix fortification breaks in sname variable + * Tue Mar 31 2009 Neil Horman - 6.9.4-2 - Remove parser from coda-client, due to name conflict (bz 492953)