Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge flutter UI to master branch. #101

Merged
merged 32 commits into from
Feb 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
1710355
Add initial flutter application template.
michaelrsweet Nov 12, 2022
e24a75b
Initial customization for PWG colors, min macOS 10.14, and the applic…
michaelrsweet Nov 12, 2022
abd8eaa
Show IPP Everywhere printers on the "home page" of the application.
michaelrsweet Nov 12, 2022
a5027cc
Gesture detector for clicking on printers.
michaelrsweet Nov 12, 2022
f178053
Add placeholder details page when clicking on a printer.
michaelrsweet Nov 13, 2022
f3ec20d
Add bottom navigation bar.
michaelrsweet Nov 13, 2022
22eaedd
Save work.
michaelrsweet Nov 14, 2022
8879f71
Save work.
michaelrsweet Nov 14, 2022
a048268
Switch to using nsd library/class.
michaelrsweet Nov 15, 2022
ea1df74
Add pod files.
michaelrsweet Nov 16, 2022
79abea9
Save work on adding DataTable for TXT values.
michaelrsweet Nov 17, 2022
71306c3
Finish initial DataTable implementation.
michaelrsweet Nov 17, 2022
aff36bc
Use setState to update printer list.
michaelrsweet Nov 17, 2022
8b29f8e
Update table to generate TXT rows from the actual data, make the values
michaelrsweet Nov 17, 2022
ee8b0ca
Cleanup.
michaelrsweet Nov 17, 2022
48fb597
Save work.
michaelrsweet Nov 18, 2022
b7f73bf
Save work.
michaelrsweet Nov 18, 2022
474444f
Update libcups.
michaelrsweet Feb 2, 2023
ff18c72
libcups v3.0b1.
michaelrsweet Feb 9, 2023
3d7e981
Fix list cell.
michaelrsweet Feb 10, 2023
157cd88
Update to latest Flutter.
michaelrsweet Jan 4, 2024
28bf66f
Start Dart IPP API - constants.
michaelrsweet Jan 5, 2024
5a203f8
Drop native IPP class in favor of just running ipptool.
michaelrsweet Jan 8, 2024
3faed08
Save work.
michaelrsweet Jan 11, 2024
4d7699d
Save work.
michaelrsweet Jan 11, 2024
c2aa02a
Working IPP attributes list - requires updated ipptool with JSON bug …
michaelrsweet Jan 11, 2024
70700e3
updating with regular expressions from ipp-tests.test.in modified in …
wifiprintguy Aug 18, 2023
46ce3d1
restored the FILE-ID line after updating the regexes
wifiprintguy Aug 18, 2023
259ab41
Start updating the configure script and tests.
michaelrsweet Feb 7, 2024
630ef81
Fix builds.
michaelrsweet Feb 7, 2024
96162e6
Update CI files.
michaelrsweet Feb 7, 2024
a8945c8
Update libcups.
michaelrsweet Feb 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 17 additions & 14 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,50 +12,53 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Checkout ippeveselfcert sources
uses: actions/checkout@v4
with:
submodules: recursive
- name: Update build environment
run: sudo apt-get update --fix-missing -y
- name: Install prerequisites
run: sudo apt-get install -y avahi-daemon cppcheck libavahi-client-dev libfltk1.3-dev libjpeg-dev libpam-dev libpng-dev libssl-dev libusb-1.0-0-dev zlib1g-dev
- name: Configure
run: sudo apt-get install -y avahi-daemon cppcheck libavahi-client-dev libjpeg-dev libpam-dev libpng-dev libssl-dev libusb-1.0-0-dev zlib1g-dev
- name: Configure ippeveselfcert
env:
CC: /usr/bin/gcc
run: ./configure --enable-debug --enable-maintainer --enable-sanitizer --enable-static --disable-shared
- name: Make
run: ./configure --enable-debug --enable-maintainer --with-sanitizer=address --enable-static --disable-shared
- name: Build ippeveselfcert
run: make
- name: Test
- name: Test ippeveselfcert
run: make test

build-macos:

runs-on: macos-latest

steps:
- uses: actions/checkout@v2
- name: Checkout ippeveselfcert sources
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install prerequisites
run: brew install cppcheck fltk libjpeg libpng libusb openssl
- name: Configure
run: ./configure --enable-debug --enable-maintainer --enable-sanitizer --enable-static --disable-shared
- name: Make
- name: Configure ippeveselfcert
run: ./configure --enable-debug --enable-maintainer --with-sanitizer=address --enable-static --disable-shared
- name: Build ippeveselfcert
run: make
- name: Test
- name: Test ippeveselfcert
run: make test

build-windows:

runs-on: windows-latest

steps:
- uses: actions/checkout@v2
- name: Checkout ippeveselfcert sources
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup msbuild
uses: microsoft/setup-msbuild@v1.0.2
uses: microsoft/setup-msbuild@v2
- name: Restore NuGet packages
run: cd vcnet; nuget restore ippeveselfcert.sln; cd ..\libcups\vcnet; nuget restore libcups.sln
- name: Build
- name: Build ippeveselfcert
run: cd vcnet; msbuild ippeveselfcert.sln
11 changes: 6 additions & 5 deletions .github/workflows/coverity.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,14 @@ jobs:
runs-on: ubuntu-latest
environment: Coverity
steps:
- uses: actions/checkout@v2
- name: Checkout ippeveselfcert sources
uses: actions/checkout@v4
with:
submodules: recursive
- name: update build environment
- name: Update build environment
run: sudo apt-get update --fix-missing -y
- name: install prerequisites
run: sudo apt-get install -y avahi-daemon cppcheck libavahi-client-dev libfltk1.3-dev libjpeg-dev libpam-dev libpng-dev libssl-dev libusb-1.0-0-dev zlib1g-dev
- name: Install prerequisites
run: sudo apt-get install -y avahi-daemon cppcheck libavahi-client-dev libjpeg-dev libpam-dev libpng-dev libssl-dev libusb-1.0-0-dev zlib1g-dev
- name: Download Coverity Build Tool
run: |
wget -q https://scan.coverity.com/download/linux64 --post-data token="$TOKEN&project=$GITHUB_REPOSITORY" -O cov-analysis-linux64.tar.gz
Expand All @@ -22,7 +23,7 @@ jobs:
env:
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}

- name: configure
- name: Configure ippeveselfcert
run: ./configure --enable-debug --enable-maintainer

- name: Build with cov-build
Expand Down
16 changes: 6 additions & 10 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ excellent results.
The makefiles used by the project should work with most versions of make. BSD
users should use GNU make (gmake) since BSD make does not support "include".

Besides these tools you'll want the following libraries:
Besides these tools you'll need the following libraries:

- Avahi (Linux) or mDNSResponder (all others) for Bonjour (DNS-SD) support
- GNU TLS for encryption support on platforms other than iOS, macOS, or Windows
- GNU TLS, LibreSSL, or OpenSSL for encryption support
- ZLIB for compression support


Expand All @@ -37,7 +37,7 @@ Packages are targeted for Red Hat Enterprise Linux and Ubuntu. On a stock
Ubuntu install, the following command will install the required prerequisites:

sudo apt-get install build-essential autoconf avahi-daemon avahi-utils \
libavahi-client-dev libgnutls28-dev libnss-mdns zlib1g-dev
libavahi-client-dev libssl-dev libnss-mdns zlib1g-dev

Run the following to compile the tools:

Expand All @@ -62,7 +62,7 @@ You'll need the current Visual Studio C++ as well as the code signing tools and
the PWG code signing certificate (available from the PWG officers for official
use only) - without the certificate the build will fail unless you disable the
post-build events that add the code signatures or create a self-signed
certificate with the name "".
certificate with the name "IEEE INDUSTRY STANDARDS AND TECHNOLOGY ORGANIZATION".

Open the "ippeveselfcert.sln" file in the "vcnet" subdirectory and build the
installer project.
Expand All @@ -87,14 +87,10 @@ To see a complete list of configuration options, use the `--help` option:
./configure --help

If any of the dependent libraries are not installed in a system default location
(typically `/usr/include` and `/usr/lib`) you'll need to set the CFLAGS,
CPPFLAGS, CXXFLAGS, DSOFLAGS, and LDFLAGS environment variables prior to running
configure:
(typically `/usr/include` and `/usr/lib`) you'll need to set the CPPFLAGS and
LDFLAGS environment variables prior to running configure:

CFLAGS="-I/some/directory" \
CPPFLAGS="-I/some/directory" \
CXXFLAGS="-I/some/directory" \
DSOFLAGS="-L/some/directory" \
LDFLAGS="-L/some/directory" \
./configure ...

Expand Down
79 changes: 2 additions & 77 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,82 +1,7 @@
Changes
=======

v1.1 Update 4 (August 8, 2022)
------------------------------

- Added support for running the self-certification tools non-interactively
with the "make test" command (Issue #56, Issue #62)
- The `ippevesubmit` program did not validate the correct number of tests for
the document results (Issue #71)
- The DNS-SD TLS key test was incorrectly specified (Issue #72)
- The `ippevesubmit` program now validates and converts product web page URLs
(Issue #75)
- The IPP and document tests now support printers that do not support US letter
or ISO A4 sizes (Issue #78)
- The `ipptool` program can now generate PWG Raster documents dynamically for
printers (Issue #79)
- The `ippevesubmit` program now uses the modification date of the plist files
instead of the current date when generating the JSON submission file
(Issue #81)
- The `ippfind` program did not correctly escape command-line arguments passed
during the DNS-SD tests (Issue #83)
- The `ippevesubmit` program did not look for supported media sizes in the
right place (Issue #84)
- Added the test numbers to all print job tests (Issue #85)
- Changed the I-20 prompt to insert media (Issue #88)
- Added 300 second timeout for all IPP and document tests (Issue #91, Issue #92)
- Fixed handling of long dimension values of 0 for roll media (Issue #93,
Issue #94)
- Fixed the conditional requirements for "printer-supply-xxx" attributes with
printers that do not have supplies.
- Fixed some problems with the Windows DNS-SD test script.
- Fixed the expected test counts in ippevesubmit and removed support for
submitting IPP Everywhere v1.0 results.
- Fixed the "media-col-database" and "media-col-ready" tests to allow
rangeOfInteger values for the "x-dimension" and "y-dimension" member
attributes which are needed for roll feed and custom media support.
- Fixed another issue with reporting finishing options from `ippevesubmit`.


v1.1 Update 3 (May 17, 2021)
----------------------------

- The DNS-SD tests now look for a TLS key whose value contains a TLS version
number (Issue #64)
- The document tests now wait for each job to complete before proceeding to the
next job (Issue #66)
- Finishing options were not reported correctly by `ippevesubmit` in the JSON
file (Issue #67)
- The `media-needed` test did not work on streaming printers (Issue #68)


v1.1 Update 2 (October 7, 2020)
-------------------------------

- Documentation updates (Issue #55)
- The "printer-alert" test did not allow an index value of -1 (Issue #58)
- The I-10 test didn't allow 'name' values for the
"finishing-template-supported" attribute (Issue #59)
- Now allow the I-10.3 test to return the
'successful-ok-ignored-or-substituted-attributes' status code (Issue #60)
- Now allow empty "printer-alert" values since PWG 5100.9 is ambiguous about
how to report the absence of alerts (Issue #61)
- The "ippevesubmit" tool now supports the "-r" (replay) option for replaying
the results of a test (Issue #65)
- The "dnssd-tests.sh" script did not correctly report errors on monochrome
printers.


v1.1 Update 1 (June 17, 2020)
-----------------------------

- Fixed support for the `-m` option of the `ippevesubmit` command.
- Made output JSON from the `ippevesubmit` command pass as standalone JSON.
- Fixed Windows TLS client support.
- Increased the timeout for the browse tests to 5 seconds.


v1.1 (May 21, 2020)
-------------------
v2.0 (Month DD, YYYY)
---------------------

Initial release.
57 changes: 5 additions & 52 deletions KNOWNISSUES.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,11 @@
# Known Issues

## v1.1 (Pending)
## v1.1 Update 4

There are no known issues in this release.


## v1.0 Update 4 (April 8, 2020)

There are no known issues in this release.


## v1.0 Update 3 (October 23, 2018)

The following is a list of the known issues in the October 23, 2018 release of
the self-certification tools:

1. The Windows installer was missing a copy of the REGEX.DLL file.


## v1.0 Update 2 (September 26, 2017)

The following is a list of the known issues in the September 26, 2017 release of
the self-certification tools:

1. Printer service names incorrectly match substrings.

2. The Windows tools depend on DLLs supplied with Visual Studio.


## v1.0 Update 1 (December 13, 2016)

The following is a list of the known issues in the December 13, 2016 release of
The following is a list of the known issues in the August 19, 2022 release of
the self-certification tools:

1. The repeat limit of 30 is sometimes inadequate for test I-16.

2. The 10 second delay is sometimes inadequate for test I-27.

3. The "overrides-supported" test incorrectly looked for the "document-number"
member attribute instead of "document-numbers".


## v1.0 (November 10, 2015)

The following is a list of the known issues in the November 10, 2015 release of
the self-certification tools:

1. The test suite requires support for the document-number member attribute
(only needed for multiple document jobs).

2. The test suite requires that printers follow the best practice of using
"/ipp/print" in the printer URI(s) (not required by IPP Everywhere).

3. The test suite matches any substring of the service instance name.
1. D-1.3 Document Test Fails on Windows (Issue #96)

4. The test suite does not handle service instance names starting with an
underscore.
2. Document Tests D-2.4 / D-2.5 / D-3.5 / D-3.6 fail if printer doesn't support
US Letter or A4 (Issue #99)
12 changes: 3 additions & 9 deletions Makedefs.in
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Common makefile definitions for the IPP Everywhere Printer Self-Certification
# tools.
#
# Copyright © 2015-2022 by the ISTO Printer Working Group.
# Copyright © 2015-2024 by the ISTO Printer Working Group.
#
# Licensed under Apache License v2.0. See the file "LICENSE" for more
# information.
Expand All @@ -16,7 +16,6 @@ IPPEVESELFCERT_SWVERSION = @IPPEVESELFCERT_SWVERSION@
# Programs...
CC = @CC@
CODE_SIGN = @CODE_SIGN@
CXX = @CXX@
INSTALL = @INSTALL@
LN = @LN@ -sf
MKDIR = @MKDIR@ -p
Expand All @@ -36,9 +35,8 @@ INSTALL_MAN = $(INSTALL) -c -m 444
# Programs options...
CFLAGS = @CFLAGS@ $(CPPFLAGS) $(OPTIM) $(WARNINGS)
CODESIGN_IDENTITY = -
CPPFLAGS = -I.. -I../libcups -I../pdfio @CPPFLAGS@
CPPFLAGS = -I.. -I../libcups @CPPFLAGS@
CSFLAGS = -s "$(CODESIGN_IDENTITY)" @CSFLAGS@ --timestamp
CXXFLAGS = @CXXFLAGS@ $(CPPFLAGS) $(OPTIM) $(WARNINGS)
LDFLAGS = @LDFLAGS@ $(OPTIM)
LIBS = -L../libcups/cups `PKG_CONFIG_PATH=../libcups pkg-config --libs cups3` @LIBS@
OPTIM = @OPTIM@
Expand Down Expand Up @@ -70,12 +68,8 @@ BUILDROOT = $(DSTROOT)$(RPM_BUILD_ROOT)$(DESTDIR)

# Build commands...
.SILENT:
.SUFFIXES: .c .cxx .h .o
.SUFFIXES: .c .h .o

.c.o:
echo Compiling $<...
$(CC) $(CFLAGS) -c -o $@ $<

.cxx.o:
echo Compiling $<...
$(CXX) $(CXXFLAGS) -c -o $@ $<
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# Top-level makefile for the IPP Everywhere Printer Self-Certification tools.
#
# Copyright © 2015-2022 by the ISTO Printer Working Group.
# Copyright © 2015-2024 by the ISTO Printer Working Group.
#
# Licensed under Apache License v2.0. See the file "LICENSE" for more
# information.
Expand Down
4 changes: 2 additions & 2 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
IPP Everywhere Printer Self-Certification Tools
IPP Everywhere Printer Self-Certification Tools

Copyright © 2014-2022 by the IEEE-ISTO Printer Working Group.
Copyright © 2014-2024 by the IEEE-ISTO Printer Working Group.
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@ IPP Everywhere™ v2.0 Printer Self-Certification Tools
=====================================================

> Note: The current v1.1 self-certification tools are provided in the
> "v1.1-updates" branch of this repository.
> "v1.1-updates" branch of this repository. The master branch provides the
> current v2.0 development code.

![Version](https://img.shields.io/github/v/release/istopwg/ippeveselfcert?include_prereleases)
![Apache 2.0](https://img.shields.io/github/license/istopwg/ippeveselfcert)
![Build and Test](https://github.com/istopwg/ippeveselfcert/workflows/Build%20and%20Test/badge.svg)
[![ippeveselfcert](https://snapcraft.io/ippeveselfcert/badge.svg)](https://snapcraft.io/ippeveselfcert)
[![Coverity Scan Status](https://img.shields.io/coverity/scan/25371.svg)](https://scan.coverity.com/projects/istopwg-ippeveselfcert)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/istopwg/ippeveselfcert.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/istopwg/ippeveselfcert/alerts/)
[![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/istopwg/ippeveselfcert.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/istopwg/ippeveselfcert/context:cpp)

The IPP Everywhere™ Printer self-certification tools are used to test the
conformance of printers to PWG Candidate Standard 5100.14-20xx: IPP Everywhere™
Expand Down Expand Up @@ -43,7 +42,7 @@ Please see the file "BUILD.md" for instructions on compiling the software.
Legal Stuff
-----------

Copyright © 2014-2022 by the IEEE-ISTO Printer Working Group.
Copyright © 2014-2024 by the IEEE-ISTO Printer Working Group.

This software is provided under the terms of the Apache License, Version 2.0.
A copy of this license can be found in the file `LICENSE`. Additional legal
Expand Down
8 changes: 1 addition & 7 deletions config.h.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// Configuration file for the IPP Everywhere Printer Self-Certification tools.
//
// Copyright © 2015-2022 by the IEEE-ISTO Printer Working Group.
// Copyright © 2015-2024 by the IEEE-ISTO Printer Working Group.
//
// Licensed under Apache License v2.0. See the file "LICENSE" for more
// information.
Expand All @@ -16,10 +16,4 @@
#define IPPEVESELFCERT_SWVERSION ""


// DNS-SD support
#undef HAVE_DNSSD
#undef HAVE_MDNSRESPONDER
#undef HAVE_AVAHI


#endif // !IPPEVESELFCERT_CONFIG_H
Loading
Loading