From 33eb0d6bb122d6a336b0d5b1b3216c4919eb760a Mon Sep 17 00:00:00 2001 From: Tony Olagbaiye Date: Mon, 7 May 2018 18:08:34 +0100 Subject: [PATCH] Release 0.1 --- .gitattributes | 2 + Makefile | 4 + ...1de74b130f35082fb45a12e9ead42ad5c775f9b64f | 1825 +++++++++++ ...6353de7a884a79d3f1d6b3fbf48f99037f5f95fe27 | 1462 +++++++++ debian/.debhelper/bucket/index | 2 + debian/changelog | 6 + debian/compat | 1 + debian/control | 19 + debian/copyright | 2865 +++++++++++++++++ debian/debhelper-build-stamp | 1 + debian/rules | 18 + request/slack-request-channels-list.c | 24 +- request/slack-request-chat-postmessage.c | 24 +- request/slack-request-conversations-members.c | 326 ++ request/slack-request-conversations-members.h | 9 + request/slack-request-users-list.c | 43 +- slack-channel.c | 26 + slack-channel.h | 5 + slack-request.h | 3 + slack-user.h | 4 + slack-workspace.c | 6 + slack.c | 4 +- 22 files changed, 6674 insertions(+), 5 deletions(-) create mode 100644 .gitattributes create mode 100755 debian/.debhelper/bucket/files/1ee0b1581032c46aac6ebd1de74b130f35082fb45a12e9ead42ad5c775f9b64f create mode 100755 debian/.debhelper/bucket/files/8131853dbc8c3be5171fa96353de7a884a79d3f1d6b3fbf48f99037f5f95fe27 create mode 100644 debian/.debhelper/bucket/index create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/debhelper-build-stamp create mode 100755 debian/rules create mode 100644 request/slack-request-conversations-members.c create mode 100644 request/slack-request-conversations-members.h diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..51f39db --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Github language display +*.h linguist-language=C diff --git a/Makefile b/Makefile index 9b4bc76..c9305d0 100644 --- a/Makefile +++ b/Makefile @@ -27,6 +27,7 @@ SRCS=slack.c \ api/message/slack-api-message-unimplemented.c \ request/slack-request-chat-postmessage.c \ request/slack-request-channels-list.c \ + request/slack-request-conversations-members.c \ request/slack-request-users-list.c OBJS=$(subst .c,.o,$(SRCS)) libwebsockets/lib/libwebsockets.a json-c/libjson-c.a @@ -57,6 +58,9 @@ clean: distclean: clean $(RM) *~ .depend +install: slack.so + install slack.so ~/.weechat/plugins/ + .PHONY: tags cs tags: diff --git a/debian/.debhelper/bucket/files/1ee0b1581032c46aac6ebd1de74b130f35082fb45a12e9ead42ad5c775f9b64f b/debian/.debhelper/bucket/files/1ee0b1581032c46aac6ebd1de74b130f35082fb45a12e9ead42ad5c775f9b64f new file mode 100755 index 0000000..dd2ca93 --- /dev/null +++ b/debian/.debhelper/bucket/files/1ee0b1581032c46aac6ebd1de74b130f35082fb45a12e9ead42ad5c775f9b64f @@ -0,0 +1,1825 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright 1992-2016 Free Software Foundation, Inc. + +timestamp='2016-11-04' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2016 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ + kopensolaris*-gnu* | cloudabi*-eabi* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray | -microblaze*) + os= + basic_machine=$1 + ;; + -bluegene*) + os=-cnk + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arceb \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | ba \ + | be32 | be64 \ + | bfin \ + | c4x | c8051 | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | e2k | epiphany \ + | fido | fr30 | frv | ft32 \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 | nios2eb | nios2el \ + | ns16k | ns32k \ + | open8 | or1k | or1knd | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pru \ + | pyramid \ + | riscv32 | riscv64 \ + | rl78 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | visium \ + | we32k \ + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown + ;; + leon|leon[3-9]) + basic_machine=sparc-$basic_machine + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | ba-* \ + | be32-* | be64-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | c8051-* | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | e2k-* | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | k1om-* \ + | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa32r6-* | mipsisa32r6el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64r6-* | mipsisa64r6el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ + | or1k*-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pru-* \ + | pyramid-* \ + | riscv32-* | riscv64-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ + | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile*-* \ + | tron-* \ + | ubicom32-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ + | visium-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aros) + basic_machine=i386-pc + os=-aros + ;; + asmjs) + basic_machine=asmjs-unknown + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c54x-*) + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16 | cr16-*) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + e500v[12]) + basic_machine=powerpc-unknown + os=$os"spe" + ;; + e500v[12]-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + os=$os"spe" + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + leon-*|leon[3-9]-*) + basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + microblaze*) + basic_machine=microblaze-xilinx + ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; + mingw32) + basic_machine=i686-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + moxiebox) + basic_machine=moxie-unknown + os=-moxiebox + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + msys) + basic_machine=i686-pc + os=-msys + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc | ppcbe) basic_machine=powerpc-unknown + ;; + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tile*) + basic_machine=$basic_machine-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* | -plan9* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* | -cloudabi* | -sortix* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ + | -onefs* | -tirtos* | -phoenix* | -fuchsia*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos + ;; + -nacl*) + ;; + -ios) + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + c8051-*) + os=-elf + ;; + hexagon-*) + os=-elf + ;; + tic54x-*) + os=-coff + ;; + tic55x-*) + os=-coff + ;; + tic6x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -cnk*|-aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/debian/.debhelper/bucket/files/8131853dbc8c3be5171fa96353de7a884a79d3f1d6b3fbf48f99037f5f95fe27 b/debian/.debhelper/bucket/files/8131853dbc8c3be5171fa96353de7a884a79d3f1d6b3fbf48f99037f5f95fe27 new file mode 100755 index 0000000..2e9ad7f --- /dev/null +++ b/debian/.debhelper/bucket/files/8131853dbc8c3be5171fa96353de7a884a79d3f1d6b3fbf48f99037f5f95fe27 @@ -0,0 +1,1462 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2016 Free Software Foundation, Inc. + +timestamp='2016-10-02' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. +# +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# +# Please send patches to . + + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2016 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +case "${UNAME_SYSTEM}" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval $set_cc_for_build + cat <<-EOF > $dummy.c + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || \ + echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently (or will in the future) and ABI. + case "${UNAME_MACHINE_ARCH}" in + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # Determine ABI tags. + case "${UNAME_MACHINE_ARCH}" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}${abi}" + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:Sortix:*:*) + echo ${UNAME_MACHINE}-unknown-sortix + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE=alpha ;; + "EV4.5 (21064)") + UNAME_MACHINE=alpha ;; + "LCA4 (21066/21068)") + UNAME_MACHINE=alpha ;; + "EV5 (21164)") + UNAME_MACHINE=alphaev5 ;; + "EV5.6 (21164A)") + UNAME_MACHINE=alphaev56 ;; + "EV5.6 (21164PC)") + UNAME_MACHINE=alphapca56 ;; + "EV5.7 (21164PC)") + UNAME_MACHINE=alphapca57 ;; + "EV6 (21264)") + UNAME_MACHINE=alphaev6 ;; + "EV6.7 (21264A)") + UNAME_MACHINE=alphaev67 ;; + "EV6.8CB (21264C)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8AL (21264B)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8CX (21264D)") + UNAME_MACHINE=alphaev68 ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE=alphaev69 ;; + "EV7 (21364)") + UNAME_MACHINE=alphaev7 ;; + "EV7.9 (21364A)") + UNAME_MACHINE=alphaev79 ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/lslpp ] ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = hppa2.0w ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH=hppa2.0w + else + HP_ARCH=hppa64 + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + *:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + else + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + cris:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-${LIBC} + exit ;; + crisv32:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-${LIBC} + exit ;; + e2k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + frv:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + i*86:Linux:*:*) + echo ${UNAME_MACHINE}-pc-linux-${LIBC} + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + k1om:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + ;; + mips64el:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + openrisc*:Linux:*:*) + echo or1k-unknown-linux-${LIBC} + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-${LIBC} + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-${LIBC} + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} + exit ;; + riscv32:Linux:*:* | riscv64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-${LIBC} + exit ;; + x86_64:Linux:*:*) + echo ${UNAME_MACHINE}-pc-linux-${LIBC} + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configure will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + SX-ACE:SUPER-UX:*:*) + echo sxace-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + eval $set_cc_for_build + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi + if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # Avoid executing cc on OS X 10.9, as it ships with a stub + # that puts up a graphical alert prompting to install + # developer tools. Any system running Mac OS X 10.7 or + # later (Darwin 11 and later) is required to have a 64-bit + # processor. This is not true of the ARM version of Darwin + # that Apple uses in portable devices. + UNAME_PROCESSOR=x86_64 + fi + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = x86; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = 386; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs + exit ;; +esac + +cat >&2 </dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/debian/.debhelper/bucket/index b/debian/.debhelper/bucket/index new file mode 100644 index 0000000..effd394 --- /dev/null +++ b/debian/.debhelper/bucket/index @@ -0,0 +1,2 @@ +8131853dbc8c3be5171fa96353de7a884a79d3f1d6b3fbf48f99037f5f95fe27 json-c/config.guess +1ee0b1581032c46aac6ebd1de74b130f35082fb45a12e9ead42ad5c775f9b64f json-c/config.sub diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..4fcdaa3 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,6 @@ +weechat-slack (0~1805071648-1) UNRELEASED; urgency=low + + * Initial release. Closes: #nnnn + + + -- Bao Mon, 07 May 2018 17:48:57 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +11 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..80bcd14 --- /dev/null +++ b/debian/control @@ -0,0 +1,19 @@ +Source: weechat-slack +Section: net +Priority: optional +Maintainer: Tony Olagbaiye +Build-Depends: cmake, debhelper (>= 11), pkg-config +Standards-Version: 4.1.3 +Homepage: https://weechat.org/ +Vcs-Git: https://github.com/bqv/weechat-slack.git +Vcs-Browser: https://github.com/bqv/weechat-slack + +Package: weechat-slack +Architecture: all +Depends: + weechat (>= 1.4) +Description: Fast, light and extensible chat client - Slack plugin + WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client + for many operating systems. Everything can be done with a keyboard. + . + This package provides the Slack API plugin. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..172e0b9 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,2865 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: weechat-slack +Source: +# +# Please double check copyright with the licensecheck(1) command. + +Files: .depend + .gitattributes + .gitignore + .gitmodules + Makefile + api/.slack-api-message.c.swp + api/message/.slack-api-message-bot-message.c.swp + api/message/slack-api-message-unimplemented.c + api/message/slack-api-message-unimplemented.h + api/message/slack-api-message-unimplemented.o + api/slack-api-error.c + api/slack-api-error.h + api/slack-api-error.o + api/slack-api-hello.c + api/slack-api-hello.h + api/slack-api-hello.o + api/slack-api-message.c + api/slack-api-message.h + api/slack-api-message.o + api/slack-api-user-typing.c + api/slack-api-user-typing.h + api/slack-api-user-typing.o + compile_commands.json + debian/control + json-c/.deps/arraylist.Plo + json-c/.deps/debug.Plo + json-c/.deps/json_c_version.Plo + json-c/.deps/json_object.Plo + json-c/.deps/json_object_iterator.Plo + json-c/.deps/json_pointer.Plo + json-c/.deps/json_tokener.Plo + json-c/.deps/json_util.Plo + json-c/.deps/json_visit.Plo + json-c/.deps/linkhash.Plo + json-c/.deps/printbuf.Plo + json-c/.deps/random_seed.Plo + json-c/.deps/strerror_override.Plo + json-c/.editorconfig + json-c/.git + json-c/.gitignore + json-c/.travis.yml + json-c/AUTHORS + json-c/Android.configure.mk + json-c/CMakeCache.txt + json-c/CMakeFiles/3.9.0/CMakeCCompiler.cmake + json-c/CMakeFiles/3.9.0/CMakeCXXCompiler.cmake + json-c/CMakeFiles/3.9.0/CMakeDetermineCompilerABI_C.bin + json-c/CMakeFiles/3.9.0/CMakeDetermineCompilerABI_CXX.bin + json-c/CMakeFiles/3.9.0/CMakeSystem.cmake + json-c/CMakeFiles/3.9.0/CompilerIdC/CMakeCCompilerId.c + json-c/CMakeFiles/3.9.0/CompilerIdC/a.out + json-c/CMakeFiles/3.9.0/CompilerIdCXX/CMakeCXXCompilerId.cpp + json-c/CMakeFiles/3.9.0/CompilerIdCXX/a.out + json-c/CMakeFiles/CMakeDirectoryInformation.cmake + json-c/CMakeFiles/CMakeOutput.log + json-c/CMakeFiles/Makefile.cmake + json-c/CMakeFiles/Makefile2 + json-c/CMakeFiles/TargetDirectories.txt + json-c/CMakeFiles/cmake.check_cache + json-c/CMakeFiles/feature_tests.bin + json-c/CMakeFiles/feature_tests.c + json-c/CMakeFiles/feature_tests.cxx + json-c/CMakeFiles/json-c-static.dir/C.includecache + json-c/CMakeFiles/json-c-static.dir/DependInfo.cmake + json-c/CMakeFiles/json-c-static.dir/arraylist.c.o + json-c/CMakeFiles/json-c-static.dir/build.make + json-c/CMakeFiles/json-c-static.dir/cmake_clean.cmake + json-c/CMakeFiles/json-c-static.dir/cmake_clean_target.cmake + json-c/CMakeFiles/json-c-static.dir/debug.c.o + json-c/CMakeFiles/json-c-static.dir/depend.internal + json-c/CMakeFiles/json-c-static.dir/depend.make + json-c/CMakeFiles/json-c-static.dir/flags.make + json-c/CMakeFiles/json-c-static.dir/json_c_version.c.o + json-c/CMakeFiles/json-c-static.dir/json_object.c.o + json-c/CMakeFiles/json-c-static.dir/json_object_iterator.c.o + json-c/CMakeFiles/json-c-static.dir/json_pointer.c.o + json-c/CMakeFiles/json-c-static.dir/json_tokener.c.o + json-c/CMakeFiles/json-c-static.dir/json_util.c.o + json-c/CMakeFiles/json-c-static.dir/json_visit.c.o + json-c/CMakeFiles/json-c-static.dir/link.txt + json-c/CMakeFiles/json-c-static.dir/linkhash.c.o + json-c/CMakeFiles/json-c-static.dir/printbuf.c.o + json-c/CMakeFiles/json-c-static.dir/progress.make + json-c/CMakeFiles/json-c-static.dir/random_seed.c.o + json-c/CMakeFiles/json-c-static.dir/strerror_override.c.o + json-c/CMakeFiles/json-c.dir/DependInfo.cmake + json-c/CMakeFiles/json-c.dir/build.make + json-c/CMakeFiles/json-c.dir/cmake_clean.cmake + json-c/CMakeFiles/json-c.dir/depend.make + json-c/CMakeFiles/json-c.dir/flags.make + json-c/CMakeFiles/json-c.dir/link.txt + json-c/CMakeFiles/json-c.dir/progress.make + json-c/CMakeFiles/progress.marks + json-c/Doxyfile + json-c/INSTALL + json-c/Makefile + json-c/Makefile.am + json-c/NEWS + json-c/README + json-c/README.md + json-c/RELEASE_CHECKLIST.txt + json-c/STYLE.txt + json-c/appveyor.yml + json-c/autoconf-archive/README.txt + json-c/autogen.sh + json-c/autom4te.cache/requests + json-c/autom4te.cache/traces.1 + json-c/autom4te.cache/traces.2 + json-c/cmake_install.cmake + json-c/config.h + json-c/config.h.in + json-c/config.h.win32 + json-c/configure.ac + json-c/fuzz/README.md + json-c/fuzz/tokener_parse_ex_fuzzer.cc + json-c/fuzz/tokener_parse_ex_fuzzer.dict + json-c/include/config.h + json-c/include/json_config.h + json-c/issues_closed_for_0.13.md + json-c/json-c-uninstalled.pc + json-c/json-c-uninstalled.pc.in + json-c/json-c.pc + json-c/json-c.pc.in + json-c/json_config.h + json-c/json_config.h.in + json-c/json_config.h.win32 + json-c/json_inttypes.h + json-c/json_object_iterator.c + json-c/json_object_iterator.h + json-c/json_visit.h + json-c/libjson-c.a + json-c/libjson.c + json-c/math_compat.h + json-c/snprintf_compat.h + json-c/stamp-h1 + json-c/stamp-h2 + json-c/strdup_compat.h + json-c/strerror_override.c + json-c/strerror_override.h + json-c/strerror_override_private.h + json-c/tests/.deps/test1.Po + json-c/tests/.deps/test1Formatted-parse_flags.Po + json-c/tests/.deps/test1Formatted-test1.Po + json-c/tests/.deps/test2.Po + json-c/tests/.deps/test2Formatted-parse_flags.Po + json-c/tests/.deps/test2Formatted-test2.Po + json-c/tests/.deps/test4.Po + json-c/tests/.deps/testReplaceExisting.Po + json-c/tests/.deps/test_cast.Po + json-c/tests/.deps/test_charcase.Po + json-c/tests/.deps/test_compare.Po + json-c/tests/.deps/test_deep_copy.Po + json-c/tests/.deps/test_double_serializer.Po + json-c/tests/.deps/test_float.Po + json-c/tests/.deps/test_int_add.Po + json-c/tests/.deps/test_json_pointer.Po + json-c/tests/.deps/test_locale.Po + json-c/tests/.deps/test_null.Po + json-c/tests/.deps/test_parse.Po + json-c/tests/.deps/test_parse_int64.Po + json-c/tests/.deps/test_printbuf.Po + json-c/tests/.deps/test_set_serializer.Po + json-c/tests/.deps/test_set_value.Po + json-c/tests/.deps/test_util_file.Po + json-c/tests/.deps/test_visit.Po + json-c/tests/Makefile.am + json-c/tests/parse_flags.c + json-c/tests/parse_flags.h + json-c/tests/test-defs.sh + json-c/tests/test1.c + json-c/tests/test1.expected + json-c/tests/test1.test + json-c/tests/test1Formatted_plain.expected + json-c/tests/test1Formatted_pretty.expected + json-c/tests/test1Formatted_spaced.expected + json-c/tests/test2.c + json-c/tests/test2.expected + json-c/tests/test2.test + json-c/tests/test2Formatted_plain.expected + json-c/tests/test2Formatted_pretty.expected + json-c/tests/test2Formatted_spaced.expected + json-c/tests/test4.c + json-c/tests/test4.expected + json-c/tests/testReplaceExisting.c + json-c/tests/testReplaceExisting.expected + json-c/tests/test_basic.test + json-c/tests/test_cast.c + json-c/tests/test_cast.expected + json-c/tests/test_charcase.c + json-c/tests/test_charcase.expected + json-c/tests/test_compare.c + json-c/tests/test_compare.expected + json-c/tests/test_deep_copy.c + json-c/tests/test_deep_copy.expected + json-c/tests/test_double_serializer.c + json-c/tests/test_double_serializer.expected + json-c/tests/test_float.expected + json-c/tests/test_int_add.c + json-c/tests/test_int_add.expected + json-c/tests/test_json_pointer.c + json-c/tests/test_json_pointer.expected + json-c/tests/test_locale.c + json-c/tests/test_locale.expected + json-c/tests/test_null.c + json-c/tests/test_null.expected + json-c/tests/test_parse.c + json-c/tests/test_parse.expected + json-c/tests/test_parse_int64.c + json-c/tests/test_parse_int64.expected + json-c/tests/test_printbuf.c + json-c/tests/test_printbuf.expected + json-c/tests/test_set_serializer.c + json-c/tests/test_set_serializer.expected + json-c/tests/test_set_value.c + json-c/tests/test_set_value.expected + json-c/tests/test_util_file.c + json-c/tests/test_util_file.expected + json-c/tests/test_visit.c + json-c/tests/test_visit.expected + json-c/tests/valid.json + json-c/vasprintf_compat.h + libwebsockets/.git + libwebsockets/.gitignore + libwebsockets/.travis.yml + libwebsockets/CMakeCache.txt + libwebsockets/CMakeFiles/3.9.0/CMakeCCompiler.cmake + libwebsockets/CMakeFiles/3.9.0/CMakeDetermineCompilerABI_C.bin + libwebsockets/CMakeFiles/3.9.0/CMakeSystem.cmake + libwebsockets/CMakeFiles/3.9.0/CompilerIdC/CMakeCCompilerId.c + libwebsockets/CMakeFiles/3.9.0/CompilerIdC/a.out + libwebsockets/CMakeFiles/CMakeDirectoryInformation.cmake + libwebsockets/CMakeFiles/CMakeError.log + libwebsockets/CMakeFiles/CMakeOutput.log + libwebsockets/CMakeFiles/CMakeRuleHashes.txt + libwebsockets/CMakeFiles/Export/lib/cmake/libwebsockets/LibwebsocketsTargets-debug.cmake + libwebsockets/CMakeFiles/Export/lib/cmake/libwebsockets/LibwebsocketsTargets.cmake + libwebsockets/CMakeFiles/LibwebsocketsConfig.cmake + libwebsockets/CMakeFiles/Makefile.cmake + libwebsockets/CMakeFiles/Makefile2 + libwebsockets/CMakeFiles/TargetDirectories.txt + libwebsockets/CMakeFiles/cmake.check_cache + libwebsockets/CMakeFiles/dist.dir/DependInfo.cmake + libwebsockets/CMakeFiles/dist.dir/build.make + libwebsockets/CMakeFiles/dist.dir/cmake_clean.cmake + libwebsockets/CMakeFiles/dist.dir/progress.make + libwebsockets/CMakeFiles/feature_tests.bin + libwebsockets/CMakeFiles/feature_tests.c + libwebsockets/CMakeFiles/progress.marks + libwebsockets/CMakeFiles/websockets.dir/C.includecache + libwebsockets/CMakeFiles/websockets.dir/DependInfo.cmake + libwebsockets/CMakeFiles/websockets.dir/build.make + libwebsockets/CMakeFiles/websockets.dir/cmake_clean.cmake + libwebsockets/CMakeFiles/websockets.dir/cmake_clean_target.cmake + libwebsockets/CMakeFiles/websockets.dir/depend.internal + libwebsockets/CMakeFiles/websockets.dir/depend.make + libwebsockets/CMakeFiles/websockets.dir/flags.make + libwebsockets/CMakeFiles/websockets.dir/lib/alloc.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/context.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/event-libs/poll/poll.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/libwebsockets.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/misc/base64-decode.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/misc/lws-ring.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/misc/sha-1.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/output.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/plat/lws-plat-unix.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/pollfd.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/roles/h1/ops-h1.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/roles/http/client/client-handshake.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/roles/http/client/client.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/roles/http/header.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/roles/http/server/lws-spa.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/roles/http/server/parsers.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/roles/http/server/server.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/roles/listen/ops-listen.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/roles/pipe/ops-pipe.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/roles/raw/ops-raw.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/roles/ws/client-parser-ws.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/roles/ws/client-ws.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/roles/ws/ops-ws.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/roles/ws/server-ws.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/service.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/tls/openssl/openssl-client.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/tls/openssl/openssl-server.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/tls/openssl/ssl.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/tls/tls-client.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/tls/tls-server.c.o + libwebsockets/CMakeFiles/websockets.dir/lib/tls/tls.c.o + libwebsockets/CMakeFiles/websockets.dir/link.txt + libwebsockets/CMakeFiles/websockets.dir/progress.make + libwebsockets/CMakeLists.txt + libwebsockets/CPackConfig.cmake + libwebsockets/CPackSourceConfig.cmake + libwebsockets/Kconfig + libwebsockets/LibwebsocketsConfig.cmake + libwebsockets/LibwebsocketsConfigVersion.cmake + libwebsockets/LibwebsocketsTargets.cmake + libwebsockets/Makefile + libwebsockets/Makefile.projbuild + libwebsockets/README.md + libwebsockets/READMEs/README-plugin-sshd-base.md + libwebsockets/READMEs/README.build.md + libwebsockets/READMEs/README.esp32.md + libwebsockets/READMEs/README.generic-sessions.md + libwebsockets/READMEs/README.generic-table.md + libwebsockets/READMEs/README.lws-meta.md + libwebsockets/READMEs/README.lwsws.md + libwebsockets/READMEs/README.plugin-acme.md + libwebsockets/READMEs/README.problems.md + libwebsockets/READMEs/mainpage.md + libwebsockets/READMEs/release-checklist + libwebsockets/appveyor.yml + libwebsockets/cmake/FindLibWebSockets.cmake + libwebsockets/cmake/FindOpenSSLbins.cmake + libwebsockets/cmake/LibwebsocketsConfig.cmake.in + libwebsockets/cmake/LibwebsocketsConfigVersion.cmake.in + libwebsockets/cmake/UseRPMTools.cmake + libwebsockets/cmake/lws_config.h.in + libwebsockets/cmake/lws_config_private.h.in + libwebsockets/cmake_install.cmake + libwebsockets/component.mk + libwebsockets/contrib/Android.mk + libwebsockets/contrib/abi/README.md + libwebsockets/contrib/abi/libwebsockets.json + libwebsockets/contrib/abi/lws-abi-update.sh + libwebsockets/contrib/android-make-script.sh + libwebsockets/contrib/cross-aarch64.cmake + libwebsockets/contrib/cross-arm-linux-gnueabihf.cmake + libwebsockets/contrib/cross-esp32.cmake + libwebsockets/contrib/cross-ming.cmake + libwebsockets/contrib/cross-openwrt-makefile + libwebsockets/contrib/cross-w32.cmake + libwebsockets/contrib/cross-w64.cmake + libwebsockets/doc-assets/lws-overview.png + libwebsockets/doc-assets/lws-smp-example.png + libwebsockets/doc-assets/lws-smp-ov.png + libwebsockets/doc-assets/lwsgt-overview.png + libwebsockets/include/lws_config.h + libwebsockets/lib/alloc.c + libwebsockets/lib/event-libs/README.md + libwebsockets/lib/plat/lws-plat-optee.c + libwebsockets/lib/plat/lws-plat-win.c + libwebsockets/lib/roles/README.md + libwebsockets/lib/roles/h2/huftable.h + libwebsockets/lib/roles/http/client/client-handshake.c + libwebsockets/lib/roles/http/lextable-strings.h + libwebsockets/lib/roles/http/lextable.h + libwebsockets/lib/roles/http/server/rewrite.c + libwebsockets/lib/roles/ws/ext/extension-permessage-deflate.h + libwebsockets/lib/roles/ws/ext/extension.c + libwebsockets/lib/tls/mbedtls/wrapper/include/internal/ssl_stack.h + libwebsockets/libwebsockets.dox + libwebsockets/libwebsockets.pc + libwebsockets/libwebsockets_static.pc + libwebsockets/lws_config.h + libwebsockets/lws_config_private.h + libwebsockets/lwsws/etc-logrotate.d-lwsws + libwebsockets/lwsws/etc-lwsws-conf-EXAMPLE + libwebsockets/lwsws/etc-lwsws-conf.d-localhost-EXAMPLE + libwebsockets/lwsws/usr-lib-systemd-system-lwsws.service + libwebsockets/minimal-examples/README.md + libwebsockets/minimal-examples/client-server/README.md + libwebsockets/minimal-examples/client-server/minimal-ws-proxy/CMakeLists.txt + libwebsockets/minimal-examples/client-server/minimal-ws-proxy/README.md + libwebsockets/minimal-examples/client-server/minimal-ws-proxy/mount-origin/favicon.ico + libwebsockets/minimal-examples/client-server/minimal-ws-proxy/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-client/README.md + libwebsockets/minimal-examples/http-client/minimal-http-client-certinfo/CMakeLists.txt + libwebsockets/minimal-examples/http-client/minimal-http-client-certinfo/README.md + libwebsockets/minimal-examples/http-client/minimal-http-client-certinfo/warmcat.com.cer + libwebsockets/minimal-examples/http-client/minimal-http-client-hugeurl/CMakeLists.txt + libwebsockets/minimal-examples/http-client/minimal-http-client-hugeurl/README.md + libwebsockets/minimal-examples/http-client/minimal-http-client-hugeurl/selftest.sh + libwebsockets/minimal-examples/http-client/minimal-http-client-hugeurl/warmcat.com.cer + libwebsockets/minimal-examples/http-client/minimal-http-client-multi/CMakeLists.txt + libwebsockets/minimal-examples/http-client/minimal-http-client-multi/README.md + libwebsockets/minimal-examples/http-client/minimal-http-client-multi/selftest.sh + libwebsockets/minimal-examples/http-client/minimal-http-client-multi/warmcat.com.cer + libwebsockets/minimal-examples/http-client/minimal-http-client-post/CMakeLists.txt + libwebsockets/minimal-examples/http-client/minimal-http-client-post/README.md + libwebsockets/minimal-examples/http-client/minimal-http-client-post/libwebsockets.org.cer + libwebsockets/minimal-examples/http-client/minimal-http-client-post/selftest.sh + libwebsockets/minimal-examples/http-client/minimal-http-client/CMakeLists.txt + libwebsockets/minimal-examples/http-client/minimal-http-client/README.md + libwebsockets/minimal-examples/http-client/minimal-http-client/selftest.sh + libwebsockets/minimal-examples/http-client/minimal-http-client/warmcat.com.cer + libwebsockets/minimal-examples/http-server/README.md + libwebsockets/minimal-examples/http-server/minimal-http-server-basicauth/CMakeLists.txt + libwebsockets/minimal-examples/http-server/minimal-http-server-basicauth/README.md + libwebsockets/minimal-examples/http-server/minimal-http-server-basicauth/ba-passwords + libwebsockets/minimal-examples/http-server/minimal-http-server-basicauth/mount-origin/favicon.ico + libwebsockets/minimal-examples/http-server/minimal-http-server-basicauth/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-server/minimal-http-server-basicauth/mount-secret-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-server/minimal-http-server-dynamic/CMakeLists.txt + libwebsockets/minimal-examples/http-server/minimal-http-server-dynamic/README.md + libwebsockets/minimal-examples/http-server/minimal-http-server-dynamic/mount-origin/favicon.ico + libwebsockets/minimal-examples/http-server/minimal-http-server-dynamic/mount-origin/index.html + libwebsockets/minimal-examples/http-server/minimal-http-server-dynamic/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib-foreign/CMakeLists.txt + libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib-foreign/README.md + libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib-foreign/localhost-100y.cert + libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib-foreign/localhost-100y.key + libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib-foreign/mount-origin/favicon.ico + libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib-foreign/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib/CMakeLists.txt + libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib/README.md + libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib/localhost-100y.cert + libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib/localhost-100y.key + libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib/mount-origin/favicon.ico + libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib/mount-origin/index.html + libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-server/minimal-http-server-form-get/CMakeLists.txt + libwebsockets/minimal-examples/http-server/minimal-http-server-form-get/README.md + libwebsockets/minimal-examples/http-server/minimal-http-server-form-get/mount-origin/favicon.ico + libwebsockets/minimal-examples/http-server/minimal-http-server-form-get/mount-origin/index.html + libwebsockets/minimal-examples/http-server/minimal-http-server-form-get/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-server/minimal-http-server-form-post-file/CMakeLists.txt + libwebsockets/minimal-examples/http-server/minimal-http-server-form-post-file/README.md + libwebsockets/minimal-examples/http-server/minimal-http-server-form-post-file/mount-origin/favicon.ico + libwebsockets/minimal-examples/http-server/minimal-http-server-form-post-file/mount-origin/index.html + libwebsockets/minimal-examples/http-server/minimal-http-server-form-post-file/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-server/minimal-http-server-form-post/CMakeLists.txt + libwebsockets/minimal-examples/http-server/minimal-http-server-form-post/README.md + libwebsockets/minimal-examples/http-server/minimal-http-server-form-post/mount-origin/favicon.ico + libwebsockets/minimal-examples/http-server/minimal-http-server-form-post/mount-origin/index.html + libwebsockets/minimal-examples/http-server/minimal-http-server-form-post/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-server/minimal-http-server-multivhost/CMakeLists.txt + libwebsockets/minimal-examples/http-server/minimal-http-server-multivhost/README.md + libwebsockets/minimal-examples/http-server/minimal-http-server-multivhost/mount-origin-localhost1/favicon.ico + libwebsockets/minimal-examples/http-server/minimal-http-server-multivhost/mount-origin-localhost1/index.html + libwebsockets/minimal-examples/http-server/minimal-http-server-multivhost/mount-origin-localhost1/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-server/minimal-http-server-multivhost/mount-origin-localhost2/favicon.ico + libwebsockets/minimal-examples/http-server/minimal-http-server-multivhost/mount-origin-localhost2/index.html + libwebsockets/minimal-examples/http-server/minimal-http-server-multivhost/mount-origin-localhost2/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-server/minimal-http-server-multivhost/mount-origin-localhost3/favicon.ico + libwebsockets/minimal-examples/http-server/minimal-http-server-multivhost/mount-origin-localhost3/index.html + libwebsockets/minimal-examples/http-server/minimal-http-server-multivhost/mount-origin-localhost3/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-server/minimal-http-server-smp/CMakeLists.txt + libwebsockets/minimal-examples/http-server/minimal-http-server-smp/README.md + libwebsockets/minimal-examples/http-server/minimal-http-server-smp/localhost-100y.cert + libwebsockets/minimal-examples/http-server/minimal-http-server-smp/localhost-100y.key + libwebsockets/minimal-examples/http-server/minimal-http-server-smp/mount-origin/favicon.ico + libwebsockets/minimal-examples/http-server/minimal-http-server-smp/mount-origin/index.html + libwebsockets/minimal-examples/http-server/minimal-http-server-smp/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-server/minimal-http-server-sse-ring/CMakeLists.txt + libwebsockets/minimal-examples/http-server/minimal-http-server-sse-ring/README.md + libwebsockets/minimal-examples/http-server/minimal-http-server-sse-ring/mount-origin/favicon.ico + libwebsockets/minimal-examples/http-server/minimal-http-server-sse-ring/mount-origin/index.html + libwebsockets/minimal-examples/http-server/minimal-http-server-sse-ring/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-server/minimal-http-server-sse/CMakeLists.txt + libwebsockets/minimal-examples/http-server/minimal-http-server-sse/README.md + libwebsockets/minimal-examples/http-server/minimal-http-server-sse/mount-origin/favicon.ico + libwebsockets/minimal-examples/http-server/minimal-http-server-sse/mount-origin/index.html + libwebsockets/minimal-examples/http-server/minimal-http-server-sse/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-server/minimal-http-server-tls/CMakeLists.txt + libwebsockets/minimal-examples/http-server/minimal-http-server-tls/README.md + libwebsockets/minimal-examples/http-server/minimal-http-server-tls/localhost-100y.cert + libwebsockets/minimal-examples/http-server/minimal-http-server-tls/localhost-100y.key + libwebsockets/minimal-examples/http-server/minimal-http-server-tls/mount-origin/favicon.ico + libwebsockets/minimal-examples/http-server/minimal-http-server-tls/mount-origin/index.html + libwebsockets/minimal-examples/http-server/minimal-http-server-tls/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/http-server/minimal-http-server/CMakeLists.txt + libwebsockets/minimal-examples/http-server/minimal-http-server/README.md + libwebsockets/minimal-examples/http-server/minimal-http-server/mount-origin/favicon.ico + libwebsockets/minimal-examples/http-server/minimal-http-server/mount-origin/index.html + libwebsockets/minimal-examples/http-server/minimal-http-server/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/raw/README.md + libwebsockets/minimal-examples/raw/minimal-raw-adopt-tcp/CMakeLists.txt + libwebsockets/minimal-examples/raw/minimal-raw-adopt-tcp/README.md + libwebsockets/minimal-examples/raw/minimal-raw-adopt-udp/CMakeLists.txt + libwebsockets/minimal-examples/raw/minimal-raw-adopt-udp/README.md + libwebsockets/minimal-examples/raw/minimal-raw-file/CMakeLists.txt + libwebsockets/minimal-examples/raw/minimal-raw-file/README.md + libwebsockets/minimal-examples/raw/minimal-raw-vhost/CMakeLists.txt + libwebsockets/minimal-examples/raw/minimal-raw-vhost/README.md + libwebsockets/minimal-examples/selftests-library.sh + libwebsockets/minimal-examples/selftests.sh + libwebsockets/minimal-examples/ws-client/README.md + libwebsockets/minimal-examples/ws-client/minimal-ws-client-echo/CMakeLists.txt + libwebsockets/minimal-examples/ws-client/minimal-ws-client-echo/README.md + libwebsockets/minimal-examples/ws-client/minimal-ws-client-pmd-bulk/CMakeLists.txt + libwebsockets/minimal-examples/ws-client/minimal-ws-client-pmd-bulk/README.md + libwebsockets/minimal-examples/ws-client/minimal-ws-client-rx/CMakeLists.txt + libwebsockets/minimal-examples/ws-client/minimal-ws-client-rx/README.md + libwebsockets/minimal-examples/ws-client/minimal-ws-client-rx/libwebsockets.org.cer + libwebsockets/minimal-examples/ws-client/minimal-ws-client-rx/selftest.sh + libwebsockets/minimal-examples/ws-client/minimal-ws-client-tx/CMakeLists.txt + libwebsockets/minimal-examples/ws-client/minimal-ws-client-tx/README.md + libwebsockets/minimal-examples/ws-server/README.md + libwebsockets/minimal-examples/ws-server/minimal-ws-broker/CMakeLists.txt + libwebsockets/minimal-examples/ws-server/minimal-ws-broker/README.md + libwebsockets/minimal-examples/ws-server/minimal-ws-broker/mount-origin/favicon.ico + libwebsockets/minimal-examples/ws-server/minimal-ws-broker/mount-origin/index.html + libwebsockets/minimal-examples/ws-server/minimal-ws-broker/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/ws-server/minimal-ws-server-echo/CMakeLists.txt + libwebsockets/minimal-examples/ws-server/minimal-ws-server-echo/README.md + libwebsockets/minimal-examples/ws-server/minimal-ws-server-pmd-bulk/CMakeLists.txt + libwebsockets/minimal-examples/ws-server/minimal-ws-server-pmd-bulk/README.md + libwebsockets/minimal-examples/ws-server/minimal-ws-server-pmd-bulk/mount-origin/favicon.ico + libwebsockets/minimal-examples/ws-server/minimal-ws-server-pmd-bulk/mount-origin/index.html + libwebsockets/minimal-examples/ws-server/minimal-ws-server-pmd-bulk/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/ws-server/minimal-ws-server-pmd/CMakeLists.txt + libwebsockets/minimal-examples/ws-server/minimal-ws-server-pmd/README.md + libwebsockets/minimal-examples/ws-server/minimal-ws-server-pmd/mount-origin/favicon.ico + libwebsockets/minimal-examples/ws-server/minimal-ws-server-pmd/mount-origin/index.html + libwebsockets/minimal-examples/ws-server/minimal-ws-server-pmd/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/ws-server/minimal-ws-server-ring/CMakeLists.txt + libwebsockets/minimal-examples/ws-server/minimal-ws-server-ring/README.md + libwebsockets/minimal-examples/ws-server/minimal-ws-server-ring/mount-origin/favicon.ico + libwebsockets/minimal-examples/ws-server/minimal-ws-server-ring/mount-origin/index.html + libwebsockets/minimal-examples/ws-server/minimal-ws-server-ring/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/ws-server/minimal-ws-server-threads/CMakeLists.txt + libwebsockets/minimal-examples/ws-server/minimal-ws-server-threads/README.md + libwebsockets/minimal-examples/ws-server/minimal-ws-server-threads/mount-origin/favicon.ico + libwebsockets/minimal-examples/ws-server/minimal-ws-server-threads/mount-origin/libwebsockets.org-logo.png + libwebsockets/minimal-examples/ws-server/minimal-ws-server/CMakeLists.txt + libwebsockets/minimal-examples/ws-server/minimal-ws-server/README.md + libwebsockets/minimal-examples/ws-server/minimal-ws-server/mount-origin/favicon.ico + libwebsockets/minimal-examples/ws-server/minimal-ws-server/mount-origin/index.html + libwebsockets/minimal-examples/ws-server/minimal-ws-server/mount-origin/libwebsockets.org-logo.png + libwebsockets/plugin-standalone/CMakeLists.txt + libwebsockets/plugins/generic-sessions/assets/lwsgs-logo.png + libwebsockets/plugins/generic-sessions/assets/md5.min.js + libwebsockets/plugins/generic-sessions/assets/post-register-fail.html + libwebsockets/plugins/generic-sessions/assets/seats.jpg + libwebsockets/plugins/generic-sessions/assets/sent-forgot-ok.html + libwebsockets/plugins/generic-table/assets/lwsgt.js + libwebsockets/plugins/lwsws-logo.png + libwebsockets/plugins/ssh-base/crypto/chacha.c + libwebsockets/plugins/ssh-base/crypto/ed25519.c + libwebsockets/plugins/ssh-base/crypto/fe25519.c + libwebsockets/plugins/ssh-base/crypto/fe25519.h + libwebsockets/plugins/ssh-base/crypto/ge25519.c + libwebsockets/plugins/ssh-base/crypto/ge25519.h + libwebsockets/plugins/ssh-base/crypto/ge25519_base.data + libwebsockets/plugins/ssh-base/crypto/poly1305.c + libwebsockets/plugins/ssh-base/crypto/sc25519.c + libwebsockets/plugins/ssh-base/crypto/sc25519.h + libwebsockets/plugins/ssh-base/crypto/smult_curve25519_ref.c + libwebsockets/plugins/ssh-base/include/lws-plugin-sshd-static-build-includes.h + libwebsockets/scripts/attack.sh + libwebsockets/scripts/autobahn-test.sh + libwebsockets/scripts/build-gcov.sh + libwebsockets/scripts/client-ca/certindex.txt + libwebsockets/scripts/client-ca/create-ca.sh + libwebsockets/scripts/client-ca/create-client-cert.sh + libwebsockets/scripts/client-ca/create-server-cert.sh + libwebsockets/scripts/client-ca/serial + libwebsockets/scripts/client-ca/tmp.cnf + libwebsockets/scripts/esp32.mk + libwebsockets/scripts/gcov.sh + libwebsockets/scripts/h2load-smp.sh + libwebsockets/scripts/h2load.sh + libwebsockets/scripts/h2spec.sh + libwebsockets/scripts/libwebsockets.spec + libwebsockets/scripts/travis_control.sh + libwebsockets/scripts/travis_install.sh + libwebsockets/test-apps/.gitignore + libwebsockets/test-apps/android/app/build.gradle + libwebsockets/test-apps/android/app/src/main/jni/Android.mk + libwebsockets/test-apps/android/app/src/main/jni/Application.mk + libwebsockets/test-apps/android/app/src/main/libs/placeholder + libwebsockets/test-apps/android/app/src/main/res/drawable/warmcat.png + libwebsockets/test-apps/android/app/src/main/res/mipmap-hdpi/ic_launcher.png + libwebsockets/test-apps/android/app/src/main/res/mipmap-mdpi/ic_launcher.png + libwebsockets/test-apps/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png + libwebsockets/test-apps/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png + libwebsockets/test-apps/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png + libwebsockets/test-apps/android/build.gradle + libwebsockets/test-apps/android/gradle.properties + libwebsockets/test-apps/android/settings.gradle + libwebsockets/test-apps/candide.zip + libwebsockets/test-apps/favicon.ico + libwebsockets/test-apps/http2.png + libwebsockets/test-apps/libwebsockets-test-server.service + libwebsockets/test-apps/libwebsockets.org-logo.png + libwebsockets/test-apps/lws-cgi-test.sh + libwebsockets/test-apps/lws-common.js + libwebsockets/test-apps/lws-ssh-test-keys + libwebsockets/test-apps/lws-ssh-test-keys.pub + libwebsockets/test-apps/private/index.html + libwebsockets/test-apps/wss-over-h2.png + libwebsockets/win32port/libwebsockets.nsi + libwebsockets/win32port/version.rc.in + libwebsockets/win32port/win32helpers/getopt.h + libwebsockets/win32port/win32helpers/gettimeofday.c + libwebsockets/win32port/win32helpers/gettimeofday.h + libwebsockets/win32port/zlib/ZLib.vcxproj + libwebsockets/win32port/zlib/ZLib.vcxproj.filters + libwebsockets/win32port/zlib/crc32.h + libwebsockets/win32port/zlib/inffixed.h + libwebsockets/win32port/zlib/trees.h + request/#slack-request-conversations-members.c# + request/slack-request-channels-list.c + request/slack-request-channels-list.h + request/slack-request-channels-list.o + request/slack-request-chat-postmessage.c + request/slack-request-chat-postmessage.h + request/slack-request-chat-postmessage.o + request/slack-request-conversations-members.c + request/slack-request-conversations-members.h + request/slack-request-conversations-members.o + request/slack-request-users-list.c + request/slack-request-users-list.h + request/slack-request-users-list.o + slack-api.c + slack-api.h + slack-api.o + slack-buffer.c + slack-buffer.h + slack-buffer.o + slack-channel.c + slack-channel.h + slack-channel.o + slack-command.c + slack-command.h + slack-command.o + slack-config.c + slack-config.h + slack-config.o + slack-input.c + slack-input.h + slack-input.o + slack-message.c + slack-message.h + slack-message.o + slack-oauth.c + slack-oauth.h + slack-oauth.o + slack-request.c + slack-request.h + slack-request.o + slack-teaminfo.c + slack-teaminfo.h + slack-teaminfo.o + slack-user.c + slack-user.h + slack-user.o + slack-workspace.c + slack-workspace.h + slack-workspace.o + slack.c + slack.h + slack.o +Copyright: __NO_COPYRIGHT_NOR_LICENSE__ +License: __NO_COPYRIGHT_NOR_LICENSE__ + +Files: libwebsockets/include/libwebsockets.h + libwebsockets/lib/context.c + libwebsockets/lib/event-libs/libev/libev.c + libwebsockets/lib/event-libs/libev/private.h + libwebsockets/lib/event-libs/libevent/libevent.c + libwebsockets/lib/event-libs/libevent/private.h + libwebsockets/lib/event-libs/libuv/libuv.c + libwebsockets/lib/event-libs/libuv/private.h + libwebsockets/lib/event-libs/poll/poll.c + libwebsockets/lib/event-libs/poll/private.h + libwebsockets/lib/libwebsockets.c + libwebsockets/lib/libwebsockets.h + libwebsockets/lib/misc/jws/jwk.c + libwebsockets/lib/misc/jws/jws.c + libwebsockets/lib/misc/lejp.c + libwebsockets/lib/misc/lws-ring.c + libwebsockets/lib/misc/peer-limits.c + libwebsockets/lib/output.c + libwebsockets/lib/plat/lws-plat-esp32.c + libwebsockets/lib/plat/lws-plat-unix.c + libwebsockets/lib/pollfd.c + libwebsockets/lib/private-libwebsockets.h + libwebsockets/lib/roles/cgi/cgi-server.c + libwebsockets/lib/roles/cgi/ops-cgi.c + libwebsockets/lib/roles/cgi/private.h + libwebsockets/lib/roles/h1/ops-h1.c + libwebsockets/lib/roles/h1/private.h + libwebsockets/lib/roles/h2/hpack.c + libwebsockets/lib/roles/h2/http2.c + libwebsockets/lib/roles/h2/ops-h2.c + libwebsockets/lib/roles/h2/private.h + libwebsockets/lib/roles/http/client/client.c + libwebsockets/lib/roles/http/header.c + libwebsockets/lib/roles/http/server/access-log.c + libwebsockets/lib/roles/http/server/lejp-conf.c + libwebsockets/lib/roles/http/server/lws-spa.c + libwebsockets/lib/roles/http/server/parsers.c + libwebsockets/lib/roles/http/server/ranges.c + libwebsockets/lib/roles/http/server/server.c + libwebsockets/lib/roles/listen/ops-listen.c + libwebsockets/lib/roles/pipe/ops-pipe.c + libwebsockets/lib/roles/raw/ops-raw.c + libwebsockets/lib/roles/ws/client-parser-ws.c + libwebsockets/lib/roles/ws/client-ws.c + libwebsockets/lib/roles/ws/ext/extension-permessage-deflate.c + libwebsockets/lib/roles/ws/ops-ws.c + libwebsockets/lib/roles/ws/private.h + libwebsockets/lib/roles/ws/server-ws.c + libwebsockets/lib/service.c + libwebsockets/lib/tls/mbedtls/lws-genhash.c + libwebsockets/lib/tls/mbedtls/lws-genrsa.c + libwebsockets/lib/tls/mbedtls/mbedtls-client.c + libwebsockets/lib/tls/mbedtls/mbedtls-server.c + libwebsockets/lib/tls/mbedtls/ssl.c + libwebsockets/lib/tls/openssl/lws-genhash.c + libwebsockets/lib/tls/openssl/lws-genrsa.c + libwebsockets/lib/tls/openssl/openssl-client.c + libwebsockets/lib/tls/openssl/openssl-server.c + libwebsockets/lib/tls/openssl/ssl.c + libwebsockets/lib/tls/private.h + libwebsockets/lib/tls/tls-client.c + libwebsockets/lib/tls/tls-server.c + libwebsockets/lib/tls/tls.c + libwebsockets/plugins/protocol_esp32_lws_ota.c + libwebsockets/plugins/ssh-base/include/lws-plugin-ssh.h + libwebsockets/plugins/ssh-base/include/lws-ssh.h + libwebsockets/plugins/ssh-base/kex-25519.c + libwebsockets/plugins/ssh-base/sshd.c + libwebsockets/plugins/ssh-base/telnet.c + libwebsockets/test-apps/test-lejp.c +Copyright: 2010-2018 Andy Green +License: LGPL-2.1 + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation: + version 2.1 of the License. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301 USA + . + On Debian systems, the complete text of the GNU Lesser General Public License + Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. + +Files: json-c/fuzz/build.sh + libwebsockets/lib/tls/mbedtls/wrapper/include/internal/ssl3.h + libwebsockets/lib/tls/mbedtls/wrapper/include/internal/ssl_cert.h + libwebsockets/lib/tls/mbedtls/wrapper/include/internal/ssl_code.h + libwebsockets/lib/tls/mbedtls/wrapper/include/internal/ssl_dbg.h + libwebsockets/lib/tls/mbedtls/wrapper/include/internal/ssl_lib.h + libwebsockets/lib/tls/mbedtls/wrapper/include/internal/ssl_methods.h + libwebsockets/lib/tls/mbedtls/wrapper/include/internal/ssl_pkey.h + libwebsockets/lib/tls/mbedtls/wrapper/include/internal/ssl_types.h + libwebsockets/lib/tls/mbedtls/wrapper/include/internal/ssl_x509.h + libwebsockets/lib/tls/mbedtls/wrapper/include/internal/tls1.h + libwebsockets/lib/tls/mbedtls/wrapper/include/internal/x509_vfy.h + libwebsockets/lib/tls/mbedtls/wrapper/include/openssl/ssl.h + libwebsockets/lib/tls/mbedtls/wrapper/include/platform/ssl_pm.h + libwebsockets/lib/tls/mbedtls/wrapper/include/platform/ssl_port.h + libwebsockets/lib/tls/mbedtls/wrapper/library/ssl_cert.c + libwebsockets/lib/tls/mbedtls/wrapper/library/ssl_lib.c + libwebsockets/lib/tls/mbedtls/wrapper/library/ssl_methods.c + libwebsockets/lib/tls/mbedtls/wrapper/library/ssl_pkey.c + libwebsockets/lib/tls/mbedtls/wrapper/library/ssl_stack.c + libwebsockets/lib/tls/mbedtls/wrapper/library/ssl_x509.c + libwebsockets/lib/tls/mbedtls/wrapper/platform/ssl_pm.c + libwebsockets/lib/tls/mbedtls/wrapper/platform/ssl_port.c +Copyright: 2015-2016 Espressif Systems (Shanghai) PTE LTD + 2018 Google Inc. +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems, the complete text of the Apache License Version 2.0 + can be found in `/usr/share/common-licenses/Apache-2.0'. + +Files: json-c/tests/test_float.c + libwebsockets/READMEs/README.test-apps.md + libwebsockets/lib/misc/daemonize.c + libwebsockets/win32port/zlib/adler32.c + libwebsockets/win32port/zlib/compress.c + libwebsockets/win32port/zlib/gzguts.h + libwebsockets/win32port/zlib/gzlib.c + libwebsockets/win32port/zlib/gzread.c + libwebsockets/win32port/zlib/gzwrite.c + libwebsockets/win32port/zlib/inffast.c + libwebsockets/win32port/zlib/inftrees.c + libwebsockets/win32port/zlib/trees.c + libwebsockets/win32port/zlib/uncompr.c + libwebsockets/win32port/zlib/zconf.h + libwebsockets/win32port/zlib/zutil.c +Copyright: 1995-2010 Jean-loup Gailly + 1995-2010 Jean-loup Gailly. For conditions of distribution and use, see copyright notice in zlib.h + 1995-2010 Mark Adler For conditions of distribution and use, see copyright notice in zlib.h + 2006-2013 Andy Green + 2010-2011 Andy Green licensed under LGPL2.1 Compiled with SSL support, not using it Listening on port 7681 server sees client connect accepted v06 connection Spamming 360 random fragments + 2016 Rainer Gerhards Released under ASL 2.0 +License: __NO_LICENSE__ + +Files: libwebsockets/lwsws/main.c + libwebsockets/plugins/protocol_lws_mirror.c + libwebsockets/plugins/protocol_lws_server_status.c + libwebsockets/plugins/protocol_lws_status.c + libwebsockets/test-apps/android/README + libwebsockets/test-apps/android/app/src/main/java/org/libwebsockets/client/LwsService.java + libwebsockets/test-apps/android/app/src/main/java/org/libwebsockets/client/MainActivity.java + libwebsockets/test-apps/android/app/src/main/java/org/libwebsockets/client/ThreadService.java + libwebsockets/test-apps/android/app/src/main/jni/LwsService.cpp + libwebsockets/test-apps/test-client.c + libwebsockets/test-apps/test-server-libev.c + libwebsockets/test-apps/test-server-libevent.c + libwebsockets/test-apps/test-server.c +Copyright: 2010-2018 Andy Green + 2016 Alexander Bruines +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + The person who associated a work with this deed has dedicated + the work to the public domain by waiving all of his or her rights + to the work worldwide under copyright law, including all related + and neighboring rights, to the extent allowed by law. You can copy, + modify, distribute and perform the work, even for commercial purposes, + all without asking permission. + . + The test apps are intended to be adapted for use in your code, which + may be proprietary. So unlike the library itself, they are licensed + Public Domain. + +Files: json-c/arraylist.c + json-c/arraylist.h + json-c/debug.c + json-c/json_c_version.c + json-c/json_object.c + json-c/json_object.h + json-c/json_tokener.h + json-c/json_util.c + json-c/linkhash.c + json-c/linkhash.h + json-c/random_seed.c +Copyright: 2004-2013 Metaparadigm Pte. Ltd. Michael Clark + 2009 Hewlett-Packard Development Company, L.P. + 2012 Eric Haszlakiewicz +License: __UNKNOWN__ + This library is free software; you can redistribute it and/or modify + it under the terms of the MIT license. See COPYING for details. + +Files: libwebsockets/lib/misc/smtp.c + libwebsockets/plugins/generic-sessions/handlers.c + libwebsockets/plugins/generic-sessions/private-lwsgs.h + libwebsockets/plugins/generic-sessions/protocol_generic_sessions.c + libwebsockets/plugins/generic-sessions/protocol_lws_messageboard.c + libwebsockets/plugins/generic-sessions/utils.c + libwebsockets/plugins/generic-table/protocol_table_dirlisting.c +Copyright: 2010-2017 Andy Green +License: LGPL-2.1 + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation: + version 2.1 of the License. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + . + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301 USA + . + On Debian systems, the complete text of the GNU Lesser General Public License + Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. + +Files: json-c/autoconf-archive/m4/libtool.m4 + json-c/autoconf-archive/m4/ltoptions.m4 + json-c/autoconf-archive/m4/ltsugar.m4 + json-c/autoconf-archive/m4/ltversion.m4 + json-c/autoconf-archive/m4/lt~obsolete.m4 +Copyright: 1996-2015 Free Software Foundation, Inc. +License: PERMISSIVE + This file is free software; the Free Software Foundation gives + unlimited permission to copy and/or distribute it, with or without + modifications, as long as this notice is preserved. + +Files: libwebsockets/plugin-standalone/protocol_example_standalone.c + libwebsockets/plugins/protocol_client_loopback_test.c + libwebsockets/plugins/protocol_dumb_increment.c + libwebsockets/plugins/protocol_lws_sshd_demo.c + libwebsockets/plugins/protocol_post_demo.c +Copyright: 2010-2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + The person who associated a work with this deed has dedicated + the work to the public domain by waiving all of his or her rights + to the work worldwide under copyright law, including all related + and neighboring rights, to the extent allowed by law. You can copy, + modify, distribute and perform the work, even for commercial purposes, + all without asking permission. + . + These test plugins are intended to be adapted for use in your code, which + may be proprietary. So unlike the library itself, they are licensed + Public Domain. + +Files: json-c/autom4te.cache/output.0 + json-c/autom4te.cache/output.1 + json-c/autom4te.cache/output.2 + json-c/configure +Copyright: 1992-2012 Free Software Foundation, Inc. +License: PERMISSIVE + This configure script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it. + +Files: libwebsockets/minimal-examples/ws-client/minimal-ws-client-echo/protocol_lws_minimal_client_echo.c + libwebsockets/minimal-examples/ws-client/minimal-ws-client-pmd-bulk/protocol_lws_minimal_pmd_bulk.c + libwebsockets/minimal-examples/ws-server/minimal-ws-server-echo/protocol_lws_minimal_server_echo.c + libwebsockets/minimal-examples/ws-server/minimal-ws-server-pmd-bulk/protocol_lws_minimal_pmd_bulk.c +Copyright: 2010-2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + The protocol shows how to send and receive bulk messages over a ws connection + that optionally may have the permessage-deflate extension negotiated on it. + +Files: libwebsockets/win32port/zlib/deflate.h + libwebsockets/win32port/zlib/inffast.h + libwebsockets/win32port/zlib/inflate.h + libwebsockets/win32port/zlib/zutil.h +Copyright: 1995-2010 Jean-loup Gailly For conditions of distribution and use, see copyright notice in zlib.h + 1995-2010 Jean-loup Gailly. For conditions of distribution and use, see copyright notice in zlib.h + 1995-2010 Mark Adler For conditions of distribution and use, see copyright notice in zlib.h +License: __UNKNOWN__ + WARNING: this file should *not* be used by applications. It is + part of the implementation of the compression library and is + subject to change. Applications should only use zlib.h. + +Files: json-c/autoconf-archive/m4/ax_append_compile_flags.m4 + json-c/autoconf-archive/m4/ax_append_flag.m4 + json-c/autoconf-archive/m4/ax_check_compile_flag.m4 + json-c/autoconf-archive/m4/ax_compile_check_sizeof.m4 +Copyright: 2008 Guido U. Draheim + 2008 Kaveh Ghazi + 2011 Maarten Bosmans +License: GPL-3.0+ with unknown exception *** check multiple exceptions *** + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation, either version 3 of the License, or (at your + option) any later version. + . + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + Public License for more details. + . + You should have received a copy of the GNU General Public License along + with this program. If not, see . + . + As a special exception, the respective Autoconf Macro's copyright owner + gives unlimited permission to copy, distribute and modify the configure + scripts that are the output of Autoconf when processing the Macro. You + need not follow the terms of the GNU General Public License when using + or distributing such scripts, even though portions of the text of the + Macro appear in them. The GNU General Public License (GPL) does govern + all other use of the material that constitutes the Autoconf Macro. + . + This special exception to the GPL applies to versions of the Autoconf + Macro released by the Autoconf Archive. When you make and distribute a + modified version of the Autoconf Macro, you may extend this special + exception to the GPL to apply to your modified version as well. + . + On Debian systems, the complete text of the GNU General Public License + Version 3 can be found in `/usr/share/common-licenses/GPL-3'. + +Files: json-c/debug.h + json-c/json_object_private.h + json-c/random_seed.h +Copyright: 2004-2013 Metaparadigm Pte. Ltd. Michael Clark + 2009 Hewlett-Packard Development Company, L.P. +License: __UNKNOWN__ + This library is free software; you can redistribute it and/or modify + it under the terms of the MIT license. See COPYING for details. + . + @brief Do not use, json-c internal, may be changed or removed at any time. + +Files: libwebsockets/minimal-examples/client-server/minimal-ws-proxy/protocol_lws_minimal.c + libwebsockets/minimal-examples/ws-server/minimal-ws-server-ring/protocol_lws_minimal.c + libwebsockets/minimal-examples/ws-server/minimal-ws-server-threads/protocol_lws_minimal.c +Copyright: 2010-2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + +Files: json-c/compile + json-c/missing + json-c/test-driver +Copyright: 1996-2014 Free Software Foundation, Inc. +License: GPL-2.0+ with autoconf exception + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + As a special exception to the GNU General Public License, if you + distribute this file as part of a program that contains a + configuration script generated by Autoconf, you may include it under + the same distribution terms that you use for the rest of that program. + . + On Debian systems, the complete text of the GNU General Public License + Version 2 can be found in `/usr/share/common-licenses/GPL-2'. + +Files: libwebsockets/lib/event-libs/private.h + libwebsockets/lib/roles/private.h +Copyright: 2010-2018 Andy Green +License: LGPL-2.1 + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation: + version 2.1 of the License. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301 USA + . + This is included from private-libwebsockets.h + . + On Debian systems, the complete text of the GNU Lesser General Public License + Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. + +Files: libwebsockets/plugins/protocol_esp32_lws_group.c + libwebsockets/plugins/protocol_esp32_lws_scan.c +Copyright: 2017 Andy Green +License: LGPL-2.1 + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation: + version 2.1 of the License. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301 USA* + . + On Debian systems, the complete text of the GNU Lesser General Public License + Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. + +Files: libwebsockets/minimal-examples/http-server/minimal-http-server-sse-ring/minimal-http-server-sse-ring.c + libwebsockets/minimal-examples/http-server/minimal-http-server-sse/minimal-http-server-sse.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates a minimal http server that can serve both normal static + content and server-side event connections. + . + To keep it simple, it serves the static stuff from the subdirectory + "./mount-origin" of the directory it was started in. + . + You can change that by changing mount.origin below. + +Files: libwebsockets/lib/roles/h2/minihuf.c + libwebsockets/lib/roles/http/minilex.c +Copyright: 2011-2014 Andy Green +License: __UNKNOWN__ + Licensed under LGPL2 + +Files: libwebsockets/minimal-examples/ws-server/minimal-ws-server-pmd/protocol_lws_minimal.c + libwebsockets/minimal-examples/ws-server/minimal-ws-server/protocol_lws_minimal.c +Copyright: 2010-2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This version holds a single message at a time, which may be lost if a new + message comes. See the minimal-ws-server-ring sample for the same thing + +Files: libwebsockets/minimal-examples/ws-server/minimal-ws-server-pmd-bulk/minimal-ws-server-pmd-bulk.c + libwebsockets/minimal-examples/ws-server/minimal-ws-server-pmd/minimal-ws-server-pmd.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates the most minimal http server you can make with lws. + . + To keep it simple, it serves stuff in the subdirectory "./mount-origin" of + the directory it was started in. + You can change that by changing mount.origin. + +Files: json-c/json_pointer.c + json-c/json_visit.c +Copyright: 2016 Alexandru Ardelean. + 2016 Eric Haszlakiewicz +License: __UNKNOWN__ + This is free software; you can redistribute it and/or modify + it under the terms of the MIT license. See COPYING for details. + +Files: libwebsockets/minimal-examples/http-server/minimal-http-server-multivhost/minimal-http-server.c + libwebsockets/minimal-examples/http-server/minimal-http-server/minimal-http-server.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates the most minimal http server you can make with lws. + . + To keep it simple, it serves stuff from the subdirectory + "./mount-origin" of the directory it was started in. + You can change that by changing mount.origin below. + +Files: json-c/json_tokener.c + json-c/printbuf.c +Copyright: 2004-2005 Metaparadigm Pte. Ltd. Michael Clark + 2008-2009 Yahoo! Inc. +License: __UNKNOWN__ + This library is free software; you can redistribute it and/or modify + it under the terms of the MIT license. See COPYING for details. + . + The copyrights to the contents of this file are licensed under the MIT License + (http://www.opensource.org/licenses/mit-license.php) + +Files: libwebsockets/minimal-examples/http-client/minimal-http-client-certinfo/minimal-http-client-certinfo.c + libwebsockets/minimal-examples/http-client/minimal-http-client/minimal-http-client.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates the a minimal http client using lws. + . + It visits https://warmcat.com/ and receives the html page there. You + can dump the page data by changing the #if 0 below. + +Files: libwebsockets/lib/misc/romfs.c + libwebsockets/lib/misc/romfs.h +Copyright: 2017 National Institute of Advanced Industrial Science and Technology (AIST) +License: BSD-3-Clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + . + Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + . + Neither the name of AIST nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + . + On Debian systems, the complete text of the BSD 3-clause "New" or "Revised" + License can be found in `/usr/share/common-licenses/BSD'. + +Files: libwebsockets/win32port/win32helpers/getopt.c + libwebsockets/win32port/win32helpers/getopt_long.c +Copyright: 1987-1996 The Regents of the University of California. +License: BSD-4-Clause-UC + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. + 4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +Files: json-c/Makefile.in + json-c/tests/Makefile.in +Copyright: 1994-2017 Free Software Foundation, Inc. +License: __AUTO_PERMISSIVE__ + Autogenerated files with permissive licenses. + +Files: json-c/install-sh +Copyright: 1994 X Consortium +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- + TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + . + Except as contained in this notice, the name of the X Consortium shall not + be used in advertising or otherwise to promote the sale, use or other deal- + ings in this Software without prior written authorization from the X Consor- + tium. + . + FSF changes to this file are in the public domain. + . + Calling this script install-sh is preferred over install.sh, to prevent + 'make' implicit rules from creating a file called install from it + when there is no Makefile. + . + This script is compatible with the BSD install script, but was written + from scratch. + +Files: libwebsockets/win32port/zlib/zlib.h +Copyright: 1995-2010 Jean-loup Gailly and Mark Adler +License: Zlib + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + . + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + . + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + . + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + . + The data format used by the zlib library is described by RFCs (Request for + Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt + (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format). + +Files: libwebsockets/lib/misc/base64-decode.c +Copyright: __NO_COPYRIGHT__ in: libwebsockets/lib/misc/base64-decode.c +License: Expat + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated + documentation files (the "Software"), to deal in the + Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, + subject to the following conditions: + . + The above copyright notice and this permission notice shall + be included in all copies or substantial portions of the + Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY + KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS + OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + . + VERSION HISTORY: + Bob Trower 08/04/01 -- Create Version 0.00.00B + . + I cleaned it up quite a bit to match the (linux kernel) style of the rest + of libwebsockets; this version is under LGPL2.1 + SLE like the rest of lws + since he explicitly allows sublicensing, but I give the URL above so you can + get the original with Bob's super-liberal terms directly if you prefer. + +Files: weechat-plugin.h +Copyright: 2003-2018 Sébastien Helleu +License: GPL-3.0+ + This file is part of WeeChat, the extensible chat client. + . + WeeChat is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + . + WeeChat is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with WeeChat. If not, see . + . + On Debian systems, the complete text of the GNU General Public License + Version 3 can be found in `/usr/share/common-licenses/GPL-3'. + +Files: libwebsockets/test-apps/fuzxy.c +Copyright: 2016 Andy Green +License: LGPL-2.1 + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation: + version 2.1 of the License. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301 USA + . + fuzxy is designed to go on the client path + . + [ client <-> fuzxy ] <-> server + . + you can arrange that with, eg, + . + On Debian systems, the complete text of the GNU Lesser General Public License + Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. + +Files: libwebsockets/lib/roles/http/private.h +Copyright: 2010-2018 Andy Green +License: LGPL-2.1 + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation: + version 2.1 of the License. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301 USA + . + This is included from private-libwebsockets.h if either H1 or H2 roles are + enabled + . + On Debian systems, the complete text of the GNU Lesser General Public License + Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. + +Files: libwebsockets/plugins/acme-client/protocol_lws_acme_client.c +Copyright: 2017 Andy Green +License: LGPL-2.1 + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation: + version 2.1 of the License. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301 USA + . + Acme is in a big messy transition at the moment from a homebrewed api + to an IETF one. The old repo for the homebrew api (they currently + implement) is marked up as deprecated and "not accurate[ly] reflect[ing]" + what they implement, but the IETF standard, currently at v7 is not yet + implemented at let's encrypt (ETA Jan 2018). + . + This implementation follows draft 7 of the IETF standard, and falls back + to whatever differences exist for Boulder's tls-sni-01 challenge. The + tls-sni-02 support is there but nothing to test it against at the time of + writing (Nov 1 2017). + . + On Debian systems, the complete text of the GNU Lesser General Public License + Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. + +Files: libwebsockets/plugins/protocol_esp32_lws_reboot_to_factory.c +Copyright: 2017 Andy Green +License: LGPL-2.1 + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation: + version 2.1 of the License. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301 USA + . + This is intended to be mounted somewhere in your ESP32 user app... if the + client touched the mount, the plugin hangs up and reboots into the + factory mode one second later. + . + The factory mode will reassociate with the same IP with the same MAC + shortly afterwards and be accessible by the same IP / mDNS name. + . + On Debian systems, the complete text of the GNU Lesser General Public License + Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. + +Files: libwebsockets/lib/roles/http/server/fops-zip.c +Copyright: 2017 Andy Green + 2017 Per Bothner +License: LGPL-2.1 + MIT License + . + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + ( copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + . + lws rewrite: + . + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation: + version 2.1 of the License. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301 USA + . + On Debian systems, the complete text of the GNU Lesser General Public License + Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. + +Files: json-c/autoconf-archive/m4/ax_require_defined.m4 +Copyright: 2014 Mike Frysinger +License: PERMISSIVE + Copying and distribution of this file, with or without modification, are + permitted in any medium without royalty provided the copyright notice + and this notice are preserved. This file is offered as-is, without any + warranty. + +Files: json-c/tests/Makefile +Copyright: 1994-2017 Free Software Foundation, Inc. +License: PERMISSIVE + This Makefile.in is free software; the Free Software Foundation + gives unlimited permission to copy and/or distribute it, + with or without modifications, as long as this notice is preserved. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY, to the extent permitted by law; without + even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. + +Files: json-c/aclocal.m4 +Copyright: 1996-2017 Free Software Foundation, Inc. +License: PERMISSIVE + This file is free software; the Free Software Foundation + gives unlimited permission to copy and/or distribute it, + with or without modifications, as long as this notice is preserved. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY, to the extent permitted by law; without + even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. + +Files: json-c/json_util.h +Copyright: 2004-2005 Metaparadigm Pte. Ltd. Michael Clark +License: __UNKNOWN__ + This library is free software; you can redistribute it and/or modify + it under the terms of the MIT license. See COPYING for details. + . + @brief Miscllaneous utility functions and macros. + +Files: libwebsockets/minimal-examples/http-server/minimal-http-server-tls/mount-origin/http2.png +Copyright: __NO_COPYRIGHT__ in: libwebsockets/minimal-examples/http-server/minimal-http-server-tls/mount-origin/http2.png +License: __UNKNOWN__ + _MANY_NON_ASCII_(10chars. over 20chars.) starting with: 8—S¯×P*<ÎY‚@!„À{O + _MANY_NON_ASCII_(3chars. over 4chars.) starting with: ¡µ@© + R + +Files: libwebsockets/minimal-examples/http-server/minimal-http-server-basicauth/minimal-http-server-basicauth.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates a minimal http server with a second mount that + is protected using a password file and basic auth. + . + To keep it simple, it serves the static stuff from the subdirectory + "./mount-origin" of the directory it was started in. + . + You can change that by changing mount.origin below. + +Files: libwebsockets/minimal-examples/raw/minimal-raw-file/minimal-raw-file.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates adopting a file descriptor into the lws event + loop. + +Files: json-c/CMakeLists.txt +Copyright: __NO_COPYRIGHT__ in: json-c/CMakeLists.txt +License: __UNKNOWN__ + Licensed under the MIT license. See LICENSE file in the project root for full license information. + +Files: libwebsockets/minimal-examples/http-server/minimal-http-server-form-post/minimal-http-server-form-post.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates a minimal http server that performs POST with a couple + of parameters. It dumps the parameters to the console log and redirects + to another page. + +Files: libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib/minimal-http-server-eventlib.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates a minimal http[s] server that can work with any of the + supported event loop backends, or the default poll() one. + . + To keep it simple, it serves stuff from the subdirectory + "./mount-origin" of the directory it was started in. + You can change that by changing mount.origin below. + +Files: libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib-foreign/minimal-http-server-eventlib-foreign.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates the most minimal http server you can make with lws that + uses a libuv event loop created outside lws. It shows how lws can + participate in someone else's event loop and clean up after itself. + . + You choose the event loop to work with at runtime, by giving the + --uv, --event or --ev switch. Lws has to have been configured to build the + selected event lib support. + . + To keep it simple, it serves stuff from the subdirectory + "./mount-origin" of the directory it was started in. + You can change that by changing mount.origin below. + +Files: libwebsockets/win32port/zlib/crc32.c +Copyright: 1995-2010 Mark Adler For conditions of distribution and use, see copyright notice in zlib.h +License: __UNKNOWN__ + Thanks to Rodney Brown for his contribution of faster + CRC methods: exclusive-oring 32 bits of data at a time, and pre-computing + tables for updating the shift register in one step with three exclusive-ors + instead of four steps with four exclusive-ors. This results in about a + factor of two increase in speed on a Power PC G4 (PPC7455) using gcc -O3. + +Files: json-c/config.log +Copyright: 2017 Free Software Foundation, Inc. +License: __UNKNOWN__ + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +Files: libwebsockets/READMEs/README.coding.md +Copyright: __NO_COPYRIGHT__ in: libwebsockets/READMEs/README.coding.md +License: __UNKNOWN__ + For these reasons and the response I got trying to raise these issues with + them, if you have a choice about event loop, I would gently encourage you + to avoid libev. Where lws uses an event loop itself, eg in lwsws, we use + libuv. + . + @section extopts Extension option control from user code + . + User code may set per-connection extension options now, using a new api + +Files: json-c/config.status +Copyright: 2012 Free Software Foundation, Inc. +License: __UNKNOWN__ + This config.status script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it." + +Files: libwebsockets/minimal-examples/http-server/minimal-http-server-dynamic/minimal-http-server-dynamic.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates a minimal http server that can produce dynamic http + content as well as static content. + . + To keep it simple, it serves the static stuff from the subdirectory + "./mount-origin" of the directory it was started in. + . + You can change that by changing mount.origin below. + +Files: libwebsockets/win32port/zlib/inftrees.h +Copyright: 1995-2010 Mark Adler For conditions of distribution and use, see copyright notice in zlib.h +License: __UNKNOWN__ + WARNING: this file should *not* be used by applications. It is + part of the implementation of the compression library and is + subject to change. Applications should only use zlib.h. + . + Structure for decoding tables. Each entry provides either the + information needed to do the operation requested by the code that + indexed that table entry, or it provides a pointer to another + table that indexes more bits of the code. op indicates whether + the entry is a pointer to another table, a literal, a length or + distance, an end-of-block, or an invalid code. For a table + pointer, the low four bits of op is the number of index bits of + that table. For a length or distance, the low four bits of op + is the number of extra bits to get after the code. bits is + the number of bits in this code or part of the code to drop off + of the bit buffer. val is the actual byte to output in the case + of a literal, the base length or distance, or the offset from + the current table to the next table. Each entry is four bytes. + +Files: libwebsockets/minimal-examples/raw/minimal-raw-adopt-tcp/minimal-raw-adopt-tcp.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates integrating somebody else's connected tcp + socket into the lws event loop as a RAW wsi. It's interesting in + the kind of situation where you already have a connected socket + in your application, and you need to hand it over to lws to deal with. + . + Lws supports "adopting" these foreign sockets. + . + If you simply want a connected client raw socket using lws alone, you + +Files: libwebsockets/test-apps/test-sshd.c +Copyright: 2017 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + The person who associated a work with this deed has dedicated + the work to the public domain by waiving all of his or her rights + to the work worldwide under copyright law, including all related + and neighboring rights, to the extent allowed by law. You can copy, + modify, distribute and perform the work, even for commercial purposes, + all without asking permission. + . + The test apps are intended to be adapted for use in your code, which + may be proprietary. So unlike the library itself, they are licensed + Public Domain. + . + This test app listens on port 2200 for authorized ssh connections. Run it + using + . + $ sudo libwebsockets-test-sshd + . + Connect to it using the test private key with: + . + $ ssh -p 2200 -i /usr/local/share/libwebsockets-test-server/lws-ssh-test-keys anyuser@127.0.0.1 + +Files: libwebsockets/minimal-examples/ws-server/minimal-ws-server-echo/minimal-ws-server-echo.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates a ws server that echoes back what it was sent, in a way + compatible with autobahn -m fuzzingclient + +Files: libwebsockets/minimal-examples/ws-server/minimal-ws-broker/minimal-ws-broker.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates the most minimal http server you can make with lws, + with an added publish / broker / subscribe ws server. + . + To keep it simple, it serves stuff in the subdirectory "./mount-origin" of + the directory it was started in. + You can change that by changing mount.origin. + +Files: libwebsockets/win32port/zlib/inflate.c +Copyright: 1995-2010 Mark Adler For conditions of distribution and use, see copyright notice in zlib.h +License: __UNKNOWN__ + Change history: + . + 1.2.beta0 24 Nov 2002 + - First version -- complete rewrite of inflate to simplify code, avoid + creation of window when not needed, minimize use of window when it is + needed, make inffast.c even faster, implement gzip decoding, and to + improve code readability and style over the previous zlib inflate code + . + 1.2.beta1 25 Nov 2002 + - Use pointers for available input and output checking in inffast.c + - Remove input and output counters in inffast.c + +Files: libwebsockets/minimal-examples/ws-client/minimal-ws-client-pmd-bulk/minimal-ws-client-pmd-bulk.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates a ws client that sends bulk data in multiple + ws fragments, in a way compatible with per-message deflate. + . + It shows how to send huge messages without needing a lot of memory. + . + Build and start the minimal-examples/ws-server/minmal-ws-server-pmd-bulk + example first. Running this sends a large message to the server and + exits. + . + If you give both sides the -n commandline option, it disables permessage- + deflate compression extension. + +Files: json-c/printbuf.h +Copyright: 2004-2005 Metaparadigm Pte. Ltd. Michael Clark + 2008-2009 Yahoo! Inc. +License: __UNKNOWN__ + This library is free software; you can redistribute it and/or modify + it under the terms of the MIT license. See COPYING for details. + . + The copyrights to the contents of this file are licensed under the MIT License + (http://www.opensource.org/licenses/mit-license.php) + . + @brief Internal string buffer handing. Unless you're writing a + +Files: libwebsockets/cmake/FindGit.cmake +Copyright: Kitware Inc. +License: __UNKNOWN__ + See COPYRIGHT.txt + or http://www.slicer.org/copyright/copyright.txt for details. + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + This file was originally developed by Jean-Christophe Fillion-Robin, Kitware Inc. + and was partially funded by NIH grant 3P41RR013218-12S1 + . + AG 2013-02-18: I got it from here + https://github.com/Slicer/Slicer/blob/master/CMake/FindGit.cmake + license is BSD + . + The module defines the following variables: + +Files: json-c/json_c_version.h +Copyright: 2012-2017 Eric Haszlakiewicz +License: __UNKNOWN__ + This library is free software; you can redistribute it and/or modify + it under the terms of the MIT license. See COPYING for details. + . + @brief Methods for retrieving the json-c version. + +Files: json-c/autom4te.cache/traces.0 +Copyright: 2011 Free Software Foundation, Inc. +License: __UNKNOWN__ + This config.lt script is free software; the Free Software Foundation + gives unlimited permision to copy, distribute and modify it." + +Files: libwebsockets/minimal-examples/ws-client/minimal-ws-client-tx/minimal-ws-client.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates a ws "publisher" to go with the minimal-ws-broker + example. + . + Two threads are spawned that produce messages to be sent to the broker, + via a local ringbuffer. Locking is provided to make ringbuffer access + threadsafe. + . + When a nailed-up client connection to the broker is established, the + ringbuffer is sent to the broker, which distributes the events to all + connected clients. + +Files: libwebsockets/plugins/protocol_lws_raw_test.c +Copyright: 2010-2017 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + The person who associated a work with this deed has dedicated + the work to the public domain by waiving all of his or her rights + to the work worldwide under copyright law, including all related + and neighboring rights, to the extent allowed by law. You can copy, + modify, distribute and perform the work, even for commercial purposes, + all without asking permission. + . + These test plugins are intended to be adapted for use in your code, which + may be proprietary. So unlike the library itself, they are licensed + Public Domain. + . + This plugin test both raw file descriptors and raw socket descriptors. It + can test both or just one depending on how you configure it. libwebsockets- + test-server-v2.0 is set up to test both. + . + RAW File Descriptor Testing + +Files: libwebsockets/win32port/zlib/infback.c +Copyright: 1995-2009 Mark Adler For conditions of distribution and use, see copyright notice in zlib.h +License: __UNKNOWN__ + This code is largely copied from inflate.c. Normally either infback.o or + inflate.o would be linked into an application--not both. The interface + with inffast.c is retained so that optimized assembler-coded versions of + +Files: libwebsockets/minimal-examples/http-client/minimal-http-client-post/minimal-http-client-post.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates the a minimal http client using lws and POST. + . + It POSTs both form data and a file to the form at + https://libwebsockets.org/testserver/formtest and dumps + the html page received generated by the POST handler. + +Files: libwebsockets/minimal-examples/raw/minimal-raw-vhost/minimal-raw-vhost.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates integrating a raw tcp listener into the lws event loop. + . + This demo doesn't have any http or ws support. You can connect to it + using netcat. If you make multiple connections to it, things typed in one + netcat session are broadcast to all netcat connections. + . + $ nc localhost 7681 + . + You can add more vhosts with things like http or ws support, it's as it is + for clarity. + . + The main point is the apis and ways of managing raw sockets are almost + identical to http or ws mode sockets in lws. The callback names for raw + wsi are changed to be specific to RAW mode is all. + +Files: libwebsockets/minimal-examples/http-server/minimal-http-server-form-post-file/minimal-http-server-form-post-file.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates a minimal http server that performs POST with a couple + of parameters and a file upload, all in multipart (mime) form mode. + It saves the uploaded file in the current directory, dumps the parameters to + the console log and redirects to another page. + +Files: libwebsockets/minimal-examples/ws-server/minimal-ws-server-ring/minimal-ws-server.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates the most minimal http server you can make with lws, + with an added websocket chat server using a ringbuffer. + . + To keep it simple, it serves stuff in the subdirectory "./mount-origin" of + the directory it was started in. + You can change that by changing mount.origin. + +Files: libwebsockets/test-apps/android/app/src/main/jni/NativeLibs.mk +Copyright: 2016 Alexander Bruines +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + The person who associated a work with this deed has dedicated + the work to the public domain by waiving all of his or her rights + to the work worldwide under copyright law, including all related + and neighboring rights, to the extent allowed by law. You can copy, + modify, distribute and perform the work, even for commercial purposes, + all without asking permission. + . + The test apps are intended to be adapted for use in your code, which + may be proprietary. So unlike the library itself, they are licensed + Public Domain. + . + This makefile is fully intergrated with this Android Studio project and + it will be called automaticaly when you build the project with Gradle. + . + The source packages for the libraries will be automaticaly downloaded. + Alternativly you can provide your own sources by placing the following + files in the 'jni' directory: + . + zlib-1.2.8.tar.gz + openssl-1.0.2g.tar.gz + libwebsockets.tar.gz + . + This makefile was tested with the latest NDK/SDK and Android Studio at the + time of this writing. As these software packages evolve changes to this + makefile may be needed or it may become obselete... + . + This makefile was made for use in Linux but you may be able to edit it + and make it work under Windows. + . + At least on Debian, building openssl requires package xutils-dev + for makedepend. Ofcourse the standard development packages must also be + installed, but xutils-dev is not that obvious in this case... + . + Makedepend will most likely print a lot of warnings during the 'make depend' + stage of building openssl. In this case these warnings can be safely ignored. + . + Include Application.mk but do not complain if it is not found + +Files: json-c/json.h +Copyright: 2004-2005 Metaparadigm Pte. Ltd. Michael Clark + 2009 Hewlett-Packard Development Company, L.P. +License: __UNKNOWN__ + This library is free software; you can redistribute it and/or modify + it under the terms of the MIT license. See COPYING for details. + . + @brief A convenience header that may be included instead of other individual ones. + +Files: libwebsockets/minimal-examples/http-server/minimal-http-server-form-get/minimal-http-server-form-get.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates a minimal http server that performs a form GET with a couple + of parameters. It dumps the parameters to the console log and redirects + to another page. + +Files: libwebsockets/minimal-examples/ws-client/minimal-ws-client-echo/minimal-ws-client-echo.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates a ws client that echoes back what it was sent, in a + way compatible with autobahn -m fuzzingserver + +Files: libwebsockets/minimal-examples/http-server/minimal-http-server-smp/minimal-http-server-smp.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates a minimal multithreaded http server you can make with lws. + . + To keep it simple, it serves stuff in the subdirectory "./mount-origin" of + the directory it was started in. + You can change that by changing mount.origin. + . + Also for simplicity the number of threads is set in the code... note that + +Files: libwebsockets/minimal-examples/ws-client/minimal-ws-client-rx/minimal-ws-client.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates the a minimal ws client using lws. + . + It connects to https://libwebsockets.org/ and makes a + wss connection to the dumb-increment protocol there. While + connected, it prints the numbers it is being sent by + dumb-increment protocol. + +Files: libwebsockets/minimal-examples/http-client/minimal-http-client-multi/minimal-http-client-multi.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates the a minimal http client using lws, which makes + 8 downloads simultaneously from warmcat.com. + . + Currently that takes the form of 8 individual simultaneous tcp and + tls connections, which happen concurrently. Notice that the ordering + of the returned payload may be intermingled for the various connections. + . + By default the connections happen all together at the beginning and operate + concurrently, which is fast. However this is resource-intenstive, there are + 8 tcp connections, 8 tls tunnels on both the client and server. You can + instead opt to have the connections happen one after the other inside a + single tcp connection and tls tunnel, using HTTP/1.1 pipelining. To be + eligible to be pipelined on another existing connection to the same server, + +Files: libwebsockets/minimal-examples/http-client/minimal-http-client-hugeurl/minimal-http-client-hugeurl.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates the a minimal http client using lws. + +Files: libwebsockets/minimal-examples/raw/minimal-raw-adopt-udp/minimal-raw-adopt-udp.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates integrating a connected udp + socket into the lws event loop as a RAW wsi. It's interesting in + the kind of situation where you already have a connected socket + in your application, and you need to hand it over to lws to deal with. + . + Lws supports "adopting" these foreign sockets, and also has a helper API + to create, bind, and adopt them inside lws. + +Files: libwebsockets/minimal-examples/http-server/minimal-http-server-tls/minimal-http-server-tls.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates the most minimal http server you can make with lws, + with three extra lines giving it tls (ssl) capabilities, which in + turn allow operation with HTTP/2 if lws was configured for it. + . + To keep it simple, it serves stuff from the subdirectory + "./mount-origin" of the directory it was started in. + . + You can change that by changing mount.origin below. + +Files: libwebsockets/minimal-examples/ws-server/minimal-ws-broker/protocol_lws_minimal.c +Copyright: 2010-2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This implements a minimal "broker", for systems that look like this + . + [ publisher ws client ] <-> [ ws server broker ws server ] <-> [ ws client subscriber ] + . + The "publisher" role is to add data to the broker. + . + The "subscriber" role is to hear about all data added to the system. + . + The "broker" role is to manage incoming data from publishers and pass it out + to subscribers. + . + Any number of publishers and subscribers are supported. + . + This example implements a single ws server, using one ws protocol, that treats ws + connections as being in publisher or subscriber mode according to the URL the ws + connection was made to. ws connections to "/publisher" URL are understood to be + publishing data and to any other URL, subscribing. + +Files: libwebsockets/win32port/zlib/deflate.c +Copyright: 1995-2010 Jean-loup Gailly and Mark Adler For conditions of distribution and use, see copyright notice in zlib.h +License: __UNKNOWN__ + ALGORITHM + . + The "deflation" process depends on being able to identify portions + of the input text which are identical to earlier input (within a + sliding window trailing behind the input currently being processed). + . + The most straightforward technique turns out to be the fastest for + most input files: try all possible matches and select the longest. + The key feature of this algorithm is that insertions into the string + dictionary are very simple and thus fast, and deletions are avoided + completely. Insertions are performed at each input character, whereas + string matches are performed only when the previous match ends. So it + is preferable to spend more time in matches to allow very fast string + insertions and avoid deletions. The matching algorithm for small + strings is inspired from that of Rabin & Karp. A brute force approach + is used to find longer strings when a small match has been found. + A similar algorithm is used in comic (by Jan-Mark Wams) and freeze + (by Leonid Broukhis). + A previous version of this file used a more sophisticated algorithm + (by Fiala and Greene) which is guaranteed to run in linear amortized + time, but has a larger average cost, uses more memory and is patented. + However the F&G algorithm may be faster for some highly redundant + +Files: json-c/json_pointer.h +Copyright: 2016 Alexadru Ardelean. +License: __UNKNOWN__ + This is free software; you can redistribute it and/or modify + it under the terms of the MIT license. See COPYING for details. + . + @brief JSON Pointer (RFC 6901) implementation for retrieving + objects from a json-c object tree. + +Files: libwebsockets/minimal-examples/client-server/minimal-ws-proxy/minimal-ws-proxy.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates the most minimal http server you can make with lws, + with an added websocket proxy distributing what is received on a + dumb-increment wss connection to https://libwebsockets.org to all + browsers connected to this server. + . + To keep it simple, it serves stuff in the subdirectory "./mount-origin" of + the directory it was started in. + You can change that by changing mount.origin. + +Files: libwebsockets/minimal-examples/ws-server/minimal-ws-server-threads/minimal-ws-server.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates a minimal ws server that can cooperate with + other threads cleanly. Two other threads are started, which fill + a ringbuffer with strings at 10Hz. + . + The actual work and thread spawning etc are done in the protocol + +Files: libwebsockets/minimal-examples/ws-server/minimal-ws-server/minimal-ws-server.c +Copyright: 2018 Andy Green +License: __UNKNOWN__ + This file is made available under the Creative Commons CC0 1.0 + Universal Public Domain Dedication. + . + This demonstrates the most minimal http server you can make with lws, + with an added websocket chat server. + . + To keep it simple, it serves stuff in the subdirectory "./mount-origin" of + the directory it was started in. + You can change that by changing mount.origin. + +Files: libwebsockets/lib/misc/getifaddrs.c +Copyright: 2000-2001 Kungliga Tekniska H�gskolan (Royal Institute of Technology, Stockholm, Sweden). +License: BSD-3-Clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + 3. Neither the name of the Institute nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + . + originally downloaded from + . + http://ftp.uninett.no/pub/OpenBSD/src/kerberosV/src/lib/roken/getifaddrs.c + . + On Debian systems, the complete text of the BSD 3-clause "New" or "Revised" + License can be found in `/usr/share/common-licenses/BSD'. + +Files: libwebsockets/lib/misc/getifaddrs.h +Copyright: 2000 Kungliga Tekniska H�gskolan (Royal Institute of Technology, Stockholm, Sweden). +License: BSD-3-Clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + 3. Neither the name of the Institute nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + . + $KTH: ifaddrs.hin,v 1.3 2000/12/11 00:01:13 assar Exp $ + . + On Debian systems, the complete text of the BSD 3-clause "New" or "Revised" + License can be found in `/usr/share/common-licenses/BSD'. + +Files: libwebsockets/lib/misc/sha-1.c +Copyright: 1995-1997 and 1998 WIDE Project. +License: BSD-3-Clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the project nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + . + FIPS pub 180-1: Secure Hash Algorithm (SHA-1) + based on: http://csrc.nist.gov/fips/fip180-1.txt + implemented by Jun-ichiro itojun Itoh + . + On Debian systems, the complete text of the BSD 3-clause "New" or "Revised" + License can be found in `/usr/share/common-licenses/BSD'. + +Files: json-c/libtool +Copyright: 2014 Free Software Foundation, Inc. +License: GPL-2.0 with libtool exception + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + . + GNU Libtool is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of of the License, or + (at your option) any later version. + . + As a special exception to the GNU General Public License, if you + distribute this file as part of a program or library that is built + using GNU Libtool, you may include this file under the same + distribution terms that you use for the rest of that program. + . + GNU Libtool is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + The names of the tagged configurations supported by this script. + . + On Debian systems, the complete text of the GNU General Public License + Version 2 can be found in `/usr/share/common-licenses/GPL-2'. + +Files: json-c/ltmain.sh +Copyright: 1996-2015 Free Software Foundation, Inc. +License: GPL-2.0+ with libtool exception + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + . + GNU Libtool is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + As a special exception to the GNU General Public License, + if you distribute this file as part of a program or library that + is built using GNU Libtool, you may include this file under the + same distribution terms that you use for the rest of that program. + . + GNU Libtool is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems, the complete text of the GNU General Public License + Version 2 can be found in `/usr/share/common-licenses/GPL-2'. + +Files: json-c/depcomp +Copyright: 1999-2017 Free Software Foundation, Inc. +License: GPL-2.0+ with autoconf exception + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + As a special exception to the GNU General Public License, if you + distribute this file as part of a program that contains a + configuration script generated by Autoconf, you may include it under + the same distribution terms that you use for the rest of that program. + . + Originally written by Alexandre Oliva . + . + On Debian systems, the complete text of the GNU General Public License + Version 2 can be found in `/usr/share/common-licenses/GPL-2'. + +Files: json-c/config.guess +Copyright: 1992-2016 Free Software Foundation, Inc. +License: GPL-3.0+ with autoconf exception + This file is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program; if not, see . + . + As a special exception to the GNU General Public License, if you + distribute this file as part of a program that contains a + configuration script generated by Autoconf, you may include it under + the same distribution terms that you use for the rest of that + program. This Exception is an additional permission under section 7 + of the GNU General Public License, version 3 ("GPLv3"). + . + Originally written by Per Bothner; maintained since 2000 by Ben Elliston. + . + On Debian systems, the complete text of the GNU General Public License + Version 3 can be found in `/usr/share/common-licenses/GPL-3'. + +Files: json-c/config.sub +Copyright: 1992-2016 Free Software Foundation, Inc. +License: GPL-3.0+ with autoconf exception + This file is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program; if not, see . + . + As a special exception to the GNU General Public License, if you + distribute this file as part of a program that contains a + configuration script generated by Autoconf, you may include it under + the same distribution terms that you use for the rest of that + program. This Exception is an additional permission under section 7 + of the GNU General Public License, version 3 ("GPLv3"). + . + On Debian systems, the complete text of the GNU General Public License + Version 3 can be found in `/usr/share/common-licenses/GPL-3'. + +#---------------------------------------------------------------------------- +# xml and html files (skipped): +# json-c/README.html +# libwebsockets/minimal-examples/client-server/minimal-ws-proxy/mount-origin/index.html +# libwebsockets/minimal-examples/http-server/minimal-http-server/mount-origin/404.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib/mount-origin/404.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-basicauth/mount-origin/404.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-basicauth/mount-origin/index.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-basicauth/mount-secret-origin/index.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib-foreign/mount-origin/404.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-eventlib-foreign/mount-origin/index.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-dynamic/mount-origin/404.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-multivhost/mount-origin-localhost2/404.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-multivhost/mount-origin-localhost1/404.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-multivhost/mount-origin-localhost3/404.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-form-post-file/mount-origin/after-form1.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-form-post-file/mount-origin/404.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-sse/mount-origin/404.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-form-get/mount-origin/after-form1.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-form-get/mount-origin/404.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-form-post/mount-origin/after-form1.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-form-post/mount-origin/404.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-tls/mount-origin/404.html +# libwebsockets/minimal-examples/http-server/minimal-http-server-sse-ring/mount-origin/404.html +# libwebsockets/minimal-examples/ws-server/minimal-ws-server-threads/mount-origin/index.html +# libwebsockets/plugins/server-status.html +# libwebsockets/plugins/generic-sessions/assets/post-register-ok.html +# libwebsockets/plugins/generic-sessions/assets/post-verify-ok.html +# libwebsockets/plugins/generic-sessions/assets/admin-login.html +# libwebsockets/plugins/generic-sessions/assets/failed-login.html +# libwebsockets/plugins/generic-sessions/assets/post-forgot-ok.html +# libwebsockets/plugins/generic-sessions/assets/post-forgot-fail.html +# libwebsockets/plugins/generic-sessions/assets/lwsgs.js +# libwebsockets/plugins/generic-sessions/assets/post-verify-fail.html +# libwebsockets/plugins/generic-sessions/assets/successful-login.html +# libwebsockets/plugins/generic-sessions/assets/sent-forgot-fail.html +# libwebsockets/plugins/generic-sessions/assets/index.html +# libwebsockets/plugins/generic-table/assets/index.html +# libwebsockets/test-apps/test.html +# libwebsockets/test-apps/android/app/app.iml +# libwebsockets/test-apps/android/app/src/main/AndroidManifest.xml +# libwebsockets/test-apps/android/app/src/main/res/layout/activity_main.xml +# libwebsockets/test-apps/android/app/src/main/res/values/colors.xml +# libwebsockets/test-apps/android/app/src/main/res/values/dimens.xml +# libwebsockets/test-apps/android/app/src/main/res/values/strings.xml +# libwebsockets/test-apps/android/app/src/main/res/values/styles.xml + +#---------------------------------------------------------------------------- +# huge files (skipped): +# cscope.out +# cscope.in.out +# cscope.po.out +# slack.so +# libwebsockets/lib/libwebsockets.a +# libwebsockets/test-apps/leaf.jpg + +#---------------------------------------------------------------------------- +# Files marked as NO_LICENSE_TEXT_FOUND may be covered by the following +# license/copyright files. + +#---------------------------------------------------------------------------- +# License file: LICENSE + Mozilla Public License Version 2.0 + ================================== + . + 1. Definitions + -------------- + . + 1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + . + 1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + . + 1.3. "Contribution" + means Covered Software of a particular Contributor. + . + 1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + . + 1.5. "Incompatible With Secondary Licenses" + means + . + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + . + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + . + 1.6. "Executable Form" + means any form of the work other than Source Code Form. + . + 1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + . + 1.8. "License" + means this document. + . + 1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + . + 1.10. "Modifications" + means any of the following: + . + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + . + (b) any new file in Source Code Form that contains any Covered + Software. + . + 1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + . + 1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + . + 1.13. "Source Code Form" + means the form of the work preferred for making modifications. + . + 1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + . + 2. License Grants and Conditions + -------------------------------- + . + 2.1. Grants + . + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + . + (a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + . + (b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + . + 2.2. Effective Date + . + The licenses granted in Section 2.1 with respect to any Contribution + become effective for each Contribution on the date the Contributor first + distributes such Contribution. + . + 2.3. Limitations on Grant Scope + . + The licenses granted in this Section 2 are the only rights granted under + this License. No additional rights or licenses will be implied from the + distribution or licensing of Covered Software under this License. + Notwithstanding Section 2.1(b) above, no patent license is granted by a + Contributor: + . + (a) for any code that a Contributor has removed from Covered Software; + or + . + (b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + . + (c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + . + This License does not grant any rights in the trademarks, service marks, + or logos of any Contributor (except as may be necessary to comply with + the notice requirements in Section 3.4). + . + 2.4. Subsequent Licenses + . + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this + License (see Section 10.2) or under the terms of a Secondary License (if + permitted under the terms of Section 3.3). + . + 2.5. Representation + . + Each Contributor represents that the Contributor believes its + Contributions are its original creation(s) or it has sufficient rights + to grant the rights to its Contributions conveyed by this License. + . + 2.6. Fair Use + . + This License is not intended to limit any rights You have under + applicable copyright doctrines of fair use, fair dealing, or other + equivalents. + . + 2.7. Conditions + . + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted + in Section 2.1. + . + 3. Responsibilities + ------------------- + . + 3.1. Distribution of Source Form + . + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under + the terms of this License. You must inform recipients that the Source + Code Form of the Covered Software is governed by the terms of this + License, and how they can obtain a copy of this License. You may not + attempt to alter or restrict the recipients' rights in the Source Code + Form. + . + 3.2. Distribution of Executable Form + . + If You distribute Covered Software in Executable Form then: + . + (a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + . + (b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + . + 3.3. Distribution of a Larger Work + . + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for + the Covered Software. If the Larger Work is a combination of Covered + Software with a work governed by one or more Secondary Licenses, and the + Covered Software is not Incompatible With Secondary Licenses, this + License permits You to additionally distribute such Covered Software + under the terms of such Secondary License(s), so that the recipient of + the Larger Work may, at their option, further distribute the Covered + Software under the terms of either this License or such Secondary + License(s). + . + 3.4. Notices + . + You may not remove or alter the substance of any license notices + (including copyright notices, patent notices, disclaimers of warranty, + or limitations of liability) contained within the Source Code Form of + the Covered Software, except that You may alter any license notices to + the extent required to remedy known factual inaccuracies. + . + 3.5. Application of Additional Terms + . + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on + behalf of any Contributor. You must make it absolutely clear that any + such warranty, support, indemnity, or liability obligation is offered by + You alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + . + 4. Inability to Comply Due to Statute or Regulation + --------------------------------------------------- + . + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Software due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description must + be placed in a text file included with all distributions of the Covered + Software under this License. Except to the extent prohibited by statute + or regulation, such description must be sufficiently detailed for a + recipient of ordinary skill to be able to understand it. + . + 5. Termination + -------------- + . + 5.1. The rights granted under this License will terminate automatically + if You fail to comply with any of its terms. However, if You become + compliant, then the rights granted under this License from a particular + Contributor are reinstated (a) provisionally, unless and until such + Contributor explicitly and finally terminates Your grants, and (b) on an + ongoing basis, if such Contributor fails to notify You of the + non-compliance by some reasonable means prior to 60 days after You have + come back into compliance. Moreover, Your grants from a particular + Contributor are reinstated on an ongoing basis if such Contributor + notifies You of the non-compliance by some reasonable means, this is the + first time You have received notice of non-compliance with this License + from such Contributor, and You become compliant prior to 30 days after + Your receipt of the notice. + . + 5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, + counter-claims, and cross-claims) alleging that a Contributor Version + directly or indirectly infringes any patent, then the rights granted to + You by any and all Contributors for the Covered Software under Section + 2.1 of this License shall terminate. + . + 5.3. In the event of termination under Sections 5.1 or 5.2 above, all + end user license agreements (excluding distributors and resellers) which + have been validly granted by You or Your distributors under this License + prior to termination shall survive termination. + . + ************************************************************************ + * * + * 6. Disclaimer of Warranty * + * ------------------------- * + * * + * Covered Software is provided under this License on an "as is" * + * basis, without warranty of any kind, either expressed, implied, or * + * statutory, including, without limitation, warranties that the * + * Covered Software is free of defects, merchantable, fit for a * + * particular purpose or non-infringing. The entire risk as to the * + * quality and performance of the Covered Software is with You. * + * Should any Covered Software prove defective in any respect, You * + * (not any Contributor) assume the cost of any necessary servicing, * + * repair, or correction. This disclaimer of warranty constitutes an * + * essential part of this License. No use of any Covered Software is * + * authorized under this License except under this disclaimer. * + * * + ************************************************************************ + . + ************************************************************************ + * * + * 7. Limitation of Liability * + * -------------------------- * + * * + * Under no circumstances and under no legal theory, whether tort * + * (including negligence), contract, or otherwise, shall any * + * Contributor, or anyone who distributes Covered Software as * + * permitted above, be liable to You for any direct, indirect, * + * special, incidental, or consequential damages of any character * + * including, without limitation, damages for lost profits, loss of * + * goodwill, work stoppage, computer failure or malfunction, or any * + * and all other commercial damages or losses, even if such party * + * shall have been informed of the possibility of such damages. This * + * limitation of liability shall not apply to liability for death or * + * personal injury resulting from such party's negligence to the * + * extent applicable law prohibits such limitation. Some * + * jurisdictions do not allow the exclusion or limitation of * + * incidental or consequential damages, so this exclusion and * + * limitation may not apply to You. * + * * + ************************************************************************ + . + 8. Litigation + ------------- + . + Any litigation relating to this License may be brought only in the + courts of a jurisdiction where the defendant maintains its principal + place of business and such litigation shall be governed by laws of that + jurisdiction, without reference to its conflict-of-law provisions. + Nothing in this Section shall prevent a party's ability to bring + cross-claims or counter-claims. + . + 9. Miscellaneous + ---------------- + . + This License represents the complete agreement concerning the subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. Any law or regulation which provides + that the language of a contract shall be construed against the drafter + shall not be used to construe this License against a Contributor. + . + 10. Versions of the License + --------------------------- + . + 10.1. New Versions + . + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + . + 10.2. Effect of New Versions + . + You may distribute the Covered Software under the terms of the version + of the License under which You originally received the Covered Software, + or under the terms of any subsequent version published by the license + steward. + . + 10.3. Modified Versions + . + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a + modified version of this License if you rename the license and remove + any references to the name of the license steward (except to note that + such modified license differs from this License). + . + 10.4. Distributing Source Code Form that is Incompatible With Secondary + Licenses + . + If You choose to distribute Source Code Form that is Incompatible With + Secondary Licenses under the terms of this version of the License, the + notice described in Exhibit B of this License must be attached. + . + Exhibit A - Source Code Form License Notice + ------------------------------------------- + . + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + . + If it is not possible or desirable to put the notice in a particular + file, then You may include the notice in a location (such as a LICENSE + file in a relevant directory) where a recipient would be likely to look + for such a notice. + . + You may add additional accurate notices of copyright ownership. + . + Exhibit B - "Incompatible With Secondary Licenses" Notice + --------------------------------------------------------- + . + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/debian/debhelper-build-stamp b/debian/debhelper-build-stamp new file mode 100644 index 0000000..a1dc01d --- /dev/null +++ b/debian/debhelper-build-stamp @@ -0,0 +1 @@ +weechat-slack diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..c564dbf --- /dev/null +++ b/debian/rules @@ -0,0 +1,18 @@ +#!/usr/bin/make -f +# You must remove unused comment lines for the released package. +#export DH_VERBOSE = 1 +#export DEB_BUILD_MAINT_OPTIONS = hardening=+all +#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic +#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed +export JAVA_HOME=/usr/lib/jvm/default-java +export CLASSPATH=/usr/share/java/csv.jar:/usr/share/java/debug-disable.jar:/usr/share/java/itext.jar + +%: + dh $@ --without autoreconf + + +#override_dh_auto_install: +# dh_auto_install -- prefix=/usr + +#override_dh_install: +# dh_install --list-missing -X.pyc -X.pyo diff --git a/request/slack-request-channels-list.c b/request/slack-request-channels-list.c index 9fb90aa..edb6b81 100644 --- a/request/slack-request-channels-list.c +++ b/request/slack-request-channels-list.c @@ -29,10 +29,13 @@ static inline int json_valid(json_object *object, struct t_slack_workspace *work return 1; } +static const struct lws_protocols protocols[]; + static int callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user, void *in, size_t len) { struct t_slack_request *request = (struct t_slack_request *)user; + struct lws_client_connect_info ccinfo; int status; @@ -45,7 +48,26 @@ static int callback_http(struct lws *wsi, enum lws_callback_reasons reason, _("%s%s: (%d) error connecting to slack: %s"), weechat_prefix("error"), SLACK_PLUGIN_NAME, request->idx, in ? (char *)in : "(null)"); - request->client_wsi = NULL; + + weechat_printf( + request->workspace->buffer, + _("%s%s: (%d) reconnecting..."), + weechat_prefix("error"), SLACK_PLUGIN_NAME, request->idx); + + memset(&ccinfo, 0, sizeof(ccinfo)); /* otherwise uninitialized garbage */ + ccinfo.context = request->context; + ccinfo.ssl_connection = LCCSCF_USE_SSL; + ccinfo.port = 443; + ccinfo.address = "slack.com"; + ccinfo.path = request->uri; + ccinfo.host = ccinfo.address; + ccinfo.origin = ccinfo.address; + ccinfo.method = "GET"; + ccinfo.protocol = protocols[0].name; + ccinfo.pwsi = &request->client_wsi; + ccinfo.userdata = request; + + lws_client_connect_via_info(&ccinfo); break; case LWS_CALLBACK_ESTABLISHED_CLIENT_HTTP: diff --git a/request/slack-request-chat-postmessage.c b/request/slack-request-chat-postmessage.c index 4ca8a35..635ebea 100644 --- a/request/slack-request-chat-postmessage.c +++ b/request/slack-request-chat-postmessage.c @@ -29,10 +29,13 @@ static inline int json_valid(json_object *object, struct t_slack_workspace *work return 1; } +static const struct lws_protocols protocols[]; + static int callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user, void *in, size_t len) { struct t_slack_request *request = (struct t_slack_request *)user; + struct lws_client_connect_info ccinfo; int status; @@ -45,7 +48,26 @@ static int callback_http(struct lws *wsi, enum lws_callback_reasons reason, _("%s%s: (%d) error connecting to slack: %s"), weechat_prefix("error"), SLACK_PLUGIN_NAME, request->idx, in ? (char *)in : "(null)"); - request->client_wsi = NULL; + + weechat_printf( + request->workspace->buffer, + _("%s%s: (%d) reconnecting..."), + weechat_prefix("error"), SLACK_PLUGIN_NAME, request->idx); + + memset(&ccinfo, 0, sizeof(ccinfo)); /* otherwise uninitialized garbage */ + ccinfo.context = request->context; + ccinfo.ssl_connection = LCCSCF_USE_SSL; + ccinfo.port = 443; + ccinfo.address = "slack.com"; + ccinfo.path = request->uri; + ccinfo.host = ccinfo.address; + ccinfo.origin = ccinfo.address; + ccinfo.method = "GET"; + ccinfo.protocol = protocols[0].name; + ccinfo.pwsi = &request->client_wsi; + ccinfo.userdata = request; + + lws_client_connect_via_info(&ccinfo); break; case LWS_CALLBACK_ESTABLISHED_CLIENT_HTTP: diff --git a/request/slack-request-conversations-members.c b/request/slack-request-conversations-members.c new file mode 100644 index 0000000..53192b1 --- /dev/null +++ b/request/slack-request-conversations-members.c @@ -0,0 +1,326 @@ +#include +#include +#include +#include + +#include "../weechat-plugin.h" +#include "../slack.h" +#include "../slack-workspace.h" +#include "../slack-channel.h" +#include "../slack-request.h" +#include "../slack-user.h" +#include "../request/slack-request-conversations-members.h" + +static const char *const endpoint = "/api/conversations.members?" + "token=%s&channel=%s&cursor=%s&limit=100"; + +static inline int json_valid(json_object *object, struct t_slack_workspace *workspace) +{ + if (!object) + { + weechat_printf( + workspace->buffer, + _("%s%s: error retrieving members: unexpected response from server"), + weechat_prefix("error"), SLACK_PLUGIN_NAME); + //__asm__("int3"); + return 0; + } + + return 1; +} + +static const struct lws_protocols protocols[]; + +static int callback_http(struct lws *wsi, enum lws_callback_reasons reason, + void *user, void *in, size_t len) +{ + struct t_slack_request *request = (struct t_slack_request *)user; + struct lws_client_connect_info ccinfo; + struct t_slack_channel *channel; + const char *channelid; + + int status; + + switch (reason) + { + /* because we are protocols[0] ... */ + case LWS_CALLBACK_CLIENT_CONNECTION_ERROR: + weechat_printf( + request->workspace->buffer, + _("%s%s: (%d) error connecting to slack: %s"), + weechat_prefix("error"), SLACK_PLUGIN_NAME, request->idx, + in ? (char *)in : "(null)"); + + weechat_printf( + request->workspace->buffer, + _("%s%s: (%d) reconnecting..."), + weechat_prefix("error"), SLACK_PLUGIN_NAME, request->idx); + + memset(&ccinfo, 0, sizeof(ccinfo)); /* otherwise uninitialized garbage */ + ccinfo.context = request->context; + ccinfo.ssl_connection = LCCSCF_USE_SSL; + ccinfo.port = 443; + ccinfo.address = "slack.com"; + ccinfo.path = request->uri; + ccinfo.host = ccinfo.address; + ccinfo.origin = ccinfo.address; + ccinfo.method = "GET"; + ccinfo.protocol = protocols[0].name; + ccinfo.pwsi = &request->client_wsi; + ccinfo.userdata = request; + + lws_client_connect_via_info(&ccinfo); + break; + + case LWS_CALLBACK_ESTABLISHED_CLIENT_HTTP: + status = lws_http_client_http_response(wsi); + weechat_printf( + request->workspace->buffer, + _("%s%s: (%d) retrieving members... (%d)"), + weechat_prefix("network"), SLACK_PLUGIN_NAME, request->idx, + status); + break; + + /* chunks of chunked content, with header removed */ + case LWS_CALLBACK_RECEIVE_CLIENT_HTTP_READ: + { + struct t_json_chunk *new_chunk, *last_chunk; + + new_chunk = malloc(sizeof(*new_chunk)); + new_chunk->data = malloc((1024 * sizeof(char)) + 1); + new_chunk->data[0] = '\0'; + new_chunk->next = NULL; + + strncat(new_chunk->data, in, (int)len); + + if (request->json_chunks) + { + for (last_chunk = request->json_chunks; last_chunk->next; + last_chunk = last_chunk->next); + last_chunk->next = new_chunk; + } + else + { + request->json_chunks = new_chunk; + } + } + return 0; /* don't passthru */ + + /* uninterpreted http content */ + case LWS_CALLBACK_RECEIVE_CLIENT_HTTP: + { + char buffer[1024 + LWS_PRE]; + char *px = buffer + LWS_PRE; + int lenx = sizeof(buffer) - LWS_PRE; + + if (lws_http_client_read(wsi, &px, &lenx) < 0) + return -1; + } + return 0; /* don't passthru */ + + case LWS_CALLBACK_COMPLETED_CLIENT_HTTP: + { + int chunk_count, i; + char *json_string; + char cursor[64]; + json_object *response, *ok, *error, *members; + json_object *user, *metadata, *next_cursor; + struct t_json_chunk *chunk_ptr; + + channelid = (const char *)request->pointer; + channel = slack_channel_search(request->workspace, channelid); + + chunk_count = 0; + if (request->json_chunks) + { + chunk_count++; + for (chunk_ptr = request->json_chunks; chunk_ptr->next; + chunk_ptr = chunk_ptr->next) + { + chunk_count++; + } + } + + json_string = malloc((1024 * sizeof(char) * chunk_count) + 1); + json_string[0] = '\0'; + + chunk_ptr = request->json_chunks; + for (i = 0; i < chunk_count; i++) + { + strncat(json_string, chunk_ptr->data, 1024); + chunk_ptr = chunk_ptr->next; + + free(request->json_chunks->data); + free(request->json_chunks); + request->json_chunks = chunk_ptr; + } + + weechat_printf( + request->workspace->buffer, + _("%s%s: (%d) got response: %s"), + weechat_prefix("network"), SLACK_PLUGIN_NAME, request->idx, + json_string); + + response = json_tokener_parse(json_string); + ok = json_object_object_get(response, "ok"); + if (!json_valid(ok, request->workspace)) + { + json_object_put(response); + free(json_string); + return 0; + } + + if(json_object_get_boolean(ok)) + { + members = json_object_object_get(response, "members"); + if (!json_valid(members, request->workspace)) + { + json_object_put(response); + free(json_string); + return 0; + } + + for (i = json_object_array_length(members); i > 0; i--) + { + user = json_object_array_get_idx(members, i - 1); + if (!json_valid(user, request->workspace)) + { + json_object_put(response); + free(json_string); + return 0; + } + + slack_channel_add_member(request->workspace, + channel, + json_object_get_string(user)); + } + + metadata = json_object_object_get(response, "response_metadata"); + if (!json_valid(metadata, request->workspace)) + { + json_object_put(response); + free(json_string); + return 0; + } + + next_cursor = json_object_object_get(metadata, "next_cursor"); + if (!json_valid(next_cursor, request->workspace)) + { + json_object_put(response); + free(json_string); + return 0; + } + lws_urlencode(cursor, json_object_get_string(next_cursor), sizeof(cursor)); + + if (cursor[0]) + { + struct t_slack_request *next_request; + + next_request = slack_request_conversations_members(request->workspace, + weechat_config_string( + request->workspace->options[SLACK_WORKSPACE_OPTION_TOKEN]), + channelid, + cursor); + if (next_request) + slack_workspace_register_request(request->workspace, next_request); + } + } + else + { + error = json_object_object_get(response, "error"); + if (!json_valid(error, request->workspace)) + { + json_object_put(response); + free(json_string); + return 0; + } + + weechat_printf( + request->workspace->buffer, + _("%s%s: (%d) failed to retrieve users: %s"), + weechat_prefix("error"), SLACK_PLUGIN_NAME, request->idx, + json_object_get_string(error)); + } + + json_object_put(response); + free(json_string); + } + /* fallthrough */ + case LWS_CALLBACK_CLOSED_CLIENT_HTTP: + request->client_wsi = NULL; + /* Does not doing this cause a leak? + lws_cancel_service(lws_get_context(wsi));*/ /* abort poll wait */ + break; + + default: + break; + } + + return lws_callback_http_dummy(wsi, reason, user, in, len); +} + +static const struct lws_protocols protocols[] = { + { + "http", + callback_http, + 0, + 0, + }, + { NULL, NULL, 0, 0 } +}; + +struct t_slack_request *slack_request_conversations_members( + struct t_slack_workspace *workspace, + const char *token, const char *channel, + const char *cursor) +{ + struct t_slack_request *request; + struct lws_context_creation_info ctxinfo; + struct lws_client_connect_info ccinfo; + + request = slack_request_alloc(workspace); + request->pointer = channel; + + size_t urilen = snprintf(NULL, 0, endpoint, token, channel, cursor) + 1; + request->uri = malloc(urilen); + snprintf(request->uri, urilen, endpoint, token, channel, cursor); + + memset(&ctxinfo, 0, sizeof(ctxinfo)); /* otherwise uninitialized garbage */ + ctxinfo.options = LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT; + ctxinfo.port = CONTEXT_PORT_NO_LISTEN; /* we do not run any server */ + ctxinfo.protocols = protocols; + + request->context = lws_create_context(&ctxinfo); + if (!request->context) + { + weechat_printf( + workspace->buffer, + _("%s%s: (%d) error connecting to slack: lws init failed"), + weechat_prefix("error"), SLACK_PLUGIN_NAME, request->idx); + return NULL; + } + else + { + weechat_printf( + workspace->buffer, + _("%s%s: (%d) contacting slack.com:443"), + weechat_prefix("network"), SLACK_PLUGIN_NAME, request->idx); + } + + memset(&ccinfo, 0, sizeof(ccinfo)); /* otherwise uninitialized garbage */ + ccinfo.context = request->context; + ccinfo.ssl_connection = LCCSCF_USE_SSL; + ccinfo.port = 443; + ccinfo.address = "slack.com"; + ccinfo.path = request->uri; + ccinfo.host = ccinfo.address; + ccinfo.origin = ccinfo.address; + ccinfo.method = "GET"; + ccinfo.protocol = protocols[0].name; + ccinfo.pwsi = &request->client_wsi; + ccinfo.userdata = request; + + lws_client_connect_via_info(&ccinfo); + + return request; +} diff --git a/request/slack-request-conversations-members.h b/request/slack-request-conversations-members.h new file mode 100644 index 0000000..bdf750f --- /dev/null +++ b/request/slack-request-conversations-members.h @@ -0,0 +1,9 @@ +#ifndef _SLACK_REQUEST_CONVERSATIONS_MEMBERS_H_ +#define _SLACK_REQUEST_CONVERSATIONS_MEMBERS_H_ + +struct t_slack_request *slack_request_conversations_members( + struct t_slack_workspace *workspace, + const char *token, const char *channel, + const char *cursor); + +#endif /*SLACK_REQUEST_CONVERSATIONS_MEMBERS_H*/ diff --git a/request/slack-request-users-list.c b/request/slack-request-users-list.c index 85814bb..e344b49 100644 --- a/request/slack-request-users-list.c +++ b/request/slack-request-users-list.c @@ -6,8 +6,10 @@ #include "../weechat-plugin.h" #include "../slack.h" #include "../slack-workspace.h" +#include "../slack-channel.h" #include "../slack-request.h" #include "../slack-user.h" +#include "../request/slack-request-conversations-members.h" #include "../request/slack-request-users-list.h" static const char *const endpoint = "/api/users.list?" @@ -29,10 +31,13 @@ static inline int json_valid(json_object *object, struct t_slack_workspace *work return 1; } +static const struct lws_protocols protocols[]; + static int callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user, void *in, size_t len) { struct t_slack_request *request = (struct t_slack_request *)user; + struct lws_client_connect_info ccinfo; int status; @@ -45,7 +50,26 @@ static int callback_http(struct lws *wsi, enum lws_callback_reasons reason, _("%s%s: (%d) error connecting to slack: %s"), weechat_prefix("error"), SLACK_PLUGIN_NAME, request->idx, in ? (char *)in : "(null)"); - request->client_wsi = NULL; + + weechat_printf( + request->workspace->buffer, + _("%s%s: (%d) reconnecting..."), + weechat_prefix("error"), SLACK_PLUGIN_NAME, request->idx); + + memset(&ccinfo, 0, sizeof(ccinfo)); /* otherwise uninitialized garbage */ + ccinfo.context = request->context; + ccinfo.ssl_connection = LCCSCF_USE_SSL; + ccinfo.port = 443; + ccinfo.address = "slack.com"; + ccinfo.path = request->uri; + ccinfo.host = ccinfo.address; + ccinfo.origin = ccinfo.address; + ccinfo.method = "GET"; + ccinfo.protocol = protocols[0].name; + ccinfo.pwsi = &request->client_wsi; + ccinfo.userdata = request; + + lws_client_connect_via_info(&ccinfo); break; case LWS_CALLBACK_ESTABLISHED_CLIENT_HTTP: @@ -230,6 +254,23 @@ static int callback_http(struct lws *wsi, enum lws_callback_reasons reason, if (next_request) slack_workspace_register_request(request->workspace, next_request); } + else + { + struct t_slack_request *next_request; + struct t_slack_channel *ptr_channel; + + for (ptr_channel = request->workspace->channels; ptr_channel; + ptr_channel = ptr_channel->next_channel) + { + next_request = slack_request_conversations_members(request->workspace, + weechat_config_string( + request->workspace->options[SLACK_WORKSPACE_OPTION_TOKEN]), + ptr_channel->id, + cursor); + if (next_request) + slack_workspace_register_request(request->workspace, next_request); + } + } } else { diff --git a/slack-channel.c b/slack-channel.c index 87a3b6b..f78b646 100644 --- a/slack-channel.c +++ b/slack-channel.c @@ -515,3 +515,29 @@ void slack_channel_update_purpose(struct t_slack_channel *channel, channel->purpose.creator = (creator) ? strdup(creator) : NULL; channel->purpose.last_set = last_set; } + +struct t_slack_channel_member *slack_channel_add_member( + struct t_slack_workspace *workspace, + struct t_slack_channel *channel, + const char *id) +{ + struct t_slack_channel_member *member; + struct t_slack_user *user; + + member = malloc(sizeof(struct t_slack_channel_member)); + member->id = strdup(id); + + member->prev_member = channel->last_member; + member->next_member = NULL; + if (channel->last_member) + (channel->last_member)->next_member = member; + else + channel->members = member; + channel->last_member = member; + + user = slack_user_search(workspace, id); + if (user) + slack_user_nicklist_add(workspace, channel, user); + + return member; +} diff --git a/slack-channel.h b/slack-channel.h index 4c94511..06c2afb 100644 --- a/slack-channel.h +++ b/slack-channel.h @@ -121,4 +121,9 @@ void slack_channel_update_purpose(struct t_slack_channel *channel, const char* creator, int last_set); +struct t_slack_channel_member *slack_channel_add_member( + struct t_slack_workspace *workspace, + struct t_slack_channel *channel, + const char *id); + #endif /*SLACK_CHANNEL_H*/ diff --git a/slack-request.h b/slack-request.h index 9416a71..88c5ee2 100644 --- a/slack-request.h +++ b/slack-request.h @@ -7,6 +7,9 @@ struct t_slack_request int idx; + const void *pointer; + void *data; + char *uri; struct lws *client_wsi; struct lws_context *context; diff --git a/slack-user.h b/slack-user.h index 1cd18e2..8525bb3 100644 --- a/slack-user.h +++ b/slack-user.h @@ -56,4 +56,8 @@ struct t_slack_user *slack_user_new(struct t_slack_workspace *workspace, void slack_user_free_all(struct t_slack_workspace *workspace); +void slack_user_nicklist_add(struct t_slack_workspace *workspace, + struct t_slack_channel *channel, + struct t_slack_user *user); + #endif /*SLACK_USER_H*/ diff --git a/slack-workspace.c b/slack-workspace.c index 6b0a4af..c806a82 100644 --- a/slack-workspace.c +++ b/slack-workspace.c @@ -846,6 +846,12 @@ int slack_workspace_timer_cb(const void *pointer, void *data, int remaining_call free(ptr_request->uri); ptr_request->uri = NULL; } + ptr_request->pointer = NULL; + if (ptr_request->data) + { + free(ptr_request->data); + ptr_request->data = NULL; + } /* remove request from requests list */ if (ptr_workspace->last_request == ptr_request) diff --git a/slack.c b/slack.c index 0a81640..32c5614 100644 --- a/slack.c +++ b/slack.c @@ -45,9 +45,9 @@ int weechat_plugin_init(struct t_weechat_plugin *plugin, int argc, char *argv[]) weechat_plugin = plugin; - lws_set_log_level(LLL_ERR | LLL_WARN | LLL_NOTICE | LLL_INFO | LLL_DEBUG + lws_set_log_level(LLL_ERR | LLL_WARN | LLL_NOTICE /*| LLL_INFO | LLL_DEBUG | LLL_PARSER | LLL_HEADER | LLL_EXT | LLL_CLIENT - | LLL_LATENCY | LLL_USER | LLL_COUNT, + | LLL_LATENCY | LLL_USER | LLL_COUNT*/, slack_lwsl_emit_weechat); if (!slack_config_init())