summary refs log tree commit diff stats
path: root/plugins
AgeCommit message (Collapse)Author
2015-10-10Use VS 2015Arnavion
2015-09-30configure: Clean up Python checkingPatrick Griffis
This fixes requiring to add a version every time a new release comes out...
2015-04-23Remove unused fileTingPing
2015-04-22configure: Simplify perl testsTingPing
2015-04-14winamp: More code cleanupTingPing
2015-04-14winamp: Fix project fileTingPing
Broken by 72d7f64f8b47049842799ae7
2015-04-13winamp: Clean up formattingTingPing
2015-04-13winamp: Fix utf8 song titlesTingPing
Fixes #1350
2015-03-20sysinfo: Strip trailing space on video cardTingPing
2015-03-20Remove unused filesTingPing
2015-02-21More type issues/warningsTingPing
2015-02-21Fix type mismatchTingPing
2015-02-21Fixed cast warning, use of uninitialized buffer and whitespace.Arnavion
2015-02-21Unify sysinfo plugins and add osx supportTingPing
This does remove the net* commands from the Unix version that may return at a later date with OSX and Windows support. This commit also makes numerious other changes such as code cleanup, reformatting, etc. Closes #829
2015-02-12win32: Use WinSparkle for handling updatesTingPing
Fixes #1282
2015-02-11Better project files.Arnavion
- Output directly to rel\ instead of to bin\ and then copying files over. - Deduped Win32 vs x64 configs - Moved some common properties to hexchat.props - All build intermediates (except htm's intermediates) are no longer emitted in the source directory
2015-02-10Call CoInitialize, CoInitializeSecurity and CoUninitialize from the main ↵Arnavion
process, not from a DLL. They're process-level functions and aren't meant to be called from DLLs. CoInitSecurity in particular fails with RPC_E_TOO_LATE even if no other call to CoCreateInstance has been made yet. Fixes sysinfo's WMI calls on Windows 8.1 and above.
2015-01-31sysinfo: Fix braindead logic for stripping spaces from the end of the OS name.Arnavion
2015-01-31sysinfo: Strip spaces from the end of the OS name, if any, and ensure a ↵Arnavion
space between name and arch.
2015-01-05sysinfo: Also show HDD information.Arnavion
2015-01-04sysinfo: Don't confuse build architecture with CPU architecture.Arnavion
2015-01-04sysinfo: Refactored out individual WMI parsing methods.Arnavion
2015-01-03Bring the sysinfo plugin to the 21st century.Arnavion
- Support multiple CPUs and graphics adapters in the WMI responses. - Query max CPU frequency from WMI instead of registry. - Support uptimes longer than 50 days. - Don't report using /ME in notice and server notice tabs. - Convert to C
2014-12-31python: Use Py_RETURN_NONE macroTingPing
2014-12-31Python: Fix overflow and code-cleanupTingPing
2014-12-28Fix building as c89TingPing
2014-12-28Use glib for allocations in all pluginsTingPing
Continuation of 83032b1aa
2014-12-17More consistently include config.hTingPing
2014-12-15Don't require glib 2.40TingPing
2014-12-15fishlim: Handle server-timeTingPing
2014-12-15fishlim: Use proper filesystem encoding for filesTingPing
2014-12-15fishlim: Use standard keyfile save functionTingPing
2014-12-15fishlim: Strip whitespace when deleting keysTingPing
This fixes a personal annoyance when you tab complete a channel to delete
2014-12-15fishlim: Use hexchat_nickcmp()TingPing
2014-12-15fishlim: Improve string handlingTingPing
2014-12-15configure: Improve various build flagsTingPing
- Store openssl flags in own vars - Share some common flags for plugins - Fix building plugins on win32 - Store all glib flags in one var - Don't link against every lib for each plugin - Don't hardcode ldflags for sysinfo
2014-12-15checksum: Use glib for io/checksum and misc fixesTingPing
- Fixes support for large files. - Fixes filenames not being passed in the filename encoding. - Drops openssl dependency. - Code cleanup. - Fix 'unknown command' warning.
2014-12-14perl: Fixed warning about implicitly casting the time_t returned from ↵Arnavion
hexchat_list_time() to an NV.
2014-12-11sysinfo: Simplify remove_leading_whitespace()TingPing
Also fixes a possible overflow
2014-12-11Fix some warnings in xsysTingPing
- Remove unused code - Fix leak
2014-12-08Removed some unnecessary null-checks for calls to g_free and g_strfreevArnavion
2014-12-04Fix some obvious type warnings.Arnavion
2014-11-02Warning cleanupCampbell Barton
- ignoring const - declarations after statements - some C files didnt include own headers (risking them getting out of sync) Closes #1064
2014-09-25Fixed instances of hexchat_printf that unsafely used a string parameter as a ↵Arnavion
format string. Fixes #1153
2014-09-14Fix out of source buildsTingPing
Fixes #1018
2014-07-18Fix formatting warningsTingPing
Found by #1059
2014-06-04Use GDir instead of direntTingPing
2014-06-04win32: Use config.h instead of config-win32.hTingPing
2014-06-02fishlim: Fix filename in error messagesTingPing
2014-06-02Handle a special character before "+OK", e.g. identify-msg + or -Samuel Lidén Borell
ass="w"> print "\t-i\tprint version info about used modules\n"; print "\t-l\tprint license info about certdata.txt\n"; print "\t-n\tno download of certdata.txt (to use existing)\n"; print "\t-q\tbe really quiet (no progress output at all)\n"; print "\t-t\tinclude plain text listing of certificates\n"; print "\t-u\tunlink (remove) certdata.txt after processing\n"; print "\t-v\tbe verbose and print out processed CAs\n"; exit; } #my $crt = $ARGV[0] || 'ca-bundle.crt'; my $crt = $ARGV[0] || 'cert.pem'; my $txt = substr($url, rindex($url, '/') + 1); $txt =~ s/\?.*//; if (!$opt_n || !-e $txt) { print "Downloading '$txt' ...\n" if (!$opt_q); #my $ua = new LWP::UserAgent(agent => "$0/$version"); #my $req = new HTTP::Request('GET', $url); #my $res = $ua->request($req); #if ($res->is_success) { # open(TXT,">$txt") or die "Couldn't open $txt: $!"; # print TXT $res->content . "\n"; # close(TXT) or die "Couldn't close $txt: $!"; #} else { # die $res->status_line; #} system("curl $url > $txt"); } if ($opt_b && -e $crt) { my $bk = 1; while (-e "$crt.~${bk}~") { $bk++; } rename $crt, "$crt.~${bk}~"; } my $format = $opt_t ? "plain text and " : ""; my $currentdate = scalar gmtime() . " UTC"; open(CRT,">$crt") or die "Couldn't open $crt: $!"; print CRT <<EOT; ## ## $crt -- Bundle of CA Root Certificates ## ## Converted at: ${currentdate} ## ## This is a bundle of X.509 certificates of public Certificate Authorities ## (CA). These were automatically extracted from Mozilla's root certificates ## file (certdata.txt). This file can be found in the mozilla source tree: ## '/mozilla/security/nss/lib/ckfw/builtins/certdata.txt' ## ## It contains the certificates in ${format}PEM format and therefore ## can be directly used with curl / libcurl / php_curl, or with ## an Apache+mod_ssl webserver for SSL client authentication. ## Just configure this file as the SSLCACertificateFile. ## EOT close(CRT) or die "Couldn't close $crt: $!"; print "Processing '$txt' ...\n" if (!$opt_q); my $caname; my $certnum = 0; open(TXT,"$txt") or die "Couldn't open $txt: $!"; while (<TXT>) { if (/\*\*\*\*\* BEGIN LICENSE BLOCK \*\*\*\*\*/) { open(CRT, ">>$crt") or die "Couldn't open $crt: $!"; print CRT; print if ($opt_l); while (<TXT>) { print CRT; print if ($opt_l); last if (/\*\*\*\*\* END LICENSE BLOCK \*\*\*\*\*/); } close(CRT) or die "Couldn't close $crt: $!"; } next if /^#|^\s*$/; chomp; if (/^CVS_ID\s+\"(.*)\"/) { open(CRT, ">>$crt") or die "Couldn't open $crt: $!"; print CRT "# $1\n"; close(CRT) or die "Couldn't close $crt: $!"; } if (/^CKA_LABEL\s+[A-Z0-9]+\s+\"(.*)\"/) { $caname = $1; } if (/^CKA_VALUE MULTILINE_OCTAL/) { my $data; while (<TXT>) { last if (/^END/); chomp; my @octets = split(/\\/); shift @octets; for (@octets) { $data .= chr(oct); } } my $pem = "-----BEGIN CERTIFICATE-----\n" . MIME::Base64::encode($data) . "-----END CERTIFICATE-----\n"; open(CRT, ">>$crt") or die "Couldn't open $crt: $!"; print CRT "\n$caname\n"; print CRT ("=" x length($caname) . "\n"); if (!$opt_t) { print CRT $pem; } close(CRT) or die "Couldn't close $crt: $!"; if ($opt_t) { open(TMP, "|$openssl x509 -md5 -fingerprint -text -inform PEM >> $crt") or die "Couldn't open openssl pipe: $!"; print TMP $pem; close(TMP) or die "Couldn't close openssl pipe: $!"; } print "Parsing: $caname\n" if ($opt_v); $certnum ++; } } close(TXT) or die "Couldn't close $txt: $!"; unlink $txt if ($opt_u); print "Done ($certnum CA certs processed).\n" if (!$opt_q); exit;