[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r1568 - in GNUnet/src: applications/fs/ecrs applications/fs
From: |
grothoff |
Subject: |
[GNUnet-SVN] r1568 - in GNUnet/src: applications/fs/ecrs applications/fs/module applications/testbed conf server transports util |
Date: |
Sat, 16 Jul 2005 14:50:34 -0700 (PDT) |
Author: grothoff
Date: 2005-07-16 14:50:19 -0700 (Sat, 16 Jul 2005)
New Revision: 1568
Modified:
GNUnet/src/applications/fs/ecrs/indexinfo.c
GNUnet/src/applications/fs/module/ondemand.c
GNUnet/src/applications/testbed/commands.c
GNUnet/src/applications/testbed/socket.c
GNUnet/src/applications/testbed/socket.h
GNUnet/src/applications/testbed/testbed.c
GNUnet/src/conf/wizard_curs.c
GNUnet/src/conf/wizard_util.c
GNUnet/src/server/tcpserver.c
GNUnet/src/transports/http.c
GNUnet/src/transports/smtp.c
GNUnet/src/transports/tcp.c
GNUnet/src/util/osconfig.c
GNUnet/src/util/tcpio.c
GNUnet/src/util/vector.c
Log:
fixing a bunch of 64-bit size_t related compiler warnings (but nothing that
looked like a major problem)
Modified: GNUnet/src/applications/fs/ecrs/indexinfo.c
===================================================================
--- GNUnet/src/applications/fs/ecrs/indexinfo.c 2005-07-16 21:25:05 UTC (rev
1567)
+++ GNUnet/src/applications/fs/ecrs/indexinfo.c 2005-07-16 21:50:19 UTC (rev
1568)
@@ -67,7 +67,7 @@
struct iiC * cls = ptr;
char * fullName;
char * lnkName;
- size_t size;
+ unsigned int size;
int ret;
fullName = MALLOC(strlen(dir) + strlen(fn) + 4);
@@ -82,6 +82,11 @@
size - 1);
if (ret == -1) {
if (errno == ENAMETOOLONG) {
+ if (size * 2 < size) {
+ FREE(lnkName);
+ FREE(fullName);
+ return OK; /* error */
+ }
GROW(lnkName,
size,
size * 2);
Modified: GNUnet/src/applications/fs/module/ondemand.c
===================================================================
--- GNUnet/src/applications/fs/module/ondemand.c 2005-07-16 21:25:05 UTC
(rev 1567)
+++ GNUnet/src/applications/fs/module/ondemand.c 2005-07-16 21:50:19 UTC
(rev 1568)
@@ -392,7 +392,7 @@
} else {
/* Delete it after 3 days */
if (*first_unavail - cronTime(NULL) > 3 * cronDAYS) {
- size_t len;
+ unsigned int len;
char * ofn;
int ret;
@@ -401,7 +401,15 @@
while ( ((ret = READLINK(fn, ofn, len)) == -1) &&
(errno == ENAMETOOLONG) &&
(len < 4 * 1024 * 1024) )
- GROW(ofn, len, len*2);
+ if (len * 2 < len) {
+ BREAK();
+ GROW(ofn, len, 0);
+ FREE(fn);
+ return SYSERR;
+ }
+ GROW(ofn,
+ len,
+ len*2);
if (ret != -1) {
LOG(LOG_ERROR,
Modified: GNUnet/src/applications/testbed/commands.c
===================================================================
--- GNUnet/src/applications/testbed/commands.c 2005-07-16 21:25:05 UTC (rev
1567)
+++ GNUnet/src/applications/testbed/commands.c 2005-07-16 21:50:19 UTC (rev
1568)
@@ -314,8 +314,8 @@
addr.sin_port
= htons(lport);
if (0 == BIND(s,
- &addr,
- sizeof(addr))) {
+ (const struct sockaddr *) &addr,
+ sizeof(struct sockaddr_in))) {
closefile(s);
break; /* found port! */
} else {
@@ -1453,7 +1453,7 @@
struct hostent *ip_info;
struct sockaddr_in soaddr;
int sock;
- int ret;
+ size_t ret;
char * command;
cron_t start;
char c;
@@ -1653,7 +1653,7 @@
gnunet_util_sleep(100 * cronMILLIS);
continue;
}
- if (ret <= 0)
+ if ( (ret == 0) || (ret == (size_t)-1) )
break; /* end of transmission or error */
if ((c=='\r') || (c=='\n'))
curpos += ret;
@@ -1687,7 +1687,7 @@
gnunet_util_sleep(20);
continue;
}
- if (ret <= 0)
+ if ( (ret == 0) || (ret == (size_t)-1) )
break; /* end of file or error*/
curpos += ret;
Modified: GNUnet/src/applications/testbed/socket.c
===================================================================
--- GNUnet/src/applications/testbed/socket.c 2005-07-16 21:25:05 UTC (rev
1567)
+++ GNUnet/src/applications/testbed/socket.c 2005-07-16 21:50:19 UTC (rev
1568)
@@ -142,7 +142,8 @@
/**
* Print a message in the testbed-shell.
*/
-void XPRINTF(char * fmt, ...) {
+void XPRINTF(const char * fmt,
+ ...) {
va_list args;
int n;
int size = 1024;
Modified: GNUnet/src/applications/testbed/socket.h
===================================================================
--- GNUnet/src/applications/testbed/socket.h 2005-07-16 21:25:05 UTC (rev
1567)
+++ GNUnet/src/applications/testbed/socket.h 2005-07-16 21:50:19 UTC (rev
1568)
@@ -51,7 +51,7 @@
unsigned int readSocket(char ** rbuf,
unsigned int * len);
-void XPRINTF(char * fmt,
- ...);
+void XPRINTF(const char * fmt,
+ ...);
#endif
Modified: GNUnet/src/applications/testbed/testbed.c
===================================================================
--- GNUnet/src/applications/testbed/testbed.c 2005-07-16 21:25:05 UTC (rev
1567)
+++ GNUnet/src/applications/testbed/testbed.c 2005-07-16 21:50:19 UTC (rev
1568)
@@ -1022,7 +1022,7 @@
struct hostent *ip_info;
struct sockaddr_in soaddr;
int sock;
- int ret;
+ size_t ret;
char * command;
char * secure;
char * trusted;
@@ -1256,7 +1256,7 @@
gnunet_util_sleep(100 * cronMILLIS);
continue;
}
- if (ret <= 0)
+ if ( (ret == 0) || (ret == (size_t) -1) )
break; /* end of transmission or error */
if ((c=='\r') || (c=='\n'))
curpos += ret;
Modified: GNUnet/src/conf/wizard_curs.c
===================================================================
--- GNUnet/src/conf/wizard_curs.c 2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/conf/wizard_curs.c 2005-07-16 21:50:19 UTC (rev 1568)
@@ -38,15 +38,21 @@
static struct dialog_list_item **nic_items;
static int nic_item_count = 0;
-void showCursErr(char *prefix, char *error) {
- char *err;
+void showCursErr(const char *prefix,
+ const char *error) {
+ char *err;
- err = malloc(strlen(prefix) + strlen(error) + 2);
- sprintf(err, "%s %s", prefix, error);
-
- dialog_msgbox(_("Error"), err, rows, cols - 5, 1);
-
- free(err);
+ err = malloc(strlen(prefix) + strlen(error) + 2);
+ sprintf(err,
+ "%s %s",
+ prefix,
+ error);
+ dialog_msgbox(_("Error"),
+ err,
+ rows,
+ cols - 5,
+ 1);
+ free(err);
}
void insert_nic_curs(char *name, int defaultNIC)
@@ -563,20 +569,25 @@
/* Write conf */
if (conf_write() != 0) {
- char *err, *prefix, *strerr;
+ char * err;
+ const char * prefix;
+ const char * strerr;
- prefix = _("Unable to save configuration file %s:
%s.\n\nTry again?");
- strerr = STRERROR(errno);
+ prefix = _("Unable to save configuration file %s: %s.\n\nTry
again?");
+ strerr = STRERROR(errno);
- err = malloc(strlen(conf) + strlen(prefix) +
strlen(strerr) + 1);
- sprintf(err, prefix, conf, strerr);
+ err = malloc(strlen(conf) + strlen(prefix) + strlen(strerr) +
1);
+ sprintf(err, prefix, conf, strerr);
- ret = dialog_yesno(_("GNUnet configuration"), err,
rows, cols - 5);
+ ret = dialog_yesno(_("GNUnet configuration"),
+ err,
+ rows,
+ cols - 5);
- free(err);
- }
+ free(err);
+ }
else
- ret = 1;
+ ret = 1;
free(conf);
Modified: GNUnet/src/conf/wizard_util.c
===================================================================
--- GNUnet/src/conf/wizard_util.c 2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/conf/wizard_util.c 2005-07-16 21:50:19 UTC (rev 1568)
@@ -79,48 +79,50 @@
* @return 1 on success, 0 on error
*/
int wiz_autostartService(int doAutoStart, char *username, char *groupname) {
- char *err;
- int ret = autostartService(doAutoStart, username, groupname);
-
- if (ret ) {
+ int ret = autostartService(doAutoStart,
+ username,
+ groupname);
+ if (ret ) {
#ifdef MINGW
- switch(ret) {
- case 1:
- err = winErrorStr(_("Can't open Service Control
Manager"),
- GetLastError());
- break;
- case 2:
- if (GetLastError() != ERROR_SERVICE_EXISTS) {
- err = winErrorStr(_("Can't create
service"),
- GetLastError());
- }
- break;
- case 3:
- err = winErrorStr(_("Error changing the
permissions of the GNUnet directory"),
- GetLastError());
- break;
- case 4:
- err = _("Cannot write to the regisitry");
- break;
- case 5:
- err = winErrorStr(_("Can't access the service"),
- GetLastError());
- case 6:
- err = winErrorStr(_("Can't delete the service"),
- GetLastError());
- default:
- err = winErrorStr(_("Unknown error"),
GetLastError());
- }
-
-
- MessageBox(GetActiveWindow(), err, _("Error"), MB_ICONSTOP |
MB_OK);
- free(err);
+ char *err;
+ switch(ret) {
+ case 1:
+ err = winErrorStr(_("Can't open Service Control Manager"),
+ GetLastError());
+ break;
+ case 2:
+ if (GetLastError() != ERROR_SERVICE_EXISTS) {
+ err = winErrorStr(_("Can't create service"),
+ GetLastError());
+ }
+ break;
+ case 3:
+ err = winErrorStr(_("Error changing the permissions of"
+ " the GNUnet directory"),
+ GetLastError());
+ break;
+ case 4:
+ err = _("Cannot write to the regisitry");
+ break;
+ case 5:
+ err = winErrorStr(_("Can't access the service"),
+ GetLastError());
+ case 6:
+ err = winErrorStr(_("Can't delete the service"),
+ GetLastError());
+ default:
+ err = winErrorStr(_("Unknown error"), GetLastError());
+ }
+ MessageBox(GetActiveWindow(),
+ err,
+ _("Error"),
+ MB_ICONSTOP | MB_OK);
+ free(err);
#endif
-
- return 0;
- }
-
- return 1;
+
+ return 0;
+ }
+ return 1;
}
/**
@@ -130,39 +132,38 @@
* @return 1 on success
*/
int wiz_createGroupUser(char *group_name, char *user_name) {
- char *err;
- int ret = createGroupUser(group_name, user_name);
-
- if (ret) {
+ int ret = createGroupUser(group_name, user_name);
+
+ if (ret) {
#ifdef MINGW
- switch(ret) {
- case 1:
- err = _("This version of Windows does not
support "
- "multiple users.");
- break;
- case 2:
- err = winErrorStr(_("Error creating user"),
GetLastError());
- break;
- case 3:
- err = winErrorStr(_("Error accessing local
security policy"), GetLastError());
- break;
- case 4:
- err = winErrorStr(_("Error granting service
right to user"), GetLastError());
- break;
- default:
- err = winErrorStr(_("Unknown error while
creating a new user"), GetLastError());
- }
+ char *err;
- if (err) {
- MessageBox(0, err, _("Error"), MB_ICONSTOP | MB_OK);
- free(err);
- }
-#endif
-
- return 0;
- }
-
- return 1;
+ switch(ret) {
+ case 1:
+ err = _("This version of Windows does not support "
+ "multiple users.");
+ break;
+ case 2:
+ err = winErrorStr(_("Error creating user"), GetLastError());
+ break;
+ case 3:
+ err = winErrorStr(_("Error accessing local security policy"),
GetLastError());
+ break;
+ case 4:
+ err = winErrorStr(_("Error granting service right to user"),
GetLastError());
+ break;
+ default:
+ err = winErrorStr(_("Unknown error while creating a new user"),
GetLastError());
+ }
+
+ if (err) {
+ MessageBox(0, err, _("Error"), MB_ICONSTOP | MB_OK);
+ free(err);
+ }
+#endif
+ return 0;
+ }
+ return 1;
}
/* end of wizard_util.c */
Modified: GNUnet/src/server/tcpserver.c
===================================================================
--- GNUnet/src/server/tcpserver.c 2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/server/tcpserver.c 2005-07-16 21:50:19 UTC (rev 1568)
@@ -585,7 +585,7 @@
}
}
if (FD_ISSET(sock, &writeSet)) {
- int ret;
+ size_t ret;
#if DEBUG_TCPHANDLER
LOG(LOG_DEBUG,
@@ -635,7 +635,7 @@
pos = ch;
continue;
}
- if ((unsigned int)ret == pos->writeBufferSize) {
+ if (ret == pos->writeBufferSize) {
FREENONNULL(pos->writeBuffer);
pos->writeBuffer = NULL;
pos->writeBufferSize = 0;
Modified: GNUnet/src/transports/http.c
===================================================================
--- GNUnet/src/transports/http.c 2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/transports/http.c 2005-07-16 21:50:19 UTC (rev 1568)
@@ -854,7 +854,7 @@
}
}
if (FD_ISSET(sock, &writeSet)) {
- int ret;
+ size_t ret;
int success;
try_again_1:
@@ -862,7 +862,7 @@
httpSession->wbuff,
httpSession->wpos,
&ret);
- if (success == SYSERR) {
+ if ( (success == SYSERR) || (ret == (size_t) -1) ) {
LOG_STRERROR(LOG_WARNING, "send");
destroySession(i);
i--;
@@ -874,7 +874,7 @@
gnunet_util_sleep(20);
goto try_again_1;
}
- if (stats != NULL)
+ if (stats != NULL)
stats->change(stat_bytesSent,
ret);
@@ -886,7 +886,8 @@
i--;
continue;
}
- if ((unsigned int)ret == httpSession->wpos) {
+ GNUNET_ASSERT(ret <= httpSession->wpos);
+ if (ret == httpSession->wpos) {
FREENONNULL(httpSession->wbuff);
httpSession->wbuff = NULL;
httpSession->wpos = 0;
Modified: GNUnet/src/transports/smtp.c
===================================================================
--- GNUnet/src/transports/smtp.c 2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/transports/smtp.c 2005-07-16 21:50:19 UTC (rev 1568)
@@ -1,5 +1,6 @@
/*
This file is part of GNUnet
+ (C) 2003, 2004 Christian Grothoff (and other contributing authors)
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -335,7 +336,7 @@
char * expect) {
int pos;
char buff[MAX_SMTP_LINE];
- int i;
+ size_t i;
pos = 0;
@@ -352,7 +353,7 @@
goto try_again;
}
- if (i <= 0)
+ if ( (i == 0) || (i == (size_t) -1) )
return SYSERR;
while (i > 0) {
if (buff[pos++] == '\n')
@@ -362,11 +363,12 @@
}
END:
buff[pos] = '\0';
- if (strncmp(expect, &buff[0], strlen(expect)) == 0)
+ if (strncmp(expect,
+ &buff[0],
+ strlen(expect)) == 0)
return OK;
- else {
+ else
return SYSERR;
- }
}
/**
Modified: GNUnet/src/transports/tcp.c
===================================================================
--- GNUnet/src/transports/tcp.c 2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/transports/tcp.c 2005-07-16 21:50:19 UTC (rev 1568)
@@ -727,7 +727,7 @@
}
}
if (FD_ISSET(sock, &writeSet)) {
- int ret;
+ size_t ret;
int success;
try_again_1:
@@ -740,7 +740,7 @@
tcpSession->wbuff,
tcpSession->wpos,
&ret);
- if (success == SYSERR) {
+ if ( (success == SYSERR) || (ret == (size_t) -1) ) {
LOG_STRERROR(LOG_WARNING, "send");
destroySession(i);
i--;
@@ -768,7 +768,7 @@
i--;
continue;
}
- if ((unsigned int)ret == tcpSession->wpos) {
+ if (ret == tcpSession->wpos) {
FREENONNULL(tcpSession->wbuff);
tcpSession->wbuff = NULL;
tcpSession->wpos = 0;
Modified: GNUnet/src/util/osconfig.c
===================================================================
--- GNUnet/src/util/osconfig.c 2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/util/osconfig.c 2005-07-16 21:50:19 UTC (rev 1568)
@@ -90,17 +90,15 @@
* @return 1 if yes, 0 otherwise
*/
int isOSAutostartCapable() {
-#ifdef WINDOWS
- return 1;
-#endif
#ifdef LINUX
- if (ACCESS("/usr/sbin/update-rc.d", X_OK) == 0) {
- /* Debian */
- if (ACCESS("/etc/init.d/", W_OK) == 0)
- return 1;
- }
-
- return 0;
+ if (ACCESS("/usr/sbin/update-rc.d", X_OK) == 0) {
+ /* Debian */
+ if (ACCESS("/etc/init.d/", W_OK) == 0)
+ return 1;
+ }
+ return 0;
+#else
+ return 1;
#endif
}
@@ -113,170 +111,169 @@
*/
int autostartService(int doAutoStart, char *username, char *groupname) {
#ifdef WINDOWS
- if (doAutoStart)
+ if (doAutoStart)
+ {
+ if (IsWinNT())
{
- if (IsWinNT())
- {
- char *err = NULL;
- DWORD dwErr = 0;
-
- if (username && !strlen(username))
- username = NULL;
-
- /* Install service */
- switch(InstallAsService(username))
- {
- case 0:
- case 1:
- break;
- case 2:
- if (GetLastError() !=
ERROR_SERVICE_EXISTS)
- return 1;
- case 3:
- return 2;
- default:
- return -1;
- }
-
- /* Grant permissions to the GNUnet directory */
- if ((!err || dwErr == ERROR_SERVICE_EXISTS) && username)
- {
- char szHome[_MAX_PATH + 1];
-
- plibc_conv_to_win_path("/", szHome);
-
- if (!AddPathAccessRights(szHome, username,
GENERIC_ALL))
- return 3;
- }
- }
- else
- {
- char szPath[_MAX_PATH + 1];
- plibc_conv_to_win_path("/bin/gnunetd.exe", szPath);
-
- if (RegSetValue(HKEY_LOCAL_MACHINE,
-
"Software\\Microsoft\\Windows\\CurrentVersion\\Run", REG_SZ, szPath,
- strlen(szPath)) != ERROR_SUCCESS)
- {
- return 4;
- }
- }
+ char *err = NULL;
+ DWORD dwErr = 0;
+
+ if (username && !strlen(username))
+ username = NULL;
+
+ /* Install service */
+ switch(InstallAsService(username))
+ {
+ case 0:
+ case 1:
+ break;
+ case 2:
+ if (GetLastError() != ERROR_SERVICE_EXISTS)
+ return 1;
+ case 3:
+ return 2;
+ default:
+ return -1;
+ }
+
+ /* Grant permissions to the GNUnet directory */
+ if ((!err || dwErr == ERROR_SERVICE_EXISTS) && username)
+ {
+ char szHome[_MAX_PATH + 1];
+
+ plibc_conv_to_win_path("/", szHome);
+
+ if (!AddPathAccessRights(szHome, username, GENERIC_ALL))
+ return 3;
+ }
}
- else
+ else
{
- if (IsWinNT())
- {
- char *err = NULL;
-
- switch (UninstallService())
- {
- case 0:
- case 1:
- break;
- case 2:
- return 1;
- case 3:
- return 5;
- case 4:
- return 6;
- default:
- return -1;
- }
- }
- else
- {
- HKEY hKey;
-
- if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
- "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0,
KEY_SET_VALUE,
+ char szPath[_MAX_PATH + 1];
+ plibc_conv_to_win_path("/bin/gnunetd.exe", szPath);
+
+ if (RegSetValue(HKEY_LOCAL_MACHINE,
+ "Software\\Microsoft\\Windows\\CurrentVersion\\Run",
REG_SZ, szPath,
+ strlen(szPath)) != ERROR_SUCCESS)
+ {
+ return 4;
+ }
+ }
+ }
+ else
+ {
+ if (IsWinNT())
+ {
+ char *err = NULL;
+
+ switch (UninstallService())
+ {
+ case 0:
+ case 1:
+ break;
+ case 2:
+ return 1;
+ case 3:
+ return 5;
+ case 4:
+ return 6;
+ default:
+ return -1;
+ }
+ }
+ else
+ {
+ HKEY hKey;
+
+ if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
+ "Software\\Microsoft\\Windows\\CurrentVersion\\Run",
0, KEY_SET_VALUE,
&hKey) == ERROR_SUCCESS)
- {
- RegDeleteValue(hKey, "GNUnet");
-
- RegCloseKey(hKey);
- }
- }
+ {
+ RegDeleteValue(hKey, "GNUnet");
+
+ RegCloseKey(hKey);
+ }
}
+ }
#else
- /* Unix */
+ /* Unix */
+ if (ACCESS("/usr/sbin/update-rc.d", X_OK) == 0) {
+ /* Debian */
+ if (doAutoStart) {
+ struct stat buf;
+ if (STAT("/etc/init.d/gnunetd", &buf) == -1) {
+ /* create init file */
+ FILE *f = FOPEN("/etc/init.d/gnunetd", "w");
+ if (! f)
+ return 1;
+
+ fputs("#! /bin/sh\n"
+ "#\n"
+ "# Automatically created by gnunet-setup\n"
+ "#\n"
+ "\n"
+
"PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin\n"
+ "PIDFILE=/var/run/gnunetd/gnunetd.pid\n"
+ "\n"
+ "case \"$1\" in\n"
+ " start)\n"
+ " echo -n \"Starting GNUnet: \"\n"
+ " gnunetd\n"
+ " echo \"gnunetd\"\n"
+ " ;;\n"
+ " stop)\n"
+ " echo -n \"Stopping GNUnet: \"\n"
+ " kill `cat $PIDFILE`\n"
+ " echo \"gnunetd\"\n"
+ " ;;\n"
+ " reload)\n"
+ " echo -n \"Reloading GNUnet: \"\n"
+ " kill -HUP `cat $PIDFILE`\n"
+ " echo \"gnunetd\"\n"
+ " ;;\n"
+ " restart|force-reload)\n"
+ " echo \"Restarting GNUnet: gnunetd...\"\n"
+ " $0 stop\n"
+ " sleep 1\n"
+ " $0 start\n"
+ " ;;\n"
+ " *)\n"
+ " echo \"Usage: /etc/init.d/gnunetd
{start|stop|reload|restart|force-reload}\" >&2\n"
+ " exit 1\n"
+ " ;;\n"
+ "\n"
+ "esac\n"
+ "exit 0\n", f);
+ fclose(f);
+ CHMOD("/etc/init.d/gnunetd", S_IRWXU | S_IRGRP | S_IXGRP |
+ S_IROTH | S_IXOTH);
+ }
+ errno = system("/usr/sbin/update-rc.d gnunetd defaults");
+ if (errno != 0)
+ return 1;
+ }
+ else {
+ if (UNLINK("/etc/init.d/gnunetd") != -1 || errno == ENOENT) {
if (ACCESS("/usr/sbin/update-rc.d", X_OK) == 0) {
- /* Debian */
- if (doAutoStart) {
- struct stat buf;
- if (STAT("/etc/init.d/gnunetd", &buf) == -1) {
- /* create init file */
- FILE *f = FOPEN("/etc/init.d/gnunetd", "w");
- if (! f)
- return 1;
-
- fputs("#! /bin/sh\n"
- "#\n"
- "#
Automatically created by gnunet-setup\n"
- "#\n"
- "\n"
-
"PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin\n"
-
"PIDFILE=/var/run/gnunetd/gnunetd.pid\n"
- "\n"
- "case
\"$1\" in\n"
- "
start)\n"
- "
echo -n \"Starting GNUnet: \"\n"
- "
gnunetd\n"
- "
echo \"gnunetd\"\n"
- "
;;\n"
- "
stop)\n"
- "
echo -n \"Stopping GNUnet: \"\n"
- "
kill `cat $PIDFILE`\n"
- "
echo \"gnunetd\"\n"
- "
;;\n"
- "
reload)\n"
- "
echo -n \"Reloading GNUnet: \"\n"
- "
kill -HUP `cat $PIDFILE`\n"
- "
echo \"gnunetd\"\n"
- "
;;\n"
- "
restart|force-reload)\n"
- "
echo \"Restarting GNUnet: gnunetd...\"\n"
- "
$0 stop\n"
- "
sleep 1\n"
- "
$0 start\n"
- "
;;\n"
- "
*)\n"
- "
echo \"Usage: /etc/init.d/gnunetd
{start|stop|reload|restart|force-reload}\" >&2\n"
- "
exit 1\n"
- "
;;\n"
- "\n"
- "esac\n"
- "exit 0\n", f);
- fclose(f);
- CHMOD("/etc/init.d/gnunetd", S_IRWXU |
S_IRGRP | S_IXGRP |
- S_IROTH | S_IXOTH);
- }
- errno = system("/usr/sbin/update-rc.d gnunetd
defaults");
- if (errno != 0)
- return 1;
- }
- else {
- if (UNLINK("/etc/init.d/gnunetd") != -1 || errno ==
ENOENT) {
- if (ACCESS("/usr/sbin/update-rc.d", X_OK) == 0)
{
- errno = system("/usr/sbin/update-rc.d
gnunetd remove");
- if (errno != 0) {
- errno = EPERM;
- return 1;
- }
- }
- else {
- errno = EPERM;
- return 1;
- }
- }
- else
- return 1;
- }
+ errno = system("/usr/sbin/update-rc.d gnunetd remove");
+ if (errno != 0) {
+ errno = EPERM;
+ return 1;
+ }
}
- else
- return 1;
-
+ else {
+ errno = EPERM;
+ return 1;
+ }
+ }
+ else
+ return 1;
+ }
+ }
+ else
+ return 1;
#endif
- return 0;
+ return 0;
}
/**
Modified: GNUnet/src/util/tcpio.c
===================================================================
--- GNUnet/src/util/tcpio.c 2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/util/tcpio.c 2005-07-16 21:50:19 UTC (rev 1568)
@@ -279,8 +279,8 @@
*/
int writeToSocketNonBlocking(GNUNET_TCP_SOCKET * sock,
const CS_HEADER * buffer) {
- int res;
- int size;
+ size_t res;
+ size_t size;
if (SYSERR == checkSocket(sock))
return SYSERR;
@@ -290,7 +290,7 @@
sock->outBufPending,
sock->outBufLen,
&res);
- if (res < 0) {
+ if (res == (size_t)-1) {
if ( (errno == EWOULDBLOCK) ||
(errno == EAGAIN) ) {
MUTEX_UNLOCK(&sock->writelock);
@@ -301,7 +301,7 @@
MUTEX_UNLOCK(&sock->writelock);
return SYSERR;
}
- if ((unsigned int)res < sock->outBufLen) {
+ if (res < sock->outBufLen) {
memcpy(sock->outBufPending,
&((char*)sock->outBufPending)[res],
sock->outBufLen - res);
@@ -319,10 +319,10 @@
size = ntohs(buffer->size);
SEND_NONBLOCKING(sock->socket,
- (char*)buffer,
- size,
- &res);
- if (res < 0) {
+ (const char*)buffer,
+ size,
+ &res);
+ if (res == (size_t) -1) {
if ( (errno == EWOULDBLOCK) ||
(errno == EAGAIN) ) {
MUTEX_UNLOCK(&sock->writelock);
@@ -336,10 +336,11 @@
MUTEX_UNLOCK(&sock->writelock);
return SYSERR;
}
+ GNUNET_ASSERT(res <= size);
if (res != size) {
sock->outBufPending = MALLOC(size - res);
memcpy(sock->outBufPending,
- &((char*)buffer)[res],
+ &((const char*)buffer)[res],
size - res);
sock->outBufLen = size - res;
MUTEX_UNLOCK(&sock->writelock);
Modified: GNUnet/src/util/vector.c
===================================================================
--- GNUnet/src/util/vector.c 2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/util/vector.c 2005-07-16 21:50:19 UTC (rev 1568)
@@ -70,11 +70,11 @@
for (vs = v->segmentsHead; vs; vs = vs->next) {
fprintf(stderr,
- "Segment-size: %3d / %d [%d...%d]: ",
- vs->size,
- v->VECTOR_SEGMENT_SIZE,
- sum,
- sum + vs->size - 1);
+ "Segment-size: %3llu / %llu [%llu...%llu]: ",
+ (unsigned long long) vs->size,
+ (unsigned long long) v->VECTOR_SEGMENT_SIZE,
+ (unsigned long long) sum,
+ (unsigned long long) sum + vs->size - 1);
for (n=0;n<vs->size;n++) {
fprintf(stderr,
"%p (%d), ",
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r1568 - in GNUnet/src: applications/fs/ecrs applications/fs/module applications/testbed conf server transports util,
grothoff <=