Compare commits

..
78 Commits
36 .. 41
Author SHA1 Message Date
Arjan van de Ven 6f27d35886 run as nice 2017-05-08 15:40:11 +00:00
Arjan van de Ven 286069732b allow service to start early 2017-05-07 15:42:30 +00:00
Ikey Doherty 15d3176382 Bump v38 to resync configure + tags
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2017-03-09 17:48:59 +00:00
Ikey Doherty d33715f6e9 Bump v34
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2017-03-09 17:46:10 +00:00
Ikey Doherty a8dbe93c7e nica/files: Ensure we really do break on a read error
Previously nc_copy_file would return true regardless of a source read
error, flagged in analysis. Ensure we bypass the set of ret to true and
return the correct value in all instances.

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2017-03-09 15:44:09 +00:00
Ikey Doherty ac9e0cbefb server: Remove useless assignment of prefix
This particular assignment is never used, as if this path fails, we go to
the thread end. We then reassign prefix after we split the input string.

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2017-03-09 15:38:29 +00:00
Ikey Doherty 888d469c28 nica/hashmap: Fix signature issue & item dereference
The signature was incorrect for inserting buckets, as we used an int, not
a boolean. Another issue resolved with this change is the potential
dereferencing of a null pointer by not having checked first if item was
NULL when setting the next pointer.

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2017-03-09 15:35:29 +00:00
Arjan van de Ven e9e16fd560 add --no-same-permissions as well 2017-03-09 14:52:37 +00:00
Auke Kok f962d43af2 Tag v33 2016-11-01 09:20:19 -07:00
Auke Kok cfacaece11 Return on error here too.
Missed a 'return' catching an error.
2016-11-01 09:15:12 -07:00
Auke Kok 96a1f7cffc Add reasonable connection timeout limits.
Adds a 30second connection timeout, and a low bandwith timeout
value (at 1kb/sec over 30 seconds) where the attempt will fail.
This provides some feedback to users that network issues are
preventing debug info from being loaded.
2016-11-01 09:15:12 -07:00
Arjan van de Ven 26c614fbe2 dumb down due to limited infra 2016-11-01 13:17:49 +00:00
Arjan van de Ven 7e694a71ab use http/2 2016-11-01 12:56:35 +00:00
Arjan van de Ven c618401317 use CDN urls 2016-11-01 12:53:04 +00:00
Arjan van de Ven c0321b2872 don't spew the journal 2016-11-01 12:52:17 +00:00
Ikey Doherty bff72b661b Release v32
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-18 19:21:20 +01:00
Ikey Doherty 4c9b2ee263 server: Disallow gdb -p attach, drop CAP_SYS_ADMIN
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-18 15:03:28 +01:00
Ikey Doherty 8cf3382343 Use correct types in absence of stdatomic.h
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-18 14:37:07 +01:00
Ikey Doherty ccbb7bb31c Use pthread mutex in the absence of stdatomic C11 atomics
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-18 14:33:26 +01:00
Ikey Doherty aacde58ece Add configure output, and check for stdatomics
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-18 14:18:56 +01:00
Ikey Doherty a6a25cbfc1 Release v31
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-17 17:29:35 +01:00
Ikey Doherty a54f328ad7 Fix print statements when a dir cannot be created
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-17 17:20:31 +01:00
Ikey Doherty 27a9b3923a Fix distcheck
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-17 17:16:53 +01:00
Ikey Doherty 374a17ea95 Stick myself in authors
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-17 17:14:47 +01:00
Ikey Doherty 80c2659731 Address unused return issues
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-17 17:13:41 +01:00
Ikey Doherty 6d46f4d404 Fix some warnings
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-17 17:07:57 +01:00
Ikey Doherty 81149b109b Make use of autofree to simplify exit conditions
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-17 17:03:54 +01:00
Ikey Doherty 8d9d392ce5 server: Forcibly inline functions
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-17 16:41:17 +01:00
Ikey Doherty 4e8854f491 server: Atomically manage a maximum connection ceiling
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-17 16:32:01 +01:00
Ikey Doherty 3951a29dcc Fix up some warnings
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-17 15:17:05 +01:00
Ikey Doherty f153d6079a fuse: Greatly simplify allocation and management of strings
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 17:08:00 +01:00
Ikey Doherty 95cd32d127 Fix last of the mkdir users
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 16:54:09 +01:00
Ikey Doherty 5d3868ad29 Get rid of mkdir calls
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 16:50:27 +01:00
Ikey Doherty a6952576e6 Use consistent file headers
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 16:43:09 +01:00
Ikey Doherty 05fd5593e2 Incorporate the nica files component
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 16:42:41 +01:00
Ikey Doherty 54918c1c02 Take care of unused variables
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 16:37:52 +01:00
Ikey Doherty e715583dc5 Drop glib entirely
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 16:34:21 +01:00
Ikey Doherty a3f4a2071c Use a hashmap to maintain memory
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 16:30:17 +01:00
Ikey Doherty 7016c88df6 Incorporate portions of libnica
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 16:18:38 +01:00
Ikey Doherty c569470df3 Use curly braces everywhere
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 15:48:34 +01:00
Ikey Doherty 883a4b0e42 Fix last commit
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 15:35:01 +01:00
Ikey Doherty a63ceb51b5 Swap GMutex for pthread_mutex_t
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 15:33:37 +01:00
Ikey Doherty b16557179c Add strict flags
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 15:22:21 +01:00
Ikey Doherty 4d1ac0e90b Apply clang-format to codebase (switching to spaces for maintainence)
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 15:20:29 +01:00
Ikey Doherty ff8275f7a1 Incorporate clang-format helpers (3.8)
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 15:20:12 +01:00
Ikey Doherty 80ae1d110c Add an autogen script
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-05-11 15:17:46 +01:00
Arjan van de Ven bba42e469e version 30 2016-02-01 14:34:27 -05:00
Patrick McCarty 13c7727a3a Bump version for release 2015-10-20 10:24:49 -07:00
Patrick McCarty 4632c932d3 Do not log for non-fatal curl errors 2015-10-20 10:17:40 -07:00
Patrick McCarty 7fcebafd08 Bump version for release
This release fixes the handling of a server HTTP 304 response, now
treating it as non-fatal.
2015-10-02 12:15:07 -07:00
Patrick McCarty 718c01f65b Treat HTTP 304 codes as non-fatal
We set the If-Modified-Since header field for each GET request, and if
the condition fails, the server will respond with HTTP 304.

The 304 means the cached debuginfo is up-to-date, not requiring a fresh
download. Since this condition is non-fatal, avoid swapping the download
URLs in this case.
2015-10-02 12:15:02 -07:00
Patrick McCarty 584cbb5b4e Update gitignore 2015-10-02 10:36:39 -07:00
Patrick McCarty 85b8895e15 Bump version for release
This release fixes some compiler warnings and the distcheck target, and
addresses a recurrent 404 issue by avoiding a download attempt for
".tar" from the root debuginfo directory.
2015-09-29 12:32:23 -07:00
Patrick McCarty de08f0ebd5 Avoid attempt to download {lib,src}/debug
The associated cache directories in /var/cache/debuginfo/{lib,src}
already exist, and the tar for / is not created on the server, so avoid
downloading it altogether.
2015-09-29 12:25:13 -07:00
Patrick McCarty b51f835219 Refresh version in configure.ac
The configure.ac version was falling behind the tagged version...
2015-09-28 14:02:03 -07:00
Patrick McCarty 905e8051b2 Fix distcheck target
Adding two --with-* configure options for the systemd pkgconfig-defined
variables gives opportunity for distcheck to succeed; the variables use
hardcoded paths to /usr/lib/systemd/... without a PREFIX, so the paths
need to be relocated to $dc_install_base, a variable distcheck uses for
the normal variables that begin with PREFIX.
2015-09-28 13:52:24 -07:00
Patrick McCarty 19652c9c87 Convert server to use modern Glib Thread API
Using a GStaticMutex and associated functions are deprecated, since
a GMutex can be statically allocated now (as of glib 2.32).
2015-09-25 14:20:22 -07:00
Patrick McCarty a524875fd3 Update gitignore 2015-09-25 14:19:56 -07:00
Patrick McCarty 91efece071 Fix build warning for implicitly included header 2015-09-25 14:00:33 -07:00
Arjan van de Ven 37048557ec https 2015-07-20 23:02:09 -04:00
Arjan van de Ven d2192337d0 default to the other server for now 2015-04-24 17:55:53 -04:00
Arjan van de Ven 0642cc1835 implement multi-url setup 2015-03-23 14:45:00 -04:00
Arjan van de Ven 77fc03de73 move logging up 2015-03-23 14:37:26 -04:00
Arjan van de Ven 97c6ab80a0 better logging 2015-03-23 14:17:30 -04:00
Arjan van de Ven aeb73c71d3 few more checks 2015-03-23 14:15:42 -04:00
Arjan van de Ven a64fc31838 put memory optimizations back 2015-03-23 14:12:31 -04:00
Arjan van de Ven 8d6503ed2f Revert "Wait with curl init until the first connection comes in"
This reverts commit 6fb3c6f193.
2015-03-05 18:00:06 -05:00
Arjan van de Ven 6fb3c6f193 Wait with curl init until the first connection comes in
this should save a bunch of memory for the common case
2015-02-16 18:12:45 -05:00
Dimitri John Ledkov 3124367ce7 clr-debug-info: Use well known install paths.
systemd pkgconfig module is already required, which will have system
paths defined as pkg-config variables. This simplifies autofoo, and
installs tmpfile.d into a system location under /usr, rather than
admin location under /etc.
2015-02-02 10:30:49 +00:00
Arjan van de Ven 41e3538eb4 use the non-staging URL 2015-01-31 13:48:44 -05:00
avandeve b199c54804 version 11 2014-12-26 11:28:04 -05:00
avandeve 6009fe08f7 don't "system" unless it's really really needed 2014-12-26 11:26:36 -05:00
avandeve 2cd799e5ec one more typo 2014-12-26 10:48:24 -05:00
avandeve c3701ee088 make systemd not complain 2014-12-26 10:32:42 -05:00
avandeve 8b995e1a20 move the cache dir to /var/cache
for proper stateless operation
2014-12-26 10:32:05 -05:00
avandeve c4e73a4c9e release 8 2014-12-25 19:29:02 -05:00
avandeve b5ab4c61e8 XFS does nto support DT_DIR 2014-12-26 00:15:36 -05:00
avandeve eb6b1b86a3 Initial Import from Fenrus Linux 2014-12-25 23:53:41 -05:00
6 changed files with 14 additions and 9 deletions
+2
View File
@@ -4,6 +4,8 @@ Description=Clear Linux debuginfo daemon
[Service] [Service]
Type=simple Type=simple
ExecStart=/usr/bin/clr_debug_daemon ExecStart=/usr/bin/clr_debug_daemon
DefaultDependencies=no
Nice=10
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
+2
View File
@@ -5,6 +5,8 @@ After=clr_debug_daemon.service
[Service] [Service]
Type=simple Type=simple
ExecStart=/usr/bin/clr_debug_fuse ExecStart=/usr/bin/clr_debug_fuse
DefaultDependencies=no
Nice=10
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
+1 -1
View File
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script. # Process this file with autoconf to produce a configure script.
AC_PREREQ([2.66]) AC_PREREQ([2.66])
AC_INIT(clr-debug-info, 33, arjan@linux.intel.com) AC_INIT(clr-debug-info, 38, arjan@linux.intel.com)
AM_INIT_AUTOMAKE([foreign -Wall -W subdir-objects]) AM_INIT_AUTOMAKE([foreign -Wall -W subdir-objects])
AM_SILENT_RULES([yes]) AM_SILENT_RULES([yes])
AC_PROG_CC AC_PROG_CC
+1 -1
View File
@@ -113,7 +113,7 @@ bool nc_copy_file(const char *src, const char *dst, mode_t mode, bool remove_tar
while (true) { while (true) {
if ((r = read(src_fd, &buffer, sizeof(buffer))) < 0) { if ((r = read(src_fd, &buffer, sizeof(buffer))) < 0) {
ret = false; ret = false;
break; goto end;
} }
if (write(dest_fd, buffer, sizeof(buffer)) != r) { if (write(dest_fd, buffer, sizeof(buffer)) != r) {
break; break;
+7 -5
View File
@@ -123,8 +123,8 @@ static inline unsigned nc_hashmap_get_hash(NcHashmap *self, const void *key)
return hash; return hash;
} }
static bool nc_hashmap_insert_bucket(NcHashmap *self, NcHashmapEntry *buckets, int n_buckets, static int nc_hashmap_insert_bucket(NcHashmap *self, NcHashmapEntry *buckets, int n_buckets,
unsigned hash, const void *key, void *value) unsigned hash, const void *key, void *value)
{ {
NcHashmapEntry *row = &(buckets[hash % n_buckets]); NcHashmapEntry *row = &(buckets[hash % n_buckets]);
NcHashmapEntry *head = NULL; NcHashmapEntry *head = NULL;
@@ -458,10 +458,12 @@ bool nc_hashmap_iter_next(NcHashmapIter *citer, void **key, void **value)
} }
item = &(map->buckets[iter->bucket]); item = &(map->buckets[iter->bucket]);
} }
if (item && item->occ) { if (item) {
goto success; if (item->occ) {
goto success;
}
item = item->next;
} }
item = item->next;
} }
return false; return false;
+1 -2
View File
@@ -237,7 +237,7 @@ static int curl_get_file(const char *url, const char *prefix, time_t timestamp)
stat(filename, &statbuf); stat(filename, &statbuf);
if (statbuf.st_size > 0 && if (statbuf.st_size > 0 &&
asprintf(&command, asprintf(&command,
"tar -C /var/cache/debuginfo/%s --no-same-owner -xf %s", "tar -C /var/cache/debuginfo/%s --no-same-owner --no-same-permissions -xf %s",
prefix, prefix,
filename) >= 0) { filename) >= 0) {
if (system(command) != 0) { if (system(command) != 0) {
@@ -282,7 +282,6 @@ static void *server_thread(void *arg)
if (ret < 0) { if (ret < 0) {
goto thread_end; goto thread_end;
} }
prefix = buf;
c = strchr(buf, ':'); c = strchr(buf, ':');
if (!c) { if (!c) {
goto thread_end; goto thread_end;