{"push_id":992751290,"size":5,"distinct_size":1,"ref":"refs/heads/target-broadest-displayname","head":"31d87b0911a41a2094b87bec2e35b4197ebc7254","before":"46a1f984bee435ef2a53e4499152eb268c30478e","commits":[{"sha":"f2fb322ad21f0a5072accb0663426df18c2106c3","author":{"email":"43af82ef30812a20fbcf38b99a6f72cdd3a89ac1@gmail.com","name":"thc202"},"message":"Fix NullPointerException in VariantCookie implementation\n\nChange class VariantCookie to conform to the expected behaviour when the\nparameter's (that is, the cookie) name and value are set to null, which\nindicates the parameter should be removed, preventing\nNullPointerExceptions, for example:\nERROR org.zaproxy.zap.extension.ascanrules.TestParameterTamper -\n Error occurred while scanning a message:\n[...]\njava.lang.NullPointerException\n at java.net.HttpCookie.<init>(HttpCookie.java:143)\n at java.net.HttpCookie.<init>(HttpCookie.java:139)\n at VariantCookie.setParameter(VariantCookie.java:125)\n at VariantCookie.setParameter(VariantCookie.java:92)\n at AbstractAppParamPlugin.setParameter(AbstractAppParamPlugin.java:259)\n at TestParameterTamper.scan(TestParameterTamper.java:129)\n[...]\n\nAlso, change the class to:\n - Manually parse and create the cookie header to correctly handle null\n names and values (which would lead to similar exceptions if used with\n HttpCookie class);\n - Remove (now) redundant null checks from methods getEscapedValue and\n getUnescapedValue;\n - Update/add JavaDoc to class and methods.\n\nChange class NameValuePair to add the methods hashCode(), equals(Object)\nfor proper use in collections and comparisons, and method toString() for\nhelp with debug and remove redundant instance variable initialisations.\nAdd tests to assert the expected behaviour of classes VariantCookie and\nNameValuePair.","distinct":false,"url":"https://api.github.com/repos/thc202/zaproxy/commits/f2fb322ad21f0a5072accb0663426df18c2106c3"},{"sha":"4a56a61224617b90c7c2e759742640516a217972","author":{"email":"43af82ef30812a20fbcf38b99a6f72cdd3a89ac1@gmail.com","name":"thc202"},"message":"spider: use all information/data available when seeding\n\nChange SpiderThread to use the start URI and start node as well as the\ncontext nodes or all nodes in scope.\n\nThe spider will be seeded with following constraints:\n - If a context is provided:\n  - Start URI, if in context;\n  - Start node, if in context;\n  - All nodes in the context;\n - If spidering just in scope:\n  - Start URI, if in scope;\n  - Start node, if in scope;\n  - All nodes in scope;\n - If there's no context/scope restriction:\n  - Start URI;\n  - Start node, also:\n    - Child nodes, if spidering \"recursively\".\n\nDifferences to previous seeding behaviour:\n - The start URI and start node are always used (if constraints met);\n - The nodes of the provided context are always used (previously, the\n nodes might not be used if a start node was also provided);\n\nSeeding with context and \"just in scope\" are mutually exclusive, taking\nprecedence the former (same behaviour as before this change).","distinct":false,"url":"https://api.github.com/repos/thc202/zaproxy/commits/4a56a61224617b90c7c2e759742640516a217972"},{"sha":"b656caaacd984d3a9dc3b190dd428bda351ff9fa","author":{"email":"86dd6fc569bc24d96c23727e2734cc63308a81de@gmail.com","name":"psiinon"},"message":"Merge pull request #2263 from thc202/spider-seeds-all-data\n\nspider: use all information/data available when seeding","distinct":false,"url":"https://api.github.com/repos/thc202/zaproxy/commits/b656caaacd984d3a9dc3b190dd428bda351ff9fa"},{"sha":"f4c5e95ff147a257c7a2ce3159b633667eb3bd18","author":{"email":"83ea41af2b636790c02743e48206546e1fa891e4@users.noreply.github.com","name":"kingthorin"},"message":"Merge pull request #2259 from thc202/variantcookie-npe\n\nFix NullPointerException in VariantCookie implementation","distinct":false,"url":"https://api.github.com/repos/thc202/zaproxy/commits/f4c5e95ff147a257c7a2ce3159b633667eb3bd18"},{"sha":"31d87b0911a41a2094b87bec2e35b4197ebc7254","author":{"email":"43af82ef30812a20fbcf38b99a6f72cdd3a89ac1@gmail.com","name":"thc202"},"message":"spider: use the broadest target component for scan's display name\n\nChange spider to create the display name for the scans using all the\ncomponents of the target and custom configurations, with the following\norder:\n - Context;\n - Just in scope;\n - Start node;\n - Start URL.\n\nSo, for example, if a start node is specified along with a context it\nwill display the context name instead of the start node (which is more\nspecific, narrow target when spidering).\n\nChange class ExtensionSpider to follow the above rules using a new\nmethod to start the scans, to ensure that all scans use the same display\nname rules (the old method that allows to define the display name is\nstill available but its use is discouraged in favour of using the new\nmethod).\nChange classes ExtensionSpider, SpiderAPI and SpiderDialog to use the\nnew method, for the latter class also remove the creation of the custom\ndisplay name.","distinct":true,"url":"https://api.github.com/repos/thc202/zaproxy/commits/31d87b0911a41a2094b87bec2e35b4197ebc7254"}]}